#306 — March 3, 2021

Web Version

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

Splitting the PingPing is a ubiquitous method of sending a packet to another machine and getting one back as a way to test reachability or to see latency. But does the outgoing latency equal the return latency? No. Is there a way to measure these times separately? Ben Cox investigates and shares a tool he came up with.

Ben Cox

How A Developer Cut GTA Online Loading Times by 70% — Even if you don’t care for games, this is a fascinating look at how a random developer with some time on their hands got to the bottom of an amazing inefficiency that has probably cost people millions of hours over the years. A strong reminder that even the most public of systems can contain glaring inefficiencies and problems.

t0st

The Definitive Guide to Feature Management — Feature management is a new class of software development tools/techniques powered by feature flags. A feature management platform like LaunchDarkly fills the gaps of conventional feature toggles. Learn the ins & outs of feature management today.

LaunchDarkly sponsor

This Code Does Not Exist? — This is fun! You get presented with an ongoing stream of code samples, some generated by a GPT2-based model, and some real, and you have to guess which are which. I really enjoyed how this stretched my code reading muscles, though do note they’re all in C/C++.

MESS Lab

The Hijacking of Perl.com — When I saw some frantic chatter on Twitter about Perl.com (a rather long standing community resource in the Perl world) and its domain getting hijacked, I was intrigued how it would turn out. The ending is a good one, but shows just how much human interaction and cooperation can impact technical outcomes on both sides of the matter.

Brian D Foy

Quick Bits

🤔 Opinions and Stories

▶  A Look at the Internet Archive's Infrastructure — The Internet Archive (perhaps best known for its Wayback Machine) is a long standing digital library and archival project and in this talk one of their infrastructure engineers explains how it all ticks, complete with 750 servers, 200 petabytes of storage capacity, and several interconnects.

Jonah Edwards

VPS Showdown: DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr — The author has a history of doing ‘showdowns’ between various VPS providers and is back with his March 2021 outing comparing the latest $5/month offerings from some of the top providers.

Josh Sherman

The Little Bug That Couldn't: Securing OpenSSL — The story of how a GitHub security researcher discovered an exploitable bug in OpenSSL.

Agustin Gianni

Why Is It So Hard to See Code From 5 Minutes Ago? — A study discovered that Java developers ‘backtrack’ (i.e. using undo) every several minutes in order to see the intermediate state of their code.

Austin Z. Henley

Publicis Sapient: Focus on Content First - Deliver Sites Fast

GatherContent sponsor

Do Developers Still Want Swag? — TBH, I am never going to turn down a pair of good socks.

Nicole Kow

Why a Team is Switching From C# to Go for Backend Development

Phil Richards (Aluma)

📘 Tutorials

Scaling up a Serverless Web Crawler and Search Engine — Creating your own custom search engine can be both fun and useful (we have our own which helps us produce these newsletters!) but how could you approach crawling and indexing Web content in a serverless way? Here’s the basics of breaking down the main crawling process and how AWS Step Functions can orchestrate things.

Jack Stevenson

How to Read Assembly Language — This is the sort of spelunking I live for, and although I don’t think most developers need to be particularly good at following along with assembly language, it’s nonetheless an occasionally useful skill.

Scott Wolchok

5 Principles for Building Scalable Apps — Check out the five principles in this blog and you’ll be able to provide experiences that customers trust and enjoy, even when trends change.

Okta sponsor

▶  Top 10 Wackiest x86/64 Assembly Language Instructions — Yet again, a lot of things you probably don’t need to know, but I enjoyed the presentation style here.

Creel

How to Use a Machine Learning Model from a Google Sheet using BigQuery ML — Spreadsheets aren’t going away any time soon, so any projects that involve bringing modern data science practices to spreadsheets immediately gets my interest.

Karl Weinmeister (Google Cloud)

AWS Cost Allocation Guide: Tagging Best Practices — Tagging is a handy way to allocate costs within an AWS account but there are numerous approaches.

Jesse DeRose

A Vim Guide for Advanced Users

The Valuable Dev

🛠 Code and Tools

GNU poke 1.0: An Extensible Editor for Structured Binary Data — Beware that this is not just your run of the mill hex editor, it’s an interactive editor complete with a procedural language to describe data structures and operate on them – this is for real heavy lifting. If a normal hex editor is like nano, this is your equivalent of vim or emacs. Want to see it in action? Here’s an introductory talk.

GNU

Cosmopolitan: Fast Portable Static Native Textmode Containers — This tool uses a clever trick to create executables that can run ‘anywhere’ (well, macOS, Linux, Windows, and some BSDs) from the single executable using cool tricks.

Justine Tunney

Windows Terminal Preview 1.7 Release — Microsoft’s next generation command line experience takes things up a few more notches.

Kayla Cinnamon (Microsoft)

bash_unit: A bash Unit Testing Framework — Other possibilities include shUnit2, ShellSpec, and Bats.

Pascal Grange

💻 Jobs

Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

Hired

👂 Quotable

“Becoming an expert is often a consequence of tinkering, not the cause. Developing an intuition for what exists and what should exist has more impact than technical smarts.”

___
Dan Abramov