All the Failing Features

All the failing features, all the failing features
All the failing features, all the failing features
All the failing features, all the failing features
All the failing features
Now put your PR up

Up in the day, we just broke release
I’m doing my own little thing
Decided to skip and now you wanna see
Cause another feature depended on me
I released a change, he released a change
Don’t pay it any attention
Just marked it deprecated, for three good years
Ya can’t be mad at me

Single Entry, Single Exit

Intro

A common piece of programming advice is only have a single return statement. This is sometimes called the ‘Single Return Law’. It is even codified in some coding standards such as MISRA C 1 2.

How to Have a Great Postmortem

The goal of a post-mortem is an opportunity for a team (or the broader organisation) to learn as much as they can, in a relatively short period of time, about how people normally perceive and perform their work. This is because the people involved were in their normal work when the incident happened. Questions should focus on the ways that the organization prevents this sort of event from happening all the time, not by asking what allowed this singular event to happen.

Ethical Baghdad

Over the last year or two I’ve been on a bit of a kick of reading the original sources for several common CS (or other) topics. You’d be surprised about how many ‘oft quoted’ concepts don’t have the origin you’d expect.

There is an old joke:

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.

Which I found at the above quoted ‘guppylake’ website1. However, when I found the CSCW ‘922 scan of the same article the quote itself is missing (and the text differs in other slight ways as well). All other references to the quote drastically postdate both of the previous references.

Code Review Research

Code review and CI/CD are one the few practices with actual empirical support.

Meta Comment

This post was written in reply to a specific post discussing removing code reviews entirely.

The Old Net

If you set your HTTP proxy to theoldnet.com with port 1999, and add an exclusion for web.archive.org, then all your web pages will come from 1999, via the Wayback Machine. You can pick a different year by changing the port.

Example

$http_proxy=theoldnet.com:1996 no_proxy=web.archive.org curl http://nintendo.com

Source

LeoPanthera. (2024, January 19). Comment on ‘Surf the web like it’s 1999’ [Comment]. Hacker News. https://news.ycombinator.com/item?id=39058806

Recusal

Recusal motions for judicial bias were unknown at common law in England, and none would exist in federal courts until 1911. There was no standard of appearance of partiality, and none would exist in federal courts until 1974.

Source

Reginald Alleyne. (2003). Arbitrators’ Fees: The Dagger in the Heart of Mandatory Arbitration for Statutory Discrimination Claims. 6. page 35-37

Book Review - The Annotated Turing

“The Annotated Turing” by Charles Petzold 1

Many of us have learned about ‘Turing Machines’ or ‘Turing Completeness’ but have never actually read the motivating text and explanation. This is a phenomenal book that goes through paragraph by paragraph the paper “On Computable Numbers” 2 by Alan Turing in a rigorous way explaining the concept intuitively and completely. Not only does it explain the text, but it also gives enough background so that one could understand and follow through the proofs themselves. It is well written and clear without feeling like a textbook. It is divided into fours sections:

Leprechauns of Software Engineering

I recently read “The leprechauns of software engineering” by Laurent Bossavit 1. The book goes through a few myths about software engineering and then traces how those myths entered the public consciousness. It was well worth reading for anyone interested in research based software engineering practices. It was primarily useful on how to verify about claims rather than the claims themselves. While I’ve heard of most of the myths - I also heard about them as myths rather than as true claims. It reminded me a lot of “Making Software” 2. Core Insights:

Communication Treadmill

People pay attention to high value communication channels. These give them information about the job, hobby, etc. Since people pay attention to these channels, they get used more. Eventually they get used for something more borderline or inappropriate for the communication channel. When this happens people stop paying attention to the formerly high value channel and shift to new locations. Eventually the original channel is useless. Rinse and repeat for the new communication channel.