Blog Posts

Powering iOS, Android and web experiences with a backend-for-frontend

I’ve been enjoying working on reporting tools for some new products at work, and wrote a blog post about our use of the “backend-for-frontend” pattern to help get our data to sellers quickly and efficiently. You can read the article here: Thanks for reading 🚀 »

, categories: food and drink, engineering, kotlin, reporting, software engineering

Meet Adopt Animals - A New Adoption Listing Platform 🎉

Adopt Animals is brand new animal adoption listing platform 🎉 It’s a charitable service, designed to showcase animals that shelters, of all sizes, have available to rehome. Please support our work with a small, regular donation. Animal adoption is something close to my heart - I grew up with an adopted dog,... »

, categories: charity, animals, animal rehoming

Over-engineering 🐰 is a simple little site which serves hundreds of gigabytes of rabbit-related videos to bunny lovers every month. This blog post documents what makes the site work, from the software that serves API requests, to the addition and transcoding of the videos themselves. Almost all the software described below is visible-source... »

, categories: side projects, bunnies, 🐰, kotlin, dropwizard, open-source

Edinburgh Dog and Cat Home Apps Released! 🐶🐱🎉

Myself and some colleagues made rehoming apps for The Edinburgh Dog and Cat Home, and they’re now available on both the App Store (iOS) and Google Play Store (Android)! The Apps You can use the apps to browse lists of the cats and dogs that are currently waiting to be rehomed. If... »

, categories: charity, edinburgh dog and cat home, edch, 10% time

Pragmatic Vegetarianism and More Ethical Meat Eating

I follow some farmers on Twitter (you should follow ZwartblesIE at the very least!). Being more connected to our food is almost certainly a good thing, and farmers being able to show us the entire cycle, from birth, to death, is extremely valuable. The flip-side to this newly-discovered interaction is I often... »

, categories: food, lifestyle, compassion, vegetarianism

Making Your Own URL Shortener 🔗

This month I decided I wanted a URL shortener, after noticing the domain was available. Many such services exist (both self-hosting and hosted) but I had specific requirements that they didn’t tend to meet, and making things is fun, so I wrote one called Kit (as in baby rabbit) 🐇. Requirements... »

, categories: side projects, url shortening, kotlin

Bunnies Analytics - March 2017

I finally got around to doing some analytics on - the results are interesting! Methodology and Tools I’m analysing usage in the last year (March 27th 2016 - March 27th 2017). I know there’s been over a million API requests over its lifetime, but since storing proper logs, it’s possible to... »

, categories: bunnies, analytics, side projects, cloudflare

I'm on Patreon!

You can now support my charity efforts, and free and open-source work, on Patreon. Why? Getting supported by users of your stuff, and fans, is really motivating! I dislike blanket advertising and avoid it where possible, so despite having millions of users / downloads / page views on a variety of moderately... »

, categories: side projects, support

Introducing Willow Chat 🎉

Willow Chat is a new umbrella organisation for my chat related projects. Over the last year or so I’ve ended up with quite a few, so collecting them under a single entity made sense. Why? Private products, like Slack, HipChat, and Telegram offer some great chat experiences. IRC has been lagging behind,... »

, categories: side projects, chat, irc, github

Why I Like Kotlin

These are short examples of nice things I use regularly in Kotlin that Java either doesn’t natively offer, or it does clunkily. If you like the looks of these, go check out the Kotlin reference. All of Kotlin’s features are quite well documented there. »

, categories: kotlin, java

What I'm working on this year

A number of people in and out of work commented that I usually seem to be working on something, but that I’m not very good at making it visible. Although I don’t do it for publicity, a personal goal is to be better about articulating what I’m working on - so here’s... »

, categories: side projects, goals