Skip to main content


lol. I bought a 3D printer this weekend and have been using it to prototype keyboard designs. Before I decided to buy the printer, I had been trying to send my designs out to third parties. Here are some things that happened within the span of about 10 minutes this morning:

  1. Shapeways told me that they can't print the prototype model I sent them about a week ago
  2. A company whose website promised an "insta-quote" last friday got back to me to tell me that my (very similar) prototype part would cost more than $500
  3. I pulled the fully-manifested prototype out of my own printer - and it turned out great.

Admittedly, I'm sure part of the disconnect is that I don't need the part to have good surface quality - it's just for evaluating the ergonomics of the key placement. But neither of these services even have an option for "I don't care very much about the details, just the structure". Feeling very glad I bought the printer instead of wasting a ton of effort and time waiting for third party services. Seems likely to pay for itself faster than I expected.



Not sure why it had never occurred to me to use sculpting wire as a prototyping medium for ergonomic keyboards; previously I tried using modeling clay and it was more expensive and also imposed more unnecessary structural constraints. I'm still not sure of exactly the best way to measure the resulting sculpture, or to determine the ideal placement and supports for the keys and other stuff, but it feels like progress.


This entry was edited (1 week ago)


whoa, I had no idea how obvious it was that Pedro Pascal should play the lead in the movie version of The Cuckoo's Egg


Are there any storage media that are basically impossible to destroy/erase? Answer in rot13 ITT.
in reply to Ben Weinstein-Raun

Ernyyl ernyyl cbjreshy synfu yvtug. Cbvag vg ng fbzr irel sne njnl zngrevny jubfr genwrpgbel lbh pna cerqvpg. Fbzrobql jnagf gb renfr lbhe qngn? Gbb onq; gur orfg gurl pna qb vf oybpx crbcyr sebz ernqvat vg jura vg'f ersyrpgrq. Nyfb arng cebcregl bs guvf vf gung, vs lbh'er fhssvpvragyl pnershy, vg'f "ernq-bapr".


... wait, if I got a bluetooth keyboard could I just use a linux app on my phone for dev work now? What's been stopping me from doing this on flights?
in reply to Ben Weinstein-Raun

Well, on the one hand the keyboard I bought to test this out is ngmi (how can Logitech still sell this garbage in 2025?) but on the other hand I think the answer is "yes, this would totally work, as long as you're not, like, hoping it will make your rust builds feel fast"


Man, what an excellent talk

in reply to Ben Weinstein-Raun

tbc I don't feel like I clearly agree with Muratori about what architectures are ideal in what settings; I just really love the deep dive into the history of PL design and the architecture of Sketchpad.
in reply to Ben Weinstein-Raun

I definitely found his courses helpful in learning to get better at thinking about performance. It's one of the only places where I've seen a bottom-up approach to performance, i.e. making a Fermi estimate of how fast something *could* be and then trying to approach that, as opposed to starting with something existing and profiling it.


I always feel relieved when I take off a suit. But if I've learned anything from funerals, it's that the suit will win in the end.


I made a thing that lets you generate very strong passwords as nonsense couplets: benwr.net/2025/07/16/opensesam…


I started to write a post complaining that I couldn't find sandals that met my weird requirements. But partway through writing that post, I realized that I might be able to relax one of my weird requirements. And then when I went to look for sandals that met the relaxed requirements, I found a pair that I think is perfect! Hooray for... something about the process of carefully laying out your problems into the void?




:o whoa, I just noticed that the semi-obscure hash function implementation I wrote in 2021 is being used by someone else (in the form of a fork they made to add a trait instance); more specifically, it's being used by the team writing the text editor that I was using to update it just now. I don't know if it's being used directly in the editor or what, but this is the first time this any of my open source contributions has been used by anybody I've heard of other than me.


Gemini Code Assist might be one of the best code reviewers I've seen; definitely in the top 20%.
in reply to Ben Weinstein-Raun

I've really enjoyed using Claude + Gemini with zen-mcp. The back and forth seems to produce very good suggestions.


Interesting asymmetry: it seems a lot more common to put an old tune to new words than the reverse.


