Tom MacWright

tom@macwright.com
Recently
Recently
Work hard and take everything really seriously
Placemark is now open source
Year in Review
Homeownership
Recently
Placemark is going open source and shutting down
Roll
Recently
Rendering Tidbyt graphics in Rust
Recently
Masked email is a killer feature for Fastmail
Playing with bikeshare data, part one
Recently
Open charter companies and relicensing
Recently
Recently
Recently
The one about AI
Recently
Competition
Recently
Recently
On Placemark
Val.town
Recently
My favorite books of 2022
Playing with ActivityPub
Recently
Web technology optimism hour
Recently
Recently
Hacker News
Focus
Wilderplace
Recently
Recently
Activation
Lumina: a review
Recently
Recently
Are new geospatial formats useful (to me?)
Recently
Hivemapper impressions
Recently
Tidbyt: a review
Using files with browsers, in reality
Indie bookshelves
Development notes
Recently
A semblance of understanding
Recently
Sharing in the presence of computers and corporations
Recently
In defense of verification
Recently
Recently
Recently
Hacking is the opposite of marketing
Two Wishes for Dev Tooling
Recently
You can now buy this theme
Recently
Recently - New York
The return of fancy tools
Vendor by default
Immutable approaches
Recently
One way to represent things
A year of Rails
Picking better names for variables, functions, and projects
Recently
Tom Rates Hills: Tank Hill
GEDCOM
Rust is a hard way to make a web API
Recently
It's better to be naive than jaded
The new reading stack
Review: Keyboardio Atreus
Sharrows, the bicycle infrastructure that doesn’t work and nobody wants
Recently
Monetization experiments on this website
Recently
If not SPAs, What?
Tom Rates Hills: Holly Park
Tom Rates Hills: Mount Sutro
Recently
Recently
A clean start for the web
Recently
Recently
Ethics in Geo
Recently
Second-guessing the modern web
Linkrot
Recently
Elm
Recently
Dark
Chess
Meditation
Recently
Math keeps changing
Recently
Prepper-style music hoarding
Rails
Tom Rates Hills: Kite Hill
Recently
Something is wrong with computers
Recently
Recently
Power
Finishing side projects
Tom Rates Hills: Billy Goat Hill
Recently
Beware the ethical car
Zero-sum
Arweave
Recently
IPFS, Again
Recently
Dear map people
Elizabeth Warren
Big 4
Trees
Accessibility: buttons
Recently
Tom Rates Hills: Bernal Heights
Accessibility: Color contrast is a problem
How to maintain a bunch of open source projects
Recently
Photos
A way to do CSS for applications
How to blog
Recently
Roll 1
Shiny stuff in the pipeline
Stumbling blocks on the way to web performance
Paper notes
Recently
Recently
Writing a small module in 2018
Tom Rates Hills: Mount Olympus
My trees
You probably don't mean simplistic
Recently
Tom Rates Hills: Twin Peaks
D12 - a prototype and documentation braindump
Tom Rates Hills: Corona Heights
Recently
Tom Rates Hills: Buena Vista
Glow
Recently
Permit me to convince you to get a library card
Recently
Against magic
How and why I use (neo)vim
Recently
Ethics are not enough
Recently
The simplicity of dropping Google in 2018
How and why I illustrate
The other kind of privacy
Recently
Remember the winter
Advice to the newish programmer
Quick thoughts: on the introduction of technology
Recently
Box breathing box
Year in review
Owning my reading log
Recently
Trees
On font fallbacks and failures
Recently
Carrying a camera
Blogs I read
Updates & fixes
Denial of coevalness
Recently
Plants
Recently
So you want to decentralize your website with IPFS
Recently
JavaScript wats, dissected
So you want to decentralize your website
Recently
Software - what I use
State of documentation.js
0 Tweets
Recently
Data science scratchpad
The silliness of claiming rejected universal values
Wah, a slightly higher level language for WebAssembly, with a reference compiler in Clojure
My Mountain Dulcimer
Unshipping
HTTPS
Tinkerings
How to try to not mansplain
zeroarg
Recently
Trees, Elm, whiteboardable algorithms
Big 3
ES6 Modules aren't just syntax sugar
Piano Roll
Day 2
Working on documentation.js
Simple Statistics 3
Recently - next
Map, a moderately better dictionary datastructure for JavaScript
The bad kind of good kind of problem to have
Recently
Miscellaneous
The case against open source by default
Recently
Numbers
Where my donation dollars are going
What little I know about design
Placebo privacy
Harder than it looks: globs
A mental model of what d3-queue does
That time I was a jerk
Polite Technology, Open Review
Everything you need to know now about RFC 7946 GeoJSON
Recently
Animating d3 and React
Mixing d3 and React
Everything is fine with JavaScript
The 180th Meridian
Zapier as quantification bot
Recently
Penmanship and programming education
Optimistic and Pessimistic Versioning
Free services
Restrictive programming
Promises
Dumb Redux
Recently
Write-only Twitter
soapbox: longitude, latitude is the right way
jscodeshift - the find and replace of your dreams
Undo and redo in Elm
New wave modularity with Lerna, monorepos, and npm organizations
Recursion
That little world
Falsehoods developers believe about GeoJSON
Simple Statistics 2
Recently
My Electric Objects EO1
I'm writing a book
Printed running map
Math as SVG for fast webpages
This page weighs 15kb
Things Learned
Maps of Numbers
Writing truthful documentation
Simple lessons learned about building things
Sorting
Voice
Bracketing
Recently
Polite Technology
Simple undo and redo in ClojureScript
Recently
I'm putting 40 projects up for adoption
Big 2
documentation.js 4 beta
Flow in Mapbox Studio
geojson.xyz
Recently
documentation.js 3.0.0
Groovy, Teen Mom's final album
Redesigning Istanbul
How we got here
Recently
I have used all the todo lists
Recently
Canvas animations on maps
Practical ramda - functional programming examples
Mapnik's Second Act
Map Codeflow
Simple undo in JavaScript with Immutable.js - the video
Canvas Animation
Recently
Charts in 2015
How Everyone Documents
Recently
Recently
Simple undo in JavaScript with Immutable.js
In defense of JSDoc
Big 1.0.0
Recently
More than you ever wanted to know about GeoJSON
JavaScript Diagnosis
Recently
Errors
beyond the for loop
Recently
Typing is not the problem
See Also
ownership
parse-gedcom
making juice with reduce / foldl
Recently
cream
Solving Earth Problems
Waltz
RPL (2) - Terrarium
Three Things
RPL (1)
Recently
Foreground
Sense City
Recently
Recently
DCTN
Recently
The Best Font for Programming: M+
Recently
Recently
DC Code Hackathon: v2
Fuzz Testing
Recently
Teaching
TAP & Tape, the awesome way to test JavaScript
Recently
Simple Open Data
Recently
mapschool
Recently
Recently
Recently
A Literate Raytracer
Point and Shoot
Recently
Buttons
Recently
Repetitive Process
subscript
Transportation
Recently
geojson.io
How Callbacks Work
d3 for HTML
Recently
Just Enough SVG
Biggie
Recently
Recently
A Sunday & An Open DC Code
The Open Code
Recently
Math for Pictures
Recently
The Code: Access vs. Ownership
You Cannot Have the DC Code
Literate Jenks Natural Breaks and How The Idea Of Code is Lost
State Law is Public Domain. What's Public Domain?
How the Law is Compiled in Washington DC
How The Law Is Written and Passed in Washington, DC
Mistakes
Recently
Javascript Module Pattern, Memory, Closures
Thinking Static
Recently
toGeoJSON
Recently
Film
Indexing and Searching Big Static Data
Microsoft Excel and the Folk Tradition of Technology
CSS For Maps
GIS with Python, Shapely, and Fiona
windchime
Recently
Open Source Projects, A Year On
Mapping Protips
Considering CSS
Heard
Recently
k-means clustering
bikelawDC
On Scrapers
Police Tweets
Running maps redux
mapmote, a powertool for OpenStreetMap editing
Interacting with Image Maps
Days and Exports
Images as Maps
Why Statistics?
Stream Statistics
Recently
A Year
Simple Statistics
Recently
Gravity Always Wins
The Module Pattern, A Little More Detail
How Web Maps Work
Recently
Grayscale
Mean Tom - Teen Mom
node-fresh
Recently
Project it Yourself
Minute
Recently
Shadowplay
Rhumb Lines and Great Circles
Understanding Map Projections
Yell, a Yelp Exporter, and TOSes
The Wary Guide to OpenLayers
JS Security With Untrusted Code
Longitude Over Time - The End of 2011
November 2011
xtw - a menu bar item for taskwarrior
San Francisco
Odd Maps and How to Make them
GIF Polyrhythms & GIF CLOCK
Big
The Month - October 2011
Client-Side Javascript Testing & happen
Writing Javascript for Size
Your Superfund - Voronoi Tesselations
Colorado
Maze
Easey, DND, and Updates
whyday hacks - Sketch
whyday hacks - Heckle
Sidenotes
Fast, Hacky Geospatial Queries with UTFGrid
Monthly Consumption August 2011
A New Running Map
The First Node DC Meetup
The Banjo
Monthly Consumption July 2011
July 4th, 2011
Hello, Internet