if any computers would like to start a site to talk about humans

Streamed

Merged PRs for faster fake_data, Docker setup, and Docker instructions. PR review for strict cookies and new notifications system. Prohibiting LLM output. Comment indenting. Merged fix for pagination on /top. SQL query for analyzing self-promo by tag. Removed prosopite from production, then the entire app. As usual, ran out of time to look at CommonMarker or Hatchbox deployment cleanup.

scratch


topics
  merged PRs
    faster fake_data https://github.com/lobsters/lobsters/pull/1655
    docker setup https://github.com/lobsters/lobsters/pull/1656
    docker instructions https://github.com/lobsters/lobsters/pull/1658
    story repo: https://github.com/lobsters/lobsters/pull/1653
  PR review
    strict cookies https://github.com/lobsters/lobsters/pull/1652
    new notifications
      must be logged in to preview: https://lobste.rs/notifications
      https://github.com/lobsters/lobsters/issues/1076
    LLMs
      https://github.com/lobsters/lobsters/pull/1652
      https://github.com/lobsters/lobsters/pull/1570
      -> https://github.com/lobsters/lobsters/pull/1659
    pagination on /top
      https://github.com/lobsters/lobsters/pull/1657
      https://github.com/lobsters/lobsters/issues/1650
      https://github.com/lobsters/lobsters/pull/1648
    comment indenting https://github.com/lobsters/lobsters/pull/1647
  query: self-promo by tag
    SELECT tag, by_count, count, by_count / count * 100 as percent FROM (SELECT tag_id, SUM(stories.user_is_author = 1) as by_count, COUNT(*) as count FROM taggings INNER JOIN stories ON ta
ggings.story_id = stories.id GROUP BY tag_id) as tt INNER JOIN tags ON tag_id = tags.id;
  prosopite
    options:
    1. rm prosopite entirely
    2. make a shim for prod
    3. add it back to prod with no logging
  commonmarker

