Disque: Antirez ,the man behind the splendid Redis in-memory key/value store has been working away on a new message broker called Disque. He’s not released it as yet, but he is giving status updates on his progress and thinking. Redis gets used a lot as a message queue and Disque, developed by gutting then rebuilding a Redis fork, is designed with a focus on that use case. There’s plenty of message queue platforms out there, but Antirez has a good record on delivering so this is very much one to keep tabs on.
ESP8266 guidance: I’ve been playing with the ESP8266 and its variants. Crazy powerful WiFi chip with versions packed with GPIO. The documentation and tools are something else though so it’s alway good to find a good blog article covering the toolchain like the one on WhatIMade.today. It goes from powering up to loading Lua code and onwards to using the ESP8266 with a graphic equalizer to then feed a strip of RGB LEDs.
Tails 1.3.1: There was an unscheduled Firefox release to deal with a PWN2OWN bug and that’s meant an unscheduled release of Tails 1.3.1, the amnesiac Linux for anonymous working.
GCC5’s final lap: Seems that the venerable GCC compiler collection is heading into the final lap towards version 5 as its down to 7 P1 bugs and a planned release candidate in April.
GoGo: Spending more time with Go here so here’s some Go snippets…
- Want to build your own Go-based Torrent applications? Then Anacrolix’s Torrent should be where you want to look.
- Want a cross-platform GUI for Go? Seems some Googlers started experimenting with making one called gxui and have the code up on Github for folks to work with.
- Want to work on a JVM in Go? Then zxh0’s jvm.go may be up your street – although “far from complete” it’s already interesting. It implements Java’s GC using Go’s GC but there’s still plenty to do.
- And finally there’s gosrc.org which sets out to be a better godoc.org with fully linked source code and cross referencing.
gRPC: Google, doing it’s whomp-here’s-a-“standard” thing, has just announced an open sourced remote procedure call framework called gRPC. With libraries for seven languages (C, C++, Java, Node.js, Python and Ruby are done – ObjC, PHP and C# coming), gRPC gets you to use Protocol Buffers to define the end points and serialisation and the libraries then use HTTP/2 to communicate exploiting the bidirectional streaming and multiplexing. There’s an new alpha of a version 3.0 of Protocol Buffers to go with it too. They may be going evil but they do produce some great engineering so this is one to watch.
iPython 3.0: Interactive shells and books are wonderful things – beyond REPLs, they let people work different with languages and data, moving from a scripted . So it’s good to see the iPython project release a iPython 3.0 and lay down the foundation for language-agnostic notebooks. This is the last monolithic release of iPython, which pulls in a host of different language kernels into the project, including Bash, Haskell, Go and even Redis. But the next stage will be to split the project into a pure Python related stuff called iPython which will also produce a kernel to plug into Jupyter, an interactive notebook environment for multiple languages. Thats a journey that starts with iPython 3.0. If you like the idea of a shell/notebook environment, start following this project as it evolves.
LLVM 3.6 Lands: The new compiler juggernaut that is LLVM rolls through another release as version 3.6 is released. According to the release notes there’s lots of tidying up and updating and quiet adoptions like the Go bindings from gollvm being introduced.
Pi Device Trees: The Raspberry Pi’s Raspbian release that arrived the the Pi 2 also came with the added bonus of switching to Device Trees which is a way of modelling and talking to the bazillion different hardware combos out there in a unified way. The Beaglebone Black’s Debian has had it for ages and now it’s the Pi’s turn. There’s a whole load of things to get your head around but this posting on the Pi forums will get you through enabling I2C, I2S, SPI and more using DT.
PiJuice: Talking Pi, there’s a nifty Hat-sized Kickstarter for a device called a PiJuice currently running which lashes a standard phone battery, real time clock and UPS and other handy things into a £24 hat so you can take out Pi walkies. It’s also pinned so you can pop another Hat on top. Looks very clean as a design.
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!
In this Snippets, 6to5 becomes Babel, Node.js 0.12 on Pi, Git 2.3, HTTP2 explained and regular expressions from chained methods.
Node.js 0.12 on a Pi – If you’re trying to build Node.js on your older Raspberry Pi, you may have problems. Not now – Thanks to Conor O’Neill who has built Node.js getting around a problem with identifying the version of ARM processor by… applying some patches from io.js. You can download the built version from his blog… which will save you many hours of build time. Comments suggest not rushing as it seems slower and you can already get a nightly release for ARM v6 for io.js.
Git 2.3 is out – The latest version of Git adds a push-to-deploy option so rather than log in to your server and git pull the latest version down, you can automatically have the server download new versions. Handy, but potential for huge blowback, use after considering the probable issues. There’s also a new trick where cloning can borrow assets from another local clone.
HTTP2 Explained – In HTTP2 Explained Daniel Stenberg is pulling together everything you need to know about HTTP2 in one living document. HTTP2 is going to be a big part of everyone’s web future, so it’s a good time to get reading.
Back in December we saw two community splits, one in the Docker community and one in the Node.js community. It’s time to look back at both those splits.
Docker 1.5 just landed with IPV6 support, read only containers, a stats API and CLI commands for streaming results and the ability to specify what Dockerfile to use when building. Good updates.
Now, the other bits – There’s also an “Open Image Spec” which isn’t so much a spec as a formal declaration of whats currently implemented. Thats a documentation +1 but open it isn’t . It seems to be a response to Rocket, which is a specification by design. It’s a start but there’s still the question of how transparent and inclusive the development of that spec will be.
The openness question is, I guess, supposed to be addressed by the announcement of a new organisational structure for developing Docker, which is a good thing if it comes together and works, but Docker is still Docker’s ball.
Node.js owner Joyent has announced a the establishment of a Node.js Foundation. Billed as bringing “Neutral and Open Governance” to Node.js. The “Foundation” will be established by Joyent, IBM, PayPal, Microsoft, Fidelity and the Linux Foundation. One assumes the Linux Foundation will be providing the umbrella organisation for the Node.js Foundation to work under as they have for other organisations.
But, as Bradley Kuhn points out this isn’t really a foundation as an charity that works for the public good; in the US that’s a 501(c)(3). The Linux Foundation and the proposed Node.js Foundation are not that kind of foundation – they are trade associations run for benefit of their members, 501(c)(6) organisations. That means you don’t “magically get a neutral home and open governance”.
We don’t have enough information to see how the new organisation will be run but the announcement is just an announcement and the details may contain more than trace amounts of devil. For the Node.js community, this is just a milestone in a long road and a parallel road marked io.js is running alongside it for now.
Profanity is a console-based take on XMPP messaging, bridging the gap between IRC and desktop clients. Check it out if you live in terminal windows.
Oh-my-git implements one feature of Oh-my-zsh which people really like without needing to switch to Oh-my-zsh or even zsh. It’s a prompt engine which makes your zsh or bash prompt you with details of your current directory in terms of its git status. If it isn’t a git directory, it gives you a normal prompt. Nice work.
Want to hear a horror story? Read Knightmare: A DevOps Cautionary Tale and wince at the pain that took a company down in 45 minutes. Yeah, dodgy dossier timing.
Embedded code run in documentation? Sounds like nothing could go wrong with that… much… well a lot. Well, this is awkward…
First time using Go? Fogleman knocks it out of the park with his pt project, a path tracer in Go which comes complete with examples. He’s got lots of plans for it too so if rendering 3D things is your thing, you may want to check it out.
It seems like less than a year ago when Eben Upton told Ars Technica that the Raspberry Pi Foundation was “a year or two away from thinking about” building new hardware. In less than a year, we’ve had the Model B+, the Model A+ and now, as a “Well-actually-we’ve-been-thinking-about-it-lots”, here’s the Raspberry Pi 2.
The good? It’s a quad core 900Mhz A7 ARM chip, it’s got 1GB of RAM and it looks just like a Raspberry Pi B+. The better? It sells for £30, same price point as the B+. The neat? The upgrade to A7 means that more ARM software runs on it… Ubuntu Snappy Core is available and, run for the hills, Windows 10 for Devices is coming.
The not so good? Well, it’s not good news for anyone who just bought a B+. Ta-da launches and an air of mystery don’t really sit well with a charity, which is what the Pi Foundation is. It doesn’t help educators make best use of their funds in their planning.
But anyway, it’s a new Raspberry Pi and its definately an improvement. I’ve gone and ordered a bunch myself so I’ll be reporting back as soon as possible on how it feels.