#250 — January 22, 2020

Read on the Web

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

JetBrains Mono: A Free and Open Source Typeface for Developers — On social media I notice that the topic of fonts is always a popular one with developers. JetBrains, the IDE folks, have released a new open source font for your IDE or terminal of choice and.. it’s pretty nice. Very legible and includes monospace ligatures and italics too.

JetBrains

What Is Rust and Why Is It So Popular? — If you’ve been reading this newsletter or other developer media over the past few years, you’ll have seen Rust pop up a lot. But what does the Mozilla-formed safety first systems language have going for it? A lot!

Jake Goulding

Do You Need Go, Docker or Kubernetes Training? — We offer on-site corporate training for engineers that want to learn Go, Docker and/or Kubernetes. Having trained over 5,000 engineers, we have carefully crafted these classes for students to get as much value as possible.

Ardan Labs sponsor

The 'Year 2038 Problem' Is Already Causing Issues — In 2038, the number of seconds since January 1, 1970 (commonly used as an ‘epoch’ point) will exceed what can be stored in a signed 32 bit integer and this is A Problem™. Not only that, but it can be a problem now as seen in this Twitter thread.

John Feminella on Twitter

Fargate vs Lambda — A comparison of AWS’s serverless compute options on cost, performance, and ease of use.

Jeff Carter (Trek10)

Letting Tools Make Choices — Jack is thinking about the process of working out which tools to use, why, and letting tools carry the ‘burden’ of choices you’d otherwise have to make yourself as a developer.

Jack Franklin

Quick bytes:

💻 Jobs

Find a Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.

Vettery

DevOps Engineer at X-Team (Remote) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers.

X-Team

📕 Tutorials

Building a Serverless Comment System in Rust — If all things serverless intrigue you, we have a serverless newsletter to check out :-)

Wojciech Olejnik

How to Build a Complete Serverless Back End System — A complete start-to-end walkthrough at building an AWS Lambda powered backend complete with using S3 for storage and DynamoDB as a database. Aimed at those who haven’t gone through the process before.

Sam Williams

Bring Your Git Monorepo Down to Size with sparse-checkout — A Git contributor explains how Git 2.25.0 includes a new experimental command that can yield key performance benefits for large repositories.

Derrick Stolee

Top GitHub Best Practices for Developers - Expanded Guide — Implementing these best practices could save you time, improve code maintainability, and prevent security risks.

Datree.io sponsor

Kubernetes for Full-Stack Developers, A Self-Guided Course — DigitalOcean has put together a ‘curriculum’ of articles of sorts for learning Kubernetes.

DigitalOcean

▶  Amazing Code Reviews: Creating a Superhero Collective — An interesting introduction to fostering code review practices within a development team. 40 minutes.

Alejandro Lujan (Shopify)

Natural Language Processing for Web Developers — How to build real software with natural language processing but without being an AI researcher or anything.

Caleb Kaiser

▶  All The Basic Concepts That You Need to Know in Order to Use DynamoDB — This is a neat one stop shop for understanding DynamoDB for sure, although once you understand the basics, Advanced Design Patterns for DynamoDB is an amazing watch. I could feel my brain expanding just by watching it.

Foo Bar

All The Ways You Can Corrupt an SQLite Database File

SQLite

On Algorithms for Drawing Trees

Rachel Lim

▶  What's New in Java 19: Is It The End of Kotlin? — Short answer is no but it’s neat to see Java taking some key steps forward feature-wise lately.

Jake Wharton

A Very Basic Introduction to the AES-256 Cipher

Lane Wagner

💡 Stories and Opinions

How Switching From Ruby to Elixir Made Our Team More Productive — A long-ish account of why Foxbox moved to Elixir and the many benefits they see in the language vs. Ruby. A great start if you’re looking to learn a new (and functional) language.

Foxbox

The History of HAProxy — HAProxy is my favorite TCP and HTTP load balancer but somehow I missed this post about HAProxy’s origin story from late last year. An interesting read.

Willy Tarreau

Intelligent DNS Based Load Balancing at Dropbox — The story behind how Dropbox and NS1 have optimized their DNS-based global load balancing system for corner cases uncovered while improving their point of presence (PoP) selection automation.

Dropbox Tech Blog

'.NET Everywhere' Apparently Also Means Windows 3.11 and DOS — OK, this isn’t entirely what it seems, but one developer has developed a fascination with getting compiled C# code to run in unusual places and it’s a pretty fun experiment IMHO.

Scott Hanselman

The ECMAScript Archives: The History of JavaScript — A collection of documents spanning from 1996 to 2015 relating to the activities of Ecma TC39 as the standards behind JavaScript were crafted over the years.

ECMA

The State of Security for DevOps in 2020

Jennifer Riggins

How eBay Rolled Out Kubernetes for Performance-Sensitive Search Operations — How eBay is testing Kubernetes to run the search service that is pivotal to its service.

The New Stack

How Shopify Manages API Versioning and Breaking Changes

Shopify Engineering

Istio as an Example of When Not to Do Microservices

Christian Posta

🛠 Code and Tools

Tiny Helpers: Single Purpose Online Tools for Developers — A growing collection of single-purpose online tools aimed at developers of all types. Covers things like base64 conversion, color management, favicon generators, CSS grid generators.. this site could be huge, to be fair, so consider contributing anything you have.

Stefan Judis

Concurnas: A New JVM-Based Programming Language — Concurnas is a new Python-inspired language designed for building scalable, high performance concurrent, distributed and parallel systems on the JVM.

The Concurnas Programming Language

Chaos Mesh: A Chaos Engineering Tool for Kubernetes — A chaos engineering platform that features all-around fault injection methods for complex Kubernetes systems.

PingCAP

Docker Desktop 2.2 Released — This will be of particular interest to Windows users, particularly if you’re using WSL 2.

Ben De St Paer-Gotch (Docker)

A Big List of HTTP Static Server One-liners — Want to spin up a quick HTTP server locally? There’s a lot of ways to do it.

William Bowers

OneDev: A 'Super Easy' All-In-One DevOps Platform — Java-based. I’ve seen it referred to a ‘lightweight GitLab alternative’.

OneDev

NebulaGraph: A Distributed, Fast Graph Database — A distributed, open-source (Apache licensed) graph database featuring horizontal scalability and high availability. Built in C++ and has Go, Python and Java clients for now. GitHub repo.

vesoft inc

❓ The 'State of Microservices' 2020 Survey

How do you build microservices? This year we're helping out The Software House (for free – this isn't sponsored) by linking to their new State of Microservices survey. It launched last week, and is seeking your views on how you build microservices. It should take around five minutes to complete.