Monthlog 02: December 2019

  • 885 words
  • 5 min

This is the 02 installment in my 'Monthlog' - a public list of blog posts, announcements, software, libraries, videos and podcasts that catch my attention each month. I hope that regular readers will skim through the listings and find one, or multiple, things that pique their interest.

Note: Posts are not ordered in any particular way. If you find an article you think I might like, send it to me via one of the messaging channels on my homepage.


Implementing Currency Classes in Code - Directed here by a link in the Idiomatic Rust talk linked below. Will incorporate some of the ideas into Earl.

Rust Patterns - Interesting reference material. I particularly liked the Visitor pattern.

Gopher Academy: Writing Friendly Command Line Applications

BurntSushi: Rust Error Handling - A great introduction to rust error handling that covers a variety of approaches.

Green Threads Explained in 200 Lines of Rust

Victor Zhou: Avoid Premature Optimization - A story of optimizing too early without knowing where optimization is required.

A Guide to Distributed Teams

How to fight back against Google AMP - While AMP does offer benefits to web users, it's also a very contentious topic. Discussion

Chase Wilson: Slowest Quicksort in Rust - A guide to making your Rust code worse.

2019 State of JS - Annual and always good to keep an eye on. No matter where you work on the stack - backend, frontend, full-stack - Javascript drives a lot of change that will eventually impact you. Check this out to see where things are going.

Test Desiderata - Short and sharp. Revisit and hopefully improve your view of software testing.

How to order Rust Code - Brief thoughts from Pascal on structuring Rust code. An avoid this, do that, kind of article.

My Semester with the Snowflakes: A Veteran's Experience at Yale - Essentially a 50-year-old Veteran's experience going to a top College with some high achieving Gen-Zs. A great read.


Pascal Hertleif: Declarative programming in Rust - From KillerCup, good to watch and see common functional patterns.

Matthias Endler - Idiomatic Rust - Title says it all. View the slides


Go Time: Graph Databases with Francesc Campoy - Great introduction to graph databases by one of my favourite Gophers, Francesc Campoy. Learn about dgraph's experience building a modern open source graph database, Dgraph, in Go.

Invest Like the Best: All Things FinTech Investing with Ben Savage - Invest like the best is a great podcast and this episode offers particular insight into the entire world of FinTech. The future-focused discussion surrounding Crypto and new financial instruments is particularly interesting.

Invest Like the Best: How to Build a Great Product

Software and Libraries

Nu Shell - Discovered this a couple of months ago but it needs a mention. I think of this as an attempt to turn your shell into an easily queryable API. A bit like Powershell for Unix. Written in Rust, not quite stable yet but inspiring a lot of buzz. I look forward to following its development and adoption.

Starship RS - Discovered a few months ago after a Linux Unplugged episode. An amazing cross shell prompt, I use it in fish, written in Rust. I highly recommend, hopefully, it takes off.

SCC - A command line lines of code counter, similar to Tokei (what I use) but with some extra features. Written in Go. Benchmarks 17% faster than Tokei on the Linux kernel repo.

Bandwhich, formerly "what" - Linux and MacOS CLI written in rust. Displays bandwidth usage by process. Renamed for 2020 from what to bandwhich. Already packaged for Nix!

Recommended Sources to Follow

Below are a few media sources and voices I follow.



  • The Changelog: 'Conversations with the hackers, leaders, and innovators of software development.'
  • Linux Unplugged: A Jupiter Broadcasting show. Relaxed, focused on Linux but touches on all things Unix and Open Source.
  • Invest Like the Best: Finance and investing podcast often featuring Crypto.
  • Into the Ether: 'Focusing on all things Ethereum, the leading blockchain for decentralized applications.'