#265 — May 6, 2020

Read on the Web

StatusCode Weekly
Covering the week's news in software development, ops, platforms, and tooling.

Caddy 2: The Go-Powered Web Server with Automatic, Default TLS — After over a year of redesign, Caddy 2 has a new architecture to v1. If you want a new HTTPS server that ‘just works’, Caddy is well worth a look IMO. Its lead creator, Matt Holt, answered lots of questions on this Hacker News thread about the release.

Caddy Web Server

Redis 6.0 Released — The next major release of the popular data structure server is here. Redis is at the heart of so many data systems nowadays that any major release is big news but 6.0 packs in a lot of new bits and pieces that make it more robust and capable of modern workloads, including:

Salvatore Sanfilippo

Faster CI/CD for All Your Software Projects Using Buildkite — See how Shopify scaled from 300 to 1800 engineers while keeping their build times under 5 minutes.

Buildkite sponsor

An 'Extra Dumbed Down' Explanation of BGP — The BGP (Border Gateway Protocol) is a fundamental part of how the Internet works by defining and exchanging routing information between systems. This post explains what BGP is but, importantly, what its flaws are and how it needs to be made better.

RevK

How PHP is Beginning to Show Its Maturity“If you still think PHP lacks an appropriate object model, you might be pleasantly surprised taking a look again.” Add proper FFI, dependency management, and security to the mix and PHP looks better than ever as of version 7.4.

John Coggeshall (LWN)

What Netlify’s Infrastructure Team Learned As It Increased Deploy Speed by Up to 2x — How the infrastructure team at Netlify took a 4 year old codebase, isolated an issue, tested a few different solutions, and eventually improved observability while rolling it out to production.

Epure, Neal and Drasner

Quick bytes:

💻 Jobs

DevOps Engineer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere.

X-Team

Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

ℹ️ Interested in running a job listing in StatusCode Weekly? There's more info here.

📕 Stories and Opinions

How a Few Lines of Code Broke Lots of JavaScript Packages — A week ago JavaScript developers were reporting breakage in numerous key packages. The culprit? A tiny change in a tiny dependency. A fix was quickly deployed and the creator of the affected project reflects on what happened here.

Forbes Lindesay

systemd, 10 Years Later: A Historical and Technical Retrospective

V.R.

Initial Impressions of WSL 2 — WSL (Windows Subsystem for Linux) is a compatibility layer for running Linux executables natively within Windows 10 and ”..it feels like a new era for web development on Windows.”

Dave Rupert

What Port Numbers Do Developers Use Locally? — A look at what port numbers developers are using locally in development.

Roland Crosby

▶  A Language Head to Head: Kotlin 4 vs. Scala 3

Garth Gilmour and Eamonn Boyle

▶  Does Agile Make Us Less Secure? — Weighing up the balance between older ways of making things ‘just so’ before deploying versus pushing to production numerous times a day.

Michael Brunton-Spall

How to Remain Agile with DynamoDB — Amazon DynamoDB delivers performance at scale but at a cost to flexibility. See how the costs can be mitigated to remain Agile.

Rob Cronin

📖 Tutorials

Using AWS CodeBuild to Execute Administrative Tasks — A look at using AWS CodeBuild to run scheduled or adhoc jobs. It’s not the first tool most would jump to (as it’s marketed as a build service) but the flexibility provided is pretty neat and might help you package together code in a way that better suits your use case (it’s well suited for batch jobs that take a while to run, rather than 500ms functions, say!)

Gojko Adzic

Git Branch Naming Conventions — A primer on naming branches for modern git workflows to help organize your or your team’s work.

Sanket Saurav

Implementing Conway's Game of Life in 32 Bytes — Not exactly a tutorial but if you can read x86 you’ll learn something. Here’s a video of it in action.

SizeCoding

TLDR: Writing a Slack bot to Summarize Articles — Using state-of-the-art NLP to read more news, faster? I always find automated summaries to be kinda useless, but the way it’s put together is neat nonetheless.

Chris Ismael

OAuth 2.0 Security Best Current Practices

IETF

Using PostgreSQL for JSON Storage — With JSON and JSONB types and associated advanced ways to query such columns, using Postgres as a store for JSON data is pretty simple. This is the briefest of overviews but leads into an interactive online tutorial.

Steve Pousty

🛠 Code and Tools

Never IPv4: A Quick Way to Test Your IPv6 Support — If this site doesn't load for you, you're in the majority! It's a test site that only has AAAA records and so will only work on a fully working IPv6 stack. NeverIPv6.com provides the opposite.

As207960 Cyfyngedig

actions-cli: Monitor Your GitHub Actions in Real Time from the Command Line

Tommaso De Rossi

Pixie Is Alive. Monitor & Trace K8s Apps On-Prem Without Changing Code — At-scale streaming, gaming, e-comm & SaaS SRE teams run eBPF based edge monitoring Pixie scripts to debug in minutes.

Pixie sponsor

Backblaze B2 Cloud Storage Now Has S3 Compatible APIs — Backblaze B2 has been a compelling alternative to S3 for a while on price alone but now it shares an API too.

Gleb Budman

awesome-kubernetes: A Curated List for Awesome Kubernetes Sources — A lot of k8s resources here from installers and useful articles to platforms, projects, books, and Twitter accounts.

Ramit Surana

Rich: A Python Library for Rich Text and Beautiful Formatting in the Terminal — This does look really nice.

Will McGugan