Two evils, no crime, no sin

Streamed

Reviewed several PRs improving Lobsters’ codebase, including CSS fixes from chamlis_ and notification refactoring from Thomas. Discussed our ongoing work to make the site easier to deploy, potentially moving from MariaDB to SQLite. Investigated a strange report of corrupted text in autosize.js that turned out to be client-side. Showed off the dramatically faster deploy times with Hatchbox (66 seconds vs. several minutes). Shameless plug for ReCheck.dev, my upcoming tool for validating production systems.

scratch


topics
  PRs
    StoryRepository.saved https://github.com/lobsters/lobsters/pull/1620
    every timed job https://github.com/lobsters/lobsters/pull/1619
    after_create hooks -> notify job(s) https://github.com/lobsters/lobsters/pull/1624
    current_page classes https://github.com/lobsters/lobsters/pull/1624
    remove unknown cookies https://github.com/lobsters/lobsters/pull/1624
  strange corrupted text reported (live!) in autosize js

next stream
  logrotate :(
  test with email rep service
  HSTS
  hatchbox notes

recheck.dev example of redirecting urls
  www.lobste.rs -> lobste.rs
  lobsters.dev -> lobste.rs
  www.lobsters.dev -> lobste.rs
  http://www.lobste.rs -> https://lobste.rs
  http://lobsters.dev -> https://lobste.rs
  http://www.lobsters.dev -> https://lobste.rs


title
  Two evils, no crime, no sin

post-stream
  https://docs.soda.io/
    

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

Recording



03:53chamlis_ @pushcx hot mike
Whoops. Well, probably not anything too exciting, especially near the mic. And I'm getting started anyway, so howdy. You probably couldn't even hear anything from the other room, but I'll double check.

04:16Alrighty. Well, howdy. It is Monday. This is Lobster's Office Hours. I'm Peter, or PushCX. And we are working on lobsters, or I am. So this is open time that anybody can drop in to chat about anything on the site, whether that's a little footer didn't go live. Let me take a look at that. Whether that's, hmm.

...57I bet that script broke again. So I, this script broke since the new arrangement of files. All right, so it's say, lobsters, touch.

05:26Just getting everything sorted. Office hours live.txt.

...39And sometimes that means I'm tinkering with stuff off stream. In this case, though, I can show you it is just some kind of path issue. So current temp Oh, it copies it into a shared temp. Huh, I don't think I noticed that about the HatchBox setup. So HatchBox is this new deploy provisioning tool that we pushed out in the last week or so. And it arranges things a little bit differently. So let's look in this folder. Okay.

06:30And now, all right, so it's just a path issue. And the path is home deploy lobsters shared TMP office hours live. And I have to make that change in the other one to get that path right.

07:02Yeah, I'm slowly, as you can see here, I'm slowly getting moved over to this EXA. EXA or ESA? EXA. So there were two of them. But it's an alternative to LS. It has slightly nicer colors and output. But changing a two-letter command that I've used for 30 years is a little bit of muscle memory. So it's happening. Anyways. Nogweii sup
So this is lobsters, the site. pushcx It's Lobsters office hours, ask questions anytime!
If anybody wants to ask questions about it, it's lobsters office hours. Oh, hey now, right? Throw this in the chat for people who scroll up. With nothing else, unless somebody immediately asks a question, I have a couple of topics lined up cause there are pull requests and I have a log rotate bug to look at Hunter gave me an email rep service. I should double check on that. I'd like to re-enable HSTS and then maybe I should work on the Hatchbox notes and there's no way I'm getting through all of this in the 60 minutes I have available to me, but we'll see how it goes. pushcx https://recheck.dev/
Which, why don't I do a shameless plug, right? So shameless plug is I have less time this month because I am trying to ship the beta of recheck.dev and all cool people in the world have signed up to the mailing list to hear when it's available and you should too no in seriousness it's it's really coming together nicely it's a tool for making sure that things are happening correctly in production whether that's valid data in the database or valid records in dns or Actually, we had this with deploying lobsters, and I wanted to use recheck, and the beta wasn't ready. So if you've ever set up a server, so we have lobsters as our primary domain. Well, we also have lobsters.dev. That should forward to lobsters. But then there's also www. of lobsters.dev that should also forward and then that reminds that dub lobsters that should forward and then all of this is duplicated because http should forward to https and at some point in like editing all of these things and like testing them with curl or testing them in the browser one at a time you realize like you have fixed the last one and broken the first one. And if you have ever had to write mod rewrite rules for Apache. Some of the first checks I wrote outside of Stripe were for my personal blog to make sure mod rewrite worked correctly. dlamz is it along the same lines of soda or great expectations or something else?
Whereas if I had made a little check suite for that, I would basically have six little tests and I would have green dots or not. It's close to great expectations. I don't know SOTA. What language is it? dlamz soda is SQL checks in yaml
yeah library isn't going to find it so it's such a generic term i'm going to need something more so grid expectations is kind of more for fuzzy quality issues and this one's more boolean sql checks in yaml so i haven't heard of this before soda all right so it looks like this

10:59This is somebody's fork. Let's start at the docks then.

11:25Well, there's a couple of commands that have never worked for me reliably. The UV Python tool is very nice. Nogweii deprecated and switched to "Soda Core" hrm
Docker, OK. Config. Write some checks. This is very similar, yes, DLAMs. This is solving similar problems.

12:07Thank you. I will have to check that out later.

...21All right. So let's go jump over to polls. Yeah, I'm skimming right over that organizational stuff because I don't know anything to know what the change means. All right. Okay. Great. Bunch of pull requests. Two new ones I don't know. Well, Chambliss, I saw you talk, so let's start with yours.

...58Okay. So it looks like you squashed everything down or force pushed everything. chamlis_ no changes since then, no
this guy was pretty much ready to go unless you've changed something since i looked at it a day or two ago what's this or new user in the set do i don't remember a or new user

13:52chamlis_ the @new_user change is explained more in the PR description
Oh, I missed it.

14:04Oh, interesting. I don't think is it the

...20What pages would they be entering Markdown on?

...32chamlis_ it's for their user description on the invited page
Because I don't... Oh, the bio is... Huh. That's all right, so this is another bug that the field says so this isn't your bug clearly this is mine because it's visible on the left that the about is optional, but then the classes required. That I wonder if that's just a styling thing to try and get the.

15:08yeah it gets a bold heading and that's it it's pretty subtle all right so it's it's strange to read but harmless i guess all right well i think that's a good way to handle that thank you i also thought that So I thought the markdown help toggle, I thought that was using the checkbox hack. I guess not. So in the chat room this morning, someone was asking about browsing the site with JavaScript disabled, using the site with JavaScript disabled. And they noticed that upvoting didn't work. And that is one of the few things On the site that still requires javascript right now and I said wouldn't you like to fix that and they expressed an interest in doing so. So apparently. Applying the checkbox hack to our markdown help is going to be part of that, because this should either be at this point, it should either be a details and a summary or. The checkbox hack cool. Well, nice cleanup. Cleanup never ends, but it's good to have. All right, so the read only. Never mind.

16:56Got to cut the noise a little.

17:08hmm so channels you found one of the features that hasn't been on in years of invitation requests. The sister sites tend to start with an enabled if not open signups but open signups will get you bots unfortunately.

...47This is great.

...54Cool. Yeah, this is just the login page. Everybody looks the same.

18:20Looks really sharp with the help text under there. I like that a lot.

19:08Nogweii oh sweet spam
Alrighty, cool. So get that merged and then. Yeah, speaking of bot signups.

...48Oh, but I can't join because they think my cell phone is using VoIP, which is of all the nonsense. Or not join, get an API key. All right. pushcx https://github.com/lobsters/lob…
All right, so I had wanted to show off that there were two more pull requests I merged over the weekend because they were short and I had a half an hour and I saw and I didn't want to wait on them. One of them was this one around refactoring the repository saved method. So this author, Nav Mike, has been doing a lot of this kind of You know, it is spiritually similar to what Chamelis is doing with CSS cleanup, where we did things the old way, but now all of our dependencies have improved. So Chamelis' stuff can take advantage of newer CSS features, and NavMic here can take advantage of Rails scopes being so much better now. And then on this one, pushcx https://github.com/lobsters/lob…
This is also a, our dependencies have improved. So that is kind of the theme of the week, I guess. I swear, it's been the theme of development for six plus months, actually. I've been leaning into this stuff for years, but it's been a lot of the work over the last six months has been getting rid of our custom hacks for stuff that is now better supported. And so one of them is Solid Q has now become very stable and Hannah Vivian Shaw here has been making a bunch of PRs to move time jobs over to or i'm sorry cron scripts over to time jobs and so she's done a bunch of these she's even worked through bugs she even she had a small pr against the lobsters ansible repo as i was unshipping it and i had to apologize for accidentally wasting her work which i really care about not doing because i value contributions so much i felt pretty bad about that which I guess is why I'm explaining it again. And then, so this stuff is all great. I mean, they're small changes. Most of them are small, but they make the site so much more reliable and testable and easy to set up. So one of the unexpected benefits that is not... So I'm a giant forum nerd. I think there should be online communities. I think they're wonderful. I love when people set up sister sites using the code base. It really warms my heart. If I had a magic wand, I would run lobsters as a service, but I can't see a way to do that that's not just a giant donation of my time that I can't really afford at the moment. But making the site much much easier to stand up with many fewer moving parts has been a really nice side benefit the last couple of months so i hope that through the back half of this year we see a lot more sister sites started on different topics so i think i think most or all of these checks have been bibshaw's work And then there is an open pull request now. I just saw that Tom, are you here? You're often here in the chat. So this is Thomas Jijack. I think you're just TD or Thomas D on the site. I don't remember all the different usernames people use for different variations. He's Twitch TD here in the chat. Oh, this is great. Hey, somebody else is learning jujitsu. Okay. Let's take a look. It's not labeled as a draft, so maybe it's ready to go. Ah, so when someone leaves a reply to your comment, you get a notification. And the way this is currently wired up right now is that there is a script that every five minutes does this mail new activity. And I think, so like now I'm thinking, so all the onsite stuff, like the replies tab, that's a database view that happens instantly. but then story submission happens on a, there's like a every five minutes kind of cron job. And that is nice because people often edit stories. They catch a typo where they think of one more tag. And so I set a five minute delay on that and comments because let people just make their fixes. We don't need to immediately email out their fixes or their typos. This is me. This is me, by the way. I constantly, post comments. And then like one minute later, I'm like, that's not even correct grammar in the middle there. And I got so hung up on the last sentence. I goofed the middle sentence of the comment and now it's incoherent. So basically I'm designing features. So I look like less of a dude. All right. This, this is gotta get split. This should be two different jobs. Because it's clear that it's doing the thing where it immediately goes, either you're on the left path or the right path, and then neither of them is going to call each other, I bet. So comment notifications calls deliver reply notification. And then mention notification. Yeah, so here's the mailer, the mentions. This is all stuff from the script. This is a big refactor because the script was a lot of straight line code.

26:42Yes, we got this, this, this. OK.

27:00Oh, and I'm not even remembering correctly. It wasn't being sent by this cron job. It's this after commit hook. Huh. Yeah, so if you ever wondered why... Epic_Ninja_Elephant Happy Monday!
comment posting sometimes stalls for a couple of seconds it can be because of things like one of these apis is moving a little slow and i don't i've never had to investigate pushover but various email servers are slow sometimes well slow sends it to this says deliver now but it goes into the post fix queue to get sent out so i guess it must be that pushover is occasionally slow ah hey epic ninja elephant nice to see you again ah great we're getting a start of a test that schedules the job oh this is this is pretty wonderful Because send new mentions and such has broken before. This is a lot of comments.

28:43This one makes sense, but this one is... All right.

29:04Epic_Ninja_Elephant I have actually been sneakily listening for ~15mins as ninjas do. Regarding sister sites, the backend is still only MySQL, right?
let's go so before i put my foot in my mouth because tom is an experienced developer what is the do either of these share any functionality so the back end is still only maria db but tom has volunteered that he would be willing to do the notification cleanup and this is the start of that and then work on a SQLite port. pushcx https://github.com/lobsters/lob…
So it's this bug 539.

...48Epic_Ninja_Elephant Oh nice.
So there's the, we've been kicking the idea around and he wrote up a very plausible plan to be deliberate about moving over to SQLite. Epic_Ninja_Elephant So many things really don't require a mariadb/pg backend.
And I have wanted to start getting away from MariaDB because they got sold to private equity. Postgres is the obvious choice. SQLite is the less obvious choice that makes the site easier to host, a lot easier to set up, probably has all of the functionality we need because it has things like a full text search, dlamz curious to see how concurrent writes would go
Epic_Ninja_Elephant Also, have you looked at litestream?
I haven't been able to, with a lot of searching, find strong performance numbers for sites, but I think we'll be okay. It's just I would like to do some kind of test, so...

31:11Nogweii litestream is very cool, use it in my homelab
Yeah, I've looked at Lightstream and one of the things that was encouraging about that was that instead of having a scheduled job that backs up the database, we would have something akin to a live replication log off to the backup service. That's very attractive to me because if we do a once a day or four times a day kind of backup, that's still hours of comments that we could lose that I would have to dig out of archive.org or dig out of logs if those survive, whatever the catastrophe is. So it'd be nice.

32:24Alright, so I think there's... I know this was all straight out of the script. Yeah, so I kind of don't want to ask for more. But this message one is just a totally different call graph. It just heads off in a different direction. Yeah.

34:49The other part of this is, and this is a limitation of my familiarity with background jobs, is whether to enqueue one job that does all of these, or one job per user, or One job per user per email or pushover. Let's call it channel, right? Many cheap jobs versus small ones. I guess if we enqueue many jobs, our email server is fine. Like it handles its queue very well, but pushover

35:47Nogweii It'll be based on how you want to schedule the workers.
We really only have one worker with a couple of threads, so we're not meaningfully changing how we hit their API. And they're welcome to set up their own. Yeah, I guess I'm just overthinking it. This is my unfamiliarity with jobs. All right.

36:10Yeah, I'm not going to ask for refactoring that part because it's fine. It's straight out of the other job.

...38Nogweii Many different kind of jobs lends to being able to prioritize certain things, dedicate workers to specific tasks, etc.
yeah and you know it's sort of funny because almost all the priority for almost all of our jobs is nice to have they're not super urgent because you know we're not a business all right so let's look at these two pull requests which i didn't So copy link, I didn't put in the notes.

37:27And then one, don't ignore others, remove unknown.

...39So this for the notes.

...47So I'm guessing just from the title and the fact that I don't recognize it, that you spotted some kind of a bug in our CSS.

38:05I guess she's not actively watching. chamlis_ if you go to /login on mobile you see the link twice, yeah
I think it might be her work day around now. So let's take a look. Slash login on mobile. OK. And then what is it? Shift Alt F12, Control Shift F12. I can't remember the key to. What is this? Control shift M. Why was I thinking F12?

...47Yeah, that's my bug. Oh, and this is, I got to deploy your fix for this branch here. Hang on. This is going to be so satisfying. I'm still over the moon about how fast things deploy now. I tweaked my script I manually edited my little vibe coded script and I told it to sleep for 15 seconds before it starts polling. Because deploys have been taking call it 27 to 35 seconds, so I figured like why even bother pulling for the first 15 you're never going to see anything.

39:38oh long deploy i guess i pushed a lot oh no it's the because we touched css recompiling the assets takes a couple extra seconds so this is i guess this is going to be about the longest deploy i've ever done on hatchbox it will print a final time Nogweii do they have some sort of web-based UI to monitor the deployment?
Epic_Ninja_Elephant counts the dots anyway
don't have to count the dots all right i'm getting nervous now this is a lot of dots we're still up okay there we go wow 66 seconds so the longest deploy i ever saw with hatchbox is less than half of the shortest deploy i ever saw with ansible Look at that, look at that username field. Thank you, Chambliss. Everybody sees this, because there was the doofy was hanging out here. Nogweii @chamlis_ ftw
That's probably my CSS bug too. This is getting so much nicer. Yeah, she's killing it, crushing it. Other positive things that the youth say. chamlis_ VoHiYo
So she's caught another bug.

41:00If current equals path, let's make this a little wider. That is a great emoji. chamlis_ is that an appropriate emote, I have no idea about twitch culture
I don't know who that is, but I like that it's a little person with a wrench. So it adds the class for the current. Yeah, you know, I'm not going to get you about it. I just see a cute person with a wrench. You fix something. It seems legit. I hope it doesn't have some connotation that's horrific. But with Twitch culture, you're kind of playing Russian roulette on those, I guess. All right.

...46What is this classNames function? That's not ours, right?

42:03Epic_Ninja_Elephant I have no idea what 99% of emojis are supposed to be. I stick to the heart looking ones.
Alias for token list.

...12PudottaPommin @chamlis_ if you ask nicely, you can find someone to flame your for the emote Kappa archiv32Celebrate good evening
Oh, yeah. My favorite is the heart with sparkles. It's extra hearty.

...23Epic_Ninja_Elephant LuvHearts <-- this one feels safe in most situations.
Find someone to flame your for the amount. all right well thank you for the advice pudota one two three so if you give it a list of anything oh i get it okay so if you give it strings it turns them into the set of unique strings that if you give a hash have Truthy values? No false. Yeah. All right. One of those little plumbing things. Hadn't seen this one. So we're taking, so you're handling dupes. If current path, current page. Oh, I get it. Oh, that's clever. Good fix. Review. Approve.

43:57chamlis_ I was very chuffed to find that helper, was going to write splits and joins myself and thought "rails surely has something for this"
yeah you know i think on the last stream i was talking about that instinct of surely someone has solved this problem and rails one of the satisfying things about it is there are a lot of those little kinds of plumbing so i've been i played in lua some and there's i am sure there is some like equivalent of ruby's innumerable that i haven't found yet but it feels like i am suffering minor paper cuts by having to do all those myself all right so there's that and then this one oh yeah this one so Shubham submitted it two weeks ago and I wrote a review and I did it on stream and then I wrote a comment instead of hitting the finish your review and put the comment in that box. So I got guided by UI. We were very confused for a minute and now Shubham has taken on. pushcx https://github.com/lobsters/lob…
These changes. Which I mean. I'll share the link so anybody can read the PR. All right. Where are the old common? Yes.

45:31So this one in application control. Yeah, I was puzzled by that.

...40Yeah, so there were a couple of minor changes and then. All right, I click start a review, so let me not make the same mistake twice. But the fact that adding this line didn't fail the build says we need a test. Excuse me. All right, so. You know, speaking of little Rails enumerable helpers, there might even be one for this. This little expression here on 69 to 71. But I'm happy with what we've got here.

46:52I know we could use it in one line or this, but still, it's a very clear expression of what we're trying to do. OK, so we use the nil propagation operator.

47:15Good. Yeah. Okay. That's... How did this not fail the build? I wonder if... I wonder if we don't have a... Oh, there we go. It did fail the build, huh? Can't modify frozen array. What? That is not at all what I thought we were going to see. I thought we were gonna see something in the like login controller.

...59Bundle rails helper.

48:08Nogweii what's trying to edit the require path? o_O
What even is this?

...16Yeah. OK, so there's nothing here. What's the next part of our code that's touched? Rails helper environment. This is a weird one. This is an inconvenient one because we don't have an actual line of code in this traceback. We started the test. And config environment.rb, that's the file I just had up. It's just a little start the app.

49:00That is a weird build failure.

...12An error occurred while loading this. Failure. PudottaPommin what are the odds, if you run this gain, you get same error
yeah before process action callback clear session cookie has not been defined so that one is his error but then like the bit packing spec fails yeah i don't know

...43That is so what if I just tell it to build again because that one is so strange and clearly it's so long that every single test in the code base failed kind of So whatever that config is.

50:09Watch, we're going to go down an awful rabbit hole, and there goes the whole hour. Oh my god, it's already been 15 minutes. Time flies when you're having fun. 45 all right, because I there's a stream warm up practice of you start the stream and then you give people a minute to see the notification on twitch and then you come in. This is so strange.

...53StachuDotNet neat I didn't know the lobste.rs folks had a twitch channel
Hey statue. Yep. So I stream on Mondays and Thursdays and you are welcome to ask any kind of questions about the side of the code base or just look over my shoulder as I code. StachuDotNet thanks for hosting the site! No questions, just curious
In this case, you could look over my shoulders. I'm confused as hell how we got this build failure out of the test suite. Cool. Epic_Ninja_Elephant Pair Confusion is the new hotness.
Well, welcome. You can hang out. Smash that like and subscribe. I'm not actually trying to grow the channel. This is fun. StachuDotNet it's a nice calm alternative to HN :)
Pair confusion. Yeah, I've heard this called mob programming. Isn't there a phrase about... Yeah, instead of the wisdom of the crowds, we can do confusion of the crowds? Because none of this touches anything related to the Rails boot process. I'm going to... Oh, thank you.

