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.