Falsehoods programmers believe about Unix time

A while back I blogged a collection of “Falsehoods programmers believe about …“. One of those things was time. Today I came across a nice addition to that – “Falsehoods programmers believe about Unix time“.

These three facts all seem eminently sensible and reasonable, right?
1. Unix time is the number of seconds since 1 January 1970 00:00:00 UTC
2. If I wait exactly one second, Unix time advances by exactly one second
3. Unix time can never go backwards
False, false, false.

All three of these are false and for the same reason – leap seconds. The article provides a nice and easy explanation of how and why that happens.

Unix History Repository

Evolution of unix-history-repo (Gource Visualization) video shows how the UNIX operating system was born and how it matured over time. The video is based on this GitHub repository, which combines the following:

The project has achieved its major goal with the establishment of a continuous timeline from 1970 until today. The repository contains:
– snapshots of PDP-7, V1, V2, V3, V4, V5, V6, and V7 Research Edition,
– Unix/32V,
– all available BSD releases,
– the CSRG SCCS history,
– two releases of 386BSD,
– the 386BSD patchkit,
– the FreeBSD 1.0 to 1.1.5 CVS history,
– an import of the FreeBSD repository starting from its initial imports that led to FreeBSD 2.0, and
– the current FreeBSD repository.
The files appear to be added in the repository in chronological order according to their modification time, and large parts of the source code have been attributed to their actual authors.

This is mind-blowing! So much work, so many people, so little recognition. The world wouldn’t be the same without all that, and yet the masses think that Steve Jobs or Bill Gates were the greatest computer geniuses in the history of mankind. Sad…

But the video is beautiful. It desperately needs some music though.

Dotfile madness

Dotfile madness” is an excellent look at the problem of hidden data and configuration files that seem to be multiplying lately in the users’ home directories:

We are no longer in control of our home directories.
My own home directory contains 25 ordinary files and 144 hidden files. The dotfiles contain data that doesn’t belong to me: it belongs to the programmers whose programs decided to hijack the primary location designed as a storage for my personal files. I can’t place those dotfiles anywhere else and they will appear again if I try to delete them. All I can do is sit here knowing that in the darkness, behind the scenes, they are there. Waiting in silence. Some of those programmers decided to additionally place some normal files and directories in the same place. Those are clearly visible every time I execute ls in my home directory. 

While there is no easy centralized solution to this problem, as each application’s developer decides for himself, the article proposes a better way of doing things, reminding us about the XDG Base Directory Specification. This spec allows for a much finer control of where things go via the XDG_* environment variables.

Nice one!

Unix Folklore

Unix Folklore brings back a few bits of UNIX history from the Bell Labs:

The UNIX operating system, which was created by Ken Thompson, Dennis Ritchie, and others at Bell Labs in the early 1970’s, revolutionized the computer industry in ways that are still felt today. Researchers at Bell Labs continued to develop UNIX (in various forms) for more than 30 years. For most of that time, UNIX researchers shared the same physical lab space which allowed a lot of folklore to accumulate over the decades. The lab is now gone but archivists at Bell Labs saved everything that was in the room – creating a time capsule of computing’s past. These are some of the curiosities taken from the UNIX research lab at Bell Labs headquarters in Murray Hill, New Jersey. Each has its own story – some widely known, others now forgotten.

The History of Unix, Rob Pike

Rob Pike talks about the history of Unix and his quite remarkable career.  And here’s my favorite quote from the video, referring to “The Unix Programming Environment” book:

It is amazing to me that the book that came out in the late 1983 is still technically relevant today.  It’s insane!