technical.cx Sources

Lobsters

Deconstructing Datalog

In September 2022, after two rounds of revisions, I submitted the final version of my PhD dissertation, Deconstructing Datalog. Datalog is a logic programming language from the ’80s that augments relational algebra with recursive queries. It has both simple...

Topics: Programming

Entities: Programming

Lobsters

Simplifying Weak Reference Processing in ZGC - Inside.java

What are GC barriers and how do they relate to ahead-of-time compilation? This blog post explores the intersection of HotSpot's GCs and compilers through the lense of implementing GC-agnostic load barriers at the assembly level, and gives key insights on...

Lobsters

uris

Git's basic model is a wonderfully simple system of blob trees and commit chains that one can explain in 5 minutes to anyone. Further up the stack, that wonderful simplicity devolves into a mess of commands and flags developers with 20 years of git...

Lobsters

Intermediate Floating-Point Precision

Riddle me this Batman: how much precision are these calculations evaluated at? If you answered ‘double’ and ‘float’ then you score one point for youthful idealism, but zero points for correctness. The correct answer, for zero-idealism points and forty two...

Lobsters

The future of Siri, or: why private inference isn’t private enough

Yesterday Apple announced a big step towards deploying real AI in their Siri ecosystem. In most ways this is good and inevitable: Siri is one of the world's most widely-used voice agents, and it would be good if it didn't suck. The idea that Apple would...

Lobsters

Emulator Debugging: Area 5150's Lake Effect

My last few articles on bus sniffing the IBM 5150 have been building up to this one. We're going to leverage our bus sniffer and sniffer ...