cron.weekly issue #36: ed, TCP in the kernel, moreutils, Nagios, Tmux, BSD vs Linux & 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, July 10, 2016

Follow me on Twitter as @mattiasgeniar

Welcome to _cron.weekly _issue #36 for Sunday, July 10th, 2016.

This week we have discussions about the TCP stack in the Linux kernel, lots of Bash guides, a look at one of the oldest text editors on your Linux machines and many more links.

Enjoy your Sunday reading experience!

News

Monitorama US 2016 videos online

2 weeks ago the Monitorama conference held place in Portland, US. All the videos from the conference are available online, ranging from topics like “Scaling Pinterest’s monitoring system” to “Tackling Alert Fatigue” and much in between.

Why do we use the Linux kernel’s TCP stack?

Some good thoughts on why TCP in the kernel may be slow and how it’s easier to innovate in userspace than waiting for new kernels to be widely adopted.

Why we use the Linux kernel’s TCP stack

Cloudflare’s response to the above post, defending their choice of (partially) using the TCP stack provided by the kernel. They do some interesting tricks with layer3 DDoS prevention being offloaded to both hardware NIC’s and custom userspace TCP stacks.

Bulgaria Got a Law Requiring Open Source

From now on, all software written for the Buglarian government needs to be open-source and should be developed as such in a public repository. Is this the first government to have such a law?

SSD Advisory – Wget Arbitrary Commands Execution

A clever redirect vulnerability in wget, allowing you to set a .bash_profile file to whoever downloads a file, which can contain all sorts of bash commands for the next user login.

Tools & Projects

Felony

“Next level PGP”: Felony is an open-source pgp keychain built on the modern web with Electron, React, and Redux. Felony is the first PGP app that’s easy for anyone to use, without a tutorial. There are native binaries for Mac OSX, Windows & Linux.

Wallabag

wallabag is a self hostable application for saving web pages. Similar to Pocket, but self-hosted and open source.

moreutils

This is a collection of useful unix tools that nobody bothered to write before. Lost of interesting little commands in that repository.

Papertrail

Papertrail also uses Papertrail. Here’s a few specific design decisions which make life easier for Papertrail’s team. In case you missed it in previous episodes, Papertrail is a new log management solution focussed on simplicity and ease of use. (Sponsored)

bpkg

bpkg is a bash package manager: with bpkg you can easily install and manage Bash packages. It takes care of installing/uninstalling, execution permissions and everything.

ShellCheck

ShellCheck is both an online tool as well as a CLI command to find bugs in your shell scripts: it’ll parse your Bash code and point out places in your code where things can go wrong.

Explainshell

This web-based tool can “explain” a command to you. For instance, copy/paste a long rsync or tar command, and it’ll carefully describe each parameter of the command.

BigBash

Sorcery: this tool translates SQL queries into Bash scripts! It takes a SQL query and transforms it into a series of Bash commands that do the same thing, using tools like xargs, tail, sed, cut, sort, head, … Very nicely done.

Guides & Tutorials

Teaching an Old Monitoring System New Tricks

A nice presentation on useful things you can do on top of Nagios, that aren’t immediately clear. Lots of practical tips on implementing better visibility on planned maintenances, debugging & validating Nagios, adding additional (relevant) data to alerts, …

Why You Should Try tmux Instead of screen

A good history of tmux and how it compares to screen. They’re both multiplexers, allowing you to open multiple session to a remote SSH host inside a single window.

Deep dive into docker for developers

Some excellent Dockercon videos have been made public: this post focusses on developers aiming to implement and use Docker. If you’ve wanted to create your next application in Docker, check out these videos.

5 SSH Hardening Tips

Some pretty good basic settings for securing your SSH server configurations.

Guix: The Non-Aligned Universal Package Manager

Another week, another package manager. This post explains how the Guix package manager works and how it compares to the recent Snappy & Flatpak formats.

BSD vs Linux

A very nice overview of where BSD differs from Linux. Written by a BSD user with a lot of Linux experience it seems, this write-up is spot-on.

The Bash For Loop, The First Step in Automation on Linux

This post explains how for loops work in Bash and how you can use them to automate mundane tasks. Some examples in the post too to quickly see the benefits.

A checklist for Docker in the Enterprise

This post highlights the areas that may be important to an enterprise when considering developing a Docker infrastructure: registries, image building & scanning, integrity checks, third party images, …

Linux debugging tools I love

A very good list of 5 open source tools used to help debug applications on Linux, each accompanied with a link to learn more.

The Bash Guide

A very detailed list of all the Bash primitives you can use and how you should use them: commands and arguments, parameters, patterns, input & output, …

Actually using ed

The classic ed editor is a really good example of a sparse, minimal, standard Unix tool that does one thing, and does it well. But chances are you’re using _nano _or vim and have never used ed. This post explains how it works and when you can use it.



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.