Responsibility for AI systems means little without informed agency, and the AI industry's pattern of opacity around training data, environmental costs, and system prompts is a structural failure to sustain it.
Blog by Jade Michael Thornton
Blog by Jade Michael Thornton
- Public lists
- I ♥ RSS
- Fetched
The Dakota War of 1862, Part One: When Patience Ran Out
The first of a three-part history of the Dakota War of 1862: how broken treaties, fraudulent translations, and a winter of starvation brought the Dakota to the night they chose war.
The Dakota War of 1862, Part Three: The Reckoning
The last of a three-part history of the Dakota War of 1862: the military tribunals, the largest mass execution in American history, and the exile of the Dakota people from Minnesota.
The Dakota War of 1862, Part Two: Six Weeks
The second of a three-part history of the Dakota War of 1862: six weeks of fighting along the Minnesota River valley, from the first attacks to the Dakota surrender at Camp Release.
StormScope: Giving Real-Time Weather Data to Your AI
An open-source MCP server that gives AI assistants access to real-time US weather data from seven sources, enabling grounded meteorological reasoning.
Weather Station Forwarder on Cloudflare Workers
How I ported a Google Apps Script weather station forwarder to Cloudflare Workers to push my Tempest readings to CWOP, Weather Underground, PWSWeather and Windy.
Business Is Not War
Frank Slootman's Amp It Up gets some things right about standards and focus, but its war metaphors and urgency obsession miss how good work actually happens.
Your AI Is Not Your Co-Author
AI coding agents have started adding themselves as commit co-authors by default, claiming a moral responsibility they cannot hold.
Why is Dodd Road Discontiguous?
A brief history of an early highway in the Twin Cities, MN: Captain Dodd's 1853 Minnesota pioneer wagon trail, its discontiguous modern alignments, and surviving gravel segments.
Walden and Bdote: Land, Protest, and the Forgotten Cost of American Freedom
Org-roam: Automatically Set Node Created and Modified Dates
Enhancing Org-roam nodes with auto-updating created and modified properties.
Connecting consult-line with isearch history
Adding the latest consult-line search term to isearch history for easy search continuation
A list of the best bug write-ups I've read
A modest list of interesting blog posts containing tech mystery stories exploring how a bug or mistake came about, how it was discovered, and how it was fixed.
Snyk Language Server in Emacs
Setting up the Snyk Language Server for use in Emacs by defining a custom server connection in LSP Mode
A Few Lesser-Known Emacs Packages
A continually updating list of my favorite lesser-known Emacs packages
Overriding project.el project root in Emacs
A short function to override what project.el thinks your project root is with a hidden file
Halfway on Main: Thoughts on Clean Architecture
Uncle Bob ignores his own advice when considering the 'Main' component, but we can improve on his thoughts and learn from them.
Remove (deinit) a Git submodule
A quick reminder of how to remove a Git submodule, because I always forget
Fix Steam 'Corrupt Update Files'
How to fix the annoying error when downloading or updating some Steam games, which reports the error 'Corrupt Update Files'
Automatically add Jira issue to commit message from branch name
When your git branch name contains an issue number (e.g. from Jira), automatically format git commit messages with the issue number at the end
Data Paradigms in TCL: Associative Arrays vs Dictionaries
Understanding the fundamental differences between TCL's associative arrays and dictionaries, and when to use each.
A Known SSH Socket for Tmux
Using a known, shared SSH socket to enable agent forwarding through an existing tmux session
TCL Wat
A collection of weird TCL edge cases and gotchas I've encountered while working at FlightAware.
What's new in http-server v0.12?
A preview of upcoming features in http-server v0.12, including Brotli compression, configuration files, and improved error handling.
Fixing cmdline for Non-Terminal Usage
A fork of the TCL cmdline package that fixes a bug preventing usage in non-terminal contexts by removing the dependency on argv0.
ClearNight Retro
Introducing a new dark, relaxed retro theme for the Atom text editor
I successfully compiled the xmr-stak miner with CUDA
After many errors and failures, I found a method to successfully compile the xmr-stak unified XMR miner with CUDA support
The Internet worm of 1988: A Tour of the Worm
On the evening of November 2, 1988, a self-replicating program was released upon the Internet. Within the space of hours this program had spread across the US.
Remove an element from an Array in Javascript
A new Javascript function to remove any element from an Array in an intuitive way, with support for negative indexing.
What's new in ECMAScript 2017
Two years ago, ES6 gave a massive update to the already powerful ECMAScript standard. This year's release, ECMAScript 2017, provides several new features and changes. Let's take a look