Nate Finch @natefinch.bsky.social · 24/09/2026In my new game, Power Adapter, every character has four stats.... 000
Nate Finch @natefinch.bsky.social · 22/09/2026I'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/2026If 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/2026I 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 FinchChris Short @chrisshort.net · 25/08/2026Amazon 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/2026Why 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/2026One 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/2026At 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/2026This 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.comICE agent kills man in Biddeford, spurring protestsJoan Sebastian Guerrero, 26, was not the target of the warrant agents were trying to execute, federal officials said. 100
Nate Finch @natefinch.bsky.social · 04/06/2026MoxTags 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.comRelease v1.8.2 - Scryfall and Archidekt Support · natefinch/moxtagsWhat'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 FinchBryan Liles @bryanl.dev · 20/05/2026So, come to find out, it is possible to create a reparations program after all. 2367
Nate Finch @natefinch.bsky.social · 20/05/2026Announcing 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.orgAnnouncing MoxMoxMoxMox 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/2026If 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 FinchChris Kluwe @chriswarcraft.bsky.social · 12/05/2026Trans rights are human rights and this administration is an abomination of hate and greed. 313051998
Nate Finch @natefinch.bsky.social · 12/05/2026Hey 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/2026Are 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/2026I 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 FinchAnt Stanley @iamstan.dev · 17/04/2026Vera 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/2026Posted 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 · 26/03/2026Another 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/2026Big 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 FinchErin Reed @erininthemorning.com · 27/02/2026And 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. 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/2026In case you were looking for something to wear on a night around town. 010
Reposted by Nate FinchHannah BW @hbwhbwhbw.bsky.social · 28/01/2026my grandmother, an Auschwitz survivor, was Anne Frank’s neighbor in Amsterdam, and Oma thinks this comparison is perfectly apt 11277731921
Reposted by Nate FinchOpal @opalescentopal.bsky.social · 27/01/2026In 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/2026All 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/2026One 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#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/2026Today'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/2025The 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/2025This is not the post apocalyptic RPG I was promised. 001
Nate Finch @natefinch.bsky.social · 31/10/2025This 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/2025Perhaps 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/2025Unpopular 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/2025When 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/2025Unpopular 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/2025Saw 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/2025This 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/2025Got 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
Nate Finch @natefinch.bsky.social · 02/05/2025Oftentimes, 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/2025Please 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/2025Was 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. 110
Reposted by Nate FinchHank Green @hankgreen.bsky.social · 24/01/2025Somebody 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/2025Anyone 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/2024This is what I've been working on recently. Full GitHub Copilot for $0 forever. 080