it's the fourth thing I would do if I had a spare million dollars

Streamed

No real news on the UK OSA; big PR review. Raz drops by the office.

scratch


topics
  UK OSA, not much update
  issues
  PR review
    pagination 500 https://github.com/lobsters/lobsters/pull/1432
    extract auth https://github.com/lobsters/lobsters/pull/1424
    /stats dark mode https://github.com/lobsters/lobsters/pull/1428
    mobile font and upvote https://github.com/lobsters/lobsters/pull/1429
    extract mod edit https://github.com/lobsters/lobsters/pull/1431
      https://github.com/lobsters/lobsters/issues/1259
    propshaft https://github.com/lobsters/lobsters/pull/1410
    kamal https://github.com/lobsters/lobsters/pull/1417
  disable page cache for uk footer
  story merge review, or comment redesign experiment?

OSA
  https://forum.ada-lang.io/t/moderation-changes-and-new-regulations/1673
  https://www.theguardian.com/commentisfree/2025/jan/12/note-to-no-10-one-speed-doesnt-fit-all-when-it-comes-to-online-safety


title
  it's the fourth thing I would do if I had a spare million dollars

post-stream
  ping the ofcom intro
  log into twitch via obs for docked chat?
    

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

Recording



01:42soulcuttr I swear I heard a "hello" and then it all went blank again lol
Happy Monday. no, I shouldn't have gone blank again. I have not said hello. I am alone except for the cat, and I did not greet him, so... Pretty quiet day. Maybe it's just wishful thinking. frici What if the Cat said hello instead? 😲
Anyways, good to see you again, Smokecutter. So, this is Lobster's office hours for anybody joining the stream. soulcuttr then where did the "hello" on my computer come from? I often get beeps and boops I can't identify the source lol
on Lobster's office hours, we talk about the website Lobsters, because I run it. You know, that would be a pretty good trick. He knows a couple of tricks. I really can't help you on that hello. So, if you have any questions about Lobster's the site, or Lobster's the codebase, or you want to run queries against the database, or you want to just talk about Rails coding in general, I am happy to take questions. Feel free to pipe up any time. frici ohh you are going all choppy
When I don't have questions and such to respond to, I tend to work on codebase or other stuff that demands attention. Oh man, I love this backdooring article. bsandro VoHiYo
Someone figured out that there are a whole lot of backdoor root kits that try to phone home and open backdoors in the backdoors to the people who actually wrote them. And they... frici hey bsandro and Soulcuttr btw
pitrapen super choppy
frici still choppy yeah
the authors registered a bunch of domain names that these old rootkits used, and realized a lot of them are still active, even in current government stuff, so that's pretty wild. Oh, I'm choppy, shit. I didn't open the volume. That's my fault, I apologize. soulcuttr I'm mostly hangin while working, I enjoy having some good/interesting background stuff that I can key in on, or not, depending
pitrapen good now
Let me get the right audio setup all right microphone should be good now i'm sorry about that, thank you for calling it out. bsandro oh I was ready to blame pipewire on my end :D
I hustled a little to get my. setup going yep. yeah there's a some kind of weird buffer under run thing on my end where, if I have the volume control panel. frici reasonable blame target bsandro LUL
open and it has, you know, the little meter that bounces up and down, audio is fine. It's sampled at a high enough rate. If not, everything goes all crumbly-wumbly. That was ridiculous to debug. And along those same lines, I was debugging the cat cam, which worked absolutely fine. I deleted it and recreated it in OBS and it didn't work. soulcuttr OBS really do be like that
And then I closed OBS, dicked around with some stuff, reopened OBS, having made no meaningful changes, but Cat Cam started working. So yeah, I just kind of refuse to think about that bug. What will that get me in my life to really run that one down? so if the master of the stream decides to stop by we'll see if he does in fact appear because it was working just before stream and if i i have the i don't know what they call it the video scene switcher set up so i can preview a scene before i jump to it does seem to work there so fingers crossed he comes back frici studio mode iirc
So my plan for today was to talk about the, let's grab that one too, to share studio mode. Yeah, I believe that's the name of it. Thank you. It's funny. I've actually done some TV production. soulcuttr what book? was it good?
And so I was reading this book about streaming before I started doing these office hours and it was like going on for a page or two. about studio mode and then it clicked with me i'm like oh it's just a it's just a video scene switcher that's it's doing the most like take one take two which book it was pretty good what was it called it'll be over in my books folder one sec i'll find it so i read i read two and one i read was soulcuttr one day I'll do more programming streaming of my own. I've dabbled
by the guy who does all that Slay the Spire streaming. Oh, I don't remember the name of that one. Can I find that? Before We Go Live. Pass on this book. Before We Go Live is mostly a story about pitrapen your screen still shows "going live at the top of the hour" dude
being a teenager who figures out how to turn streaming into a job, but has no idea how the world works, and clearly, I believe he even describes this, did not have good parents, and so he has just terrible relationships with everyone. Oh, sorry. Man, you know, I'm talking about the video switcher, and I don't even use it correctly. Thank you, Peter, for correcting. So Before We Go Live is the book I was thinking of that's not really worth reading. DNS. soulcuttr I thought "before we go live" was talking about the screen still showing "going live" haahaha
And then the other one was, I have something that mentions OBS.

07:51frici can't be a real streamer if you don't forget your scene LUL
I'll have to think of the other one. It was pretty decent. It was a self-published book mostly about OBS. This is probably it. Yes, this is it. The OBS super user guidebook. and I want to say there was a more recent version than 2021. Yeah.

08:29pushcx https://streamgeeks.us/obs-supe…
So it was fine. Like no real complaints. No, Before We Go Live is the one. It was a personal account, and it was like reading the memoir of a high school student in a lot of ways, especially because... I don't know. The book was mostly just prosecuting weird grievances he had with other people, but in this really weird... I don't understand a lot of video game streaming culture. pitrapen I just stream with basic OBS setup, sharing the whole screen
And there's a thing where they're constantly beefing with each other and they have to position it as it's always somebody else started the fight and I'm just trying to finish it. And so it was kind of maddening to read these things because he couldn't just say, I'm mad at someone because he did something I disagree with. It had to be, he picked a fight with me. I don't know. soulcuttr I googled it, and first google result was a PDF hosted on Peterborough Unitarian Universalist Church website. Google is getting so, so bad lately. Also church's web storage is probably insecure IDK
It is okay to have feelings. And I am very happy not being at all involved in Twitch drama, which I understand is a big hobby.

09:55Yeah, the hassle with sharing the whole screen is I can't have chat. visible to me, and I actually have kind of a ridiculous monitor, so I might as well use it.

10:11pitrapen I use chatterino
So one of the big topics has been the Online Safety Act in the UK.

...25Chatterino, I have no idea what that is.

...35soulcuttr @pitrApen thats probably the best way to start. I get too wrapped up in wanting to do it really polished, and it keeps me from doing it at all
okay yeah i have the so off screen i think somewhere in the archive i posted a screenshot of this but off screen i do have twitch's web-based dashboard thing visible so that i can see the chat it's pushcx https://forum.ada-lang.io/t/mod…
A little buggy, but fine.

11:15bsandro I used to use twitch chat via irssi :D good times
Yeah, Soul Cutter. I was... frici you can also dock the chat in OBS tbf
I took a real balance between trying to make things fancy and trying to actually start. I... Did just enough to make sure that I'm not putting a ton of personal info on stream, like making a new Firefox profile and basically a bash profile equivalent. And then some window manager config to make sure I don't drag too many windows on screen or like if someone messages me on signal because I forgot to close it, that won't show up on screen. You can dock the chat in OBS. frici @bsandro, I used to do that before twitchchat got too full of all the stuff and the bells and whistles
Is that a thing I can do? That would be pretty great, actually. Because if I had that.

12:19I could just about close the Twitch dashboard thing. It has the stream health graph that three times out of four tells me when my stream health has gone to hell. pitrapen ya, you just need to login into Twitch thru OBS
But I can't actually do anything about it because it's, you know, a leaky connection at the pole outside. So seeing the graph doesn't really do anything. I don't know.

...51Log into Twitch right here.

13:06I'll see if I can do that. I wouldn't mind having more desktop space visible to me off stream. You'd have to dig back, but one of these streams I think the one where I demoed AIDR. So if you look for AIDR or LLM in the stream archives, I think on that one, I showed a screenshot of what my full desktop looks like.

...40So this form for the Atta programming language, pitrapen FIRST programmer
As you might expect for a language named after a famous British programmer a lot of the team seem to be in the UK. And they are also struggling under what the heck are we supposed to do about the online safety act. Yes, I know I was underselling her.

14:19pushcx https://www.theguardian.com/com…
they've had the similar thing of burning a bunch of time doing risk assessments and trying to figure out what they mean this one was interesting and then this morning i was sent this link to an article, or I'm sorry, this link to an opinion piece in The Guardian, which is a popular UK publication that is hopefully read by politicians because this author pointed out the very familiar stories to us that this big set of online forums, microcosm, is shutting down. And if you recall this shutdown announcement was when it first got onto my radar and I started talking about it on stream and then I got sick over Christmas and so last week popped up and said hey, this is a big problem for us, we have all these same problems. It is. I can see that microcosm would feel that they were significantly more at risk because they're based in the UK.

15:52So I thought this was a very nice, sensible introduction to the OSA and the problems with it. So fingers crossed it helps all these things kind of add up and hopefully people step in and are able to change gears on it. Haha, change gears. See what I did? I otherwise don't really have an update. When I was introduced to Ofcom by email last week, I got an out of the office reply that said they were out until today. I have not immediately gotten a reply, but I would chalk that up to, you know, if somebody went out for a week or two over the holidays, they are going to be swamped in their inbox when they come back. I could see how a random non-constituent saying, help, I need attention, is not the most pressing thing on their first Monday back at work. I was giving it until, well, until the stream here, because they're five or six hours ahead, but I'm gonna send another email here after the stream, maybe just linking this opinion piece, because I really did think it was excellent, and saying, hey, look forward to talking to you now that you're back in the office. Hopefully that is enough to nudge me out of their pile of backlog. Fingers crossed.

17:27So not much there.

...34Because the OSA has been kind of overrunning my attention schedule, although it's quiet the last couple of days,

