Nate Finch

@natefinch.bsky.social

Gopher at GitHub working on Copilot. Author of Mage. Dungeon Master and Magic player. Used to be NateTheFinch on the Bird Site that shall not be named.

At work, we noticed Anthropic's data retention is 29 days and OpenAI's is 30 days, and we were trying to figure out why 29 days. My hypothesis was that there's some regulation that triggers at 30 days. But then why 29 days?

MoxTags v1.8.2 is out - bringing Scryfall tags to Moxfield, Archidekt, and the main Scryfall site. Search for new cards by the most powerful search system in Magic. Tags are community-created and let you find cards with similar traits, even if they're worded differently. github.com/natefinch/mo...

Release v1.8.2 - Scryfall and Archidekt Support · natefinch/moxtags

What's New Now you will see tags on Archidekt and Scryfall as well. Installation Publishing to the Chrome and Firefox web stores is insanely slow, so until those stores finish reviewing, you may ...

github.com

Hey Senior+ engineers ... it's your job, now more than ever, to review the merits of design and product decisions based on the complexity they add to the system. Now that code is nearly free, everyone is going to be asking you to add 100 knobs to the code for their specific use case. Don't do it.

I think I produce better code with AI than I would without it. While it's not handcrafted... I now don't do the "well, I don't have time to write tests for this" or "I'll refactor that later..." instead I just tell AI to do those things, because I know they're the right thing to do.

Vera Rubin platforms are due in 2nd half of the year. We'll probably see new models trained on it in December/January. I predict we'll see 2027 Haiku level models and OSS equivalents performing at Opus 4.7 levels, and a 2027 Opus model performing beyond current Mythos capability.

Posted on Facebook about how far AI has come in the last 6 months and how much it now writes my code, and advised people to try it out because it will come to impact every job and it's better to be ahead of the curve. The divide in responses between technical vs non-technical friends was stark.

Another new release for Mage -https://github.com/magefile/mage/releases/tag/v1.17.0 Adds support for retaining line returns in help text output. Minor, but a papercut that now is fixed. Also updated the whole codebase to remove old crufty code, added tests, and a modern lint configuration.

Big update for Mage. I shipped optional arguments (flags)! Something long desired but difficult to get off the ground. Opus 4.6 took my description and nailed it in one shot. I just had to tell it to update the website with docs. Shipped in v1.16.0 magefile.org/targets/ Example below

And it has happened: Hegseth and Trump declare Anthropic a supply chain risk. Every company that has government contracts will be barred from using Claude code. It is an attempt to outright destroy the company because they did not consent to mass surveillance of Americans and AI kill bots. Wow.

6:521
•ll 5G
99
Post
...
Secretary of War Pete Heg...
@SecWar
X.com
This week, Anthropic delivered a master class in arrogance and betrayal as well as a textbook case of how not to do business with the United States Government or the Pentagon.
Our position has never wavered and will never waver: the Department of War must have full, unrestricted access to Anthropic's models for every LAWFUL purpose in defense of the Republic.
Instead, @AnthropicAI and its CEO @DarioAmodei, have chosen duplicity. Cloaked in the sanctimonious rhetoric of "effective altruism," they have attempted to strong-arm the United States military into submission - a cowardly act of corporate virtue-signaling that places Silicon Valley ideology above American lives.
The Terms of Service of Anthropic's defective altruism will never outweigh the safety, the readiness or the lives nf American tranns onaltruism will never outweigh the safety, the readiness, or the lives of American troops on the battlefield.
Their true objective is unmistakable: to seize veto power over the operational decisions of the United States military. That is unacceptable.
As President Trump stated on Truth Social, the Commander-in-Chief and the American people alone will determine the destiny of our armed forces, not unelected tech executives.
Anthropic's stance is fundamentally incompatible with American principles. Their relationship with the United States Armed Forces and the Federal Government has therefore been permanently altered.
In conjunction with the President's directive for the Federal Government to cease all use of Anthropic's technology, I am directing the Department of War to designate Anthropic a Supply-Chain Risk to National Security.
Effective immediately, no contractor, supplier,therefore been permanently altered.
...
In conjunction with the President's directive for
the Federal Government to cease all use of Anthropic's technology, I am directing the Department of War to designate Anthropic a Supply-Chain Risk to National Security.
Effective immediately, no contractor, supplier, or partner that does business with the United States military may conduct any commercial activity with Anthropic. Anthropic will continue to provide the Department of War its services for a period of no more than six months to allow for a seamless transition to a better and more patriotic service.
America's warfighters will never be held hostage by the ideological whims of Big Tech.
Erin Reed@erininthemorning.com · 5mo ago

Update: Trump announces end of business with Anthropic, unclear if they are going to invoke supply chain risk designation. Calls it a “radical left, woke company” after it rejects demands for AI usage in mass American surveillance and autonomous killing drones. Wild timeline.

#golang pro-tip: Fallthrough literally falls through to the *next* case statement, no matter what the next `case xxxx` statement checks. Fallthrough does not continue checking case statements and it doesn't jump to the `default:` statement.

In the world of professional cryptographers, the question is a settled matter: as of early 2026, Signal is the best encrypted messaging app for all but the most utterly pathological of edge cases.

All of these ICE and CBP mf'ers deserve to be in jail. Congress needs to end qualified immunity. Being a state or federal officer does not *lower* the bar for your actions, it *raises* it. You are supposed to be trained. You are supposed to defend our rights, not violate them.

One of the most important powers of a senior engineer is the ability to say "No", and have people actually listen. Do not hesitate to use this power to protect your team and your project. Many people will ask "how" to accomplish something, but few will ask *if* this is a thing that should be done.

#golang hot tip - if an interface is 95% Getters, you should probably instead use plain old struct fields, and use logic at creation time to populate the fields differently for different types. Separating logic and data will make your code easier to maintain and understand.

Today's task: Trying to convince product that we don't need special logic to mark a particular category of requests as free... when those requests only amount to 0.2% of the average user's costs anyway. This is like buying a $10 meal and worrying about whether they charge you 2 cents for the straw.

The most important thing you can do when building an HTTP API is to define a json error response body and unique response codes. HTTP status codes are *not* sufficient. Clients need more detail to provide a good UX for users. There are a million things that can cause a 400 Bad Request, for example.

This week at work, we learned about how overloading the CPU can cause your process to get killed for using too much memory. It's unintuitive at first, but in the context of an API server, it makes sense once you think through it. Here's what was happening:

Perhaps a 🌶️ take: Do not rely on docker / codespaces / env variables / setup scripts to make your dev environment function. Doing a git pull should *never* break the dev experience. Make fixes for the dev environment in-code, so that updating the code is all you need to do to continue working.