It’s kind of hard to remember when Linux last had a version upheavel like the first release candidate of Linux 4.0…. sorry, no I tell a lie, it was 22 July 2011 when Linus finally pulled the handle on Linux 2.x and released Linux 3.0. That was quite a change when you consider that the 2.x version had arrived in 1996, with 2.6 turning up in 2003 and incrementing away all the way to 2.6.39 in 2011. The switch to 3.x has now seen 19 releases over the four years so switching version numbers up to 4.0 should be a no-brainer.
It was that 3.0 version change which woke people up from the Linux 2.x problem, where scripts assumed Linux versions began with a 2 and, lets be honest, it wasn’t really a problem. If you have scripts which are assuming 3.x version numbers on your Linux builds, find the person who wrote them and sit them down for a “conversation” because there’s no way that that kind of assumption is excusable after only four years. For 2.x, there was fifteen years of heritage, not so for 3.0.
Don’t read too much into the use of a poll to pick the new version number.
... after extensive statistical analysis of my G+ polling, I've come to the inescapable conclusion that internet polls are bad.
That’s Linus’s git commit comment as he turned over the version numbering and labelled the release “Hurr durr I’ma sheep” – the other option in a “Please ignore this poll” poll. “Who can argue with solid numbers like that? 5,796 votes from people who can’t even follow the most basic directions?” says Linus. The 4.0 vs 3.20 poll had a bigger turnout but the majority was so slim “it could be considered noise.”.
What’s in 4.0 RC1? It’s yet another incremental update of Linux. In his LKML posting, Linus points out his favourite features are ” actually some vm cleanups, where this release is getting rid of the largely unused non-linear remapping code (replaced with just emulating it with lots of smaller mappings) and unifies the
NUMA and PROTNONE handling for page tables”. For others, the live patching system thats being introduced may allow future kernel problems to be fixed without a reboot; here’s the commit.
Apart from that, a small typical update which would have passed relatively un-noticed if it had been a 3.20. So, it’s Linux 4.0 RC1 and that’s Numberwang!
Let’s go fly a Kitematic: There’s plenty of command line tools for Docker and command line driven ways to run it on Mac OS X. The latter’s harder because you need to run a VM and load it with an image and… well there’s boot2docker to help but… Enter Kitematic which takes the previous tools and rolls them with a neat UI and some extra neat tricks to make it a lot easier to start playing with the idea. Among those tricks are things like automatically creating an [appname].dev DNS entry so you can quickly connect to your new apps when they are up and running. If you like to run GUI tools alongside terminal sessions on your Mac, you might want to give Kitematic a go.
Versioning wars: Yes, people are arguing on the Internet and this time its over versioning. Some years back, Semantic Versioning appeared and set out some rules for when to bump the major, minor and patch numbers in a version number to embue it with some meaning. While this works for libraries where the consumer is often another program, it works less well with code to be consumed by people. The argument starts on Underscore’s Github where breaking changes as fixes were causing friction over what the version should actually be. This spilled out onto Hacker News which lead to the suggestion that “Semantic Versioning Isn’t” and back to HN where people continued to disagree. But it did get Fear-Driver Versioning (ferver) and the idea of romantic versioning a moment in the sun. From what I see, SemVer works but it does require discipline and transparency from the developers and the consumers of that code. Still… Developers eh?… because those bike sheds won’t pick what colour they are going to be by themselves.
Old School on a Pi: Want to run old school stylee? We’re talking Unix V5 here. Matt Hoskins has updated his 2005 presentation on how to do this (think PDP emulation and similar) so you can now do it all on a Raspberry Pi. Read on to learn the true old ways of Unix.