...47I have done a little less coding. I had fun on the last coding stream. I'm still deciding whether to do continue that story merge review or come back to that comment redesign experiment. If you have opinions, please feel free to share them. But otherwise, I wanted to look at the issues I've kind of nudged along in the last couple of days and pull request review because there's a whole bunch open, eight, which is Remarkable. We haven't had eight pull requests active and opened, I think, ever. So that's very nice. So I know what this one is because I saw it in my email. So looking at what's going on. Caius, who has opened a pull request that we'll get to in a minute about pagination. There was a bug in the moderations pagination and some vulnerability scanner shoved enough crap frici random question, is the issues smart bookmark thing, a stream only mark or do you just only link to lobsters anyway even on private/IRL firefox? 🤔
into it to exercise the bug and get a 500 thrown and then he caught that there is also a bug where you can't view the last page of the mod log so that is open and available is the issues smart bookmark thing a stream only mark You mean this blue mark right here on the left? Is that what you're talking about with a smart bookmark?

19:28So I guess I'm saying, Fritchie, I'm not sure what you're asking about what you saw on stream a second ago. frici maybe its not called that and i mixed it up, the thing where you can type "issues" and get redirected to lobsters issues.
frici much like your lobsters prod and dev ones.
stream health is pretty good so you shouldn't have a ton of lag but i can see that it would take a second to explain what you're curious about maybe it's not called that oh that's not me doing anything i'm typing issues and This is the standard Firefox, what do they call it now? Omnicomplete, Omnibar, maybe that's the Chrome one. I don't know, it's been long enough that the feature has kind of stopped having a name. frici ohh yeah i just saw it is bookmarked and you just grabbed it from history LUL
But this is just history, so what's happening is I'm typing issues and then hitting down enter faster than you can see me highlighting it, because I know it's going to be the first thing. I have it bookmarked, so it's always going to be the first thing, but it's not anything smart. Yeah, I'm just using history. frici ok yeah just me overthinking it
On my personal browser, I do have, there's a really nice feature where bookmarks, I don't have any here, because this is the profile for streaming. That's an accidental bookmark. But if I were to manage bookmarks, see it open a new window and my streaming stuff kept it off screen. So on my personal bookmark, I have keywords for a lot of stuff. Like if I want to search all lobster stories, it's LS. And then it, you know, makes that URL. And LC for searching comments. And then I think it's LI for issues. I don't know. It's been long enough at this point that I put my hands on the keyboard and it just happens. There's such an odd thing about, especially using Vim, where... If you use it long enough, all the keyboard shortcuts, especially because you're not holding Ctrl-Alt-Meta, they just sort of vanish. And I think, oh, I want the cursor at the end of the line, or I think I want to highlight these next three lines, or I want that deleted. And it just happens. I don't end up thinking consciously about what I'm actually touching on the keyboard. So on the last stream, Nogway suggested this issue that when the prop shaft pull request is merged, which I believe is ready to merge now, we can have our pages and our fragments saved so that Nginx will just serve gzipped files. There's a bug here. I actually do have to turn this off because doing full page caching and the uk users should see that footer warning them that they're about to get blocked but because we do full page caching they're not seeing that you know it's a coin flip as to whether the cached page has that or not based on whether the person who filled the cache was in the uk or not so probably they are most likely to see it in the morning and stop seeing it in the evening after the us wakes up But Nagoi left a comment here pointing out that we actually already have the Ansible, Ansible, the nginx config set up for that. So that's really nice.

23:22Although I think we'll see if there's other instances. So this assets is just, In practice, this is just the CSS and JS. But I guess that's what Propshaft would produce, so that's fine. All right, I was gonna put on... A new issue was opened, and this author sounded Pretty frustrated because they wanted to really reiterate that they're mad about the Linux Foundation, even though that's not relevant to the bug report. And they saw a visual bug. I don't know what's up with this. I don't know if it's mobile specific, Android specific. I thought I added the... I thought I marked it as a bug. Hopefully somebody can jump on that one. So that's the issues and I was going to jump over here. Did I merge a pull request since the last stream? I thought, no, that's the one that I.

24:55So on stream, I finished this merge. It's got the little highlight because Yawaramin said thanks for finishing. They got busy. And then this one I merged on stream. So yes, that's all up to date. So before I dive into the pull requests, I will reiterate that if you have any questions for office hours or stuff to talk about on the site, just type up at any time. And then... I think I'm going to go what feels like simplest first. So I'm pretty sure this one is darn simple. Let's grab the URL for the notes.

25:46And Caius is... Off to a great start as a new contributor case if you're present i've really appreciated your pull requests they're very clear and. you've done a. Some kind of unicode. I was going to say kaios you've done an excellent job of matching the code bases. matching the code bases, style, and just, I don't mean style like indentation, things that RuboCop takes care of. I mean just style in terms of how stuff is structured and named. It's one of those things that I see and I'm like, ah, that's a senior developer at work. And I really appreciated this warning that this is why one of the Breakman errors, errors, notes about possibly unsafe thing goes away. So break man looked at this and said, you know, if you put a variable inside of a string and you give that to active record, that might be SQL injection. And Kaya says, clean that up. Because now instead of being a full string, it's the name of this and using this key value hash

27:30means that ActiveRecord can do the right thing and there isn't any risk. So this is all nice. Hopefully this means vulnerability scanners get 400s and get lost. Ooh, request.queryParameters.merge. Yeah, that's a little ugly and I wouldn't, Do we do that anywhere else?

28:07Nowhere else. So, pagination on the site is a custom feature. Hey, good boy, your adoring fans await. Come on in. Come on in. Why don't you come up in your usual spot? The cat has entered the office. Oh, did you hear that kibble? Can you figure out that it's up in your favorite spot? We'll see, we'll see. There may be a cat in a minute. Yeah. So the pagination code is repeated throughout the code base. And it's, you know, one or two, three, four lines of code. How bad could that be? But there are these little bugs that have crept in where some of them are a little bit different. And this kind of, We're going to trust user input and build a query based on all user input. I understand why this was written, but it just raises the hair on the back of my neck a little. All right, here we go. Supervisor Cam, he's coming up. Oh, Lord, he coming. You see the kibble. There he is. So this is Raz. I've been leaving his little treats up here to remind him how much he used to curl up here. gtfrvz KOT
frici cat <3
He doesn't always do it in the winter because it's near a window.

29:51albynton Greeting, supervisor!
Yeah, there must be a significant delay. It took you all 20 seconds or so from the time I brought the cat up. Hey, buddy. All right. Turn around three times and sit. He's thinking about it. Oh, and welcome back, Albin10GT. Good to see you, too. There's... You see a spider or something up there, bud? What are you looking at? You're okay. Good boy. Good boy.

30:39Alright. Wow. Nice little visit from the boss. Hey. You want one more? No? He's a little worked up. He's going to go run the length of the apartment, I think. We'll see if he goes back.

31:12These are so nice. What is this issue? 1425. Oh, he's thinking about it.

...44Okay, he's just linking the issue that he addressed. It's kind of funny, but honestly, the closest thing I have to a criticism of this pull request is that it's more tests than this needs. But that's really not too bad.

32:09Great. Let's finish my review.

...53The part that I liked here, the. I mean, I appreciated this comment. Oh.

33:36All right. And, you know, I talk about this of it raises the hair on the back of my neck. For me, programming is a fairly emotional thing where a lot of what I'm doing is like I look at the code and I'm like, Hey, wait a minute. I don't feel good. Or, hey, I'm happy about that. And then I stop and think about, you know, why am I having this feeling? What is it about this that is prompting the emotional reaction? But it always starts there. And sometimes I call it a, you know, my gut reaction.

34:30What was the number on that? 14, 14, 25. 1425 100 moderations pagination and I will just this in the. request title and it's better. request title merge commit title is really what that is boy how about that new merge experience their github with its link shoved up under the HR.

35:08soulcuttr github ui has been getting worse these past couple years
They changed something with how pull requests work as drafts. And so all of the contributors have been a little puzzled about having to request reviews. I'm not quite going to do the, oh, GitHub has been in decline forever, but this new merge experience has had a couple of sharp corners that have bit us. There's this thing about drafts, which is a very nice feature. But if a pull request is a draft, the build doesn't run. And that's really not helpful. It is actually quite useful to have the build run on a draft. And it doesn't give the user, you know, the contributor a button they can push to start the build, unfortunately. also the new merge experience which i was gated into or feature flagged into was doesn't have the button so i can approve the build for first-time contributors and as somebody who sees a lot of first-time contributors that was really a baffling one for me so that's closed now great

36:33soulcuttr I've gotten my hand slapped starting a Draft PR in an open source project with changes I was like 95% done with and wanted some feedback, so IDK what they're for
Great, great, great. And then let's see. I thought this was merged.

...54soulcuttr they later wrote a policy doc "no draft prs" because of me
soulcuttr by the maintainer
When you say got your hand slapped by the GitHub UI or by the maintainer? Ah, by the maintainer. i'm sorry to hear that negative interaction for me it's kind of puzzling because when i get them i'm like am i supposed to be commenting on this or should i just kind of ignore it i don't get so many pull requests that i'm overwhelmed by them so i've left comments but i don't want people to be like hey why is this guy tearing apart a draft i had barely even finished so i try and be especially like double encouraging on the draft prs

37:41this i think that might be resolved because rahul has written some commits yes where they removed that oh so we're back into the brakeman and i thought was there another one i thought i had asked him to paste output but maybe i just albynton I'd say that people who are not ready to have their PR seen would have not created a PR
imagined it really loudly okay and then the details here are going to be that so the thing that rahul doesn't know because they're fairly new to rails is with brakeman soulcuttr I gave the maintainer feedback about my bad experience, and how I was unlikely to contribute based off it, and was heard, but I think they're staying dogmatic about "their way"
When you see obsolete entries and brand new warnings, there's a very good chance that you've made a harmless tweak such that one of these obsolete entries is, in fact, the exact same thing as yours. And it doesn't have great UI around that because you do have to be super careful about those.

