tekknolagi
A quick look at zero-knowledge proofs
Re:A Survey of Inlining Heuristics
on Tuesday June 09, 2026 @03:07AM (#48457612)
Please feel free to open a PR. I'm a bit AFK
Value Numbering
Re:A Python Interpreter Written in Python
on Friday April 17, 2026 @01:48AM (#47802798)
Re:The acyclic e-graph: Cranelift's mid-end optimizer
on Tuesday April 14, 2026 @05:40PM (#47771863)
Damn. I wish I thought of that.
The acyclic e-graph: Cranelift's mid-end optimizer
Value numbering
ZJIT removes redundant object loads and stores
Re:A Fuzzer for the Toy Optimizer
on Wednesday March 18, 2026 @05:23PM (#47431601)
I will add "compiler" before "optimizer" and link to the toy optimizer series
Two mechanisms for dynamic type checks
Re:Type-based alias analysis in the Toy Optimizer
on Thursday February 19, 2026 @09:43PM (#47083006)
Oh hi! Thanks for posting. As I wrote this I wasn't sure if it was enough of a post. Let me know if you wanted to hear about anything else that seemed missing.
Re:SectorC: A C Compiler in 512 bytes
on Saturday February 07, 2026 @05:20PM (#46928762)
You may enjoy https://github.com/ludocode/onramp
Re:Writing a Lisp JIT Interpreter with GraalVM Truffle
on Tuesday January 27, 2026 @12:57AM (#46776051)
As I said on Lobsters as well, this is a superb overview.
Re:Ask HN: Could you share your personal website here?
on Thursday January 15, 2026 @12:27AM (#46628423)
https://bernsteinbear.com
I write about programming languages and compilers
The GDB JIT Interface
Re:T-Ruby is Ruby with syntax for types
on Saturday December 27, 2025 @10:11AM (#46402393)
YJIT and ZJIT don't use method annotations.
Re:ZJIT is now available in Ruby 4.0
on Friday December 26, 2025 @07:59PM (#46398108)
Yes; see the first ZJIT blog post. https://railsatscale.com/2025-05-14-merge-zjit/
Re:ZJIT is now available in Ruby 4.0
on Friday December 26, 2025 @03:33PM (#46395934)
In that scenario, what would you hope to get out of the LBBV?
Re:ZJIT is now available in Ruby 4.0
on Friday December 26, 2025 @03:30PM (#46395904)
If all you're doing is summing small integers---frequently the case---it's much preferable to optimize that to be fast and then skip the very dynamic method lookup (the slower, less common case)
Re:ZJIT is now available in Ruby 4.0
on Friday December 26, 2025 @02:35PM (#46395366)
YJIT is not deprecated. That word has a specific meaning in Ruby. You can continue to use YJIT.
With any luck, this performance in the next year or two will be enough to make it a happy change. "Damn, free money" etc
Re:ZJIT is now available in Ruby 4.0
on Friday December 26, 2025 @01:58PM (#46395055)
Earnestly: why are you annoyed? I tried to make it clear that you don't have to make any changes. If you want, you can try ZJIT (which should not be anything other than a one character change), but you don't have to.
Re:ZJIT is now available in Ruby 4.0
on Friday December 26, 2025 @01:55PM (#46395017)
In this case, we used to abort (i.e. abort(); intentionally crash the entire process) but now we jump into the interpreter to handle the dynamic behavior.
If someone writes dynamic ruby code to add two objects, it should succeed in both integer and string cases. The JIT just wants to optimize whatever the common case is.
Re:Introduction to Software Development Tooling (2024)
on Wednesday December 17, 2025 @11:47AM (#46301908)
It's a "teach people how to teach themselves to fish" class
Re:Introduction to Software Development Tooling (2024)
on Wednesday December 17, 2025 @11:46AM (#46301894)
You'll never guess what we talk about later on in the unit. Spoiler: exactly that!
It notionally focuses on make but the concepts apply much more broadly than the one specific tool
Re:Introduction to Software Development Tooling (2024)
on Tuesday December 16, 2025 @10:47PM (#46298010)
The schedule is generated from a Python script, but doesn't involve YAML
Re:MIT Missing Semester 2026
on Monday December 15, 2025 @10:36AM (#46275845)
If you're interested, see also https://bernsteinbear.com/isdt/ by me and Tom
Re:Abstract Interpretation in the Toy Optimizer
on Saturday December 06, 2025 @05:11PM (#46177020)
This kind of compiler/runtime feedback about source code is really interesting and (imo) under-studied. Especially when you take into account something like PGO data.
Adding Iongraph Support to ZJIT
Re:The Easiest Way to Build a Type Checker
on Sunday November 30, 2025 @11:54AM (#46098265)
No, HM is unification based and requires no annotations at all.