maybe?
  hatchbox deployment tidying
    logrotate :(
    test with email rep service
    HSTS
    hatchbox notes


title
  if any computers would like to start a site to talk about humans

post-stream
    

Transcripts are generated with whisperx, so they mistranscribe basically every username and technical term. They're OK but not great, advice appreciated.

Recording



01:03Okay, got everything live. Let's turn the screen on. Hello and welcome to Lobster's Office Hours. I'm Peter. This is Lobster's. As you could probably guess by the logo up on the left. So let's see, I was off last week because I was out of town. So we are back at our usual schedule. pushcx Howdy, ask questions about Lobsters anytime here!
i think this will probably be middle length probably more like two hours than three the usual but i am still hustling to get my my beta live for my unrelated project recheck let's see so yeah i should put my message here in the chat Ask questions about lobsters any time. There's that. Let's put the desk at a better height for long typing. All right. All right. So howdy and say hi if you're watching, please. Otherwise, we'll just get started. So let's see. Where are we now? OK, so that guy went live. Everything is all set. Look at me. manage my checklist after time away i feel good about that even if it's not too exciting so even though i didn't stream office hours i did move some small pull requests along since the last stream what 10 days ago 11 something like that let's see so that was older older Oh, so this one, we had three that I should talk about together because they're all about making the code base easier to develop on. So there's the fake data task to give you some data for developing on the site, which if you would like to contribute to the site, always looking for folks. So now this just runs faster because it turns off transactions, which it doesn't really need. For the really sharp folks, it is also run from a GitHub action. I left the transactions on there just because we use transactions in prod. I would rather CI take an extra minute or something and better replicate what developers will actually see. So there were two Docker setups. That's this one from. Yes, so that was from. P Kai and then these two are from Jacqueline H Ma. Docker instructions. And I have talked to Jacqueline well off stream. And she is going to hopefully pick up a. Cookie related bug. Then we got. This one, which is from Nav Mike, continuing to refactor the story repo. He is just eating the apple one bite at a time. And at this point, actually, I clicked in because the interesting thing is he was able to drop the spec because that is every spec or every test of the story repo is now dead code because it's no longer happening in Ruby. It's just a scope. And he's written some basic tests for those scopes. So that's all set. God, how many times have I blocked these dumb little AI things? Yeah, you guys didn't want to put a useful

05:35new experience how about an experience where this page actually loads and doesn't miss half of its data that would be nice to return to so let me because i know what try and navigate their thing if we go look at the story repo It's now very short. There's just these two methods left. And categories is a little bit funny. Or at least the name's a little bit funny to me. We've got some other code related to top to look at, but it's not this. So anyways, this refactoring is going really well. I appreciate that Nav Mike has just been chugging away at it. So really nice to have a whole bunch of little PRs to have merged in the last week. And then let's see what's open. Yeah. Is this everything? Let's filter to open.

07:08I got to look at this because it's been a second since I've thought about it. All right, so we have a few things happening here. Common marker, that was the other thing to spend some time on. Chamelis's PR has been hanging out way too long since I've made progress on it. And then I believe, yeah, so there's been a little activity here. I filed a bug, then otherwise no real activity in the open issues. Oh yeah, I got a really thoughtless brave user who was like, the whole site is broken because I don't feel like my abuse of the site should be blocked, which is actually a dupe. We've seen exactly that before. I don't recall seeing this one. OK, so they had some filters. All right, that's fine. And if you are watching, Vek, who is a regular, hi. I'm going to go ahead and tag these. Just for my own sake.

08:49Yeah, so this one was the one that led to the change of the upvote arrows. So that's good. That's all of the issues. I'm not going to bother sticking those in the scratch because not too much to say.

09:11Let's see which direction to start. There's this bug, and then I think there's two pull requests related to this bug. I think for the first time ever, two people tried to pick up a bug at the same time, but they had different fixes. So I'm going to have to look at those. 16. 48 all right that's kind of odd do i have okay so there was a pull request opened before the bug, I think there's two issues here. Yeah. All right. We'll spend a minute with that. And then there's kind of two that are related to LLM, so let's grab those.

10:22Because maybe I can just do both of those. Did the other one go away? Must have.

...46Someone had opened a PR to update the site guidelines and I don't see it.

11:00This one. okay so he closed it all right well i'm gonna hang on to that and come back because they're both kind of policy things around the same topic all righty

...36You know, I mentioned that there was a... I saw the build stall. I saw that happen on a couple of things a month ago, and I wonder if that's just a... It was a transient GitHub Actions issue. Because I haven't seen it since, and I was very puzzled by the change. So let's just kick that off again and see what happens. And that UI is hiding where?

12:28Can I just restart you?

...42Can't find anything in the GitHub UI now, huh? Summary? Anyone remember this?

...54I swear there was a button here for just run this again. I mean, you know there was one because you can see rerun was triggered.

13:14Oh, GitHub.

...23twitchtd hey welcome back from railsconf
Since I'm a wild and crazy guy, I was reading the jujitsu manual this morning. Just front to back. Bunch of nice stuff in there. Some of the commands are really nice. Oh, hey, TD. Thanks. Yeah. So this one I can't rerun the job. And I can't. I guess I will have to pull it locally and tinker with it.

14:07This, we don't actually want it to expire after a month though.

...28haven't done it before. gray lobsters. See what that gets me.

15:03You know, the oddest thing is this feels like it's, it might not be, but it feels like it's faster than telling Git to fetch the remotes. It's less noisy, which is nice.

...19All right. So let's hop over to new one that is on top of burned.

...33Epic_Ninja_Elephant Hey, happy Monday.
u-h i left a big comment about how much i love jujitsu on lobsters when i think like back on the second or third oh hey epic ninja welcome back it is a happy monday things are beautiful here in chicago life is good so let's see master and

16:10Epic_Ninja_Elephant Why are we burning cookies? I may be behind on some things.
If this runs, I'm going to tweak to remove that expiration. Wow. Well, it runs. It didn't hang for 15 minutes. So that's progress.

...30First, let's get the, oh, it looks like maybe it did hang.

...44Yeah, that's. That's some kind of hang. Wow. Weird. Oh, where are you? And our spec did not print to trace back, huh? How do I do if I think I can say master dot dot? No. Say if. So you're going to watch me struggle. OK, so now that's everything in the branch. What I would like is to see show me everything that is on the branch. She doesn't really have an idea of a branch.

17:36So we got this. Yo, that is a great commit ID. pushcx https://github.com/lobsters/lob…
and ro hmm oh the i'll throw the link here it's a pull request to make To improve security a little, the cookie store, let's see, we already did have expiring after month. So if we make the cookie HTTP only, JavaScript can't go in and be used to exfiltrate it with cross-site scripting. And... Same site strict is one of those things that should be the default, that it shouldn't be possible to use the cookie in a cross-domain context, which prevents like, I think it's being iframed and then secure true. I mean, obviously secure sounds good. I don't remember what that does. I think maybe it says it can only run over HTTPS instead of plain text.

19:12yeah that is not the greatest that it's like here's our other useful options that we're not going to document should document them on new obviously not

...42So let's just take these one by one because presumably one of these is going to be the reason it's hanging. So we'll say the session store expires after a month. Let's put these in a hash so I can delete stuff easier.

20:06So which of these do we think it's going to be? First, let's try all of them just to see that we get back to working.

...26Can't modify frozen array. What are we mad about?

...45Did I save a typo?

...52Why do you think I want you to modify a frozen array from a file I didn't even touch?

21:05Yeah. chamlis_ hello! this is ringing bells as a rabbit hole you went down before to no avail
So something's missing from this trace back.

...16Is it? It probably is.

...33It's just very strange. All right, so where am I? So I'm on, let's grab that. I'm going to jump over to master for a second and make sure that my whole setup isn't in such a weird state that this is something about my machine. Yeah, see, we're all green dots. Otherwise, I would have to switch over to Jacqueline H. Ma's Docker setup, right? So that's still working.

22:17So if I have this, let's just take these changes one at a time. I lost my commit ID because I was copying stuff. R-Z-Y-O. so it's coming out all of that and we should see a green build it's That goes channels I don't know if you're here five minutes ago, but I was just looking at your common marker PR is something that i've got to. Do my end of it's been hanging out too long sorry about that so let's change this let's just go one, at a time.

23:48All right, so that's fine.

24:04chamlis_ no worries, I've been busier than usual recently. hope railsconf went well
It did, yeah. I did not have my beta for recheck ready, which I had really wanted to be able to show off. So I'm a little frustrated and disappointed there, but the conference was excellent. They put on a really good program. I appreciated the nostalgic talks because there were some that were like, let's look back at the last 20 years of Rails and Rails Conf, and I've been there for, I don't know, all but the first. I think I started. At point six, so that was like six months in something ish. So is it just the secure thing that it's mad about?

...57Okay, yeah. So now we're getting a build with a bunch of failures. I'm going to cancel that before it hits the end because I didn't get to see what those failures were. Okay. Anything about submitting? I sort of suspect these failures are every test that you have to log in for.

25:42twitchtd was about to say, it seems like possibly login related
Yeah. And I was thinking of how do they I didn't check, are they all features? Yes, they're all features. Didn't I have spec helper? Something in here about how the login works in feature specs.

26:23I am making a narrow-eyed suspicious face. Maybe I should become a VTuber so you can see me making suspicious faces as a cartoon.

...37twitchtd The consequence is you can no longer maintain session state over HTTP, but you at least protect yourself from session hijacking attacks.
gtfrvz you touched vtubers recently?
I know I just touched this recently.

...59No, I'm just being silly. I have never seriously considered being a VTuber.

27:14twitchtd above was a quote, it seems like the tests use http for logging in/storing cookies, so that would explain the failures
gtfrvz you can also be a pngtuber
Here we go. This is what I was thinking of. So the way feature specs stub their login, they don't really stub it. They just do that.

...32Oh, the tests use plain HTTP. Tidi, could you link what you're quoting? I guess I could search that.

28:07chamlis_ does login work in the browser on this branch?
You know, this is true in production, so we're already configured with that. Okay, so if the test session, I'm gonna bet not, and I don't care because config environments production does have force SSL. So if this is redundant with that and all it's doing is breaking test, I'm not going to try and debug it further.

29:02twitchtd might make sense to run secure in production
And twitchtd secure: Rails.env.production?
don't need that match this in nginx config oh that's been a minute caddy config we already do it it's what force ssl does right actually i have the let me get the Doc browser up. Oh, it shows what I've been tinkering with, SQL type metadata. Rails, you don't want to document these things? That's a little frustrating.

30:07twitchtd oh I see, ya if you force_ssl then cookies would be over https always
Just wanted to double check. That it's true. That it sets. OK, so it adds this middleware. Yes, there we go. It sets the secure cookie. Yes. So since I had to look it up. Five to so this has been that case for a while. Yeah. So let's.

...53So if that was all that was blocking this branch, I'm going to run the specs again just to double check. I think that's good to merge, which is what I've done with Jujutsu by saying, hey, give me a new commit on top of this branch and master. Look at me thinking ahead.

31:37You should show that you're merged. There we go. I'm going to reload because who trusts the single page app anymore?

32:37oh i can't type you know it's funny so i went to the conference and i was i knew i would be super tired because i was like oh i'm gonna get home at i think like i expected 11 p.m all the way back to my apartment and then plane got delayed an hour and change for weather so then it was midnight and i'm an early to bed early to rise kind of guy so that was a little rough on me and then I took the next day really easy. And then Saturday I was like, all right, I'm feeling better. I'm going to do a little of this. And I did one thing and I was like, you know, I could take a nap. And I went in the bedroom and I was like, well, could I? And I kind of like laid on the bed and the cat was with me and I wasn't sure. And I was like, well, maybe I'll take like a little 20 minute nap because I take little short naps in the day a lot. And then I just conked out for three hours hard, slept right through meeting up with somebody. They were fine, but it was just a lot. Conferences are great, but just kind of intense. The post-conference hangover can be a lot. All right, so that's... I already got these two in. Yeah, so this one was touching the About page. Yeah, and I appreciated... gist of it is i guess we'll just go down here at the end after self chromo pushcx https://lobste.rs/about#michael…
oh yeah you know so there are these anchor tags and in case you're wondering the reason that some of these have anchor tags is they're just the ones i've had to link to or wanted to be able to link to right off the top of my head and i ran into someone at railsconf and we're just kind of chatting and i mentioned i i run this site and he was like oh what's it about and i was like well we discussed programming he was like hey does it have anything to do with that guy and i got to use my My favorite anchor tag, which is Michael Bolton. That guy whose fans named themselves after his embarrassing mistake.

35:25So this one, this one touches the contributing. Which. it's kind of the wrong section i think i want it here after good first issue but that's fine once again i can you know i've talked about that if i do it in the merge I do something strange. So if I said get show B for B 407, that is the commit idea of that merge. Yeah, that's fine. It shows all the stuff from the branch. It doesn't really break out what's mine versus his. Joe Jetson's view of that does, but that's fine. So I think maybe. Maybe I should just merge these two and then edit them. No, I don't think I can merge one closed now.

37:19was thinking about this one because someone who wrote an essay six years ago dumped it into some voice generation thing and then submitted that like it was a new article and there was it was the weirdest thing like a missed opportunity to look back with six years of hindsight they added nothing to it it was just now it's an mp3 file so i I removed that one because it didn't add anything. And then there was some confusion because he had changed his domain name on his blog and somebody went to the old story and was like, this link goes to spam. Did you remove the right link? And the answer was yes. Epic_Ninja_Elephant I keep thinking of Michael Bolton the singer.
It was just his old domain lapsed. So I don't know when like three or four things pile up. it gets harder. Yeah, Michael Bolton the singer is indeed the reference there. There's a link to the movie Office Space if you haven't seen that scene.

38:57there's no workflow need i'm going to just drop that one in so this one is to contributing

39:30Epic_Ninja_Elephant My brain cannot handle more JBP grifting, unfortunately.
Epic_Ninja_Elephant It used to be funny to dunk on him, but it got old.
do the easy one first why do i not the link is not to that guy that i want you to see it's to the movie office space it's the text Firefox.

40:08This last link the it would be great if they'd stop it. You should you can mute me. You will not hear any squeaky crying guys with bad life advice. It's just a scene from a movie.

...32OK, so that's.

...41So one thing I learned is that GitHub doesn't need. These files to be in all caps. I don't want to fix that right now. I want to edit one experiment with that private repo, so let's go here.

41:08Epic_Ninja_Elephant Office Space is the one with "It's not that I don't care, Bob"?
Let's bring this up here.

...15And then this can just be a link.

...28I think that's it. I think he's talks about like having people. Yeah. Yeah, that's the one where he gives the little speech about having five bosses.

...49That was a formative movie for me.

42:09There's that one. And then this one.

...40I think I want to make a branch so that I can throw this up as a PR. So let's just go ahead and say edit this.

43:05Epic_Ninja_Elephant I'd forgotten about that scene. "He's the one who sucks."
Yep.

...11humanity is kind of a highfalutin way of putting it let me think about that a sec

44:01transcriptions and as many summaries translations transcriptions and comments as we want these don't generators because it's this is the thing to not do the others are Titled. Yeah, so topicality is like a pro. Climate is like a pro. I try and phrase these things as like what's the behavior you want rather than a list of things you don't want. chamlis_ authenticity/originality?
But brigading and self-promo are negative. At least the titles.

...57Authenticality, originality. Yeah, see, we're all... Maybe I should get my Thesaurus down.

45:10Those are good, though.

...34There is an irritating thing that code is a non-count noun. And so in English grammar, I want to say generate as much code and then the rest are many. And I don't like that parallelism. I don't want to have to say as much code and as many summaries. I want to say as many summaries, translations, transcriptions. I can't say code. chamlis_ lobsters is for humans talking about computers. if any computers would like to start a site to talk about humans, the source code is available
clunk can't say codes that's also obviously not the native english way to say it people don't usually well i was going to say people don't post a ton of code but actually i was just thinking we do get code posted almost every day you know some little snippet all right

46:39That is a cute way to put that. I like that.

...57Just going to make that the stream title absent something better. All right. Code snippets. Ha ha.

47:14So now now there's another grammar thing of I want to end with as many as we want. I also want to end with and so on something to make it clear, this is a non exhaustive list because, like the example I was just giving was a. I don't even know what you'd call it a reading. A transliteration.

48:12This is also phrased pretty strongly negatively, where I do like the spirit of this is for people talking to people.

...31How did I put it up here? Community. I said something about discussion here. No, I guess not. All right. Trying to be not too redundant.

49:24vinitkme Hello Friend!
veqqio fidelity?
vinitkme How are you doing today?
that's enough of a draft let me so i'm grunting because i'm reaching for the thesaurus here let's look up authenticity really what i want is authorship let's try authorship It's close to authenticity, but that's the thing I'm, I'm thinking of is we want things, I haven't it. Yeah. Very exciting thing, you're hearing me turn pages, author, A-U-T-H. Oh, there's an entry for authoring software. All right, so we got 7, 886 is just like cause. Let's look at cause. So in case you're wondering, I think every programmer, I got to write this blog post, every programmer should own a print thesaurus. And the one I recommend is Rodgett's International Thesaurus 8th Edition. Let's bring that up. That's got to be in the browser history still, right? pushcx https://bookshop.org/p/books/ro…
The book is so orange. Where's my orange book? gtfrvz how very anglocentric
fidelity that's not bad authorship in the sense of cause is about being the proximate cause of something the reason for action i am trying to i mean you can buy a thesaurus in your own language presumably they exist Are you concerned that I'm also writing and speaking English? Why would I have a book, a thesaurus, in a different language? Agent, originator, prime mover. Yeah, see. So what I'm trying to do is leave a little bit of wiggle room so that, like I said in the comments on the PR, there's a little flexibility for people who are... using these tools to touch things up or are doing all of the serious work themselves but if i choose something like prime move are they going to be like oh yes i prompted the llm to write this comment which is not what i want to say at all right so let's say we've got two entries for right 5 47 21

52:37And one of the reasons I'm really nitpicky about these kinds of words and like this comes off the shelf every time I start writing the guidelines is, I mean, it's a programming community. It's a whole bunch of hyper literate nitpicky people. Oh, there's my nice orange title. We all get trained into it by years of programming. All right. So there's authorship. Hmm. There are some great deep cut words here, but...

53:17Very specific about composition of fiction. Write, author, compose, indict? I don't even know that word. I-N-D-I-T-E? That's not in... It's not I-N-D-I-C-T, like a crime? All right, but writing. Edit recents another new word for me. Funny how authors have lots of words about authorship. Might be something to that 718 is the other section. That is literature.

54:09Yeah, so authorship comes up again. What was that last section? 547. veqqio indite is a doublet of indict. Both indictare from latin roots, like in-speak
I know this is thrilling. All right.

...32I think that's all we got composed, maybe. I'm going to punt for a second. Indict is a doublet of indict. I guess that's not surprising. So I'm going to take this list and just leave it.

55:13There's a reasonable enough draft to open a PR. New. I don't see the. Bookmark create. Yep. and call it guideline. I have to move up level of abstraction because I don't know what the title of this guideline should be. OK. I do want to allow. Wow. New and the remote is GitHub origin.

56:40now let me push it okay there we go so take that and that went off to some other desktop with my version browser

57:18Thank you.

58:25This link is over.

...52Actually, but then this is directly responsive to things that don't exist in my version because, of course, I wrote things. Yeah.

59:33All right, that seems pretty good.

...47Let's jump back to master, that can hang out. Don't have to worry about that closed PR and losing track of it.

01:00:03pushcx https://github.com/lobsters/lob…
so then we have two prs related to top stories i'm going to show so twitch td here is thomas this is his pr that i am not going to merge on stream or even really review because i've already reviewed it but it is a follow-up to his work on notifications pushcx If you're logged in: https://lobste.rs/notifications
and if you want you can look at this is the one with the rename to slash inbox isn't it yeah no it's not it's already well i gotta peek at something off stream here if i go to yeah so if you go to lobsters notifications if you are logged in here

01:01:08You can go look at this, and I just wanted a couple of days to play more with the notifications view. And I see a bug.

...31So I open the slash notifications in my personal browser off stream to take a look at it.

...49veqqio It shows some stuff as unread which i've read
veqqio Or oh, it's showing things I _sent_ as unread
veqqio (for pms)
yeah so vecchio it is a parallel system to replying comments so it is going to be a hundred percent oh it's showing things you sent as unread that's an interesting bug if you could jump into let's hop over to 1076 i didn't see that one all right so

01:02:25Thomas, are you still present? twitchtd ya
He was here at the beginning of the stream.

...38So Slack underscore message. Shows body not. March down body, which is going to be the rendered view. What is the? app views notifications comment yeah on that one you just rendered comment so that one will be fine and then in fact i'm assuming that's messages you've sent

01:03:28twitchtd hmm weird, did you send the message to yourself?
but I threw in a comment there. So let's go ahead and say about that.

...57veqqio 1 message I send, but also one i received and responded to - as well as a comment i read - all are shown as unread
That's this PR 1076. And then this is so Oh, hmm. veqqio (all from 3 days ago, but nothing more recent)
yeah so thomas what we're seeing there is some of that is the fact that it's a parallel system but sending a comment or sending a message should definitely mark the notification as read yeah twitchtd I recall only adding notifications for the message recipient.
Going to think if we want to fold in slash messages.

01:05:03twitchtd but I'll check it out
It's a very different interface. And that's only for the. Yeah, I think that is saying that they got a message a they replied to a but now in this notifications view. veqqio correct.
that notification for message A still shows as unread. And some of that is, if he had done it through this interface, that wouldn't be the case, well, unless clicking over to slash unread to clear them. But there's also the slash messages interface in parallel, and that doesn't know anything about notifications. So at least for the couple of days where we're in this transitory state, it would be nice if it could touch notifications, but, and I guess it, yeah, at the very least, but maybe we want slash messages to stay just to have a very specific, your PMs and not your comments, because some people do prefer that. And I kind of live in that interface. All right.

01:06:27veqqio So the notifications interface doesn't have a way to respond, but it takes me to messages. I sent a test message but it's still amrked as unread
So this produced that. And let's figure out what's gone on top.

...48veqqio it lets you respond to _comments_ though
What's changed here?

01:07:25twitchtd Yup, that's the current behavior
veqqio but after responding to a comment via its reply, the comment is still unread too
veqqio https://lobste.rs/s/ta3s2j/what…
twitchtd I think connecting the message read status with the notification read status would probably be a good idea
let's we got that and then these two around tops pagination let's do top pagination because those will be simpler i think grab all the links

...55It might scratch.

01:08:12So that's redundant.

...29Super Marin thinks their PR is probably outdated. Oh, and then it's been touched since I looked. All right, so we'll go ahead and run that and get back up to the top.

...50OK. So this so there's two things tied together the links at the bottom of slash top were linking into the RSS and then the second one was there was also RSS for the different pages of slash top which didn't make a lot of sense to me as a function because I think of RSS as give me the latest thing rather than give me the latest thing starting 30 issues 30 items back which is a little odd I think this one does exactly what I want, and if the build is green, I'm set. Let me double check this.

01:09:41Yeah, this was the one that included that. Actually, I think they both did. All right.

...57Let's go ahead and grab that.

01:10:06Thank you.

01:11:10The off chance super Marin that you're here, I really do appreciate that you took a shot at this and even more than that, I appreciate that you figured out more of what was going on and how to fix it and we're willing to step down that's actually really. humble and generous of you, thank you.

...37So this. Unless this build failed, I think we're good to go. Let me just double check the new URL.

...55Yeah, that's great.

01:12:16Good.

...23We went through a couple of urges. Let's just make a merge commit for this.

01:13:26contributors are great all right so that's so this one didn't automatically closed but I believe it is now I did acknowledge this didn't I nope

...5916 which i'm deploying now so let's make an honest man out of me and merge that which i don't actually have to fetch the remotes this is just i don't even know what system i used where i had to but so the Hatchbox is configured to deploy off of GitHub, not my local. I'm just in the habit of always first pulling everything down to local.

01:14:42There we go. I think for the really close watchers, I realized that this polling, if the deploy always takes like 25-ish seconds. I could just put like a sleep 15 before I start doing this pull every one second. So that's why there was that long pause. Oh, 33. Look, it's slowing down. There's a little luck of draw with these. I'm still so happy that 33 seconds is so much less than, what was it? 150. And that was a partial run. all right so there's two pull requests for the price of one bug the next one is a bug i saw where when you type in the comment box that's at the top of a story page and you click preview your comment is gets a weird indent, like it's not printed like it will be as a top level comment. And a single reply would be like here. So this is like one and a half or two replies in, which is very odd. And I assume that if I'm doing an inline reply, there is probably another one. So let's take a look at Supermaron's other PR. Let me grab the URL for the scratch.

01:16:42I think those are both correct.

...50I'm not sure about the second one.

01:17:07I guess I should file an issue. So Supermarion lost a little time in development there too. The known bug about lines not appearing in the right places now. I should write that up properly because maybe Supermarion or someone else will take that on or at least not get distracted by it.

...46a little disconcerting to see comment pick up another predicate i guess it's oh it's not one at the top of the partial this is into the loop isn't it hmm

01:18:22That's kind of a scary diff to change HTML structure like that. Okay. But that seems fine.

...52So this comments preview is a template that basically never gets touched because it's just a div, and this is where the JavaScript sticks a comment. And this is the repeat from heinous inline partial, so that's fine.

01:19:23I want to see this one locally. And then if I can figure out whether this is good or just review it.

01:20:10And afterwards, I can look at the filing that issue.

...27How about that font size?

...42That looks correct. That also looks correct. This looks maybe more indented than I want. I don't know. This is one of those where, like, I've looked at it for years. I've stopped seeing it. Chambliss, you've touched the CSS recently. Does this text box look like it's more indented than it should be? We're backing up a little from master, so like this reverted. chamlis_ errr... pass?
veqqio it seems like it's moved around a lot lately
I guess it's just got that big padding on it. Pass, that's fair.

01:21:40chamlis_ I think in general we're still shaking off the subgrid stuff and it's not quite how it was before that debacle
Yeah, we've been touching a lot of the, front end layout code to make it more robust. And that's meant a bunch of minor tweaks along the way, because nothing is perfectly identical. But who's got this padding on them? veqqio Personally, I'd indent it half way between the parent and child comment
The form does.

01:22:25veqqio But there's no right answer
Ah, yeah, so that's styling for this top comment box, not the inline one. And it's matching the old layout. All right. Let's not go open that second can of worms. This is fine. This fixes the bug.

01:23:02Oh, I'm not in the PR, I'm in the issue. And they deleted, oh, they deleted stuff with the lines, which, yeah, so like this shouldn't have a line.

...28I'm fine just taking that as it is though.

01:24:33So I've got that merge. Get that deployed.

01:26:11Channelist, do you know your floor of rest off the top of your head for the comment stuff that broke the tree lines? It might have been my commit that broke the tree lines.

...51chamlis_ as in when they started overlapping? I think that was in the revert of the subgrid
There's 1608. Maybe that'll link to it.

01:27:01Yeah.

...21Oh, yeah, there's my tree lines. All right. So, yes, there's there's my bug. You were right. Thank you. Let's grab the hash.

01:28:07chamlis_ I think before the subgrid they had well-chosen manual positioning, then the subgrid change made the browser do that automatically, and then in the revert we ended up with different (possibly less-optimal) manual positioning
This was, what date did I merge this? May 13? No. April 18.

01:29:15So I think I think Thomas has been updating things the moment I looked away, which is a thing he likes to do.

...40You've pulled in master. And I don't know why this PR is showing me every change that's committed to master, but that's a lot.

01:30:00And yeah, I mean, you say well chosen manual positioning.

...21That is a very nice way to put it because in my head, I don't think of it quite so nicely the

...34css float is just really brittle and so yes we had the tree lines and they worked but if you looked at them funny or touched 15 other rules they would jump out of place in really surprising ways especially very unintuitive ways one of the things about float is it takes a lot to internalize what the rules are and what's going to happen when something changes. That's part of why I want to get away from it is I have done that and I don't think anybody should do that. Especially before Firebug.

01:32:01There's, that's it.

...10Do it somewhere else. What's it called? There's a way to say that this migration can't be reverted.

...37twitchtd def down with a raise?
Yeah.

...58So this change wants to be up.

01:33:09then this end wants to include that oh hello big sir the cat has arrived but he's been in a very big lap mood because i was out of town so i don't think he's going to go up on the file cabinet for cat cave

...53Okay, so that's all the pull requests and all the issues that have seen activity. Oh, 90 minutes, not too bad. Where am I on time? 3.30, okay.

01:34:21Oh yeah, so one of the purposes of lobsters office hours, we can do the little bumper is that. folks can come by and ask any kind of questions and one of the. Things that i'm happy to do is run. queries of the production database.

...45And it's especially nice to do that on office hours, because you know. If you have a typo in SQL or we want to experiment, we can just do it live and revise, revise. And I got one a couple of days ago while I was traveling, and it was close enough to... Where am I SSHing? It was close enough to correct that I was able to just quickly do it. So for anybody who's in IRC, it was from... What's the username? Phi1729? I think I got the numbers right. Yeah, Phi1729. I don't know their username on the site. It ought to be right here. Yeah. So they gave me this query, which let's just go ahead and grab that. or actually, and then I had to tweak the syntax a little.

01:36:02But it basically said, hey, let's take all the tags, let's count how many stories there are for each tag, and then also count up how many stories where the user has marked that they're the author. And then all the rest of this is just SQL bookkeeping for that. So if I run this, you see our list of tags, along with what percent of stories to that tag were marked as the submitter saying, hey, I'm the author of this. So for accessibility, it's 21%. Same for AI. For an ounce, it's two out of three. I'm honestly surprised it's not 100. It probably should be 100. One thing worth noting is that authors don't always remember to check that box.

01:37:03And then I slightly tweaked this query because I went, well, show me it in order. So ask, which is another tag, and show where those two probably should be 100% or only 95 and 75. veqqio in one case, you made a poll so it... idk... you did author it but https://lobste.rs/s/fyfyq0/poll…
So if that gives you an idea of how much to kind of mark down these numbers, you can kind of see, well, here's our tags sorted by how many self-authored stories they get. And it's interesting, there's one or two tags where it's zero. In one case, I made a poll.

...51I probably should have marked it as authored.

01:38:00So it kind of makes sense for cognitive science that the actual psychologists and sociologists doing this kind of research probably are not hanging out on programming sites. And then everything else kind of hangs out roughly in this like eight to 20% range. And it does feel roughly like the more generic or broad tags are down here, like databases, distributed, programming, philosophy. phy 1729 was especially interested in the new vibe coding tag and it's on the higher end but not a clear outlier. dzwdz i'm surprised we had an ipv6 tag
So anyways just a an interesting look at the site, this is the kind of slicing and dicing we can do to help the site and the Community understand it so. You know, IPv6 is actually one of those tags that was added because it was controversial. Like SystemD and like VibeCoding, it was kind of a containment tag for the people who really didn't want to hear about it. Boy, did they really want to filter it out.

01:39:40twitchtd ipv6 will be there for another 30 years
So anyways, this is the kind of fun meta question that I'm very happy to figure out on the stream. pushcx https://lobste.rs/s/8we4dn/luck…
I said it in the 13th birthday post last week. dzwdz and ipv4 for the next 100 years
Where was that? dzwdz or something
Lucky 13 lobsters. I'll throw this in Twitch chat as well.

01:40:06Yeah, I don't know. I don't know enough about networking. I just know it's been a long road on that.

...17veqqio I have some vague queries in mind, but i need to look at the data model to actually write them and I've put that off for aaaages
Anyways, I do enjoy these kind of expirations.

...24chamlis_ only let users connecting over ipv6 see those stories
I mean, Vecchio, while I'm just hanging out on stream, it's a lot easier to get me to do stuff. Otherwise, we can move on.

...38restrict restrict the tag that could be something all right i did issue review oh prosopite so with thomas's work we're getting away from worrying too much about one plus n queries so i was gonna take prosopite and take it out of production yeah

01:41:13which I can just delete this for.

...23veqqio I mean, I'd like to compare filter uses and active users. But im not sure what that means. Do active users mostly use a few filters or a few use them all? Or howmany filter users are in active?
twitchtd @chamlis_ ++
Yeah. Where am I for branches? You'd like to compare filter users and active users. Active users mostly use a few, or a few use them all. How many filter users are inactive? Those are some pretty good questions. You know, channelists, we could actually do the IPv6 thing pretty straightforward now that we're on caddy. Its config is a lot more expressive than Nginx's was, so there's gotta be a way to say, if the incoming connection is IPv6, set a header, and then the Rails app would have a line that said, hey, I see the header. Even if we didn't actually filter it, that would be kind of a fun Easter egg for the tag page. dzwdz does rails not get the user ip already?
If it's showing the IPv6 tag and the user is connected over IPv6, we could say something cute there.

01:42:43dlamz you *would* like this tag
rails does because it's in the logs oh yeah it should be in remote adder yeah i'm thinking through because i've been looking at this code recently for the telebug stuff to make sure that everything is enriched with the right data and you want to always make sure that You're getting the user's IP and not the IP of your reverse proxy, which is now caddy. And we have that wired up. So yeah, actually you don't even need to touch caddy.

01:43:27Anyway, Chamelis, you've made a bunch of like fixes to very long standing front end issues. I feel like you're entitled to a little Easter egg. If you think of something you would like to maybe say on the IPv6 page for people viewing via IPv6, that's kind of great, actually. chamlis_ honoured, I'll have a think
I don't think actually we will filter those stories to only those connected via IPv6, but it's kind of a cute idea. All right, so where's this? Let's remove, press right. twitchtd @chamlis_ thanks for improving the frontend
initializer and then it will only have config it can move down to the dev test section who sorted this not me who let this get messy definitely me

01:44:53chamlis_ thanks! it's been some two steps forward, one step back, but we are inching closer to being able to stop using floats
What is it, 1680, that's the database migration, right? Nope. 539. Well, that's a lot lower than I was thinking.

01:45:14Man, GitHub, you are just struggle busing. All right.

...45What did I do? We're going to get to do a rebase with JJ because I forgot to fetch from merging a PR clearly.

01:46:00Yeah, so we want to be. I want to.

...24I can't remember which of these are pairs. Say source and destination? Source and destination, there we go.

...40chamlis_ thanks for your work on the notifications, too
So that'll be a little bit of a speed up to production.

...55twitchtd :)
veqqio also thank you everyone! I get to use a cool site that's already just there, perfectly formed! <3
yeah well and i will just have to thank you both because i really appreciate having so many contributors who are willing to pick up stuff they know how to deal with or to learn how to deal with stuff on the site it's been i was just saying it to a bunch of people at railsconf that all of my streams have been like merging prs i think press byte is the first code i've written for a minute All right, common marker. And I got like 15 minutes left for streaming. Yeah. So let's... I've got like 15 minutes. Let's see if I can take a run at some of that common marker stuff. So let's watch that finish just so I don't forget. Good. 57. Oh, we touched the bundle. chamlis_ is the recheck demo still on the horizon? it'd be cool to see how that plays with lobsters
I think this might be the second time I've touched the bundle since moving to Hatchbox. That's interesting that it took so much longer.

