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.

QEMU, Retro, Crypto, Debian 6 and Hello to Bundy – Snippets

QEMU 2.0.0: The QEMU emulator and virtualiser has reached version 2.0.0 with its latest release. QEMU provides the emulation of one machine on another or, when provide that more authentic environment in a virtual machine There’s lots new, like the first support for KVM on AArch64 (but plenty still to implement) and support for the 64-bit ARMV8 instructions (and other 32-bit ARM enhancements) – things likely to become important as the desktop class 64-bit ARM chippery makes a play for the server and desktop space. The rest of the many details are laid out in the changelog and it can be downloaded from the usual place.

Retro PCs and Terminals: Love the old stylee but need the new power? Check out this 70s terminal PC which evokes that ethos. The instructable for how to build one is in development. While pondering that, check out the story of the Meyrin font which recreates the CERN Terminal font for your pleasure.

Cryptic: Do the manipulations of ciphers make you put the cry into cryptography? You may want to do a course on the subject so why not check out this Coursera course and learn about symmetric key crypto and more.

Debian 6 goes on: LWN reports that Debian 6 is getting another two years (nearly) of support – Squeeze-LTS is for i386 and AMD64 and won’t cover all packages in the latter part of the five year lifespan.

Bind 10 becomes Bundy: It seems that ISC have wrapped up development on Bind 10 with version 1.2 and will be heading back to marketing and developing Bind 9. Bind 10 is being renamed to Bundy and so we shall follow @bundydns on Twitter and see what the first release of Bundy brings.

Bigger BeagleBone Blacks and Thoughts on Raspberry Pi’s Module

The Embest BeagleBone Black looks like it'll be appearing outside China now

The Embest BeagleBone Black looks like it’ll be appearing outside China now

Bigger BeagleBone Blacks

It’s been hard to get the BeagleBone Black(BBB); limited production capabilities have fought with some big adoption stories. If you are unfamiliar with the BBB, its a small board computer in the same size factor as the Raspberry Pi, but with eMMC storage, micro-SD slot and lots of I/O pins – what it lacks in media player cores, it makes up for in clock speed.
Thats “hard to get” nature is about to change though according to a blog post. Production is being ramped up at CircuitCo where they are also upping the storage from 2GB to 4GB which will give more breathing space to the new Debian distribution being shipped on the eMMC of BeagleBones, replacing the previous default Angstrom Linux. The upgraded boards will be referred to as Rev C BBBs. The price will likely be going up to cover the extra memory and production ramp-up but with a back-orders for 150,000 units, CircuitCo are going to be busy.

There’s also a new logo program for the BeagleBone line with Farnell/Element14 being the exclusive licensee. They don’t need to work out how to make BBBs though, for the last year their subsidiary Embest has been selling their own version but only in China. The logo program means they’ll be able to sell globally and it should see even more BeagleBone Blacks out there.

Thoughts on Raspberry Pi’s Module

You’ll have most likely seen the announcement of Raspberry Pi’s SO-DIMM sized module which incorporates the Pi’s SoC with 4GB of eMMC storage on a stick for popping into custom designed boards to provide compute power. That eMMC storage is more than just standing in for an SD card; its fast and having used devices with eMMC storage its a great upgrade.

Right now, the Foundation is pushing this as a way to bring the Pi ecosystem to the world of embedded devices. But are they missing a trick? Alongside the Compute Module is a Generic I/O board(pdf) which brings out most of the pins in a more accessible fashion. That means you can plug in HDMI, USB, two camera ports and two display connectors – not on the I/O board is the Ethernet port, implemented on the Pi as a USB device, and SD card slot.

It got me wondering though… what about a Pi Board for the module which made up for that gap, maybe even put WiFi on board. Packaged right, the Compute Module could be used with it to give an upgradable “Pi Pro”. But would you want a Pi Pro? What more would it need to make it distinctly better from the Pi.

Over in China, there’s companies who’ve already decided what they want in their own improved “Pi” – take the Banana Pi with a dual core AllWinner A20 CPU, gigabit Ethernet, SATA interface, IR reciever, three programmable buttons on board and all in a package the same size and layout of the Pi, including having the IO pins in the same location. Sounds super, all it lacks is one killer feature – anywhere to buy it from.

Varnish 4.0, Erlang/OTP 17.0 and Rails 4.1.0 – Snippets