39:03soulcuttr @Albynton sure - I wanted to discuss it
I'm sorry to hear it, Soulcutter. Yeah, it is. A big thing that I think about when I'm responding to these pull requests is how, even when I am critiquing people's work, I want to be very encouraging. Because it's so easy to discourage someone, and I don't want to come off as saying, you're a dummy, you made a mistake, your work is trash. Because, first off, I don't even write C++. And second, haha. actually if i i have very quickly learned that if i encourage people to contribute they contribute more often you know catch more flies with honey than vinegar all right so i'm going to yeah i'm going to just pull this down because i want to see the exact error out of break, man. And I don't... Rakul has mentioned that he's on India time. I don't want to wait a whole other day and night cycle to be able to talk to him about this one.

40:19Oh, I'm on a different... Come here. soulcuttr there's a few personalities in OSS I have on a list of "don't want to interact with" because of how they treat contributors.
What? What are we mad about? I need to take it.

...45And if I run the OK, so if I run the GitHub default, I get this and if I say FF only because I haven't made any changes. How is it a diverging branch? I must have pulled a previous version of this.

41:05So I'm just going to blow that away. Start over.

...20soulcuttr pushcx is not on it :D
Let's make sure I'm up to date, especially since I merged that other fix. Well, thank you. I'm glad. I don't remember off the top of my head. soulcuttr I don't think I have
Have you contributed to lobsters? I suppose I can type it right here, right? Do we have a soulcuttr but I see you! hehe
OK, yeah, not under your username or at least. So let's. Let's jump over here.

...56Grab that branch again. And pull down the work. Why do you say paper jam when there is no paper jam?

42:15What did it do to my git history? So this is based on origin. That's totally fine. So why do I have a head commit that is not exactly where Rahul left? Because he forked off of master from a week ago. but that's in the history of my master, right? No, it's not. How is it not? Yes, it is. All right, so Git is mad about something, so I'm gonna not push this branch, but I really just did this to run Brakeman, so... High confidence that... one of these is the exact same thing.

43:23I wonder if I switched back to master. Are there two obsolete entries already and then this added two more? There are zero obsolete entries, so they're all part of this branch, so either Rahul has done something on his branch. Well, we'll take a look in a second. So let's run breakman and then open the breakman config. This is the part I didn't want to have to try to talk him through. So here's these fingerprints. And this one is form errors, check URL dupe. Hey, look, our first thing is show. And second one is form errors. Line 40, line 40. Okay. So let's see this next one. If there were two and two, I would already be writing my message, but I'm trying to figure out why four things have changed. So this one is. Stories show line 14, which is stories show line 14, unescaped model. Unescaped model, yeah. So he's tweaked something that's caused those signatures to change. What are these other two? 2FA unroll. nothing has touched that in ages i almost wonder if that's a change to brakeman because i know we did a point release update and maybe it's realized that something we're doing is safe and that's why these became it and then another 2fa enroll yeah that's weird i'll see where that lands after we get merged back down to master because there's nothing like that on the branch.

45:53Yeah, Rahul doesn't touch 2FA. All right. So of course, Oh, Rahul doesn't touch those views. That's probably something else he's being thrown about. So you could kind of see the difference here where Brakeman reports the ultimate part of the view that would have the cross-site scripting. But over here, and we will have to jump back, it also shows you the part of the controller that started it. And so it's Rahul touched something here, and then the error is only showing up in the view because you can do anything you like in the controller. You can't have created a cross-site scripting error until it appears in the view. So there's a second thing worth explaining. Okay.

48:09I've just got it visible off screen, so I'm using VIMS Control-I, Control-O to jump around where we were just looking.

...59What was the exact wording? Obsolete ignore entries.

49:13It's not config breakman, it's config breakman.ignore. You can look at C2 entries. for the fingerprints.

...40Your PR changed the... What do I want to say here? The stack? The chain of methods?

...58Brickman... Follows values through all the function calls. And. Reports where they might be printed for cross site. Scripting success attacks in the view. You. Moving these functions.

50:29He taught. Peace.

51:42What does the configignore.json call them? Use the... So I'm looking back at configignore somewhere here. There's the note, right? Ah, yeah. So this one has a note. this one yes you can use the you can reuse the notes for the old versions of these notes from

52:45So then that one is in good shape.

...55Since I'm kind of jumping around, I'm not going to remember. So this is, that's the one I merged. This one, I left some notes off stream. This one I haven't even looked at. This one's just about ready to go. That one we just looked at. And then I think these two haven't moved and that's ready to merge. All right. Just kind of building myself my queue.

53:30This one, let's do the small one first. So slash stats has all these nice charts. And I noticed on stream last week. Oh, Peter, is this you? We have pitrapen yep, first time
pitrapen just getting my feet wet
a first-time contributor here named peter and it is spelled the same as the twitch chatter peter appen if that's you thank you well great i appreciate you getting involved thank you so these stats charts are a little bit eye-searing if you are in dark mode and peter has found new colors for them frici oh my eyes appreciate you too LUL
Yeah, well, I appreciate you getting your feet wet. One of the nice things about SVG charts is that you can style them with CSS. And so Peter, I did peek at this one off stream. Don't worry, I'll put the nasty white square away. So Peter went through the SVG and then also went through the colors we define and applied them all. I was really happy with this it looked like you didn't have to touch much of anything at all. And I can see that there is a couple more, and you know just knowing hex values, these are both kind of middle of the road colors like, so this is our lobsters accent color, and this is just a middling kind of Gray, and so those are acceptable in any color scheme. And then the rest of these are, you figured out what our SVG library is outputting. soulcuttr @pitrApen that's awesome!
So I guess what I get to say is I don't even have to click the merge or the review button because this is just so clear and excellent. What's the, I want to put the issue number in there. So the issue I filed was 1420.

55:47And we'll just immediately merge that.

56:08soulcuttr nice screenshots also, I always appreciate that as a reviewer
Oh yeah, let me echo its whole color cutter has said, having the the screenshots and I see that you deliberately put your mouse on top of a. dot so that you could get that text up in the screenshot I mean that just made this so darn easy to merge Thank you.

...42pitrapen ❤️
great so i'm merging that and then i'm going to grab this url so that i can put it in the show notes yeah you know i was trying to go roughly in order of complexity and i should have started with that one because peter Like it's a straightforward thing. And then Peter made it so clear. Also, Hey, great first name, buddy. All right. So Peter, if you like doing CSS, there are many CSS kinds of things available. I made a design tag recently, maybe two weeks ago. on our issue tracker. So if you want to do more front-end-y kind of stuff, you have lots of options to choose from. And some of these get a little opinionated. I am happy to chat about any of them on stream here if you have any questions about them and you're like, this one is interesting, but your explanation doesn't make sense. Would you like it to look like A, B, or C? pitrapen lol I'm actually a backend dev, just saw that issue first and seemed like an easy fix
Like, I am really happy to get into all that kind of stuff here on stream or by email, by IRC, by direct message. Ah, well, great. Hey, we have plenty of backend issues too. Boy, do we have backend issues. And Peter, do you have an account on the site? pitrapen yep, "pitr"
Because if not, you can... Here on Twitch, you can whisper me your email address and I will send you an invite to the site if you don't have one yet. Ah, you're Peter. Great. Well, thank you. What's the state of this one? This one is waiting on the authentication. And so I'm going to leave that alone.

59:03Let's look at this. This looks small and front-endy. Let's put it right in the notes before I can forget. A little font and upvote. Where's my...

...39Just sticking around off screen there. All right. soulcuttr That made me think: /settings has External Accounts for Gravatar, Pushover, Github, Mastodon, Keybase. It does not have Twitch!
So there was a bug that is not linked here. There's a lot going on here.

01:00:02So it's in the title, it says the word small, right? soulcuttr at some point all those external links get to be a lot, but hey
So there's, they're referring to this bug and then also where's the, this one. And I knew these offhand cause there was some activity recently where same person, Claudia.

...35Oh no, Kevin recently mentioned it.

...50Yeah, there is not a Twitch. If Twitch has an OAuth endpoint, I would be happy to add it. And if you look at how those work, If you look at the settings control, you can follow it in. They all have a very formulaic flow of OAuth. I probably can't actually do that on Twitch because I can't register an application on Twitch. I may need to. So Twitch... if you want to use the twitch api and i would love to so that i could have some fun stuff on stream you have to register a phone number to use the twitch api and they won't take my phone number because because they're not serious about privacy for streamers is the short version of that which is especially weird given how much soulcuttr oh yeah, I couldn't register with my GVoice number
gross parasocial stuff has happened over the years. soulcuttr register on Twitch I mean
I would expect them to be very sophisticated about that, but they don't.

01:02:15Yeah, it's that same issue that you saw, Soul Cutter. And if you are... If one is a popular streamer on Twitch, there are lots of things you will have to do for your privacy. And I am not a popular streamer on Twitch, but Lobster's is big enough that I've had some ooky stuff happen where, like, people come to events to find me. So... I don't know. soulcuttr IDK why phone numbers are necessary for anything
It's very frustrating to me. And I actually... I talked directly to Twitch about this. They were responsive to me, which was genuinely surprising. I expected to get Tier 1 customer support, and I got someone who was not just copy and pasting stuff, had clearly written the actual words I read, and was replying to them, and they basically said they're not going to fix it. They consider it a security control to... Yeah. soulcuttr my phone is basically my pocket computer, not a POTS system
I'm not going to try and characterize that more because I'm just going to get mad and then be really unkind to them. So our upvote buttons are pretty small to tap. soulcuttr Plain Ordinary Telephone System
The value of phone numbers is two things. Number one, it's trying to increase the cost of creating an account and certain kinds of abuse are really valuable if you can create an account for $0 and one or two API calls. If you also have to create a unique phone number for it, that makes the prospect of getting banned more significant. Our invite system works on the same general principle, but Twitch is behind the times on this one. soulcuttr yeah, I get those reasons, but it's still becoming anacronistic imo
frici in some countries you can't get a Phone number without a Gov ID as well so, requiring a phone number does let them assume fairly accurately that its a real person
And some of the things around the way, like if you connect a phone number, they are automatically going to start using it for shitty SMS one-time codes. And then also I think password resets, which is just like, yeah, open yourself up to SIM swapping. That's great. That's for security. soulcuttr oof yea
You have to enable SIM swapping.

01:04:56Which one of these had people talking recently. frici you can switch password resets via email nowadays and OTP via Google auth or similar OTP apps tbf
Ah, so this was the issue that put it back in my head was Claudia was working they posted a comment that they were working on this and. This.

