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.
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.
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 Frightanic.com, 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!
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.
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.
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.
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.
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.
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 RaysHobby.net 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.
Raspberry Pi’s are great little Linux devices but they have plenty of limitations when it comes to comes to wiring up to the analog world or just behaving like a micro-controller. There’s been various attempts to weld Pi and Arduino together (I have some) like the Dexter Industries’ BrickPi that plugs you into the Lego bricosystem or their Arduberry which brings Arduino shield connectors out the top of the board.
The idea is simple in that it’s actually an Arduino-compatible micro-controller on the board with firmware which talks serial to the Raspberry Pi to take instructions on how to control the various I/O ports belonging to the controller. It’s also quite compelling, especially when you realise that later on you can put your own firmware on the micro-controller.
But wiring stuff up is a chore, especially when you are learning or teaching how to control things. Thats where I’ve found the Grove kit really handy. It’s prebuilt sensors and displays and controls and… well there’s lots… and they all connect using identical four wire cables and connectors to a standard 4 pin port. There’s shields for Arduino devices which give a load of these ports and there’s Arduino compatibles with these ports on them and you’ll even find them on Intel IoT hardware. The folks at Seeed Studio took to uniting these ideas and created the GrovePi, a board for the Pi which was based on the BrickPi concept but then put all the IO on Grove ports.
And now they are about to ship the GrovePi+ and a Grove Pi+ Starter Kit which comes with 12 Grove sensors or outputs. The GrovePi+ wiki gives more detail. The refresh works with the B, B+ and A+ models and has mounting holes to match each of them. The serial connection is more reliable and faster, there’s a hole for the camera cable to pass through and there’s better voltage level handling.
So if you’re looking for a way to make teaching internet of things things with the Raspberry Pi, the Grove Pi+ might be right up your street. Me? I already have the sensors so I’ll just be grabbing the board and hacking away.
Did you know Mac OS X 10.10 had a hypervisor framework? No, me neither, but it does and that means you can do things with hypervisors without the need for kernel extensions and stuff. Pagetable.com shows you how to tap into it with an example of building a simple DOS emulator but goodness, this is backed with potential for some clever, easy to install, apps.
Looking for a new language? The Nim folk are looking for you then. Formerly Nimrod, now Nim, is a language with some interesting elements and one of the language’s advocates has listed out some of them. If the idea of code that runs during-compilation, baked-in templates and macros, optimisation templates and compiling to C interest you, you might want to have a look at the currently unstable language – it’s heading for a 1.0 in a few months.
Collaborative editors are one of the mainstays of remote working… and they tend to have pad in the name. Just updated is Etherpad, in the form of Etherpad 1.5. This is a mostly bug fix and performance release but heck, it’s already packed full of goodies. Latest tricks include being able to HTTP POST files via curl into an Etherpad (handy if you are automating a documentation process) and a fast switching plugin. You host your own Etherpads and it’s all open source for you to adapt to your will – the team behind it are always looking for donations and paying work so….
If you prefer hosted collaboration, then Hackpad is one of the best known pads in the business. Purchased last year by Dropbox, it’s still relatively independent, just with better Dropbox integration. But we’re mentioning it here so Hack-the-Hackpad makes more sense. It lets you turn hackpad pads into a collaborative blog editor and takes care of rendering them online.
First person to go “Hey, if Etherpad and Hack-the-Hackpad were mixed we’d have fully open source collaborative blogging” wins themselves a project.