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.

Professional Programming

Professional Programming is yet another excellent list of resources, such as books, articles, and courses, for people pursuing programming as a professional career.

The more, the better, I say.

Data Science Cheatsheets

Here’s a good collection of cheatsheets for anyone involved with Big Data and machine learning. Whether you are already well versed in the subject, or just starting, I’m sure you’ll find something useful.

And while we are on the subject of machine learning, check out this repository for examples in Python, theory and math explanations behind many algorithms involved.

Stop Learning Frameworks

Stop Learning Frameworks” is exactly what I’ve been saying and doing for years.

Technology come and go, but it has a lot in common. Set priorities right. Invest 80% of your learning time in fundamentals. Leave 20% for frameworks, libraries and tools.

After 20 or so years working with technology, it always amazes me how most of the new and cool tech is actually another iteration on something that existed and has been used since forever.

Cloud computing, and even the newest hype of serverless architectures, are just another iteration on the ever-going problem of large and centralized versus small and decentralized (mainframes, PC, terminal servers and thin clients, and on, and on, and on).  NoSQL databases have a very familiar feeling to anyone who have worked with LDAP.  All the modern instant messengers iterate over the same problems (and often solutions) from the ancient protocols – NNTP, email (POP, IMAP, SMTP), IRC, and tools that implemented them for different purposes.  And on, and on it goes.

There isn’t enough time in the world to learn even a fraction of all that technology.  But focusing on the fundamentals helps a lot.  If there was one thing to add, I’d also prioritize open technologies and formats versus proprietary.  Open technologies survive the longest and tend to be reused a lot more.

Faces of Open Source

Faces of Open Source is an on-going photographic documentation of the people behind the development and advancement of the open source revolution that has transformed the technology industry.

Given the immense contribution of these people to the world around us, I find it surprising that they are so far from the celebrity status and most people in the world won’t know any of these faces.  Even people in technology sector itself, won’t probably name even half of these people by the picture alone.  For some, even the name won’t mean anything.

Kudos to this project for trying to make these faces slightly more familiar and for giving credit where credit is due.