www.makeworld.space

Blog

Atom feed available. Learn about feeds here.

2025-02-17: Dithertime: a desktop app for image dithering

In February 2021, I first released dither, my Go library for image dithering, along with a blog post. Three months later, I released didder, a command-line tool for accessing that library and creating image dithering pipelines. Four years later, I am now releasing Dithertime, a graphical desktop application for image...

2024-10-06: You're already using the best voting system

Here in North America we vote for our politicians using plurality, also called First Past The Post (FPTP). It’s a bad system, mainly because of vote splitting. It’s been obvious for a long time that change is needed, but what voting system should we use instead? IRV Let’s get this...

2024-02-03: Where I write

Many months ago, I made a goal to write at least one blog post a month on here. I thought it would do me good to practice writing, and to publish things that were useful to other people. I still think that, however I clearly haven’t acheived this goal recently....

2024-02-01: Don't prefill config files

The biggest design mistake I made with Amfora, my first community open source project, was autogenerating config files. On startup, the application looks for a config file, and creates one if it doesn’t exist, full of all the application defaults. At the time, I thought this was great, as it...

2023-09-07: It's time for timestamping

Recently I’ve been thinking a lot about trusted timestamping. Normally timestamping is very easy: simply adding a timestamp field to your metadata and calling time.Now() or similar. But trusted timestamping is concerned with proving that the provided timestamp is actually correct, and wasn’t forged after the fact. This is simple...

2023-08-05: Bye, Gemini

The Gemini protocol was a big part of my COVID-19 lockdown experience. Discovering this underground, small protocol, having long discussions on the mailing list, and most importantly for me, developing software. My terminal Gemini browser, Amfora, was my first public FOSS project, something actually intended for a wider audience to...

2022-06-14: Thoughts on the Spring '83 protocol draft

Right this morning when I woke up, before I even had a glass of water, I started reading a blog post by Maya discussing a new protocol. I was immediately intrigued, and starting reading the original post, Specifying Spring ‘83. After reading through the blog post, I excitedly moved on...

2022-03-24: Wordle on the Badger 2040

When I first saw the Badger 2040 on Hacker News, I knew I had to get it. It seemed like a great little package to hack on, with an e-ink screen, buttons, and an LED, all for a good price. And finally I’d get my hands on an RP2040, which...

2021-10-04: How to create Windows EXEs for Python on Linux, using PyInstaller and WINE

Packaging a Python project into a standalone executable is often a struggle. Thankfully we have tools like PyInstaller to make this easier. Recently I ran into another struggle of my own, which was that it seemed impossible to “cross-compile” with PyInstaller. That is to say, run PyInstaller on one OS,...

2021-03-19: NFTs

I just looove NFTs, don’t you?!! No problems or concerns, just the perfect way to share the value of art with everyone. And make some good honest money in the process!! That’s why I’ve launched my own NFT marketplace, one that’s better than all the rest!! No fuss, no waiting,...

2021-02-12: Ditherpunk 2 — beyond 1-bit

Last updated: Dec. 25, 2022 This post contains some images that need to be viewed at 100% size to be seen correctly. If you normally browse at a higher zoom level than 100%, please zoom out when you get to any of the images. Unfortunately some of these images are...

2021-01-29: Don't use the LGPL for Go code

TL;DR: Use the Mozilla Public License (MPL 2.0). It’s like the LGPL, but allows static linking. I’m working on a dithering library in Go. I’ll be releasing it soon, in a few weeks maybe, and I’ll write a post about it when that time comes. But it got me thinking...

2020-11-13: Introduction to Go Modules

I’ve seen many people online talk about liking Go and using it, but being confused by its dependency system, called Go modules. This blog post aims to provide a simple introduction with examples. It focuses mostly on Unix-based systems like Linux and macOS over Windows. This post does not cover...