Sign in

Max

@bernsteinbear.com
452 followers 87 following 487 posts

Baking bread and compilers are kinda similar if you think about it @tekknolagi elsewhere bernsteinbear.com

PostsRepliesMedia
Reposted by Max
Jared Norman @jardo.dev · 9h
only reason I'm putting my pencil down is to read this fuckin cool paper bernsteinbear.com/blog/support-loca…
051
Reposted by Max
Matt Keeter @mattkeeter.com · 28/09/2026
hi friends I'm very excited to announce Halfspace, my experimental cross-platform IDE for solid modeling with distance fields! This has been in progress since midway through last year, and it's finally "done enough" to make it more public.
mattkeeter.com
Halfspace
An IDE for solid modelling with distance fields
520347
Max @bernsteinbear.com · 20/09/2026
my kingdom (small rented apartment) for a no-fuss dishwashable milk frother without any nonstick or plastic crap in it
030
Max @bernsteinbear.com · 13/09/2026
Bin packing the cheapest way to buy lightbulbs from Home Depot, all to save $9 (4 individual in one order, 2 individual in another order. Don't touch the 2-4 packs)
111
Reposted by Max
Alice ✨ @welltypedwit.ch · 12/09/2026
you know, i thought the reputation of cousot papers was at least a little exaggerated but no, they actually look like that lol (this is page 3)
a page full of symbols and operators and... biblically accurate expressions spanning several lines casually inlined into regular sentences as if they were obviously understandable
8609
Max @bernsteinbear.com · 09/09/2026
Do you enjoy your beans al dente? Please explain.
000
Max @bernsteinbear.com · 09/09/2026
My RubyKaigi 2026 talk about ZJIT is up! Unfortunately, they censored my memes :( youtube.com/watch?v=ypRK...
youtube.com
[EN] The design and implementation of ZJIT & the next five years / Max Bernstein @tekknolagi
YouTube video by RubyKaigi
040
Max @bernsteinbear.com · 09/09/2026
You should be making more friends on the Internet www.nytimes.com/2026/09/06/s...
160
Reposted by Max
Peter Zhu @peterzhu.ca · 02/09/2026
Ruby's GC and ZJIT got a new collab! We recently introduced inlining of the garbage collector's fastpath into ZJIT. Read more about it here: railsatscale.com/2026-09-01-z...
railsatscale.com
ZJIT 🤝 GC: Inlining GC Fastpath in ZJIT
Object allocations from the garbage collector are now inlined in ZJIT.
1145
Max @bernsteinbear.com · 01/09/2026
New paper with the ZJIT team! Local variables in Ruby are ... complicated. bernsteinbear.com/assets/img/s...
bernsteinbear.com
1101
Reposted by Max
k0kubun @k0kubun.com · 28/08/2026
We'll present a paper about ZJIT at VMIL'26! conf.researchr.org/details/spla...
conf.researchr.org
Support Local Variables (VMIL 2026 - Workshop on Virtual Machines and Language Implementations) - SPLASH/ISSTA 2026
Virtual Machines are pervasive in the design and implementation of programming systems. In fact, languages implemented as virtual machines are crucial in the specification, implementation, and deploym...
2195
Reposted by Max
Stefan Marr @stefan-marr.de · 28/08/2026
VMIL'26 has a program! Looks very interesting. Static Analysis, optimizing Android's GC, understanding R's benchmarks, optimizing Ruby, and lots more! The SPLASH early registration deadline is September 3rd! Program: conf.researchr.org/home/splash-...
043
Max @bernsteinbear.com · 24/08/2026
Periodically refreshing the VMIL HotCRP page...
160
Max @bernsteinbear.com · 18/08/2026
Do it! It's so great
140
Reposted by Max
Max @bernsteinbear.com · 13/08/2026
More SSA fun! bernsteinbear.com/blog/more-pa...
bernsteinbear.com
Another partial SSI trick with canonicalize
After reading Chris Fallin’s aegraph post, new ZJIT contributor dak2 landed a block-local version of the canonicalize function in #16828.
0112
Reposted by Max
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
Max @bernsteinbear.com · 13/08/2026
More SSA fun! bernsteinbear.com/blog/more-pa...
bernsteinbear.com
Another partial SSI trick with canonicalize
After reading Chris Fallin’s aegraph post, new ZJIT contributor dak2 landed a block-local version of the canonicalize function in #16828.
0112
Max @bernsteinbear.com · 13/08/2026
Working in Lua VM. Smells like upvalue in here
2120
Max @bernsteinbear.com · 13/08/2026
Meme of cat looking down curiously at the viewer with greentext:

> really interesting gc paper
> looks inside
> "no cycles"
0140
Max @bernsteinbear.com · 09/08/2026
How does your (JIT) compiler represent local variables (and all the weird reflection stuff allowed by your language) in its IR?
230
Max @bernsteinbear.com · 08/08/2026
Chris and I wrote a thing about zero knowledge proofs bernsteinbear.com/blog/zkp/
bernsteinbear.com
A quick look at zero-knowledge proofs
NB: This isn’t about crypto. I don’t care about crypto.
010
Max @bernsteinbear.com · 08/08/2026
Need a new Cousot-branded spirit called "absint"
020
Reposted by Max
Jean Boussier @byroot.bsky.social · 06/08/2026
A history of Ruby's Hash tables, and how we can make them use less memory: byroot.github.io/ruby/perform...
byroot.github.io
Shrinking Ruby Hashes
As you may know, one area of Ruby performance optimization that particularly interests me is memory usage. Given that most Ruby deployments rely on fork, improving Copy-on-Write performance is general...
1329
Max @bernsteinbear.com · 04/08/2026
Quite enjoyed The Devil Wears Prada 1
000
Max @bernsteinbear.com · 01/08/2026
Someone's gotta investigate why Mexican music and German music sound so similar. Do they both love polka
000
Max @bernsteinbear.com · 31/07/2026
Have you all ever had a Google workspace Group ever silently drop emails to its members? I just discovered that we're missing emails left and right. They appear in the log on the admin console but not in our inboxes or spam.
010
Max @bernsteinbear.com · 30/07/2026
All that effort to implement sparse conditional constant propagation only to find out that fixpoint looping over RPO is faster
140
Max @bernsteinbear.com · 26/07/2026
I love getting push notifications that Sofi Tukker dropped a new song. Probably the only kind of unsolicited notification I appreciate
000
Max @bernsteinbear.com · 20/07/2026
So the cool thing about hotel room locks being battery powered is that the batteries die and you can't get into your room. Isn't that fun?
050
Max @bernsteinbear.com · 14/07/2026
compiler
1190
Reposted by Max
Aaron Patterson @tenderlove.dev · 20/06/2026
Heading home from PLDI26. Met great people, learned tons of stuff, and I feel very inspired! Wish I had attended PLDI conference sooner
Me with PLDI sign
1222
Max @bernsteinbear.com · 19/06/2026
Is a module system "export control"?
180
Max @bernsteinbear.com · 19/06/2026
PLDI people tell me that Neil Jones never actually landed on the moon. It was staged
010
Max @bernsteinbear.com · 19/06/2026
Great PLDI paper about verifying TikTok's compiler called UnAlive2
040
Max @bernsteinbear.com · 18/06/2026
Is PLDI going well? Well, I convinced someone to implement linear scan register allocation in datalog,
160
Max @bernsteinbear.com · 18/06/2026
Is formal methods for LLMs "model checking"?
070
Max @bernsteinbear.com · 17/06/2026
If I had a nickel for every programming language implementation funded by ill-gotten World of Warcraft hacking gains, I'd have 1. Which isn't a lot, but it's still surprising
030
Max @bernsteinbear.com · 16/06/2026
Back in my day it was an Ocean of Nodes. Now because of global warming it's a Sea of Nodes
081
Reposted by Max
Philip Zucker @sandmouth.bsky.social · 13/06/2026
On Monday morn I'll be giving a talk at @sigplan-pldi.bsky.social #PLDI EGRAPHS 2026 about lifting egraphs pldi26.sigplan.org/details/egra... a new twist on adding a notion of rigid alpha canonical variables to e-graphs! Pretty pumped about these ideas! Check it out!
pldi26.sigplan.org
Lifting E-Graphs: A Function Isn’t a Constant (EGRAPHS 2026) - PLDI 2026
Research in the EGRAPHS Community has recently exploded in both quantity and diversity. The data structure that powers SMT solvers is now seeing use in synthesis, optimization, and verification via eq...
052
Reposted by Max
Laurence Tratt @ltratt.bsky.social · 09/06/2026
New post: Test-case Reducers Are Underappreciated Debugging Tools. The more I've used these tools, the more ways I realise they can be used! This post starts at the basics and works up to things like reducing on properties other than just the length of the input. tratt.net/laurie/blog/...
0242
Max @bernsteinbear.com · 03/06/2026
Also forgot to mention some small fun with Z3 bernsteinbear.com/blog/asm-z3/
bernsteinbear.com
Checking assembly with Z3
Short post today. New ZJIT contributor dak2 submitted a PR to fix an overflow bug in fixnum division in ZJIT. We did the division fine, but lied about the type of the result in the case of dividing FI...
020
Max @bernsteinbear.com · 03/06/2026
Inlining: the hard parts bernsteinbear.com/blog/inlinin...
bernsteinbear.com
A survey of inlining heuristics
Compilers, especially method just-in-time compilers, operate on one function at a time. It is a natural code unit size, especially for a dynamic language JIT: at a given point in time, what more infor...
0184
Reposted by Max
CF Bolz-Tereick @cfbolz.bsky.social · 31/05/2026
I just blogged: 'Knownbits in Lean' cfbolz.de/posts/2026-k...
021
Max @bernsteinbear.com · 30/05/2026
Incredibly fortunate to have noticed that a Joe's pizza opened in my neighborhood, gone in, gotten a slice, and learned that it opened today!!! Life is good
150
Reposted by Max
Aaron Patterson @tenderlove.dev · 29/05/2026
Probably silly but I'm really proud of this PR. It was challenging, fun to work on, and I think it'll have a big impact long term. 🤞 github.com/ruby/ruby/pu...
github.com
Reserve 2 bits for expressing object layout by tenderlove · Pull Request #17139 · ruby/ruby
We would like to make instance variable reads in the JIT compiler faster (as well as simplify the JIT implementation). Currently, in order to read an instance variable, we have to: Test for heap ...
1121
Max @bernsteinbear.com · 27/05/2026
New linear scan register allocator in ZJIT by @tenderlove.dev ! railsatscale.com/2026-05-27-a...
072
Reposted by Max
Kiran @kirancodes.me · 22/05/2026
Z3! You're on WATCH! Latest update to lean.py is a drop in replacement for Z3! Everyone's trying to put SMT solvers in their theorem prover, how about putting a theorem prover in your SMT solver? and here's the crazy thing: One click install, if you know Z3, you KNOW lean.py. You are not ready.
A Z3-like reasoning API for Python, backed by Lean 4



Lean 4 is a general-purpose symbolic reasoning engine. Its tactic library covers linear arithmetic (omega), congruence closure with E-matching (grind), propositional decidability (decide), and rewriting (simp), and the system is designed to be extended with new sorts, constructors, and decision procedures. Every proof is independently checked by a small trusted kernel, so the Python side never needs to trust the automation; it trusts the checker. The overhead of learning Lean’s type theory and build system has kept most of this machinery out of reach for Python programmers.

lean_py.z3 wraps Lean’s tactic engine in the z3py API. Propositions are written in the familiar Int, Bool, Function, ForAll vocabulary. Under the hood, each expression compiles to a Lean 4 term, gets dispatched to the tactic engine, and the resulting proof is kernel-checked.

uv pip install "lean_py @ git+https://github.com/BasisResearch/lean.py"

You need elan so that lean is on your PATH. Then open Python.

from lean_py.z3 import *

x, y = Ints('x y')
prove(Implies(And(x > 0, y > 0), x + y > 0))
# proved

On the first run the library builds and caches a managed Lake project under ~/.lean_py/managed/, which takes a minute or two. Every subsequent run picks up the cache and starts instantly.
2357
Max @bernsteinbear.com · 21/05/2026
Please help Linda, my hairdresser gofund.me/f753af3c7
gofund.me
Donate to Support Linda and Her Cats Through Tough Times, organized by Linda Shehab
Hi. My name is Linda and I am single and a mom to two Siberian cats, Moxie… Linda Shehab needs your support for Support Linda and Her Cats Through Tough Times
120
Max @bernsteinbear.com · 20/05/2026
I try to sell one (1) thing on Poshmark and all of a sudden I am drowning in spam and phishing. What the heck
000
Max @bernsteinbear.com · 19/05/2026
Have just gone to the shop to buy Triscuits—or as I like to call them, Wheat Thicks
030