- Why Security Checklists Fail (And What Aviation Gets Right)
Sep 15, 2025
-
4 min read
As a pilot who’s also guilty of creating monster security checklists, I finally realized the perfect example was right under my nose at 10,000 feet. Turns out aviation has been solving the ‘comprehensive vs. actually useful’ checklist problem for decades—and we can steal their homework.
- I Was Wrong About AI
Aug 22, 2025
-
2 min read
After initially viewing AI as just another hype cycle driven by market pressures, I became a daily user when Claude Code allowed me to harness AI’s power within my existing development workflow.
- Streamlining SSH Key Management with 1Password
Oct 14, 2024
-
4 min read
Fed up with losing SSH keys during my annual machine rebuilds, I discovered 1Password’s SSH Agent functionality. With some configuration tweaks, I now manage keys securely across devices and projects while adding MFA protection to every SSH operation.
- Cross Platform Encryption using AES-256 (NodeJS, PowerShell, C#)
Oct 13, 2024
-
5 min read
Cross-platform encryption is a pain - different languages, same algorithm, different implementations. Here’s working AES-256 code for C#, Node.js, and PowerShell that actually interoperates correctly, so you don’t have to debug crypto edge cases.
- A New Chapter for mattgoodrich.com: From Web Forms to Markdown with Jekyll
Dec 22, 2021
-
1 min read
After 14 years of domain ownership and multiple redesigns, I finally found the perfect solution: a Jekyll static site on GitHub Pages. No more worrying about AppPools, NGINX configs, or hosting costs - just markdown files and content focus.
- Google Analytics .NET Integration
Dec 27, 2010
-
9 min read
How I built an integration with Google Analytics with ASP.NET
- Creating a Simple Function to Get a Short URL with Bit.ly API
Jul 2, 2010
-
2 min read
I wanted a quick and easy way to get a short URL for my blog posts, so I used the bit.ly API and created a simple function in C# to handle it. With this function, you can easily shorten any URL by passing it as an argument.
- Displaying Flickr Photos on a Web Page with C# and ASP.NET
Jun 20, 2009
-
3 min read
I was able to display my Flickr photos on a web page using the Flickr.Net API, which involved creating a repeater in an ASP.NET page and writing some backend code in C#. The end result is a simple paginated photo gallery that retrieves photos from Flickr based on user ID and other parameters.
- Using the Ajax Popup Control Extender with GridView and Radio Buttons
Jun 19, 2009
-
2 min read
I was able to create a popup control extender with radio buttons for selecting logos in a GridView. The backend code was written in C# and used to populate the radio button list based on files in an image folder.
- Overcoming UpdatePanel Loading GIF Issues with Custom JavaScript Handlers
Jun 18, 2009
-
2 min read
I was struggling to get a loading GIF to display when updating my ASP.NET UpdatePanel, but I finally found a solution that works for me. By using custom JavaScript handlers, I can now control the display of my loading GIF based on specific conditions.