01:05:22Fritchie, you're saying Twitch does that? Because all of the UI that I could see before buying a burner phone so that I would have a phone number that meets their standards, everything looked like they were going to enable SIM swapping. frici it does enable it by default LUL but you can m,ove after that
And then also do SMS to fake two-factor. So...

...57soulcuttr I have 2 twitch accounts (programming + gaming) and I think the OTP is the same for both for some reason
It does enable it. Yeah, great. Oh, yeah, because people turn off the defaults all the time, especially related to security. See, I'm annoyed enough I'm getting snarky about it. I'll rein it in. Sorry.

01:06:15So let's link those two issues and then think about what I want to do here.

...31soulcuttr I am not sure how the accounts are linked - probably by phone number lol
Right. frici if the email or the phone is the same, it does make sense Soulcuttr as twitch tends to link those after it
frici that would also mean if you get banned with one of them, both will go at the same time 👀
So, and there's a screenshot up here, but the, so these buttons are just not super responsive on mobile.

01:07:02soulcuttr yeah, and that makes sense to prevent whackamoling
Cause it is, you have to hit this tiny little triangle rather than what it should be, which is this whole section. And so if Claudia has, I'm really surprised for a CSS issue that like the tests have failed. You have deleted from the gem file trilogy. I wonder if they're trying to run locally with SQL light or something. Yeah, I don't know what this is. Why would you do that?

...45soulcuttr I... guess I don't like having to deal with security stuff because the reasons are usually good vs bad actors, but as a good actor they annoy me
I wonder if they're on an older computer and Trilogy doesn't run on an outdated OS because Trilogy is a fairly new gem, and so they may have assumed a baseline reference. All right, so what do we have here in this video? That's great. Thanks, GitHub. That looks nice. soulcuttr bad actors gotta ruin it for everyone
So they're clearly clicking it but not getting anything. I wonder if they've changed the CSS class that these event handlers are linked to. And so it's not correctly registered, because this flash tells me that they remodeled it from a div to an A, which is what I mentioned over there.

01:08:51All right.

01:09:12Oh, and they must have run something to bump common marker because we have that version pinned. So this is all very odd. All of those changes need to go away. Ah, so I wonder if they are using an ARM computer, maybe. Hmm. Odd changes. So this is from div score to span score. And then this is if you click the comment upvoter, but the only thing they changed was the quotes. Then they fixed a white space.

01:10:50So just doing that. But with that accident, I have to turn on the ignore whitespace changes, or I can't actually see what this author has changed very well. All right, so they added display flex to the voters and gave it a height.

01:11:16They gave it a little more margin. That's fine. So justify, I am surprised that's, why are there two display flexes? OK, so the score, they're centering the score. So this is dead code now.

...59Have I been clicking add? Nah, I've been clicking add single comment instead of review.

01:12:26Why did they rename this?

01:13:03And it's a very odd change because they renamed it some places, but then they didn't rename it here. Although it's possible, because I don't see the whole context, it's possible that this is on comments and the other one is on stories or vice versa.

...25Yes, we have an A upvoter.

...34with these things inside. If you're not logged in, they're not in an A, so they're not clickable.

...59And I think that's also their bug. So A class is uploader.

01:14:58Where's my JS?

01:15:12Threads. So if they didn't, yeah. So I'll just go peek at it here.

...41They did touch this.

...52You know what? Let's leave that alone, because I don't want that changed name.

01:16:05OK, a.footer.

...14So the event should be bubbling up from...

...29Comment flagger. Hold on. Did I have it here? Upload story. Ada upvoter. They didn't actually... change this name on the story, did they? Which is what their video is showing. There's the template. So that's comment. That's threads.

01:17:08So if they didn't touch the upvoter, why did that break?

...23So if there's a story, there is an upvoter with an A.

...34Let's look at that video again, because that's a puzzle.

...41So this is a good time to mention that on the stream, if you can catch a bug before I do, you get to be a channel VIP. Okay, all right, so I misremembered. They're actually uploading comments in this video, not stories. So that, in that case, in that case, this bug makes sense, right? Because they, no, they kept that.

01:18:38I see what they did. They introduced this to have just the CSS that was on this because now the A holds this. Now I'm going to... Okay, good. I can delete that. I was worried that was going to be a comment instead of the... part of the review. So that's why this class got inserted. That's fine.

01:19:33Yeah, I genuinely don't know why the click handler isn't firing because they didn't There's a lot of distractions here.

...51But they didn't change this selector, and they didn't change that structure. So what the hey?

01:20:14Is there something else that calls up vote comment? No. Is there something else that calls vote comment? Yes, but that's just the flagger. And that's the flagger. So then this is how that gets it. Let's jump over to comments so I can see.

...47This has an A uploader.

01:21:01It's the fact that it flashes in his video, well, their video, that is puzzling me. I don't understand why, if the browser knows that's getting clicked on.

01:22:11Yeah, I got to kind of throw my hands up on this one. And with all these changes to the gem file, I can't just pull the branch and get this running.

...31So I'm going to say that.

01:23:43That's unsatisfying.

01:24:09They've had some painful merge conflicts and churn here. Did they write anything in their commit message? No.

...24This is also a very odd style of teeny tiny commits where each one is pushing around one or two CSS properties. I really wonder what their editor and work setup is that they ended up working in this fashion. I don't have anything more to say there, though. All right. dr3ig PR started 8 month ago; well before trilogy got introduced
Let me look at this controller one. So it's been a second. Ah, Greg, thank you. I thought I saw something about that, but then the date slipped past me. yeah that must be some of this gem stuff changing so this one kernel here who I saw in the email is named Utkarsh Wonkar, has contributed a few poll requests over the last few months. And I gave this one a review over the weekend. I don't know where they are. It just seemed straightforward. Aha, great. They've even incorporated my changes. Yep, I understand why they had to do that.

01:26:29So then they've moved it into the mod directory as I asked. So this one was me creating churn for kernel because I wrote the original GitHub issue about extracting a bunch of complications from our God object controller. And then I didn't remember that I created a new directory and I didn't go back and update that draft. so kernel used our original my original name that i wrote and then i had to ask for some churn this is great and then i bet he deleted this merged into story so one of the motivations for this was how many conditionals there are in the stories controller and this one also had a if around it that says that the moderators are allowed to change the merge into stories but the users are not and that was carried over into this one and he's removed it here and then the over on the edit side that one now only handles users edits and so it got smaller And reading this pull request also prompted me to realize a different thing that I want a big refactor on. I'll jump over there in a second. Yeah, so here's the thing you got to get rid of, which... You know, if this doesn't have the mod check, the story parameters at the bottom must.

01:28:20This is a fun game. Trying to find the bottom of our god objects controller, like 20 lines at a time. But I want to find it here because I'm trying to say that we can remove stuff in my review. Keep going. Here we go. Params this. Excellent. All right, how do I comment on this line? GitHub. GitHub, I need to comment on this line.

01:29:05This goes away.

...17GitHub. I know it's not part of their diff, but that's the issue here. Fine. I will just say it by name. That's so... Damn it.

...43So this is nice. Kernel had a edit where... dr3ig time for some HTML page editing ?
They edited inline whether this link to edit a story, the moderator should get the edit, the modest. and the regular user should get the regular edit story path. Yeah, Drake, I'm just going to pop open whatever React nonsense this is in the Firefox dev tools and insert that plus line so that I can edit it. That's not a good use of my time. And so one of the things I said to them here was instead of having one edit link that knows whether the viewer is a user or a moderator, I want to have two edit links. And one is for the user because mods are also users and we submit stuff. And one is for the mod action. And they've done exactly what I wanted here, which is great. Oh, look at that nice little route. Edit mod story path. That's great. What do we have here? I also, the last thing on this was I asked for, now they've duplicated the view for the mod stuff and they've probably removed the stuff from the old view. What is this? Oh, this is the repeated thing from list detail. So here on the original edit form, they're able to delete this big if, which has a bunch of hairy stuff. beautiful new route here that leans on the rails conventions and then this was the last thing as i asked for a simple smoke test so i think of tests a lot as return on investment where i don't want to spend a huge amount of time writing a ton of tests if we don't get a lot of value out of it and there is not a lot of value in mod tests because I want a test that the page loads and basically works, a simple smoke test. But we're not going to check all of the flows and that you can get validation errors and all of that other stuff, because if a mod sees an issue, it is a really small thing. And they can immediately pivot into editing this code. So we don't need a ton of tests. And so we will just see that we sign in as the mod. He's figured out the basic structure of these and our little helpers. This is great. Lovely. This was the exact test I asked for. Great. All right. So wait a minute here. Where was that? Didn't I leave a comment? I'm making sure. Am I saying one thing or two? Way up. Can I just? Ah, that's right. I left a comment, but it was very positive.

01:33:18I don't need to gripe about the GitHub URI to this person.

...48Which I need to double check that. Hold on. So when they, this, this had the merge into unavailable. Okay. This had the reason field. I just wanted to see that the reason field was getting deleted from the user edit form. Great.

01:35:08So nice. I'm real happy about that one.

...15All right. I am looking forward to merging this. This one. So let me talk about the bigger thing. In 1349, I came to the conclusion that stories controller was just so complicated because it had all of these non crud routes and then, if we move them off into their own controllers and lean into the rails resource conventions, we will have much nicer code and so far. You know i'm going to say 1.9 of these have happened because it's a very small change it related for Colonel and I like. If I see that. pushcx https://github.com/lobsters/lob…
last thing deleted i am going to just instantly smash it so you know 1.9 of these are completed and i'm very happy with these changes and improvements and i recently added on the bottom a refactoring that needs to happen but where did i mention it here no where's my ui so there is another issue it's got the design label on it that nobody has touched 1259. And let me throw this link into chat because it's related. And I guess I should put it in the other part. So a while ago, oh, almost a year ago, this was just like a nice note of, you know, I kind of wish as a moderator that I had like a candy cane striping or an underline or an icon or just something that made it clear what's moderator UI and what's not. There's. I even noticed there's ambiguous UI like the edit link or flag summaries that can be present because the mod submitted the story or because they are a mod haha foreshadowing. And there's also things like.