51:59OK, see, I was just about to do it again of leaving a comment instead of closing the review. I have to flip back to the other tab. All right.

52:56kneeawn heinous_inline_partials lmao
Nogweii I think your review highlights some Rails magic, triggering the error
yeah yeah neon if you look at that one it is a performance hack and i named it heinous because i am not proud of it but it does substantially improve performance on our most hot path most frequently used view which is render me a thread full of comments. And so that one view is more than 50% of our hits on the site. When things are that lopsided, I will commit some crimes to get reasonable performance. And speaking of leaning into the framework, if you can see a way to Get rid of that. That would be nice. chamlis_ title "I will commit some crimes"
kneeawn I like the idea of marking the known β€œevil” parts of the code
You know, Chambliss, I always joke about the things I do for performance are sins or crimes. I think I've done that before, right? it's one of my crime no sin no evil okay there we go i called it evil in a title already that's oh and then also here i called it evil yeah so two evils no crime no sin yeah that's

54:52StachuDotNet #shamefuldev
Yeah, Neon, the point of writing the code is to communicate with the future, especially future debuggers. And the way heinous inline partial works is by editing the templates out from under you. So if you edit the middle of one of the target templates and you save things, your edit will be overwritten. but like it runs as part of the Rails lifecycle. So it's kind of statistic where like you could save the file and reload the file and it'll be there. And then you click on the page and because it hooks onto all of the requests, then it will fire and overwrite your file, which would be absolutely maddening. so that's why i gave it such a conspicuous name and i put it in the server boot message because i want people to see it and look at it and then where it appears in the template it has this big giant thing and it says heinous and i really want people to look at that instead of losing time and edits to it all right

