Ctrl-f for shame
Streamed
Fixed a CSS margin issue with the disown button on stories. Investigated a message pack warning in production logs that was coming from rack-attack loading solid_cache. Discussed the new βvibecodingβ tag on Lobsters and the controversy around LLM coding tools. It mirrors historical programming arguments about structured programming and garbage collection, and historical periods of expansion and consolidation.
scratch
topics
dzwdz story gap - fixed
autosize on submit? - fine, see handle if js disabled
byroot msgpack https://bsky.app/profile/push.cx/post/3lnv2oq6xis2l
oddity: gem path says 3.4.0 but rbenv says 3.4.3
vibecoding tag
new iteration of familiar cycle https://www.youtube.com/watch?v=NftT6HWFgq0
https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc.
scraper/crawler/training posts -> revert tag back to 'ai'
title
ctrl-f for shame
post-stream
Transcripts are generated with whisperx, so they mistranscribe basically every username and technical term. They're OK but not great, advice appreciated.
Recording
01:48Good morning. It's Thursday. This is the Lobster's Office Hour stream. Here's Lobsters. Oh, that cat is in a very awkward place in my lap. Alrighty, buddy. Settle. Settle down. Ah, alrighty.
02:19So this is Lobster's, the website. There is Lobster's, the code base that runs it. And I am happy to talk about any kind of questions folks have about the site, the community, the code base. Otherwise I work on the code base and the community here on the stream. You can look over my shoulder, watch me make typos. And that's about that. Not a lot of magic here, kind of the point of the streams.
...59So let's see. I've got a couple of things on my planned to-do list here.
03:10I've got some follow-up from this vibe coding tag. And I've got a CSS bug that was reported by DZWDZ, who sometimes comes by these streams, if you're here, howdy, where their own submissions have this gap right in the middle. And then also there's a weird production only log message that appears about message pack. and I chatted with Byroot, who is a Rails core contributor who's dropped by the stream before, about this debug message, and he pointed out that there was maybe a second place creating this message. That's not an urgent bug, but it is just a weird one. In short, Rails complains that it doesn't have a gem loaded, and
04:32Deezy is talking off stream about the layout bug and said maybe it's the disown button.
...48And yeah, having found this, I'm on stream, so I can't.
05:12the form in a span.
dzwdz oh i had no idea you're streaming lol
Let's take a look.
So if it's one's own posts, let me just make one.
Well, it's the usual welcome.
Did I not?
Maybe I restored the password here.
I didn't think I reloaded the database.
Frici offtopic to the bug but I understand why some people are against it yet I feel more and more places should have a dishown button for content.
I'm fixing this.
...49Frici also ahoy.
dzwdz the notification isn't displaying on site
Can't remember my own API.
06:04chamlis_ you're logging into prod there
Frici oh right it isn't
Oh, that'd be why.
Probably doesn't help to try and log into a box that's
Not gonna take test as a password.
Well, good thing I was only resetting my password locally, right?
Thank you for pointing that out.
Coffee's still kicking in this morning, clearly.
All right, so let me start the dev server.
I'm on the, yeah, I think I'm still on the routes branch.
So this is some in-progress work from the last screen.
Let's get back to master.
...47Where's my right? Windows are all out of order. There we go. So we're back on master. It ought to load. I'm logged in. Let's submit a story.
07:23Yes, I'm not. Oh, if it's just the disowned, I'm not going to see disowned unless the story's older. Yeah, so let's just dig back in my submitted stories.
...47dzwdz so what's the point of disown?
The joy of being in dev mode.
So ActiveRecord likes to produce n plus one errors, and the only way I've found of reducing them is getting this plugin to raise when they're here, but then it's inconvenient if I find one of them while I'm doing something else.
Are they not raising in test that I didn't get a test failure off of that?
08:25Index line 50.
It's merged into a story.
That's just the association.
Yeah.
justkarolis ur font is cursed
You can, instead of loading it, just check if there's an ID there.
No, apparently that's not enough.
You're still mad about loading individual stories from line.
Frici @dzwdz, removing a comment/story/entry from being assotiated to your account for whatever reason (including when getting banned)
50 of index html we're on line 50 did it not i made the edit and lost it somehow i have to hold my hands funny for the cat on my lap so i'm probably going to make a lot more typos than usual which is not a small number of typos in the first place
09:55Thanks, JustCarolous. It's in the FAQ. It's in Consolata, and then... operator sans mono for the font. Oh, and backing up, I'm catching up on the chat here. Hello, Fruity, thanks for dropping in as usual. And yeah, I think the zone button is a lot nicer than having old discussions turn into swish cheese, which is kind of a problem on Reddit. There's a a meta thread where I introduced it. God, what is this? Maybe November, December of 2017. It was one of the first things I did on the site as a mod in my memory, but maybe it was early 2018. I had deleted a comment that had an insult, but started an OK thread. And at the time, deleting a comment deleted all replies as well, which was a lot more than was intended. And so I made a bunch of changes to delete less stuff. Also, at the time, the site was like five years old, which isn't enough to really have much churn in the user base.
11:21Oh, the edit went away because I'm foot gunning myself with heinous inline partial. That's what it is. I should be editing list detail.
...38Merge into but it's not called merged into it's called. It's got another name. Merged story ID. Yeah, some of these things have really clear names, some don't. Okay, so if I go back, none of these guys have a disown link on them. There must be some logic around that I'm not seeing. Let me take a quick commit on that while I'm thinking of it.
12:46All right. So why am I not seeing a disown on any of these?
...56Let's check the logic on seeing that.
13:05Is it just on the single story? Yes. OK. So let's jump into a random one here. Okay, aha. Well, thank you DZ for your clear bug report, because now we've got reproduction, that gap shouldn't be there. And you've even found, what is this size? What's probably causing it? Right, so we have the link post form. And I just kind of wanted to step through it because it's almost certainly this extra margin top. Just want to make sure it's not also something about it being an inline block or not being an inline block, which is what I feel like it should be. Yeah. Or display inline. Good. Then. All right. You. Why does this have. So I'm doing a Chesterton's fence thing that I don't remember why this is here. Let's take a look.
14:47dzwdz presumably for "normal" forms
chamlis_ that was me, for spacing the forms on the user settings page
dzwdz oh
Oh, for the one on the... Hey, Chambliss, welcome back.
Let's get that sorted.
Oh, and I just see now.
So I don't know if Twitch colors are consistent, but your username is very purple.
And what do we say?
Deezy's is purple and yours is indigo, maybe?
I didn't realize it was you who said that I was logging into Prada.
I would have said hello a minute ago.
So let's go look at that.
What was the line number on that?
1200.
Okay.
15:36chamlis_ is there a css selector for "inline" display? that's what I was trying to accomplish with the :not(span ...)
Epic_Ninja_Elephant Happy Thursday. I have tea, and a banana. Kindly proceed to do all the coding.
So it doesn't have a focus diff.
Oh, hey, Epic Ninja Elephant.
Yeah.
Well, we'll see how much is coding and how much is...
metalwork if we've got a second after clearing out a couple of small bugs here i'd like to do more on that vibe coding tag of leaving comments but we'll see how it goes i'm always happy to talk about what folks want to talk about that's more the purpose of office hours all right so so if you had it for settings
dzwdz lol
Alright, I gotta stand up from the stream and wash my hands real quick because I pet the cat and I'm gonna have an allergic break.
16:48All right, there we go. So we had the input type submit. Was that for this thing then? Firefox, why are these so tall?
17:20Chamlus, I don't think there's a way to select based on other applied rules like that.
Like if you're looking for, is this being used in an inline context?
Because then you would never, the rendering engine could never settle.
It would be like a spreadsheet where rule A could see,
chamlis_ right
could say if b applies and rule b could say if a applies you know or the not of that and then on various rendering passes you'd be toggling stuff back and forth and i know the one of the big efforts or one of the big shaping concerns in css design is wanting to be able to do all of the rules in a single pass or you know two passes rather than on passes or
N squared passes.
No, I'm not trying to save my account settings.
I'm trying to inspect.
Aha.
chamlis_ maybe that selector could apply to submits in a form that also has other (non-hidden) inputs?
So it was this guy.
Why is the inspector not inspecting?
Where's my... Did the page start loading when I touched that button?
Why did I get logged out?
18:44But I changed my password to test. All right, let's do it again.
19:02Yeah, there it is having the allergy attack anyways.
chamlis_ :(
It ought to be a small warren with just a sneeze or two instead of, you know, whole big thing.
...17yeah so i am only mildly allergic to cats but if i touch him and then i touch my face which is exactly what i did as i was petting him after he hopped off my lap there i just reached up and scratched my nose without thinking about it all right so it's funny some cats like this one are kind of low dander and so they set me off a lot less
...55So Chambliss, with this, were you only thinking of the settings page or is this on other stuff like story submission and so tall Firefox. Why did you get your idea? Okay, so this is all of them. So it's really just the Yeah, the special case here is the disown button. And I guess it's not the lag menu because that's using the checkbox toggle and it's probably not the up here the logout yeah does that look like it has a little extra space above it so if i go to doesn't one of these also have a sub menu when i'm logged in no but this is an inline button isn't it
21:07Why didn't this get that margin on top?
...19That's an input with a type of submit.
...31Let's bring this up.
...59What is this not doing. Oh it's saying that it's not in a span I see. So. Chandler's where's the submit that's in a span that you were trying to filter out.
22:30chamlis_ there are a couple on the settings page
what i want here is maybe going to be that's not a link post because these link posts they're intended to look like links but then they have to semantically be buttons see that looks fine there are a couple on the settings page all right
chamlis_ "expire cache" and "subscribe with pushover" at first glance again now
oh the the inlines for like linking accounts right so this here doesn't have it because it's in a span okay there we go all right so these should stay why did the so these look fine
Why did the page jump?
Did I change the height of somebody else?
No, everybody looks fine.
This should maybe be indented.
Hard to know with forms.
Let's leave it.
chamlis_ an autosized textarea?
Okay, and this looks fine.
All right, I think this is the fix I want here.
Expire cache and subscribe with pushover.
Yeah, okay.
23:55dzwdz so which other buttons do we want this margin on?
oh that's you just reminded me i think i saw a bug yesterday when i was writing i think i didn't see auto size on the story submit page so i gotta double check that i think dz what it's getting at i think it's just
What I've written here, what I've changed it to is maybe the better expression is all of these link posts, regardless of, it's not about what they're in, it's about what they are.
And so Chambliss's selector was very close because she was looking at the settings page, but then this one link, which is maybe the only place we use single list link post outside.
Yeah, so settings.
maco_nix hiiiii old buddy
unhide this is a paragraph of help text and would have a gap above it.
So she couldn't have seen it there.
This is unless she clicked into a story.
That's at least a couple of months old.
Oh, Hey Mako.
Welcome.
It's it's been a hot minute.
Hello.
Welcome to the lobsters office hour stream.
maco_nix like 17 years?
I will let you share any personal info you care to, but yes, I recognize you.
Okay.
Yeah, something like that.
25:43So let's go ahead and kick off a deploy.
So Mako, it's not that I'm not thrilled to see you.
maco_nix a fuckload
It's that I'm trying to be particular because I don't know how much personal info you share online.
But anyways, I hope you're well.
dzwdz i'm confused why we're using :not instead of specifically selecting that single button
dzwdz i think i missed something
All right, so let me look at that auto size because it was kind of irritating.
26:21DZ, it's all of the buttons.
The standard is, I think maybe you're reading the rule backwards.
We want submit buttons to have a space above them and submit buttons are all over the site on every form.
On the story submission form, the edit tag form, the comment form, the messaging form, every form is going to have a submit button.
It's really just
chamlis_ how does the new selector avoid the pushover/gravatar buttons? I was away for a sec
So there's these link posts for... Did I lose that story I had?
dzwdz ah, okay
How does the selector avoid...
27:13It doesn't try to avoid the...
These guys are link posts they don't need extra space.
chamlis_ ahh I missed that handy class
So it's just the form with the class of link post.
And then also the input has it yeah and I changed it to link post because that's the class that's getting at what we're doing here is.
For exciting HTML reasons, this has to be an input type submit, but we want it to be visually styled as a link because it makes sense for that context.
And that's what's going on with that disown button you saw on the story where I can't disown any of these because I'm not going to be the submitter, but because it was inline here, it has to be a
It's got that link post class, and then we want it styled as a link instead of a button.
All right, so that's that bug closed.
And then I was going to look at story submission.
Yeah, so this guy doesn't have the little icon in the corner.
Let's reload the page, see if there were any console warnings.
28:43Hmm.
Node.js.
dzwdz have you talked before about the general philosophy behind lobsters' css?
Okay, that's sure not my code.
All right, not going to worry about that.
29:02dzwdz i feel like that could be interesting
What is this for now?
...09The general no I don't think I have talked about the general philosophy of the CSS we use a.
Honestly, just a pretty old school styling where we have fairly simple markup and.
don't have any kind of layout system don't have any kind of CSS framework honestly we predate almost all of the CSS frameworks.
The original developer wasn't especially a web developer.
So there's some slight oddities that we're slowly cleaning up in the CSS where he tended to write long selectors with a lot of structure in them and lots of style, I think lots
experience has taught me to write shorter selectors and make more structural classes rather than say like let's see if i can just find an example real fast here yeah so like this where we're like okay well in the story holder there's the ts control that has the data ts item and then links in them
This one probably could just be data TS item A because I doubt we use this class anywhere else.
And if you are less specific, it is easier to override things if you just have an ID and an element at most, you know, sort of two levels at most.
And then some of these get into, you know, there are four levels and then there's a pseudo selector, like how would you ever override this?
chamlis_ are you able to recommend a book on good css practices like that? I do tend to hit most problems with the first hammer I grasp
So we've slowly minimized those.
maco_nix by adding an id :-/
But just in general philosophy, I try not to churn things.
Try adding an ID, yeah.
31:12dzwdz ^
I don't think I have a good book on CSS practices to recommend.
Yeah, this is just...
I am old enough to remember when CSS was added to the web, and we learned in that first two or three years pretty hard what kind of selectors to write.
And we talked about it by chiseling our thoughts into cave walls with mastodon tusks.
I don't have anything smart to recommend.
Was there a good... Did Eric Meyer's books...
dzwdz ah great my stream lagged right at the important part lol
What is he?
M-E-Y-E-R?
M-E-I-J-E-R?
32:05Yeah, didn't he write CSS the Definitive Guide? This is probably the main... Man, you know I have the privacy settings right in my browser when I hit a lot of these captures. I want to say he wrote a book on CSS that was pretty useful.
...30maco_nix Stylin With CSS
Yeah, I'm thinking of these, Eric Meyer on CSS and more Eric Meyer on CSS.
These were pretty influential on me, but I don't have a great, no, I'll just reiterate that I think these books were inspirational to me and important in shaping my experience.
But if you look at them, they're 20 years old.
maco_nix oh no that was Charles Wyke-Smith
maco_nix you know, when i went back to our old employer, during the interview they asked me "how do you override a style?" and i started talking about CSS specificity and how it works, and if you're desperate, an id⦠and then at the end tacked on "oh, and i guess !important exists too, but then user styles can't override that, so it's best to avoid at all costs" and they were like "fabulous answer. we just wanted to make sure that !important wasn't your first answer"
I don't know something a little more recent, and I don't know if they're useful now that there's 20 more years of features in CSS.
I just, I don't have anything smart.
Charles Wyke Smith, Stylin' with CSS.
33:18I don't know this book to have an opinion on it.
maco_nix Stylin with CSS is also old
An old employer during the interview, they asked, how do you override a style?
I started talking about CSS specificity.
...35chamlis_ obviously it's style="..."
maco_nix CSS Tricks by Lea Verou is a great book for teaching you to think more flexibly about how to work with CSS
Yeah.
I didn't realize you'd gone back there.
CSS tricks by Leo Varal.
...55maco_nix yes, 2017-2019
maco_nix ah yes thats it
pushcx https://bookshop.org/p/books/cs…
chamlis_ thanks!
pushcx https://css-tricks.com/
css secrets maybe i don't think i know this book either i'll throw a link here just to make that easier on folks the other thing i learned a lot from reading css tricks this site has a lot of great articles on
designing CSS and really nice overviews of individual features.
Oh, isn't that very cute?
I bet you that's pure CSS too.
34:46I have to come back and read that.
...55maco_nix apparently the old employer was hiring a LOT of people out of bootcamps, so the team i was on was like⦠2 seniors and 10 juniors
See, why is it complaining that all of these preloaded things?
I don't know what this warning is.
I'm going to hope it's unrelated so I don't have any exceptions about auto size.
All right, there must just be something broken with the selector.
Except it's getting taller.
Why don't I have my little resize handle?
Is it there and the image is missing?
Got a text area.
Doesn't have anything overlaid on it.
Oh, no.
Two seniors and ten juniors.
I've seen that before.
So I was consulting and I had one company where they had one very senior developer and he hired us and then he was the new guy, the new like VP of technology.
And then they had one senior dev who had been with the company for 15 years and knew where all the bodies were in the code base.
And then they had decided to basically, I think they had gotten bought by private equity six months or something before we got involved.
So they had cleaned house in the developer department.
So they had this new VP who was trying to build out a whole engineering department.
And then one holdover from who knew how the system as it was, was actually
there and then they were trying to rebuild everything.
And they hired us because they were like, Oh, well, we can't hire fast enough.
So we'll bring in some consultants so that we can make progress as things as we're hiring.
And then they only hired junior devs because they were like, Oh, well, the consultants are senior, so they'll supervise.
And so then it got to there's the VP of tech, who's just
busy with management stuff all the time.
And there's the old hand who's busy firefighting all the time.
And then us consultants, and there were like four of us and we're trying to herd, I don't know, call it 20, 25 junior devs.
It was not a successful product, not a successful project.
So on page load, yeah.
So why are you not?
37:28Let's just add a log. Let's see if this is one of those streams where I'm going to get mad at import map again. See, I've broken something because this didn't load. Missing. Let's see.
...47Okay, so you see that it's there. Did auto size just lose its little page corner icon? So it returns this.
38:31I wonder if import map broke this. Does import map changes the environment a little bit? No. So here's the, where's the main function?
39:02It's been a minute. And by a minute, I mean about a decade since I dug into this. So we init vertical horizontal. And then I want the function that is going to attach this vent handler.
...53It's got to do with my name, right? Here we go.
40:26maco_nix chat, i was an intern on his team way back when. his vim skills have always been ridiculous, he'd walk up to me, watch my hands, and then say something like "capital i" or "c a paren" and then walk away, to tell me how to more efficiently do something i was doing
You know, it does actually seem to be functioning.
It's just the missing resize handle in the corner.
I wonder if that's a CSS thing.
...42Hopefully I was polite about that. Yeah, so Vim, I started using it in what, 96, something like that. And then in 98, I had a job with a lot of downtime. And so I just slowly read through the Vim manual one chapter a week, because you can only learn so many keyboard shortcuts at a time.
41:15dzwdz the ENTIRE manual?
See, this also doesn't have the little...
corner icon that I remember.
dzwdz how long was it
maco_nix RIGHT??
So we're asking style overflow.
maco_nix its an actual book
I swear there was a little resize control in the corner of these.
I want to say the entire Vim manual was like
30 chapters, so it took me about half a year.
So it is worth noting... No, not this.
Vim doc site, maybe?
pushcx https://vimdoc.sourceforge.net/…
Yeah, here we go.
The Vim user manual, this guy.
So it's in...
I didn't read it on the website, I read it in Vim.
But it's all of these chapters.
OK so now it's up to.
Call it forty five chapters.
No there are gaps here.
But I just went through these very slowly because you can you can really only learn.
Like one or two keyboard shortcuts a day at most.
dzwdz now do that with emacs
And I remember it taking me something like six months.
So maybe that one chapter a week thing is just me kind of backboarding.
But yeah, do that with Emacs.
Never got into Emacs.
Clever tricks.
maco_nix i married an emacs user
I like clever tricks.
I know some of these tricks.
Actually, most of these tricks are like, use bang to shell out for me.
Married an Emacs user.
Oh man, blended household.
maco_nix (we were already married when i found out)
It's like when a Catholic marries a Protestant.
I'm not trying to get too spicy here.
43:28Epic_Ninja_Elephant @maco_nix spaces or tabs, though?
dzwdz i'm sorry
I swear there was a resize handle on these that I've broken somehow.
chamlis_ was the massively inflamed pinky finger not a dead giveaway?
Styling.
...43Was there a browser setting for it?
Spaces are tasks.
Oh yeah.
dzwdz i'm back into emacs because of org-mode but i would NOT want to write code in it
God, I imagine the most annoying thing is that Vim users remaps cap locks to escape and Emacs users remap it to control.
44:17dzwdz the way emacs handles indentation is so wrong
Frici evil mode?
dzwdz hm yes let's replace runs of 8 spaces with tabs
this this is the darn okay so this okay this is exactly the thing that's missing so let's make sure that this isn't removing it and
If the restyle is vertical, change it to none.
If it's both, change it to horizontal.
That's a weird one.
dzwdz i used evil a few years ago, but right now i'm going for a very vanilla setup
dzwdz living off the land
Okay, so it might be that.
45:15maco_nix i wish tabs was the standard bc then we could each configure the width we want to read at, but i acknowledge that the style guide of every language i use calls for spaces, so here we are
Frici not joking dz LUL I actually do recommend evil mode. is how I use emacs too cause i also really use emacs only for org and or magit
Is Evil using vim keystrokes in Emacs kind of thing?
...34dzwdz i actually do blame emacs for the spaces vs tabs war
Frici yes evil is one of them
Oh, actually, Mako, if you look, you can see one of the big changes I have made to my terminal setup in the 17 years
chamlis_ dzwdz: I have a `(setq-default indent-tabs-mode nil)` in my config that maybe fixes this
dzwdz yeah but then you need to use spaces :(
Frici there is a few packages for emacs that do vim keybindings for emacs.
dzwdz and tabs are objectively better
dzwdz brb
since we were working together is that now i just use vim as the terminal multiplexer instead of running in at the time it would have been screen but i moved to tmux afterwards because it was a little bit better supported and easier to script and now i just use vim directly so i think it's just this i think that's what i don't want
It's OK, Kat.
So if I load reply.
maco_nix screen is still my go-to if i need something to persist beyond an SSH session
No, where's my?
46:45maco_nix i never learned my way around tmux
Call it the console.
...54Epic_Ninja_Elephant hides the 12 tmux sessions he has running
OK, so even if I comment that out, where's my resize handle?
You're still set to resize vertical.
Oh, it's there.
It's just tiny.
OK. Then it should come back here.
Good.
47:39maco_nix some of the commands you taught me weren't available on the old vim 6 or whatever it was on the solaris boxen at school, so i first compiled a modern-to-2008 version of vim in my ~/.bin so i could use them, then switched to using vim-over-ssh
It's less good.
...46hmm. I guess I would prefer this to turn itself off if the user manually. I'm gonna leave it alone. I think I'm
48:21What the heck did I create?
...29dzwdz oh hey my legitimately obtained css secrets pdf finally downloaded
So when I see a file with a name like backslash backslash, I pull up a GUI for deleting that.
Because boy, do I not want to hassle around with getting that level of coding right.
All right.
...51Okay, Deezy.
...59That's a dedication to Vim there, Mako. And anyways, Epic Ninja Elephant. I do still sometimes use Tmux for when I'm SSH'd in and I know I'm going to continue something from home or vice versa. But otherwise I don't tend to reach for
49:24I guess that's what I was thinking of. We fixed this. All right, so then let's go look at the Rails server log. So this, yeah, it doesn't print in development mode. Let's see if I can get it locally. So basically there was a message that showed up at startup but only on Prod. about wanting a message pack gem installed. And it was very strange. Let's just find my post. Because the odd thing about it was, I don't think I could see that if I'm not logged in.
50:25The odd thing about it was that I could see it
...34pushcx https://bsky.app/profile/push.c…
at all rather than like it's this error message that says hey you don't have message pack add it to your gem file and it's like hey you're a library why don't you add it to your gem file and it'll get installed like if it's your dependency you install it such a weird little message to me and then i asked byron wtf because he's on
this commit that added the message.
But apparently, he said that there was a second version of it in solid cache, which we only added recently.
So that's probably why I'm puzzled by it.
Oh, OK.
Exact same message.
I didn't find this.
51:26Am I just in the same?
OK.
Ah, so he's saying that it's loading this thing.
dzwdz oh my, the typesetting is very pretty
But again, so solid cache, I guess, is not getting loaded in local development mode because it just does the in-memory store, probably.
All right.
Can't edit log production log.
All right, so let's... Where is that configured?
Environment's production.
52:46It's funny, there was a whole bunch of fuss.
So I've been catching up on Ruby conference videos because I saw this really nice website.
Was it rubyevents.com?
pushcx https://www.rubyevents.org/
No, rubyevents.dev?
Yes.
And because I got married and changed my name, I actually found a bug in this where
maco_nix oh someone made an elixir events site based on that, ignoring that the EEF already had a page for that lol
a talk I gave under my maiden name caused me to be listed as a speaker, and it said I had one talk, but then when you clicked through, it wasn't there, and then my talk was actually under my current site.
Ah.
Yeah, so I've been catching up on these Ruby talks, and it's been pretty great.
And there was a whole thing from Rails world that was one of the vaporwares that DHH announced of shifting to structured logging.
maco_nix "one of the vaporwares" XD XD XD
But then it looks like development on that stalled.
And I would really like that to pick up because shifting over to these JSON logs has been pretty good.
Yeah.
So maybe two or three years ago, he wasn't invited to keynote RailsConf.
dzwdz @maco_nix thanks for the rec, i might pick up a proper copy of this
because he hadn't done much in the last year and there wasn't really anything to talk about and he got so mad about it that he announced his own conference and then he gave the keynote for that obviously because it's the conference where he was the most special boy and everything he announced was vaporware so if you watch the rest of the talks from that first rails world
maco_nix woooooow
all of the talks that are about the features that he was showing off and then like there's some talk from a 37signals employee who very clearly had this project dumped on them like two months ago three months ago and they're like yeah we're working really hard to add this brand new feature that was just announced in the past tense an hour ago it was very embarrassing
I'm going to have to fight all these settings, aren't I?
Yeah.
You know what would be faster than fighting all of these settings would be configuring development to load the cache.
55:31Yes, there is even a task for it. Look, hey, look, there's my comment. about doing this, or maybe it's a default. All right, so Rails. Add a cache to enable it. Good. Start the Rails server. And you don't give me the message pack warning. Dang. I really didn't want to have to be logged into prod to locate this.
56:18I guess I have to, right? Yeah. Yeah, a little drama in the Rails world.
...34So the RailsConf that has run for, I don't know, 20 years, has been run by an organization called Ruby Central that is the nonprofit that maintains
maco_nix someone on the women in tech chat got real mad at me for saying something flippant like "was it not weird for a while?" when she said the rails community had gotten weird lately. but like⦠most of my contact with rails was back when codes of conduct were still controversial
the Ruby ecosystem, speaking with a broad brush.
And they have put on RailsConf and RubyConf forever.
And they are basically saying, yeah, we're gonna run our one last RailsConf and then we're gonna get out of it.
Running two conferences a year doesn't leave us a lot of,
time and attention and energy to do anything else.
We want to run just RubyCon and spend more time on gems, the shared libraries.
So this is great for us.
I don't know.
That does make a lot of sense.
maco_nix oops gotta run, meeting
I wish them the best of luck.
The whole thing is a shame.
So
Oh, Mac, I was going to answer your question.
The answer for was it not weird for a while is yeah.
From like 2020 to 2023, Rails was kind of stalled.
Not much happened in there.
Rails 7, most of 6, they were pretty minor releases, honestly.
They didn't change a lot.
They introduced a couple of things, but they were very small.
I don't know.
58:24So where was his link into solid cache again? So he said, solid cache lib, solid cache config. I feel like I'm seeing, hold on. Let's wait locally. Let's disable that dev cache because otherwise I'm gonna forget about it and it's gonna bite me. He was saying just call caller. Okay, so that gets me a call stack. So if I said quits caller, which version? All right, that's good enough. Just making sure that caller is a global, like he implied. All right, making sure it's not like a gotta pull in binding of caller or something.
59:27vim nested in vim nothing bad happens here so it was lib solid cache config and then if i add a it's caller here i should be able to see it just opening a console this is me trying to get out of running it in production running it in I just don't want to restart Puma. Yeah, and I'm not getting the warning.
01:00:19So this is the warning that shows up in prod. And I just... I guess I have to kick the server.
...38dzwdz could someone ping me once we get to the vibecoding tag discussion? going to read the book for now
debating whether it's worth the like 90 seconds of downtime because if i have to actually restart puma instead of just telling it to reload we do take 60 to 90 seconds of downtime and this is just a random log message that bugs me rather than a
01:01:09DZ, I will try to remember. All right. So we've got... Take the downtime.
...35chamlis_ I'm curious what takes those 60-90 seconds? restarting apache for php is essentially instant
And bring up the...
...52The Puma workers take a while to load. So if you run Rails server locally, you'll notice it takes four or five seconds between it starting and that's just loading and parsing all of the Ruby. And then doing multiple workers at once makes it smaller. See, we're getting the message and we're getting no So I took the downtime for nothing.
01:02:32There's a whole thing I just got turned on to a feature in Rails called boot snap that sort of, when you boot, it has to load all of your Ruby, you know, Lex it, parse it, compile it, maybe JIT it. And then, well, that's why JIT. There's a tool called BootSnap where it runs a cache just before it actually starts the Ruby process. So at least you have all the Lexing parsing stuff kind of done. But it was introduced into Rails a couple of years ago when we missed it in the update. And so it's never been configured for our app. Because you think of it like most of the time, most of the files in our app and our dependencies don't change. So you could save that time. All right. Well, if that didn't do what I want, I guess we got to go back to where I found it in active storage, right? Or active support. Let's.
01:04:04chamlis_ I don't know if php caches like that or loads lazily then, because dev is also pretty much instant
So bundle open.
...11Is it?
...18I think. I think on PHP, a big chunk of it is just that there's less PHP. I think Rails and all the dependencies are actually pretty hefty at this point. Like lobsters is only, I don't know, 15 or 16,000 lines of code, but Rails and our dependencies are probably 10 times that.
...53Let's see, so I'm in lib, active support, message pack. No, message pack. There's also an RB. That's what I'm looking for.
01:05:14So this, if I put a caller here, is that going to work? Because I'm rescuing. What I want is the color for this. Let's test it in the console.
...59chamlis_ I count 219684 lines in laravel 11, not including its dependencies. I'll make a note of looking into bootsnap at some point
So I am getting the actual line of the IRB.
Oh, wow.
Well, that's definitely putting it up into the neighborhood of Rails.
Yeah, well, I have no idea what PHP is doing.
I don't think I've professionally written PHP.
I mean, like, I've touched WordPress a little bit in 2009?
I must have touched PHP once or twice after that, like maintaining my WordPress blog, but I don't think I've gotten paid to work in PHP since like 2003.
No, 2006, seven.
So anyways, it's been forever.
I have no idea what PHP does anymore.
01:07:18Bouncing the Pumas.
...26I only need to see that one warning. All right, so we got the heinous inline partial. So you can kind of see, like, this first message is what Puma starts printing when it... There we go. There's our callback. Is what it starts printing when a... Puma worker starts, and then that heinous inline partial is the first thing that our app starts. So whatever this difference is, seven seconds is roughly what it's taking to load Rails. And then from this point on, it's our app booting. And the first one takes, call it 17 seconds. But then after that, they grow because they contend with each other. I don't remember the state of our Puma config, but I tried to set it up to I've hacked on it so much, trying to minimize this time. And trying to stagger the start of Pumas. I might have pulled that out because it was more trouble than it was worth. I don't remember. So this is saying... What? I should have put an extra puts after it. It's Rack Attack doing it.
01:09:03So if I find the end of this, that should be... So the issue is we've got the traceback, but we have the traceback like eight times because there are eight workers that started, and I want to find one complete version of it that's not repeated. So if I find the beginning or the end of it, in the beginning, this shouldn't be interleaved.
...39Oh, the Puma worker number here is. Okay, so this is, all right, here we go. This is a complete version of it because it's everything for one process. So if I grab everything with this PID, whether that's a PID or some other local ID, that'll do it. That'll be unique. All right. Great. And then we don't need all this.
01:10:22Let's do this again because I don't want this. Yeah, I don't want this line wrap and I don't want to manually undo that line wrap nice to get out of prod all right let me look at that off screen so there's sometimes
01:11:06IP addresses in this thing if someone managed to send a particular kind of invalid request. It doesn't look like that's an issue. People are constantly probing all production systems with exploit tools, and there's one that tries to send weird, invalid UTF-8, and they show up in that log.
...34Let's get this out of here. Is it restore active support? Refresh? Reinstall? There's some message. I did a valid revert of that, but it's just good practice to tell Bundler to reinstall it. Is it in gem?
01:12:12Christine.
...19So even though I think I did it correctly, I have learned, is it not just do all of them.
...40This is... I bet it's not executing in the context of the bundle. There we go.
...58Ta-da. Now I know that no Vim typos have slipped into the file to break it the next time the server restarts. This is one of those... bits of scar tissue that I've learned of. If you're going to add some logging to a gem, you have to run gem pristine afterwards, even if you think you correctly put things back.
01:13:43Now we just want one complete backtrace. And then we can take all of this off.
...59And the rest of this is redundant too. Huh. Why the fuck does that say 3, 4, 0?
01:14:17We should be on 3.4.2.
...27Or 3.4.3 even. Why are we not? This is me rabbit holing, right? Yeah, so you specify it. It's versions. You think we're on 3.4.3, but then why did, 3-4-0 start.
...56The differences between these are really minor. Is RBN saving the 3-4-3 gems to the 3-4-0 directory? That's strange.
01:15:27You say you're 343. Hmm. All right, I'm gonna leave that sleeping dog lie. That's gonna bite me in the ass in six months when we try and use something in a point release and I go nuts. So someone remember... Let's put it in the notes.
01:17:15OK, let's grab this.
...32I need to be actually logged into Blue Sky to reply here.
...49So I'm pulling up my notifications off stream and digging around. Okay. So that I can answer that it's rack attack loading solid cache.
01:18:21I don't know why it would.
...36I still don't understand why maybe rack attack encrypts its stuff by default because it considers IPs PII. That's kind of plausible.
...59All right, so I just left a little note here linking to that.
Did I grab this?
Throw that in the... All right.
All right, well, all the little coding things took twice as long as I expected, but if we still want to talk about vibe coding, let's ping DZ.
pushcx @dzwdz vibecoding?
Go ahead.
01:19:40This one is on there because I wanted to leave comments in production and I wanted to make sure to invite folks to ask more questions, run queries. I never turned on the site footer, did I? Dang it. Well, let's touch that the office hours are live. I tried to get this wired up to run automatically when I start a stream. Did not successfully get that wired up. That's going to be more yak shaving with my OBS setup.
01:20:28dzwdz hi yes i'm here
All right.
So DZ, did you have something you wanted to say about it?
dzwdz nah, i just wanted to listen in
pushcx https://lobste.rs/s/lkngrz/new_…
So the gist of it for folks, let's go find the post.
Was this meta post about a new tag?
Okay.
Well, I didn't have too much to say.
Like I was gonna write a comment or two in response here, but
I mostly wanted to make sure I was making specific office hours time for it because I know some folks find that more comfortable than participating in a meta thread or just directly emailing me, although folks are not especially shy about emailing me.
All right.
01:21:34Frici not surprised they are, e-mail is clunky and impersonal so it feels too professional to use
So I'm just kinda hanging out and if somebody wanted to talk about it, we definitely can.
Otherwise, I don't know.
Email is too professional to use.
Frici so throwing a mail for small things feels bothersome
I think you might be one of my teenage nieces and nephews.
When they wanna hassle me, they send me texts in the style of like,
a Victorian letter from someone off at sea, like, my dearest Chickapa, it means uncle, my dearest Chickapa, I hope this missive finds you well.
And I think they do this because I write texts with complete sentences.
bluwumeaway thats fun
And when I send an email, they're like, oh, my God.
No, I didn't check my email.
I don't read email.
I don't read Facebook.
chamlis_ get them on irc
anyways so freaky yeah that's kind of why i reiterate that there are many ways to contact me from like dming me on blue sky to messaging me on irc to showing up at a stream get them on irc i'd rather get us off irc i don't need to beat that dead horse
01:23:08So I got the Puma thing done. I'm closing some stuff off screen. I'm deleting a story summary off screen, which, all right.
...44dzwdz so what do you think about the points people have brought up
bluwumeaway are your opinions on chat applications the same as a year ago or so?
pushcx https://push.cx/discord-vs-irc-…
blew me away yeah the discord verse irc rough notes there's not much to add to this there's an editor too at the bottom of this article from you know a day or two after it was posted but there's a couple other small additions here but otherwise no this is all pretty much the same i heard of something called revolt which
What a name.
They named their chat at work after being revolting, I guess.
Maybe it's riffing on Discord, which is also not a word with a lot of positive connotations.
Such a strange choice of name.
And I've seen it mentioned just in the last week or two as being in the neighborhood of Discord, but actually open source.
I don't have any opinion on it.
I looked at its homepage and I went, okay.
Frici I mean it seems to be a discord clone both visually and feature-wise ish
But otherwise, no.
No opinions on
dzwdz personally i did wish we'd get a tag like this, but i never brought it up because i'm not going to filter it out anyways
chat applications that have changed, really.
Frici so revolting sounds reasonable
So my response to comments here... Yeah.
Ah, yeah.
So, Fritjie, you're kind of getting into a thing that comes up in the comments that ties back into the vibe coding comment.
And I'm gonna...
dzwdz i don't like LLMs but i do want to see what uses people come up with
Yeah, I'm gonna make a light mode warning and pull in my, oh, well, no, I'd actually rather not pull in my personal browser on this because there's like flags and stuff that show.
There's a thing that comes up with these AI coding tools and it came up in the comments on this thread where
It is not enough to disagree people also do this very loud expression of disgust and I am tempted to call it performative because some of it is.
it's rude to doubt somebody sincerity like that, but some of it is incredibly over the top.
Frici it's almost is if I said it deliberately after reading that thread yes (since we're on screen) LUL
And it's not.
useful rhetoric in that it's not especially convincing, especially to me and.
Frici also yeah I agree dz even if something is not to my liking, I always Love to see what people come up with.
it tends to deliberately it's rhetoric that's trying to shut down discussions and that's why i said hey let's stop beating this dead horse of when there's a post about somebody using one of these tools there is always somebody showing up and it's like well i need you to know that i don't use it and it's
really just tedious.
And it's not nice when somebody wants to shut down the discussion like that.
It's rude.
01:27:10dzwdz wasn't it off-topic before this tag too?
So if you have other specific questions i'm happy to jump into it.
...19Tuesday, could you say what was what's it in your sentence of wasn't it off topic.
dzwdz yeah, we might need to be more specific
i've been I said it here at the next paragraph just hanging on the bottom of the screen, but i've been really relaxed around topicality with all the LM stuff because it's been.
such a it's been the new hotness.
It's been this giant explosion of interest in people doing things and making things and experimenting and it wasn't at all clear what it is.
dzwdz e.g. when there was that story asking about what AI tools people use - imo the "None" comment was on-topic
dzwdz not sure about the replies to it
So
01:28:12dzwdz yup
pushcx https://lobste.rs/s/6san1l/neov…
The none comment, you're thinking of the one with NeoVim, right?
Yeah.
This story.
That is the exact kind of thing I'm going to start removing because it is non-responsive to the question.
and we've beaten this dead horse and they just wanted to keep beating it there is nothing interesting in here there's a big meta thread there's this whole thing about whether someone is skilled there was this slap fight of people just like dick measuring over who's the best programmer in the world and do you think you're better than me or better than this other guy it was
not a good sub-thread that added nothing to it.
And if we allow it, it becomes a heckler's veto where anyone who mentions these tools knows they're going to get shit on endlessly and there's going to be some distracting flame war.
I don't want to do it.
It's just not worth it to allow that kind of thing where
dzwdz do you have any examples of this behaviour under other stories?
So we have a bunch of topics on the site that people don't like, and that's what tag filtering is for.
And when I say don't like, I mean more than just, I'm not interested in Perl.
I don't use Perl.
I don't read Perl.
Blah.
The other same behavior we see sometimes is I don't like company X that's very involved in this programming language.
So every time the programming language comes up,
I'm going to relitigate how much I don't like this company.
Or I don't like,
the software license that it's licensed under.
So every time the project comes up, I'm going to rant about the software license.
Or I don't like that this isn't using my favorite software license, which is usually one of the like GPL family.
And most of those have been pretty minor, but there is something about LLMs that's really pushing people's buttons where they have to post this extreme disgust response to try to shut down discussions.
And it's not doing anything good.
And it's not persuasive to me, which is why I'm like, all right, let's make a tag for vibe coding rather than kick it off the site.
01:30:50So it's much milder for other topics.
pushcx https://lobste.rs/search?q=riir…
dzwdz i meant with LLMs
dzwdz about*
yeah i do actually there's the other one where it comes up most often is the idea of rewrite it in rust it is mostly settled down but the idea of like should we rewrite existing software in rust and it this also oh oh sure
It's on all of them, I want to say.
So...
I'm exaggerating.
But a lot of these, like...
I'm going to just come down to the most recent ones.
Why can I not select this text?
mjiig I have mixed feelings about the top level "none" response to that question, I agree a lot of the replies were bad, but when I want to know about how people use something, that some people don't use it is a good datapoint
Am I going to really fight the fucking...
Thank you.
A lot of these.
Frici ah yes hating rewriting software in rust, or rewriting it in go as was the trend before rust... what a thing to put energy on
Frici (the hate not the rewrite)
Yeah.
01:32:36Mjig, would that be a useful response on every question?
We don't see a ton of ask posts, but we do see occasional comments where, say, somebody mentions Elasticsearch, and someone might ask a question like, hey, do you use this in prod?
Maybe one example is,
had a story about sqlite in rails and i asked hey does anybody have performance numbers from using it in prod i don't think this got any responses no but when these kinds of hey here's something related i have a question comes up getting a bunch of replies that are like no and you're dumb if you think we don't usually see something that harsh as a direct insult so let me not
leap for an exaggerated example.
But if this got a bunch of comments that said, it's a mistake to run SQLite in production.
I don't know why anyone would ever try.
It's unprofessional to run SQLite in production.
mjiig I agree the "you're bad for wanting this replies" suck
Epic_Ninja_Elephant My love for SQLite is unreasonably strong.
These kinds of things that people say about LLM coding tools, these endless expressions of disdain and disgust.
And I'm just so tired of it.
01:34:06pushcx https://lobste.rs/s/jcscxj/are_…
Yeah.
Epic_Ninja_Elephant But I don't run Rails, so I didn't respond to that question.
So, so DZ, I would say just go through the vibe coding tag, but here's one from a couple of days ago where like, do these count as tools or not?
Come on, what are we doing?
mjiig And it's not useful to say reply to questions about using something saying you don't use it because you've never had a use for it
Maybe this is just the post.
...36Well, Epic Ninja, I posted that question a bunch of different places. Where I posted on like Blue Sky, Mastodon, a couple of Ruby related slacks. And I did get a bunch of responses that were people who were like, I don't use this in production. Great, thanks. Or they told me like the most 101 facts about running it in production of like, Did you know it's a database? Yeah, that's why I'm asking. Oh, well, it's used by the cache. Yeah, I said I used it as a cache. A very strange one.
01:35:22Yeah, so instead of calling them LLM, calling them bullshit generators.
...46Especially these ones that are like, what does it mean for the world or the industry?
dzwdz what's your personal take on LLMs?
Those get a lot of snark.
I've been streaming about a half an hour longer than I expected.
I don't know.
Are there more other things you have questions or opinions about?
My personal take on LLMs?
mjiig But to give a slightly tenuous but less charged analogy, there's a lot of tool bikeshedding in the proof assistant communities about editors, because they're tied to the language interfaces, and it was genuinely useful to me at some point to see that a lot of really skilled users of these languages don't use any of the fancy editors and are still productive
pushcx https://push.cx/stream/2024-10-…
So I did an office hour stream a couple of months ago where I showed this tool that I've tinkered with called Ader.
Yeah.
Frici people getting all flameflinging when it comes to the semantics is painful to see as well (and counter productive really)
This is, my opinion hasn't really changed in the, wow, six months since this, that they are interesting tools.
They mostly work.
They take some training to use.
I don't use them in day-to-day because of the uncertain copyright of the output.
I wouldn't want to put any other code into a code base I care about.
But it has changed the... Where's the... Did I link it in here?
dzwdz also one complaint people have had is that "vibecoding" is just not the right term, which i think i agree with
No.
01:37:05pushcx https://xkcd.com/1205/
Ah, it must have come up here.
dzwdz and that was coming from people from both camps iirc
They've sort of changed the equation here where for ancillary scripts, like I needed a script that would log into an IMAP server and delete everything with the same subject because a bad process through, I don't know, 3000 duplicate emails at me.
And the alternative was just wait for the IMAP client to download them over the course of a couple of hours and then manually, you know, control A, delete.
Frici @mjiig it's more productive to be productive and produce things however than it is to talk about productivity and producing things.
But I could use AIDR to knock out a Ruby script that I would run exactly once to log into that IMAP server, find all messages with that subject, delete them, and move on.
And instead of that being a like, yeah, you know, I could hack that out in, I don't know, an hour or two of focused effort,
dzwdz also hm. would "None, because of copyright concerns" or whatever you said be an on-topic reply to the neovim story?
The LLM could spit that out in 60 seconds, I think 90 seconds with bug fixes, like not much time.
And then I could move on with my day.
So I think they're interesting for this kind of, you know, these little side quests, these extra tasks, the yak shaving.
But I don't want to use them for writing production code.
I guess the other thing that's changed in the last six months, there is one change where I've started to hear really in the last two or three weeks that people have been building tools that like integrate with a bug tracker.
And when you file a bug,
mjiig @Frici I think it's more complex than that, I've had ten minute conversations about how to use tools better that have saved me hundreds of hours
They have a whole integrated system where like you one click the bug and then it fires up an agent in the repo in a Docker container and tells it to try and fix the bug without, you know, they have different processes of like write a test to reproduce the bug, repeat until you can get the same trace back.
This is a bad choice because it's a visual bug.
And then
iterate until they have solved their new failing test.
People are saying that they're getting real results out of that.
If that kind of workflow becomes common, becomes standardized in production, that's really interesting.
A little bit tempting, I don't know.
The fact that there isn't a clear answer to who owns the copyright of the output text, is it uncopyrightable?
Is it the author?
Is it the people who made the training set data?
I don't know.
01:39:58dzwdz because i do think this is a valuable perspective
As for whether vibe coding is the right term,
the folks i see actually using this have started using the term in a very general way to any use of these ai llm coding tools and i don't i see that only broadening because jargon tends to broaden and maybe i was early on that maybe i'm wrong i don't know
off the top of my head, but it feels just like I'm early because I'm hanging around some folks who are using it more aggressively.
01:40:37dzwdz ai crawler stories are being tagged with vibecoding which feels plain wrong
DZ, I would say, I don't think we've had people talk much about the copyright on the site.
Frici @mjiig yeah there is nuance, not unlike peter earlier mentioning how it was useful to talk about how to use sqlite instead of "huh i dont use sqlite why are you even talking of sqlite when nobody of us uses it"
So on that specific example, I would say sure, once, but otherwise, like,
01:41:02dzwdz they would be interesting to someone who is not interested in vibe coding though
dzwdz i think
yeah the ai crawler stories i tagged them because they're about the use of llms and the responses to them and they're all in the bucket of i would rather give people a tag they can filter out than have them re-litigated across the site on every article that's where i was getting at with this definition of is it about
creating the thing itself, or is it responding to the thing?
01:42:02dzwdz there was an example of not tagging posts about writing forum software "math" just because the forum happens to be about math
There was, was it the, let me make sure this is muted.
Okay.
So there was this talk.
Yes.
By Gary Bernhardt.
And I want to say this is the one, right?
pushcx https://www.youtube.com/watch?v…
If it's going to have the... Yeah, this is the talk I'm thinking of.
One of the examples in this talk
which is a great talk.
I think this is a really interesting and useful way of looking at language and system design.
But one of the examples he comes back to is this quote that is about structured programming.
And structured programming is sort of a funny bit of jargon because
mjiig @Frici Yes, and I should say I'm glad separating the criticism and the venom and the off-topicness is not my job, and I'm sympathetic that it's subjective and hard, I'm just not sure all "none" like answers are irrelevant
is 70s programming jargon and all pretty much all programming now is structured programming and so the jargon has ceased to be useful because it is ubiquitous and structured programming is the idea that instead of writing in machine code or
A hex we should write in a high level assembly language or even a compiled language where we are able to express high level concepts like if or functions.
And this kind of criticism of.
languages as.
such high-level tools that they will never be practical and useful.
Throughout this talk, he gives multiple examples over decades, and it's worth noting this talk is more than a decade old now, so there are plenty more for new compiler systems.
We're doing this again right now with LLM tools, where we have this whole new class of tools
And people are expressing new versions of this of LLM tools are a nice non industry exercise, which works well for small examples, but I doubt any real world program will ever be written with such a tool, right?
dzwdz i don't think people had ethical issues about structured programming
Like that's, if I were to update it, I only have to change two words and I have created a current comment that you could see on lobsters or HN dismissing LLM tools.
dzwdz what lmao
and oh they absolutely had ethical issues about structured programming and compiled languages in general they were they were like a moral failing of the programmer to engage with real programming that
their use was going to lead to weakness.
And if you didn't really understand what the processor was doing, you were wasting cycles, which of course we now call wasting energy and contributing to climate change.
It is, it is absolutely the same set of arguments.
Yes.
chamlis_ blimey history really does repeat itself
And I say this as somebody who started programming more than 30 years ago.
So some of the complaints about structured programming were still kicking around.
Frici @mjiig I think we agree but with different words LUL
Yeah, so first, I wanna say his first example is structured programming, which is the idea of being able to use if and functions.
And then the next one is,
the introduction of garbage collected languages.
And in the 90s, oh my God, that fight never ended.
And it was every programming discussion was whether in the middle of the 90s on Usenet, like the flame war never ended.
And it also like never produced anything new.
And what just sort of happened was garbage collected languages quietly took over anyways.
And I know that there are still the revanchist game programmers and embedded system designers who are like, no, I will never use a garbage-collected language and you will never produce a worthwhile program in garbage-protected languages.
And we just literally had a thread on this again.
pushcx https://lobste.rs/s/ipvyhu/four…
Just, what, last week or two weeks ago?
Because there is this language, Jai.
that is still having this discussion of whether languages should include garbage collection and it is the same language of unserious non-adults you're not a real programmer if you use one of these xyz like the nouns change but the rhetoric doesn't change and i think so like i'm venting a little i'm griping about the rhetoric but
This is okay.
This is how the industry makes progress.
This is how we understand things.
It is okay to relitigate this stuff.
Sometimes it might even be right.
But if we do it in a way that is ignorant of our history and how we have had very, very similar fights for the entire time that we have had a programming industry,
We are not having as productive conversations as we could.
And I would appreciate it if, you know, we got somewhere with this as opposed to just having fights that go nowhere.
01:49:06dzwdz i suppose something i'm worried about is that this will misrepresent the view of the community about ai tools
dzwdz make it seem uncontroversial
anyways so i think one of the reasons i'll have to write it up and link it in a comment one of the reasons i've been thinking about this talk a bunch lately is make it seem uncontroversial i don't think we're in danger of them being uncontroversial for another couple of years
judging by the historic timeline of structured programming and garbage collection.
And is the web an application platform?
And what are the other big ones?
MongoDB was one, the whole NoSQL thing.
We did that.
So we've been doing LLM coding tools for about a year.
So we've probably got another six, seven, eight before someone else finds another big thing for us to relitigate it.
I don't know.
There's just sort of, I don't mean to sound too cynical, but there is sort of at any given time for seven or eight years, we pick a thing that we're all,
to relitigate and a big so the main point of this talk is this idea that in language design languages either push the frontier of what they are capable at they make it possible and easy to express more programs and so this is like c plus plus
is a much bigger, broader language than C was.
It started out as C with classes and then it became all of this other thing and C++ is a kitchen sink language with a hundred features and everybody who uses C++ picks the subset that they are happy with.
And this is a really useful and interesting thing because
There is a flourishing of creativity and experimentation and even a flourishing of failure where we try a hundred things and we find out what doesn't work.
And then there is another kind of language design where we have like Java, where you cannot do all of the wild multi-threading things in Java that you can in C++.
You don't have...
you don't have all of these other things.
They take the language that came before and they boil it down and they say, we are going to make a language that is very suitable to one family of tasks like business programming for Java.
And this is also very valuable and it leads to a kind of flourishing where people get really good at using the tool in the way it's intended and figuring out, okay, having had that period where we had
100 competing approaches.
Now let's really succeed with the two or three approaches that seemed the most viable.
And we alternate these cycles.
And LLM coding tools are maybe the biggest capability increase we've had in programming tools, because this idea of vibe coding is
non-programmers can write programs and we there there was a thing that showed up a lot in the comments on the tag was oh using this doesn't even count as programming and it's the same it's a stronger version of the same reaction of when there is a language or a tool or
dlamz the insecurity is funny. LLMs seem to highlight how much grunt work out profession actually has
a meme around experimenting and we go through an expansion phase and explore the possibility space of this new frontier.
Yeah, I haven't wanted to be unkind about people's motivations.
01:53:42So I think what's going to happen is in three or four years we will have
two or three roles for LLM assisted tools that like pull request review or minor bug fixes or, you know, right now we call them no code tools.
They very much are code.
They just tend to have these like boxes and arrow visual builders instead of familiar text source code.
And then we'll say, okay, that's all fine and boring.
We all understand it.
And then that argument will settle down and we'll find something else to fight about.
So to your point on ethical concerns, I said it some in this stream.
There's the big question of where does the training data come from?
Did they consent to it?
And I think part of what I said here was
Epic_Ninja_Elephant Overall, our industry and press likes to praise a silver bullet every year or so. Remember when IoT was all the rage? Or 5G? or SOA? Or *intranets*?
dzwdz i, for one, would never illegally download books
I said something really cynical, which is if there's this much utility, people will find a way to settle the moral moral issues of where the training data came from.
chamlis_ it reminds me a bit of the introduction of computer-aided proofs to maths like for the four colour theorem. suddenly proofs need not be so elegant or human
And I think what's going to happen is that there is going to, yeah, there's going to be some kind of compromise, whether it happens in the courts or the Congress about fair use.
because they're not just useful in programming, they're useful in all kinds of things.
Oh yeah, Chanless, that's a really good analogy, and I'm only just connected, like barely aware that I know there was a big argument in mathematical circles over
Are those, do they count as proofs if nobody understands them?
There's a philosophical bent to that.
And then there's the practical, like, can we ever verify these?
chamlis_ similarly, aesthetically I'd prefer a more expressive language to just chucking problems into a blackbox
Does it count as proofs if we have to trust that a computer proved it and we can only verify it with a different computer?
Have we produced something that counts as math?
Right.
Yeah.
01:56:38LeMandelbrot Why is author consent required for AI training on public data? When I read an article and then part of what I learned in it shows up in my own writing down the line, nobody bats an eye. One might argue that it's copy right infringement if large parts of the source material were reproduced verbatim, but otherwise I really don't see the issue.
I hope that answers your question.
...51Hey, LaMandelbra, welcome. Yeah, that's a... It's a good question. And I certainly am not a lawyer, so I can't answer your legal question about what is considered fair use and why is the line where it is. And I know a ton of that comes down to case law.
01:57:30Yeah, I don't know.
...44I really do think this talk is excellent. I'm going to have to link it. Let's make sure I put it in the scratch notes for the stream.
...57What's the word?
chamlis_ it's whataboutism, but I do think about the ethics of other parts of computing: I doubt everybody involved in the manufacture of this machine was paid what I'd consider a fair wage
Not new iteration or new cycle, maybe.
01:58:29dzwdz i'm less likely to recite some functions from memory exactly as if they were written in a codebase i've read than an LLM
LeMandelbrot I guess it's both a moral and a legal question. Society needs more time to work it out, I guess.
dzwdz i remember people having issues with LLMs straight up copying proprietary code
yeah yeah lamandal brought to your point it is a moral and illegal question and my cynical point was if it's something very valuable people will find a way to square both of those away yeah i think you can still prompt llms to reproduce like the famous what's the the quake that
mjiig Fast inverse square root
pushcx https://en.wikipedia.org/wiki/F…
mjiig Drat, slightly slower than google
dzwdz i am not referring to famous examples! because that's different
mjiig The computers are coming for my pedantry
cube root so there's this famous function that's fast inverse square root wow it gets a wikipedia page thank you mj you got the name before i did i know i have seen examples of people saying since this is such a famous bit of code and it's very well defined i know people have said yeah i know you're not
I'm just reaching for it because it's easy to explain.
It's also easier to recognize.
Like if I say I have an array and I want you to transform it like this, if it is reusing something from a Ruby gem with nine installs, I will never know it.
But if I ask for a fast inverse square root and I get this exact function out of it, which is especially likely,
I might actually recognize it because this is a famous bit of code.
So I guess I'm getting it.
There's a practical question of,
If the LLM is straight up copying copyrighted code, can you even recognize that most of the time?
And then whether something is protected by copyright is, was that Java verse Oracle?
So this is an American court case.
pushcx https://en.wikipedia.org/wiki/G…
chamlis_ think it was google vs oracle
Was it Oracle verse?
Google versus Oracle.
This is the one I'm thinking about.
dzwdz yup, personally that's my biggest issue with LLMs
LeMandelbrot This was already an issue before LLMs. For example, there is a certain way to set up a serial port on Linux, and if you implement it, your code will probably be prety much identical to GPLv3 licensed code.
So... Yep, Chambliss, you got it.
chamlis_ drat!
But I found the link first.
For once, I beat you to find a link.
The... Google reimplemented a Java API.
And they wrote their own library that filled the role of that API.
Does copying the interface count as copying copyrighted code or is that interface a specification that the code is meeting?
Was any of this code a meaningful amount of it copied and pasted?
Because sometimes, you know, if you have a function like reverse an array, there's really only like one or two ways to write that function.
You are going to produce the same code.
Does that count as copyright infringement unless you do something utterly ridiculous to avoid exactly reproducing code?
and it is worth reminding that since i'm not a lawyer i am and certainly haven't reviewed this in years it is probably worth reviewing this yourself because i'm probably butchering this example and misremembering bits of it oh man this is a big article with sub articles that's great so like if it takes a supreme court case to know if or no
Yeah, it did go up to the Supreme Court.
dzwdz wow, this must be a fun time to study law
But if it takes a Supreme Court case to know if reimplementing an API is copyright infringement, you kind of can't write a tool on top of the LLM tool that says, hey, did you just spit out something that we can find an exact copy of on GitHub?
Because even if you spit out an exact copy of it on GitHub,
Maybe that function is so de minimis that it's not copyrightable?
02:02:40I don't know.
02:03:09I have thought about getting an actual JD degree.
My big hassle has been that they are very oriented towards law school as a three-year full-time endeavor.
There is, I think now, two programs in the United States that are kind of remote friendly.
grayhatter_ would you take the bar?
in that you only have to visit about once a semester that might be doable unfortunately neither of the two that are remote hey gray hatter welcome neither of the two that are remote are especially well regarded for what i would be interested in which is intellectual property issues like
copyright and software licensing.
There is a law school here in Chicago that is well regarded for those things, but I don't want to go down there full time for three years.
So would I take the bar?
Yeah, probably.
But I would almost certainly not actually practice law as a profession.
because it is not interesting to me as a, like, boy, do I want to be a lawyer.
I have a friend or two who is.
That is not a career that looks interesting to me, especially the first couple of years.
grayhatter_ I feel you, the theory and philosophy is the interesting part
I mostly just am really interested in the issues and would like to have a serious understanding of it.
pushcx https://lobste.rs/s/ukosa1/uk_u…
I wrote about it in the big post, the write-up on
Oh, I'm interested in, the theory and philosophy is interesting to me, but to me, it's, it is very practical of, I want to read software licenses and feel confident that I am correctly interpreting them.
And then I have some ideas for creative software licensing that I would like to actually produce as opposed to, it's a lot harder to do something when you have to hire a professional.
So I wrote this big section in here about being interested in code that I think there is a particularly tempting peril for programmers that making sense of laws feels like diving into a code base because it touches on a lot of the same skills, but we have this big instinct for in programming.
If you can find a contradiction, you have found a bug or you have found a misdesign.
And the law doesn't handle contradictions at all like that.
And it has a whole set of background principles.
And you might call them error recovery mechanisms or exception handling.
They are a little more fault tolerant.
LeMandelbrot It would be funny if the law handled contradictions like math. If you find a contradiction, you can prove anything.
So what almost never happens in the law is you have a misformed contract and you get it in front of a judge and the judge throws the whole thing out and it's like, you know, the contract crashed, here's your core dump, have a nice day, go away.
And we programmers, you know, the reductio for programmers is when we expect it to work like that.
But the other way is when we find a contradiction, we go, ah, undefined behavior.
grayhatter_ yeah, that's the part that will kill you, and it's why the bar needs to exist. Because specific words have very specific legal meanings that don't map 1 to 1 with the obvious definition, and they've been argued over, and over, and over again. Knowing how the legal system is going to read a specific word, similar to understanding why something is UB vs not
I bet that means it works in the way that I would like it to work.
And it's not usually said so plainly.
grayhatter_ @LeMandelbrot I mean... I think it does?
And instead, the law will reach for legal principles we're pretty ignorant of to come up with ways to handle the issue.
And it's not, yeah, it's even more than jargon.
I think LaMandelbrot is referring to, what is it, the principle of explosion?
pushcx https://en.wikipedia.org/wiki/P…
Is that it?
Yeah.
dzwdz there was this (french?) project to make law more like code i think
dzwdz wonder how it ties into that
We're getting off into the philosophy of math here, where, oh wait, can't I, how do I get that appearance tab back?
I can put it into dark mode.
02:08:07LeMandelbrot Yes, exactly, the principle of explosion :D
Epic_Ninja_Elephant Click the "glasses" at the top.
Yeah, I sure couldn't tell you.
There's also that... Yeah, Code and Other Laws of Cyberspace by Lawrence Lessig.
pushcx https://en.wikipedia.org/wiki/C…
I sure don't have a...
dzwdz @LeMandelbrot the xkcd704 defense
It has been 25 years since I read it.
Glasses at the top.
Oh, thank you.
Go back to dark mode.
I appreciate it.
XKCD704.
Oh, hey.
pushcx https://xkcd.com/704/
That's not bad.
The other one is a Simpsons meme.
Right was it Simpson, let me find it off stream because you don't actually get a punch line if you have to watch me find it.
02:09:13Oh no it's not it's a some other cartoon.
...25pushcx https://i.kym-cdn.com/entries/i…
That sign can't stop me because I can't read.
We programmers looking at the law kind of do this sometimes too.
grayhatter_ or this one https://knowyourmeme.com/memes/…
LeMandelbrot Knowledge of the law is extremely useful in general. Before or while you are involved in important events, you can already behave in a way that makes it much easier to win in court.
Especially when the law says something we don't want it to say.
Yeah, gray header, I know that one too.
That one's a little mean sometimes.
02:10:14Yeah, behaving in a way that makes it easier to win in court.
That one, I was thinking about that.
So I have actually worked on a couple of products.
grayhatter_ LeMandelbrot like not admitting you're intentionally crashing someone else's computer?
I worked closely with lawyers, including on products that have been
I don't know, legally sensitive, I guess would be the polite way to put it, where they don't want to get into the position of giving legal advice or forming particular legal relationships and responsibilities to the users.
LeMandelbrot @grayhatter_ Yes I would never do such a thing :D
And there was a humbling experience for the first couple of months where I was constantly like, why don't we do X?
And the answer is because that would be illegal and involve enormous liability.
And I kind of like,
did this for a couple of months before I realized the pattern was all of my intuition is pointing me in the wrong direction and that instead of suggesting something, I should be asking a question.
chamlis_ https://xkcd.com/1494/
Because the answer was always like, well, there's this principle you learn as a 1L that you are ignorant of.
02:11:28And...
...34Ah, yes, this one is, this is very, this is what all of those product councils I have met at tech companies have been like, because, you know, even once I learned to ask questions, I would get halfway through the question. They would be like, yes, you are not the first programmer who has looked at this contract or this law. Yes.
02:12:08The. renters insurance and they that has some weird ass carve outs.
...20There is.
More than any other field when I read an insurance contract and i've only done it like once or twice I used to have a car and.
grayhatter_ for every rule, there is a name
read that policy and i've got renters insurance and i read that policy and it is very clear the contract has a lot of clauses that are we saw some nonsense and we never want to see that nonsense again and you can just you know it's like when you go to a diner or a bar and there's a bunch of rules on the wall and it is very clear they are written to
For every rule, there's a name.
Yeah, they are written to some specific story that happened there.
And it's like...
If you walk into a dive bar and there is the sign on the wall that says no pet monkeys, you know there is a really good story behind that sign.
02:13:28And it's insurance policies that are the clearest expression of that. Although to some extent, a lot of contracts are written that way. It's just obvious as a non-lawyer in insurance, because it's dealing with so much of it is like examples of things that happen. And I can't even remember the particulars. Yeah, no, that one's. there's just weird stuff. And I imagine there's even more complicated by state, because in the US, this stuff gets handled in state courts. And so there are 50 standards for it.
02:14:12I think it is probably a good time to start winding down the stream.
...21Epic_Ninja_Elephant Thanks for streaming!
Unless somebody has more
LeMandelbrot Thanks for the stream :)
chamlis_ thanks for the stream!
questions or comments about anything on the site whether related to that vibe coding tag or not i'm about done i'm gonna take a nap and then i'll write some comments in the vibe coding thread so if you check back there in an hour or two you'll see some more stuff we've kind of talked it to death but i want to get my thoughts in order and make sure that i'm
dzwdz so i don't think you directly explained why you tagged the ai crawler *defense* stories with vibecoding
improving things, because I don't want to insult or dismiss the folks who have criticisms of the idea of vibe coding or the idea of the tag or the name of the tag.
02:15:08dzwdz that seems to go against the idea of tags?
grayhatter_ I dropped in out of curiosity, because I agree with your take on calling it vibe coding. I think the tag is exactly where it belongs
Oh, the AI crawler defense, because they're about the use.
DZ, could you say some words about against the idea of tags?
I don't see where you mean
dzwdz one sec
dzwdz https://lobste.rs/s/lkngrz/new_…
idea of tags yeah yeah there's no rush so i was generally getting at hmm
...50Oh, that bug with clickable comments is gonna get me here.
02:16:15dzwdz C-f math
Where's the body?
...26So you're trying to link to this Rory O'Kane one?
...52dzwdz yup, in particular the second paragraph
dzwdz that's a good example imo
I think a thing I was trying to get at was
02:17:08I'm struggling to put this into words because I didn't in the post.
dzwdz and i think there's a fairly large crowd of people who would want to filter vibecoding but who would want to see those kinds of posts
I was trying to make the AI tag useful again to people who are writing these systems and make the vibe coding tag about all of the practicalities around using these systems.
...41And so, yes, the scraping is it's scraping for training data. But from our perspective, it's hitting all of the same. Kind of flamey conversations around these tools and.
02:18:08dzwdz and as a vibe coder you don't really care about this
grayhatter_ oh... I think that's a huge mistake
Yeah, maybe if I can't explain this one, I'm just wrong about it.
...31Hmm.
...42grayhatter_ you don't want to create a tag where part of it's existance is to capture and filter out flame-y threads
Yeah, I don't think I have a coherent position here.
I think that's a mistake too.
All right.
02:19:11grayhatter_ IMO
Because I guess what I was trying to do with that was allow the people who are most frustrated by the LLM tools to get something out of machine learning as a tag.
So if you are interested in semantic extraction and recursive gradient
David Price- descent vector databases all the stories about your risk Oh, because we've had a whole spate of them, the last couple years as that archive got rediscovered.
David Price- If you want to get something out of that tag that's not.
grayhatter_ scraper and crawler probably shouldn't be tagged AI either? They're much more abstract than their current common pop-use
David Price- beating up lms.
02:20:17grayhatter_ see also, the internet archive?
Yeah, a great header to your point about is the tag trying to capture and filter out flimmy threads.
We've had a recurring suggestion where people suggest, why don't we make a tag that means this topic is bad?
dzwdz lol
And all we're going to do is, and then everybody who thinks that topic X is bad can filter that out.
And that's kind of what's happening with vibe coding here.
And I've pushed back about it.
dzwdz oh i thought you literally meant a "bad" tag
grayhatter_ can I pose a meta question about this?
bunch of times maybe four or five times over the last decade because then it just becomes a meta thread about oh yeah no i mean literally sometimes it's been a tag that is like the actual text of the tag would be the word bad and then sometimes it's been
02:21:19Just the idea of bad. How do I find this? I want to say I wrote about this.
...34It's been a while, so we're going to have to dig back a little. But part of the issue is it doesn't it's very unlikely to actually settle down those discussions. It ends up prompting meta threads about whether the negative tag should apply.
02:22:18pushcx https://lobste.rs/s/uptmet/joe_…
yeah here we go I called it the tag of shame.
So you're going to have to control F for shame.
I guess twice yeah.
dzwdz what's causing the permalink bug btw
So this one was should there be a breaking news tag.
...45The permalink bug is we redesigned the page to use grids and subgrids.
And there is an enormous performance regression in Safari, which is the only thing you can use on iOS, around subgrids where pages take...
I think, honestly, they...
They run into a browser timeout where if it can't lay out the page in 30 or 60 seconds, it just gives up and you get a blank page.
And so we found a workaround because someone who works on the Blink Engine dropped in.
And if we made the comment class, yeah, if the comment
class had display contents on it, the browser engine was able to recognize that it could kind of draw a box around that section of the page and cache it.
Because what's happening is there's some kind of N squared blow up where it wants to lay out the child and in laying out the child, it realizes it needs to relay out the parent.
And when it goes to relay out the parent, it needs to lay out the child and
there's some N squared thing happening where it thinks that everything requires recalculating everything else.
And on the small enough pages, you know, this exponential blow up of, you know, or even if it's a factorial blow up can finish in a reasonable amount of time.
But once you get like three or four levels deep in comments, you just can't period and display contents.
LeMandelbrot Can we get an 'accidentally quadratic' article about this? Sounds like an amazing story :D
is hitting a cache or it's allowing the browser engine to recognize, ah, this comment is its own little world and I can lay out the comment and I can cache that and I don't have to invalidate that cache when I'm laying out the parent.
And so it prevents that factorial blow up.
Yeah, accidentally quadratic, that's totally reasonable.
It is an interesting story that I can't tell.
So if you go back to
The stream from, I think it was a week ago.
I think it was last Thursday's stream.
We fixed this.
pushcx https://push.cx/stream/2025-04-…
Oh God, I haven't put titles and tags on these last couple.
That's a little embarrassing.
Yeah, WebKit.
It's this one.
grayhatter_ do you want lobsters to support the "echo chamber" mentality? because if you start creating tags for "heated topic" so people can filter them out, that feels like it's something that helps enable the echo chamber behavior that smaller communities usually get to avoid.
So it's the start of this stream, I believe.
02:25:46Wasn't it?
We had this new person, so I'm skipping the chat.
BFGeek, here we go.
grayhatter_ holy crap, I *love* this
So if you look at the linked WebKit bug and BFGeek's comments, you will get the best explanation I can offer of what the thing is.
Because I gave you like a high-level explanation of it, and I can't...
LeMandelbrot Oh, it's even worse. Not just quadratic, but exponential :D
give you the full explanation because I was in let's fix our broken site rather than let me totally understand what's happening in the layout engine.
02:26:38Yeah, you know, I have to point out, if BFGeek says it's exponential, I would believe them.
I have no idea.
And they claim to work on Blink, and the way they talked about this, I kind of believe it.
So... No, I have not wanted lobsters to become an echo chamber.
I think one of the big design...
features of lobsters is, it is one big discussion.
That is also why I've resisted adding a feature to hide comments by other users.
grayhatter_ IMO, you should keep resisting it
There are user scripts if you wanna bolt it on, but there isn't a built-in site feature for, I just don't wanna talk to that person
So a positive version of this is story merging, where we're trying to keep discussions together.
And mostly I am trying not to have too heated discussions.
02:27:57Yeah.
As for smaller, we are getting to be fairly big for a forum.
pushcx https://lobste.rs/stats
And look at this.
It's going to load instantly because of Doja sells excellent work.
I'm so happy with the background job system for this.
Oh, I was going to say, why is this so low?
It's the first of the month.
I've been thinking of this as like April 31st or something.
No, it's the first of the month.
So...
grayhatter_ is your streams page generated by something?
we're getting to the point where we're having so many comments a day that we're kind of maxing out active users per month is climbing to historic numbers now too you know and so if you look at us by
perspective of hacker news we are tiny you know we are one percent of the size of hacker news at best on like any metric you know whether that's active users or number of votes or number of stories or number of comments words typed anything we're a tiny fraction of that but if you look at like
grayhatter_ I'm a hn refugee, I left HN because it's become too noisy
phpbb forums of volkswagen enthusiasts or bodybuilders or something else we're getting to be very active by that kind of scale my streams page is generated by a ruby script that i hacked up that it's a series of ruby scripts so it takes this stream recording and then it shoves it into a transcript
by what is it using?
There's some AWS.
grayhatter_ I can work out how it works, if it's on your GH?
service that transcribes video now that i have that python tool uv i can actually run things that are written in python on my machine and maintain them so i'll probably rewrite it to use whisper soon and then there's something called whisper x that can deal with diarization which would be nice for the couple of archives where i've had guests it's not on github the
pushcx https://push.cx/stream/2024-10-…
I've shown part of it, a big chunk of it, I vibe coded, actually.
I was like, hey, write me a Ruby script that takes this subtitle file and... Oh, actually, no, this JavaScript.
I was like, take this subtitle file and write JavaScript that scrolls to it in the video.
So there's a feature here because these streams often start with like 90 seconds or five minutes of silence warming up the stream.
It's just a thing you do with streams.
There is a bit of JavaScript that goes and finds the first timestamp where I'm talking.
So if I start this video, instead of starting at zero seconds, it's gonna jump to like two seconds before I start talking, which is, huh, timestamp doesn't line up five minutes into the video.
All right, I guess I got a bug, right?
The vibes are bad.
LeMandelbrot I think we do a disservice to the subject matter by calling it 'vibe coding', which is obviously a pejorative (unlike any other tag). LLMs create real value, though they are a tool to be wielded correctly. I think the ridiculing will die down once the tools mature.
But that's the idea of the feature, as opposed to you have to pre-roll through minutes and minutes of that.
Epic_Ninja_Elephant Hah, "the vibes are bad".
I will have to look at that bug.
I don't know.
Merkle trees is also a mild pejorative.
In that I didn't want to write cryptocurrency.
02:32:05grayhatter_ everything is pejorative to someone
And I do think that the mild pejorative attachment to vibe coding, I had clearly misjudged because I had assumed it had faded away already, but I guess it's going to be another six months.
We'll see.
Anyways, Grey Hatter, I have been a little bit tempted to make a Twitch archive service for streamers.
I don't think anybody else cares.
grayhatter_ I used to stream, but stopped because... yeah *exactly* what you mentioned
hacked together the stream archives because i thought it would be fun and it felt weird to spend you know three or six hours a week streaming and then throw all that away because if i just stream on twitch it has the archives for three weeks or four weeks and then it deletes them something like that all right anyways if you come up with more questions about the stream archive i can answer but otherwise no it's just a big hacky
a pile of Ruby that lines up the timestamps and my messages and your messages.
grayhatter_ I'd stream more if I had a way to transcript it like that
It's kind of fun.
If you find me a bunch of streamers who want to have archive pages, I'll start the sass.
02:33:29I don't know, man.
grayhatter_ lol... uh....
You could try vibe coding it, right?
grayhatter_ first step would be LLM, how do I lower my standards to even talk to you?
so step one is llm write me the ffmpeg to rip the mp3 out of this and then step two is ffmpeg to turn the mkv that obs gives you into the mp4 that the browser understands it'll spit that out all right i'm gonna roll out i think that's the end of this stream i will see you in the vibe coding meta thread you can message
grayhatter_ cheers pushcx, thanks for the conversation, hope you have a good day :)
It's silly.
You can do it yourself.
I was going for humorous.
All right.
LeMandelbrot Haha alright. Have a good one, bye :D
Well, take care.
I hope to see you on a future stream.
The next scheduled office hours is Monday afternoon, Chicago time.
And there are the many ways to contact me.
Take care, folks.