Hi everyone! 👋
Welcome to cron.weekly issue #126.
There wasn’t a lot of news to spot this week, things have been a bit quiet. Odd isn’t it? It’s almost like a worldwide pandemic has taken over or something. I must be imagining things.
You’ll find a couple of open-source video conferencing/chat projects in this issue, if you find yourself working from home a lot these days, maybe they can be of use to you.
As always, have fun reading & don’t forget to take a break from the news from time to time. ☕️
News & general 🗞
“We reverted the change for an undetermined amount of time to better enable access to critical government sites sharing COVID19 information."
tl;dr: everyone stays home, they browse the internet more.
And on a more serious note: it’s interesting to see the graphs & the timings of bandwidth surges, I expect this to rise even more in the upcoming months.
curl now has a flag to output all its data as structured JSON!
Jeff Geerling made his 2 books free for this month!
The ongoing Coronavirus/COVID-19 pandemic and bear market made me realize how beneficial it has been to be adaptable in the tech industry. There are no guarantees in life, and the ability to earn a livelihood is probably the most underrated important aspect of overall health.
If you were ever interested in learning Ansible, these seem like a good starting point.
It’s more the exception, not the norm, but some open-source projects are bringing in big money from VCs.
Tools & Projects 🛠
ShiftLeft Inspect is static code analysis (SAST), purpose-built to insert into developer workflows without slowing them down. Inspect is 40X faster and 3X more accurate than traditional code analysis vendors. Sign-up for a free account and see for yourself.
iSH is a project to get a Linux shell environment running locally on your iOS device, using a usermode x86 emulator. It runs Alpine & you have access to the Alpine package manager. You can install programs with
apk add name.
zectl: a ZFS Boot Environment Manager for Linux. ZFS lets you create multiple filesystems which are known as datasets. Boot Environments take advantage of how low cost clones can be taken of a root dataset.
These boot environments can be integrated into the bootloader so that they can be selected at the boot menu, as if they are separate installs of an operating system.
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.
A multi-platform open-source video conferencing system. We’ve been using this a lot during the Corona lockdown here in Belgium, promoting the use of simple video chat for non-techies via praatbox (Dutch).
BigBlueButton is an open source web conferencing system. It supports real-time sharing of audio, video, slides (with whiteboard controls), chat, and the screen.
OpenVidu is an open-source project under Apache 2.0 license built on top of WebRTC.
/etc/hosts like a pro. This tool gives you more control over the use of your hosts file. You can have multiple profiles and enable/disable as you need. Reminds me of hostess.
A self-hosted application to access IMAP accounts over a REST API. If you’ve ever dealt with IMAP directly, any alternate approach is a welcome one!
Guides & Tutorials 🎓
This got mentioned in the newsletter a few years ago and seems to make the round every now and then. Still a good bit of trivia on where the split of that filesystem came from.
When the operating system grew too big to fit on the first RK05 disk pack (their root filesystem) they let it leak into the second one, which is where all the user home directories lived (which is why the mount was called /usr). They replicated all the OS directories under there (/bin, /sbin, /lib, /tmp…) and wrote files to those new directories because their original disk was out of space.
When they got a third disk, they mounted it on /home and relocated all the user directories to there so the OS could consume all the space on both disks and grow to THREE WHOLE MEGABYTES (ooooh!).
This guide has some excellent examples of using
jq to manipulate JSON from the command line. You can see the input & output in each step of a chain to clearly show how
jq is used to filter the data.
I liked this post because it gave a good introduction on the difference between thread & event loops. Notably, Apache used thread loops when it first launched (1 new connection = 1 new process) whereas Nginx used event loops. The pro’s and con’s of each are described and a hybrid approach is probably the way to go.
This post contained more internal info on
fsck than I hope to ever need! It’s cool reading about how
fsk reads data from a source though and how complicated it is to get any feedback from a running
Lots of information on using CLI tools like
A step-by-step guide on setting up your own Jitsi instance to get video-conferencing/calling up and running.
You can load this PCAP file in Wireshark and get more than 50 network protocols available to look at, deep-dive or debug.
Doug McIlroy, known for creating Unix Pipes, reminisces on some remarkable unix tools. He mentions
eqn and a few others that I’ll have to Google to learn what they even do!