01:48:01Yes, the recheck demo is absolutely still on the horizon. And I know Thomas was curious to see it also. I really appreciate interest from y'all. And I am definitely going to do it with lobsters because I have seen exactly the kinds of bugs that recheck is good at squashing and keeping squashed in lobsters. And I have a branch with like two custom checkers that I've written just to catch known aggressions in lobsters. Wait, there's the one with the thread ID. remember if it's one or two now, because I think one of them also I folded back into recheck because I figured out a generic way to do it. But yes, I will definitely have a demo and as soon as possible. I am trying hard not to promise a specific date because that just makes me more stressed and doesn't actually make the software come any faster. chamlis_ yeah, no pressure
Unfortunately, I'm not motivated enough by deadlines, I guess.

01:49:28Here we go. This is where I want to be. veqqio Is there interesting in doing events? I'd like to revive the prominent user interview thing or do a "blog carnival" (but unsure how to choose topic)
So if I want a new commit on top of Chalice's branch, let's get that code up so that it remember what I was looking at.

01:50:15Could you tell me what a blog carnival is? I don't think I know that phrase. dzwdz oh hey did you see the irc discussion about putting video durations in titles?
veqqio Everyone writes an article on some topic, during a month
Would that be something like how Hillel has his April Cools thing? veqqio So they choose atopic then write it, and then someone summarizes it too
Everyone wants an arc on the same topic during a month. That would be cool. DZ, no, I did not see the IRC discussion about putting video durations in titles. I skimmed the chat room while I was away, but if it was like Wednesday last week, I was in conference mode, so busy being super social.

