But You Are the Burrito

Streamed

A closed PR for a details/summary tag refactor of caches, can’t break high touch UI. A Brakeman version bump. PR to refactor the hide functionality; throw vs sigs. Username change timeout fix. Keeping up the AWS data center outage story. Gleam’s pipeline operator and result types. The eternal front-end chore of converting strings for differnt contexts. CoffeeScript as transitional fossibl between JavaScript: The Good Parts and ES6. The best UI tweaks are the ones nobody notices.

scratch


topics
  PRs
    details tag for caches https://github.com/lobsters/lobsters/pull/1934
    bump brakeman https://github.com/lobsters/lobsters/pull/1936
    refactor hide https://github.com/lobsters/lobsters/pull/1938
    username timeout https://github.com/lobsters/lobsters/pull/1925
  issues



title

post-stream
    

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

Recording



03:00marcoroth_ Hey hey πŸ‘‹πŸΌ
ChaelCodes Hiiii!
So this is Lobster's office hours. Let's get Lobster's up on the stream. Hey, Marco. This is such a weird project. It's literally like one checkbox. Oh, hey, Chael. Haven't seen you for a second. ChaelCodes Awwwww, was it Thursday?
Did you drop by the stream where I extended your mod mail? That's been in prod for a week or so. So jury's still out because it's only getting used about once a day now. But I've already made some tweaks to the mod mail system. marcoroth_ Time is a made up construct
Maybe I don't know what even is time. ChaelCodes I was feeling rough on Thursday and missed stream. :/
I was out of town a little bit. And so it kind of reset all my memory. ChaelCodes Clearly a mistake. :3
Oh, and as long as I'm seeing odd things, usually I don't put outage announcements up. You know, I remove things like GitHub is down or stuff. They're both transitory and they never really have any discussion. But the novelty of maybe this data center got bombed seems to be starting a relevant discussion. marcoroth_ The phrasing AWS was kinda hilarious
So that is why I did that different. marcoroth_ used*
So, anyways, chill the, yeah, let me just show that to this. Let's see. you might've run into the mod note system. I think we discussed this, but why is. Oh, I didn't see AWS's phrasing. marcoroth_ I think it was in the initial one
Were they like, it suffered a structural integrity failure like their Star Trek? I don't mean to joke about a war. There's probably like literally people dead. Severity disrupted, yeah.

05:23Lost power. Yeah, that's what I figured. That's why I'm kind of jumping way back.

...43I mean this is a pretty bland outage announcement.

06:00Anyway, I'm going to move on from AWS because I don't really have much to say about it and doesn't say much about, you know, lobsters the site. Just figured I'd explain that moderation decision of inaction where I usually pull those things. So, Chill, you might have seen that in mod note here, there's a bunch of these functions like tattling where ChaelCodes Ohhhhhh, I was here for that one.
when someone tries to break a rule or sees particular kinds of warnings, they get logged, like people who try and log in when banned or after having deactivated their own account or using their own invitation codes, or I guess it's actually using an invitation code while logged in more generally. Oh, okay, you were here for that, yeah. That's off to a good start. I've made really minor layout tweaks to ModMailIndex.

07:13marcoroth_ one of our Availability Zones was impacted by objects that struck the data center, creating sparks and fire.
Where was it? Show, no, ModMailMail.

...27ChaelCodes WOW
I have two of these. That's weird. Yeah. Yeah, I tweaked the heading and stuff. Thanks, Marco. I didn't find that. So anyways, that's been a really nice driver for the ModMail system.

...57marcoroth_ zverok?
You know, Marco, what that most reminds me of is there's a couple of folks in Ukraine who use the site and their blogs all have things like, I'm going to be offline because it's hard to have power when Russia keeps bombing civilian infrastructure. olexsmir my site has that too, guess where i'm from...
graefchen Heya limesHi
I know one of these authors as a user on the site. And I only noticed that because they write about Ruby. But I couldn't tell you their name off the top of my head.

