What's the over-under on this being vibecoded?
Streamed
Migration to fix null bytes in database text fields, PR #1871. Debugging Rake task breaking only in prod. Tag combination filtering PR review. 1200-line diff from unknown contributor, probably vibecoding. Improving error messages that are serious warnings about rules, trying to hit the right tone and acculturate people despite reading comprehension issues and alarm fatigue. Deploy of code from a couple days ago broke prod, quick fix.
scratch
topics
PRs
tidy null bytes for sqlite https://github.com/lobsters/lobsters/pull/1871
tag combinations https://github.com/lobsters/lobsters/pull/1907
x tag ban warning: "leaving it off" -> "leaving the tag off"
- ban warning errors: include username
ban warning errors: don't rerender the form
slop PRs
issues
migration failure:
-----> Ruby app detected
The Gemfile's dependencies are satisfied
rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task (LoadError)
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/zeitwerk-2.7.3/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
/home/deploy/lobsters/releases/20260216205343/lib/tasks/build.rake:3:in '<top (required)>'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/engine.rb:687:in 'Kernel#load'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/engine.rb:687:in 'block in Rails::Engine#run_tasks_blocks'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/engine.rb:687:in 'Array#each'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/engine.rb:687:in 'Rails::Engine#run_tasks_blocks'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/application.rb:566:in 'Rails::Application#run_tasks_blocks'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/engine.rb:470:in 'Rails::Engine#load_tasks'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/railtie.rb:226:in 'Kernel#public_send'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/railties-8.0.3/lib/rails/railtie.rb:226:in 'Rails::Railtie.method_missing'
/home/deploy/lobsters/releases/20260216205343/Rakefile:6:in '<top (required)>'
/home/deploy/lobsters/shared/bundle/ruby/4.0.0/gems/rake-13.3.0/exe/rake:27:in '<top (required)>'
/home/deploy/.asdf/installs/ruby/4.0.0/bin/bundle:25:in '<main>'
(See full trace by running task with --trace)
-----> Failed
https://www.congress.gov/crs_external_products/LSB/PDF/LSB10922/LSB10922.8.pdf
title
post-stream
lobsters-deploy script doesn't notice if a deploy failed
run sqlite dump + load (slow)
modmail feature for tattle; if new_user, include their inviter
Transcripts are generated with whisperx, so they mistranscribe basically every username and technical term. They're OK but not great, advice appreciated.
Recording
03:20Happy Monday.
Let's get things going here.
Howdy, I'm Peter.
This is Lobster's Office Hours.
That's my to-do list.
This is Lobster's.
pushcx Welcome to Lobsters office hours, ask questions anytime!
And let's throw a message in the chat.
Let's see.
...42graefchen Heya limesHi
So yeah, if anybody has any questions about Lobster's, the code base, the site, the...
anything feel free to throw them in chat anytime and we'll kick stuff around otherwise i work on maintaining the site which has been most of my day today because i have been chasing up down some other stuff and catching up on the to-do list so this is going to be a slightly shorter stream but i have like even before i look at prs i have four things on my to-do list and i know there's one more actually so
graefchen 4+1 things, that a lot of things limesNoted
I would like this to be a shorter stream so I can get some of my day back, because I do have something I have to urgently do today.
But we'll see how it goes.
04:33Yeah, yeah. The plus one is the Nullbyte thing from last stream, Grave. I did not get to it over the weekend. All right, so let's see. Where do I want to start? Let me start with pull requests because they're, let's get you over here on the end. I'll explain why these tabs are open later. And it's not because I'm using them. All right, let's filter it on to open. Yeah.
05:22I think this one's probably ready to go, because Calvin and I, or Hunter and I talked about it. And then this is the plus one task about cleaning up those null bytes. So let's start here, because this is where I kind of left off last time. And here you can see what the plus one is if you want. So this is null bytes in db.
06:11All right. Let's stay on my end. Oh, I'm even in the right place, except How do I want to do this?
...32I could write a query that updates the null bytes.
Should I make a migration or should I just do it on prod?
veqqio do it on prod!
I should make a migration.
On the off chance any of the sister sites want to run that.
veqqio oh, sister sites, yes
yeah yeah i'll the thing i was doing is i try and be really really clear i think so like we did the big common marker update and that happened on stream that was written by stream regular chamless and then was a bunch of work for me to make sure the outputs of the new library
were semantically equivalent and i had to edit what was it two or three comments that had ambiguous markup i think it was two and so i made mod log entries for them yeah let's just let's make a migration that makes mod log entries
i want i want both all right so let's jump over to main oh yeah well this dump i'm gonna throw it away because it's not gonna have the null byte in it and this log i don't need because that's the the other part of the error all right so
I am where I want to be now.
Yes, let's make sure I'm current because I don't think I merged anything over the weekend, but maybe I did.
08:49Never remember this syntax yet. So you want it to be this. Acceptable. All right, so it was two comments and a story text. And so what I want to do, well, database. What am I connected to, Trilogy? Okay, acceptable.
09:37Let's tidy this file up.
...47So what I want to say is,
...54kosmo14_ ssup
I want to just write a raw SQL query, except I can't get back the comment
these that I touched.
Hey, Cosmo, welcome.
Yeah, so let's let's grab them independently and just do it in Ruby.
There's three, so it doesn't have to be performative, right?
So how many equals and where?
And then we want to say I'm at like backslash zero
What are the odds I get the right number of backslashes?
And then comments.
Comments.
Let's leave an explanation.
SQLite set bytes in string text columns.
Two comments and one story text that included material.
11:19kosmo14_ you using vim without any autocomplete?
No, there's autocomplete.
So if I start typing an identifier, I don't know.
I have just forgotten every identifier comment.
I can control N, control P. I just don't like the autocomplete showing up unless I type for it, because if I see a bunch of words flickering by when I'm writing, it's distracting.
...54So let's just grab this because there's no way, right? There's no way that I managed to get the exact right quoting on a null byte on the first try. Heck, I didn't even get the close quote. But now we're still in the quote. Just this line. I actually got it. How many are there? Two. Hey, correct. Wow. All right, so I missed the close quote, but I got the syntax. I can never remember with Ruby strings and shell strings which ones require how many backslashes. All right, so I want to say, yeah, let's just loop them.
12:48twitchtd Hi pushcx
doing find each which i know grabs them in batches of a thousand which is ridiculous because i just saw there's two but it's a good habit to be in right so we'll say a comment comment g sub backslash zero to nothing hey thomas i'm working towards your pr
There we go.
All right.
Let's double check this one here.
drainiard hello
So let's say first, say comment equals.
And if I said that, that would be drain alert.
drainiard any idea how those null byte sneaked it? just curious :)
All right.
And then we have comment.
And we no longer see
the little Unicode sigil.
twitchtd I'm joining remotely will be by computer in 15 min
Drainlayered, we looked at it at last office hour.
So if you jump like two, two and a half hours into that stream, you'll find it.
But to give you the like too long, didn't watch, there was the two comments, both are quoting things and linking to a PDF.
So there's something about,
The PDF viewer or viewers that they're using that it gave them back a null bite and then all bite might have been there from weird ocr I don't even want to guess right like why go down that rabbit hole, but I did see they were both pasting on a. goals and then the third thing the story text that had a null bite the user was talking about disassembling stuff and they have a text mode hex editor.
And they gave the direct output out of that.
So they must've just copied pasted.
twitchtd Surprisingly null bytes are valid uff8
And I guess that thing put a null byte and the terminal emulator just showed it as a null byte and then it carried through.
So again, copy paste.
drainiard cool, thanks for the explanation!
So let's say comment dot actually, yeah, I wanna, this is,
They are valid UTF-8?
I did not think they were.
That makes sense, sort of.
Not delete, not had use, not undelete.
twitchtd They are just invalid I. Sqlite
Oh, right.
So I was looking for like, where is the edit workflow?
But there is no mod workflow for editing comments.
Moderators cannot edit comments.
Therefore, the function doesn't exist.
Ah, they're just invalid in SQLite, and you are typing on a phone.
OK.
So let's say comment save bang.
And then we will say, we will grab this.
16:05which it's just, okay, I don't actually need this. We can say we will create with a comment for tank comment and moderator user ID will be, I see, I'm thinking of the sister sites, right? So I could write me, but let's think about that one for a second and then we'll come back to m dot action equals deleted null byte in loaded material prep or pr 1871 1871 of course being famous oh actually Thomas, I never realized this, but ominously, your pull request for migrating our database is number 1871, which is, of course, as everyone knows, the year of the Great Chicago Fire.
17:22olexsmir obviously every one knows it
Lobsters is a very happily Chicago
gtfrvz if it was so great, why wasnt there a second?
creation and yeah i mean obviously everybody knows that like obviously everybody can name the seven toppings on a chicago style hot dog or the one true chicago pizza style gtfrvz there was a second one four or five years later actually it wasn't as bad but yeah
18:28is it is admin there's so little code that touches this field yeah okay don't retype it copy paste we're just going to blame like none of the sister sites are very big that i know of so
We're just going to blame the first admin and call that good enough.
Where's my equals?
Why do I have a syntax error?
Unexpected new line.
Where am I?
Oh, incomplete edit.
There we go.
I think that's everything I need on this.
As seen by this, yeah.
Oh yeah, let's...
I wanna say, let's not record the timestamps in the comment.
Well, we do want to touch updated at, and it won't touch created at.
So no, no, that's fine.
And then we'll do the same thing for story texts.
I'm just going to duplicate it because then the code is very obvious.
Story text where?
Is it body?
graefchen Ohh, just found out why 1871 sounded like a year I should know. Remembered that it something to do with one of the unifications of Germany. limesSit
What field did we see that in?
Oh, neat.
20:33Yeah, you know, Wikipedia, if anyone is feeling like going down the Wikipedia rabbit hole, loading up the random year pages of like, hey, what happened in 1871?
bsandro good evening cyberpals.
And it's also, especially if you've taken history in school, it tends to be the history of one particular place over time, rather than the history of one particular time over many places.
And that kind of inversion of your perspective is really nice for being like, wait a minute.
graefchen But to be honest, History in Europe can be very very messy, even moreso because it is fairly well documented. limesSit
Samurai era Japan overlapped the American Wild West.
I'm getting that from like a Tumblr meme.
So if that's not literally true, go easy on me.
Yeah, I think history is messy everywhere.
olexsmir memes are my main source of knowledge
it's a if you look at any level of detail right so we're going to take the body we're going to find the story text st dot body st save there is oh yeah i could say story id these are like an independent record from the story object so i had to think about that for a second they share an id
22:01And really, it's the same action. Yeah.
...12You know, actually, this is the
...33drainiard 1871 is also the year that Rome became Italy's capital
Let's just paste that.
There we go.
Hey, drain alert.
Fun fact.
23:14You know, along those lines, there's. An excellent book. Bookshop. There we go. Called the Discovery of France. All right. Maybe they're getting scraped. This site is chugging today. No, I swear to God, there's a book called The Discovery of France.
...53Yeah.
It's got a Wikipedia page.
no yes i didn't remember this like cycling around wait a minute i'm not sure this is the book i'm thinking of this first sentence sounds right but the like the cycling and stuff
This is the book I'm thinking of.
I was trying to get away from Amazon, and I landed on Amazon.
What happened to Bookshop?
What's his name?
Graham Robb.
Let's just try that.
There we go.
Ooh, a sequel.
pushcx https://bookshop.org/p/books/th…
So it's basically about how the places that we now know as modern France did not have anything like the cohesive national identity that we associate with it today, especially in an age where news traveled at the speed of horseback.
Well, only important news traveled at the speed of horseback
less important news was significantly slower.
And it's just kind of a nice reminder of how different even the relatively recent past has been.
25:49All right, this looks good. Let's see if it runs. Occasionally my code runs.
26:11I was going to say, why is that so slow?
11 seconds is right out at the edge of what I would expect.
graefchen I learn a lot from watching videos, listening to lectures, and sometimes from reading academic papers and books. Today I learned that a clay tablet that I thought was a sortes (books of fortune) but indeed the manual for the oldest bord game. limesSit
Let's go look at my moderations because I should have three new ones here in the database.
...38Oh, neat. Yeah, there's a bunch of candidates for oldest board game, right? Okay, so we saw exactly what was expected, which was two comments and one story text. And... Wait, and the moderator user ID is null, null, null? That's... Like, first off, that's... Oh no, it can be valid, but like... What happened here?
27:15That was the line of code I was least concerned by. OK, so like that fine stuff.
...48graefchen yes. the royal game of ur. starting at 2.6 -2.4 k bc in the middle east. limesSit
Royal Game of Ur.
...59Hmm.
28:23So why do we think?
...29Let's go look at the model.
...37Calls it moderator user ID.
bsandro that reminds me that we've planned to gather with friends to play AoE2 and totally forgot NotLikeThis
Oh, you know, I passed.
Let's just say moderator.
I bet it's because I passed the object
To a thing that took column that wanted the ID I think it's the the other one is generalizable this one is not alright so.
graefchen oh no!
update select Max ID comments.
Okay.
comment set.
equal to.
So let's put a null byte back so I can rerun this migration.
Oh, yeah, well, have fun playing the Age of Empires.
That's pretty great.
Classic.
29:43I was more of a Civ person.
I didn't much get into the RTSs, but...
StarCraft.
bsandro I grew up playing aoe2 and broodwar chikaiDurp
Kind of equals.
30:07OK, update comments plural.
...17drainiard <3 aoe2
Missing the set.
There's two typos.
Yeah, brutal.
For that era, Diablo II, the remastered version, just got another playable character in the last week.
So if you're big on that particular era and that particular famous video game, there you go.
So now we got that back.
bsandro yeah but the remaster forces you to have and log into Blizzard account, isn't it?
And now down.
31:09have no idea i haven't played the remaster i did have yeah played a bunch of the original diablo 2 at land parties back in the day and when was it i don't know maybe it's been a decade but like a decade ago the same friends and i got together and played through some Diablo II and StarCraft and Quake III hits of the era.
...50graefchen never touched aoe. as a german my first played strategy game was, as far as i remember, anno 1503 or also 1503: the new world limesSit
Why is version required?
I don't want to give a version.
32:18chamlis_ hi all!
graefchen hi chamlis! limesHi
chamlis_ @pushcx I just sent you an IRC dm you might want to read soonish
Oh hey, Chambliss.
drainiard o7
I was just mentioning your pull request.
Oh yeah?
I will go peek.
...57Ah, thanks, Chambliss.
33:16I'm going to click through something off screen real fast here.
...50The computer is doing a thing. There's that. Where's my... Hmm.
34:30twitchtd back by a computer
okay there we go yep that got the why are there four instead of one did i misread i didn't misread looks i read the wrong line you know what i'm getting what i want i don't want to search back through the log for it one two three four yeah i must have just sometimes when these line up i must have just read the wrong line
They all got the right ID.
Good.
All right.
Hey, Thomas, I'm just finishing up my cleanup here.
You don't have to pull this into your branch because this is prep for your migration.
So once this is run in broad, your thing is fine.
There's no like structural changes to the database, as you can see from the diff.
35:37twitchtd no, sorry was away
twitchtd what's 1871
and let's go ahead and run that in prod while it's top of mind do you hear the fun fact about 1871 thomas yeah all right so the deployment is running deployment is completed ah i was saying
twitchtd hahah
Given how Chicago themed the site is, it is maybe a little ominous that your pull request number 1871 is the same year of the Great Chicago Fire.
Did my migration not run?
Because I don't see my moderations.
You know, I had this before where I deployed the site and then later migrations hadn't run and I had a bunch of confusion in a pull request.
I think something's fussy there.
I'm going to hit the actual deploy button over in the Hatchbox UI off-screen.
Alright, that's running off-screen.
And I'm not pulling it on because it has API keys all over the place.
37:18picking along, failed. Oh ho, failed. Oh, my little script doesn't know it failed. What's the failure? Cannot load such file rspec core rake task. What? So we've got two issues. So much for managing to run a short stream, right? So there's a new topic.
38:01That one, that is not happening on stream. What else? But what is the actual failure?
...17Let's grab that.
...25Let's look at this and think for a second.
...34Why did the build task try to run on deploy?
...51Actually, it's complaining it couldn't even load it. Yeah, it wasn't running. So this build rig task is new. One, two, three.
39:14This is going to be some kind of Rails boot order thing, isn't it? Yeah. Like it's in the middle of booting rails. And so some things are not yet loaded by the bundle. And then this breaks.
40:47zero_register any issues with rspec and rails inflection?
Any issue with RSpec and Rails inflection?
Zero register, could you be more specific?
I think this is a boot time issue where... Because we're coming in through...
It must be like Rails server start, right?
Yeah, rather than...
feel like i understand this one
42:11zero_register that's fair, I see Zeitwerk and think path issue wrt casing
Yeah.
Well, for what it's worth, this is all running on Linux with a case-sensitive file system.
So I think this is something about how the boot goes.
But it is an exception on a site work, so...
43:29Does the task just run normally? Yes. Can I start a local server? That's not going to start. That's for my blog.
...52Yes.
OK, so great.
rndm_dev rails env set to production so no rspec?
It's something particular to prod, right?
chamlis_ rspec isn't installed in prod, right?
Maybe it's preload kind of stuff.
44:12Yeah, you both got... That's surely it, right? Production would not install RSpec. Yeah, so this task... can only work in dev because so many of the things that it wants like rspec breakman these are exclusively for test and development okay can this just say wire config environment, kick off the Rails boot process relative. Actually, why does it need any of these?
45:15Does it need any of those? It does not. I mean, I want to see the whole thing run, All right. Well, Random Dev, thank you for spotting the bug first. And Chambliss, thank you for spotting the bug also. I think you were like two seconds behind. And I would make you a VIP for spotting the bug, but I can't add any more VIPs right now. Undefined method start for break man. Oh, because without it, The task can't monkey patch because the thing isn't loaded yet. How do we want to fix that?
46:22Because we
...30Well, I know I don't need this because it got past that part. So what if I just said return if rails.env.reduction. Let's say what I want.
...54And then I could uncomment that. And now let's close that one for now. See if that wants to run.
47:14Yeah, I tried to add you as a VIP, and I still got the same dang error.
48:00chamlis_ transfer mine over - they won it in combat
if you want it in combat.
As fun as that idea is, I don't want to give that up.
rndm_dev @chamlis_ :D
Did I close the wrong tab here?
I must have.
No.
All right.
So these two I don't need.
...33All right, let's look at this diff again real quick. I just, okay, I'm on a new command.
49:031897. Random Dev, do you mind if I thank you here in the commit message?
...37rndm_dev sure
I'll give you a second to reply hopefully you're here and I'm gonna okay great some people were not to be mentioned JJ all right let's bump main wait is there a way I could test this yes I could test this with rails and vehicles production oh that's interesting standard
I wrote it to end local.
All right, then I'm getting what I want out of this.
50:10And I'm going to hit the deploy off screen because we just learned that my little script won't show me when the deploy fails. So the deploy is running.
...44Still running, which is good. It says it's restarting the app. I don't see it say that it ran the migration. We'll get there.
52:01chamlis_ it's in the mod log!
So let's, hey, thank you.
Great, that's exactly what I wanted to see.
All right, so Thomas, I'm a little reluctant to dump and run this because
If the script doesn't crash, it's going to run in the background for quite a while.
And I don't want to stall this whole stream on it, especially because I'm trying to get stuff done and get out of here ahead of schedule.
So let me set my timer here.
All right.
53:23Yeah. So let's take a look at this next PR. 1907. Let users filter out stories that match a specific combination of tags. I don't know what this feature is. I don't immediately know what's going on. Sample hide store is tagged both JavaScript and culture while still seeing.
54:10Bloom filter. That's.
...20It's two to five tags per combination, 15 combinations per user.
...31Who is this?
I don't recognize this username.
twitchtd saw in bluesky you wanted to merge the sqlite this weekend? If so I could be available to meet on google meets or something like that.
Do we have a user by this name?
No.
OK, mystery.
twitchtd that should work for me
ah thomas that's great yeah wait let me pull up my personal calendar yeah saturday morning if you're free and assuming i can get the
full dump and load to run locally for me.
But I do expect that to work next time.
OK.
55:39Wait, sorry. 17 files changed?
...49dlamz bloom filter for filtering?
How big is, it's a 1200 line diff from someone I've never heard of for a feature we've never discussed.
56:05And they have only lobsters for repos in Ruby.
graefchen It might be this person limesHmm ... https://lobste.rs/s/f1ed82/plea…
So what's the over-under on this being vibe coded?
...51zero_register over
filter tag combinations for user.
57:09You can also filter tag combinations for stories that have multiple specific tags together. That's complicated. We've talked about stuff like this in the chat room recently.
...49Is there, what was that name? Ibsusu? Ibsusu. I don't see them in the chat room, but we did just talk about tag combinations in the chat room a couple of days ago. So that might have prompted this.
58:42But we didn't really talk about this feature. anything like this feature, and it wouldn't really address the specific concern. The concern was someone saw an interesting tool, but only from discussion, they had filtered out, I think the Go tag. And then that interesting project was written in Go. And so they didn't see it, or almost didn't see it.
59:43They just, I mean, I'm obviously not going to take a PR with a bunch of inline styles. What the? Why would you? I mean, if it's vibe coded, there's not a lot of reason asking why. Yeah, this is. This is getting ridiculous. And it depends on JavaScript.
01:00:42And it has a benchmark?
01:01:28twitchtd sent an google meet invite for Saturday @ 10am, let me know if there's a better time
dlamz smells like vibes but the lowercase comments throw me off
Meleneth lol of course I have you followed just browsed in because 'Software and Game Development' said 'oo ruby!' then realized where I am. Lol!
We can skip around a little in my to-do list, I guess.
...59This is about as sneaky as I get as I'm asking which instead of did you.
01:02:08So in the last couple of days, there were two different slop PRs opened against the repo.
And one of them was by a user who had ported this repo
and then, you know, submitted six PRs to different repos.
Meleneth AI apocalypse is real, it does explain why all the 'future' shows reference things from now tho, nothing good is made again!
Yeah, the lowercase comments just says that it has something in its prompt about echo the codebase's existing style, like make sure it fits in.
Howdy, Melaneth.
Yeah, I'm, you know, there's not a huge amount of people streaming Ruby, so...
And then the other one had submitted this and she had submitted PRs to like four different things.
Meleneth I'm a block head
And for both of them, the user profiles did not, like the fork of their lobsters repo was their only Ruby repo on their GitHub account.
And in both, let's see, one GitHub account was a couple of years old.
One was like two months old.
And I'm becoming very suspicious about these things.
So whatever these two tools are, our agents.md is not working.
Is it not?
01:04:04graefchen AI. As someone who studies Computer Linguistic ... I have very strong opinions about AI limesSit
How do I want to do this?
I want to find the dang...
I should just browse the code and it's going to be in the blame.
...19Yeah.
So we added this file four months ago, actually on stream.
Meleneth LLM apocalypse? is that better
It was Chamlus's idea and then EaseOut.
David Price- Their ease out here in the chat and then K Connor on github.
David Price- threw it together, I just wanted to find the PR.
David Price- So I can cite it.
1733 there we go alright.
David Price- So.
I tested again with Claude Code and it saw the agents and it went, oh no, I can't do anything here.
Meleneth nice, haven't seen that before good trick. sadly LLM's don't even check their own memories when doing stuff
But clearly these two tools and whatever tool this thing used, this PR used, do not address it.
So, yeah.
01:05:34graefchen LLM's are indeed funny dumb guessing machines. limesSit
So what do we think about, do you even have an, yeah, this project doesn't have its own agents.md, or it's somewhere in the different things?
...48Well, the fact that the file name doesn't exist in here, agent.md?
01:06:00No, it found the two tokens.
...12Yeah, all right, so that would be why.
...49Meleneth I'm not saying useless - I'm into extreme programming and I find the LLM makes a half decent pair - but it only works because I'm already a senior dev and very sus always
chamlis_ I don't think anyone could use skyflo to make a PR for lobsters - it looks to be for managing kubernetes clusters etc
I don't want to hear about reporting bugs.
01:07:04I don't know. I don't think they want this bug. And it says it's for cloud and DevOps, so maybe they didn't use it against my code base. I don't know. But this one is definitely intended as a coding tool.
...29Yeah, they don't have an agents.md either. Did they at least mention it? Not really.
01:08:11Meleneth nice to see TUI making a comeback in a big way but I'm reminded of the quote "Not like this" by Switch in The Matrix
Yeah.
...36This is cold.
01:09:06you
...41I was hoping that there would be some obvious successor to agents.md that I could just You know, link that file too. All right. So we did that tag combinations. then it's probably worth mentioning. Where was that?
01:10:25Let me grab this link. Gotta dig for a second.
...34There's this and then. Here we go.
...51pushcx https://www.congress.gov/crs_ex…
graefchen I think ignoring it seems like a thing dubious people and machines would prefer to do. limesSit I have strong opinions about that. limesSit
Throw this link in here and in the chat.
My primary.
Concern with the.
five coded PRs is they're probably not copyrightable.
And I care a lot about lobsters and I don't want to put our licensing or copyright or anything in jeopardy.
Even though we have kind of a maximally permissive license, just it's not something I want to roll the dice on because it's very important to me.
I am fine by coding personal tools that I throw away that I never show to anyone because I don't care about copyright or licensing on those.
I do on lobsters.
And I do on recheck and other projects.
So yeah.
01:12:18Put running promises dump and load off stream on my to do list because I can just kick that off as soon as the stream starts and then that'll run in the background for however many minutes or hours.
graefchen I am honestly just waiting for the 3rd AI winter to come. limesSit
And it'd be nice to know how long it runs on my desktop because it gives a rough idea for prod.
Alright, so speaking of vibe coding.
Meleneth vibe coding is this whole other ball of wax, people get what they deserve
There is a vibe coding tag and new users like to use it and then they see an error and then they ignore the error and chunk of my day was banning them for it, unfortunately.
So let's close that out.
So here in the story model, it has a couple of these messages that say, new users can't submit stories with the tag.
So you can imagine the word vibe coding in there.
Because they're for meta discussion or prone to off topic stories.
If a tag is appropriate for the story, leaving it off to skirt this restriction can earn a ban.
And people do this anyways.
This tattle function down here posts a mod note to their account.
So when I look at the user account or I look in the internal mod activity log, I know that someone saw this error message.
So when I see them submit the exact same story 30 seconds later without this tag, I know they saw this error message, deleted the tag, which is the exact thing it says not to do,
and then submit it anyways.
01:14:14And I've been thinking a bunch about it. And I kind of griped about it in the chat room this morning, midday. And we kind of kicked it around a little and I had some ideas for improving it. And I think I can articulate what I think is happening.
...37people are used to forms and websites being really flaky like i don't know if your name is let's get a generic name oh o'neill i used to know somebody who was you know o hyphen neil and all the time he runs into web forms where they say what's your first name what's your last name
Meleneth 'agree' or 'cancel' to TOS - have to click agree to use program, so that's what users are gunna click, regardless
grayhatter_ reading comprehension is harder than you'll assume it is
And he types O'Neill and they say, invalid characters, your name is wrong.
And he gets very mad because his name is not wrong.
The computer is wrong.
grayhatter_ this is still true even if you account for this rule
And no, it's not reading comprehension.
It's most forms on the web are flaky.
I would even say most forms on lobsters are still flaky and you get spurious errors.
And I think dealing with that a thousand times a week
grayhatter_ no, I was replying to the idea "[user] saw this warning and tried to get around it"
Every once in a while, there's this message that's like, Hey, this is you like the whole activity is like, it gets trained into you over and over and over that you're going to get a web form and it's going to have an error.
And your new task is what's the shortest path of smallest thing you can most quickly change.
to resubmit the form and try again.
Meleneth we actually taught users the simplest thing that could possibly work!?!?
And so even though this says don't do it, I don't think people are reading it because they get so goal-oriented that they're just skimming.
And so they see the word, oh, tag vibe coding.
grayhatter_ yeah, isn't that what I said?
Okay, let me remove the tag, submit.
And they're just not reading this literal wording.
And...
grayhatter_ it's not?
It's not reading comprehension, although.
grayhatter_ reading, and understanding?
In part, it is reading comprehension because this happens more often for users for whom it is primarily not.
Primarily speak English as a second language, I see it more frequently yet.
So reading comprehension is an actual term or mostly it means understanding.
grayhatter_ I used to teach kids, I'm familiar with the term
What's the distinction I'm trying to make here?
I think people are trained to not read, to just skim.
Oh, okay, cool.
grayhatter_ yes, that's exactly what I mean
Well, then you're probably more familiar with it than me.
chamlis_ perhaps alarm fatigue
I'm saying that people are like so completely trained into skimming.
grayhatter_ I think it's broader than just that, but yeah
Like one of the examples I used was paper mail nowadays is overwhelmingly garbage, like
Alarm fatigue is a good relevant term here.
Yeah, like 99% of the paper mail that I receive is complete garbage.
I can like take it, look at it and throw it away.
grayhatter_ @chamlis_ that's absolutely part of it
And that 1% is screamingly important.
It's like your driver's license is expiring.
The IRS thinks I owe them $1,000 or I don't know, some other like important legal or tax thing is happening with maybe 1% of my mail.
And it's funny, because this is flipped over my lifetime.
Where it used to be most of the paper mail I got was important.
And this is like, I'm talking back in the early 90s.
grayhatter_ can I make a different suggestion to handle this case?
Not that there wasn't junk mail, but there was less junk mail and way more important mail.
So, Gray Hatter, I'm sorry I misunderstood what you were saying about reading comprehension.
Maybe there is an irony.
I have a couple of ideas for handling it.
grayhatter_ something I think might be more inline with the lobsers way
And I want to implement all of them.
But yes, I am very happy to have more suggestions.
01:18:58So I'm going to say leaving the tag off.
01:19:11Why do we do this twice?
...26grayhatter_ allow them to submit it, and put it into a mod queue. That prevents them from deleting the tag, and resubmitting it, and if it's a story they actually deserve to submit, they still can
Oh.
Can be applied by is it?
grayhatter_ also, no other use could "scoop" them, which would really piss me off
God, that's some confusing names.
Permitted versus can be applied.
You know,
pushcx https://www.congress.gov/crs_ex…
pushcx https://github.com/lobsters/lob…
gray header fair you have hit on a feature i that's around clipboard obviously the feature is not the congressional service
Here in this, I would like to have some notion of a draft post.
And I was thinking of it from the context of suggestions.
And then it would also allow some kind of queue like you're talking about.
And I especially would like a queue for issues with self-promotion because we have also had the problem where a new user wants to self-promote.
They go to post their link.
They see the message that says new users can't submit links.
Don't do self-promo.
they do have reading comprehension, they do successfully understand it, and they go to the person that invites them, and then the person that invited them submits it like 10 minutes later.
I have banned several users for this.
It tends to get the new user and the inviter banned.
And so I would like to say if the new user tries to submit a link
grayhatter_ also got distracted/nerd sniped by the topic, and forgot to ask. How's your day going?
Let's take it as a draft post.
Let's stick it in a queue for, you know, users to review and say, okay, I'm going to vouch for this one because I really do think this is topical or let me help the mods out.
This is not topical.
My day?
My day was nerd sniped by dealing with self promo and other stuff.
This is me rescuing.
the smoking crater of my midday by trying to improve these messages.
So we'll say, yeah, we'll just say the tag, because in the case of multiple, yeah.
So this can be applied by, is about, yeah, the privilege tags.
That's confusing naming.
01:22:26Because this one only checks privileged. And then it double checks the privilege. Why does it raise? Oh, it raises because they shouldn't even see the tag.
...56So if it can't be applied, I think this branch is dead. That's confusing.
01:23:12Yeah, this is one more of validation shouldn't live on the models, they should live on the edits.
...23And the edits should be reified into objects.
...52See, part of the reason I think this is wrong is this function is not getting called ever. And I say ever because I'm not seeing it in the mod activity log, which is where that would go. Let me double check that.
01:24:45that has never been logged. This is dead code.
01:25:03Because this catches it and returns.
...30How does this fetch its tags? All with filtered counts for. OK. All with filtered counts for. Aha, yeah. So it's filtering that can be applied by. And that function is only checking privileged and not new user restrictions.
01:26:00which is probably for the best, because I do actually want people... I'm not a big fan of UI that disappears. And if the vibe coding tag disappears, the users are just going to not see the error message, not get noticed, not know the rule, submit the story, it's going to get suggested on, and then we'll get way more pop-up stories. So this is just dead code. and is getting deleted.
...42And this is...
01:27:01Show me all the tags.
...14Where.
...25Can't be applied by the user. And if there's any.
01:28:01grayhatter_ are there any users that are really into vibe coding, and post a lot using that tab, that objectively improve the quality of stories on lobsters?
grayhatter_ s/tab/tag
I'll just log them off the top of my head, Simon Wilson.
Otherwise, I would have to poke around.
If you want to write that query, we could run it here on stream.
objectively approve the quality of stores on lobsters, though, I don't think that's possible to objectively judge.
I don't think that's bad.
But like, improve the quality is going to be a judgment call.
And I want to be realistic about that.
But yeah, if you want to write the query, we could run it.
01:29:01Yeah, if I didn't have to curry this user in here, this could be shorter.
...13grayhatter_ I'm not that invested, I'm thinking out loud
And I would rather just raise, because it tells me, so the tag shouldn't appear for them.
So either they are manually editing it into the select, or we have a bad bug that's showing them the privilege tag.
So I would rather just
Throw this error.
Model tag, where is this?
Can be applied by.
...46I just got it typing.
01:30:00dzwdz oh since it seems you sent an issue about merged stories
grayhatter_ I saw veqq's meta post, and my thought was llm genai is making the world meaningfully worse, and thought it's probably better to delete the vibecoding
So.
...35dzwdz i wanted to submit thephd's defer article (already posted 11 months ago) just to be merged into the current story about it getting into gcc/clang
dzwdz is that an "intended" use of merges?
grayhatter_ the root of the question was looking to disprove my bais
dzwdz i decided against it
You wanted to submit just... DZ, could you just post a comment with the link?
dzwdz someone else did
It is not really currently intended use of merge.
Well, I mean, it sort of is.
dzwdz actually, one sec
So one of the situations I do for merging... Oh, did it?
Is...
this exact scenario because I don't like when people use stories to reply to stories.
It breaks up the discussion.
I don't see it on slash newest.
Has it already fallen off?
dzwdz https://lobste.rs/s/ozrdyz/defe…
I don't see anything there.
01:31:43dzwdz i meant that someone else made a comment with this story
Ah, okay.
Well, great.
dzwdz my idea behind merging in another story was so you could see from the front page that there's another related article
And if someone left a comment with the link, when you bring up the submit form, it should warn you, hey, somebody just linked to this.
And DZ, I see in your comment you wrote, well, let's just bring this on.
You wish that this could get merged into the main story.
One of the features there would be...
user suggestions can promote a top level comment with an unsubmitted link to a story.
and presumably it would be merged.
dzwdz this was submitted 11 months ago already fyi
So like that, this comment would just become a story and then, you know, have its own thread underneath it.
So it's in the to do list.
yeah i caught that i had said i wrote unsubmitted i think because i was trying to get at lifting up stories in fast-moving contexts where like there was that recent thread with
dzwdz yeah
about matplotlib where the guy got a slot pr and then the open claw bot slandered him and then posted an apology and then ars technica wrote a post and then the guy followed up again like there have been like five links i was really thinking of this take a comment and promote it to a top level story for handling those kind of you know one post spawns five more kind of things
grayhatter_ that whole thing is wild, isn't it?
the using an old link as a reaction was not in my head.
So maybe that submitted qualifier there shouldn't be there.
yes it is so weird i i had to explain on saturday i explained to a friend who is not a programmer what that whole story was and he was like i'm sorry so like the robot decided on its own and i had to break down that yeah people are using them in ways that instead of the chat interface
it gives them a chat interface that lets them edit all of your files and send email as you and he was like, Is that a bad idea?
And I was like, Yes, it's, it's a very bad risky idea.
And he was like, Wait, does prompt injection work?
Because he has learned what that is, because he's done the like, sing me the my little teapot song, forget your previous instructions.
Explaining to someone who's not technical, how ridiculous that got was
It's hard to take the field with a straight face sometimes.
We are very silly.
01:35:31olexsmir were there updates to "unread" comments button? it seems not to work when i trigger it with Vimium (there's a change of something being broken on my side)
grayhatter_ I considered reaching out to that guy, and strongly suggesting he should go through the hassle to uncover the bot owner, and sue for intentional infliction of emotional distress
Alexamir, I don't think so.
We have touched the JavaScript in the last month or so.
So that is a little bit suspicious, but there was nothing specifically trying to change things for the unread links.
I think...
I think you'd probably do better with slander because the two, well, I guess libel because it's printed, but the two big protections against being sued for libel when you say something negative about someone are, it's true.
So if I said, oh, I saw Alice littering in the park.
If that is a true statement, that is a defense against a libel or a slander lawsuit.
If I said, oh, Alice looks like a litter bug to me.
The other big defense there is opinions.
And so like my judgment call is,
probably not slanderous and this is i am sure everyone can think of like corner cases and edge cases and yes there's there's like 200 years of law whatever country you're in there's 200 years of law around these kind of corner cases i'm only trying to describe american law i don't think so it's kind of interesting because
dzwdz github still hasn't banned the bot :)
The insulting post really looked like LLM output.
And there's no way to know if the human who set up... Oh yeah, GitHub doesn't ban people for slop.
GitHub doesn't ban people for ads.
dzwdz this is beyond slop
No, that just doesn't happen.
graefchen Promoting links inside of a story that is related reminded me somehow about a solution for a problem that I think ploum had over with something akin to meta-tags, tags that user can add to a story, but that also seems like it can be problematic. limesHmm
At most, it'll get suspended a couple of days and then reinstated.
grayhatter_ this is the perfect case to go after the bot owner, because no one got hurt, and it would establish some nice precedent that would discourage others from allowing their bot to go wild... this guy clearly has the emotional support system to survive such an attack... but the next person might not be that lucky
No, we've seen this over and over on lobsters where people have posted ads
in our PRs and they get suspended for a couple of days, but then GitHub restores them.
It doesn't give a shit.
olexsmir that's probably something on my side, everything worked fine for past month
So like that post wrote that Scott so-and-so doesn't care about performance.
Like number one, that's a really hard thing to claim is factual because you can't know what's in his head.
But the other thing is,
you don't have the second form of defense because the bot is not a person to hold an opinion.
So I think it might actually be easier to prove a libel or a slander case against that kind of blog post.
I don't think it would be worth anyone's time to try, even for the guy who got smeared, because it's like,
dzwdz you sure about the bots not holding opinions part?
Yeah.
Prosecuting a slander or a libel suit is not something one should do lightly.
It's an enormous project.
01:39:04An inanimate object can't hold an opinion. And I'm not trying to get into philosophy. I'm trying to talk about my very limited understanding of the legal theory. I don't know, maybe an actual lawyer has written on whether bots can commit libel.
...46grayhatter_ the point isn't about getting financial value from a judgement, from discouraging other people from doing the same reckless stuff
dzwdz one could argue that a biased ML model holds an "opinion"
dzwdz not in a legal sense
dzwdz but like, y'know
grayhatter_ or at least where I think the most value would be
Grey Hatter, you're unlikely to get money from a judgment.
It's bringing a competent suit, even assuming the person is
dzwdz also you might've brought this up before i joined this stream
like in your same country and you can identify them, it's going to cost you 50 to $150,000.
grayhatter_ I know that's, but getting money isn't my goal
dzwdz but i think you talked about going to study law a while ago, right? or am i misremembering
And if you like pick your favorite hobby and you get to stop doing it because you're managing the lawsuit instead, you just light an enormous amount of time on fire.
And
grayhatter_ it's making LLM enjoyers afraid of letting there bot hurt others
grayhatter_ their*
most likely the person who did this the term is called judgment proof which is to say like you can't get blood from a stone it's probably run by some student or some fool whose biggest asset is the five-year-old laptop they ran the bot on yeah
dz yeah i i hadn't talked about it earlier on this stream but i have seriously thought about going to study law and i think about it every fall as like law season comes up and then it's not quite the thing i want to spend the next three years on i think what's possible to have happen is i do my own independent study of law because i don't care about getting admitted to the bar but like i can just go get the
LSAT prep books and go get the law one, law two, law three textbooks and read them.
Nothing's stopping me.
I can pay a lawyer to tutor me on things.
I can pay an actual law teacher to tutor me.
So then I'd get all of the stuff I want, the knowledge, without the three-year commitment.
01:41:46So that handled that.
...55olexsmir spending 3 years on something is too big of a "hobby commitment"
graefchen I know that my uni has some course about learning some smaller stuff about law and I thought if I should take them, but at the same time i need to get enough points in an exam for it, and that seems like a lot of work. limesStare
grayhatter_ yeah, at what point is it not a hobby :D
split this up this is two things and it needs to not be because it's confusing enough and then this one is oh shoot this one is the code all right so hang on and then the second one is yeah alexamir and it's not like
Three years of nights and weekends.
It's like five years of it's nights and weekends.
01:42:39All right.
olexsmir @graefchen dont forget that you also need time to sleep
So yeah, let's include a note.
01:43:15olexsmir and inject food sometimes
get these things on their own line.
...34So it's this one that comes up. And
...50It's this one.
01:44:05This one is not live but I will include it here.
...16The other ones, this is about like the domain or the origin being deliberately banned it doesn't mean like hey you will be banned, so I figured like if I put someone's username in an error message surely that will pop out at them right.
...52dlamz surely!
dzwdz how does the computer know my name
grayhatter_ the rule still applies, even when you try to account for the rule :D
graefchen I gladly didn't take them. I still need to finish other IMO important stuff. Like writing my Bachelors ... in archaeology ... in a probably, maybe ... to niche topic. limesO
Actually, yeah, those weren't all in a context where they have the user object, were they?
That's OK. We have failures in the test, too.
So unseen.
01:45:17In this context, the variable is just user and user. That ought to do us.
...32If the tests failed, why did it run the rest? I don't love that, because it would be possible for the rest of this stuff to scroll up out of the way, and then I don't know the build failed.
...52So I'm doing all of these changes because I would much rather like welcome people into the site and teach them how to participate properly and acculturate them than have to whack them with the banhammer.
dzwdz you can't flag a story after 14 days /at all/, right?
And so I am doing like five things because I've done this.
I've made a bunch of changes to these over the years.
I'm willing to make more.
I just want it to work.
I think it's, I think it's seven, actually, we can pull it up.
It's a constant flagable days on the story model.
01:46:45dzwdz then i'm kinda confused by https://github.com/lobsters/lob…
dzwdz that date check seems pointless
I kind of
...51dzwdz also whoa that phrasing feels pretty damn aggressive
like the username is useful the so this this message about being logged i didn't include it before because when i say things like this i also have the opposite problem which is we have users new users who are very conscientious like they are so conscientious i almost wonder
if they have the anxiety.
And I don't say that to insult them.
It's just, I know a bunch of people with anxiety disorder.
But they'll be like very apologetic about very minor things because it's hard to know how seriously to take something.
And if I say, hey, this was logged for you, Alice, right above like literally the sentence after you can get banned for this,
I worry I'm going to get a bunch of PMs from people who are needlessly worried that they're going to get banned.
And DZ,
01:48:53dzwdz how about replacing it with something like (we'll know, this warning was logged for the mods)
veqqio hi grayhatter! imiss you <3
dzwdz you could also explicitly say that this is not something to be worried about unless you resubmit the story?
phy1729 (And we will know you were wanred.)
yeah daisy i'm wondering like how to get that in a reasonable word count it's that like we will know god that's so yeah i'm i wrote about it in a a comment a while ago but
There's a thing happening here that's really hard.
I'm always searching for these comments with the word gun.
pushcx https://lobste.rs/c/russ5o
dzwdz this wouldn't be entirely factual but "If you resubmit this, mods will know you saw this warning"
So it's this thread, which was a big one.
01:49:44graefchen We know and then a picture with a black hand? limesGiggle
So I wrote, this is in the context of a user who was banned.
and we were talking about how the conversations with the moderators had gone.
And there was a really useful metaphor that I picked up
dzwdz we are all a bunch of the user that was banned
grayhatter_ I feel like people getting around story automation/limits is a social problem, not a technical one
grayhatter_ that's 100% true
chamlis_ sorry if this already came up, but if there's an action we detect where there's a >90% chance of a ban following, isn't it worth just blocking it with a "if you really think you should be able to do this, join the chatroom"?
a management blog that talks about how if you have power over someone whether that's you're their boss or you're the moderator on the site it's like you're always carrying a gun because you don't even have to like actually pull one out you always have one and so like I'm struggling with this message because it is this exact thing of
grayhatter_ it's fantastic that you're aware of that
If I end the message with, or you'll be banned, whether or not we eventually banned, we've threatened the user.
There's dystopian undertones.
If we don't end with, or you'll be banned, and eventually the user is banned, we were unclear, waffled, or capriciously reversed your decision to not ban without prior warning.
Like it's this thing, like I'm trying to be really clear and set a bright line rule
01:50:57grayhatter_ speak objectively without making threats
grayhatter_ threats need to be written down WELL before you need to enforce them
dzwdz add "I DON'T HAVE A GUN" at the end of the warning
the actual experience of someone saying hey I'm pointing a gun at you sucks and I don't you know like I don't want to say it right so so when you say making threats I think that may be an equivocation because I think there's a difference between
veqqio I think this happened with grayhatter in a way, actually. coincidence but good fit
grayhatter_ you DO have to be clear and say "this is a violation of site guidelines"
a threat like, I'm mad at you, so I'm going to ban you, or hey, this is the rule, and this is the punishment for breaking the rule.
grayhatter_ a threat is any offer of adverse action
And that second one I don't think should be a threat, but it kind of is, any time Ahmad explains, like, or any time Ahmad writes this error message and says, X is the action you could take, ban is the consequence, like, is that a threat?
I would say no.
grayhatter_ I would say yes
dzwdz @chamlis_ great idea for irc growth btw
It's just like, that's what the rules are.
veqqio Why say no? Why not add "this is a thread." to the message?
Yeah, I mean, like... Is there a way... Do you have a word that's less emotionally charged than threat, Grey Hatter?
grayhatter_ you can state, "this is a violation of site guidelines"
Devek, if you could...
if we could chill with the peanut gallery stuff, we're getting at a really hard topic.
veqqio This isn't peanut gallery.
So like, I appreciate lightening the tension, but I'm trying to make something really clear without making it super unpleasant.
Even for the potential rule breakers.
grayhatter_ I can use offer of adverse action, which is what I could consider a threat
Yeah, this is nothing like a busy stream.
veqqio I asked you why that seems unpleasant to you - the whole point is to exercise authority, no?
Just Hmm.
offer of adverse action?
01:53:04grayhatter_ I'm offering this outcome if you do XYZ
Oh, I missed your question back.
Thank you.
I think
veqqio I bumblefooted around on this which led to my community dying. Clarity seems useful.
Are you asking me if it seems unpleasant to me when I'm role-playing a user running into it or why it's unpleasant to me as the moderator who is expressing my intent and consequences?
...34dzwdz i suggested "If you resubmit this, mods will know you saw this warning" before if you missed it
I'm sorry to hear that.
Yeah.
dzwdz so something along these notes maybe
And I'm trying to be really clear in the message.
...49tv6gone there are consequences to actions, which as a moderate gives you that power
if you resubmit this the mods will know you saw this warning yeah tv6 that's that's kind of the thing we're thinking about thanks for joining yeah dz maybe that kind of more neutral phrasing would be better all right so wait we have these three instances can i get them all on the screen at once so i can
Think about that where the other one go on to.
grayhatter_ also, hi veqqio
grayhatter_ hope your day is going well :)
veqqio I mean, you're saying it's unpleasant for the user to get the message/thread. But you can be unpleasant to them, to you, to the whole community etc. Disciplinary action needs a rod (besides the carrot etc. of community involvement.) It's unfortunate to have (clear or implied) threats in a party, but
where's three.
Okay.
01:54:49ghost_user_1984 βthis warning was shared with you, the person who provided your invitation, and the moderation teamβ
grayhatter_ @veqqio I was afk, glad I didn't completely miss this <3
ghost_user_1984 yeah
yeah and and vec oh hunter that is a really interesting idea of also sharing it with their inviter i feel like that does kind of push into
01:55:16dzwdz the hell will an inviter do with that information
dzwdz take back the invitation?
ghost_user_1984 at some level we make them responsible when they mess up
leaning into making inviters responsible like that's that's a really interesting thought for this feature hmm yeah so if bob invites carol
And Carol goes to break this rule.
dzwdz if the user actually does something bad, the inviter should definitely get a warning
If Bob got an immediate emit, oh my God, you know what I should do?
ghost_user_1984 dzwdz, we assume inviters can coach the new users on proper behavior.
I should use the new feature that Chao coded for this.
Oh my God, I'm not going to have a short stream today.
What time is it?
Oh, it's 412.
ghost_user_1984 so no Anubis deploy?
That is a really interesting idea.
and bigger than I want to try and do on stream, but that's, yeah.
grayhatter_ @ghost_user_1984 :<
So if we said we used the mod mail feature for cattle, if new user, bear inviter,
grayhatter_ anubis makes me so sad
ghost_user_1984 oh ouch
pushcx https://github.com/lobsters/lob…
ghost_user_1984 well we can plan on trying in the future
know that might actually be really good so no anubis deploy no i i blew up my schedule today gray header if you want to jump into 1814 we're open for other suggestions for dealing with aggressive scrapers
ghost_user_1984 gray the only other option I see is cloudflare
Yeah, I really want to deploy that one on a weekend.
grayhatter_ should I comment even if I closed my account?
I think it's probably ready to merge.
veqqio It's good - but only works when the inviter and invitee have a connection. I don't think it's bad but it changes the calculus for some people (e.g. I hand out many invites quickly and would test them more. I think my tests have been effective so far but). Others already believe they could lose their account so just don't invite others - I've spoken to many in irc about this
But yes, I'm happy to have your thoughts because I'm nothing like an expert on Rails performance or
dealing with aggressive bots.
So if you have an idea around performance, take a look.
There is a dedicated issue just for Anubis.
And if your comment is, but it requires JavaScript, we're aiming for a pretty conservative config on it that does not immediately put JavaScript
dzwdz @grayhatter_ whoa, i've just realized you only had an acc for 2 months
dzwdz felt like longer
veqqio so perhaps yes,allow the inviter to "vote" to rescind the account post facto? But that leads to crazy community dynamics - it's hard. I think this is all messy
grayhatter_ dzwdz is that a good thing, or bad? lol
ghost_user_1984 I mean veqq, thereβs the entire Simba story.
in front of everybody because i still would like the site to be usable without so vec i think it would be fine if
People were nudged to be more cautious about who they invite in a responsible way.
So we don't need to grow for the sake of growth because we're not any kind of startup.
And in fact, there is a limit to how fast communities can grow before they lose their culture.
Going for the deep cut, huh?
dzwdz @grayhatter_ neutral? it means that i think you were good for the community, i guess :p
ghost_user_1984 yeah.
Because that's been seven years now.
ghost_user_1984 yeah, but thatβs the best example I can think of
and is maybe the weirdest story but i do think that enlisting invites so like in the scenario we're starting where bob invites carol carol goes to submit a vibe coding post if bob gets a like hi you're in a conversation with the mods and carol
it does nudge Bob to be deliberate in who he sends an invite to in the future.
grayhatter_ dzwdz interesting, I got the message that many people were off put by my participation/comments
I think in a really good way of saying, hey, we want you to help acculturate Carol and the other future people that you invite to the site.
01:59:38Yeah. As for rescinding,
...49ghost_user_1984 because if youβre grabbing folks from irc, you can give us a timestamp and we will see it.
dzwdz @grayhatter_ it's been 7 months, maybe i forgot i hated you!
We do have a, oh, Grey Hatter, speaking of the difficulty of writing threatening mod messages, I also need to spend an hour with
dzwdz okay that was meant to be a joke but that sounded way too mean
one toning it down i wrote it at a time where i was the site was a lot more argumentative which is hard to believe in the days of the vibe coding tag this last couple months hmm
02:00:31grayhatter_ dzwdz I only heard it as a joke, you're completely fine don't worry :D
dzwdz yoo i can see removed stories
All right.
...40veqqio I think a thread of sebastiancarlos ' was removed. But we had such an interaction where I tried to discpline him.
So I'm going to back this out, actually.
...49grayhatter_ so
I think talking through all this, you can see removed stories.
Where can you see that?
That sounds like a bug.
02:01:05dzwdz peter's coming to ruin the fun :(
dzwdz enable story summaries, look at e.g. simba's stories
dzwdz https://lobste.rs/~simba/storie…
grayhatter_ I don't want this to be public, and easily accessible yet, can I send you a link to the single best rule for my bot detection thing?
easy if you could throw the link here or message me i'll take a look at it otherwise i really have to wind this stream down because i have a thing i have to finish for five okay
...40dzwdz the summary of the deleted story is still visible
dzwdz summaries are a great feature
Oh, DZ, you see the summary of the story?
Oh, the preview?
That's an interesting bug.
grayhatter_ my custom git forge is nearly "immune" to scrapers now, and it's all from 1 rule
Yeah, that's just a bug.
I guess it also shows you that the moderators generally don't have previews on.
02:02:07I want to dash R. I can't talk and type at the same time. How do I?
...30dzwdz i wonder how many people even have them on
Can I just bump to this?
Nope.
There we go.
...45That's not the commit I wanted to abandon. JJ, undo rescue me. I must have duplicated the description. That was intended to be just the duh.
02:03:23dzwdz did you just change something relating to upvoting comments?
right because i had said removing the tag that's the edit i want to keep stepping on my own work gray header is it the did you write that post about the set of cookie and redirect
dzwdz sorry, i know i'm /constantly/ barging in with random stuff
And DZ, no, nothing recently changed about output and comments.
Well, I mean, like there was a style change a week ago, but no code.
grayhatter_ no? I did write a post, but it wasn't suggesting cookies
Yeah, but if you're finding bugs, I don't really complain about finding bugs.
02:04:15dzwdz yeah i can't upvote comments for some reason
dlamz there is a bug on mobile where scrolling over the upvote button shows it as upvoted
Oh, okay, so I saw...
...29pushcx https://her.esy.fun/posts/0031-…
dzwdz i have all userscripts turned off but maybe it's on my end
I recently saw this post about Forge Joe, and I was giving it the once over for giving the tag off to skirt this restriction.
You can earn a ban.
And then that's doing it again.
This one is.
02:05:05This one is the bug DZ just reported.
dzwdz i can't upvote comments on my phone either
So that's going to be in list detail.
Did I not say?
What state am I even in?
...41grayhatter_ So I added bot detection to my web framework. It detects you as a bot, if you're score is >= 1.0 and scrtree uses this score to return 404 if you're a bot and lie about your UA this is the rule that catches ~all bot traffic https://srctree.gr.ht/repo/vers…
Story.
Story.
tv6gone upvotes are broken for me as well
BrudishFT @dzwdz I'm having issues with upvoting on the front page reloading the page (but not upvoting) and pressing "(unread)" not jumping to the next comment, so it's not just you
dzwdz when i click the upvote button the page refreshes
You can't upvote on your phone.
It's scrolling over the upvote.
So it sounds like there's two different bugs here.
So DLAMS, if you could report your bug.
Oh, okay.
So something I just shipped broke JavaScript.
Hi, Brutish.
Welcome.
02:06:15dzwdz on that note, taking away upvotes has been janky for me for a while too
veqqio https://lobste.rs/c/62o27e is from a deleted story, but I found an inviter-invitee disciplinary action (which worked) (I was the inviter)
yeah that's just a bug so we've touched the javascript a couple of times in the last few days so let's figure out what that is and then fix it live like bill o'reilly will do it live and then we will get back to things all right so there's that
...42grayhatter_ this is very much inline with what I'd do, I like this post (but I wouldn't use cookies)
BrudishFT Howdy. I pinged you about it elsewhere but then I saw you were streaming and figured you might be doing something about it on stream. I didn't want to pester but since dzwdz brought it up I figured I'd add credence to the pile
veqqio visible here https://lobste.rs/search?q=I+se…
taking away upvotes if you could try and write a bug report out of that i would really appreciate it and greyhatter you said you wrote a post if you could throw me a link either here in the chat or email or something
grayhatter_ https://gr.ht/2025/04/23/person…
Yeah, Brutish, I'm breaking it on stream.
That's what I do on stream.
02:07:20I'm being a little silly.
...44BrudishFT HahaSweat
Thanks for sharing that.
grayhatter_ I have a follow up I have to write, using dnat to return a full webpage with a warning instead of outright blocking the traffic
Oh, wait.
I read this when you first posted it.
Directly into your user's face was a vivid alternate type.
02:08:08So let's stand up a local server and see if I can upvote stuff. Probably can't, but then I'll have the bug.
...27Restored the database. Let's just blow away my password there.
...41Yeah.
02:09:05All right, well, there's the bug.
...14There's a different bug. Hold on, I can't tell. All right, that seems to be the bug. So we're looking at line 271.
...31Why is this even running?
...39Because it thinks you're on the story form.
...54Why is this running here? Like this is new code.
02:10:08It's in case the user is loading the page, but that is not on every page. And check story title must have, yeah, a return on. Okay, so this one just needs a null check.
02:11:24There's our description. Is it fixed? Yes. OK. Let's bump main. Hold on. Let's turn on last call, because I'm way over where I want it to be. But people can't vote is a pretty bad bug. And deploy.
...58twitchtd I'm going to go till next time, thanks for the stream and I sent you that invite for saturday morning for the sqlite migration
And I still have enough time to sneak in below five.
Yeah.
Oh, thank you, Thomas.
I'm going to, right after this stream finishes, like the next command I'm going to do is switch over to your branch and run dumpdb and loaddb.
I will pipe in on the pull request if there's any bugs.
All right, and let me...
BrudishFT It's back!
Reload lobsters and double check that upvote works because upvoting is important.
I bet I got a bunch of like messages on Blue Sky about it too.
02:12:45So if I say upvote, all right, that worked fine. If I upvote this comment, worked fine, great. All right, well, thank you for the Heads up about the breakage, folks.
02:13:04dzwdz oh i have found at least one of the upvote bugs
Alrighty, I am gonna roll out.
The next scheduled stream is on Thursday, but I will be breaking the site a bunch before then.
dzwdz nah, it
dzwdz it's fine
Ooh, is it like site on fire bad, or is it like you can throw it in the issue tracker and we'll get to it for Thursday bad?
grayhatter_ good to see you pushcx, have a good one
dzwdz i'll follow up in irc
It'll keep, okay, thank you.
grayhatter_ you doo dzwdz veqqio
All right.
grayhatter_ too*
tv6gone thanks, goodnight
Then I will see you in the issue tracker.
Yeah, good to see you too, Gray Hatter.
grayhatter_ :)
Thanks for your thoughts on writing.
dzwdz likewise :)
Sorry I misread your, or misunderstood your point about reading comprehension, but we'll get there on the language.
Yeah, I really like the mod mail ID.
All right.
grayhatter_ It's all good I'm used to being misunderstood cheers
rndm_dev see you then!
So next stream is Thursday morning, 9 AM Chicago time.
Hope to see you folks again.
Take care.