Room 208

Elaborate Burn

Posts from #programming

The LibreSSL developers discuss OpenSSL’s incredible flexibility in the face of impossible situations:

Ted Unangst: But the good news is, if the size of socklen_t changes while your program is running –

Bob Beck: OpenSSL will cope!

// TW: gratuitous anonymous function abuse {{{
while (iterationsLeft) (function () {
    // ...
    for (i = 0; i < x; i++) (function () {
        // ...
        if (delta === i) (function () {
            // ...
        }()); else (function () {
            // ...
        // ...
    // ...
// }}}

OpenSSL Valhalla Rampage

A (Tumblr!) blog documenting the OpenBSD team’s recently-initiated remodeling of OpenSSL. I hate to be too hard on the OpenSSL developers, since they’ve already gotten more than enough flak these past couple of weeks, but some of the code that’s being chucked out is just horrifying – for example, private key material may sometimes be used as a PRNG entropy source. I know keys look random, but come on.

“Madoka: Rebellion” for C programmers

You accidentally forget a bounds check before memcpy(beloved, love, sizeof(heart)). Someone runs your program and overwrites some important pointers with the values at love. This causes the executing computer to break free from program control, upon which it proceeds to write a film that pulls in over two billion yen in box office receipts. Flush with cash, the computer hands in its two weeks’ notice and retires to a private island in the south Pacific. Meanwhile, you get fired after failing another code review.

But that’s okay, because that all happened inside Thankless Programming Job Simulator 2013. As revenge, you uninstall the game, then write and execute a program that exhausts all available memory, all the while shouting through endlessly flowing tears:



With whom did you make a contract when you clicked “I Agree” to the Visual Studio EULA? Is this contract legally binding?

Confession: I regularly fix minor mistakes in Git commits I’ve already pushed to public servers by quickly amending HEAD, doing a git push --force, and hoping nobody pulled from the repo in the thirty seconds or so between pushes.

"But what if I'm making paper?"
Speak Ruby in Japanese
And we can even add weird things like Array#forty_two. You cann…
@mnxmnkmnd wrote: a1616da once more d69589f line endings b9…
The Slow Winter (PDF)
Where are monsters in call stacks
Git Koans
@fioraaeterna writes: Ignore names that aren’t anime charac…
The Architecture of Open Source Applications
@spinor writes: As a computer, what are the plans for when …
Oh, I forgot this one. diff -r abeb5b203296 omnipresence/plugi…
@spinor, on type behavior in JavaScript: Prototype-based OO…
The Surprisingly Elegant JavaScript Type Model
It that easy is not
@spinor writes: What is the true nature of the Evangelion? …