cron.weekly issue #68: Virtual Memory, Jenkins, Etckeeper, Tensorflow, PGP, Let’s Encrypt & 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.

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Image of Mattias Geniar

Mattias Geniar, February 19, 2017

Follow me on Twitter as @mattiasgeniar

Welcome to cron.weekly issue #68 for Sunday, February 19th, 2017.

I hope last weeks’ issue gave you lots of reading material! This is a slightly shorter one but still plenty of good content on Node, Go, Jenkins, the eternal struggle of tar, SELinux, virtual memory on Linux & plenty more good stuff.



Why Developers Are Moving to Yarn

More and more, developers are using yarn as the Node package manager. In this post, the problems/challenges with npm are highlighted and why _yarn _was a much-needed replacement.

A rift in the NTP world

Some good insights into the crucial nature of NTP and how efforts being made to make NTP more secure & resilient might actually have introduced whole new operational challenges.

Say Hello to the Blue Ocean Pipeline Editor

The Jenkins project introduced the Blue Ocean redesign a few months ago and have now launched a beta to make modifying your “build pipelines” (aka: set of steps to take before a task is considered complete) a breeze. This will make the adoption and getting started with Jenkins so much easier.

You really only need 2 commands when using tar: extracting an archive and creating one. This new site shows exactly those 2 commands.

The Biggest and Weirdest Commits in Linux Kernel Git History

Some background and analysis of code merges inside the Linux kernel.

An infrastructure Survey

One of the long-time readers asked to include this survey on your use of your infrastructure. It covers questions like which cloud provider you use, the kind of applications you have and so on. The results will be made public in the near future. If you have 10min, feel free to fill out this survey!

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)


Your own Travis CI to run tests locally. It uses Docker to read the .travis.yml file and run those tests locally.

Go 1.8

This new release is 20-30% faster than 1.7, faster compile times, better & shorter garbage collection and a lot of updated standard library components.


An open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources. Use cases can also include handling file or secret uploads from your clients or coworkers, though.

Tensorflow 1.0

Google’s open source machine learning software Tensorflow has reached a stable 1.0. I do still feel you need a PHD and an IQ over 160 to understand it and be able to use it, but machine learning is hard – no matter what software you use.


Pijul is a free and open source (AGPL 3) distributed version control system. Its distinctive feature is to be based on a sound theory of patches, which makes it easy to learn and use, and really distributed.


If you like to ‘git commit’ your /etc directory changes, this tool is for you.


Community-driven templates and tools for creating cloud, virtual machines, containers and metal operating system environments.


mongoaudit is a CLI tool for auditing MongoDB servers, detecting poor security settings and performing automated penetration testing.

Guides & Tutorials

Security is Hard: Where Do I Start?

This isn’t Linux specific but covers a lot of best practices on securing an office, server farm, home network, … take your pick.

PHP: php_value vs php_admin_value and the use of php_flag explained

You’ll often find confusing flags in .htaccess or Apache & PHP-FPM configurations related to PHP configuration overwrites. This post explains when to use each one and when they do & don’t work.

The Basics: Explaining Kubernetes, Mesosphere, and Docker Swarm

A solid introduction to container orchestration/management tools and why you need them; covering Kubernetes, Mesosphere and the Docker built-in Swarm.

SELinux Concepts – but for humans

More SELinux content: introducing SELinux labels, assigning & removing labels, enforcement & handling files.

What is virtual memory?

To me, memory management remains the hardest concept in Linux. So many things go into calculating a simple questing as “how much memory does process X really use?”. This guide offers a really good explanation covering page tables, memory mapping, the MMU & page faults.

Open Source Guides

Open source software is made by people just like you. Learn how to launch and grow your project. Made by the team at Github.

Hosting Multiple HTTPS Domains from the Same Server with Let’s Encrypt and Nginx

Covering Nginx, SNI and using Let’s Encrypt for requesting & installing TLS certificates.

We are out of memory (or: Why systemd process limits ruined my day)

An interesting debug question to conclude that systemd can limit processes to a default of 512 child processes.

Operational PGP

This is a guide on secure communication using email with PGP encryption. It does require a basic knowledge of PGP to get started.

Auto-Scaling Jenkins with Kubernetes

This practical guide teaches you how to auto-scale on Kubernetes and shares some Jenkins tips & tricks along the way.

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.