Sign in

Nate Finch

@natefinch.bsky.social
2.2K followers 385 following 286 posts

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.

PostsRepliesMedia
Nate Finch @natefinch.bsky.social · 24/09/2026
In my new game, Power Adapter, every character has four stats....
Photo of the box of an AC/DC power adapter. At the top, it says"Power Adapter". 
At the bottom left are the four words: 
Small
Move
Fast
Security 
Each has a white square next to it. The four words look vaguely like an RPG character sheet.
000
Nate Finch @natefinch.bsky.social · 22/09/2026
I've been rewatching Strange New Worlds with my kids and I love it so much. It reflects so much from the Original Series. I don't think I realized as a kid that 50% of TOS episodes were social commentary and 50% were the writers being like "what if this completely ridiculous thing happened?"
010
Nate Finch @natefinch.bsky.social · 03/09/2026
If I bought a popsicle company, I would make a product that's a box of all-red popsicles, charge double what we charge for the regular assortment, and instantly become a billionaire.
000
Nate Finch @natefinch.bsky.social · 01/09/2026
I wonder if people would feel differently about LLM image generation if it spat out a script that contained Photoshop brush strokes and color picker changes etc, as if it were trained by watching how real artists physically create art. Probably not, but it's an interesting thought exercise.
110
Reposted by Nate Finch
Chris Short @chrisshort.net · 25/08/2026
Amazon kept shutting down my tablet, so I spent $266 on four AI models to own it #devopsish ericpardee.github.io...
151
Nate Finch @natefinch.bsky.social · 24/08/2026
Why am I having to argue with a senior engineer about the benefits of commenting your code, in the year of our lord 2026? In 2017, I said you should comment your code: npf.io/2017/11/comm... LLMs only make the case stronger today, since they can do it for you, which eases the burden entirely.
130
Nate Finch @natefinch.bsky.social · 13/08/2026
One of the best things about using AI at work is that I don't have to feel as guilty about leaving 15 review comments on a PR, since the author can just tell the AI to go fix them.
010
Nate Finch @natefinch.bsky.social · 04/08/2026
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?
100
Nate Finch @natefinch.bsky.social · 14/07/2026
This is 2 miles from where I grew up. From where my mother still lives. I have driven by here countless times. Officers cannot shoot people just because they are running away. www.sunjournal.com/2026/07/13/i...
sunjournal.com
ICE agent kills man in Biddeford, spurring protests
Joan Sebastian Guerrero, 26, was not the target of the warrant agents were trying to execute, federal officials said.
100
Nate Finch @natefinch.bsky.social · 02/07/2026
context.Context is Go's colored function headache
010
Nate Finch @natefinch.bsky.social · 04/06/2026
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...
github.com
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 ...
111
Reposted by Nate Finch
Bryan Liles @bryanl.dev · 20/05/2026
So, come to find out, it is possible to create a reparations program after all.
2367
Nate Finch @natefinch.bsky.social · 20/05/2026
Announcing MoxMox - a browser extension that enables playing Dandan on Moxfield's playtester. It also enhances the use of Moxfield on Spelltable, Convoke, and similar online game pages. theloreaxe.org/posts/2026/0...
theloreaxe.org
Announcing MoxMox
MoxMox is a browser extension that enables multiplayer functionality inside Moxfield's playtester UI, including support for playing DanDan and other shared deck games with friends.
100
Nate Finch @natefinch.bsky.social · 19/05/2026
If you know someone who has written articles about Magic, especially way back in the day, please reach out and see if they'll allow Gregor to host the articles. This is such an invaluable resource.
001
Reposted by Nate Finch
Chris Kluwe @chriswarcraft.bsky.social · 12/05/2026
Trans rights are human rights and this administration is an abomination of hate and greed.
313051998
Nate Finch @natefinch.bsky.social · 12/05/2026
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.
2327
Nate Finch @natefinch.bsky.social · 12/05/2026
Are you really a Senior Engineer if you haven't said No to someone's proposal in the last week?
120
Nate Finch @natefinch.bsky.social · 22/04/2026
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.
010
Reposted by Nate Finch
Ant Stanley @iamstan.dev · 17/04/2026
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.
052
Nate Finch @natefinch.bsky.social · 22/04/2026
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.
110
Nate Finch @natefinch.bsky.social · 12/04/2026
Driving in Boston be like
Image from GPS showing an intersection with 3 lanes including a hard right turn, right turn, slight right turn, and straight that turns into a right, straight or left turn, with roads named John F Fitzgerald, Surface Rd and Surface Rd.
041
Nate Finch @natefinch.bsky.social · 26/03/2026
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.
021
Nate Finch @natefinch.bsky.social · 08/03/2026
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
120
Reposted by Nate Finch
Erin Reed @erininthemorning.com · 27/02/2026
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.
561151397
Nate Finch @natefinch.bsky.social · 12/02/2026
#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.
250
Nate Finch @natefinch.bsky.social · 29/01/2026
In case you were looking for something to wear on a night around town.
010
Reposted by Nate Finch
Hannah BW @hbwhbwhbw.bsky.social · 28/01/2026
my grandmother, an Auschwitz survivor, was Anne Frank’s neighbor in Amsterdam, and Oma thinks this comparison is perfectly apt
11277731921
Reposted by Nate Finch
Opal @opalescentopal.bsky.social · 27/01/2026
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.
16824
Nate Finch @natefinch.bsky.social · 28/01/2026
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.
110
Nate Finch @natefinch.bsky.social · 27/01/2026
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.
031
Nate Finch @natefinch.bsky.social · 22/01/2026
ICE, evidently
Meme of Ron Swanson in which the top image has an officer challenging Ron in a park. The meme text at the top says "You can't just ignore the 4th ammendment!"  The subtitles for the scene have Ron saying "Not to worry, I have a permit."

