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.

Multiprocess Firefox, Kexec and Secure Boot, Poisoning GCC and OpenNebula 4.4 – Snippets


  • Firefox goes multiprocess: Some years back, Mozilla embarked on the Electrolysis project to give Firefox a multiprocess architecture, where each web page ran in its own process. This idea isolates web pages from crashing each other and should have performance benefits too; Google’s Chrome, for example, was built with such an architecture. Unfortunately, a year later Mozilla put that effort on hold to work on things which would give quicker returns. Well, now it’s 2013 and the project in back and already in the nightlies. A full write up on Multiprocess Firefox is available in Bill McCloskey’s blog which explains there’s no release date for this work yet, how to enable it if you want to try it out and how things will break and how add-ons are affected.

  • Kexec and Secure Boot: Matthew Garrett has written up why kexec is disabled in Fedora when booted with Secure Boot enabled. Worth a read as it shows why being able to swap kernels in such an environment is a bad thing.

  • Poison for GCC: One thing Microsoft have done well is providing red lights for dangerous function calls (like strcpy and sprintf) in their tools (by adding a header file banned.h). Now, Leaf Security Research are creating a version for GCC with a Github project to create a “gcc-poison.h” file. Using it could help developers find those nasty vulnerable, error-prone functions hidden in their code base.

  • OpenNebula 4.4 goes “Retina”: The other other open source cloud platform, OpenNebula, has just been updated to version 4.4, codenamed Retina (after the Retina Nebula – this project has the best codenames). The update supports multiple datastores with scheduling policies to spread loads across different VMs and their associated storage. For more details, check the release notes.

Go at 4, Go Docker on Pi, Go in GCC and Turing revised – Snippets

  • snippets034 Years of Go: Time flies when a language develops and Go is no exception as it celebrated its fourth year noting some of the projects built in Go (Docker, Packer, NSQ, JuJu and more) and Go users (CloudFlare, SoundCloud, ngrok, Poptip, Splice and obviously Google). The Docker folk have presented why they use Go, both the good and the bad, covering what doesn’t work well for them too.
  • Docker on Pi: Talking about Docker, the folks at Resin.io have been porting Docker to the Raspberry Pi and have now announced it is fully running. They give the details in a blog posting where they cover creating Arch Linux images for the Pi, creating swapfiles, updating the kernel on the host OS, installing dependencies like Go, building Docker, and creating docker images.
  • Go for GCC: The demise of GCJ as an actively developed part of GCC is alluded to in a posting on the GCC mailing list by Jeff Law. It’s expensive to build and hardly used now and Law is proposing that Java be replaced with Go as it offers the same test coverage but has a more active development community. Java, through the OpenJDK, is more self-sufficient now so would not be overtly affected by the change. The thread spawned from the posting sees a suggestion that Ada be used instead of Go because Go has build issues on a number of platforms that GCC builds for. No decisions have been made, but it will be interesting to see if this gets traction.
  • Turing complete: The Stanford Encylopedia of Philosophy had an entry for Alan Turing since 2002, but that has now been substantially revised to provide an excellent background to Turing’s work and the philosophical implications of that work.