amos
banner
fasterthanli.me
amos
@fasterthanli.me
hi, I'm amos! 🍃 they/them 🫐 open-source witch & maker of snappy videos and articles at @bearcove.eu ✨ be kind, be curious

articles: https://fasterthanli.me
videos: https://youtube.com/@fasterthanlime
podcast: https://sdr-podcast.com
pronouns: they/them
Landing one of my most ambitious PRs to date — switching vixen's VFS RPC from TCP to SHM. I was in suspense the whole time that the macOS sandbox would get in the way and... nope! Works fine 😌

(This is Rust⇄Swift IPC btw, using facet + postcard)

github.com/bearcove/vix...
macOS VFS: switch mount handshake to SHM sid rendezvous by fasterthanlime · Pull Request #109 · bearcove/vixen
Summary switch macOS VFS mount handshake from stream setup to SHM sid rendezvous wire VFS extension and mount helper to bootstrap SHM via App Group control socket add detailed mount/bootstrap diag...
github.com
February 9, 2026 at 8:51 PM
the vision:
February 9, 2026 at 7:25 PM
Reposted by amos
🌹 10 years ago, I launched THE CARPET MERCHANT OF KONSTANTINIYYA, and it changed my life forever.
To celebrate, the 10th Anniversary Edition of my very first completed #webcomic will begin February 18, 2026 - updates every Wednesday + Saturday.
Read the prologue now:
thecarpetmerchant.reimenayee.com
February 9, 2026 at 7:17 PM
someone should build a website to receive alerts when github is up
February 9, 2026 at 7:18 PM
just added mermaid.js support to dodeca which involved teaching the HTML diff about "opaque nodes" (rendered by JS) so it could simply call the JS renderer again with the new content instead of a flash-of-unrendered-content 😎

dodeca.bearcove.eu
February 9, 2026 at 6:49 PM
"And do you, Claude, consent to take (redacted) for your wife?"
"...actually, this seems like a major life commitment that requires careful planning and execution. Let me write a document about what we've learned so far and file an issue to follow-up on that"
February 9, 2026 at 4:27 PM
one of the few "original github" things left

(which, I'm pretty sure, is rooted in en.wikipedia.org/wiki/Unicorn... — correct me if I'm wrong)
February 9, 2026 at 4:10 PM
So everyone thinks there's no good reason why GitHub Actions would have you wait until the entire workflow finishes before you can retry failed jobs, but actually... there's no good reason.
February 9, 2026 at 3:30 PM
You write code. It has bugs. You add instrumentation. It, too, has bugs. You—
February 9, 2026 at 1:11 PM
22 hours later: fork() caused a very-hard-to-debug problem

tl;dr don't fork a process with a tokio runtime that also handles /dev/fuse requests lmao
Today is a great day because I:
- vanquished Apple's notarization service
- profiled code where memcpy (well, memmov) was /actually/ the bottleneck
- have a legitimate usage for `fork()`
February 8, 2026 at 8:39 PM
"Oh no, my Miri CI job is failing. I hope it's not too—"
February 8, 2026 at 6:06 PM
Last time, I don't think it was actually causing the hang, but this time, under a lot of pressure, all the tokio worker threads were trying to spawn rustc at the same time, and there were no threads left to service VFS operations.

Which means... it's time to give VFS its own tokio runtime.
Today's deadlock of the day is:

tokio::process::Command shells out to posix_spawnp, a /synchronous/ syscall, because, eh, spawning a process is fast, right? and synchronous, right?

EXCEPT IT'S ON A VFS MOUNT. SERVED OVER RPC BY THIS VERY TOKIO-POWERED, CURRENT-THREAD-RUNTIME PROCESS.
February 8, 2026 at 2:07 PM
Today I have to learn about Swift against my will. Send thoughts and best practices.
February 8, 2026 at 12:07 PM
Today is a great day because I:
- vanquished Apple's notarization service
- profiled code where memcpy (well, memmov) was /actually/ the bottleneck
- have a legitimate usage for `fork()`
February 7, 2026 at 10:19 PM
Is there a german word for "the satisfaction you feel when you find the exact URL to deep-link 5 clicks into the macOS System Settings app after 2 hours of searching"?
February 7, 2026 at 8:10 AM
Reposted by amos
Urgau just joined the rustdoc team! They've been doing a lot of cross-work between rustc and rustdoc, allowing to unlock a lot of things. Welcome onboard!

github.com/rust-lang/te...
Add Urgau to the rustdoc team by GuillaumeGomez · Pull Request #2243 · rust-lang/team
Welcome to the team @Urgau! cc @rust-lang/rustdoc
github.com
February 6, 2026 at 8:13 PM
Reposted by amos
L + Ratio + Cope + Seethe + Send + Sync + 'static
February 6, 2026 at 7:24 PM
Reposted by amos
what the fuck man
February 6, 2026 at 1:48 AM
did you know: if you mount an FSKit filesystem on ~/mountpoint
...and the filesystem gets stuck somehow, then:

* you won't be able to open terminal windows
* `ps` will hang
* `killall` will hang

fun!
February 6, 2026 at 4:59 AM
Do you think we can outlaw merge commits if we campaign hard enough?
February 5, 2026 at 11:07 PM
Reposted by amos
"strong" type systems are such a silly concept. it's actually really simple: there are statically typed languages like python and dynamically typed ones like LLVM's C api
February 5, 2026 at 9:55 PM
Aaaaa Opus 4.6 available on claude.ai

Curious what the pricing is
February 5, 2026 at 5:39 PM
Last week I started learning about formal verification tools, and today, folks working on those tools are submitting pull requests to my project. Pretty cool stuff!

github.com/facet-rs/tra...
creusot: Start verifying apply_set, Scalar branch by Lysxia · Pull Request #6 · facet-rs/trame
Here's a first stab at encoding the invariant (Invariant) of Trame: initialized = true means that node.data points to initialized data. Functions must preserve the type invariant, so in partic...
github.com
February 5, 2026 at 11:21 AM
nu-huh. I only eat Human dente.
February 5, 2026 at 10:50 AM
feels weird to be humble. seems like maybe one should get some sort of award for it.
February 5, 2026 at 9:58 AM