Monthlog 12: October 2020

  • 959 words
  • 5 min

This is the 12 installment in my 'Monthlog' - a public list of articles, discussions, books, software, 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 channels on my homepage.


  • Kevin Mahoney: Applying “Make Invalid States Unrepresentable” - People often talk about 'Parse don't validate' and similar principles around structuring data in a way that makes it hard to make mistakes. Making invalid states unrepresentable means designing data structures and database schemas that won't allow for invalid data to be written to the database. Data structures could be wrong in what they tell you, but the idea is that you will never end up with data that is logically invalid. This articles explains how to actually apply the principle of making invalid states unrepresentable. Discussion on HN

  • Vasili Shynkarenka: How to remember what you learn - If you spend time reading and watching lectures/talks to try and learn new things, it's worth trying to optimize how you actually memorise what you learn. This article offers a great practical system to help you remember content. I've presonally adopted part of the system and am using it while taking notes on books. Discussion on HN

  • Maxime Heckel: SEO Mistakes I Have Made and How I Fixed Them - I'm trying to work a little bit on SEO, next year I have hopes of publishing more on this site and hopefully getting more traction. This article contains some very specific things to be aware of when optimizing a static site blog for SEO. Discussion on HN

  • Blogging For Devs - A 7 day email course for developers looking to improve their blog. Linked in the previous article.


  • Monzo: Modern Banking with 1500 Microservices - There are a lot of critics of the current "everything is it's own microservice" mentality. Monzo has over 1600 microservices, and the speakers here explicitly mention that many of them include less than 1000 lines of business logic. Over the next ten years, we'll see whether Monzo and other startups of the 2010's benefit or suffer from an obsession around microservices. The speakers here do raise some great points about developer agility and the tools they have created as a platform team to help developers deploy code quickly and with confidence.

  • Richard Feldman: Why Isn't Functional Programming the Norm? - Watched this multiple times before. I believe the crux of why FP isn't more popular is that many FP languages are perceived as academic or niche. Many devs who haven't spent a lot of time writing functional code often feel slow and mentally burdend when forced into the hard constraints of FP. I'm enjoying Rust at the moment particularly due to it's functional take on iterators and other parts of the language.

  • Russ Olsen @ GOTO 2018: Functional Programming in 40 Minutes - If FP interests you, you may also like this video.

  • Peter Thiel: Competition is for Losers - Whatever you think of Thiel, I think he's probably got some great advice for entrepreneurs. This talk is particularly great in that it outlines how you might look to create a business that exists in a 'Blue Ocean' or a new market that is not attractive to competition.

  • Ali Abdaal: How I Remember Everything I Read - Continuing to get more into memory optimization and actually absorbing information.


  • Bit - 'Bit is a modern Git CLI', written in Go. I don't actually use this but some may find it a useful, more intuitive Git CLI. Personally, I avoid Git GUIs and alternative CLIs as I think the Git CLI is good to use to actually understand how Git works. The CLI can be quite verbose and unintuitive, but at least I know exactly what I'm doing to my Git repo.

Recommended Sources to Follow

Below are a few media sources and voices I follow.



  • James Clear's Newsletter - Twice a week James sends out his 3-2-1 Newsletter, 3 ideas from James, 2 quotes from others and 1 question for the reader.
  • This Week In Rust - Rust news every week.
  • EthHub Weekly - Weekly Ethereum updates, a quick paragraph summarising each headline.


  • The Changelog: 'Conversations with the hackers, leaders, and innovators of software development.'
  • Software Engineering Daily: Daily conversations covering anything Software Development related.
  • 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.
  • Y Combinator: Conversations with Y Combinator founders.
  • Into the Ether: 'Focusing on all things Ethereum, the leading blockchain for decentralized applications.'