01:37:31The vote summaries that appear on stories and comments. and mods see a slightly more detailed view of them than submitters or comment authors and a much more detailed view of them than other users and i literally couldn't remember what different users see because i haven't seen the regular user ui in years and so i said well you know what we should do is just split out this mod stuff so that it's very clear when i'm seeing mod stuff And the need there is pretty small. It's just so the mods are a little bit less confused. And there's only four of us, so that's pretty small.

01:38:20But I realized that... Oh, we're going to comment back on this pull request. that I want mods to see two edit links so that they always see the same UI as users, and then we can separate out their own UI. And I realized that this user interface change pointed at a significant code refactoring. And the gory details are there, but the big one is, like this method, story is editable by user, includes an authentication check. And it's bugged me forever, although I couldn't have put my finger on it and explained it until this UI thing came up, that it's not appropriate to have an authentication layer check happening in a database model or an active record model, which kind of straddles the line between database and app code. I mean, straddles the line in that it's all of those things and three more. So this is a code smell. Having authentication down in app models is a code smell. And so what's happened here is we have a bunch of UI where you can see stuff because you are the editor and you're in the edit minutes window. or you're a moderator. But this gets real gray when you are a moderator looking at your own stuff. And some of this ambiguity also shows up in the controllers where you are allowed to do stuff because they use that for authentication. And I don't quite want to go all the way to including CanCanCan or some other authorization library. But I do think that we should move all of these authentication checks up into the controllers so that like mods know what they're doing. This has happened once where just recently, I don't remember which story it was, but I submitted something. And then a couple hours later, I either had to fix the tags on it or fix the title on it because I typoed. I don't remember exactly what it was. And none of the other mods were around to do it. And there's this bug that because that edit is gated here, moderators are allowed to edit their own stories as if this were true. And so if I had edited my own story, it would not have created a mod log entry, even though I was doing it as a mod with mod powers. And that's just confusing AF.

01:41:41And to work around it, I loaded it up in the console and then I think I manually made the mod log entry so that there would be the history for it. I think I did the edit in the console so that I could fire the methods. And then the longer version of that is this refactoring that i just added over the weekend which is after user editing and mod editing the way mod log entries get created is their story has this callback log moderation that runs any time a story is saved and it examines itself and says were any of my fields changed If so, and it looks like they were edited by suggestions create one kind of create and save a moderation object, which is what the MOD log entries are called. And then, if it looks like a moderator did it create a different moderation and all of these things are just tangled up so there's like. mod log entries are implicitly created by something that infers the edit that previously happened and i would like for the controller to be explicitly creating mod log entries because then it's always going to happen when a moderator does it and it's going to have a clear coherent a b c you know do step one step two step three kind of control flow instead of this implicit well you know you read the controller for a while and then magic happens in the model and that gets you entries in the database because that's a pain in the butt to follow and understand and this is kind of a shotgun surgery. This is a big refactoring. And it's funny to think that this big refactoring is driven by me wanting a background color on mod buttons so that I do silly stuff less often. But as soon as I realized the possibility for this refactoring, I was like, oh, oh yeah, that's how the code always should have been. So there is one more reason to thank. Colonel and I believe this one was Rahul. Yes, Colonel and Rahul for their contributions. That's great.

01:44:26I'm going to be so happy when we work through this whole list. It's going to make it a lot easier to tweak things on the story submission and edit flow. I think we are likely even going to get to the point where the story creation form and the story editing form are two different forms, because that would allow me to customize the story creation, aka the submit story form, and do lots of nice new things without having to juggle them over on the edit form. So fingers crossed. It's also Once again, I could not have predicted that contributors would be like, yes, I want to do this big refactoring on the God object, which is going to touch every freaking thing and include 19 fiddly things. I'm still working on my intuition for what people are going to want to volunteer to pitch in on. And I guess I'm just saying I love them for it. So last two pull requests that are open. I think I saw Rahul said this one was good to go. All right, this is the one that threatened to sprawl. And then he explained some stuff that was going on with ERB. And then he found a really clear way, thanks to Greg pointing out that I had misunderstood his suggestion.

01:46:13oh yeah me griping about rails and then we were down to some conflicts all right so i'm going to give this a quick skim but i think this is ready to go and i'm a little concerned so there's a thing there is a bitter experience where every time I touch the asset pipeline, it breaks in production. And there was a series of like four, four, one, five, oh, five, one, five, two, where every minor release broke the asset pipeline in production in some way. And so based on that experience, like I reach for the merge button on this and I go, you're about to break production. And I would like to merge this down to continue encouraging Rahul because I really appreciated his just huge number of contributions the last couple of weeks. frici is it me or is there considerable buffering ?
Oh, God, that's so satisfying to delete that. soulcuttr same here
forstpenguin Same
And... Is this actually going to work? So he...

01:47:41soulcuttr the internet tubes are clogged
Welcome, folks. frici are we cursed with rain ? LUL
Yeah, if there's buffering, sometimes reloading Twitch catches you up. Other times it's my problem. I had some weird connection issues. No, it's not raining. We had some snow, but it's been dry for 24 hours. So here you can look at the clock. So there is normal time, aka Chicago time. And then... You can translate that into whatever odd time zone you are unfortunately in, but mostly just watch the seconds here versus your seconds to figure out how big the lag is, and I'm sorry if it's huge.

01:48:29forstpenguin I think we're good now?
I can stop and restart the stream, but that boots everybody who's only half paying attention, so I try not to do that. I think we just have a huge buffer.

...44soulcuttr yep, I'm back now
okay i'm limited in it basically never warns me when i have big buffers all right i'm glad reloading worked well welcome and thank you forced penguin i appreciate that you helped diagnose even if there's not a lot to do on these i do daydream about starting my own twitch competitor it's not a thing i would do if i had a spare million dollars But it's like the fourth thing I would do if I had a spare million dollars. Oh, there's a title.

01:49:35soulcuttr I do like Propshaft over Sprockets. It does so much less
So for new stream viewers, when I say silly things, I end up using them out of context for stream titles. Yeah, SoulCoder, that is exactly why I wanted to move to PropShaft is it does less. The features we get out of minification are so small, given that we don't have a lot of CSS and we don't have a lot of JavaScript. just deleting stuff and making it simpler helps. That's why I was raving about how nice it is to drop the Node.js dependency. Can we do this? So he's saying, so he's removed this duplication, which is fine, but then he's saying if we have, That setting or that, you get dark.

01:50:40I think this line is going to force people who are on light. Yeah. Yeah, that's not a good edit.

01:51:20dr3ig people on light themes have been marginalized in the dev community for ages
is it four or is it six one two three four five six seven eight you know you say for ages but it's pretty recent to me maybe five years that dark mode No, five years is undercounting. That's me being middle-aged. Because when did... See, I say it started like two or three years after mobile really got going. When did iPhone or... Here it was, 13. So that's five years ago. And then when did Android include it? in Android 10, which is what year? 2020. So, okay, this might be some individual app and it's older than that. Yeah, this is one of those cases where they are doing SEO scamming and Google has picked up a 2023 date that they've slapped on it to make it look more relevant.

01:52:56Date, date, where's your date? Jerk. All this marketing. I accidentally got there. Really? dr3ig but that's the wider user base, it seems the developer community always preferred dark theme
Can't type anymore. I'm getting too frustrated to type. Release 2019. So, okay. I'm really saying. Feels like Dark Mode's about five years old. Yeah, I don't know.

01:54:15albynton android 10 is around 2048 as well I believe
albynton 2018
Elbington, can you try reloading? I think you still have the big lag that everybody else was saying they had.

...44soulcuttr I prefer to think 2048
You know, it's been a while, but I made a 2048 variant myself. What's that?

...58I called it 11. Where'd it go? Oh, there's private stuff here. Not smart.

01:55:15Let's look at Peter's repositories.

...28pushcx https://pushcx.github.io/2048/
There we go. So I made a very small mod of 2048 where instead of seeing numbers, you see their log base too. I don't know. I just found it simpler and calming to have small numbers instead of huge numbers. Especially because in my head, when I look at the big numbers, I'm mostly thinking about the powers of two.

01:56:03soulcuttr that's a good mod
I don't know. That's it. That's a video game stream. Now I'm a proper Twitch streamer. I have streamed me playing video games.

...41dr3ig needs more drama
More drama? Oh, yeah, that's right, I do. I don't know. soulcuttr I sort of wonder if 2048 had intent to teach people powers of 2
Well, I got to a 14 when I was playing my fork of 2048 and Drake only got to a 13 because he's a big loser and he took my money from affiliate fees. I don't even know what Twitch drama sounds like. I got nothing.

01:57:16Did I?

...22Wait, did I screw up these? So we go light, dark, light, dark, light, dark, and then system, dark, dark, light, light, and you should see light. So the user settings always override.

...45And I would rather spell out the full matrix here because there are a handful of things that I have seen Rahul doesn't always check every option, so I want to spell them all out.

01:58:08He really does seem to like when I use the pull request system, so I'm going to lean into that and make that a full review.

...29That's so satisfying. pitrapen Do you have any plans to remove features from lobste.rs, to cut down on feature creep/maintenance cost/etc?
I do see your question. Oh wait, why is this? So Peter, AutoMod caught your question because it thought maybe that creep was an insult. So I don't have any features that are on the chopping block for lobsters mentally. Honestly, we've never talked about it. And the things that we're doing for maintenance costs are things like refactoring the story controller to lean more into Rails 8 features. pitrapen lol
There's actually a big, I guess there's a few of those, but none of them are quite deleting features.

01:59:27pushcx https://github.com/lobsters/lob…
So I have an issue where here we are. So this is the kind of thing we do where we have some Cron jobs. It would be nice to replace them with solid queue. We have full page caching. It would be nice to be able to use this new Rails 8 feature. we have keystore that doesn't a lot of miscellaneous memoization and caching. I think we can move almost all of those over to solid cache and delete that. soulcuttr I vote we remove the username feature, and everyone gets the same username to save on character storage
So there's not a lot of our custom user visible features like hiding stories or flagging comments that I'm tempted to delete. The stuff I want to delete is all of the plumbing we've had to write that is now incorporated into rails yeah you know soulcutter on the last stream i was playing around with flat comment views so you could see all comments like oldest to newest so if i did that and i made the background green and then everyone's username is changed to anonymous at that point you know i just need to add images and a whole lot of slurs and lobsters becomes 4chan brilliant I'm not actually going to do that.

