Profile cover photo
Profile photo
Reid Kleckner
Finding broken code faster than ever
Finding broken code faster than ever

Reid's posts

Post has attachment
Linus recently made another completely inappropriate outburst over some code, and someone rewrote it to convey his meaning more directly. From the rewrite, I can also now say that I disagree with the content. If you care about checking for integer overflow, you should probably be using the compiler builtins for it, or you will get it wrong eventually.

Post has attachment
Darkest Dungeon has great flavor. My favorite quotes (read in a deep, male action movie preview announcer voice):

"Mortality clarified, in a single strike" (when a baddie whomps a party member)
"Remind yourself that overconfidence is a slow and insidious killer." (after you win a battle)
"Curious is the trap maker's art, his efficacy unwitnessed by his own eyes"
"A mighty sword arm, anchored by holy purpose, a zealous warrior"
"The raw strength of youth may be spent, but his eyes hold the secrets of a hundred campaigns"

Post has shared content
Apple really loves these WWDC reveals. :)

I want to understand why the anti-vax movement and the anti-anti-vax movement are so big right now.

Post has attachment
The sun broke through the snow during our hike to the Torres yesterday and made this awesome vista.

"Trusty Tahr"?  Ubuntu has gotten dangerously close to the end of the alphabet while I wasn't looking!

Post has attachment
Hans helping make clang on Windows a bit more livable.  You probably wouldn't want to use it for your primary compiler yet, but it's enough to set up an ASan build!  =D

Post has attachment
Firmware engineering is very different from what I'm used to.

"Mirroring (where key data is written to redundant variables) was not always done."

This is a totally foreign concept to me.  Why would you want multiple sources of truth?  What do you do when they are inconsistent?  Do you pile on hacky untested logic to somehow fail "gracefully"?  What is graceful in the context of a controller chip, where you can't just abort?

In a compiler context, the safe thing to do on error is to abort ASAP, rather than miscompiling the code and putting hidden bugs in the user's application.

The rest of the alleged defects sound like totally reasonable and banal things that we struggle with all the time like data races.  Some of them seem like the designer should've actively defended against them, like task failure due to crash.

Moving from Palo Alto to Sunnyvale is like moving to a new neighborhood in Grand Theft Auto.  You can still go back to the old area, but all side quests are in the new area.

Post has attachment
C language vs. the C train of NYC's MTA.
Wait while more posts are being loaded