- 
        
            How to migrate from Utterances to Giscus for Jekyll commentsSince migrating from Wordpress to Jekyll, this blog (and my non-tech blog) has used Utterances for comments, which creatively uses GitHub issues for comment hosting. However, since then GitHub has released the “Discussions” feature which… is a much better fit! Luckily, Giscus is a way to use these, and can easily be migrated to. 
- 
        
            From 99% to 99.99%, why & how to chase 100% Crashlytics crash-free usersIn services with uptime, availability is often measured in the number of 9s, e.g. “4 9s” is 99.99% uptime. Whilst installed apps themselves don’t tend to have uptime in the same way, they do have another critically important metric: % of crash-free users! I’ve always heavily focused on this metric, so here’s some of the things I’ve picked up whilst chasing 100%. 
- 
        
            A brief review of the (free) Google Play Store Listing Certificate as a developerBack in December, I got an email about something called the “Google Play Store Listing Certificate”. It seemed pretty relevant to my job, and I finally got round to completing it! It’s mostly targeted towards digital marketers, but it has value for engineers publishing on the store, so here’s a short unbiased review. 
- 
        
            Fixing Jekyll Anchor Headings links for multiline headingsAs mentioned a few weeks ago I’m now using the jekyll-anchor-headings scripts to add links to each header. This works great, but… unfortunately has side effects if the header is more than one line. Time to fix that! 
- 
        
            How I built the Google Play purchase history analyserI just added a Google Play purchase history analyser on my non-programming blog, along with instructions, and thought I’d save the technical details of the JavaScript project for here! 
- 
        
            Open sourcing Pixel Blacksmith and my other old Android gamesI originally got into Android development by making a game in my spare time, Pixel Blacksmith. This game ended up becoming way more popular than I could have imagined, and persuaded me to follow app development as a career! Now, I’m open sourcing this and other game codebases. 
- 
        
            Blog updated (v2.1) with table of contents and anchor links!Whilst Jekyll’s Minima theme is great, there’s a couple of very basic features I wish it had by default. I added the features myself today, and decided to start doing “release notes” style posts for the codebase used in both my blogs! 
- 
        
            Fixing a BottomNavigationView that insists on being too tallAt work, we’ve had a bug that has appeared intermittently since before I joined. The navigation bar at the bottom of our app would very rarely become absolutely massive. For seemingly no reason. Today, I finally freed us from this menace! 
- 
        
            Using Mermaid for easy GitHub diagrams in Markdown-ish codeOn most larger software projects, at some point you’ll probably need to use a diagram on GitHub. Whether it’s explaining how components interact, a user’s flow, or project timelines, it’ll happen eventually, usually in a PR. 
- 
        
            A writeup of a very convincing 2017 Gmail phishing scamWaaaaay back in 2017, I experienced the most convincing phishing attack I’ve ever seen. I didn’t fall for it, but it was too close for comfort! I published my notes on Reddit and it got a lot of attention, and ended up in a few news articles.