James Westman's little corner of the web

Latest Posts

Tutorial: Mobile App Development with GNOME Builder

In my previous post, I described Builder’s new support for mobile device development. Here I’ll explain how to set it up on your favorite mobile Linux device.

Finishing GNOME Builder's Mobile Device Support

Recently I've been working on libshumate, the new maps library for GTK 4. I used my PinePhone to test the feature, so I needed a way to quickly build libshumate and run it on the phone.

Visual Studio Code, Flatpak, and C#: A Guide

It took me way too long to figure this out, so I figured I’d write a concise tutorial for anyone else who wants to do C# development using Visual Studio Code installed via flatpak.

Ok, but WHY is cryptocurrency so bad for the environment?

Cryptocurrency and especially NFTs (like “crypto art”) are the trendy new thing to talk about right now, and it makes sense: their power to change the world is tremendous. Of course, by “the world” I mean its climate, and I didn’t say it was a positive change.

Improving Tab Completion in Nautilus

As a heavy keyboard user, I use the location entry in Nautilus quite often to get around my filesystem. But something about it frustrated me, so I fixed it.

All Posts


Big Projects


Hourglass is a project/version manager for Godot Engine. It keeps track of your Godot Engine projects and what versions of the engine they require.

Small Projects

OSM In Realtime

Watch OpenStreetMap get updated in (near) real-time with this cool visualization!


A Godot Engine addon that provides useful RNG utilities, including an efficient weighted random number generator and a function to shuffle arrays.

VR Color Picker

A virtual reality demo for Godot Engine that includes some basic VR UI patterns.

You Forgot to Share Your Google Doc

YFTSYGD is a reddit bot that finds Google Docs links that haven't been shared properly and leaves a comment explaining how to fix it.


GeoClueless is a location faking tool for GeoClue2, the geolocation provider on many Linux distributions. GeoClueless is good for debugging location-aware applications.


I don't have the attention span or the artistic talent to make complicated games, but I still enjoy it. All my games are made with Godot Engine, a super awesome open-source game engine.

Still Another Asteroid Shooter

My first Android game. Don't expect too much of it, it's just a simple, ad-free asteroid shooting game.


Tap the colored tiles in order. That's literally the whole game.

Site made with Jekyll. Stylesheet is minimal.css.