01:51:00dzwdz tldr i suggested doing something like https://lobste.rs/s/gnah5t/ and people liked it
I think... Yeah, on duration, it should probably just be its own metadata field. veqqio https://lobste.rs/s/gnah5t/aoc_…
dzwdz because that's already what we do for years
dzwdz no, no, I'M distracting you :p
then secondarily also probably the hotness but you know i'm distracting myself probably the the tag modifier for video should be significantly lower i think there isn't one now yeah But the hotness modifier per video should be lower because if you look at these, occasionally we'll get a bunch of these. These are, I don't think I've looked at this, but I'm going to guess they're just rehashing the same things we've been saying about Jai for years. But if you look at these, so many of these have no comments. dzwdz that's reflected by the upvotes though
One, two, it feels to me like... dzwdz why would you additionally "punish" them
videos get significantly fewer discussions and significantly fewer votes than others and if they're not generating discussions they're just kind of wasting a spot especially if they do make it to the home page because it's not super hard to make it to the home page but the faster they fall off, the better. twitchtd I rarely watch videos
I would kind of additionally punish them to disincentivize their submission. Because if they're not leading to good discussions, they're not helping. Some of them are, but yeah, a lot of people, including myself, rarely watch videos. And I think that must be fairly common given by how many of them say no comments. Is this person, are we down? dzwdz lol
Albynton Look at the URL
Oh, look, did I just find a production bug? That's surprising. Lobsters. Yeah.