The second image is a piece of printer paper that just has "I can do what I want" printed on it.
The meme text on the image says - This is just a memo that says "I can do what I want"
020
Nate Finch @natefinch.bsky.social · 22/01/2026
#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.
252
Nate Finch @natefinch.bsky.social · 09/01/2026
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.
000
Nate Finch @natefinch.bsky.social · 10/11/2025
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.
111
Nate Finch @natefinch.bsky.social · 04/11/2025
This is not the post apocalyptic RPG I was promised.
001
Nate Finch @natefinch.bsky.social · 31/10/2025
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:
210
Nate Finch @natefinch.bsky.social · 24/10/2025
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.
110
Nate Finch @natefinch.bsky.social · 04/09/2025
Unpopular opinion on HTTP APIs - just use POST for everything and never put variables in your routes. Spent like an hour yesterday debugging weird behavior. Turns out, I was hitting the wrong route accidentally, because our routes overlapped in non-obvious ways.
310
Nate Finch @natefinch.bsky.social · 08/08/2025
When designing the errors that you return to 3rd parties (whether from an API or SDK) please default to not returning sensitive data in your error messages. I've spent SO MUCH TIME handling bugs where we log customer data or return sensitive provider info from our API because of this.
141
Nate Finch @natefinch.bsky.social · 31/07/2025
Unpopular opinion, but the "options" pattern in Go is just bad. The biggest problem is that it greatly hinders discoverability. I type foo.NewBar( and my IDE shows the signature includes ...foo.BarOptions. What are the options? Dunno. I have to look through all functions in the package. #golang
240
Nate Finch @natefinch.bsky.social · 30/07/2025
Saw a post on reddit about dependency injection in Go and... please don't use libraries for that stuff. DI in Go should be just "create a value in main.go, pass it to a struct that takes an interface for it. If other structs need a copy, pass it along." That's it. That's dependency injection in go.
230
Nate Finch @natefinch.bsky.social · 30/07/2025
This is 100% correct. AI isn't going to tell you that your assumptions are wrong, that product management changed their mind about that last week, that we tried that before and it doesn't work... etc. But it is definitely like a pretty smart linter that you don't need to configure ahead of time.
010
Nate Finch @natefinch.bsky.social · 24/07/2025
Got issued new debit cards from Capital One. Noticed they were Discover branded. I thought - they're debit cards, no way they won't be accepted at places that "don't take discover" right? Wrong! Good job, Capital One. You've forced me to find a new bank.
030
Reposted by Nate Finch
Ron Hacker @ronhacker.bsky.social · 13/06/2025
243156003657
Nate Finch @natefinch.bsky.social · 02/05/2025
Oftentimes, the simple solution is the best one. If your traffic is fairly predictable, you don't need auto scaling, you just need a chron job that scales up during your busy times. It'll be way easier to implement, debug, and maintain.
130
Nate Finch @natefinch.bsky.social · 11/02/2025
Please just use ints. If a number (like an ID or a length) should always be positive .... you should use a (signed) int. Why? Because it prevents bugs. If you calculate a length to be -2 bytes, that's clearly a bug. If you are converting that to a uint32, it becomes 4294967294.
450
Nate Finch @natefinch.bsky.social · 25/01/2025
Was watching Ready Player One with the kids and I noticed one of the bombs they throw in the game was one of these and wow, core memory unlocked there. I haven't seen or thought of these in like 40 years. Evidently they're called Madballs. I'm sure I had some when I was like 8.
Image of 8 toy balls called Madballs, each has a cartoon zombie-like face.
110
Reposted by Nate Finch
Hank Green @hankgreen.bsky.social · 24/01/2025
Somebody yelled at me for posting about Ganymede instead of /the state of things/ last night. I know we’re (almost) all on the same page here, but a Bluesky without cute cats, science facts, and dumb jokes would be bad for everyone.
2206631043079
Nate Finch @natefinch.bsky.social · 07/01/2025
Anyone have tips on how to teach people to perform thorough code reviews? I am a very thorough reviewer, but I'm not sure how to teach someone else how to look for problems in a PR. Not specific to #golang but also that is the language I am using :)
310
Nate Finch @natefinch.bsky.social · 18/12/2024
This is what I've been working on recently. Full GitHub Copilot for $0 forever.
080