Sign up

Blog by Jade Michael Thornton

Not verified No WebSub updates No webmention support Not yet validated

Blog by Jade Michael Thornton

Public lists
I ♥ RSS
Fetched

Blog by Jade Michael Thornton

Responsibility Without Informed Agency: Kant do That

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

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

Walden and Bdote: Land, Protest, and the Forgotten Cost of American Freedom

 In June of 1861, a steamboat3 carrying Minnesota's governor, political dignitaries and a group of white observers drew up at the Redwood Agency for what would become the last peaceful treaty payment to the Dakota people4 before betrayal, starvation, and violence made such c...

Blog by Jade Michael Thornton

Org-roam: Automatically Set Node Created and Modified Dates

Enhancing Org-roam nodes with auto-updating created and modified properties.

Blog by Jade Michael Thornton

Connecting consult-line with isearch history

Adding the latest consult-line search term to isearch history for easy search continuation

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

Snyk Language Server in Emacs

Setting up the Snyk Language Server for use in Emacs by defining a custom server connection in LSP Mode

Blog by Jade Michael Thornton

A Few Lesser-Known Emacs Packages

A continually updating list of my favorite lesser-known Emacs packages

Blog by Jade Michael Thornton

Overriding project.el project root in Emacs

A short function to override what project.el thinks your project root is with a hidden file

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

Remove (deinit) a Git submodule

A quick reminder of how to remove a Git submodule, because I always forget

Blog by Jade Michael Thornton

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'

Blog by Jade Michael Thornton

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

Blog by Jade Michael Thornton

Data Paradigms in TCL: Associative Arrays vs Dictionaries

Understanding the fundamental differences between TCL's associative arrays and dictionaries, and when to use each.

Blog by Jade Michael Thornton

A Known SSH Socket for Tmux

Using a known, shared SSH socket to enable agent forwarding through an existing tmux session

Blog by Jade Michael Thornton

TCL Wat

A collection of weird TCL edge cases and gotchas I've encountered while working at FlightAware.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

ClearNight Retro

Introducing a new dark, relaxed retro theme for the Atom text editor

Blog by Jade Michael Thornton

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

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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.

Blog by Jade Michael Thornton

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