02:01:12soulcuttr LUL
So, Peter, the other thing I would say is we've been really judicious and deliberate about what features we add to the site and how we think they're going to work. And I guess I'm saying I'm happy with the decisions that have been made over the last 12 years because there isn't any functionality where I'm like, oh, Tags were a mistake. We've got to delete that. We've had some... Have we had minor ones like this over the years? I honestly don't think so. soulcuttr that's funny - tags was the one thing I was thinking "well mayybe"
Oh, there was the invite request queue. That didn't work out. So that was 2018 or 19. We got a bunch of spam out of it. And then another thing we deleted, that one's my fault, was... jcs wrote a feature called dragoning where he could detach threads and put them at the bottom of the page and they would be hidden under a little section that said here be dragons like a medieval map and the idea was to shove really argumentative stuff down and then i left a comment where i basically i guess persuasively argued that we should just moderate those comments that are that bad and delete them and the whole place would be better for it and he deleted the feature and i i guess that would be a good example that was god i would have to dig in the code it feels like that was maybe 2018 no older gotta be like 2015 or 16. anyways if you if you dig the git history for dragon you'll find it

02:03:01dr3ig what was the invite request queue ?
but we did leave in the invite request queue so that sister sites can use it. gtfrvz just dont grep the other history for dragon
All right.

...48So the invite request queue, I can just show you, right? Cause I can just go here. All right. So let me throw on my dev before I do it. It's in config application, right? Invite. So there's, there's an old feature for open signups that you can turn on. And then there is a allow users to invite. And then what is it called? allow invitation requests it's not the invite queue it's invitation requests so if i turn that on and i start my dev server and i go to localhost how about that rails boot time rails boot 100 any achievement there we go

02:04:54GTM not getting your joke, so when you go to login. gtfrvz good for you
I may have gotten rid of the. The text over the years. See where is it. So it's this allow invitation requests. And it shows up on about. How does this change? You can.

02:05:54This did not get set to true data. Invitations requests. This did not get enabled in development mode. This got overridden somehow. Let's turn off that server and bounce it.

02:06:14Is it here? Nope. The basic thing was it allowed someone to say, here's my desired username and a link about me. Would anybody like to invite me to the site? And unfortunately, well-meaning users would come to the invite queue And instead of looking at it and seeing, oh, here's Alice with alicesblog.com, let me look at that and see if Alice would fit in well. They would say oh here's a bunch of people and they would go down the table and they would click invite invite invite invite and just instantly without looking invite everyone, and I say that because I talked to jcs about it. And he said, you know I can see the timestamps and one second apart, they are inviting everyone in the order there in the queue, which is nice of them, but. it breaks the value of the invite system. And we ended up with a couple of trolls and a spammer because of it. I want to say more than one spammer actually, because it looked enough like a signup form that spam bots could auto fill it. So it's been disabled forever, but it doesn't interact with any other code. And so it was easy to just leave it there as a fossil for the sister sites. I hope that answers your question thoroughly. Or sufficiently? I don't know what I'm saying. Going for two hours, I'm starting to get punchy.

02:08:06So Kamal deployment. I didn't grab this for the notes. Come here. This.

...20dr3ig it's interesting that you disabled it instead of further modifications to make it work: like rate limitng, and access to the queue by karma
That's not it. Wrong clipboard.

...28dr3ig keep it simple
Yeah, Drake, it's before my time. I probably would have tried something like that. JCS just turned it off. So this was... Hang on, where's my state?

...54Actually, I was just where I wanted to see, wasn't it?

02:09:04No, it's going to be. Trying to think of how to see that edit date most clearly, but this was before my moderatorship.

...37We moved that, and it used to be there. So if I just comma.

...56Yeah, 2014. And then because of that moved code, code we're not seeing when he reversed it, because it wasn't me that changed this. This was getting overridden by a change in one of the initializers, something like that.

02:10:27It certainly wasn't on for seven years. I'm not finding the code. A lot of these settings got kind of shifted around. These are not quite the Rails-y ways of doing them. Yeah, if it was set in Config Initializer's production, that is not checked into. Git history because it contains API keys and things. That's why I'm not seeing this code change. I want to say the invite request queue was on for a month, maybe. I would like to revisit it. In my head, it's behind all the stuff I've talked about on stream about making the new user restrictions more permeable. And so, like right now, if a new user tries to submit mygreatstartup.com, they'll hit the block that says, hey, you can't submit that because you're a new user. Think about that. I would like it to say, well, we're going to take that and we're going to stick it in a queue and their inviter or the mods or other users can say, well, you know, only about 60% of the time are these someone starting off with self-promotion, the other 40% of the time, let's click approve on that. And so if we have that, which I see as a, and I'm planning like that would have a direct message box so that people could immediately start the conversation. That kind of pushes towards let's acculturate new users more effectively. And if we can do that, then we can open up the invite request queue or some version of it again in the future. And it would probably have some amount of rate limiting or queuing. I don't know. We'll see. I would like that, but there's a bunch of stuff to get to first. Like that big story controller remodel has to get done before I can do... the better experience for submitting new stories as a new user. I hope that makes sense. Yeah, I've had a lot of these ideas kicking around in my head for a while, and it is nice to be moving on the code a little more regular so that hopefully we get to some of these improvements. Oh, speaking of, for peter speaking of things that we could delete if if kamal 2 is in really good shape and it would allow me to drop the entire lobsters ansible repo i would be thrilled about that if i could get the same functionality out of kamal because the big thing the reason i haven't wanted to move lobsters over to some platform as a service like heroku or railsway or there's a couple of these and i don't remember the names render.com is logs we don't have logs integrated into the web ui a lot of the stuff that i do as the admin of are these users sock puppeting means i have to be able to pull the HTTP logs and be like, oh, did somebody say send an invite, log in with the same browser and IP, redeem that invite, and then start uploading their first account's posts? Well, that's what sockpuppeting looks like. And I have seen that obvious where people like log out of one account, log into the next, log back out, log back into the first and, you know, upload each other with it. And it's like, okay, that's, that's real obvious what you're doing. All right. pitrapen so you ssh and grep?
So this one looks like he hasn't changed it. Why is there another PR? Yep. lots of SSH and grep, and maybe a year ago, I moved our logs over to be formatted in JSON, so there's also a lot of calls to jq in there.

02:15:22Okay, so this is better, if it's pulling it in from the .ruby version file somehow. All right. This is to be opened after this gets merged. Okay, so Rahul sees it as blocked. All right, so that's it for pull requests. Nothing has come in while I've been rambling the last two and a quarter hours and working through all these pull request comments. So that's the end of pull request review. Yeah, Peter, if you actually, if you look at the Git history for... Well, I mean, anything that mentions the word mod. But there was a lot of stuff like creating tags you could not do from the web interface. All of that was just done through SSHing it into the server. And then Rails has a REPL built on the Ruby REPL. And things like tag creation, tag editing, I don't even remember what else. I've been slowly building web UI for more of these things. I did a lot of that the first year or two I was the mod, just because I wanted other moderators to be able to help more. And I don't remember those details because it's been a few years. I am slowly moving more and more of that over, but it's not all there yet.

02:17:02I occasionally daydream about starting lobsters as a service there was a note about this you can dig back in the readme where i said hey if you want to start a web forum please email me because i'm thinking about taking this code base and packaging this up so that like you roll up with peterforum.com and i set it up for you in some way you know you point the dns over to me and i'll host your forum for you i talked to a bunch of people who wanted to start forums and there were two big problems to running it as a business even as a business with very low margins as most hosting businesses are the two problems were facebook and reddit are free so people were surprised and like shocked by the idea of paying even a nonsense low fee like five or ten dollars a month to host a forum and at that point if people are shocked by the idea of paying five or ten dollars a month you can't i mean ten dollars a month you can't run a functional business and then the second part what that was a big problem was also the people who showed up had no idea what went into running a forum And especially starting a forum, because forums start with a big chicken and egg problem where no one has ever heard of you. And even if they have heard of you and they visit, no one wants to spend time writing a comment until they know other people will spend time reading a comment. And I kind of asked the question in a few different ways. And they just didn't know what was going to be required to start a forum. And so the prospect of, well, I could get a steady flow of signups, but they would yell about it being $10 a month and then fail after two or three months. And I would feel bad for taking their money because if they thought $10 was a lot, they probably couldn't really afford it. then i would just watch them fail over and over and that would just be sad i still may come back to lobsters as a service because i love online communities and every one of the features that would improve lobsters for that most of them would improve lobsters our site stuff like internationalization lobsters is going to stay english only realistically but Better admin and mod UI. That would be nice. It would have been very nice if I could have had a full-time thing that was basically subsidizing spending time in this code base. Stuff like this would have been done years ago.

02:20:19I hope that answers your question at length.

...28pitrapen it does, thanks!
so next i need to break a feature actually since we're to break i will reiterate that this is lobsters office hours if anybody has any questions about the site or the code base feel free to throw it in chat at any time and i will try to answer otherwise i work on the code base and there is a archive for this stream if you are curious to see more there's a link right under The twitch player on most of the twitch things like if you are looking at this on. apple TV. I don't know that you can see that link but whatever. Alright, so disabled so the UK footer that we've added we do full page caching and I just realized this two days ago that, because we do full page caching. There is a luck of the draw thing if you're logged out where you will see the footer or not based on whether whoever happened to fill the cache. Because we just do the... It's not a... What do you call it? We don't pre-fill the cache. We just dogpile the cache and it works out fine for our scale. Yeah. That actually didn't work fine for a while until I did some performance stuff in... 2018 it used to be that if we had a very big and active and deeply nested thread so say a flame war and then someone like hacker news linked to the middle of the flame war because they like that kind of regating the site would start throwing 502s and get exhausted because we had performance issues there and the full page caching helped and then i was able to build out some other stuff for it so now we're going to disable full page caching soulcuttr I've been a part of some deep threads before
Because I would like to actually I would like to actually be really sure that. Let me just make another. Make another terminal. I would like to be really sure that the UK users really the UK readers, whether or not they are logged in users, I want to make sure that they are seeing that footer. I guess the other way to go would be. to say that if you are a reader, you never see the footer, even if you're in the UK, but they're going to be affected, even if they can't participate in the thread. I have had people email me, actually twice now, who were not involved. So yeah, let's error the direction of making the footer more visible. That's why I made that an announce post, is it's going to suck real bad on March 16 if I have to block the UK. So...