56:13Just pinging at me.

...21Someone is asking about JS errors on the site and that there is weird stuff in the auto size JS. Why isn't that minified?

57:02Nogweii I understand why, but I wish minification wasn't a thing anymore.
Yeah, the bug report of looks weird is not specific enough for me to fix. All right. Big pile of Cyrillic? What?

...52pushcx https://lobste.rs/assets/autosi…
Can anybody here, let's grab this link and throw it in the Twitch chat. Does anybody see weird JS, something with Cyrillic at the top?

58:13Nogweii does the user have malware?
chamlis_ nope, looks fine to me
Let's go look at prop. kneeawn not on mobile
gtfrvz nyet
Boy, there's a bunch of weird JS. Frici nothing like that
Frici also ahoy
all right they're just me logged in as deploy assuming the box hasn't been completely rooted this could be fun all right so we have the two auto sizes and the hatch matches Does the user have malware? Yeah. Like I'm not hoping they have malware, but I kind of am.

59:20Nogweii @Frici ahoy
Whoa, that's... All right, so it's not... chamlis_ some encoding error?
If it is actually Cyrillic, it sure did not survive the paste into... Let me... Come here. Encoding error? I don't know. I did... Oh, I can't bring the...

...49Can't remember my own functionality. So here's the conversation and here is the weird ass shit.

