Hi everyone! 👋

Welcome to cron.weekly issue #131.

Last week marked the release of a new Ubuntu LTS, further down you’ll find lots of related posts about this. I’m also diving deeper into the abilities of eBPF on Linux and what that might mean for the future, read on for more details!

Stay safe, drink ☕️.

News & general 🗞

Ubuntu has released its new long-term supported version of their server & desktop distribution: 20.04 LTS.

Since Ubuntu has its release, lots of downstream projects also announced their 20.04 release:

For some more 20.04 reading:

Even though the 20.04 release features the 5.4 kernel, it has backported the WireGuard VPN features from the 5.6 kernel. This will greatly help in its adoption!

Aside: for those unaware: the numbering scheme in Ubuntu versions is predictable and follows the YY.MM format.

This post contains a massive list of changes in the latest 5.6 kernel. Human readable, well organized and thoughtfully explained.

The linux-aws 4.15 based kernel, which is the default kernel in the Ubuntu 18.04 LTS AMIs, is moving to a rolling kernel model. This means it will upgrade to the 5.3 kernel whenever you perform normal package upgrades.

In this guest blog post, Alex Ellis walks through a five-year-long memory lane explaining how things have changed for Raspberry Pi cluster users.

Lost of backstory, but the interesting bits are near the end where they talk about the measured performance gains. On slower networks, it can speed up playback start by up to 8%.

An interesting perspective in this post: previous cycles of open-source adoption were largely driven by cost optimisations. With a new recession upon us, it may mean open-source projects and solutions get another big uptick in adoption.

R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.

Guitar is a Git GUI Client that runs on Linux, Windows & Mac.

Moloch is a large scale, open source, indexed packet capture and search system. Moloch augments your current security infrastructure to store and index network traffic in standard PCAP format, providing fast, indexed access. It can handle up to tens of gigabits/sec of traffic.

Monitor your services up to every 30 seconds or with third parties, get notified via your favorite notification channels. Record and publish rich metrics and share service statuses from your hosted status page to keep customers informed. Free for 30 days!

Resource monitor that shows usage and stats for processor, memory, disks, network and processes.

xsv is a command line program for indexing, slicing, analyzing, splitting and joining CSV files.

Brok can find broken links in text documents on your local file system.

Desed is a command line tool with beautiful TUI that provides users with comfortable interface and practical debugger, used to step through complex sed scripts.

Enable end-to-end visibility into your entire Linux environment with Datadog. Create custom dashboards for Linux and visualize your metrics with added context alongside events, traces, and logs to troubleshoot faster. Start your free Datadog trial today!

While this is only a minor release, it does mark an important moment: Python 2 is now End Of Life and will no longer receive any updates.

This is OpenFaaS’ newest project: faasd. faasd brings the benefits of a portable Serverless experience without needing to learn and operate Kubernetes. 🔥

Puppeteer is a very popular Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. The 3.0 release adds support for running Chromium 81 & Firefox Nightly, better file uploads & the deprecation of Nodejs v8.

Earthly is a build automation tool from the same era as your code. It allows you to execute all your builds in containers. This makes them self-contained, reproducible, portable and parallel. You can use Earthly to create Docker images and artifacts (eg binaries, packages, arbitrary files).

Guides & Tutorials 🎓

systemd has become a mainstay for the Linux world, but one of the things that still seems to stick around is cron jobs. It’s understandable, as cron is a tool that we have been using for a long time. Change is hard, but this post looks at using systemd timers over traditional cronjobs.

We aren’t all Docker experts, so this post gives you a quick start on some of the more useful docker commands.

I’ve always found Powershell to be really fascinating, passing objects around instead of plain text. In this post, the author looks at switching from Bash/Zsh to Powershell to see if it’s workable.

Lots of powerful information in here, touching on ACID, clock skew, locking, autoincrement, latency, query planners, …

A critical look at WireGuard and why this author doesn’t think it’ll replace IPSEC of OpenVPN any time soon.

This post is a response to the critical one above, giving counter-arguments to why WireGuard could be suited after all. The internet is a discussion forum, after all. 😄

This presentation covers the state of eBPF (extended Berkeley Packet Filter) on Linux, with lots of examples of where its potential can be used (ie: hot-patching functions that would otherwise require a kernel upgrade & node reboot).

A quick look at the history of some file syscalls and their limitations and how io_uring can revolutionise this on Linux by allowing async file access with a file request & I/O completion queue.

One more to hype about eBPF: you can write eBPF code to allow applications to exchange data between each other over the network. As compared to TCP/IP, it shows much more predictable throughput with speeds that are up to 30% faster!

I’ve now learned that grep can, halfway through grepping in a file, think the file is suddenly binary and stop returning results.

This is a clever hack that rewrites your command prompt to show when you started a particular command.