02:23:38So where's the full page cache? There's assets, avatars, and use cache. So I would love to say bypass if user is in the UK, but I did the geo blocking up in the Rails app rather than down here in Nginx. So I think I probably just want to comment this out.

02:24:16Yeah.

...33soulcuttr Have you seen https://getfullyear.com/ ? Hilarious
Have I seen getFullYear.com? No, that's a new one on me.

...42soulcuttr it's a footer copyright year thing
One T. You know, the funny thing is, I think since like the burn convention in 76, you don't have to name a copyright year to be protected.

02:25:13It's very tasteful that this is a, you know, like a rest API rather than a call to the date time library. there you go. Enterprise. No, the better, the better version is if this is call us pricing, instead of being unavailable, you have to contact the sales person. Cause that's how it always is with enterprise pricing, right?

...46soulcuttr that would make the joke even better, yes
That's very cute. Soulcutter, you should see if the source for that is up on GitHub, because it feels like it might be. If it is, you have my permission to just completely steal that joke without credit and PR it into their code base.

02:26:24soulcuttr "By using our free tier, you agree to console.log our sponsor message." lol
That's all I have to do to disable it.

...34soulcuttr at the. bottom
Yeah. Is that in there? I missed it. That's great.

02:27:13soulcuttr their footer also says "© 2021 getfullyear.com. All rights reserved."
So the primary thing here is I want the UK users and only the UK users to see that footer warning. The other flip side of that, though, is full-page caching is not how Rails does things anymore. They have this thing they call Russian doll caching or fragment caching or nested fragment caching. And as we are moving towards solid cache, this full page caching was extracted from Rails and yeeted into its own gem maybe six years ago. And I don't think that gem has had a bug fix even in the last two or three years. It's very stable, but I get the impression it's pretty much unmaintained. So this is a nice performance test because if turning off the full page cache starts causing us issues, we'll know it pretty quick. Right now the website is well over-provisioned. Soulcutter, that is an excellent, nice touch that their own footer date is wrong. Thank you. All right. Man, so Peter, you were just asking about turning off features. Here I go, turning off the feature.

02:29:07Right. Helps to add files, not just do the thing. All right. And then. Any reason not to deploy? I did just merge some other stuff. Yeah, let's deploy. And I need to get rid of that tag. OK, I thought. oh so i have worked as a professional python developer i made a full-time living as a python developer for something like five years of my career if you ran it all together and i cannot keep a python development environment working on my machine and i cannot use tools written in python reliably and i whined about this in public on blue sky a week or so ago and someone pointed me to this tool called uv that is has a mode just for running tools written in python it like makes isolated environments for each one And so I set it up and it worked great for the one or two tools that were like pip install, whatever, which never works for me and never stays working for me more importantly. And I guess when I installed that, I don't even know what it's mad about. Cause I didn't delete this virtual end, but this virtual end for Ansible has kicked the bucket. All right, so let's see if I can get this to work. uvx tool install. Oh God, now we need to know what version of Ansible playbook are we using because dash dash from Ansible. I want Ansible playbook.

02:31:29That's all right. It's confused about what I want. So now I, I think I just say tool install Ansible or no it's UV tool or UVX. There we go. All right. You're thinking about it installed one executable Ansible community. That's not promising. albynton If its only virtualenv you need, do you know that pip can do the same too (with the pipx command)
I said, I want. the ansible playbook tool no so albinton that's what i used to have and has just silently blown up since the last time i deployed lobsters a few days ago and now so this this is what pip and pipx get you and i'm

02:32:33Put that back. Is this the playbook? Oh, this is all right. albynton I have to confess I never used pipx before
So this shell is just fucked because I tried to use virtual in which is fitting. All right. So I run this command. I don't even know what this package is supposed to do.

02:33:07So if I take my command, this isn't going to work, right? Because I don't have this Ansible playbook command. And it's not the, so what is Ansible stocks?

...33Control node.

...42That's right, but how do I actually do it?

...50There's Ansible core and the much larger Ansible. I know I want the full thing, which I thought, yeah, use pipx.

02:34:21pitrapen let's do it!!
maybe i'll move over to kamal today on stream so it's funny like i've put in a ton of time to try and keep dependencies small and this is this is the reason i want to move to prop shaft is i moved prop shaft i get to drop node.js out of things And then along these same lines, if we move to Kamal, I get to drop Python out of things. And I have enough fun keeping a Ruby. Actually, Ruby doesn't give me a hassle. And some of that is experience. Like, it's the primary thing I've done. And I've spent the most amount of time in it. So it gives me the lead hassles. But also, I just don't get the awful hassles out of it that I do with Node.js and Python.

02:35:35Let's do the easy thing. Someone talked about it.

...46Install deps. Hey, look, this is the exact bug or limitation I'm running into now. So Ansible has split up their Python packages in a different way. so that the command line program that I'm trying to find, the playbook command, is in some dependency. So if I can figure out what that dependency name is, it must have a dependency on the core, right? Oh man, this got good first issue. UV is playing at a much higher level than the lobsters repo. aha ansible ansible core provides 11 executables including for example ansible playbook well okay if that's if that's where it is can i just actually wait why don't i read down to the end of the issue and see if it's already fixed oh good don't load it or anything dash dash width How funny that I was like, hey, wait, Peter, you should actually read the whole issue. And then, like, literally the next thing was the command I want. So ansible or from, no, with. Ha, ha, ha, ha. Wonderful. This UV tool is, I'm repeatedly impressed by it. Hey, we're deploying.

02:37:31albynton it fast wow
oh we're not deploying the so there's a whole thing oh yeah so uv says i already told it to install ansible that one time it's hanging around in its cache and then adding the one thing and you know these 10 sim links or whatever was just instant so this pseudo password thing There's a whole thing with... I put it in the readme, didn't I? Yeah, it was write a script that calls this become password thing. And it should have prompted me for the root password.

02:38:28albynton i regularly see pip taking 5 seconds to install cached packages
Yeah. frici yeah no prod creds on stream lol
so i'm going to debug this one off screen a little because yeah literally the first thing i tried printed the prod root password to stream so good thing i didn't call that but why didn't ansible immediately use it oh i know why because we just installed the latest version of ansible and they love breaking frici yeah ansible is notoriously annoying on that.
auth stuff in every release in my first stream or two I think I did mispaste something and I like rolled a key it's been a minute though so it's this in Ansible CFG there's this become password file and I bet if I look it up soulcuttr maybe roll keys after every stream heh
It's going to say that that's deprecated and removed in whatever the current version is and you're supposed to download the ansible enterprise version. there's. Especially around things. That are auth related there seems to be a lot of churn and ansible and i'm griping about ansible but also. Ansible is much, their default expectation is much, much bigger than you have two VPSs. I think their default is if we had 20 or 200, it would be a better fit. We use Ansible because we had an expert user who did use it on hundreds or thousands of hosts, but he hasn't been involved for years. So it's just me maintaining it. And since it's overkill for us, yeah, there's no warning that it's deprecated. If executable.

02:40:41It is executable. Why did it stop working? frici pretty sure it's not deprecated yet CaitThinking
Who knows? All right, so we have version 2.18.1. Yeah, it doesn't look... I wonder if... So what I'm wondering is if I go here into the virtualenv that should still be sitting on disk. Yes. Can I figure out from this virtualenv what version of Ansible I was using until it blew up last week? Okay, so it was Python 3.12.

02:41:36No version here. Anybody know their way around a virtual linf directory? I promise I will not force you to maintain my Python install if you reveal that you know Python very well.

02:42:06dr3ig pyenv which <exe> should show where it is
so from playbook i wonder if it'll be in the path nope well so drag that would work probably if this environment was working right but we already saw that i can't load this environment

...31Here we go. Ansible collections. They didn't put the version number in the directory. Can't read with that wrapping.

...46Yeah, so I've got 3.11. dr3ig how about pyenv local 3.11 and deploy
And at some point, because the system updated to 3.12, this reinstalled everything to 3.12. God, this virtual env is huge. 1.1 gigs. For a thing that runs SSH scripts.

02:43:09Pyen, command not found.

...19Pyen, command not found.

...28frici wouldn't uv have a note of it somewhere if you installed it via uv ?
I can't ask it its version.

...41Well, so Fritchie, the issue I think I have is that, yes, UV installed it, and I know it printed the version it installed. This is the virtual env I was using last week, and I want to know what version I was using so that I can tell UV to match it.

02:44:08Shouldn't there be a file that lists all the packages that are in here?

...22Let's go look.

...28Because I suspect that whatever that breakage is with the UV version of Ansible, it's caused by me using a six-month-old version of Ansible. And I would rather bump back a version than try to roll forward onto the current version, especially because the thing it's mad about is how it's sudoering up. And as soon as I look at it, it prints the root password to screen, which is no bueno.

02:45:16Doesn't one of these metadata files say the package version? Guess not. Version file does not contain the version.

02:46:12frici oh in that packages folder you looked earlier core is noted there as 2.16.6 and ansible as 9.5.1 which indeed are not current
frici unless i misread i glanced between seeing something else
So I'm going to make a new terminal where I have not attempted to load the...

...29In that packages folder, it said 216.6. so then if that's the case good eye thank you and where's my uv command so let's uninstall ansible core reinstall ansible core at 2.16.6 with ansible And now, now it works and we're deploying. Yay. No, we're still getting the incorrect pseudo password. Damn. I had like a moment of joy there, but it's acting like it's working like all of these things that should not be able to do as the lobsters user. So just this one thing broke?

02:47:56frici it failed on the db not the web
frici so yeah its skipping all web tasks
I wonder for how long it's been printing that warning and it's gone in all of the Ansible spam. It failed on the DB, not the web. Oh, they would have, that's... Well, then maybe the latest version even worked, and I just didn't see it, because I stopped it immediately after that.

02:48:34Well, thank you for your help. I appreciate all the kibitzing, on this one especially.