08:42Anyway, it's very X sounds possible. plausible. I vaguely recognize the name.

09:29All right. Oh, hey, Griff.

...39So let's take a look. I don't think I showed this PR on stream. Now, this is the. Now, this one's the popover one, I don't know, I bumped to the top of the list. This is the one I was thinking of about re-implementing the caches dropdown. This user has fixed some other front end stuff. Contributor has fixed some front end stuff in the last couple of days. And they said, oh, well, we can shift to using detail summary for better accessibility. Unfortunately, for that to work, they would have to move, change the order of these so it's not caches and then comments on the right. comments and then caches on the right i have talked a bit about how i try to avoid user interface change churn changing something that fundamental like the most frequently used link on every single story which you want to be very fast and easy i think that would cause justifiably an infinite amount of screaming and Made this one kind of a non-starter. So this PR is closed. We talked about it a little bit more, but yeah.

11:24I'm a little hopeful that... After reflection he'll come up with another idea or someone else will look at how it's wired up and fix it. Okay, so.

...46that's new and I better deal with that right away if there's a new brick man. Let's get that on the main now just to handle any failed bills.

12:34All right, so let's get that fetch down.

13:09That is taking its time. Actually, a bunch of the Twitch dashboard is not loading, so please do tell me if my streaming quality goes to hell or something. ChaelCodes Stream is fine here
Network connection has felt fine all day, but now that I'm starting to stream, a bunch of stuff seems to be struggling, like even just fetching from remotes.

...43artemisSystem hello! was browsing the site looking for info and found a link to the stream which had just started, didn't know this was a thing
I'm not sure I know what this one is. Thank you. I appreciate that feedback.

14:01Oh, hi, Artemis. Yep. This is the whole thing. This is just drop in time. If you've got any questions about the CIDR community, feel free to bring them up. Otherwise, you can just kind of watch over my shoulder as I maintain stuff and occasionally ramble about why things are the way they are. It is my attempt to keep lobsters from taking over my life by timeboxing it to basically one day per week, just split up over two.

...43Oh, that's interesting. So FedAmp here has been making a lot of front-end contributions in the last few weeks. I've really appreciated these. Refactor saves so Flash is not used when sending... Oh, okay. It sounds like he's caught a bunch of bugs. And limitations, because we've slowly been working to make the front end JS optional for users. So, okay. Sure. I made a similar refactoring on another of his pull requests.

