🦞🌯 Lobster Roll

Stories by jez

Stripe valued at $159B, 2025 annual letter (stripe.com)
Assorted macOS Tips & Tricks (saurabhs.org)
fzf 0.66.0 introduces “--raw mode” (github.com)
A surprising scam email that evaded Gmail's spam filter (jamesbvaughan.com)
Readonly Characters Are a Big Deal (matklad.github.io)
Stripe's monorepo developer environment (blog.nelhage.com)
Typeset: An HTML pre-proces­sor for web ty­pog­ra­phy (typeset.lllllllllllllllll.com)
How I use git (registerspill.thorstenball.com)
Making Sorbet more incremental (blog.jez.io)
OCaml Platform Roadmap (2023) (ocaml.org)
Every type is defined by its intro and elim forms (blog.jez.io)
Inheritance in Ruby, in pictures (blog.jez.io)
Review of "Practical ML Programming with SML#" (pzel.name)
Ruby's private keyword is weird (blog.jez.io)
When Your Hash Becomes a String: Hunting a Ruby Million-to-One Memory Bug (mensfeld.pl)
Driving Bazel with fzf (blog.jez.io)
public/protected/private is an unnecessary feature (catern.com)
How did a debate over housing become a call to end the anti-monopoly movement? (thebignewsletter.com)
Compiling Ruby To Machine Language (patshaughnessy.net)
New macOS Dropbox client moves files from ~/ to ~/Library (help.dropbox.com)
Python Type Checker Comparison: Empty Container Inference (pyrefly.org)
X Design Notes: Unifying OCaml Modules and Values (blog.polybdenum.com)
Dropbox for Dropbox haters (danmackinlay.name)
Hanging Punctuation in Pandoc (jez.io)
Counterexamples in Type Systems (counterexamples.org)
Why don't constructors have override checking? (blog.jez.io)
Calibre adds AI 'discussion' feature (lwn.net)
Problems typing equality in Ruby (blog.jez.io)
The Origins of Scala (2009) (artima.com)
This is Part I of a four-part series, ‎‎[the Part IV post](https://www.artima.com/articles/the-point-of-pattern-matching-in-scala) has links to each part.
Making beautiful PDF documents from HTML and CSS (css4.pub)