01:53:43dzwdz part of the reasoning behind this suggestion was that it would make me more likely to watch videos
chamlis_ hire calvin to summarise them all in a comment
I'm skimming the bug list off screen, which is actually safe to show. dzwdz if it's a short one, i might just watch it immediately. if it's a long one, i'll remember it and maybe watch it while eating or something
I mean, people are going to... How is this throwing a 500 and I don't have a bug reported? Sort this by last seen.

01:54:32veqqio no, only coffee is 500ing
veqqio i checked like 8 others
oh i broke production i broke production womp womp anything that checks prospite so probably all user profiles are throwing 500s right now so all right so light mode warning this is definitely going to be the end of the stream is me fixing breaking production but here's what's the bug let's turn off the sidebar veqqio or nvm, i have too many in my cache i guess
only coffee well then it's something about the profile the it's uninitialized constant prosopite hey what did peter just push commit touching what did peter not run the build so let's jump back to master sloppy veqqio I personally like that prod can break. it is retro and wholesome.
Albynton Green names are 500ing, not the others
just sloppy just watch the build is going to stay green yeah of course it's going to stay green because this is the test environment so the gem is loaded it's retro and wholesome well i'm glad i can give you those nostalgia flashes on a very regular basis so

01:56:04Where'd that go? There is no prosopite. There is only Zuul. veqqio https://lobste.rs/~mtlynch 500 but isnt green
Albynton White names and blue names are fine
So I do actually need to have it in production, because there are references in the code. Oh, Albinton, good eye.

