Director of the WebAssembly Research Center at Carnegie Mellon University. Principal Researcher. Wasm co-founder. Former V8 engineer. Compilers!

Joined May 2022
The proceedings of JENSFEST are now in the ACM Digital Library! It's a great collection of paper dedicated to Jens Palsberg on the occasion of his 60th birthday. If you're at SPLASH next week, come see them be presented! dl.acm.org/doi/proceedings/1…
4
19
1,770
And here's a link to Bradley's thesis. ra.adm.cs.cmu.edu/anon/usr/f…
Excited for JENSFEST next week, where I'll present work on unboxing ADTs (one of the key optimizations for systems programming in safe languages) in Virgil done by my excellent bachelor's student Bradley Wie Jie Teo. arxiv.org/abs/2410.11094
1
19
1,965
Excited for JENSFEST next week, where I'll present work on unboxing ADTs (one of the key optimizations for systems programming in safe languages) in Virgil done by my excellent bachelor's student Bradley Wie Jie Teo. arxiv.org/abs/2410.11094
1
1
1
31
3,573
Yesterday we announced two new developments at the WebAssembly Research Center at CMU, welcoming Bosch as a new affiliate sponsor and celebrating Shopify's deepening their investment as a Gold sponsor. I'm excited for the future of our collaborations! cs.cmu.edu/news/2024/wrc-exp…
4
50
2,451
This is a joke and all, but tools are a thing. It could have just generated a Wasm program and run it. Since Wasm has a real spec it could have evaluated the evaluation rules symbolically, which would probably have been faster and literally amounted to a mathematical proof.
I may have just carried out literally the least-efficient calculation in the history of computing. I’m impressed, amused, bewildered, and a little sad. I asked o1 to add two (non-random) 64-bit numbers. It got the correct answer after 82 seconds of anthropomorphic soul-searching.
5
1,537
I've been on a number of PCs and have never been offended by or felt unduly burdened reading an author response, even for really bad papers. Conferences that reject papers without opportunity for author response are doing their communities a real disservice. Frankly, it's rude.
13
964
I'm pleased to announce that a paper on a new record and replay technique for Wasm, called Wasm-R3, will be presented at OOPSLA in October. Primarily work of students from KAIST and University of Stuttgart, I'm proud of the results of this collaboration! arxiv.org/abs/2409.00708
4
12
83
3,485
For discussion: I'm using ChatGPT to help with lectures. I have been taking all of my lectures from the past two years and prompting "What's missing that students should know" and so far it's been...interesting. I do manually address the issues; GPT can't be trusted there.
1
10
742
The two nastiest bug classes are cross-breeding now.
In the last @vu5ec presentation at @USENIXSecurity, @hanyrax discusses GhostRace and explains how attackers can exploit speculative race conditions in the Linux kernel. download.vusec.net/papers/gh… @kurmus @c_giuffrida @m4mbr3
1
5
1,011
It’s time - the #WasmCon schedule has dropped! 🎤 This premier #WebAssembly event will explore new frontiers in building scalable, efficient, & secure applications. Check out the schedule: hubs.la/Q02L8jXW0. Join us in Salt Lake City November 11-12: hubs.la/Q02L87RC0.
7
1
20
5,546
When presenting data, do *not* use comparative bar charts that don't start at 0. It's blatantly misleading because the length and area of the bars no longer accurately denote magnitude, thus comparisons are broken. You could use points, but if you use bars, I will vote REJECT.
1
12
780
How many times have you implemented a traversal that ended just being depth-first-search on a graph (with maybe a bit on each thing to check for cycles)?
2%Never
6%Once or twice
50%A handful
42%Probably a million times
48 votes • Final results
2
574
Oh look, a whole day without meetings! (Proceeds to fritter nearly the entire day away trying to fit five variables into four registers in order add a runtime call slowpath to the assembly interpreter in Wizard). *sigh*
1
14
1,052
One the holdovers from learning C as my first language is that I am pretty hesitant to reach for a hashtable as the default solution. Years and years of Java, but I'm now back to "avoid hashtables unless you're doing something to improve end user experience".
1
10
1,796
I fixed the bug, but didn't finish the disassembler 🤣
So I started debugging this JIT bug...ended up starting to write an x86-64 disassembler. Ugh. github.com/titzer/virgil/com…
11
1,009
So I started debugging this JIT bug...ended up starting to write an x86-64 disassembler. Ugh. github.com/titzer/virgil/com…
1
1
15
1,780
Today the WebAssembly Community Group voted to advance the Exception Handling proposal to Phase 4! There were some twists and turns along the way, some late design changes, but overall I am very happy with the design we settled on and have now finished. github.com/WebAssembly/excep…
2
15
2
67
6,284
A few hundred lines changed in the compiler, a few thousand lines of tests. This one has been tricky, but now default ADT values are fixed, and all the unboxing optimizations are set up for maximum profit. github.com/titzer/virgil/com…
Spent lots of time paying some tech debt in the Virgil compiler. I added ADTs to Virgil "easily" by desugaring them to classes during parsing. That allowed reusing most of the IR and such, but a zillion special cases and booleans popped up everywhere. /n
9
903