Skip to content

Instantly share code, notes, and snippets.

View kaapstorm's full-sized avatar

Norman Hooper kaapstorm

  • Dimagi, Inc.
  • Edinburgh, Scotland
View GitHub Profile
@kaapstorm
kaapstorm / on_epistemology.md
Last active April 19, 2026 11:12
How do we know things? (A primer on epistemology)

How do we know things?

It has taken humans a surprisingly long time to get better at knowing things. It's really important. And today it's even more important because social media's engagement algorithms show us whatever will keep us engaged, and so we end up living deeper and deeper in divided worldviews, unable to agree about reality.

@kaapstorm
kaapstorm / immigration_on_culture.md
Last active April 5, 2026 01:49
The Impact of Immigration on Culture, or What Nigel Farage Doesn't Want You To Know

The Impact of Immigration on Culture, or What Nigel Farage Doesn't Want You To Know

There is a lot of talk these days about how immigration is a threat to British culture, to all that we are proud of, and to our deepest values.

Let's dig into that.

@kaapstorm
kaapstorm / set_up_opensuse_tumbleweed.md
Last active April 29, 2026 08:08
How To Set Up openSUSE Tumbleweed

How To Set Up openSUSE Tumbleweed

Installation

This section assumes that openSUSE Tumbleweed is being installed on an existing encrypted drive.

Choose "Expert Partitioner"

Happy Configuration

GNOME

Settings

  • Appearance
  • Style: Dark

GitHub Copilot Deep Dive

A quick look at using GitHub Copilot from an IDE versus using it from github.com.

And a deeper dive into an example, where Copilot (using GPT 4o) goes head-to-head with DeepSeek-V3, and Copilot using o1, to refactor the same chunk of code.

URLs used in the refactoring example:

@kaapstorm
kaapstorm / ubuntu_on_existing_encrypt.md
Last active June 14, 2025 17:53
How to install Linux on an existing encrypted drive

How to install Linux on an existing encrypted drive

Context

When you install Ubuntu Desktop, you can choose to "Erase disk and install Ubuntu" and "Use LVM and encryption".

Installing alongside an existing Linux OS that already uses encryption

@kaapstorm
kaapstorm / 2024-10-24_datadog.md
Last active October 25, 2024 11:42
Adding metrics to Datadog

Adding metrics to Datadog

commcare-hq supports both Datadog and Prometheus (FOSS Datadog)

I will discuss Datadog.

Types

#!/usr/bin/env python3
import sys
from collections import Counter
num_to_word = {
3: 'three',
4: 'four',
5: 'five',
6: 'six',
AIDS Acquired Immuno-Deficiency Syndrome
ADR Adverse Drug Reactions
ANM Auxiliary Nurse Midwife
ART antiretroviral therapy
ARTI Annual Risk of Tuberculous Infection
ASHA Accredited Social Health Activist
AWW Anganwadi Worker
ATP Advanced Tour Program
BPHC Block Primary Health Centre
CBNAAT Cartridge-based nucleic acid amplification test

An Open Letter To My Children

I'm writing this to you because, although neither of you are thinking about this question yet, it is on my mind at the moment. And one day you will think about it, I hope, and then you will have this.

Recently I realised that smarter people than me think that this question has no answer. I think it has, and I feel that it's important. So this letter isn't just for you. It's for anyone who needs it.