HNHacker News
TopNewBestAskShowJobs

tekknolagi

1,872 karma · joined October 6, 2011

[ my public key: https://keybase.io/tekknolagi; my proof: https://keybase.io/tekknolagi/sigs/3yeAq3H_gbqDnK8_Il6wEe8ncwrDEkYiZc0ld5NxGIE ]

https://bernsteinbear.com

email on website

submissionscomments
tekknolagi··on A Survey of Inlining Heuristics
Please feel free to open a PR. I'm a bit AFK
tekknolagi··on A Python Interpreter Written in Python
See also https://github.com/nedbat/byterun and https://github.com/rocky/x-python
tekknolagi··on The acyclic e-graph: Cranelift's mid-end optimizer
Damn. I wish I thought of that.
tekknolagi··on A Fuzzer for the Toy Optimizer
I will add "compiler" before "optimizer" and link to the toy optimizer series
tekknolagi··on Type-based alias analysis in the Toy Optimizer
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.
tekknolagi··on SectorC: A C Compiler in 512 bytes (2023)
You may enjoy https://github.com/ludocode/onramp
tekknolagi··on Writing a Lisp JIT Interpreter with GraalVM Truffle
As I said on Lobsters as well, this is a superb overview.
tekknolagi··on Ask HN: Share your personal website
https://bernsteinbear.com

I write about programming languages and compilers

tekknolagi··on T-Ruby is Ruby with syntax for types
YJIT and ZJIT don't use method annotations.
tekknolagi··on ZJIT is now available in Ruby 4.0
Yes; see the first ZJIT blog post. https://railsatscale.com/2025-05-14-merge-zjit/
tekknolagi··on ZJIT is now available in Ruby 4.0
In that scenario, what would you hope to get out of the LBBV?
tekknolagi··on ZJIT is now available in Ruby 4.0
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)
tekknolagi··on ZJIT is now available in Ruby 4.0
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

tekknolagi··on ZJIT is now available in Ruby 4.0
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.
tekknolagi··on ZJIT is now available in Ruby 4.0
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.

tekknolagi··on Introduction to Software Development Tooling (2024)
It's a "teach people how to teach themselves to fish" class
tekknolagi··on Introduction to Software Development Tooling (2024)
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

tekknolagi··on Introduction to Software Development Tooling (2024)
The schedule is generated from a Python script, but doesn't involve YAML
tekknolagi··on MIT Missing Semester 2026
If you're interested, see also https://bernsteinbear.com/isdt/ by me and Tom
tekknolagi··on Abstract Interpretation in the Toy Optimizer
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.
tekknolagi··on The Easiest Way to Build a Type Checker
No, HM is unification based and requires no annotations at all.
tekknolagi··on Copyparty, the FOSS file server [video]
sqlitedict? Or shelve/dbm?
tekknolagi··on A catalog of side effects
The good news is now you got tricked (accidentally, tbh) into reading about compilers!
tekknolagi··on Walking Around the Compiler
<3
tekknolagi··on Walking around the compiler
The real fix felt more complicated when I drafted this. Seems like it isn't; I'll think about updating the post
tekknolagi··on The Little Book of Linear Algebra
In case the author didn't notice, the organization name appears to be missing an L - "litte"
tekknolagi··on Why we still build with Ruby
Re: ZJIT: all development is happening in the open in the zjit folder of the ruby/ruby repo. You can follow along!
tekknolagi··on Python performance myths and fairy tales
If I may toot my own horn: https://bernsteinbear.com/blog/typed-python/
tekknolagi··on I drank every cocktail
Excellent subtitle "let's have a tiki". Great joke
tekknolagi··on What I talk about when I talk about IRs
I like this. Especially the last paragraph. Mind if I quote you and expand?
Page 1 of 21Next →