The Linux 'cal' command

Five things you should know about the Linux cal command. There are many, many, more features listed in the man page but these are the ones you should know.

The Unix cal command appeared in 1973 in what was called “Version 5 AT&T UNIX”. Linux and macOS (and all *BSD systems) have very different clones. Check the man page for details.

An open letter to Uncle Bob about "Defund The Police"

You’ve tweeted that you feel “defund the police” is a terrible policy. I hope to change your mind.

Ignore the name. It is imperfect. In software engineering terms, “defund the police” is similar to the strangler pattern.

For the non-engineers reading this, TSP is a reasonable, pragmatic, and down-to-earth way to slowly replacement an old system with a new system. The name is terrible… I would have called it the warm hug of gradual change.

A developer's view of umask

There are a zillion pages explaining how umask works from the user’s point of view, usually with great charts and tables explaining all the bits.

However in all my years I’ve never seen umask explained from the developer’s point of view. What do you provide to creat()/open()/mkdir() (in C) or os.OpenFile/os.Mkdir/os.MkdirAll (in Go) so that the user’s umask is in control.

Primaries 2024

Wouldn’t it make more sense if the early primary states were picked from the battleground states of the previous election instead of being a fixed set of states? For example, the top 5 battleground states go first.

Clayton Christensen has died

Clayton Christensen died on Jan 23, 2020 at the age of 67.

You may know him from his 1997 best selling book, “The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail.”

He was incredibly influential, well beyond the typical author.