#268 — May 27, 2020

Read on the Web

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

Solving the 'Miracle Sudoku' in Prolog — If you like puzzles at all, this recent Sudoku video is a must watch, but can we solve such complex Sudokus in code simply? Prolog, a declarative logic language, makes it relatively easy. Thanks.. now I'm hooked on Sudokus again.

Ben Congdon

Amazon Web Services Described in One Line Each — The almost 200 services available on AWS now provide a dizzying amount of features to developers, admins, and analysts alike, and while this list of simple descriptions for each service isn’t perfect, it may help!

Joshua Thijssen

Git Best Practices for SOC 2 Compliance Quick Wins — Get quick wins for your SOC 2 compliance audit, and raise developer productivity at the same time.

Datree.io sponsor

Google Fonts Is Fast. Now It’s Faster. Much Faster — Using Google Fonts? It can often prove to be one of the bigger performance bottlenecks, but in this thorough guide Harry Roberts runs through several optimisations you can put in place to make things snappy.

Harry Roberts

TimescaleDB, A Large Scale Postgres-Based Time-Series Database, Now Free — Timescale are making their multi-node time-series database on PostgreSQL available for free (it’s ‘source available’). This post digs into why.

Timescale

A Jepsen Analysis of MongoDB 4.2.6 — Jepsen is well known for its in-depth reports on the safety and reliability of distributed systems, and here their attention is turned to MongoDB with a variety of worrying conclusions particularly around transactions and consistency violations.

Kyle Kingsbury

Microsoft Open-Sources GW-BASIC (1983) — If you were using PCs in the 1980s, you would have come across GW-BASIC, a Microsoft BASIC implementation that preceded the more popular QBasic. Very cool, but please get QBasic out next please, MS! 😄

Rich Turner (Microsoft)

⚡️ 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.

📖 Tutorials

Monte Carlo Forecasting in Software Delivery“When is it going to be ready?” A common question in many software development departments, but how can you give a useful answer? Bart Masters of Expedia lays down how Expedia comes to an answer using a little structured randomness.

Bart Masters (Expedia)

Scaling GitHub Action Runners on EC2 Spot Instances — You don’t have to use GitHub’s own servers for running GitHub Actions.. you can run them on your own metal too and EC2’s spot instances can make this particularly cheap and flexible.

Niek Palm

A Complete Walkthrough to Using WebGL — A really thorough walkthrough of getting started with WebGL at the low level, complete with integrated, editable examples and coverage of the math behind 3D rendering.

Maxime Euzière

The Incident Management Handbook: How to Deal with Being On-Call

Lightstep sponsor

What is Nix? — Shopify has been progressively rebuilding parts of its developer tooling with Nix, a somewhat novel but powerful way of managing dependencies. Luckily, Burke has an entire series of videos on the topic walking through step by step too as it’s not super easy to grasp at first.

Burke Libby (Shopify)

Binpacking SQS Batches — AWS’s queueing service (SQS) charges per request, not per message, so packing multiple messages into a request can be quite a win but there are some limitations and this is a neat exploration of working with them.

Wander Hillen

A Quick Comparison of Approaches to Multitenancy in Webapps — ‘Multitenancy’ is simply the idea of having a system support numerous end-users, such as a webapp that has numerous users. There are a few ways to deal with this in Rails whether at the row level (e.g. a user_id column on a model), schema-level (e.g. namespacing or per-customer tables), or database level (e.g. a different database for every user).

Tomasz Wróbel

Engineering a Better Working Group — Working groups are teams of contributors to solve broad issues within a project, company, or potentially a community. They are reasonably common in the software engineering field (the W3C and Node.js projects are particularly heavy users).

William Archer (Squarespace)

A Guide to Threat Modelling for Developers — Threat modelling is a risk based approach to cyber security requirements analysis.

Jim Gumbley

📕 Stories and Opinions

Prototyping at Slack — “A picture is worth a thousand words; a prototype is worth a thousand meetings.” A brief look at some examples of Slack’s prototyping process.

Kyle Stetz

Ask HN: Do You Still Use MongoDB? — This Hacker News discussion really took off. Of course, a lot of criticisms of MongoDB here but plenty of plus points too. Well worth a skim if you’re using MongoDB or have been considering it.

Hacker News

What a Typical 100% Serverless Architecture Looks Like in AWS — A 30,000 foot overview of what a complete, fully featured serverless app can look like, architecturally, ‘from above’.

Xavier Lefèvre

Building a Paperless, Remote Friendly Process with Go, Twilio and Google Cloud Run“Today I’ll share how I helped an old 25 years old credit bureau relying on faxes and printed papers to go fully remote with all their employees.”

Dominic St-Pierre

4 Things We Did to Reduce Our AWS Bill

Matt Simoneau and Daniel Cohen

▶  Discussing the Challenges of Distributed Messaging Systems — If you think building distributed systems is hard, try building a distributed system for other distributed systems to communicate!

Go Time Podcast podcast

Today’s JavaScript, From An Outsider’s Perspective — Lea is a JavaScript expert, but she was trying to help a computer scientist friend work with JS and commented on the frustrations along the way.

Lea Verou

🛠 Code and Tools

Windows 10 Quietly Got a Built-in Network Sniffer: pktmon — You can use this to monitor network activity, diagnose issues, etc. Think tcpdump but for Windows and now built-in. Here’s Microsoft’s launch post for it.

Bleeping Computer

A REST Client Integrated into Visual Studio Code — Lots of bits and pieces in this extension if you’re working or testing against HTTP services. Supports GraphQL queries too.

Visual Studio Marketplace

End-to-End Observability for Microservice Environments — Quickly identify and solve issues to reduce MMTD, MMTR, and more with full data correlation, payload visibility and automated tracing. Try free.

Epsagon sponsor

Quickref: An Experimental Search Engine for Developers — Searches a curated subset of pages made up of official docs and community-driven sources. And as a bonus, no tracking or cookies attached to the search queries.

quickref

instant.page 5: A Way to Make Your Site's Pages Feel Faster — A reasonably simple piece of JavaScript you can drop onto a page that adds link preloading (upon mouse or pointer hover on a link) to make page transitions seem unnaturally fast.

Alexandre Dieulot

The Top 5000 Most Common Domain Prefixes and Suffixes — I love data like this.. and then I think, what am I going to use it for? 😂 Same with this official list of every TLD.

LeanDomainSearch