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!
Bashed: So the Bash bug is out there and real. These quick notes are still valid. The point is that this hideous feature (really, exporting function definitions through environment variables) is horrid and leaky by design and it’s only this bug in how that feature is implemented thats bringing it to the fore. CGI scripting, Qmail, some SSH and DHCP services are all potentially vulnerable, so patch away but be prepared to patch again because the lid is off this can of worms. Safest end point is, most probably, that the functionality goes away, but thats unlikely and even if it did there’ll still be old bash installs out there. Least helpful response – the FSF statement which fails to apologise and then pats itself on the back that free software let the patches be shared and then rattles the donation tin. Funniest response – Brian J Fox, Bash creator, quoted in the NYT joking his first response was “Aha, my plan worked”.
Security in a Qube too: The Qubes OS developers have been working away steadily on their virtualisation-compartmented desktop operating system and now Joanna Rutkowska has announced Qubes OS Release 2. The OS is now described as “a powerful desktop OS” rather than a proof-of-concept, and to reinforce that, Casper Bowden, is joining the advisory board for Qubes to see if it can be brought to a wider world. If you’ve not met Qubes, imagine a desktop Linux where each app or group of apps are run in their own virtualised sandbox while the OS works to make it easy for the user to not be bothered by that. If you were looking for a “post-Snowden” OS, Qubes should be on your list – check the site for downloads, resources and white papers explaining whats in the OS.
Linux from Scratch: You may, “post-Snowden” want to go through every bit of code is in your running systems. One place to start there is Linux from Scratch which takes you through assembling your own Linux system (and automated or hardened versions) from component parts. It’s just been [updated to LFS version 7.6], along with updated to Beyond Linux From Scratch (BLFS) and systemd editions of LFS and BLFS.
RethinkDB 1.15: NoSQL… no come back… Cool NoSQL database RethinkDB just got updated to version 1.15 getting a huge set of geospatial functions to add to its already interesting suite of functions. There’s also server-side UUID generation and performance boosts through lazy deserialisation.
Material world: Some folks love Google’s Material look and feel. Well, now they can have some of that on thje web with Bootstrap Material Design, a Bootstrap theme what brings the stylings and gives a nice flat look to apps.
Finally: Via Adafruit, a picture of Grace Hopper teaching COBOL.
Docker 1.0: The Docker container management platform has hit version 1.0 though the major work had been done by version 0.11 – this is the project’s graduation, acknowledging its ready for production. The actual packaging and management software is going to be referred to as Docker Engine now as the announcement is also the signal for Docker (the company) to roll out 1.0 of Docker Cloud, a platform for sharing Docker packaged apps. Actual changes in 1.0 are things like a new COPY command and an improved ADD command for developers and the ability to pause and resume running containers, added XFS support and performance improvements in container removal. Make a note too. Posts 2375 and 2376 are now officially the HTTP and HTTPS ports for Docker. Docker has changes how people think about package and run applications on Linux and all it would need is for major players to adopt Docker and … oh Google’s added App Engine support for Docker to go with its Compute Engine support and then there’s…
RHEL 7.0: Red Hat has rolled out version 7.0 of its enterprise Linux and 7.0 is looking like a cracking release. Top of their highlights, containers and Docker support, XFS as default file system and new caching file systems (Btrfs is still experimental), systemd and new management components and more capabilities to work with Windows domains. The release notes as with all Red Hat releases are comprehensive and cover things like the switch to GNOME 3 on the desktop (while retaining a classic shell). RHEL 7 is the commercially supported upstream for other distributions, most notably the CentOS distribution which is working on its CentOS 7 release – no dates on that yet but it is the first test of the new relationship between Red Hat and CentOS.
Firefox 30.0: Thirty… As Firefox versioning heads out of the twenties, the [release of Firefox 30.0] has brought sidebar button for toolbar, support for GStreamer 1.0, command-E find selected, various developer changes and five critical and two high security fixes. Now it is thirty, Firefox is well on its way to settling down to a boring life where change is mostly about moving the furniture about and keeping an eye on the neighbours. The place to look for excitement is Mozilla’s Servo browser, being developed in Mozilla’s Rust language and is developing steadily.
XBMC and OpenElec updated: The XBMC Media Centre app has been updated to version 13.0 with hardware decoding support for Android, performance improvements on Raspberry Pi and Android, support for stereoscopic 3D rendering and better touchscreen, UPnP and Audio Engine handling including “real pulseaudio support”. And with the release of a new XBMC comes an update to OpenElec, the small Linux distro built to turn machines into XBMC boxes. With OpenElec 4.0 there’s an updated kernel and refreshed toolchain, UEFI boot support, general package updates and first support for TTS (text-to-speech).
Android 4.1 the new GingerBread?: For a long time, Android 2.3.3-2.3.7 aka Gingerbread, dominated the Android devices out there. The Google statistics put it down at 16.2% now, well down from its peak with 82% of Android devices running version 4 or later. There’s only one fly in the ointment there though – nearly half of that – 33.5% – is devices running Android 4.1, the first “JellyBean” release from way back in July 2012. It seems to have become the new minimally acceptable Android version for vendors. It’ll be interesting to see if it becomes as sticky as Gingerbread became. On the upside, at least Android 4.4, Kitkat, is matching its 4.3 predecessor in share after jumping to 8.5% from 5.3%. That indicates a healthy uptake over time, at least until the next Android version announcement.
Tails 1.0: The developers of Tails, the Linux distro built for anonymity and privacy, have declared the latest version Tails 1.0. Tails wires all its networking through Tor and leaves no traces on machines where its been livebooted. Its ideal in situations where you want your digital footprint minimised. Version 1.0 sees browser updates, Tor patches including a Heartbleed vulnerable blacklist, bug fixes and a new logo for the project. The announcement also lays out plans for 1.1 (A switch to Debian 7), 2.0 (better building for a longer life) and 3.0 (sandboxing and isolation) and invites developers to contribute… it is a project which has got some great reviews.
Debian 7.5: Talking about Debian, the latest bugfix and patch rollup release, Debian 7.5 has just arrived. If you keep your Debian system up to date, you’re already good, but if you install a lot of systems from spinning or stickish media then you may want to take this opportunity to update your images. Full details of the fixes, bug and security, are in the announcement.
Apache OpenOffice 4.1: The Apache OpenOffice project has announced AOo 4.1, the latest iteration in the direct descendent of the original OpenOffice. The release notes highlight the Windows version’s IAccessible2 support for better screen reader integration and the addition of comments and annotations for text ranges. In place field editing, interactive cropping, unified import/drag/drop for images, better vectors and new (Bulgarian, Danish, Hebrew, Hindi, Thai and Norwegian Bokmal) translations and other updated translations and dictionaries. Also, behind the scenes, AOo now uses NSS libraries rather than the older Mozilla networking code so that it is a bit more secure and a lot easier to build.
Go 1.3 goes Beta: The first beta of Go 1.3 has been announced. This update will have no language changes, and instead sees improvements to the Go ecosystem like experimental support for Solaris, Plan 9 and, probably most significantly, the return of support for Google’s Native Client (on Intel only for now). The release notes pick out the major goodies – faster builds and binaries thanks to a refactored toolchain and precise garbage collection and a fix to TLS skipping verification – along with the less major changes such as updated Unicode support and tweaks to net/http.
Gogs: Talking about Go, Gogs is an interesting project in its early days, creating a pure Go self-hosted Git service with social account logins, public/private repositories, various database backends and all wrapped up in a single binary which can be built for wherever Go builds. One to keep an eye on.
GCC 4.9.0: Thirteen months since the last major release of the GNU Compiler Collection and version 4.9.0 arrives. Lots of optimiser improvements or existing features being spread to new platforms; for example AddressSanitizer, the memory error detector, is now available on ARM. OpenMP 4.0 is now supported, you can get your C diagnostics in glorious colour, various C11 elements, such as atomics, are now available, improved C++11 support and experimental C++14 support and there’s now Go 1.2.1 support. For all the details, check the changes file.
TinyCore Linux 5.3: Like your Linux tiny? The TinyCore 5.3 has been released with a number of tweaks on the compact Linux which can squeeze into as little as 12MB. Read more at the home page.
Linux 3.14 lands: And another ten week dev cycle of Linux ends with the release of Linux 3.14. There’s a new realtime scheduler (deadline), event triggers for tracing, graphics driver updates (stablised Broadwell support, NVIDIA GK110 support, dynamic power management for newer AMD hardware), new TCP autocorking for better small packet handling and the usual gamut of driver improvements, patches and enhancements. For a good list, check LWN.net‘s three part listing (1, 2, 3) (and if you are interested in Linux and don’t subscribe to LWN.net, why not?). As of writing, Kernel Newbies has yet to catch up with its pages, while German speakers can read Thorsten Leemhuis’s Die Neuerungen von Linux 3.14 which is packed full of details.
Etherpad 1.4 arrives: For Etherpad, it’s mostly lots of bugfixes and security patches, but it’s worth noting the arrival of Etherpad 1.4. The Node.js-based collaborative editor’s changelog has the details.
Pass, you may: Pass is an interesting idea – password management using a simple text file (encrypted of course) with a simple (and configurable) file storage heirachy, with simple commands to manipulate them and use them from the keyboard. Now to see if I can get the password manager I use elsewhere to export its contents in Pass format – there’s already scripts for lots of other passwords managers.
Your name in lights: A nice little tutorial from the folks at Adafruit ahows how to use a 16×32 RGB LED matrix panel, which happens to be available over at Phenoptix, with a Raspberry Pi. The matrix usually comes with instructions to use it with an Arduino due to the bit bangy nature of getting stuff onto the display so the Pi instructions offer a whole new set of opportunities for hacking. The next edition of CodeScaling might be in 16×32 format real soon now.
GNOME 3.12: And so GNOME 3.12 has arrived with updates all around. Over here at Codescaling, we’re looking forward to the improvements to HiDPI display support . We had been spoiled by Apple’s fairly smooth switch to HiDPI support but on Linux and Windows its all, surprisingly, a work in progress. Our GNOME desktop on a HiDPI dispay brings a range of font sizes to the screen, only some of which are appropriate. (Google Chrome has its own special mix of tiny tabs, chunky (too chunky) bookmark bar and microscopic (mostly) main window so its not just GNOME that has issues). Thats why we’re using HiDPI as our new proxy for up-to-date-ness. Back at GNOME 3.12, there’s also some nice additions like the popover menus for a flatter UI and more work on making Applications more managable entities. Unfortunately, all this won’t be making it into Ubuntu GNOME 14.04 LTS because it feature froze just over a month ago in what could be described as un-cadence. For the curious, there’s already a FreeBSD with GNOME 3.12 VM available. There is also a more traditional Fedora based GNOME 3.12 live image available to download as an ISO.
Systemd 212: An update of bugfixes for the future dominant ‘init’ system in systemd 212. My favourite feature is at the top of the list… make sure that the screen has minimal brightness when restoring settings to stop people rebooting into a black screen. There’s also been work done on timers including the ability to persist timers to disk so they can be used to start processes over a longer span of time and through reboots.
Comment: Steady improvements with GNOME, systemd and Wayland make me hopeful that there will emerge a good end user Linux distro with a solid desktop designed for a general population but configurable for power users – GNOME 3 is well on the way there, but there’s no distro that seems ready to host such a combo as its primary environment beyond Fedora and that’s not aimed at the general populous. Agree/Disagree? Why not try our comments section below?
Node package popularity: It’s the little things that count, and one little enhancement just made to the Node package manager site sets out to make package searching easier by ordering results by popularity – though on testing here at Codescaling, the algorithm will need a bit more work as it seems packages with no ratings and no downloads rise to the top of the list. Still, its good to see work being done on the NPM site, that isn’t security fixes, after the somewhat contraversial creation of NPM Inc . The backend was already getting attention
LXC goes 1.0: Linux Containers, LXC, is now at version 1.0, a major milestone which also brings together and completes a lot of things that have been working their way through the Linux kernel, like support for unprivileged containers, long term stuff like a stable API – this’ll be supported for five years, bindings for Lua and Python3 (and Go and Ruby out-of-tree support), backing storage support for directories, btrfs, zfs and more, cloning, snapshotting… and you may wonder “Hey, doesn’t Docker do many of these things” and yes it does, so it’ll be interesting to watch how things all work out. More details at the news post and check out Stephane Graber’s 10 part blog series on LXC 1.0 which is packed full of useful stuff.
Thrift double opened: Facebook brought Thrift(PDF) to the world in 2007 via Apache Thrift and many people found the network/data serialisation framework well handy. Thing is though that Facebook went and forked their own internal version of Thrift as they filled out the features and ramped up performance, something that took major rengineering over time. Now the company has announced fbthrift, available on Facebook’s Github repo, now open sourced under the same Apache 2.0 licence Apache Thrift is under.
Worth reading: WhatsApp’s Serving : From 2012, here’s a presentation on how WhatsApp does scale(PDF) with a combination of FreeBSD and Erlang – A New York Times profile of security reporter Brian Krebs who’s more like an entire security intel op in one person – Enjoy Stephen Colebourne on video presenting the Java 8’s Date and Time API at JAX 2013.
Systemd – the d is for dominates: The Debian Technical Committee decided that, after quite a bumpy process, that it would follow Fedora, Arch Linux, Mageia and openSUSE in planning to switch to systemd in the next release. The Debian change rippled down to Ubuntu where, probably sooner than anyone anticipated, Mark Shuttleworth announced that Ubuntu would switch too.
Upstart, Canonical’s own init, will continue to be supported, especially as the forthcoming 14.04 LTS edition will ship with it. The Debian systemd decision was also applauded by Scott James Remnant, creator of Upstart. Systemd seems to be worthy of its elevation though I fully expect forks of distros to “maintain SysV init purity” while other noise to at least begins to die down.
Debian 6.0.9: As is their way, the Debian crew also released Debian 6.0.9, the latest roll up of all the bug and security fixes that have already gone into Debian systems. If you install Debian a lot, you may want to update your install media, but old Debian media will update to this version anyway.
Ubuntu 12.04.4 LTS: Meanwhile, the most recent LTS edition of Ubuntu has had an update release too. With Ubuntu 12.04.4 LTS, there’s a fresher kernel and X stack. If you are a regular installer, you’ll want to update your install media for this, Kubuntu, Edubuntu, Xubuntu or Ubuntu Studio, all of which were updated at the same time. Remember to check the release notes and then download.
Git updated: The Git source code management system was updated. Git 1.9.0 has a number of changes in preparation from Git 2.0.0, improvements in HTTP transport, support from fetching from shallowly-cloned repositories, defaults for the lv pager, improved performance and a shed load of fixes. Expect the latest release to turn up in your package repository or download from git-scm.org.