LXC’s 1.0, Thrift opened again, WhatsApp serving and more – Snippets

Snippets.png

LXC goes 1.0: Linux Containers, LXC, is now at version 1.0, a major milestone which also brings together and completes a lot of things that have been working their way through the Linux kernel, like support for unprivileged containers, long term stuff like a stable API – this’ll be supported for five years, bindings for Lua and Python3 (and Go and Ruby out-of-tree support), backing storage support for directories, btrfs, zfs and more, cloning, snapshotting… and you may wonder “Hey, doesn’t Docker do many of these things” and yes it does, so it’ll be interesting to watch how things all work out. More details at the news post and check out Stephane Graber’s 10 part blog series on LXC 1.0 which is packed full of useful stuff.

Thrift double opened: Facebook brought Thrift(PDF) to the world in 2007 via Apache Thrift and many people found the network/data serialisation framework well handy. Thing is though that Facebook went and forked their own internal version of Thrift as they filled out the features and ramped up performance, something that took major rengineering over time. Now the company has announced fbthrift, available on Facebook’s Github repo, now open sourced under the same Apache 2.0 licence Apache Thrift is under.

Worth reading: WhatsApp’s Serving : From 2012, here’s a presentation on how WhatsApp does scale(PDF) with a combination of FreeBSD and Erlang – A New York Times profile of security reporter Brian Krebs who’s more like an entire security intel op in one person – Enjoy Stephen Colebourne on video presenting the Java 8’s Date and Time API at JAX 2013.

Docker officially for Mac, Tails fixes updates and CoffeeScript’s fresh brew – Snippets

snippets03

Docker 0.8: As Docker, the application-packaging-with-containers platform, switches to a new release schedule, the first of the monthly releases has arrived and Docker 0.8 has couple of new goodies along with the focus on quality and . One item worth mentioning is the official support for Mac OS X. No, they haven’t added containers to OS X, but instead use a daemon as an intermediary between a VirtualBox VM populated with a 24MB Linux image based on Tiny Core. There’s also experimental BTRFS filesystem support which might be very useful in future.

Tails 0.22.1 out: Tails, the Linux distribution for those who want to be secure, private and anonymous, has been updated to version 0.22.1 which has a number of security fixes in the browser and name services, wipes the fingerprinting off its use of some small icons and, probably most importantly, adds an update checker which can offer to install incremental updates when needed.

CoffeeScript updated: A little late to this, but there’s been an update to CoffeeScript with version 1.7.0 (and a typo fixing 1.7.1) landing at the end of last month. Aseem Kishore summarised the changes which include chaining without parenthases, multi-line strings, new ways to destructure an array, new math operators for power, floor and modulo, and more.

OIN and OpenStack, X and Security, Docker and Mac OS X – Snippets

snippets07

  • Linux patent pool now covers clouds: By deftly expanding the list of packages it considers part of the Linux ecosystem to include OpenStack and Red Hat’s OpenShift Origin, the Open Invention Network in now including the cloud computing platforms as part of its protective cross-licence network. The change is set to take effect in March Companies can join OIN by dint of agreeing not to pursue patent litigation against other companies with respect to that package list. In return, they get a royalty free licence to the OIN’s patent pool. It will be interesting to see how well the OIN’s new safe harbour works for cloud providers.

  • X Security – It ain’t good: At the Chaos Computer Club’s 30th Congress, one presentation took on the issue of the security of X Window System in terms of its implementation in the X.org code. Ilja van Sprundel has been working through the code over the past year and after finding 80 bugs in the client code, he’s gone on to just submit 120 bugs for the server side and he says he’s far from finished.

  • Docker on OS X: Mac OS X doesn’t have containers so running Docker natively is a no-no. The advice has been to setup a Linux VM with Vagrant, ssh into that and run Docker on there. But some people wanted a bit more simplicity and came up with Docker-osx which is a shell script which lets you run docker commands. It uses VirtualBox and Vagrant, automatically configuring the VM if needed. From then on, running “docker docker-command” sees the command automatically passed through to docker in the VM. There’s also two “new” docker commands, “halt” (to stop the VM) and “ssh” (to open a terminal session). A simple enough script but rather handy.

Docker for all Linux distros, DPorts and more for DragonFlyBSD and advice for coders – Snippets

