| www | https://cfallin.org/ |
| whereabouts | sunnyvale, california (SF bay area) |
| pronouns | he/him |
| affiliation | currently software engineer @ F5; previously Fastly, Mozilla, PhD @ CMU ECE, Google, Intel |
| www | https://cfallin.org/ |
| whereabouts | sunnyvale, california (SF bay area) |
| pronouns | he/him |
| affiliation | currently software engineer @ F5; previously Fastly, Mozilla, PhD @ CMU ECE, Google, Intel |
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."
@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
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