From my other output….

I’ll be posting some of my regular items I do elsewhere here from now on and…. one thing I write every Friday us Compose’s Little Bits. Here’s what’s in the latest:

Postgres-BDR goes 1.0, MongoDB updates the stable and development branches, a look at Hexastores, Sophia’s key/value storage gets rows, Go goes 1.7, PowerShell goes open source, Github makes page publishing easier, GnuPG gets fixed randomness, Apple talks Black Hat and the world of Wikipedia in a Wikiverse.

Interested? Read it all at

Snippets – ODF 1.2, Meteor 1.2 and NodeMCU customised


  • Finally – ODF 1.2 is an ISO standard. This was an important iteration of the Open Document Format. Version 1.2 filled in the elephant in the room in previous versions, that elephant being a lack of formula definitions in the standard. This made sensible spreadsheet interchange somewhat hard, even when the the FOSS Open/Libre Office apps supported it… Hopefully, this ramps the pressure up on all office document creators to come up to standard.

  • Meteor 1.2 lands late Summer and the fine JavaScript platform is keeping up with the developer curve, with first class support for Angular and React coming. More importantly though, it’s going to support ES2105/ES6 which gives a massive update to the ubiquitous language. Top of the list is the arrival, as standard, of promises as an alternative to indent inducing callbacks.

  • NodeMCU is an impressive Lua enabled firmware for the ESP8266, the cheap-as-chips WiFi SoC we’ve talked about in the past. Problem is people keep adding to it and its got to the point where a default installation leaves nearly no memory to work with. You could build your own toolchain and put together your own builds but thats work you really probably don’t feel like doing. Worry not! Over at, the’res a custom NodeMCU builder. Select what libraries you need in your firmware, enter your email and press the button. At some point later you’ll get a mail telling you your custom firmware is ready for you to download. A splendid service!

Snippets: gRPC, iPython, LLVM, Pi Trees and Juice,

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

Snippets – JavaScript, Node, Git, HTTP2 and Regexps

snippets07In this Snippets, 6to5 becomes Babel, Node.js 0.12 on Pi, Git 2.3, HTTP2 explained and regular expressions from chained methods.

6to5 becomes Babel – As ES6, the next generation JavaScript, starts arriving in browsers the 6to5 transpiler, which converts ES6 code into current ES5 code so you can run your JavaScript apps on old and new browsers, has been looking to its future and changed its name to Babel to reflect its future plans. In a blog post the project explains that the transpiler’s codebase is not just useful for ES6 to ES5 conversion but to a whole range of IDEs and tools to come, so they’ve changed name and will begin opening up the API to let other projects plug into it. Smooth move.

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.

Regexps from chains – The interesting idea from RegExpBuilder is why not use chained JavaScript functions to create regular expressions. Pro, wordier syntax explains more. Con, wordier syntax vs Regexp’s confusing compactness. Interesting idea though.

Raspberry Pi2 – Already?

Pi2ModB1GB_-compIt 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.

Snippets: Io.js, FreeBSD in the Cloud and 6502 Basic

Io.js 1.0 beta lands

Io.js is the spork of Node.js which is trying to put features the developers think have languished too long in development hell into a production codebase. We talked about it at the end of last year. Well, now there’s something tangible – a 1.0.0 in development release. What thats means is, top of the list, ES6 support with generators, templates and new string methods and more. Boom, huge improvement in JavaScript for developers living the Node thing. Io.js is all unstable at the moment but its already moving at a pace. There’s a further list of changes between Node.js 0.10.35 and io.js 1.0.0. One can only hope this helps leapfrog forward the entire Node development process.

FreeBSD sets sail

FreeBSD hasn’t been out in the clouds that much but that may be changing. DigitalOcean has announced FreeBSD on their cloud and thats a company who has till now only done Linux as their OS. Someone quickly posted the Dmesg output to show it was a real thing too. This could be a very special year for FreeBSD.

6502 Basic

This takes me back – the source code for Microsoft’s Basic for 6502 is now available. Written in MACRO-10 assembler so the PDP-10 could compile it, Paul Allen made macros to turn make the MACRO-10 engine handle 6502 assembly. That is some fine work. Now… where is that wait 6502,255 code… the associated article tells all and explains how it works.

PS: Regular visitors might notice the look of the site has changed. We’re experimenting with something a little fresher and we’d love to know what you think.

ESP8266 – little board, lotta Wi-Fi

An ESPtoy (the ESP8266 is the little blue board) from
Lots going on with the intriguing ESP8266 board. Coming out of China with no english documentation, this tiny board has the brains to run Lua and connect to WiFi, manage some GPIO and all it takes is… a lot of fiddling. As time has gone But for $2 on ebay, you can get hacking the firmware, flashing exisitng firmwarefrom Windows like nodemcu (thats the one with the lua) or just have fun running it as a serial controlled Wi-Fi adapter.

Folks have been learning what the card needs and is capable of like working with MQTT and relays and attaching OLED displays. The smallest version of the board has two GPIO pins, so it’s a bit tricky to think up what you can do with them, but there are bigger versions out there with more GPIO pins and, one assumes, more capabilities.

So, if you wanted to start playing with an ES8266? Well, you could just get a board and start with that; there’s plenty of reference material in the links in this article or look at this instructable on using the board. Or if you want to see what it’s like without mastering supplying a 3.3V rail, then check out the ESPtoy from which is a custom 3.3V Arduino with light sensor, temp sensor and RGB LED into which you can plug an ESP8266 and get hacking. There’s oodles of neatness about that board… why yes, I did just order one.

And an unrelated aside – Debian 7.8.8: If you’ve kept your Debian Wheezy up to date, you don’t need this, but if you have your own Debian install media you’ll want to know there’s a Debian 7.8.8 update that will freshed your flash drives and dolly up your DVDs.