01:00:10Frici that does not look cyrillic lol
Yeah. Frici that looks more like random encoding error as chamlis_ said
I mean, that's not actually, could you paste in gist?

...46That's a strange one.

...56If somebody had hacked the server, delivering gibberish JS that doesn't actually run and start a Bitcoin miner or something is not helpful. I was afraid we were going to see like there's an eval call and include some random thing. Yeah. Yeah, I don't know. That's so, so strange. All right. Well, please don't hack the site. Please just email me that you figured out how to hack the site and I will get you credit. But I will be irked if you actually hack the site. Nogweii does lobsters have a security.txt?
chamlis_ do you set weechat to highlight on profanity? trying to figure out what was triggering that
Especially to mine Bitcoin, come on. Frici whatever they are having must be client side, since none of us see it either CaitThinking
All right, where was I? We were leaving a message here.

01:02:00Nogweii it does! https://lobste.rs/.well-known/s…
Channelists, do I set WeChat to highlight on profanity?

...13chamlis_ ahhh
No, I have WeChat set to highlight on the site name. It's lobsters, and it filters out mock turtle. Frici I think chamlis_ meant angersock?
All right, well, and now you see everybody that I've DMed on IRC in the last year, because I never closed the IRC tabs.

...46chamlis_ nah asked and answered, thanks
Frici which looks highlighted and I am pretty sure that is a name, albeit not yours
I'm going to get IRC off stream. So I've been given the gist, but it's under like a GitHub username. Frici ah rightish i was half-listening, cat jumped on desk and demanded pets LUL
So we're going to just look at this off stream. It's the same shit. It looks exactly like maybe there's like one extra. Nogweii @Frici pay the cat tax! :P
chamlis_ is the javascript there below or is it all garbled?
Yeah, the only difference is I'm seeing the proper little like Unicode question mark in the diamond instead of. Anything. That is so strange.

