Hi everyone! 👋

Welcome to cron.weekly issue #121.

This week’s issue is nice and varied, with a lot of interesting links on the history of popular tools (like git, Let’s Encrypt and SpellCheck). There are plenty of new projects and more guides/tutorials than usual. Keep those coming, I love them!

I also wanted to ask a favor: this newsletter has no tracking. No open- or click tracking whatsoever. It’s as pure of an e-mail newsletter as I could make it.

But … I’ve been working on the e-mail & backend setup for the last few weeks and want to make sure I didn’t accidentally damage my deliverability. So next week, I’m including an open tracker in the newsletter. This will be in the usual form of a hidden image. It’s a one-time thing and I don’t track individual URL clicks.

I’d appreciate it if you could load the images for next weeks’ issue so I can have a good look at the delivery rates of this newsletter.

Thanks in advance and happy reading! ☕️

News & general 🗞

This post gives insights into what Red Hat finds important on the CRI-O and Podman projects. If you’re heavily invested in container technologies, I’d keep a close eye on both of these.

I chuckled, sorry IANA. 😅 “The organization that keeps the internet running behind-the-scenes was forced to delay an important update to the global network - because it was locked out of one of its own safes."

There’s now an official standard for lazy-loading images on the web. Firefox already has an implemention in its Nightly browser, I’m unsure of Chrome but I feel like this standard will get implemented & shipped in record time.

This paper tells the story of Let’s Encrypt, from it’s early beginnings in 2012/13 all the way to becoming the world’s largest HTTPS Certificate Authority (CA) today - accounting for more currently valid certificates than all other browser-trusted CAs combined.

I enjoyed this read to get a glimpse of the why a tool like git gets created. A good example of scratch your own itch.

This is a good write-up of how a tool like Spanner (Google’s geo-distributed database) gets designed. It had many iterations and it’s interesting to see each step of the way contribute to what it has become now.

I’ve never been a fan of Extended Validation certificates myself. This post gives the technical reasons why using them can slow down TLS connections.

“ShellCheck is a static analysis tool that points out common problems and pitfalls in shell scripts. As of last weekend it appears to have become GitHub’s most starred Haskell repository, after a mention in MIT SIPB’s Writing Safe Shell Scripts guide."

The post isn’t really about Haskell but gives you a general overview of how ShellCheck (the online tool) came to be.

The team at Github has released an official CLI tool for interacting with your projects: list open pull requests, see issues, etc.

You’d think that by now, sorting a list of items would be a solved problem. But even today, new and novel ways are being found to sort lists. I find it fascinating that what we take for granted (or consider “solved”) always has room for improvement.

Broxy is an open source intercept proxy written in Go. It makes use of goproxy as core proxy implementation and the interface is implemented with a Qt wrapper for Go.

Cloud Hypervisor is an open-source Virtual Machine Monitor (VMM) that runs on top of KVM. The project focuses on exclusively running modern, cloud workloads, on top of a limited set of hardware architectures and platforms.

Sh-git is an implementation of Git using (almost) entirely POSIX shell.

(The project is named differently, but I fear spam filters would punish me for using it.)

A tool for enhanced PostgreSQL logical replication.

This is the man page for the new systemd-homed.service . Worth a read if you’re concerned about what systemd might do with the management of your home directories.

jc is used to JSONify the output of many standard Linux CLI tools and file types for easier parsing in scripts. It can take a command like ls -l /usr/bin and give you a JSON representation of the output, which you could then filter with tools like jq.

After exactly 365 days of very intensive development, there is now a first stable release of Yarn 2. Yarn is a new JavaScript package manager that aims to be speedy, deterministic, and secure and is a drop-in replacement for npm .

Guides & Tutorials 🎓

This list includes some really nice tools for performing security audits, I think I’ve used about half myself so far. A good explanation per tool to give you a birds-eye look at what it does.

I’ll admit that most Bash scripting syntax is still something I have to Google most of the time. This site provides a handy overview of the most used Bash operators.

The plain text file /etc/mailname is used by the Mail Transfer Agent (i.e. mail server) to know its own hostname. This page has been created in the hope that it can be used to document which MTA does it which way (because obviously, there isn’t one standard).

The Linux fold command brings unruly output to heel. Read wide chunks of text, endless strings, and unformatted streams by controlling the width of the output.

A good in-depth explanation of what ranges are in vim (ie: for selecting/manipulating text) with a lot of background information to explain where it comes from.

A good guide to explain how you can use the jq tool to work with json data at the CLI. It’s a very powerful tool for filtering data & matching particular patterns in json data.

Another good guide on how to use systemd unit files to schedule commands instead of the cron daemon. Examples include random delays, logging, CPU & memory limits.

“I wanted to delete every file called “contents.html” so I ran: find -type f -delete -name contents.html . It worked! But it also deleted every other file. find 's args are ordered. “delete” works on every match before it, ignoring anything after. “name” should have gone first."

Be warned!

Some practical tips on how to use podman to run your containers.

Some really good tips on this StackOverflow answer on where to start looking if your rsync 's are running slow.

This guide offers advice on how to pick the right amount of worker processes in your php-fpm configuration, together with a handy calculator & config generator at the very bottom.