16:32artemisSystem i actually just came across something i was curious about. i saw a quintuple negation in someone's comment the other day, and wanted to find it again, remembered it had "not not" in it, and searched for that. realized i needed to it, but when i did, the query seemed to take several minutes to finalize (but it did finalize! and i found the comment i was looking for)
This looks like a big thorough improvement. artemisSystem this got me curious about how the search works. i'm assuming you don't have a bigram index since it took so long (or maybe it just doesn't have skip words like "not"?)
And a free blank line. I don't want to play linter though.

...53Assert has properties. Now why replace

17:08pushcx https://mariadb.com/docs/server…
Hold on. It's got to be here in my browser history. Right now, the... No, it's in my personal browser because I know because I just looked at the other day. Yeah. pushcx https://sqlite.org/fts5.html
So our current database backend is MariaDB using its full text feature. a thing we have been working on for a minute is moving to SQLite. So hopefully in a week or two, this will be the back end for the database.

18:00I'm a little I kind of would have guessed that not would be one of MariaDB's stop words. If you dig around in that manual page, you can find a list of all its stop words linked somewhere. And I think our code actually knows the list. Come here. Not this side. Come here. Search parser. Yeah, we have a list of stop words, and not is not one of them. artemisSystem oh, sorry, didn't fully register you were responding to me, but i see
But there you go. Lucky for you, it wasn't, or it would have been explicitly ignored. The... artemisSystem so it mostly hinges on mariadb's search?
So as to what exactly, whether it's a bigram index or what, that is not a level of detail that I have loaded in my head. So you would have to just check the docs. Yeah, yeah, there's a little bit of lag and it always takes me a couple of seconds to see chat messages because they're a couple inches off from where I'm looking. Yeah, we lean on MariaDB search as much as possible. If you look at Come here, connect to the repo. pushcx https://github.com/lobsters/lob… https://github.com/lobsters/lob…
Probably most of the code that you're going to be interested in is either here in... Probably the more interesting one is search parser. But if you're curious how the parse tree gets turned into actual SQL, it's in this second file.

20:04And a couple of the people who are watching have made fixes to that. And I'm responsible for most of the code. I wrote most of it. But if you have more curious questions, you can ask them. marcoroth_ the new assert methods throws
Let's see. Why? Returns, asserts. Oh, he made this change for TypeScript. Yeah.

...47artemisSystem ah interesting, this is not the file i found when i was looking, i think i found the frontend part of the code
So that. So that some other type thing was satisfied. This is the kind of change I didn't quite want.

21:13I am fine with his type hints. This kind of stuff doesn't bug me, but refactoring the code, especially to

...33Yeah, there's a little bit of an irony here because this function on the left has the type, you know, object, list of strings to Boolean. This one, object, list of strings, and what do you get back? Null. And so to satisfy the type checker, it uses the type system less. I don't I don't like this refactoring. I don't actually like exceptions very much. I'm writing more gleam. olexsmir gleam is so peasant to write
And it's funny, because I kept expecting that I would miss exceptions. And instead, it just has a really nice result type with exactly the utilities you would expect. artemisSystem oh interesting, i haven't looked at gleam but i've heard a lot about it
And it just works. I opened my first Gleam pull request, what, yesterday?

22:43graefchen Search ... reminds me of one funny Project I had for my Java Course in University where we needed to use inverted indexing. Looked after that more into Search Engines. And they surely are fun and complicated. limesSit
Yeah, it really hits a sweet spot of being a small language. Yeah, it's a gleam.run, and we have a gleam tag, and I hang out in the, Liam discord and they seem to have noticed that there are folks on lobsters who like Liam and so they're kind of politely like hey let's celebrate when a story goes there and try and make sure that we leave smart comments which is absolutely the best kind of marketing for any programming community to do is just just show up and be normal and contribute generously be part of a community so

23:38Okay. Why not? Yeah, this, this one is old or odd. I don't understand why catch anything. I guess you're just trusting that this one can only throw JSON exceptions.

24:00If response is okay.

...27artemisSystem yeah i took a uni course on search in fall 2024. i learned a lot from it, and whenever a search bar works badly or inefficiently, i get curious and start thinking about the inner workings, hehe
How many functions are changing from returning values to throwing? I can't claim to be in touch with current JavaScript style. And I hope that's not current JavaScript style. olexsmir ~~rewrite all javascirpt in gleam~~
I don't know how you make that reliable without checked exceptions.

25:13artemisSystem yeah i'd think if you want to assert, do it at the call site. i agree that a bunch of assertion functions seems weird
Oh, Lexamir. Thinking small.

...23marcoroth_ rewrite all javascript in coffeescript
I'm re-watching The Expanse, which is a very nice TV show with spaceships in it. artemisSystem coffeescript is a name i haven't heard in many years...
And there's a bit where... How do I explain it without spoiling it? A villain is talking to the good guy who tries... graefchen Honstly ... I like janilla javascript. limesSit
has tried to catch him this is late season four for anybody who's seen the show and he says like oh yeah you can't even like you see exactly what i'm doing but you can't recognize it because you can't even dream that we would do something so big coffee script it's not bad

26:15graefchen s/janilla/vanilla
artemisSystem es6/es2015 probably
was a really interesting time in javascript where javascript the good parts kind of led coffee script or i don't know inspired i would say i do see a fairly drink link direct link between the two even if there wasn't one explicitly stated and then both of those things became, what was that, ES5 or 6?

...54bsandro hello cyberpals
This is the thing I hate most about the front end, where I feel like I spend a lot of time converting between things that are almost identical, so like The state is named hidden. The class is named hidden. The text is hide. graefchen Hello bsandro limesHi
And then, you know, some things will have handle underscore story or handle capital S story switching between camel case and snake case.

27:34Every time I see one of these, I feel like we're missing an abstraction and I'm doing a bad chore. Yeah, Artemis, I'm thinking of es six. Yeah. Yes. Five was mostly a let's start deprecating things, right? I want to say it introduced strict mode. That was a big that one was interesting, because they realized they needed to break some things for backwards compatibility. But they did so in a way that it was a Boolean event rather than like a version so that they could reuse it in the future. And so then the next breaking change has very different syntax. And I think it's like the module kind of stuff. olexsmir 'use server'
It's like, okay, well, if you're going to opt it into the module stuff, we're also going to deprecate some other stuff. It's like, ah, it's kind of a shame use strict wasn't called like use ES5 or use ES6 because then we could just bump that version number. There is probably a really good reason for that, though. The JavaScript folks are generally bright. And the idea of managing backwards compatibility for a language like JavaScript is rough.

29:18This whole thing with the config object is also kind of, I'm thinking a bunch about type systems. Like this is kind of the author FedEmp giving up on the type system and just passing an object rather than labeling all of these as strings, which is what he would have to do if they were individual parameters. The only reason to stick them into a hash and then take them back out of a hash marcoroth_ I think string could be inferred here
I still gotta label them strings here. That... This is a language design note. The one thing Gleam doesn't know... One of the... artemisSystem ooh, do you have an idea for a PL?
artemisSystem hehe yeah. guilty.
highest touchpoint things that I think languages get wrong that I would have liked to try to fix in my language idea is function binding, which you want to be lazy, keeps inventing its own syntax for positional arguments, keyword arguments, globbing, and these are all kinds of core things you have to do with your hashes and lists. Yeah, Artemis, I think everybody has an idea for programming language. And I got, over the winter, I got pretty far down the road of seriously thinking about writing mine. And then I realized it was 80% of the way to Gleam. And I was like, I'd rather just adopt Gleam than spend years trying to create a whole ecosystem. And does better than Ruby and JavaScript with, keyword and positional arguments, but it still feels like I would rather just directly use the map or dict data type and let the compiler de-sugar that to something more performant than allocating an object for every call. And especially if you have If your data types are immutable by default, you can do that kind of desugar. marcoroth_ I really like how crystal solved it, so that all arguments are positionals and kwargs at the same time
But there's this whole second set of rules for this kind of tuple.

32:11olexsmir creating a compiler is one thing, but getting people to use it is completely different story
marcoroth_ yeah, exactly
marco i haven't seen how crystal does it but is it just you give the names and then those names get propagated to call sites automatically so like if i name this argument item the caller can pass let's find one with two olexsmir |> ?
evinconfig become the quarks to the caller in case the caller wanted to swap them and then inside you can just use them positionally because that's yeah that's exactly how gleam does it too then and it works really nicely with their what do they call it i think they just call it the pipeline operator so that rather than artemisSystem oooh so it just infers which argument to pass???
olexsmir that's the best thing that every fp lang has
wrapping functions like do we see it here yeah alexamere that's exactly what i'm thinking of rather than seeing like function a and then you put function b around it to work with the return value yeah artemis it does olexsmir getUser() |> doSomethingWithUser()
It basically says that the second function is going to, it takes the return value of the first function and then makes that the first argument to the function after the operator. And there's a little bit more complexity complexity and optionality to it, but it basically just does the thing you want. Yes. Thank you. I should have just typed. That's a much better way to just show it.

34:19olexsmir ^^ is same as doSomethingWithUser(getUser())
pushcx doSomethingWithUser(getUser())
olexsmir oh
artemisSystem oh, but it needs to be the first argument?
pushcx https://tour.gleam.run
So if get user returns a user object and the first argument to do something with user is a user, that just works exactly the way you expect, as opposed to having to write do something with user get user. Ah, there we go. I guess I'm a little faster at typing than you. But yeah, that's a great way to put it. If anybody's curious about this, there's, what is it, tour.gleam.run. It doesn't have to be, like I said, there's a little configuration available and you can You can get the positional application, hold on, partial application that you want. artemisSystem ah ok yeah thats nice
So if do something with user has other arguments, you can pass them. olexsmir @artemisSystem it also can be as getUser() |> doSomethngOther(someething, _)
Do something with user doesn't necessarily have to be a unary function or cardinality one, however you want to call it. We only call it unary because we have the annoying tuple thing happening. That is maybe my most like grandpa Simpson programming opinion is that we shouldn't have tuple types.

36:10olexsmir and the result of getUser() is passed in place of _
davidofterra You could also call it monadic if you wanted to confuse people.
artemisSystem i was writing some clojure and was annoyed that some functions i wanted to chain in a pipeline needed to give the arg last, and others needed first
artemisSystem so i had to make a lambda around half of them
Thank you, David of Terra. That is an excellent way to make that situation worse, yes. Because everything is worse when you add monads, right? Ha ha ha. olexsmir monads make everything better, especially confusion
I swear this will never go away. Fighting these char sets.

...51olexsmir but you the burrito
olexsmir and burrito is good
Yeah, so you take your understanding and you put it in the burrito and then you don't have your understanding anymore.

37:32marcoroth_ I always wonder why people mix the hash syntax in Ruby in the same hash LUL
olexsmir @olexsmir but you have the burrito
But you are the burrito? Did you mean to type? olexsmir my english stopped englishing
But you the burrito? There's one of my favorite talks. Which one is it? By Gary Bernhardt. I think it's... It must be Boundaries. The one where he talks about ideology. One of the recurring code examples is feeding cheese to walruses. And... graefchen The only things that i like regarding burritos are cats in burritos or owls in burritos. limesNodders
One of the vivid examples of dealing with immutable data is that a fed walrus is a new walrus constructed with cheese inside of it to replace the existing walrus. It's just a cute way of putting it. It's a little nicer than foo and bar. But it's not so much fun, it's distracting.

38:59Oh yes, the classic burrito with a kitten.

39:09darius1t i see burritos in chat, are y'all talking about that gleam executables article or do we just like burritos? lol
graefchen Correct. And the legendar owls in towls website. limesNodders
I used to have a cat who had to be wrapped up as a burrito so we could trim her claws because as much as she understood that, you know, we were all one pack and that we loved her, if you were trimming her claws, she thought, that's it, like, this is it, this is the end, I have to fight to the death. So we did try the burrito method and it was not successful. ChaelCodes Speaking of purritos - she's sitting on my desk while I have the prod console open. I'm so anxious right now.
And we were, at the time, we were experienced cat owners and we took the cat to the vet and we were like, we need some help with this. And they were like, trimming cat claws? Well, you just do it. Here, let me show you with this sweet baby. graefchen We do not clip our cats claw. Because vet said no here. limesNodders
And then it did not go well for the vet tech or the other vet tech or the actual vet. And they were like, OK, this cat is just going to be a jerk about it. Have some drugs.

40:11Oh. Yeah, you need to chill. One of the things I have done with Tmux is sometimes just to keep myself from accidentally typing something into a terminal, I will make an extra pane and leave that focused. I've never heard a vet say don't trim cat claws. ChaelCodes Ruby's grew too long and almost got into her pad.
bsandro you can trim claws ends, but gotta be careful
I've definitely heard don't declaw cats, and I have never declawed a cat, but I guess I could see that kind of advice if it's an outdoor cat, but as an indoor cat, they don't really get enough opportunity to wear down the claws, and so it can grow to the point that it becomes bsandro cannot go up to white things inside
bsandro full declawing is illegal and immoral yeah
graefchen Trimming is also not so smart so the claws might harden over time. At least that is what our vet said. limesNodders
a bad scene where the claw comes and starts hurting the cat aside from their instincts also tell them to do things to wear them down wear down the claws if that doesn't happen automatically and you will get a lot of stuff yeah yeah i'm only talking about trimming the cat i've heard that called the quick Just like the end of your fingernail beds is called the quick. Because obviously it's... You know, there's got to be a biology term for those analogous structures. That must vary by location. bsandro graefchen is your cat purebred by chance?
Folder clawing is absolutely legal here in Illinois. Trimming is so the claws might harden over time. Hmm. Yeah, I don't know. graefchen But that might be an Europe/Germany thing.
I've moved around a bit, so I've seen a bunch of different vets, and I've never heard anything except, you know, yeah, trim the cat claws every two weeks or so. Don't trim the quick. And if the cat turns into a tornado, oh, it could vary by breed. I have never thought about cat breeds. All of ours have been, you know, beautiful American mutts. Yeah, I don't know. It's interesting to hear these kind of international differences.

42:55graefchen @bsandro They are rescues. So I do not think so. But I am not 100% sure.
artemisSystem i'm reading the gleam tour. it's very interesting that {} is used to group expressions, but it makes a lot of sense
bsandro i trim claws for years, they don't harden, and since I always have random rescues their claws are usually super long and sharp
Did this have the, this used the link button styling, right?

43:07Form within, form submit, yeah, button link class. Fine.

...22Ah, great, I hope you have fun with it Artemis.

46:38bsandro so unless trimmed it is uncomfortable for them too, they keep catching on furniture and clothes
bsandro but probably heavily depends on what type of cat it is, cyprus cats are just wild chikaiXD
bsandro there are more cats here on island than humans after all.
graefchen So like iceland. Just with a different animal limesNoted
Albynton @graefchen I don't think Iceland's animal has sharp claws though
graefchen As someone who is fascinated with sheep and wool... yes that wouls be very new to me. limesNodders
All right, so we've got a refactoring, have a fun type discussion, user tree. Oh, this is an open issue that somebody just filed. I saw this one show up over the weekend. And I wanted to add the, come on, GitHub, anytime. And the bug and the good first issue.

47:16wait this bug shouldn't be possible because it implies that there is a logged in user when the cache is being filled and there the cache should only ever be filled for anonymous users how does this work

...48Speaking of positional versus keyword arguments, we're seeing it here where they're giving a bunch of placeholder arguments. Let new unrelated user.

48:13I don't understand this fix.

...51Where is it? It's in controllers, application controller.

50:17Or I say this, I'm writing about the full page cache. There isn't a second one, right? Users ship. Yeah.

...41This is a user's profile. User index? No. This one was a little funny, and it's moved around. F index. OK, it's called tree, user tree. There it is.

51:08Speaking of. things that get retrieved as a tree and cause performance issues. I forgot about the user tree.

...27Oh, the bug does exist if we're rendering like this.

...48Yeah, so this is manually. So this predates us being set up with fragment caching, basically. And so we reinvented it. I'm not actually sure Rails had fragment caching at all when we added this.

52:35Yeah, and that fix does not take this into account. Okay. Okay.

53:19What's the bug? 1937.

55:36Does this have the full page? No. Hold on. Where's Stories Controller?

56:21an example of this don't we where do we have an example of this i would rather not use this example in the mod activities isn't there one i guess not i'll just give the

...58here as a key so it's a cache for user then also we want to say you know actually we can cache much nicer if we know the ID of the last user. Is that available in the controller? How does it pull these out of the database? Because I'd rather not loop the whole thing, but if they come out sorted, actually, newest would have it, right? Yeah.

58:22Okay.

59:17pushcx https://mikehadlow.blogspot.com…
It's funny, the thing about caching there is such a theme for the site where things we solved before Rails included that functionality, it's just a lava layer anti-pattern where we update some of them, but we never get all of them. There's that, it's one of my favorite programming essays On the layer, yeah, I've talked about it here.

...57There's things like, that can catch some of those, but certainly not all of them. And this one, it would be very hard to recognize that we were doing this thing. So this one has another commit.

01:00:37This was exactly what I had asked for about splitting up the test into a couple of tests. So let's go look at the whole thing. But we're going to approve that. And as long as it doesn't run into Brakeman, this should be good.

01:01:08So now it says, doesn't allow new users to change in less than a year. Alice becomes Betty. We check if that's valid. No. Doesn't allow changing from Alice to Betty six months ago. Okay, so we're simulating it. And then Betty to Eve. Oh, someone's done their crypto. Great. Allows changing username with no creation or changing it in less than a year.

...51Oh, sure. So we've got someone who changed three years ago from Betty. h4beeb cool test data is a must
I guess they really liked having cool users.

01:02:09ah to be empty sure hi habib yeah yeah there's some fun values if you poke around in the tests especially especially related to moderation stuff i i tried to put some simple things in there that had a little bit of humor without coming off as mean-spirited I think there's one like stop promoting your startup, because that happens kind of regularly, unfortunately. All right, so it's into the slow test. That's going to be fine.

01:03:29That's a nice one. And I didn't put it in the notes. So let's put it in the notes. Username, timeout. Do I have a moderation chore? Should I go through and review everybody who has attempted to change their username since I shipped this code? I only shipped this code a little while ago.

01:04:01graefchen Turns out that the fictional user named "bad_actor" gets banned for breaking the rules in the test limesGiggle
heypushwhyisthesitebroke hallo
would have let people change their username when they shouldn't have been able to but it would be the weirdest kind of petty to say i had a bug therefore i'm putting your username back that's not helpful yeah no i don't think there's anything to review just try just got to think through that one out loud you know

...35I did not even see this PR, and I think... Are we down again, or do you still have the old username? Did I name somebody Bad Actor? Maybe. heypushwhyisthesitebroke yeah i just haven't changed it the site's fine
I think I've used Alice and Bob a lot in names. I think that might be our first use of even test usernames. Albynton @heypushwhyisthesitebroke Do you have a message to pass by any chance?
I think some of the example sites submitted are like badsite.com kind of stuff.

01:05:24All right, thanks. heypushwhyisthesitebroke happy casimir pulaski day btw
Let's see, I'm seeing a lot of example.com. Maybe I don't even remember my queue test data. I try not to be funny when it's going to be distracting, you know? All right. So, yeah, it was Ashvikt that made this tweak, which I shipped this last Thursday, and no one has painted this bike shed. That's the sign of a really good UI tweak. artemisSystem oh i saw that just earlier
heypushwhyisthesitebroke @Albynton uh, listen to that one sufjan stevens song about casimir pulaski day?
no one even noticed that it changed to say something. graefchen No still usernames in tests. I removed qutocorrect on me smartphone, so i need some time to type. limesD
artemisSystem the dotted sibling comments
And yeah, for anybody who hasn't seen it, if you look at prod right now, there is my favorite Chicago Easter egg visible in the site, which is the little mustache on the logo.

01:06:29artemisSystem it stood out to me but i didn't register that it was new
Yeah, yeah, that's, It's such an incredibly sad song, but yeah, it's a great song. All right, so I guess Ashvik decided that it was fine. I'm curious to see the diff still. Okay, so it looks like he was just tinkering a bit.

...58heypushwhyisthesitebroke sufjan is so good :3 predatory wasp of the palisades is out to get us is one of the all-time greatest
heypushwhyisthesitebroke why does the site look weird :<
yeah artemis that's it's one of the funny things about user interface is people get so familiar with it that they notice changes but they don't notice that they notice changes and so like if we make a user interface tweak to something like the sibling lines we are more likely to get a bug report about the comment folders are wrong or like something that is physically near them on the screen we'll get a bug report but not them because it's just people looking at them yeah or i'll get kind of the site looks funny we had one of these when I changed font stuff a few weeks ago, where someone opened an issue to say that they wanted to implement a font size hierarchy and restore a bunch of stuff in a deliberate way. And then a couple of days later, they just said, well, I'm, I'm used to it now and it's fine. So I'm not gonna keep doing this. And we closed out the issue. It's just one of those, like, you know, all changes automatically a little bit bad, but it's, there's a level of very small change. heypushwhyisthesitebroke the google approach to incremental improvement
That's just mildly distracting where people catch it, but they don't know what they're seeing. That's part of why all of this single page app stuff is so frustrating with GitHub is. heypushwhyisthesitebroke the muscle memory of trying to hit a button and they changed it just barely but suddenly your entire workflow is kind of fucked
If you spend a lot of time in here, you notice these kinds of things, and it just feels unsteady and unreliable, even if it's only a minor visual change, even if it's a minor visual improvement, you know? All right, so...

01:09:31Yeah, and that one, you might not even know that you are off and annoyed because the button moved. A lot of people noticed they put like a, I think they put an agents button here next to actions. And so a lot of people who just kind of queued off of the there's an A right in the middle are especially annoyed at them having put an AI button there instead of, I don't know, towards the end. Or it could say copilot instead of actions, and it would be less distracting. graefchen That the hats are slightly weird on used profiles is something that bugs me sligtly. But it isnt enough to let me fill a Issue. limesO
heypushwhyisthesitebroke the worst job in the world has to be being a product designer who cares about making nice things at a company with execs pushing LLMs really heavily right now
And it's kind of silly, but yeah, people really do just scan for the shape of the capital letter or the shape of the icon and go.

01:10:27All right. So that one's kind of a false alarm.

...35This one... I got those things because I tagged it.

...56I was chatting about it with a friend over the weekend. olexsmir i feel like when i read something i only read first 4 letters of the word and "guess" the rest
And I said, I think the reason this is a little cynical, but I think the reason so many executives love LLM so much is because it mirrors their experience of the world where you tell someone to do something and they give you a polite lie back because they work for you and they can't afford to lose their job. And so, especially if you are a jerk, they will never admit, Hey, I made a mistake. Cause what are you going to do? heypushwhyisthesitebroke the weird experience with twitch where i'm torn between "is my connection just fucking up right now or is stream dead"
You're going to punish them or maybe even fire them. graefchen But LLMs are the future limesD
Albynton Hmmm Goobye stream?
And so the experience of like delegating and getting lies back is the bad executive experience. Albynton @heypushwhyisthesitebroke I think it's not you
graefchen Stream dead. I guess.
And so for them, the big change is like, well, you know, I could pay an admin assistant a fully loaded cost of eight grand a month to lie to me, or I could pay Claude a hundred bucks a month to lie to me. h4beeb rip stream :'(
What an incredible savings. It's revolutionary. olexsmir rip stream
Am I losing my internet connection? Now GitHub isn't loading? Every time folks have used Twitch emoji, I see the alt text. And then 20 seconds later, the image loads. Something is happening with my connection today. I'm a little bit surprised the stream bitrate is stable. But I guess I'm not loading those issues. Well, you know, I run a social news site, so I should be able to just read the title and comment on it, right? Oh, no, there we go. Connecting to chat. I think I'm offline. I'm dead. Yep. All right. Well, at this point, I am just talking to the stream archive because the recording is still going. But if my internet connection has fallen off a cliff, I'm just going to call it for the day. I'll see if I can get my phone and put it in the Twitch chat. Dagnabbit.