cron.weekly issue #70: GitHub, Kompose, Usql, tmux-cssh, HAProxy, icdiff, GlusterFS & more

cron.weekly is a newsletter about Linux, open source & webdevelopment. Want to get it in your inbox every Sunday? Subscribe below!

I respect your privacy and you won't get spam. Ever. Just a weekly-ish newsletter about Linux and open source.
Image of Mattias Geniar

Mattias Geniar, March 05, 2017

Follow me on Twitter as @mattiasgeniar

Welcome to _cron.weekly _issue #70 for Sunday, March 5th, 2017.

Many new practical linux guides in this issue and a few less projects this time, it’s nice to see the amount of good linux guides increase once more – we need more of those!

What’s more in this issue: I abuse the mailing list to pitch a side project (;-)), an honest S3 outage post mortem, new GitHub ToS, MongoDB clusters, GDB debugging & more. Enjoy!


I recently launched a new project I’m proud to share: DNS Spy. It’s a super easy tool to help you keep track of your DNS changes, receive alerts when a DNS record changes and provide a convenient back-up of all your DNS records – in case your nameservers ever go offline.

I use it to alert me whenever a project I’m working on goes live, when competitors change DNS, to check if my nameservers are in-sync, …

If you value your DNS records, go sign up for a free account at Feedback is most welcome!


Summary of the Amazon S3 Service Disruption

Amazon S3 suffered a 3-hour outage earlier this week. Amazon has shared a very open post mortem about the root cause and their actions taken to prevent this from happening again.

New GitHub Terms of Service require removing many Open Source works from it

GitHub changed their ToS and at first glance, things don’t look that good for open source projects. In some cases, you can’t legally push content to GitHub anymore. Some follow-up post that’s worth reading to put things into perspective; Rational thoughts on the GitHub ToS change.

The Collapse of the UNIX Philosophy

A fair bit of history in this post regarding make, the file system layout and an argument to more binary formats for performance and efficiency. A lengthy post.

Announcing Docker Enterprise Edition

A new version of the Docker platform optimized for business-critical deployments. Docker EE (“Enterprise Edition”) is available in three tiers: Basic comes with the Docker platform, support and certification, and Standard and Advanced tiers add advanced container management (Docker Datacenter) and Docker Security Scanning.

Operation Rosehub

Google worked with a team of 50 people to patch thousands of open source projects against the “Mad Gadget vulnerability” in codename Operation Rosehub.

3 little things in Linux 4.10 that will make a big difference

The 4.10 kernel came out 2 weeks ago, and offers: virtualized GPU’s, better cache control & writeback management.

Tools & Projects

Datadog: all your infrastructure, in one place

Track & alert on the health and performance of every server, container, and app in any environment, with Datadog. Sign up for a free 14-day trial. (Sponsored)

Estimating CPU Per Query With Weighted Linear Regression

It’s sometimes impossible to answer what’s consuming resources like CPU, IO, & memory in a complex software such as a database. This ebook explains how a specialization of ordinary linear regression answers seemingly unsolvable database questions. (Sponsored)


kompose is a tool to help users familiar with docker-compose move to Kubernetes. It takes a Docker Compose file and translates it into Kubernetes resources.


usql is a universal command-line interface for working with SQL databases. usql provides a universal command line interface for the following databases: PostgreSQL, MySQL, Oracle, SQLite, and Microsoft SQL Server.


A modern, browser-based frontend to gdb (gnu debugger). Add breakpoints, view stack traces, and more in C, C++, Go, and Rust! Simply run gdbgui from the terminal and a new tab will open in your browser.


An interactive web server that lets you inspect HTTP requests and forge responses.

Linux From Scratch 8.0

Linux From Scratch is a book which can be used to build an independent Linux distribution which doesn’t use any other Linux distribution as a base. It teaches you how things work under the hood and how to compile software and build your own Linux system. The guide is also free for all.


Mender is an open source (Apache 2.0) over-the-air (OTA) software updater for embedded Linux devices that integrates both an updater client and deployment management server.


tmux-cssh (tmux-cluster-ssh) sets a comfortable and easy to use functionality, clustering and synchronizing virtual tmux-sessions, on top of tmux. No need for a x-server or x-forwarding. tmux-cssh works just with tmux and in an low-level terminal-environment, like most server do.

Guides & Tutorials

Dodging S3 Downtime With Nginx and HAProxy

A good looking configuration leveraging Nginx file caching with an HAProxy using service discovery and healthchecks, to redirect requests to S3 to the Nginx cache if needed.

Build Database Clusters with MongoDB

Practical guide with plenty of commands for setting up your own MongoDB cluster. Introduces the MongoDB query router, authentication, config servers, replica’s, … the whole deal.

Remove a single mail from the postfix queue on Linux

These simple steps allow you to identify a single mail in the postfix queue and delete it, without impacting the other mails on the queue.

Linux command line reference for common applications

As the name implies, quite a few commands you’ll be using on a near-daily basis when running Linux.

Github style diff in terminal with icdiff

A good improvement to git with this new icdiff, very clean diff output. It reminds me I should update my online diff viewer to something similar, one day.

How to install GlusterFS with a replicated high availability storage volume on Ubuntu Linux 16.04 LTS

To-to-point and clear guide on getting started with GlusterFS on the latest Ubuntu LTS.

Mitigating PHP’s long standing issue with OPCache leaking sensitive data

PHP has had a long standing issue with its OPCache that, under certain conditions, bypass linux permissions and allows a PHP process to read data it has no access to. PHP now added support for the “opcache.validate_permission” and “opcache.validate_root” to prevent that behaviour.

Stop Disabling SELinux… Manage it with Puppet

A very practical implementation of SELinux in Puppet, explaining both the basics of SELinux and Puppet along the way.

Do we really need swap on modern systems?

A good overview of when SWAP is used, how it’s used, recommended SWAP sizes, …

Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.