's Avatar

@titzerbl.bsky.social

169 Followers  |  53 Following  |  50 Posts  |  Joined: 18.11.2024
Posts Following

Posts by (@titzerbl.bsky.social)

People who know me know my grumpiness about UI changes and obsolescence. While I appreciate the challenge of adding new features and onboarding users, popping up a walkthrough in my face is annoying. Most of the time I want a NOT RIGHT NOW button. I'll get to it later, please stop bothering me.

26.02.2026 15:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I have struggled with Rosetta 2 not liking Virgil x86-64 binaries for some time. Today I put Claude on it. It's fascinating watch it go through pretty heroic attempts to figure out the issue. We are hours and compiler patches deep in this, together.

23.02.2026 23:28 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Stable Release III-10 by titzer Β· Pull Request #529 Β· titzer/virgil

Merged the stable release for Virgil III-10. Virgil has real lambdas that are on by default (with return type inference stuff!) and all the optimization levels work.

github.com/titzer/virgi...

17.02.2026 00:54 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Every new thing about MacOS upgrades infuriates me. Much ink has been spilled about the rounded corners, but how about the fact that the terminal application now has two columns' worth of horizontal padding that is now unusable.

No reason at all. Just wasting space.

16.02.2026 22:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

*sigh* After two months of fits and starts, I finally landed the big global regalloc refactor that passes the CI, and both Virgil and Wizard tests all pass now at -O3.

I just have to fix the symbols for debugging, then stable rev...

10.02.2026 21:02 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Elizabeth's work on Whamm triggered a New Stack article!

20.01.2026 17:50 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1

Olivier*

14.01.2026 02:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Start with Oliver Fluckinger's thesis.

14.01.2026 02:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

So that "simple" register allocator bugfix metastasized into a rewrite of about one third--approaching one half, TBH--of the graph coloring allocator.

And I just realized that deconstructing SSA before doing the pre-spill (shadow stack) phase was...unwise.

14.01.2026 02:23 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Getting dragged down into the register allocator hole again.

Every time I disappear down the hole I spend several days paging stuff back in, learning two or three minor insights, fix a bug by turning something off, and then promptly forget it all.

07.01.2026 00:53 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Ugh, I am so close to being able to squashing the last -O3 bug in the Virgil compiler! It passes all of Virgil's, with bootstrap, and passes nearly all of Wizard's, except some mysterious coverage monitor bug and WASI fd_write.

After -O3 it's time to stable rev!

23.12.2025 02:06 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Please enjoy your trip through this door!

18.12.2025 16:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Purple-ometer Listen and make your own on Suno.

@shriram.bsky.social

You always refer to your offspring as "kid".

I wrote a song about the first Scientist. Somehow "Kid A" reminds of your stories of them.

suno.com/s/07w8E55Fo9...

13.12.2025 23:12 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Feature Status - WebAssembly WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the...

I submitted a PR to add Wizard to the features page for the official WebAssembly site:

webassembly.org/features/

(cached preview doesn't seem to show that new column, though)

21.11.2025 00:44 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Don't question the power talk of the go-jillionaires!

19.11.2025 15:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

A more generous interpretation is that he meant they need to *move* more electrons...which is more or less true. AI is limited by electrical power generation at this point.

19.11.2025 15:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It wouldn't be x86 otherwise!

14.11.2025 01:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Indexing an array and the array length are two slightly different cases IMO. In the first, obviously there is a dynamic check (and Virgil allows any-sized or any-signed integers as an index). In the later, the length being unsigned encodes an invariant useful to other code.

13.11.2025 18:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Haven't tried myself yet, but this VSCode extension for customisable debug visualisations looks absolutely amazing. marketplace.visualstudio.com/items?itemNa...

12.11.2025 17:00 β€” πŸ‘ 12    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1
the last couple years in v8's garbage collector β€” wingolog wingolog: article: the last couple years in v8's garbage collector

new bloggery: a look back on the last couple years of developments in v8's garbage collector

wingolog.org/archives/202...

13.11.2025 15:22 β€” πŸ‘ 13    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0

The Virgil compiler interprets its SSA representation directly, as compile-time initialization allows the full language--a simplification after two generations of customized interpreters. It does basically what Mike wrote, except gotos assign the values of phis instead of looking them up.

13.11.2025 13:32 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Numeric types are actually pretty tricky to get right in language design. FWIW, Virgil defines array lengths to be 32-bit signed integers, like Java. Yet array and range indexing is overloaded to allow any integer type as an index. github.com/titzer/virgi...

12.11.2025 16:34 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not sure I buy this. One nice principle is "make invalid states unrepresentable" and unsigned types are one mechanism for that.

The irony is that up until C23, overflow of signed integers was UB, and now it's defined to wrap. So this stuff about "compiler will catch errors" is tripe.

12.11.2025 15:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
GitHub - WebAssembly/jit-interface: WebAssembly specification, reference interpreter, and test suite for the jit-interfaces proposal. WebAssembly specification, reference interpreter, and test suite for the jit-interfaces proposal. - WebAssembly/jit-interface

Today I presented to the Wasm CG a proposal for fine-grained dynamic code generation as a core WebAssembly feature. The proposal is now at phase 1!

github.com/WebAssembly/...

Also immortalized in song: suno.com/song/19e0679...

29.10.2025 21:49 β€” πŸ‘ 32    πŸ” 11    πŸ’¬ 3    πŸ“Œ 1

I'm curious if your backend is targeting Wasm GC or linear memory.

12.10.2025 14:09 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
GraalVM meets WebAssembly by Fabio Niephaus
YouTube video by Devoxx GraalVM meets WebAssembly by Fabio Niephaus

It’s live! "@graalvm.org meets #WebAssembly” from @devoxx.com: compile JVM apps to Wasm (Web Image) and run Wasm in Java or Kotlin at near‑native speed (GraalWasm). Lots of live demos included!
www.youtube.com/watch?v=uefc...

10.10.2025 12:54 β€” πŸ‘ 27    πŸ” 7    πŸ’¬ 2    πŸ“Œ 0
Preview
Standards

How I'm feeling about data layout / protocol description languages right now.

...except none of them even ending up becoming standard!

xkcd.com/927/

17.09.2025 15:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yes, thanks. I have trouble operating the internet.

16.09.2025 14:26 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@dubroy.com alerted me to the Safari release notes (developer.apple.com/documentatio...) say version 26 ships an in-place interpreter for WebAssembly, which is in part based on the Wizard design, but adapted for Safari's use cases.

This is cool!

Wasm brings all the VMs to tiers!

16.09.2025 13:44 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - titzer/wizard-engine: Research WebAssembly Engine Research WebAssembly Engine. Contribute to titzer/wizard-engine development by creating an account on GitHub.

Today I finished implementing the last of the relaxed-simd proposal (now Phase 4). That completes Wizard's support for all of the Wasm 3.0 features, which includes all the good things like exception handling, function references, garbage collection, and tail calls!

github.com/titzer/wizar...

06.08.2025 19:49 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0