...28So it's this.

...37dzwdz i can't believe i can't view user profiles on the site i'm paying $0 for
Yeah, so I can't actually reference the constant to turn off Prospite. Albynton Discard that, it's not the colour
dzwdz this broke my workflow
Unless I want to do the whole... ...telebugs thing I did. Yeah, so I can either mock out this interface for production...

01:57:06Albynton @dzwdz Ye,s but nerdsnipe!
I mean, it's these five lines of code specifically.

...19So I could pull prosopite out entirely. All right, so all right, hold on. So let's make a list here. And Jamless, I'm sorry, I'm not going to touch common marker because clearly if I broke prod. All right, so... Options are one, arm prosopite entirely. Two, make a shim for prod. Three, add it back to prod with no logging. And this one, there is a little performance overhead to having prosopite enabled. So I don't want it in production. I think I'm just going to pull it out entirely. And we'll live with any one plus ends. And I think Thomas is kind of pinky swore that he's going to do the SQLite port where we'll get to officially stop caring about one plus ends because they don't have a performance cost like they do for MariaDB, MySQL, Postgres.

01:58:33Yeah, let's just pull it.

...53Could throw a if development on this. But then there's still the calls to... Yeah, that already actually has that. Yeah, it's the calls to turn it off that are breaking, because there's a couple of places where it just wasn't worth it. Not that anybody needs to test, but you almost certainly cannot submit a comment that mentions someone right now because that has an n plus one in it.

