#309 — March 24, 2021

Web Version

👋 It's been such a busy week I've realized we can't include everything neat we find here, so wanted to shine a light on two of our other newsletters you might find useful :-)

If you want to keep up to date with the latest developments in the database world, DB Weekly is for you. If the rapidly growing world of serverless and functions-as-a-service interests you, Serverless Status sums it up each week too. Check them out if you want to broaden your coverage a bit.

As always, thanks for your support, and if you have any submissions for me in future issues, hit 'Reply' and let me know.
__
Peter Cooper, your editor

StatusCode Weekly
What's happening in software development, ops, platforms and tools.

Crystal 1.0 Released — Crystal is a language heavily inspired by Ruby but that offers compilation, static type checking, macros, and ultimately a lot of performance. Crystal isn’t Ruby but it’s close enough that if Ruby’s easy to read nature appeals to you, it’s worth checking out.

The Crystal Core Team

Linus Torvalds on Where Rust Will Fit Into Linux — Rust has been gathering support from all quarters recently, particularly with Microsoft and Windows development, but Linux seems a more natural destination, perhaps? Linus Torvalds and Greg Kroah-Hartman shared some thoughts.

Steven J. Vaughan-Nichols

⏰ How to Set Up Alerts in Grafana — Grafana might be best known for visualizations, but it’s a powerful alerting tool too ✅. Learn how to define 3 alert rules and send notifications through channels like Slack, PagerDuty, and OpsGenie, complete with pro tips & step-by-step demos.

Timescale sponsor

How GitHub Found and Fixed a Rare Race Condition in Its Session Handling — If you were unceremoniously logged out of Github on March 8th, it was for your own safety as a race condition and some new code was swapping sessions between users. As ever, the post-incident report is a worthy read.

Github

Amazon S3 Object Lambda: Process Data During Retrieval — For S3’s 15th birthday (see below) it’s got a new feature! S3 Object Lambda seamlessly places Lambda functions in between S3 objects and whatever is requesting those objects so you can do processing and transformations on the fly.

Danilo Poccia (AWS)

💻 Jobs

Software Engineer at Carbon Five — We’re a team of creative individuals dedicated to building brilliant products for innovative clients. Join us for new projects, tech and challenges.

Carbon Five

Find Software Engineering Jobs with Hired — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now.

Hired

📘 Tutorials, Opinions and Stories

An Illustrated Guide to Ethernet and IP Networking 101 — What is a LAN? What is a network segment? Ethernet collision domains vs broadcast domains. How network switches work? How to send IP packets? There’s a lot packed into this neat post.

Ivan Velichko

▶  'Retrocoding' The World's Smallest Windows App in x86 ASM — A fantastic video where a retired Microsoft developer (who originally created Windows’ Task Manager) returns to early 90s style Windows development that still works today. Both good fun and there are still things to learn.

Dave Plummer

Encoding Workflows Best Practices Webinar - Moderated by Dan Rayburn — A panel of experts, discussing best practices on scaling encoding workflows to maximize quality and reduce costs.

Bitmovin Inc. sponsor

A Performance Comparison: Counting Words in Python, Go, C++, C, AWK, Forth, and Rust — Ben takes an ‘interview’-style problem and solves it in various languages.

Ben Hoyt

Speeding Up SQL Queries by Orders of Magnitude with UNION — SQL’s UNION operation isn’t usually regarded as a way to optimize query performance, but in many cases it can be used to achieve massive improvements in speed.

Ben Levy and Christian Charukiewicz

How the Web Audio API Gets Used for Browser Fingerprinting — Different browsers have different ways of applying effects to audio and this is used by certain tools to identify browsers even if other mechanisms aren’t available.

FingerprintJS

Is Scala a 'Maintenance Nightmare?' — Why, allegedly, it’s hard to maintain Scala projects, though not everyone agrees.

MungingData

Observability Won’t Replace Monitoring (Because It Shouldn’t)

Lightstep sponsor

'The ColdFusion Monolith Allows My Team To Move Fast And Deploy Often' — I didn’t even realize ColdFusion was still a thing so this is neat.

Ben Nadel

How We Implemented Distributed Multi-Document ACID Transactions in Couchbase
Denis Rosa

Using LDAP in Docker with Caching
l1x/dev

🛠 Code and Tools

supported by Okta

pg_query 2.0: The Easiest Way to Parse (and Deparse!) Postgres Queriespg_query is a standalone library for parsing Postgres SQL queries - version 2 adds support for Postgres 13 and includes a deparser so that manipulated parse trees can be turned back into SQL.. big opportunities there. It’s a C library but available in a Ruby library as well as Python and Node.js bindings.

Lukas Fittl

CodeTour: VS Code Extension to Record and Playback Guided Tours of Codebases — Here it is on the Visual Studio marketplace.

Microsoft

Comparing AWS and Azure Services to Google Cloud — A useful table (built by Google, so take any bias into account) drawing comparisons between AWS, Azure, and GCP services. What’s the equivalent of Traffic Director on AWS and Azure? AWS App Mesh and Azure Service Fabric Mesh.. good to know ;-)

Google Cloud

Why I Use exa Instead of ls on Linux — Another example of an all new tool (written in Rust, unsurprisingly) attempting to usurp a classic.

Sudeshna Sur

vim-gh-line: Vim Plugin to Open The Link of Current Line on GitHub — Also supports Bitbucket or GitLab, if preferred. rhubarb.vim provides a similar feature for GitHub only if you want a broader set of GitHub facing features.

Yulong Ruan