Sign in

Evan Martin

@neugierig.org
203 followers 33 following 81 posts

I aim to mostly use this account to announce the blog posts found on my website: neugierig.org

PostsRepliesMedia
Evan Martin @neugierig.org · 24/09/2026
en.wikipedia.org/wiki/Infimum... with a partial order you can get a supremum, which is related to a maximum and sounds more mathy but I will leave it to you to make it funny!
en.wikipedia.org
Infimum and supremum - Wikipedia
010
Evan Martin @neugierig.org · 24/09/2026
It's just a bad math pun. To pick the maximal element of a set, you don't need a score per element, you just need the answer of which is better between any pair of elements, aka a a "total order", which puns against your restaurant "order". (I wrote partial order above but I was wrong.)
110
Evan Martin @neugierig.org · 24/09/2026
Feels like there is a pun in there about how you only need a partial order, not even a total order, to have a supremum.
160
Evan Martin @neugierig.org · 23/09/2026
If I implemented comments I would make a form that looks like a comment form that converts to a private email, and then I’d have a mechanism to promote good emails back into the page. Like a letters to the editor section. But the default would be comments do not show unless I marked them.
020
Evan Martin @neugierig.org · 11/09/2026
At one extreme, either function "works" if you pass them any garbage, so it's correct to model both as accepting unknown. At the other, it doesn't make sense to pass non-numbers, so it's correct to disallow the other cases by making both accept only number. It feels weird to pick the middle...?
000
Evan Martin @neugierig.org · 11/09/2026
A social media researcher was once talking to me about LiveJournal, and they pointed out that LJ's clunky user interface effectively served as a screen for the kind of person who would sign up for it. For me at least, that made it a utopia of curious alternative nerd types.
010
Evan Martin @neugierig.org · 11/09/2026
(Stuff like nushell is already along these lines, but I'm thinking about how for the new software I create I now have this new framing of how the subcommand interface ought to work.)
110
Evan Martin @neugierig.org · 11/09/2026
But also maybe it doesn't matter because agents are happy to parse text formats? Not sure. I think for heavily structured data (including perhaps Tailscale ACLs) there's value in being able to perfectly serialize complex data in and out.
111
Evan Martin @neugierig.org · 11/09/2026
There's some upcoming abstraction of CLI software where each subcommand can be invoked in user mode or tool-calling mode, where the latter it takes structured input and returns structured output. Like imagine "git status" returning a JSON array of file status objects.
110
Reposted by Evan Martin
Zach Weinersmith @zachweinersmith.bsky.social · 21/08/2026
Like we thought we'd get a terminator apocalypse, but instead we get a sort of Internet Kessler Syndrome.
1437456
Evan Martin @neugierig.org · 20/08/2026
The "three questions" bit is duplicated in adjacent paragraphs, some sort of editing mixup?
000
Reposted by Evan Martin
Brad Fitzpatrick @bradfitz.com · 13/08/2026
On 2024-02-22 I reached out to @antithesis.com fanboying and wanting to use it for @tailscale.com. They were expensive & I couldn’t get people on board w/ buying their service. Instead, more time + money went to: tailscale.com/blog/sqlite-... Nerd sniped them and: antithesis.com/blog/2026/wa... 😅
antithesis.com
Breaking the WAL | Antithesis
I did this from a lawn chair on the Sunshine Coast.
4537
Evan Martin @neugierig.org · 14/08/2026
New blog post: Computing graph dominators Diving into an algorithm. neugierig.org/software/blo...
neugierig.org
Tech Notes: Computing graph dominators
Diving into an algorithm.
091
Evan Martin @neugierig.org · 22/07/2026
New blog post: Jujutsu tutorial I wrote the tutorial I wish I had. neugierig.org/software/blo...
neugierig.org
Tech Notes: Jujutsu tutorial
I wrote the tutorial I wish I had.
05414
Evan Martin @neugierig.org · 04/07/2026
Feedback: the README is missing a "what this actually is" section. It jumps from "What if you had [...]" and then goes right how to run it. I think I can read between the lines but I would appreciate a bit more. Also I'm curious for your take on how this relates to zfs/btrfs/etc snapshots.
120
Evan Martin @neugierig.org · 03/07/2026
On this post in the bsky UI it shows a count of 1 comment but no comments below. I wonder if it's related 😅
100
Evan Martin @neugierig.org · 28/06/2026
I've been writing a Jujutsu tutorial that also starts with a sales pitch about why I think it's worth your time to learn: evmar.github.io/jjtut/ It's not quite complete but I have gotten positive feedback so far, so take a look!
evmar.github.io
Evan's Jujutsu Tutorial
0102
Evan Martin @neugierig.org · 27/06/2026
I have sometimes wondered if they were overtrained on LinkedIn posts.
020
Evan Martin @neugierig.org · 25/05/2026
New blog post: Theseus: translating win32 to wasm Notes on targeting Theseus to the web. neugierig.org/software/blo... Check out Minesweeper on the web: evmar.github.io/theseus/
neugierig.org
Tech Notes: Theseus: translating win32 to wasm
Notes on targeting Theseus to the web.
020
Evan Martin @neugierig.org · 05/05/2026
Ninja uses a "database" that is effectively this in binary! Append-only, last write wins for multiple entries for the same key. It reads the whole file at startup, and somes writes out the loaded state as a new file to garbage collect old entries.
020
Evan Martin @neugierig.org · 24/04/2026
New blog post: Theseus unpacking Revisiting unpacking executables. neugierig.org/software/blo...
neugierig.org
Tech Notes: Theseus unpacking
Revisiting unpacking executables.
010
Evan Martin @neugierig.org · 20/04/2026
New blog post: Theseus, a static Windows emulator An new old approach to emulation. neugierig.org/software/blo...
neugierig.org
Tech Notes: Theseus, a static Windows emulator
An new old approach to emulation.
0144
Evan Martin @neugierig.org · 19/04/2026
Because it's pseudocode, you can use your judgement to include types where they improve exposition and leave them out when they hurt it. To my eyes, your "for floats" comment on lerp is better without types, as is "N" as an integer, while some of the other types do help.
110
Evan Martin @neugierig.org · 04/04/2026
Ryan it just occurred to me you are the perfect audience for one of my favorite insights! georgefairbanks.com/ieee-softwar...
georgefairbanks.com
George Fairbanks - IEEE Software - The Pragmatic Designer: Testing Numbs Us to Our Loss of Intellectual Control
This column was published in IEEE Software, The Pragmatic Designer column, May-June 2020, Vol 37, number 3. ABSTRACT: Software teams need a healthy balance o...
100
Evan Martin @neugierig.org · 05/03/2026
On the other hand, over the same time interval the asm dialect to know changed from x86 to ARM, so you're kind of set up to dive back in again.
011
Evan Martin @neugierig.org · 02/03/2026
Also the history of the history of the history of ideas, en.wikipedia.org/w/index.php?...
en.wikipedia.org
Intellectual history: Revision history - Wikipedia
021
Evan Martin @neugierig.org · 24/02/2026
As I read this I thought of dutch baby. I guess it's already on your chart, but I looked up a random recipe online and it was 3 eggs, 3/4 cup milk, 3/4 flour, almost perfectly within your forbidden region.
120
Evan Martin @neugierig.org · 09/02/2026
A small note for anyone else republishing their blog on here: you can add a <meta name="description" content="..."> to your pages to make the bsky/mastodon post summary widget include your description. Witness it on a random old post of mine here: neugierig.org/software/blo...
neugierig.org
Tech Notes: Rethinking errors, warnings, and lints
Lessons from working on programming language tooling.
031
Evan Martin @neugierig.org · 03/02/2026
New blog post: The smallest build system Replacing "./build.sh" with a miniature build system. neugierig.org/software/blo...
neugierig.org
Tech Notes: The smallest build system
041
Evan Martin @neugierig.org · 19/01/2026
Aw man it's so cool you remember this! Someone just mentioned it to me recently and I had forgotten it! What a fun tradition.
010
Evan Martin @neugierig.org · 08/12/2025
A recent post about ad blocking techniques observed that if you route your browser traffic through aws etc then ad networks think you are bot traffic and suppress their ads.
000
Evan Martin @neugierig.org · 01/12/2025
pacman (the packaging tool used by Arch Linux) is like this too.
020
Evan Martin @neugierig.org · 20/11/2025
Mostly it appears to just correlate with money, e.g. a school in east Portland/Gresham with a 7% pass rate also has a 60%"kid living in poverty" rate. There are some surprising random high-scoring schools scattered about, mostly magnets or other nontraditional settings.
030
Evan Martin @neugierig.org · 20/11/2025
My state of Oregon ranked 50th among states on 4th grade reading: www.wweek.com/news/state/2... I was curious how regional it was so plotted the data for a (different) state-level test on a map: evmar.github.io/schools/ Values (zoom in) are the % of kids meeting the state proficiency level.
evmar.github.io
110
Evan Martin @neugierig.org · 15/11/2025
Nice work! I did some similar work at Google 5 years ago and wrote a post about it: neugierig.org/software/blo... Most of it is the same things you covered (cool to see isolatedDeclarations exists now!) but maybe the discussion of globals will be interesting to you.
neugierig.org
Tech Notes: Scaling TypeScript compilation
130
Reposted by Evan Martin
Rado Kirov @radokirov.bsky.social · 18/10/2025
new blog post - Why formalize mathematics - more than catching errors rkirov.github.io/posts/why_le...
rkirov.github.io
Why formalize mathematics - more than catching errors
Why formalize mathematics - more than catching errors I read a good post by one of the authors of the Isabelle theorem prover, that got me thinking. The author, Lawrence Paulson, observed that most ma...
032
Evan Martin @neugierig.org · 18/10/2025
I expect it probably wouldn't ever help these situations, but I tried to write the canonical "why adding a flag is a bad solution" answer: neugierig.org/software/blo...
neugierig.org
Tech Notes: Why not add an option for that?
020
Reposted by Evan Martin
Rado Kirov @radokirov.bsky.social · 24/09/2025
Calling Bay Area math enthusiasts interested in weekly sessions doing rigorous foundational mathematics the modern way - with computer-verified proofs in Lean. (An experiment in rigorous math education outside traditional academia)
5418
Evan Martin @neugierig.org · 21/09/2025
I have tried a few, Kiki's Delivery Service worked the best. For a slightly older kid (like age 4) I think all of them have themes that can be hard. Even in Totoro, the gentlest one, there is a decent amount of plot around the mom being sick.
030
Evan Martin @neugierig.org · 17/09/2025
New blog post: Access logging in 2025 Looking for humans in the age of bots. neugierig.org/software/blo...
neugierig.org
Tech Notes: Access logging in 2025
020
Evan Martin @neugierig.org · 13/09/2025
New blog post: Account disasters Logging in is impossible. neugierig.org/software/blo...
neugierig.org
Tech Notes: Account disasters
010
Evan Martin @neugierig.org · 29/08/2025
I could have recognized it contextually, but the post doesn't give any context that would have suggested it. In a post about authorization I was expecting acronyms from the auth soup, e.g. SAML/IdP/JWT and so on.
100
Evan Martin @neugierig.org · 26/08/2025
Blog post defines DCR on first use, but uses "MCP" without ever defining it.
100
Evan Martin @neugierig.org · 26/08/2025
Dunno if anyone from Figma sees my posts, but Figma started (maybe some months ago, not sure) doing a thing where when you make a new document the UI lets you switch tools, but then a second later it switches back to the selection tool. Repro: create new document, hit 'f', watch it switch back.
000
Evan Martin @neugierig.org · 26/08/2025
I think the solution is to provide an opt-out for new strictness checks, e.g. something like --allowImplicitAny. This allows the new TS release upgrade instructions to say "keep --strict, but also temporarily --allowWhatever to keep your build working, then remove that once you get a chance".
100
Evan Martin @neugierig.org · 26/08/2025
I wonder what the impact of this is across TS versions. For example, imagine a new project with --strict on that passes all checks. Next, you want to introduce some new check in the next TS version. If the project tries to upgrade, their build now breaks.
100
Evan Martin @neugierig.org · 21/08/2025
New blog post: Understanding Jujutsu bookmarks neugierig.org/software/blo...
neugierig.org
Tech Notes: Understanding Jujutsu bookmarks
010
Reposted by Evan Martin
Rado Kirov @radokirov.bsky.social · 11/08/2025
New blog post on my learning formal mathematics with Lean journey - rkirov.github.io/posts/lean3/
rkirov.github.io
Learning Lean: Part 3
I am continuing to learn Lean (see part 1 and part 2). I lost some steam around March-April, but in the last two months I picked it up again. In a way it was a nice spaced repetition for relearning so...
2143
Evan Martin @neugierig.org · 09/08/2025
New blog post: diff --stat for binary files Contributing a minor feature to Jujutsu. neugierig.org/software/blo...
neugierig.org
Tech Notes: diff --stat for binary files
020
Evan Martin @neugierig.org · 29/07/2025
FYI the author of this code assured me he had a better variant of CDC: github.com/buildbarn/go...
github.com
GitHub - buildbarn/go-cdc: Content Defined Chunking playground
Content Defined Chunking playground. Contribute to buildbarn/go-cdc development by creating an account on GitHub.
010