...49So it's going to do this, and then after it, it'll get it into the NGINX config. And then as soon as the NGINX config is in, it's skipping the web tasks. Oh, I see what you mean. Yeah. Okay, so you're saying you failed on db but passed on web. Yeah, well, and skipping is the right thing to do here because nothing actually changed. And then do I see... Come here. Do I actually see nginx in its output?

02:49:39Yes. And it does list that one as changed, and it does say it bounced nginx. All right, so... That should have correctly turned off our full page caching in prod.

02:50:04and where's my browser well and we are still up which is promising and as a logged out user in this browser i should be hitting the full page cache i mean you know i would be or would it on is anyone here in the uk would you like to see if you see the footer on the page I promise not to yell at you about your government's choice of law authorship. But I would like to know that the footer is working and visible. soulcuttr 👋🏻 have a good stream! I'm off
So if someone says, I'm on a UK IP. Oh yeah, that's actually it is. If you have a VPN for perfectly legitimate reasons that allows you to choose your region to browse from, and you can set it to UK, that would also be good. If not, I'm just going to assume it's working because I don't have that to test with.

02:51:40Alrighty. Well, my Rails logs are going to get a lot bigger. With the full page cache, Nginx doesn't even hand it off to Puma. So when I say Rails logs, I mean like the Puma logs, they do not include hits that do full page caching.

02:52:07And there's a lot of arguing over UI and what to call things. I got the command I wanted. I've been super impressed with UV in the couple of days I've used it as someone who just wants to run a few Python tools. Not only is it wildly fast, it has made it possible for me to keep this stuff running for more than a minute. So fingers crossed, it's great long term. The real proof will come when my Linux distribution updates its Python install.

...48Because that's what broke the last couple.

...58Well, so... The stream time is running around two hours, 50. I usually target around three hours. frici Glad to see you feeling good about uv. I was unsure about it. but now I have at least one testimonial to make me actually consider it LUL
So I think I'm going to wind down here and give the last call for anybody with questions about the site or the code base, or why did you make that moderation decision? Why did you call that self promo? What even is self promo? Wouldn't it be cool if. Hey, I have this idea for new UI. Now is a great time to talk about it. Yeah, Fritji, I wrote a little more about it on Blue Sky.

02:53:45So let's go to my profile, which, no? You don't want to? There we go. You put a lot of JavaScript on your site, this kind of thing happens. So where did I talk about this? pushcx https://bsky.app/profile/push.c…
Ah, so Derek here is an old coworker from the Washington Post and he suggested UV. Several people suggested it, but he was first. And I was just so blown away with how fast I could install a Python tool and then frici I should probably follow you on bsky 🤔
The one that had broken because Arch started shipping 3.13 and the package wasn't fully updated for that yet. You can if you want. I'm more active here than Mastodon because the UI is nicer. I've thought about it a lot, and I want to say it's for some big principled thing, but it's just... It all actually works. where mastodon is kind of flaky for me my favorite thing actually the big feature difference there's two for me the big feature difference is being able to quote post so i can give derek credit and highlight his post like this you can't do the quote tweet or quote post whatever you want to call it on mastodon and i realized That they did that so that people wouldn't dunk on each other. But I always do it because I want to yes and each other. Like, check out this great thing. And I can't do that on Mastodon. frici Yeah I feel that
And so like reading Mastodon is this endless frustration of, oh, I have something neat that I want to add to your post and then promote it to all of my followers, however many there are. And I can't do that. And then also Mastodon gets a bunch of accessibility settings wrong. And that frustrates me. cause it is not accessible to me. Yeah. All right. So the other post screen thing is ping the Ofcom intro again. Well, just ping it for the first time.

02:56:25So I will do that. I'm going to stand up, stretch, get a new glass of water. But then I am going to ping them immediately because they are six hours ahead. And so for them, if it's 5 p.m. for me, it's 1 a.m. for them. So then I'll be top of their inbox when they come in on Tuesday, right? Ha ha. We'll see. They're busy enough that they presumably get plenty of email between 1 and 9 in the morning. But Fingers crossed. All right. forstpenguin Thank you for the stream :>
So thank you all very much for hanging out with me. It has been fun chatting about this stuff and responding. I especially appreciate all the Python help. I am happy to have gotten to deep dive some Lobster's features we had but no longer have. what few there are, although mostly it's been that philosophy of leaning more into Rails features as it incorporates more. As much as I gripe about things like pluralization in Rails and some particular matters of taste that come from a guy with an expensive haircut, I really do enjoy in Rails how they solve common problems sometimes very well. frici btw For the post stream bit. make sure you have the browser plugin for OBS installed and are on X11 (which I know you run awesome so expect you are on that) custom docks don't work on wayland yet (happy CEF fun)
very very well so well that it's even hard to remember how much time i lost writing it in php in 2002. well anyways i hope that continues oh yeah forced thank you for for dropping in it's always nice to see new folks i hope to see you again on future ones and if you want to talk about rails or the site comment anytime

02:58:21Oh, so Fritchie, on that one, you know, it's been a couple of months since I looked, but I'm running Arch Linux, and Arch Linux doesn't package the OBS browser plugin. And almost all of the, yeah, so there's the package, and then here's someone else who's been frustrated by it. There's this other thing with CEF, and so this post is years old but even currently like if i scroll down here even currently there will probably be someone talking about how it doesn't include that package and i saw that and i went well i don't want to get involved in that oh well here's someone claiming that maybe now it's packaged oh maybe i'll revisit because all of the like clever stream stuff of like so-and-so just followed you. frici the AUR package does show it i just saw you scroll through it LUL
Everyone builds all of those things on the browser plugin because you get so much stuff out of having a browser engine like fonts and color and layout and, and, and, and. I just scrolled through it. I'm so used to it not being there. frici deps on the bottom
And I do subscribe to the RSS feed for this. So I must've just missed the update that reintroduced it. Depths on the bottom.

03:00:05frici err provides* not deps
Oh, obviously I'm looking at the package for Studio Browser more than just Studio. I think I'm using a... Oh, this is AUR. There is so much code in OBS and so much drama in Twitch that I'm a little reluctant to take a package out of the AUR. What package do I have installed?

...42I'm gripping off stream. So I have the OBS Studio package installed. frici Yeah i wouldn't run the AUR package without checking explicitely what they patched
And the Word browser does not appear on this page. What if I show more?

03:01:09So this is, this is probably the difference here and I don't. Yeah. Just well, OBS is huge because it does audio and it does video and it has a browser install and, and, and, and so. frici Yeah OBS is massive
The diffs are all going to be much bigger than I can keep an eye on, and I don't want to have to keep reviewing them. OBS also revises frequently, like it is a very active project, and so I don't want to have to dig into every innocuous, you know, and realistically, one of the accomplishments of AUR is that there is very little malicious software in there, I think. I've heard a reference to the possibility, but I don't know that I've ever heard someone complain about backdoored packages.

03:02:14pushcx https://bugs.archlinux.org/task…
Yeah, so here's their doc that OBS does not provide this.

...30So I don't know the state of this. Oh boy, it's actually won't fix instead of not done yet. Yeah, so it is a huge project. It is very hard to package, I assume. I am not going to second guess their choices, even as it's a little inconvenient for me. It looks like the last thing here is that they've punted and said, Get it from AUR if you wanted it. But it's hard enough to do that people are not doing it correctly is the implication of this last comment. So I don't know. It's just a tough situation. And all of the packaging is volunteers. And when I see people doing this stuff as volunteers, I am receiving a gift from them. So I'm not going to complain that the gift is not nice enough. Oh, it's a good gift. It's just, you know, it could be a better gift. I don't want to do that. That would be rude.

03:03:41So maybe someone will come along at some point and sort that out, but it's sure not going to be me. There's a whole heck of a lot of base info that I don't have, and I have plenty of demands on your time right now. frici 2021 was also before the browser bit was official as well iirc 🤔 but I haven't followed how arch is packaging it
Maybe someday. Maybe when this pull request is a lower number and issues is a lower number. Hint, hint. Oh, really? Yeah, I don't know the history of the OBS project, let alone the browser plugin, that kind of stuff. You definitely are more informed than me on this one. you know anything about arch packaging honestly maybe it's worth spending a half an hour to experiment to see if you could add it because if it's robust and reliable maybe they would be open to reconsidering i i obviously i mean you saw how fast i scrolled i obviously didn't read through that whole bug history but i didn't get the vibe that they were ideologically committed to doing it it sounded like it was a matter of practicality So perhaps at some point, you or someone else will have the free time to take it on. Fingers crossed. frici I might have to take a look tbch. it does surprise me its still on AUR
In the meantime, ending on the note that Linux and the web is a beautiful gift economy is actually a really rewarding place to end. Thank you all very much for tuning in and chatting. frici also no warning for UK on the footer apparently
frici I just grabbed a UK user to test LUL
You can feel free to email me or grab me on IRC if you have questions you think of before the next stream, which will be Thursday morning at 9 a.m. Chicago time. Alrighty. Take care, folks. Oh, you just grabbed a UK user? Well, if they can load it in like 10 seconds, because, you know, thumbs up, thumb down. Is there an ugly red box at the bottom of the page? I can hang on a second. It's funny. I had the mouse over the button in OBS to stop streaming.

03:06:05I'll give you a sec. frici I can ask them to reload or try to check a page then home
I bet they responded to your signal message and then they didn't respond to your next one. And now you're like, oh, goddammit, now I'm on the spot. Because if it was me, that was exactly what would happen. I know exactly how this goes. Yeah, they don't need to reload. Just every single page should have the ugly red, hey, UK user, we need help. So if they load any page, they should see it.

...47If anyone's curious. Actually, I mean, you might be curious, but if you need to describe it better. It looks like this.

03:07:09You know, I think you're in the IRC channel, right? frici I am not in the IRC channel actually no
If you are, and this person in the UK is taking a minute, you are not, dang. Do you mind throwing me a DM on the site about whether the UK user can see it? Either way is helpful. Or I can just go ask in the IRC channel. There's like 700 people in the IRC channel. It's late UK time, but probably somebody is still up.

...54frici I can throw you a whisper here yeah
Oh, I bet I forgot to push the ansible. A whisper here. Yeah, anything works. Yeah, I forgot to push that. All right. Cool. All right. I will look forward to that. Thank you. Thanks, everybody else, for tuning in. See you Thursday. Take care.