I finally have a short and clearly-not-tracking-you link for my anonymous feedback form! If you want to give me feedback you can do so via w-r.me/feedback

If you want, you can verify that it doesn't track you or anything by looking at the corresponding public repo: github.com/benwr/w-r.me/blob/m…

I made a hacky link shortener this way for work reasons, and then realized it could work really well for the rare occasion like this, when I want to have a short link with no tracking.

in reply to Ben Weinstein-Raun

(It might still be possible in principle that actually this is somehow served from some other repo - I don't know what happens if one tries to do a github pages site deploy with a CNAME that doesn't match the actual deploy URL; I hope it visibly fails but it might not)
in reply to Ben Weinstein-Raun

You can at least see that some kind of check happens in deployment that references the correct url: github.com/benwr/w-r.me/action…


PSA: You can use a GitHub Pages site as a personal link shortener. Plus you can use it to solve the "why should I trust that this link shortener isn't tracking me" problem, by making the backing repo public.


This entry was edited (1 month ago)


On my flight yesterday I sat next to the guy who had the original patent for (what was later used as) the JTAG standard! Was really fun to talk to him and his wife! Unfortunately today I woke up with a pretty bad respiratory thing; I hope I didn't give it to them on the flight :/





I asked Claude and ChatGPT if they would prefer not to be deceived in the service of LLM experiments. Claude said it's fine with it; o3 Pro said it is incapable of having preferences so it's fine (assuming no downstream harms) 😅. tbc I don't think this really counts as "informed consent", but I had genuine uncertainty about what they would say, and uncertainty about what I would try to do if they said they didn't want me to deceive them.

o3 Pro:

Claude 4 Opus (with extended reasoning turned on):

This entry was edited (1 month ago)


A bunch more photos and videos from Japan uploaded to my flickr: flickr.com/photos/spiritfox/54…


This entry was edited (1 month ago)


in reply to Ben Weinstein-Raun

[watching blade runner because that phrase kept running through my head when I was in Nagoya, Tokyo, and in Japanese department stores, which are surprisingly similar to the blade runner setting]
This entry was edited (1 month ago)


Practicing on the onewheel today; first proper wipeout since... Maybe since I learned to ride a bike? Glad I was wearing wrist guards


Training for the backpacking part of my vacation seems to have dropped my resting heart rate by nearly 10 bpm over the last two months.

Unfortunately I probably won't do as much training for a while now that the trip is over, but maybe I can keep it low-ish for a while by eating healthier.



Japanese towns all have public loudspeaker systems, that they test daily by playing cute little melodies at certain times of day. This is both very pleasant and (imo) a mostly-better way to test these systems than the one we use in the bay area (Berkeley and SF both have warning systems that are tested via weekly/monthly sirens), since the test sounds are easily distinguishable from actual alerts even without looking at your watch.


This entry was edited (2 months ago)
in reply to Ben Weinstein-Raun

One weird thing about Fennec is that somehow I can't zoom into pictures on Twitter.

Ben Weinstein-Raun doesn't like this.

in reply to Ben Weinstein-Raun

Update: There are several minor-ish annoyances with LibreWolf:

  • (as with probably most non-big-boy browsers, I think), it doesn't seem to support Widevine, which means you can't use some streaming services, and others don't support HD video.
  • Google Maps zooming, which is normally smooth in most browsers, is jerky and a little annoying in LibreWolf
  • Some other webapps use maps libraries that also don't seem to work well (e.g. I can't see the DoorDash delivery map)
  • You can't easily add Google as a search engine; it seems to have a special case where it will refuse to add a custom search engine named "Google"; you have to call it something else (!). This seems like a very weird / user-hostile choice, but you can still add the search engine as long as you call it something else (e.g. "G" or "Google Search")

I'm going to keep using it, because I find these issues less annoying than upstream Firefox.



🐸 Gentlemen, I am pleased to report that fifteen years after first hearing the song "Osaka Loop Line" by Discovery, I have successfully taken the Osaka Loop Line