snippets03

  • Docker 0.7 unloading: With Docker 0.7, the Docker developers have made a big leap in Linux coverage. (If you are new to Docker, read the introduction to it I did for the Linux Foundation). Under the covers, Docker has used storage drivers to maintain images on disk, but up till now they’d needed a patched Linux kernel for that to work. A patch from Red Hat has changed that though and adds “DEVICEMAPPER”, a storage driver which used copy-on-write LVM snapshots and doesn’t need a patched kernel, to the list of storage drivers. The selection of the driver needed is done automagically and the resultant images are interchangable between different drivers so there’s no driver lock-in. That all means that Docker now runs on Fedora, RHEL, Ubuntu, Debian, SUSE, Arch, Gentoo and others. More drivers are coming too, for BtrFS, ZFS, Gluster and Ceph. Other additions, merged in the 0.6 cycle include offline image transfer, better port redirection, linkable containers and descriptive names for containers.

  • DragonFlyBSD updated: Version 3.6 of DragonFlyBSD – the now ten year old BSD project that sets out to give BSD native optimised clustering capabilities – has been released. The update standardises on Dports and pkg for installation tools, making around 20,000 packages available, and the process of building those 20,000 packages in parallel has allowed for the testing and near elimination of kernel contention with more cores scaling up the improvements made. There’s also i915 and KMS support, albeit experimental, and updated localisation. DragonFlyBSD is still using its HAMMER filesystem with work on HAMMER2 carrying on into DragonFlyBSD 3.7.

  • Coding Advice: Whether your learning or experienced, this article offers sage advice on how to approach coding. While we’re on the subject of advice, here’s some false things that programmers believe are true about geography, addresses, names and time.

RHEL 6.5 and Docker, Ruby Fixes and Epic Node.js Bugfixing – Snippets

Snippets.png

  • RHEL 6.5 docks?: Red Hat Enterprise Linux 6.5 has been released and as is usual for the point releases of RHEL, has a number of enhancements like Precision Time Protocol support (for microsecond synchronisation accuracy), better network data for admins, GlusterFS integration for KVM and NVMe (PCI SSD) support. Mentioned in the announcement is Docker, the container deployment platform, but oddly there appears to be no mention of it in the technical notes or release notes. LXC (Linux Containers) is also still on the Technology Preview list. Still, it’s a Red Hat update and the timer is now running for the equivalent CentOS, Scientific Linux and Oracle Linux updates to appear.

  • Ruby security update: There’s updates for Ruby 1.9.3 and Ruby 2.0.0 which both address a security problem, namely a heap overflow when parsing floating point numbers. The same issue is also fixed in the new preview2 of Ruby 2.1.0, just released.

  • Epic Node.js Bugfixing: There’s nothing like a good detailed walkthrough of the debugging hell someone’s been through to offer a chance to say (a) good work, (b) glad I didn’t have to do that and (c) you found what where? In the spirit of this, Joyent have documented the Walmart Node.js Memory Leak from identification to final elimination, in text and three video talks. The leak itself (in file closing) was subtle and the hunt hard – The fix is in the latest Node.js releases.

LibreOffice updated, iPython sponsored, Warden contained – Snippets

snippets03

  • LibreOffice gets a maintenance bump: There’s an update for LibreOffice 4.1, the just announced 4.1.2 but the Document Foundation are still not up to recommending it for enterprise adoption and say a 4.0.5 (and soon 4.0.6) version of the office suite is still recommended for that. As usual they’ve scattered the changelogs over 3 different documents (at some point they might think about consolidating minor point updates changelogs into oooh a single release note), but in summary, things have been fixed most of which are listed in the RC1 changelog.
  • iPython gets Microsoft mad money: The iPython project, which creates a Python based architecture for interactive notebooks, visualisation, interpreters and parallel computing work, has just announced $100,000 sponsorship from Microsoft. Apparently they did one heck of a demo for the Microsoft Research folks. The sponsorship went through NumFocus who are sponsored by J.P.Morgan and Microsoft among others to promote open source scientific software.
  • More containers: Everyone’s got a plan for managing containers these days. This time it’s Cloud Foundry’s warden, an Apache licensed “simple API for managing isolated environments”. The server readme provides more details; apparently initially developed with LXC, Warden no longer depends on LXC. It uses aufs or overlayfs depending on edition of Ubuntu Linux and talks JSON over sockets between its server and clients.

Google Containers, Freeseer 3.0 and free JavaScript books – Snippets

Snippets.png

  • LMCTFY contains itself: A Google project, LMCTFY (Let Me Contain That For You) has emerged in the companies GitHub repository. It’s an open source version of Google’s container stack for Linux though it’s more application isolation and lacks Docker’s filesystem isolation. It’s apparently early days for the Apache licensed software but it will be one to keep an eye on as it could well turn into the basis for a Docker competitor.
  • Freeseer 3.0: The Freeseer project is an interesting platform for capturing in multiple video streams and presentations and managing them. Freeseer 3.0 came out about a month ago and has a completely rewritten backend, plugin system for GStreamer I/O and Mixing, RTMP streaming support and more. Built in Python and using GStreamer at its core, the software is GPLv3 licensed with source code on GitHub and it has been used to record many open source conferences. Find out more about the project in its documentation along with various guides.
  • JavaScript Allongé: The book JavaScript Allongé is now under a CC Attribution-ShareAlike 3.0 license and its author, Reginald Braithwaite, has written about why he has made it free. You can even get the source for the book in Markdown format and Braithwaite encourages posting issues, fixing and submitting pull requests to correct typos and other changes.