cron.weekly issue #131: Ubuntu 20.04, Moloch, eBPF, xsv, desed & 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, April 26, 2020

Follow me on Twitter as @mattiasgeniar

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 20.04 LTS (Focal Fossa) arrives

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.

Linux 5.6 changes at Kernel Newbies

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

Ubuntu AWS Rolling Kernel

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.

Five years of Raspberry Pi clusters

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.

Netflix rolls out TLS 1.3

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%.

The third wave of open source migration

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.

Tools & Projects πŸ› 

R 4.0

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

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

Moloch

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.

Hund: status pages and monitoring

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! Sponsored

bashtop

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

xsv

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

brok

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

desed

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.

Investigate and troubleshoot Linux OS issues faster

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! Sponsored

Python 2.7.18, the last release of Python 2

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.

faasd

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

puppeteer 3.0

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

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 πŸŽ“

Why I Prefer systemd Timers Over Cron

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.

25 Basic Docker Commands for Beginners

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

Two months with Powershell on a UNIX

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.

Things I Wished More Developers Knew About Databases

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

Why Not WireGuard

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

Why not “Why not WireGuard?"

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. πŸ˜„

eBPF is turning the Linux Kernel into a microkernel

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).

How io_uring and eBPF Will Revolutionize Programming in Linux

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.

Lessons from using eBPF (and bypassing TCP/IP)

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!

If you use GNU Grep on text files, use the -a (–text) option

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

When did I run that command?

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



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.