Hi everyone! 👋
Welcome to cron.weekly issue #141.
Lots of variety in this issue again, these are the most fun ones to write. 😁
Oh, and there’s a job section at the bottom for those on the lookout for something new.
Grab a ☕️ & enjoy!
News & general 🗞
Btrfs at Facebook
Facebook is one of the world’s biggest Btrfs users. Lots of interesting details in this write-up of a conference talk, covering some of the history of Btrfs adoption, lessons learned & more.
Critical security vulnerabilities in Apache Guacamole
I’ve mentioned Apache Guacamole a few times in this newsletter already, so there’s a non-zero chance some of you are running this in production. You’ll be interested to learn there are several critical vulnerabilities you’ll want to go and patch!
Why optimizing for MTTR over MTBF is better for business
Embrace the fact you’ll have downtime and focus on recovering from that, instead of trying to avoid the unavoidable.
MySQL Terminology Updates
MySQL will change its master/slave terminology used in database replication in future releases. You’ll want to be aware of the potential impact on configuration directives and monitoring. “master” becomes “source” and “slave” becomes “replica”. Soon, it’ll be source/replica replication instead of master/slave replication.
Blacklist and whitelist are also being renamed to blocklist and allowlist.
‘It’s really hard to find maintainers’
Linux’s creator Linus Torvalds spoke about the challenge of finding future maintainers for the kernel. Anyone up for a challenge?
Salvatore Sanfilippo steps down from Redis maintenance
The original creator of the Redis project is taking a step back to focus on other things, leaving the project in the good hands of the community. Some interesting bits from his post that stuck out to me are these.
Redis was an accident, a byproduct of solving a problem:
I never wanted to be a software maintainer
Because of the growth of Redis, and the responsibilities that came with it, Salvatore notes:
Redis was the most stressful thing I did in my career, and probably also the most important.
I can understand that!
A look at the Gemini protocol: a brutally simple alternative to the web
The Gemini protocol is a Markdown-based, simplified version of the web. No image support or scripting, only a basic client/server model for serving pages. I doubt it’ll get mainstream traction other than some select groups, but it’s interesting to read about alternatives to the WWW.
Tools & Projects 🛠
secretive
(For Mac OS) Secretive is an app for storing and managing SSH keys in the Secure Enclave.
Ploi.io - Server Management Tool
Server management at its finest, Ploi makes deploying your application to your own server a piece of cake. Server monitoring, Cloudflare DNS management, database backups, API, we’ve got your back when it comes to managing your server.
Easy 1-click installers for WordPress, OctoberCMS & Nextcloud. Sponsored
vgrep
vgrep is a command-line tool to search textual patterns in directories. It serves as a front-end to grep
and git-grep
and allows to open the indexed matching lines in a user-specified editor.
bach
Bach is a Bash testing framework, it can be used to test scripts that contain dangerous commands like rm -rf /
. No surprises, no pain.
gg
The gg
command can run the compilation of code or binaries through serverless functions, speeding up the process significantly! If your laptop has limited CPUs, why not use cloud capacity to help you compile?
PHP Insights
Analysis of PHP code quality and coding style. A beautiful overview of code architecture and its complexity. Designed to work out-of-the-box with Laravel, Symfony, Yii, WordPress, Magento2, and more.
zettlr
Zettlr is a Markdown Editor for the 21st century.
Guides & Tutorials 🎓
How to list all the targets on a Makefile
This is a pretty neat trick to letting the make
tool show the help-output by default, and letting it autogenerate that from the source itself!
Scaling “Hey” on AWS and Kubernetes
Hey is a new email app that’s been getting quite a bit of attention lately. This post covers how they run their operations on AWS and Kubernetes.
Mastering JQ: Part 1
The jq
tool is a powerful command to handle JSON data at the command line. This guide covers selecting particular pieces of a JSON file, pretty-printing output and filtering data.
Deploying a static website with Ansible
A practical guide on deploying a static site with Ansible. I’ve been trying to learn more about Ansible lately, and guides like these help make it “click” for me.
Using FIDO2 USB authenticators with SSH
Step-by-step instructions on using a hardware key to authenticate your SSH connections, cool stuff!
5 modern alternatives to essential Linux command-line tools
A good list of new tools to replace some of our older ones: ncdu
over du
, htop
over top
and fd
to replace find
.
Use Unix Pipes to Improve Chromecast Playback
This is an interesting use of process substitution in Bash, to stream the download of a file (using ffmpeg
) directly to a Chromecast, without waiting for the entire thing to download first.
Types of Indexes in PostgreSQL
A good overview of the available index types in Postgres (think: B-Tree, Hash, Gist, BRIN etc).
SSH Emergency Access
This is a clever, albeit cumbersome, way of adding an emergency backdoor for SSH access. By creating an SSH Certificate Authority, you can generate on-demand private/public keys the host trusts, and you can limit their lifetime to a few minutes, an hour or a year - giving you more control over who has access to what server, for how long.
Scaling Linux Services: Before accepting connections
A very cool deep-dive in how Linux accepts connections: how it queues SYN
connections while sending a SYN-ACK
, how connections finally get accepted and how to tune these aspects using sysctl
.
Jobs 📇
Here’s a new job section, just in case you’re on the lookout for something new. Maybe you’re looking for something closer to home, to reduce your commute? Or want to work with exciting new technology?
Product Manager at Sym
We make compliance less painful for engineering teams. Help us create primitives engineers will use to build the perfect security and privacy workflows for their teams. We’re looking for a technical PM who appreciates a great developer experience and would love to help us create one.
Location: San Francisco, Boston, Remote
Systems Engineer at devhouse Spindle
This is your chance to work on the backend of one of the biggest VoIP platforms in Europe! Bonus: we don’t have managers, we are a holacratic company. The tech stack includes Kubernetes / Rancher, Linux, Django, Python, Golang, SaltStack, Asterisk, OpenSIPS & Prometheus / Grafana.
Location: Groningen, the Netherlands
Senior Security Engineer at Aha!
You are a Security Engineer who is passionate about finding and fixing security vulnerabilities in sophisticated SaaS platforms. You have experience with Ruby on Rails and Javascript applications and have performed application security reviews.
Location: Remote in North America