Noah Watkins (@spin_lock_init) header
Noah Watkins (@spin_lock_init) profile picture

Engineering @RedpandaData

sf
Joined August 2026
Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)Photo by Noah Watkins (@spin_lock_init)
Noah Watkins retweeted
Replying to @craigjellick
The weird thing about vision is if you tell most people the long term vision up front they call you crazy and laugh at it. It's better to do something short term and obvious that everyone can grasp while carrying water and chopping wood towards the real vision.
15
19
12
588
15,009
Noah Watkins retweeted
Okay, let's do this. Isabelle, Lean, and Rocq (formerly Coq*) are theorem provers. They are meant to prove mathematical theorems. We use them for formal verification by either 1) translating a program to the theorem prover (risking a translation error) or 2) using a language built into the theorem prover that extracts into a working binary. Fizzbee, TLA+, Spin, Alloy, Quint, and P are specification languages. They are meant for checking high-level blueprints of programs. After checking the blueprint, you still need to make sure your program matches it, which is a hard problem. Specification languages differ in what they make easy to express. P, Spin, and Fizzbee are designed to be closer to the code implementations. P looks like interacting state machines, Spin looks like C with CSP, Fizzbee looks like a dialect of Python. It's easier to use a codelike specification language and refine it to code, but you can't do as much with it. Alloy, TLA+, and Quint are more abstract. Alloy looks like a bunch of algebraic relationships, TLA+ is a much of logical formula, and Quint is a programmer-oriented (and statically typed) condensation of TLA+. Abstract modeling languages are harder to get started with and harder to represent things, but you can represent a wider class of systems with them. I believe UPPAAL is a specification language for realtime systems. This is a field I have no experience in. It seems a graphical language, though, which would make LLM-assistance difficult. Dafny is a verifiable programming language. It has regular programming language features, but also a bunch of features to express and prove properties of the program. It uses SMT solvers to actually prove the properties, meaning you don't need to learn a proof language (though you need to learn to cajole the solver). Dafny is probably the easiest thing on your list to get started with, but also the least likely to meet any weirder needs you might have. I don't know what Ivy is but some cursory Kagiing suggests it falls in the specification language category. Some other things @spin_lock_init didn't mention: - Other theorem provers: Agda, Metamath - Other abstract specification languages: mcrl2, NuXMV, Event-B - Other verifiable programming languages: Idris, F*, Whiley - There's also using a verifiable subset of a language, like Verus for Rust or SPARK for Ada. So, what you need to pick depends on what you want to do. You'll get the maximum power with a theorem prover. Lean is the de facto language for vibeproving, but Anthropic recently published a post about vibeproving in Rocq so YMMV. If you want to make abstract models of software systems, go for a specification language. Which you choose depends on a lot of factors. If your system can be represented as lots of simple communicating state machines over a network, try P. Spin, I believe, is close to simple C/Go with a network and channels. I have never used Fizzbee. Alloy is good for domain modeling, but struggles with really complicated temporal actions, nested data structures, and largish numbers. Also AIs aren't to good at it (last I checked, in March). Runs fast and makes good visualizations though. TLA+ and Quint are for modeling complex temporal systems. I'm partial to TLA+ but know a lot of people who say Quint is easier to get into. Note P, Fizzbee, and Quint all claim to have features for testing a codebase against a spec. I can't vouch for any of them, though. None of the languages I mentioned (except maybe NuXMV?) are particularly good at modeling sequential, deterministic algorithms. Use Dafny if you need to just write a verified program and don't care which language it's in. I don't think other verifiable programming languages are as user-friendly for the time being. Consider a verified subset if you already know a language and want to just augment it with more correctness. You may need other, more exotic tools depending on your particular needs. Regardless of the above advice, don't be afraid to use the wrong tool for the job. If you vibe well with a language, and you achieve good LLM-sympathy with it, you'll be able to go farther than using a "right tool" you don't like.
IIUC, all i need to do next is pick one of these? fizzbee, tla, spin, alloy, ivy, quint, isabelle, lean, p language, dafny, coq, uppaal
26
54
5
347
16,912
Noah Watkins retweeted
We're rdfmaxxing. semblance.dev/
2
2
4
461
Noah Watkins retweeted
If we agree that copyright is effectively on its way out, then we have more business incentive to avoid different forms of open source (open core, BSL, GPL) altogether and instead opt for closed source and services.
2
1
1
253
Noah Watkins retweeted
A lot of cool stuff happening to make this great. This demo was done with Sol as the model, but you might have noticed the voice note works seemlessly. Sol delegates to a Gemini subagent here to transcribe the audio. Cool to see different model's strengths at play all at once!
Your agent is just a text away 📲
1
4
472
i’ve done most drugs and the most potent is japanese camping videos on youtube
23
7
212
8,321
Noah Watkins retweeted
Fuzzers are intended to run for a long time, but Hegel is optimized for finding shallower bugs quickly, because it integrates in your local dev workflow. Hegel also allows generating data in your test body. Afaik, fuzztest/libfuzzer generate data first then passes it to the test.
1
1
47
Noah Watkins retweeted
Notice how he's building housing in an area where he can access food without using a car.
Te quiero muchísimo, entrañable, pequeño y simpático pájaro arquitecto 😭🤍🪺🐦‍⬛
Readers added context they thought people might want to know
El vídeo es una animación generada por IA que no representa fielmente la construcción real de nidos de hornero (Furnarius rufus), que se hace gradualmente en capas durante semanas o meses por la pareja, con entrada lateral y materiales que se secan entre etapas. es.wikipedia.org/wiki/Furnarius… en.wikipedia.org/wiki/Rufous_ho… digitalcommons.usf.edu/cgi/viewconten… expertoanimal.com/nido-de-horner…
101
723
7
19,499
627,206
Noah Watkins retweeted
It's probably worth asking what qualifies as a WAL-on-S3 design. Is it only designs where S3 is the only durable state and only coordination layer? Or is a server-based coordination point acceptable (such as a fast sequencer)? Is landing data on SSDs (as a durable source of truth for the log suffix) acceptable?
2
1
6
1,725
Noah Watkins retweeted
Incredibly things are happening in the hermetic build land. 20% faster in a 40mb package????
LLVM 23.1.0 support in @hermeticbuild hermetic-llvm toolchain is out. Reminder that the prebuilts we ship are: - 40mb in TOTAL - .tar.zst - PGO/FDO'ed on 100% of the cross-compiling matrix - LTO'ed - 15-20% faster than official clang etc. github.com/hermeticbuild/her…
1
12
2,080
Noah Watkins retweeted
Running a database not designed for S3 on an S3-backed file system is a hack that gets you some benefits but misses the best parts. A few points: 1. An S3 native system allows you to run things like compaction and GC on a separate machine. Most databases that couple storage and compute don't, meaning your compaction and query execution thrash the same CPU. 2. If you don't design for explicit read-only replicas, you can't just spin up another replica and read the same data safely. Traditional systems often use the filesystem for locking and assume exclusive access, so a second instance can interfere with the active writer. 3. Caching will not be as efficient. A big part of making object native systems performant is caching with the explicit knowledge that cold misses are an order of magnitude more expensive. You could mirror everything to NVMe, but that defeats a lot of the cost benefits and predictable latency behaviors of object storage. This is just the start of the list, but it feels very similar to trying to put a database on NFS and assuming your distsys problems are all solved.
8
7
81
5,973
WAL Street
58
157
41
1,696
133,426
this is also my favorite movie of the past decade. it has led me to Wong Kar-Wai, Tsai Ming-liang, et al bless up @Metrograph
still my favorite movie of the past decade
2
1
21
3,029
Noah Watkins retweeted
just moved to SF
82
41
7
2,871
56,587
Replying to @spin_lock_init
The core lib github.com/Ugbot/bolt Contains a stripped down reactor inspired by seastar. Also a Kafka lib without a Librdkafka dependacy – at London, England
2
1
1
68
Noah Watkins retweeted
my letter to microsoft requesting a copy of the linux kernel under the terms of the GPL is now in the mail! i even used one of their very own fonts in an attempt to curry favor it's expected to arrive wednesday, will update once i get confirmation of delivery also used a personal check so i will know when (if?) they cash it now we wait
after much deliberation i have decided to mail in a request to microsoft for the Linux kernel source code (contained within Azure Sphere OS) letter goes out by certified mail tomorrow :) i chose this because: 1. it is GPLv2 and has releases within the last 3 years, so afaik they are required to respond 2. i think it’s hilarious to make microsoft send me linux
63
194
11
6,821
1,136,131
when people don’t smile at my dog I want to throw rocks at them
13
9
1
157
8,598
Noah Watkins retweeted
Ok people who is working on perfloop but for correctness?
First Perfloop PR merged into Prometheus! Having been there at Soundcloud when this project was birthed makes this one rather sweet. A nice reduction in memory usage in a critical path. Thanks @hochgenuss for the review!
1
2
17
3,676