Tom MacWright

2025@macwright.com

Micro archive

I was a fan of Deno's security model
Convex hull
Simple Statistics 8
Uglify bug
New Observable
Lawnmower story
The new geojson.io
Subscription minimizing
Encodings
Effect notes: v4, Effect.promise, and TaggedEnum
Accidental anonymity
Follow up (Putting an untrusted layer of chatbot AI between you and the internet is an obvious disaster waiting to happen)
Interview with Shelf Source
Brooklyn Experience Half Marathon
How to contribute to open source
Effect notes: PRs, progress, and joys
Placemark & OSS Changelog
ROOTS - Return Old Online Things to your own Site
Reactionary AI Centrism
Media diet
What I haven't figured out
Changing my mind
Graph layout
Misc engineering truisms
Effect notes: tRPC
Maybe rich parsers are the way to introduce rich types
Sentry's distributed tracing causes missing parent spans in Honeycomb
Effect notes: streams and such
Effect notes: fn
Effect notes: flow and cancellation
Effect notes: runtimes and logging
Placemark Sunday
Hallucination city
Effect notes: caching
LLMs pivot to the aesthetics of thinking
Fewer people should run marathons
What if people don't want to create things
First-run with agent skills from Anthropic
Pictures are famous for their humanness, and not for their pictureness
Revisiting "Rust is a hard way to make a web API"
On Interrobang with Dave DeGraw
Why D3('s DOM methods) are so verbose (another angle)
Using super
Monad annoyance
Personal canon
Observable Notebooks 2.0
Placemark updates: Vite!
The confident mind works for running
Onyx Boox Go 7 as Instapaper single-tasker
Dependency thoughts
Placemark updates
Reverse timers
The election
Putting an untrusted layer of chatbot AI between you and the internet is an obvious disaster waiting to happen
NYC Primaries June 24 - don't rank Cuomo, vote for everyone else
Blog micro-optimization
LeaderKey.app is a very good launcher
Everyone is new here
ThinkUp Tribute
Markwhen and Meridiem are great
Vitest with async fixtures and it.for/it.each
End of Twitter
Fastify decorateReply types
All hat, no cowboy
Building an NPM module
The web is already multiplayer
Talking about Placemark on the Software Sessions Podcast
An ast-grep rule requiring you to await vitest expectations
An ast-grep rule to ban bad HTML nesting in React
TIL with neverthrow
Surprising embeddings
TIL: Vitest assert
Mimestream
There should be a neovim business
How is Filecoin supposed to work?
Limits
Companies produce trash / people want trash
Travel internet notes
Maximization and buying stuff
I want brands
A warning about tiktoken, BPE, and OpenAI models
On not using copilot
TIL: Be careful with Postgres cascades
Is there really a way to push back on the complexity of the web?
Searching for the perfect neovim setup
Knip: good software for cleaning up TypeScript tech debt
Thoughts on Arc
Reddit is my Web Components reference point
If you use a domain for something popular, it will get squatted if you don't renew it
Bikeshare data notes
Wanting to build a trip planner like Embark
The unspoken rules of React hooks
The good NYC cycling paths
Crypto's missing plateau of productivity
Syncing iTerm light and dark mode with neovim
What are taxes for
Running a quick Linux container
Smart, kind, and eventual
Linting a whole project in neovim, more advanced search with telescope
Blogging under AI
TIL about requestSubmit
TIL about TypeScript and TSX
Would LLMs democratizing coding be a pyrrhic victory?
Bookish is no longer
Searching for a browser
Read your lockfiles
APIs and applications
How I use Obsidian
Remix fetcher and action gripes
Some new Browser APIs
Previous and next links for my daily note in Obsidian
Where are the public geospatial companies?
Car privacy
Migrating a Remix site to Vite
Charitable trusts
A day using zed
Takeaway from using CO₂ monitors: run the exhaust fan
Hawbuck wallets
Notes on using Linear
React is old
Hooking up search results from Astro Starlight in other sites
The S&P 500 is largely a historical artifact
Web pages and video games
About Placemark.io
Remix notes
Running motivation hacks
Incentives
Code-folding JSX elements in CodeMirror
CSS Roundup
Using Just
Headlamps are better flashlights
Don't use marked
Replay.web is cool
On Web Components
What editors do things use?
How to set headers on objects in R2 using rclone
Chrome Devtools protip: Emulate a focused page
How could you make a scalable online geospatial editor?
codemirror-continue
I wish there was a better default for database IDs
Increasingly miffed about the state of React releases
Luxury of simplicity
How are we supposed to do tooltips now?
The module pattern really isn't needed anymore
patch-package can bail you out of some bad situations
SaaS exits
You can finally use :has() in most places
Thoughts on storing stuff in databases
Hiding Peloton and Zwift workouts on Strava
How I write and publish the microblog
awesome-codemirror
Make a ViewPlugin configurable in CodeMirror
A shortcut for bash using tt
Get the text of an uploaded file in Remix