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.
- OpenSSL: better words (unmerged)
- Ansible: Replace ‘master’ branches with devel in collections (unmerged)
- Curl: wording: avoid blacklist/whitelist stereotypes (merged)
- OpenZFS: Remove unnecessary references to slavery (merged)
- PHPUnit: Initial work on removing the blacklist/whitelist terminology (merged)
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.