Tom MacWright

Tom MacWright

Tom MacWright

Hi, I’m Tom. Right now I’m building Val Town, a tool for joyful programming, and working on Placemark, a tool for creating maps.

Latest Posts

I've been reading the new Sally Rooney novel, Intermezzo. It's really beautiful. The perfect kind of novel to read slowly. She manages to write prose that's engaging at the micro and macro levels - beautiful sentences, as well as lovely...
I spent a lot of time outside in April. The first two weekends I did long bike rides: from Brooklyn to Tarrytown along the Old Croton Aqueduct trail, and out to Rockaway Beach via the Marine Parkway Bridge & Cross Bay Memorial...
When I started this blog in 2011, I built it using Jekyll. Jekyll served me well for fifteen years. It was fast enough, and though it would take me an hour or two to get the system reinstalled when I switched laptops, it mostly just...
The mascot of ATmosphereConf is a goose, accompanied by the motto we can just do things. I thought about this line often while I was in Vancouver for the event. Everyone was active: writing, managing communities, building side projects...
I have a bunch that I want to write about this month, but that'll all be in different posts. Just got back from Atmosphere Conf in Vancouver and settling into a false Brooklyn summer.ReadingI read so much this month but have little to...
I haven't made anything with AT Proto.Okay, technically, I did made the Bluesky ThinkUp Tribute, which syncs with your Bluesky account and sends a nightly email about who changed their bio or handle on the website. It's a great little...
The snow has been tough for my running schedule in February but it's starting to clear and temperatures have started to lift. Yesterday got in a solid 45 miles of cycling, including up to this point near the George Washington Bridge, and...
I recently took an hour or two to stitch together a new tote bag. I have a stash of materials for this because a sewing company in Brooklyn's 'Industry City' (an isolated business park) was going out of business. I regret not buying out...
On Friday I decided to revisit the topic of dithering to add color. Back in 2017 I made a lot of interactive examples on Observable showing different kinds of dithering. It was fun: I distinctly remember when dithering was still a...
Listening<a href=https://greetdeath.bandcamp.com/album/die-in-love>Die In Love by Greet Death</a>Via David Crespo, I got into Greet Death, a band that's been hustling since 2011. It's great in a simultaneously familiar and innovative...
I've been sticking to a sketching routine recently: every day I draw at least once face.Faces are different for me than any other kind of drawing. Somewhere in the process the face looks real enough for me to recognize it as a human...
Two weeks ago I added dark mode to this website. It was late one night and I was revisiting an article and my eyes were tired, so that was that. It was based solely on system dark mode settings, and I started using some more nice, modern...
Two weeks ago I added dark mode to this website. It was late one night and I was revisiting an article and my eyes were tired, so that was that. It was based solely on system dark mode settings, and I started using some more nice, modern...
If you're running JavaScript on a server, how do you import a module? Traditionally, imports looked like this, with CommonJS: const axios = require('axios'); But now they look like this with ECMAScript Modules: import axios from 'axios';...
If you’re running JavaScript on a server, how do you import a module? Traditionally, imports looked like this, with CommonJS: const axios = require('axios'); But now they look like this with ECMAScript Modules: import axios from 'axios';...
Search Random