Elsewhere – NewsBits (end of August Edition)

In the most recent NewsBits (NewsBits at Compose.com’s Articles) there’s some minor DB and driver updating, a DB that branches like git, a fresh Vault, what happens to SSDs when they meet database write loads, the new Go 1.11 (and 2 drafts) and… oh yeah who wants to see round corners?

(Apologies for the lateness… I’ve been playing with MicroPython, CircuitPython, ESP32s, ESP8266s and a selection of tiny light emitting things…. more on that soon… promise)

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.

Developer Catchup: New Node, Profanity, Oh-My-Git, Knightmares, Bad Docs and Go Tracing

developercatchupNode.js 0.12 has arrived with many long gestating changes now available. Io.js has a lot of these in already and a more up to date V8 engine for JavaScript, but if you’re sticking with Node.js releases, this is the biggy. Better more sensible streams, more HTTP sockets and keepalive, a new round robin clustering system and initial support for ECMAScript internationalisation. No, don’t go flipping your production system over to this right now, but do give it a go on your test/staging systems… it’s the future y’know.

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…

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

Just released: Socket.IO 1.0, Git 2.0 and OrientDB 1.7 – Snippets

Socket.IO 1.0: Socket.IO has hit version 1.0 – the Node.js and browser library which started life as an implementation of the WebSockets interface and has gone on to “become the EventEmitter of the web”. The 1.0 release and changes are broken down in a blog posting, the first on a newly redesigned, and much more useful, Socket.IO website. In brief, modularisation, tighter code, binary support (so you can emit blobs and buffers), automated testing, better scalability using redis, more integration (including PHP support), better debugging support (and silence by default), sleeker APIs and CDN delivery. And the future plans include handling Node.js streams, Socket.IO support in Web Inspector and Firefox Dev Tools and more language and framework support. A splendid tool to have in your arsenal.

Git 2.0: The distributed version control system which made distributed version control systems cool before even version control could be cool, Git, has reached version 2.0. In the announcement of the new release, there’s a long list of all the changes and notes on backward compatibility. The 2.0 release has been anticipated by the developers for a while so a lot of ground work had already been done in previous 1.x versions making the 2.0 release look more like a minor release than a major version bump but there’s still plenty of changes and a foundation prepared for future changes. On that subject, there’s a promise of a shorter release cycle for the next release as delays have meant a number of features ‘cooking’ for longer in the ‘next’ branch.

OrientDB 1.7: Version 1.7 of the Document/Graph/Sql/NoSQL database OrientDB is available. The announcement for 1.7 notes better perforamnce, new clustering options, support for SSL and sharding, simplified configuration, new SQL commands including parallel queries, plugins for Lucene-based full text searching and more. There’s an Apache 2 licensed community edition of the database and commercially sold and supported professional and enterprise editions.

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.

Systemd dominates and Debian, Ubuntu, Git updates – Linux Snippets


Systemd – the d is for dominates: The Debian Technical Committee decided that, after quite a bumpy process, that it would follow Fedora, Arch Linux, Mageia and openSUSE in planning to switch to systemd in the next release. The Debian change rippled down to Ubuntu where, probably sooner than anyone anticipated, Mark Shuttleworth announced that Ubuntu would switch too.

Upstart, Canonical’s own init, will continue to be supported, especially as the forthcoming 14.04 LTS edition will ship with it. The Debian systemd decision was also applauded by Scott James Remnant, creator of Upstart. Systemd seems to be worthy of its elevation though I fully expect forks of distros to “maintain SysV init purity” while other noise to at least begins to die down.

Debian 6.0.9: As is their way, the Debian crew also released Debian 6.0.9, the latest roll up of all the bug and security fixes that have already gone into Debian systems. If you install Debian a lot, you may want to update your install media, but old Debian media will update to this version anyway.

Ubuntu 12.04.4 LTS: Meanwhile, the most recent LTS edition of Ubuntu has had an update release too. With Ubuntu 12.04.4 LTS, there’s a fresher kernel and X stack. If you are a regular installer, you’ll want to update your install media for this, Kubuntu, Edubuntu, Xubuntu or Ubuntu Studio, all of which were updated at the same time. Remember to check the release notes and then download.

Git updated: The Git source code management system was updated. Git 1.9.0 has a number of changes in preparation from Git 2.0.0, improvements in HTTP transport, support from fetching from shallowly-cloned repositories, defaults for the lv pager, improved performance and a shed load of fixes. Expect the latest release to turn up in your package repository or download from git-scm.org.

OpenSUSE 13.1, Gitorious 3.0 and a Raspberry Pi UPS – Snippets


  • OpenSUSE 13.1 lands: The openSUSE folks have been busy and the result of their work is now available in the form of openSUSE 13.1. We shall have to see how the stabilisation work, including getting btrfs up to “everyday” (but not default) quality, pays off in practice. The other highlights of the release include OpenStack Havana, latest Apache, MySQL, MariaDB, Ruby 2 on Rails 4 and PHP 5.4.2. On the ARM front, there’s the start of AArch64 (64bit ARM) support and a new Raspberry Pi build. One of openSUSE’s foundations, YaST, has been ported to Ruby too, so more developers can work on it. Throw in GCC 4.8, C11, SDL2, Qt5.1 and stir in with a Linux 3.11 kernel, sprinkle some experimental goodness including Wayland with GNOME shell and KDE for the pioneers and what we have is what looks like openSUSE pushing forward. Downloads and release notes are available.

  • Gitorious glorious 3.0: If you prefer not to keep your code in Git repositories run by benevolent but commercial types, then Gitorious is probably on your radar as the open source hostable alternative. The team behind it have just announced Gitorious 3.0, with a new merge request UI, new dashboards, new public profile pages, new settings pages, new service integrations and lots of updates under the hood which get the RoR web app ready to make the jump, but not yet, to Ruby 2 and Rails 4. Future plans also include an integrated issue tracker.

  • Pi UPS: Say hi to the UPiS Advanced – It’s £45 but it may solve some people’s problems with getting power to their Raspberry Pi as it’s a battery backed, smart UPS board for the Pi which intelligently handles charging, recharging and going on line. There’s also a real time clock built in, along with various other interfacing options. If only I had a project to justify it…