dormando.bsky.social

dormando.bsky.social

@dormando.bsky.social

memcached maintainer. infra/etc.

87 followers76 following292 posts

My home router were low power OpenBSD boxes for many years... Finally missing it. PF was super easy to manage with the NAT/FW rules being merged. Regular OS updates, minimal install, etc. Gave it up because UPnP wasn't working and games stopped working. Also required dedicated AP's.

View full thread

"just use a router dingus lol" - yeah idk. I can't VLAN stuff on the wifi and that's the biggest issue. Otherwise it's suepr nice to be able to swap out the AP's without touching the router. Can still do transparent VPN's and other screw-ery. Nothing seems to do what I want?

(yes you're supposed to switch to the business-y AP's which can push SSID's onto a tagged vlan? but I bought the current ones too recently since the biz ones at the time were kinda crap. also there's no reason why the ones I bought can't do it other than software which PMO)

My home router were low power OpenBSD boxes for many years... Finally missing it. PF was super easy to manage with the NAT/FW rules being merged. Regular OS updates, minimal install, etc. Gave it up because UPnP wasn't working and games stopped working. Also required dedicated AP's.

Then it was OpenWRT for a while. This was both better and worse somehow. Then wifi 5ghz eventually meant needing mesh nodes and now I'm on a raspberry pi router + wifi trashcans in a mesh. Missing the simplicity of the OpenBSD route while upgrading this crap now.

USPS picked a great year to have their "machines" rip a ton of ballots. everyone from the handlers to the dead-eyed delivery people who didn't bat an eye stuffing these into boxes are up for a whoopin.

Finally got a report. I'm gonna "leak" it because the gymnastics are intense: - Enable TLS on a port with "bare" TLS (no cert auth) - Add a second port with mTLS - Enable server side ssl session cache - Connect to TLS port - Resume the session on the mTLS port - OMG cert auth bypass!

Both ports lead to the same place. (except maybe proxy mode?) So... if you can connect to both ports, just stay on the non-mTLS port? I'll fix it anyway but HIGH is really pushing it considering the cross section involved here.

False-alert smoke alarms giving me legitimate PTSD. Does disassembling and dusting them even work? am I going to smash these with a hammer? Just do a low battery beep like your ancestors did, jackass. It's supposed to announce which room verbally but it doesn't do that immediately. That is worse.

Casually skimming 'Designing Data Intensive App. 2nd ed.` for fun and refresh on stuff I don't use directly. Anyone who worked in social media should recognize the dreaded "timeline query" from an early example in the book. It then talks about an inbox-style TL + merges for famous folks. Rambling:

View full thread

Since global post rate was "low" frequent refreshing would do much lighter queries. A real system would've had a service instead of BDB's in a MySQL column but it doesn't matter since I didn't finish it.

We had severe RAM constraints so the system would most likely have been "if you hit your TL more than once a day you get cached into this system for 24 hours". Maybe it could keep tail blobs on disks efficiently idk. Anyway fun "could'a been" thought for nobody in particular.

Casually skimming 'Designing Data Intensive App. 2nd ed.` for fun and refresh on stuff I don't use directly. Anyone who worked in social media should recognize the dreaded "timeline query" from an early example in the book. It then talks about an inbox-style TL + merges for famous folks. Rambling:

View full thread

Of course we had the same TL query at LiveJournal. I recall making an awful prototype where I materialized timelines into a BDB blob and shoved it back into MySQL (lol). @bradfitz.com rightly told me to try harder (and I didn't, because I'm a fool). But there was something odd about it? Not like TW.

LJ's post rate was low compared to SMS-style social media. So I could've done inbox style but I don't think that was it. I think it (tried?) to store MAX(postid) or timestamp in the blob. On a read: Pull the TL blob, then run the TL query constrained to _only globally newer entries_

Casually skimming 'Designing Data Intensive App. 2nd ed.` for fun and refresh on stuff I don't use directly. Anyone who worked in social media should recognize the dreaded "timeline query" from an early example in the book. It then talks about an inbox-style TL + merges for famous folks. Rambling:

Was at TW office ages ago (some conference thing?) and someone was telling us about how many machines are just for delivering tweets for famous folks. I asked about delivering folks over N follows to a service then late merging with user timeline. "... yeah... we should do that."

Guessing they were already planning on it... My prior job had a roughly similar issue: a notif system that told you when a user DM'ed or some thread updated, but we also wanted to light it up for news posts. Did a late merge instead of blasting inboxes. Can't recall whose idea that was. Not me?

So I kinda settled into not using AI for much despite what seems like everyone I've ever known going full tilt into it. Every 6mo I "update my skills" since FOMO and "left behind" is the big hype and... it just takes a day to get caught up. Any weird tricks are soon folded into the harness.

dormando.bsky.social@dormando.bsky.social

Since Opus 5, claude code has been occasionally printing random chinese characters in its output. This morning I got a huge dump: half a line from my stuff then screenfull of someone's javascript UI tasklist in chinese. I imagine someone else must be getting random globs of my session output? No?

View full thread

This doesn't mean it can't have _personal value_. I'd say strong parallels to 3D printing: there are no "3D printer user billionaires". I can print a command hook at home and not pay 3m $0.75 for a single hook. I'm never going to make a valuable competitor for command hooks.

So I kinda settled into not using AI for much despite what seems like everyone I've ever known going full tilt into it. Every 6mo I "update my skills" since FOMO and "left behind" is the big hype and... it just takes a day to get caught up. Any weird tricks are soon folded into the harness.

dormando.bsky.social@dormando.bsky.social

Since Opus 5, claude code has been occasionally printing random chinese characters in its output. This morning I got a huge dump: half a line from my stuff then screenfull of someone's javascript UI tasklist in chinese. I imagine someone else must be getting random globs of my session output? No?

View full thread

Not really needing it + the systemic obnoxiousness means I can happily minimize its use or ignore it. I'm not going to bother anyone else who does; this is just me saying I've done the math for myself.

I have a grander thesis that it's probably impossible to drive consistent _real value_ from these systems beyond accidental / copied products. Hard Value just seems to be a function of how much entropy you put into an idea (+ how much you deliberately leave out) + luck.

So I kinda settled into not using AI for much despite what seems like everyone I've ever known going full tilt into it. Every 6mo I "update my skills" since FOMO and "left behind" is the big hype and... it just takes a day to get caught up. Any weird tricks are soon folded into the harness.

dormando.bsky.social@dormando.bsky.social

Since Opus 5, claude code has been occasionally printing random chinese characters in its output. This morning I got a huge dump: half a line from my stuff then screenfull of someone's javascript UI tasklist in chinese. I imagine someone else must be getting random globs of my session output? No?

Part of this is the nature of my work: I've always done shit everyone else hates (automate things, figure out how things work, maintaining stuff) and AI isn't much of a shortcut there unless you like boomerang work. It's best at generating new junk and charging you for good and bad.

At this point if I'm separating ethics from pragmatism I'd say I can get real value as a static analysis tool (I wouldn't call this code review! closer to a turbo linter). but I don't need that all the time. The API cost estimates for a full audit are hundreds of dollars, so...

Story time: So I'm watching non-stop, because apparently I'd watch Liam Neeson take a shit, and there's a scene where the passengers are watching their own hijacking on the news. My wife says "that seems really weird". Then I'm thinking... wait, that seems really familiar? That kinda happened to me?

Since Opus 5, claude code has been occasionally printing random chinese characters in its output. This morning I got a huge dump: half a line from my stuff then screenfull of someone's javascript UI tasklist in chinese. I imagine someone else must be getting random globs of my session output? No?

In b4: I don't often use this stuff. I'm positive it's not something weird I did. This is a CC session running in a dedicated container on a host I personally own. The only software installed is CC and various build deps. None of the text or code exists on disk. Happens more in long runs.

"Why chinese?" - guessing just luck. if a random english word got spliced into one of its overly verbose outputs I wouldn't have noticed. Though if it was this long I imagine I would have noticed...

20 days, no security reports. will we make 30?

dormando.bsky.social@dormando.bsky.social

github.com/memcached/me... - Spent all of last week fixing every bug I could find. It's only been a few days since then but all the reports have been dupes or junk. Any new robots overstating a report will get banned without notice.

View full thread

Only major takeaway is almost none of these were surprises. Nearly every bug had a nearby commit message or comment "there's likely a bug here" or "need to finish this refactor" or was a command with no tests at all. Years of poor follow-through on random subsystems due to working alone.

Too tempting to jump on a "more important piece of code" in the past, but now that robots will jump on you for credit for any possible bug those days are probably behind me. As they should have never happened in the first place.

I did "use the robot, luke" for this one. with a half-assed setup scrubbing for bugs in one window while I manually fixed them in another. Figure this is exactly what the reporters are all doing so is the most likely to reduce noise going forward.

feels like decent chunks of it are coming together finally after many stops and starts. lots of old words in last years' design documents are turning into implementations that feel right. still a lot to go and it would feel less lonely to be able to post about it along the way.

damn.. my playdate's up/right dpad buttons went sticky again. Really wish this thing could be opened without damaging little plastic tabs. Seems to be a problem when I don't use it for a little while... but using it doesn't un-stick them. maybe the purple flap case is pushing on them?