cron.weekly issue #138: PHP, Nginx, Rust, ARM, choose & 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, June 14, 2020

Follow me on Twitter as @mattiasgeniar

Hi everyone! πŸ‘‹

Welcome to cron.weekly issue #138.

So many good content this week, plenty to keep you occupied I believe! Lots of variety.

Grab a β˜•οΈ, find a πŸ₯ to eat & enjoy this issue.

On master/slave terminology

I’ll keep this brief since it’s a loaded topic. Many open-soure projects have (re-)opened discussions about the use of master/slave terminology in their code base.

Redis made a similar change a few years ago, as did Roslyn.

Work is also being done for a NonInclusiveLanguage PHP sniffer and they’re looking for help.

I’d like to quote Daniel Stenberg to close this one out:

Instead of discussing if there’s value or meaning (implied or not) in the colors, let’s use words without the same possibly negative associations.

Couldn’t agree more.

News & general πŸ—ž

Why Linux’s systemd Is Still Divisive After All These Years

systemd is 10 years old, but feelings about it in the Linux community haven’t mellowed β€” it’s as divisive now as it ever was. In this post, the author provides a brief summary of the boot process and a look at how systemd evolved over time.

NGINX Support for QUIC and HTTP/3

The team behind the popular Nginx webserver/proxy has released a technology preview of HTTP/3 support. It lives in a separate branch is considered experimental. While a bit late to the game, I do love seeing more & more progress being made in adopting HTTP/3!

Why the developers who use Rust love it so much

Looking at this list, I should probably have a closer look at the Rust programming language. It’s an impressive feature list!

Container technologies at Coinbase

TLDR: Container orchestration platforms are complex and amazing technologies, helping some businesses and teams solve a whole suite of problems. What’s commonly overlooked however, is that container technologies also create a large set of challenges that must be overcome to prevent failures.

I’ll stop bashing on Kubernetes so much in next issue, I swear. It’s a brilliant piece of technology, this happens to be one of the more critical posts about it.

fyi: You can bypass youtube ads by adding a dot after the domain

I’m not sharing this for the fun of bypassing ads, it’s just a great hack: you can browse to both youtube.com and youtube.com. in any browser, the period at the end is the DNS-way of saying “the record ends here”.

Both are valid. And the latter cleverly triggers some browser checks that prevent cookies from that domain being loaded!

25 Years of PHP History

The PHP language turned 25 last week, and it’s had a special place in my heart career for the last 15 years!

This overview of the language by Jetbrains presents a very nice timeline of the progress being made in the language & ecosystem around it.

We are the SpaceX software team, ask us anything!

An AMA (Ask Me Anything) by the SpaceX team reveals quite some details about the tech behind the successful launch:

  • The instrument controls run Chromium and JavaScript (😱)
  • Python is used for testing
  • C/C++ for the flight control software
  • They run their own Linux distro

Cool!

Impact of Intel vs. ARM CPU Performance for Object Storage

If I were Intel, I’d be getting worried right about now.

[…]Β what is clear is that the ARM architecture, with the introduction of the Graviton2 processor by AWS, has closed the performance gap to Intel and even surpassed it for multi-core performance.

I’d love to get a sneak-peek at what kind of server hardware we’re running 5 years into the future.

Tools & Projects πŸ› 

xrdp

xrdp provides a graphical login to remote machines using Microsoft Remote Desktop Protocol (RDP). xrdp accepts connections from a variety of RDP clients: FreeRDP, rdesktop, NeutrinoRDP and Microsoft Remote Desktop Client (for Windows, Mac OS, iOS and Android).

whatfiles

whatfiles is a Linux utility that logs what files other programs read/write/create/delete on your system. It traces any new processes and threads that are created as well.

Cover Your Backend.

Cronitor provides continuous monitoring for the jobs, pipelines, daemons and APIs that power data-driven companies. It’s the utility-knife style monitoring tool you need to cover your backend, while you focus on growing your business. Sponsored

UtahFS: Encrypted File Storage

UtahFS is a state-of-the art encrypted storage solution, meant to be similar to Dropbox. It has a FUSE binding that creates a synthetic drive on the user’s computer that they can interact with like an external hard-drive. Files stored in the drive are uploaded to a cloud storage provider, which means the drive will never run out of space and minimizes the likelihood of any files being lost.

However, the files are encrypted such that the cloud storage provider knows almost nothing about what’s being stored.

topngx

This tool is a rewrite of ngxtop to make it more easily installed. Ngxtop is a tool that helps you parse NGINX access logs and print various statistics from them regardless of format.

cronlocker

cronlocker is a command-line tool to allow running cronjobs on multiple hosts while ensuring that it only runs once at a time. cronlocker utilizes the consul lock feature to ensure that.

High performance cloud β€” unbeatable prices

Hetzner Cloud offers cloud servers running on high-end hardware located in the company’s own state-of-the-art data centers at an unbeatable price. Deployed in under 10 seconds, you can set up your server starting from € 2.49 per month (billed hourly). Sponsored

vscodium

This is a repository of scripts to automatically build Microsoft’s vscode repository into freely-licensed binaries with a community-driven default configuration, without MS branding/telemetry/licensing.

choose

choose is a human-friendly and fast alternative to cut and (sometimes) awk. It can turn cat file.txt |Β awk '{print $1 " " $2 " " $3}' into cat file.txt | choose 0:2 for instance.

Guides & Tutorials πŸŽ“

High Availability Load Balancers with Maglev

The CloudFlare team writes about their load balancing stack, which includes BGP, the Maglev connection scheduling (hashing a 5-tuple of information for each packet: protocol, srcip, srcport, dstip, dstport), IP Virtual Server (IPVS) and - because they don’t require state to be preserved in connections - they can use Foo-Over-UDP which encapsulates their packets in a new UDP packet, for faster delivery.

So much good stuff in here!

Making life easier with cron

This post shares some tips for working with cronjobs, to help make common tasks more easy. It covers making sure your cronjobs run in the right environment, using run-parts to organize cronjobs, having a setup file for shared code and special cases like running a cronjob at the “last workday of the month”.

Interactive map of Linux kernel

A nicely organised, clickable map of the Linux kernel tooling - neatly organised.

Using logtop a realtime log line analyser

logtop is a useful tool that can give you a real-time update of logs flowing in, sorted by any column you like. It reads stdin and prints a constantly updated result.

How CloudFlare uses HashiCorp Nomad

In this blog post, Cloudflare walks you through their use of HashiCorp Nomad (setup/deployment/configuration) to handle and organize their flexible workloads across datacenters.



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.