Maps and territories

Lines on maps vs words in heads

How much protein should I eat

Probably not that much

Fun with gov.uk car data

I shouldn't have had to do this

Mountains and molehills

Overthinking my overthinking

Trunk-based development with Vercel

Branches != deployments

Thinking about risk

Micromorts, Bayes and you

Modern Neovim for the faint of heart

This was much too hard!

Book review: The World of Yesterday, by Stefan Zweig

The heydays and naydays of pre-WW2 Europe

Book review: Breath by James Nestor

By James Nestor. Not great, but very interactive.

A half-assed go at #30DayMapChallenge

I'm not very good at cartography, am I.

Webcams

Postscript to the post on video calls

My quest for a reasonable video call setup

Much harder than it should be...

Python in the browser

Much easier than you think

Voice-to-text: thoughts on How Asia Works

Turns out speaking coherently into a voice-to-text engine is hard!

Potential solutions to wrist issues (for programmers)

Sharing for posterity

Home server setup

Bits and pieces cobbled together setting up a Raspberry Pi home server

Wordle starter words

Quick before we all get bored of it.

Cardinal directions

Ever wondered what the south-by-east-est part of your country is?

Betting on batteries

I bet (stupidly?) that coal will be cheaper than batteries in 2028

Scaling out with Prefect

How to set up a production workflow on Prefect

Thoughts on renewable energy

TLDR: It’s great, but developing countries need more

Alta Ruta Pirenaica, number 3.5

Only one more push before the Med

Context matters

Gore-Tex as a metaphor for monads

The new web mapping stack

Long live Mapbox tiles

SEO is eating my breakfast

aka, Oatly is probably fine

Get hibernate working with LUKS

Workarounds abounds

Oh, the places your pee will go

Graphing the world's water basins with Neo4j

Optimising Part II: Making SQL fast

Turns out a billion insert statements isn't the best way.

Optimising Part I: Sampling rasters

If you ain't first yer last!

The High Pyrenees!

A recap of some of my more memorable excursions and hikes in the mountains.

Moving to Oxford!

After lots of messing around and figuring out, we're one step from moving to Oxford!

Harry Potter and the Curse of the Grep

Adverbs, adverbs, every where, nor any use for them.

iCloud calendars in Evolution Mail

Bit of a horror, but it works.

I made millennial pink wireless speakers

The software side was disappointingly easy; the hardware unsurprisingly messy.

Stop pretending technology is value neutral

It's time to incorporate real-world outcomes in your loss function.

Gridfinder work published in Nature SciData!

Our hard work mapping the global power grid finally got published!

[Guest post] A Tale of Two Hikes: Trekking in the Eastern Sierra Nevada

Michael Kloos wrote about our time in California and got it published in the MCSA journal.

Making a Raspberry Pi Wake-Up Light

Winter is coming, and with it, short days. I decided to make a bright, pleasing sunrise light.

Recent things indoors and outdoors

Random updates as an excuse to publish a new post here.

New sections for photos and books

I added two new sections to this site, one for photos and the other for books.

A new approach to data and mapping

Data is a key enabler in boosting increased access to modern energy sources.

Fun with recursion and scoping

Recursion and objects in Python: footguns galore.

A new open source electrification model: openelec

A better tool for planning electricity access.

Using NASA night time lights to guess where the grid is

A lot of the work I do relates to finding the cost-optimal of bringing electricity to more people.

Places to go in Barcelona

A basic web map featuring cool places and things discovered in the last few months in Barcelona.

Leaflet maps with data from Google Sheets

Making a web map in JavaScript that pulls data from Google Sheets.

Modelling the optimum way to achieve universal electrification

New thoughts and models to plan electricity access.

A semi-scientific look at acclimatization

Is there any statistical value to be dredged out of the my seven-ish 4,000 metre peaks?

A hackathon with iRise in Mogadishu

A small project aimed at supporting the Mogadishu tech community.

A workflow for Python mapping with automatic updating

A silly experiment to see if it was possible.

A Flask app for mini-grid planning with a cost-optimised spanning tree

Using OSM data to plan mini-grid layouts.

Visualizing book club cliques (and replacing them with AI)

Having fun with our very detailed book club book score records.

Open data and energy access in Tanzania

Two colleagues and I put together a report on the benefits of open data in off-grid access.

Trip Report: The Bugaboos

A month in some beautiful mountains, with one goal: Bugaboo Spire.

Modelling hydrological networks at massive scale

I set out to create a model that would conduct massive scale hydrological modelling.

Primero, somos tontos (firstly, we're fools)

We knew this already, but our three weeks in Mexico drove the message home on an almost daily basis.

'Lighting the World' - A paper I worked on

This model is used to determine the best way to achieve universal electrification.

Rudderless in the Richtersveld

At the end of June I joined my brothers for a jaunt in the Richtersveld Transfrontier Park.

Summer of climbing in Europe

Rock climbing in Catalonia and Kazbek mountaineering expedition.

Fun with population dynamics

Fun with the Ultimatum Game in Java, from long ago.

A music app in Java, that still works eight years later!

Flexing my Java skills in high-school.