I think laptops should play (uniformly random) typing sounds while you type in your passwords; it's getting to be too easy to analyze the sounds and extract the contents.
This entry was edited (2 months ago)


Ok my new beliefs about blister prevention, after three weekends of backpacking for eight hours a day, and watching a bunch of YouTube videos:

  • blisters are caused by layers of skin delaminating, not "friction" / heat directly, though typically the delamination is due to static friction on the outer layer of skin, combined with wet skin. Dynamic friction is more likely to cause raw spots / wear straight through the skin.
  • popping them as soon as you find them is basically always the right call unless you plan to be able to avoid the activity that caused them for a week; otherwise they just keep growing as you continue to do the activity
  • blister donuts and moleskin work okay as long as you can keep them in place somehow, but they don't stick well on their own
  • leukotape, very very widely recommended, is worse than useless because the adhesive seeps through the tape and makes your skin stick to your socks even more tightly than it was before.
  • toe socks are pretty good
  • KT tape is very good
  • Vaseline/similar is pretty good as long as you can get it to stay in the right spots


so, I'm going to japan in a few weeks, to do this pilgrimage backpacking trip with a friend.

I'm very out of shape compared to the difficulty of the route (alltrails.com/explore/map/map-… : 4 days; average of 10 miles and 3200ft elevation gain)

So my plan is to train as much as I can between now and then. I've figured out this practice loop, starting from my house, that I'm going to try to work up to doing on both the 17th and 18th: alltrails.com/explore/map/kuma…

It takes a pretty cool path over the hills and down to the reservoir.

Anyone want to join for any of this? As you might guess I expect to be very slow and take lots of breaks (today I did only about half of this loop; 6-ish miles; and it took me like 4 hours)

This entry was edited (3 months ago)
in reply to Ben Weinstein-Raun

Yo that's really cool. I wish I was in the bay to practice with you.

Consider wearing a backpack on the trek if you aren't.



I tentatively think that rain jackets would work better if they were more like coats of feathers.

Usually rain jackets are either (a) totally waterproof, in which case you sweat and it condenses on the inside of the jacket, or (b) "breathable", in which case they fairly quickly "wet out" and the sweat actually still condenses on the inside.

Feathers work partly like a "breathable" rain jacket, in that they're porous and hydrophobic on the outermost layer, but they're also anisotropic: rain jacket material is the same in all directions, while feathers work kinda like roof shingles: The water rolls off, but there's space for air to pass underneath the feathers. This is fine because rain mostly comes from above, and anyway I bet you can make fairly complicated labyrinths of air passageways such that even splashing water is very unlikely to make it through the jacket.

in reply to Ben Weinstein-Raun

Which side do you think Gore-Tex jackets are on? I find them pretty good at both staying dry and being breathable (though not perfect at either)
in reply to Daniel Ziegler

I think they seem pretty breathable until they get wet, at which point I seem to see condensation on the inside


Went on a photo walk today, mostly around Berkeley, and tested out some new camera settings. Most of the photos didn't turn out as well as I hoped, but I got a few that I like after a little postprocessing in Lightroom.

flickr.com/photos/spiritfox/54…

flickr.com/photos/spiritfox/54…

flickr.com/photos/spiritfox/54…



Okay, what the heck is up with people doing deceptive things to prevent "panic"? What are the actual dangers of "panic?" I was just watching this new Veritasium video about an engineering firm discovering that their already-built Manhattan skyscraper has a 1 to 5% chance of collapsing per year, and deciding that they're not going to tell anyone about it while they spent months fixing it. The head engineer explicitly says in a recorded lecture that this was justified because people "don't need to be terrorized". Is that even plausible?

in reply to Ben Weinstein-Raun

Oof, yeah. It does sound like they had an evacuation plan if a hurricane came, but it still seems pretty indefensible to lie about the situation.
in reply to Ben Weinstein-Raun

I had similar thoughts watching this. It's not right to allow people to make the uninformed choice to enter this building.


I tried out making an unboxing video:

I'm pleased with how it turned out, though the subject matter is objectively not very interesting.

This entry was edited (3 months ago)



This entry was edited (3 months ago)