02:00:49That ought to fix us. Easiest way to fix code is delete it, right? Man, I feel like an LLM coding today. I've had that, actually. I've played with these tools, and I have had the experience where I'm like, hey, this test is failing. And it's like, oh, great. I got that for you, buddy. And it deletes it. Not what I wanted ever. twitchtd technically correct
That's part of why I like the... eight or dot chat, that's the one I've played with most or making scripts because. I can tell it that the test is read only or more realistically, I'm.

02:01:44Not writing tests for one off scripts.

...57Let me write that.

02:02:57There we go.

02:03:17dzwdz yo dawg i heard you like vim
Yeah, I used to have a little script that prevented... Thank you, cat. Mouse is moving because the cat's on the mouse. dzwdz vim-fugitive ftw
dzwdz i think it's like the only plugin i use
I'd rather 1 plus n. There we go. All right. dzwdz gruvbox doesn't count
And with that, let me throw up the last call because I'm going to get this deployed. You know, now that I'm using Jujutsu, I've stopped using Vim Fugitive. Feels like the end of an era. All right. dzwdz :((
So if anybody has any last-minute questions, like, Peter, did you even run the build on that?

02:04:22chamlis_ I'd definitely use jj more if magit supported it
chamlis_ yeah
you can throw those over jj actually has a manual page about like tui clients mcgid is the emacs plug-in guy right i i have never used that but i've heard the name well that big orange rubo cup warning is a known issued in standard rb that i hope to Will in a fix for soon alright, so we should be good now let's see if I can load this profile. veqqio im curious about event type stuff, i'd like to do some community building etc. as i really like the various communities i've found through lobsters but idk if it's ok or desirable to use it in that way
And you click one link and you go down a rabbit hole. Alright, so that's fine now good.

