There's a bunch of problems here. Yes, China traffic spiked, but it didn't spike that much. Also, now that the analytics have caught up, it spiked a day or two before the server problems began, and everything's back to normal. So . . . was it bots? Eh, maybe, maybe not. And while I can get a long list of IPs, it's not clear that there was any significant pattern within that.
If you had an employee whose work you had to check every single time, you'd fire him.
In most of the programming jobs I've been in, code reviews are considered mandatory for all programmers. Everyone's work is checked every single time, and yet we don't all get fired. Humans make mistakes, and we've set up systems to better solve that issue. So do computers pretending to be humans. Nothing out of the ordinary here.
There's a lot of cases where figuring out how to solve a problem is far more complicated than verifying the solution, and those are cases that LLMs are fantastic with.
I don't know what you've tried, but:
- Claude is probably the best-integrated system out there; use the commandline tool because it's able to go research your codebase on its own.
- Make it a CLAUDE.md with general architecture. It can make a CLAUDE.md for you with the
/initcommand, but read over it by hand to make sure it's right. - Make sure thinking is enabled (hit "tab"). If you're asking it to do a really hard thing, use the "ultrathink" keyword, which will give it more space to think.
- If you have reference tests to use as a model, point it at those. Telling it something like "read existing tests and use the same general style" can help a lot; if you can be more specific, do so.
- Ask it to run the tests and fix problems.
- Expect the occasional mistake. Review its code.
I'm paraphrasing a bit; I ended up with a bunch of prompts, including "write tests to cover every endpoint" and "write tests to increase code coverage" and "stop skipping this specific file, I've seen you consider it six times now and you keep saying it'll be hard and going to do something else, knock it off, go do it for real" and at one point it started just writing tests that verified an endpoint returned a success code instead of actually checking the data and I had to tell it to go back and fix them.
But nevertheless, it was fundamentally "go write a bunch of tests kthx".
What kinds of tests does it write?
Pretty simple ones. In general it's either "call endpoints and verify that the right thing happened in the database", or "change the database and verify that the right thing happened from the endpoint".
How does it know what to expect or assert in the tests?
By reading the code. It's not a black box, it just goes and reads the code. Then it tries stuff.
Then if the stuff didn't work, it reads the error messages and fixes it.
Same way a programmer does it, except it does it while I'm in the kitchen making a snack.
Some of this might actually be fixed, or at least, in a position where it can be fixed. We had a problem for a while where updating the software was impossible because it caused crashes and largescale fixes were sketchy due to how badly tested it was. Thankfully, with the rise of AI, I can (and have) just point Claude at the codebase and say "write a ton of tests kthx" and now it's a lot less questionable to do work on.
It actually found a few bugs while writing the tests which was pretty funny.
Honestly, I'll take some credit, but the mods have been putting a lot more work into it lately than I have. Give them most of that credit :)
Nobody mentioned it to me until maybe twelve hours ago :V I think it's now fixed, I think the computer it was on was having problems and the solution ended up being "bump it to another computer" . . . after doing a few in-retrospect-unnecessary optimizations. But hey, at least the optimizations are done.
The thing that's weird about this, though, is that it ramped up gradually over a period of a week. And it's hard to believe that us specifically would get a massive increase in traffic over simultaneously such a long and a short period of time.
That said, I may have solved it; I think we were just on a crummy cloud computer, I recycled the node and performance is fine again. Gotta remember that for next time.
To be honest, I'm not sure. If it's a DDOS it's a weirdly terrible one that's spending a lot of effort looking like a misbehaving web crawler. On the other hand, if it's a misbehaving web crawler, it's a weirdly terrible one that's spending a lot of effort looking somewhat like a DDOS.
Either that or we've gotten incredibly popular in China over the last week.
It's not just you. Working on it. :)
(Should be better now, I'll let it sit for half an hour or so and see how it's going. More work may be needed.)
(Edit: Sigh, not solved. Still working on it.)
(This may now be fixed; I think we were just running on bad hardware.)
Yeah, it's trying to remove tracking codes, so I decided to leave that in for now.
This should now be fixed. I also stripped out the weird URL-replacement stuff that was going on :)
I should definitely do that - I actually started a #workshop thread on a Discord for much the same reason, though unfortunately a lot of stuff that I'm doing is backend and hard to share in interesting ways. But I'll see if I can start posting there when I do have things of interest :)
Absolutely! I'm hoping to get a somewhat-serious public release in the next few months.
Is he really busy with work? Life in general?
Pretty much, yeah.
(ping @TitaniumButterfly @Southkraut)
So, here, lemme give a sort of tl;dr of The Shape Of Zorba's Life.
I vaguely divide most of my tasks into a few categories. In no particular order, those are:
- Sanity
- Family
- Survival
- Professional hobby
- Unprofessional hobby
The tricky part is that I usually have time for at most four of them. Unsurprisingly, Sanity, Family, and Survival end up in those four. They're kinda important.
In my case, I work in the game industry. So "professional hobby" is making my own game studio. "Unprofessional hobby" is The Motte. I end up having to choose between them, and for a while, I was aiming most of that spare time at The Motte in the hopes I could make it start paying for itself; if The Motte could take over Survival (which more-or-less gets summarized as Money, usually in the form of Day Job) then suddenly "I have time for four of them" starts looking pretty good.
Well, I'm not going to say that outcome is impossible, but at the moment, it seems pretty unlikely. I took a serious shot, it did not immediately work out. This meant I had the long-term choice of sacrificing professional-hobby in favor of unprofessional-hobby, or vice-versa.
That whole "can I make The Motte take over Survival" thing also applies to the game studio, though. And I found myself in a situation where I had some really promising ideas and tools, which made it seem like I had a plausible shot at making Professional Hobby actually become my day job, thus subsuming Survival entirely, if I started working for myself and managed to get something viable before I ran out of savings.
And so that's what I'm fundamentally focusing on. If I can collapse Professional Hobby and Survival into one thing, then I have spare time to keep working on Motte stuff. But I just can't afford to get too distracted from this, because the bank account isn't going to last forever.
So the tl;dr is that I ended up needing to triage and The Motte got the short end of the stick. That doesn't mean it's abandoned - I really do want to work on it - that just means that there's enough stuff I have more immediate needs for that it has to be sidelined for now.
I will say that the mods have done a great job of keeping this place going. Its current survival is entirely thanks to them and I am extremely grateful. Fingers crossed that my current project is successful - in fact I'm looking at a major milestone coming up in a week that'll give me a much better sense of whether this is viable - and if it is, then I'll be able to come back to The Motte and put some serious effort into long-term plans that I simply never managed to work on.
Until then . . . keep it up, y'all.
How do you in-person voters... remember anything meaningful?
I go over the sample ballot, make my choices, and either mark them down on the sample ballot or print them out.
Then I bring that in as a cheat sheet and just follow it.
I used to write it down on my phone, but the state I'm in disallows phones while voting, so, paper solution.
@OliveTapenade It's treating it like a relative link; without an http:// or https:// in front of it, it's considered relative to this current directory. Note that it's not even The Motte doing this, The Motte is dutifully linking to whatever you ask for, that's web browser behavior.
If you paste it in raw, then The Motte says "oh shucks that's a website link isn't it? I'd better do all the appropriate processing!" and dutifully stuffs a http:// on the front of it.
Fix it by adding an https:// .
(click the "view source" button)
We should probably be autoprefixing it with https:// but I think this is literally the first time this has come up :)
Looks like it blocks the post entirely. I can't find anything obvious that would cause notifications to not be sent - maybe @Folamh3 is looking in a weird place? Maybe there's a setting?
I vaguely recall trying to reproduce this a while back and failing. @Folamh3, if it's worth the time to you, you're welcome to make a few accounts on https://dev.themotte.org and see if you can figure it out. If you can come up with a repro case, that'll make it a whole ton easier to fix :)
I've actually got a code review pending for it right now, but it's one of those annoyingly fiddly changes :/
(whoops sorry this took a while to see)
So, the janitor system is actually working, mostly as hints to existing mods - I've never rigged it up to actually take actions, but it does give ratings on whether a comment is good or bad. It's pretty dang accurate! If it's uncertain, the comment is usually borderline, but there's a lot of comments that have extreme "this is good" or "this is bad" ratings and it's quite rare to disagree with them.
It will surprise nobody to learn that there are random janitor assistants who are actually more consistent than the mods. I did use this as a tiebreaker during the Doge process.
I've wanted to rig this up to be more automatic - and also to do quality contributions - but life is unfortunately pretty packed right now for various reasons and haven't had time :/
I'm honestly impressed at how we can write rules that are so ridiculously lax that I would never expect anyone to run into them, and have people run into them anyway.
Just go post about something every week! Here's a nerd making goat noises! Here's some nerds comparing cards in a game they've never played! Here's another nerd taste-tasting AI-created cocktails! this is not hard
Alright that took longer than it should have, but it should be fixed now. Let me know if you have trouble!
Is this really where the bar of a slur is?
Yeah, frankly. We keep it pretty low.
Are you going to apply this level of sensitivity to everyone?
Yes. If you think someone's pushing the line, report it; if it gets approved and you disagree, you're welcome to ping modmail if you feel strongly about it.
Alright, I actually am going to push back on this. (Ping @AhhhTheFrench so you don't feel like you're grumbling into the void.)
Courtesy is the first section in the rules. That's not an accident, it's literally the first goal. And yes, this sometimes - probably often - means that we tell people not to speak as if they're in a group of friends, but rather as if they're in a group of professional colleagues. The reason is that incivility gradually corrodes what we're going for here. Not all at once, but one step at a time; it gets normalized, it gets standardized, and a significant part of the possible community finds that the place is now hostile.
From the rules:
Be no more antagonistic than is absolutely necessary for your argument.
Some of the things we discuss are controversial, and even stating a controversial belief can antagonize people. That's OK, you can't avoid that, but try to phrase it in the least antagonistic manner possible. If a reasonable reader would find something antagonistic, and it could have been phrased in a way that preserves the core meaning but dramatically reduces the antagonism, then it probably should have been phrased differently.
"Leftoids" is dismissive towards roughly half the population and there's just no good reason for it; you're not getting anything out of it for the argument, you're just using a slur against your outgroup.
Don't do that, please.
- Prev
- Next

Yeah. I'm very glad I set things up in a way where I could just move the servers easily.
More options
Context Copy link