cron.weekly issue #133: faketime, SaltStack, Caddy, GCC & 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.
Image of Mattias Geniar

Mattias Geniar, May 10, 2020

Follow me on Twitter as @mattiasgeniar

Hi everyone! 👋

Welcome to cron.weekly issue #133.

Lots of newly found projects in this issue that I hope you’ll enjoy, together with a lot of interesting guides. Good stuff from the open-source community!

In the words of Steve Job: Stay Hungry. Stay Foolish. Drink Coffee. ☕️

News & general 🗞

Github Codespaces

This is a remarkable coming-together of Visual Studio Code and Github! Codespace is a web-based version of VS Code that can use your dotfiles repository on Github to give you a personalised, online, code editor. All with just a single click!

Can’t wait to test this on the beta.

Initial Impressions of WSL 2

For Windows users that are using WSL (Windows Subsystem for Linux), the May 2020 update will introduce WSL 2 - and it’s quite the improvement. Because WSL 2 now runs a micro-VM, its filesystem calls are a lot faster - in the order of 13x faster.

Open Observability Conference

The OpenObservability is a free, online, conference around “observability” held on May 27th. Think talks on Prometheus, Elasticsearch, open source metrics, monitoring, analytics, …

SaltStack CVE

If you run SaltStack and aren’t yet aware: there’s a serious security vulnerability that requires your attention, now.

It already took down the Ghost blogging platform for 13 hours, compromised the certificate transparency logs of DigiCert and the infrastructure of LineageOS. It’s no joke.

systemd, 10 years later: a historical and technical retrospective

This is a remarkably well-researched and tactfully written piece looking back at the last 10 years of systemd. From the papercuts in init-systems that caused systemd to be created, to its adoption, its strenghts & weaknesses.

Tools & Projects 🛠

Caddy 2

A major new release of my favorite webserver/proxy: Caddy. A complete rewrite with a very modular config & the ease of use of the Caddyfile as I’ve come to expect it. Get an A-rating on SSL Labs with just one line in your config.

GCC 10.1 Released

This release makes great progress in the C++20 language support, both on the compiler and library sides [1], some C2X enhancements, various optimization enhancements and bug fixes, several new hardware enablement changes and enhancements to the compiler back-ends and many other changes. There is even a new experimental static analysis pass.

Monitoring on both sides of your firewalls

NodePing seamlessly combines monitoring for services on private networks with public uptime monitoring. With its unlimited users and notifications, it is an easy and cost effective way to monitor all of your services across all of your networks. You can try it for free today. Sponsored

isso

Isso is a lightweight commenting server written in Python and JavaScript. It aims to be a drop-in replacement for Disqus.

commento

Commento is a platform that you can embed in your website to allow your readers to add comments. It’s reasonably fast lightweight. Supports markdown, import from Disqus, voting, automated spam detection, moderation tools, sticky comments, thread locking, OAuth login, single sign-on, and email notifications.

Gulpttub

Ok, this one is cryptic - I apologize. It’s a very interesting open source project that just happens to have a name that, if I mention it here, will hurt e-mail deliverability for sure. Read the name backwards and you’ll understand. 😀

It’s an open source project for adults doing adulty things.

Frappe Books

Free Desktop book-keeping software for small-businesses and freelancers, with double-entry accounting, invoices, billing, payment tracking, …

Inkscape 1.0

Inkscape is a Free and open source vector graphics editor for GNU/Linux, Windows and MacOS X. It offers a rich set of features and is widely used for both artistic and technical illustrations. Think of it as an alternative to Photoshop, Adobe Illustrator or Gimp.

Collect, visualize, and alert on Kubernetes metrics in minutes

Optimize high-scale Kubernetes environments and visualize key metrics from all your containers with Datadog. Easily manage Kubernetes pod status via the live container view and use high-granularity historical data to improve operational costs. Start your free trial today. Sponsored

Tinkerbell

Tinkerbell is a bare metal provisioning engine, covering a DHCP & iPXE server, metadata service and a provisioning & workflow engine.

chubaofs

ChubaoFS is a cloud-native storage platform that provides both POSIX-compliant and S3-compatible interfaces.

wrk

wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue.

Awesome-Kubernetes

A curated list for awesome kubernetes sources.

faketime

faketime manipulates the system time for a single, given, command. This allows you to speed up or freeze time, set custom times, … Super cool!

PromLens

PromLens is a web-based tool to help explain PromQL queries, the Prometheus Query Language, complete with explanations and visualization features.

awesome-baremetal

A curated collection of resources & tools to manage and deploy Bare-metal servers.

odo

odo is a fast, iterative, and straightforward CLI tool for developers who write, build, and deploy applications on OpenShift.

uPlot

This is an amazingly fast charting library: μPlot is a time series chart based on Canvas 2D; from a cold start it can create an interactive chart containing 150,000 data points in 40ms.

Tailscale

Connect all your devices using WireGuard. Tailscale makes it as easy as installing an app and signing in.

NearBeach

NearBeach is an open sourced project management tool, helping you keep track of your project. It comes with a simple CRM and requirement tools.

Guides & Tutorials 🎓

What’s BGP?

Border Gateway Protocol is a thing that happens very much behind the scenes in the Internet and not something anyone outside the industry should have to know anything about. So this post is going to try and really dumb down some of the technical issues.

An introduction to Terraform

If you haven’t worked with Terraform yet, this write-up gives you a good overview of how it works, the benefits you get and how you could introduce it into your team.

Take care editing bash scripts

I learned that when you execute a Bash script, it isn’t just loaded into memory for execution. It’s read character-by-character, and if you edit a running Bash script, you might introduce unwanted side effects!

How to trigger Kernel race conditions reliably

How do you write tests for obscure race conditions on the Linux Kernel? This write-up gives several methods of writing reliable tests for a problem that is mostly reliant on bad timing when executed. Tricky!

Automated Puppet Impact Analysis

This guides look at implementing Puppet Catalog Diff, to show you the results of a change in your Puppet configs directly in the Pull Request itself!

Anybody can write good bash (with a little effort)

A set of guiding principles and rules for writing Bash scripts, to ensure they at least adhere to proper standard. Also contains some good examples of the benefits of set -e and set -u in your scripts.

Can QUIC match TCP’s computational efficiency?

An in-depth benchmark comparing QUIC (TLS 1.3 over UDP) to its TCP counterpart. Some extra tests are included with reducing the number of ACK’s, segmentation offloading & increasing the UDP packet size to speed up QUIC transfers.

Regular Expressions for Regular Folk

This is an experimental online resource about regular expressions. It is largely visual and example-based, as opposed to most regex resources.

How to protect your Linux server from accidental shutdown with molly-guard

I learned about the “molly-guard” tool, that overwrites the reboot and shutdown commands on your server to prevent you from accidentally rebooting it, by asking for additional confirmation. This would have saved me at least 3x in my career. 😅

Time on Unix

A very in-depth look at how time and localization works on Unix/Linux machines. A very good explanation that made things click for me.



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.