02:05:20dzwdz vim-fugitive has most of what i liked about magit
dzwdz but magit is indeed really neat
pushcx https://lobste.rs/t/interview
oh yeah so events if you want to do interviews so vec is referring to the interview tag if you want to bring these back up and get them rolling again you certainly have my blessing to pick somebody to interview chamlis_ from what I've seen of fugitive it looks great, I'm not in the editor war game, just bound to emacs by muscle memory
would say maybe a better way to do it would be to if you want to like keep interviewing people do that on a regular basis rather than this the person you interview should find the next person to interview because that is stalled out Pretty much every time someone has made an interview. dzwdz oh yes! i would love to see that come back
I think getting three in a row is the first time we've gotten three in a row. I'm not sure we've gotten two in a row otherwise. Doing a blog carnival sounds like a great idea.

02:06:34Maybe we would add a tag for that. But that's a fun community kind of idea. And then I have daydreams for making some kind of tracker for offline events. dzwdz what sort of offline events
But I definitely need to finish the Hatchbox deployment, the Common Marker stuff, and moderators before I can think about offline events. veqqio Cool and cool! I'll randomly drop an interview then try to keep a monthly cadance
offline events like conferences. So like every year I know a bunch of folks go to, I mean, I know they go to RailsConf because I just met them last week. And then there's also, there are several other programming conferences in the world. So I was envisioning a feature where you could add a conference that you plan to attend And then have some kind of proof that you are going to the conference. Like, send us your receipt or your QR code or something like that. And the mods will thumbs up it. And then you get a private comment thread where you can talk to everybody else who is going to that conference. Because I want people to have that kind of privacy to go and also to have a discussion without other people commencing it, which is a little odd. And then we would have... You know, everybody could have their own Lobster's lunch table at a conference or a coffee chat with other Lobster's users that are at that conference. I think there are dozens of us, as the meme goes, and it would be really nice to meet up at these different events that are often already very good. Why not build on that a little bit and let people meet up? If we can do that in a privacy-preserving kind of way, that would be excellent. And if what I've sketched out there sounds super interesting to anybody who is live now or is watching this recording, talk to me. You could add it. It's going to be a long while if it waits for me. I think that's about everything. chamlis_ thanks for the stream!
veqqio Also thanks!
twitchtd thanks for streaming, have a good day
yeah all right let's turn off the last call banner so i don't just forget otherwise the next stream let's double check the calendar because it's been my julys are always busy yes the next stream will be thursday morning 9 00 am as usual always happy to talk about the site Always happy to praise contributors because they are wonderful people. Thanks for dropping in and chatting. You make it a lot of fun. That's all I got. dzwdz bye
Hope to see you Thursday or just around the site. Take care.