SnippetsFresh Varnish: Varnish Cache, a popular HTTP reverse proxy, has had version 4.0 released – version 3.0 came out two and a half years ago. The new version can now cache streamed objects, refetch expired objects in the background and security has been hardened up. There’s also a new query language to help dig through Varnish’s extensive logs.

Erlang Enhanced: Version 17.0 of Erlang/OTP has been published – The new version of the languag –, renown for its support for concurrency, high availability and scalability – and its middleware libraries (the OTP) now runs on OSE, a POSIX compliant multicore real-time and fault tolerant operating system. Other changes include an experimental Maps dictionary data type, more “natural mappings” for ASN.1, new options for sockets and many enhancements to the run-time system.

Rails Renewed: The release of Rails 4.1.0 brings a new preloader, variant templates, enums for status (rather than multiple booleans) and mailer previews to the Rails framework. There’s also a useful enhancement to security in that passwords and the like are being moved out to secrets.yml. A run through of the 4.1 features give more info.

Heartbleed, MongoDB 2.6, Easier BeagleBone Black – Snippets


Heartbleeds out: So the Heartbleed OpenSSL vulnerability is out and about and everyone is checking their systems and updating to OpenSSL 1.0.1g (go straight to the (http://www.openssl.org/source/) or wait for your OS distribution to update – it won’t be long and if it is long, consider another distribution). It’s tempting to use the various Heartbleed test sites out there, it is much safer and trustable to test for it yourself. There’s lot to look at in the bug – this diagnosis offers some insight and reminds us, yet again, how bad people are at managing memory.

MongoDB 2.6: Leading light of the NoSQL world, MongoDB has been updated to version 2.6. The release notes cover the details – updated aggregation, newly integrated text search, various order preserving changes to insert and update, a write protocol with support for bulk operations, an enhanced query engine with index intersection support and much more. A big update with lots to take in, lots to test if you are upgrading before going to production and a lot more being added to MongoDB Inc’s proprietary enterprise layer.

Easier BeagleBone Black: Setting up a BeagleBone Black (BBB) immerses you in the full gamut of configuring device trees and more. So it’s good to see a project like beaglebone-univeral-io – it’s scripts and files that configure the BBB so that all the pins (that aren’t being used to drive the HDMI and other built in components) can be used easily. Of course, there’s still more configuration that needs to be done to set what the remaining pins do so the appearance of BB Universal IO Configurator which is a GUI application to help with that. A short video shows it in action. The BBB is a great little board but needs more tools like this to help people really get to grips with it. Think of it as more than the compute power of a Raspberry Pi with much more GPIO. Meanwhile, I just got some Beaglebone collars which make it easier to locate those pins.

TypeScript 1.0, IPython 2.0.0 and Rust 0.10 – Snippets


TypeScript hits 1.0: Microsoft’s take on reworking JavaScript, TypeScript, has hit version 1.0 and is now accepting pull requests on the open source compiler (though it’s bug fixes only for now.). Meanwhile, Microsoft have embarked on an open source fest with the creation of the dotNet Foundation, now home to a .NET compiler, micro frameworks, Couchbase for .Net, various SDKs, ASP.NET modules and other stuff. And to top it all off there’s WinJS, a set of UI controls and scaffolding for making Windows applications. Microsoft may be changing, but how effective that change will be is the big question. In the meantime, TypeScript gets to fight it out in the crowded playground that is JavaScript complements/replacements with Dart, CoffeeScript and, lets not forget the next generation of JavaScript, ES6.

IPython 2.0.0: The interactive Python environment IPython, has been updated to version 2.0 and adds interactive widgets, directory naviagation, persistent URLs, a modal UI and security model to its idea of Notebooks as a container for projects. Under the hood, the codebase is now native for Python 2.7 and 3.3 which are also the minimum required versions. There’s lots more changes listed in the release notes or you can just go install it and get into the tutorial which gets you going with the rather clever world of Python powered notebooks.

Rust 0.10 oxidises: Away from the controversies at Mozilla, the Rust developers have rolled out a new Rust release, version 0.10, which continues the steady development of the systems programming language. Changes include the libextra package being broken down (‘misc’/’extras’ libraries are always a bad sign so good to see it go), cross package (crates in Rust terminology) syntax extensions, better smart pointers and I/O handling. As things kick up a notch towards a final version, there’s now a RFC process for changes and nightly releases of binary installers. It’s all still alpha but progress is good – it was recently reported that Servo, the web engine being built on Rust, has passed the Acid 2 test.

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