Chris Fallin

547 Followers
302 Following
531 Posts
Nerd-of-all-trades, happiest when hacking deep innards of a compiler or runtime.
wwwhttps://cfallin.org/
whereaboutssunnyvale, california (SF bay area)
pronounshe/him
affiliationcurrently software engineer @ F5; previously Fastly, Mozilla, PhD @ CMU ECE, Google, Intel
"It takes a long time to say anything in Old Assembler," intoned Greybeard, "so we do not say anything unless it is very important."
A few years ago I designed a way to detect bit-flips in Firefox crash reports and last year we deployed an actual memory tester that runs on user machines after the browser crashes. Today I was looking at the data that comes out of these tests and now I'm 100% positive that the heuristic is sound and a lot of the crashes we see are from users with bad memory or similarly flaky hardware. Here's a few numbers to give you an idea of how large the problem is. 🧵 1/5
@guenther @gabrielesvelto ah yes, bitflips georg who lives in a plutonium mine and gets a thousand bit-flip related crashes every day is an outlier adn should not have counted

When AI Writes the World’s Software, Who Verifies It?

https://leodemoura.github.io/blog/2026/02/28/when-ai-writes-the-worlds-software.html

"Writing a specification forces clear thinking about what a system must do, what invariants it must maintain, what can go wrong. This is where the real engineering work has always lived. Implementation just used to be louder."

When AI Writes the World's Software, Who Verifies It?

Leonardo de Moura — Creator of Lean and Z3

@jdevlieghere thanks, and thanks very much for all your work in getting this working in LLDB in the first place!

I need to clean up the gdbstub component but will make it public soon; when I do I can point you to it if you want to help debug LLDB. I guess my first step should be to rebuild with asserts and see if it's something obvious... it's also entirely possible I'm holding the protocol wrong (though I guess that shouldn't cause lldb to segfault regardless).

@rygorous @pervognsen @tekknolagi

(also speaking of weird counter-intuitive behavior, I can't help but note that SAT solving with BDDs is O(|vars|) once you have the BDD ("follow any path that doesn't resolve directly to the zero terminal"); you just gotta build the BDD for the expression first which is where that pesky exponential bit comes in again. Of course there are many good reasons why no one builds a SAT solver this way...)

@rygorous @pervognsen @tekknolagi

BDDs are great! I love how they invert my intuition of what should be expensive versus cheap: asking "are these two functions equivalent" is a literal pointer comparison (because canonicalization) but "build up an expression tree" is exponential (worst case). Compressed truth table is a nice way to think about it...

Do you have any good reading on what has replaced them in modern EDA tooling?

while we're at it, let's make sure everyone has read the audiophile memcpy post

https://www.audioasylum.com/messages/pcaudio/119979/

RE: A revolution in audio rendering - SBGK - Computer Audio Asylum

RE: A revolution in audio rendering - SBGK - Computer Audio Asylum

in 2017 a popular twitter game was to type a partial phrase then see what your phone auto-completes it with.

this proved so popular that it is now the only business model in the US.

You don't use open source software because it's better (it usually isn't).

You don't use open source software because it's freer (it only sometimes is).

You don't use open source software because it's got better politics (it isn't always).

You use open source software because *it is the only option*. In the long run, if it isn't open source, it doesn't exist.

image source: keithstack.com