01:03:56Chamlus, do you want to drop by the Lobster's chat room and ask directly? Because I can't answer that question. Nogweii (if you're comfortable with the url being remembered as part of the stream archive)
chamlis_ ahh right, thought you had the whole thing, I'll do that
I only got a paste of what showed up in IRC. I didn't get any extra info, like the whole page or a screenshot. So I can't actually tell you more. No? All right.

01:04:26Do we have, all right, so where am I? God, I hate that feeling of like, oh no, my server hacked, am I in hell? That would be a very sad live stream. I was gonna look at specs. Yeah, there's a login spec. And it's a request spec. which does have the whole, yeah, you can do multiple steps, so that's fine.

01:05:35Frici @Nogweii, partly that partly she jumped away after petting so i'll skip that for tonight :P
All right.

01:06:10Nogweii @Frici LUL fair.
You know, say log into, we also have a spec of some of these, like I've touched every spec on the site in the last, what, 10 years that I've been contributing to the code base, but some of them, it has been 10 years. So, it is the, what is the name of the cookie? It's on the user model. I had to roll mine the other day, right? Is.

...44token yes no login token session token that's what it is so then okay yes we have a Log in spec 23. See, what I'm not seeing is a spec that if you show up with a session token, you're logged in.

01:07:29But I guess we don't really need one because he wouldn't touch that. It would break all of these other specs where you wouldn't get one set or would be cleared. yeah yeah there are lots of tests that would fail ah shame to miss out on another cat i moved twitch away from that window so that i could all right And then was there something else? The big exciting distracted, knocked it on my head. No, the rest of this was fine.

01:08:26Cool. So excitement aside, it has been about an hour and especially because we have a guest. Okay. That's all the pull requests what's happening in issues. And then I will get to none of my deployment stuff that I wanted to. pushcx https://github.com/lobsters/lob…
Oh yeah. There's actually a couple of interesting things in here. So real quick, this was an interesting bug that Freefall caught where someone mentioned a script tag and they included, you know, they just typed out a script tag into their comment and it got replaced by XSS protection. So,

01:09:14That is worth fixing, but it is blocked on kind of a classic bug, number 1234. This has been hanging out in that tracker for a while. I thought it was the kind of weird plumbing bug that would nerd snipe somebody, because people have showed up to do a whole lot of refactorings. But I guess this update from version 1 to 2 of the API was not attractive to anybody yet. It's getting up there. What is this, a year and a half old-ish? Yeah. It is not a thing I want to do. But at some point, we are going to get forced to do this. Oh yeah, and I even left a comment three weeks ago about it. would like to improve some things that is a great thing to improve it'll set us up long term and then otherwise i think things have been pretty quiet yeah this threading bug i saw this one in email yeah it's another

01:10:32What a clever.

01:11:27i want to put this i wrote confidence order and bit bashing because maria db didn't have a what do you call it

01:12:11Alrighty. Well, last call for, why does this have a, please don't write summaries like this.

01:13:14And I'm just making a quick edit to that story to remove the summary.

...34And I'm going to have to send this user a note about self-promo because that seems to be all they're doing. All right. chamlis_ thanks for the stream; good tidings for recheck!
Okay, so this has been a shorter Lobster's Office Hours because I am busy hacking on stuff. The next scheduled stream will be Thursday morning. Thank you, Chamos. I appreciate it. Epic_Ninja_Elephant Thanks for streaming.
I am working hard and it's like, it's getting useful, actually. Ah, it breaks my heart that I had to pause when I was so close to getting it live. But if anybody hasn't joined that mailing list to hear about the beta, I do need beta testers and will email in a day or two. Yeah, all of this stuff I'm going to have to punt to next stream. kneeawn thanks for the stream! have a good one <3
What a... Corrupted text reported. Thanks. Yeah. Have a good one yourselves, everybody. Yeah. I'm going to go ahead and end the stream there. Frici Thanks for the stream !
I hope to see folks Thursday morning. That's 9 a.m. Chicago time. And until I see you try to commit zero evils and no crime and no sin, you'll be doing better than me in performance code. Take care.