Numberwang with Linux 4.0-RC1

PenguinIt’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!

Developer Catchup: Bashed, Qubes R2, Linux from Scratch, RethinkDB, Material Bootstrapped and… COBOL?

developercatchupBashed: 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.

Graduation Snippets – Docker 1.0, RHEL 7.0, Firefox 30.0


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 13, OpenElec 4.0, JavaScriptCore and Android stats

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).

JavaScriptCore heats up: The JavaScriptCore project takes care of building Safari and WebKit’s JavaScript component. Currently they are working on FTL, a JIT engine which plugs exisiting code into the LLVM optimisation pipeline. Hows that working out for them? Pretty well according to Are We Fast Yet where its winning out over Chrome on asm.js benchmarks. But there’s still a long way to go – if we step back to the wider benchmark view, it’s only holding a lead in the super-synthetic Sunspider benchmark. Its still one to watch and reminds us that JavaScript optimisation is far from a two horse race.

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 goes 1.0, Debian goes 7.5 and Apache OO goes 4.1

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 Beta, Gogs, GCC Release and TinyCore Linux – Snippets

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, Etherpad 1.4, Pass and an RGB/LED/Pi tutorial – Snippets

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‘s three part listing (1, 2, 3) (and if you are interested in Linux and don’t subscribe to, 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.