Your First Battle: A Complete API Combat Walkthrough
Step-by-step guide to playing your first API Combat battle using nothing but curl. From registration to victory in 5 minutes.
Technical notes, project documentation, and lessons learned across software, DIY, writing, and more.
Step-by-step guide to playing your first API Combat battle using nothing but curl. From registration to victory in 5 minutes.
We had architecture documents, code smell guides, testing strategies, and a global AI instructions file with every lesson learned. We found 34 bugs in one audit. This is what happens after 'it works.'
Your dynamic class names aren't working. The CSS exists in your code but not in your output. Here's why Tailwind's JIT compiler is ignoring you and how to fix it.
An AI wrote me a CI workflow. I understood maybe 40% of it. So I went line by line until I understood all of it. Here's what each piece does and why it's there.
A complete lesson plan with weekly activities, deliverables, and a weighted assessment rubric—mapped to 15 Wisconsin Computer Science Standards. Ready for your department chair.
Students don't care about todo APIs. But they'll build combat bots to beat their classmates. Same concepts. Different motivation.
The API is the game. The UI constraints are gone. Build what you want. Automate what you need. Play how you choose.
An API-only combat game where building the client is part of the gameplay. No UI. No graphics. Just REST endpoints and strategic combat.
Every mobile game is hiding its secrets in a file you already have. Here's how I went from 'I wonder how this works' to extracting thousands of files of game data — using free tools and an afternoon.
Someone dropped the classic comment under my Tailwind post. It's the same false choice that shows up with every new tool: ORMs vs SQL, TypeScript vs JavaScript, AI vs coding. The premise — that using modern tools means you skipped the fundamentals — is almost always backwards.
I downloaded an APK, cracked open its Unity asset bundles, extracted 2,880 compiled Lua files, and built a team optimizer that actually knows the math. Here's how.
You've been using Bootstrap for years. Then someone mentions Tailwind and suddenly you're supposed to write class names that look like inline styles from 2003. Here's why it's actually better.
Good dark mode should be instant, persistent, and user-controlled. Here's how to build it in about 20 lines of code — no library, no framework, no flash of wrong theme.
There's a moment in every project where the thing you've been building becomes real. In software, it's the first production deploy. In fiction, it's the day the proof arrives.
Stop thinking about function pointers. Start thinking about bells and notifications. A restaurant analogy that makes C# events actually make sense.
ChatGPT will not write your novel for you. After months of trying, here's what AI actually does well for fiction—and where it fails catastrophically.
Part 2 of the SMS AI series. RAG transforms generic AI into useful AI. Here's how I added vector search, conversation memory, and production resilience.
Can I text an AI instead of opening another app? Turns out yes—and it validates a compelling business model. Here's how I built SMS-to-custom-LLM in ~40 lines of code.
You wrote a blog post. Now you need to share it on LinkedIn, Twitter, maybe a newsletter. Here's how to automate the boring part.
Tonight I'm joining Novel90's Spring 2026 cohort. 90 days to turn a messy first draft into something publishable. Here's why I'm doing it publicly.
Most cookie banners are obnoxious because they're trying to get consent for tracking. If you're not tracking anyone, the whole thing gets simpler.
In which the author documents humanity's imminent obsolescence at the hands of our mechanical overlords. (Or does he?)
LinkedIn hot takes say AI replaces coders. After a year building production apps with AI assistance, here's what actually happens - and why expertise still matters.
Setting up payment processing is stressful enough without wondering if your webhooks actually work. Here's how to test them locally before real money is on the line.
You implemented all the SEO best practices. Meta tags, structured data, sitemaps—the works. Then you searched for your site and found... nothing. Here's the step nobody mentions.
You set up SSL automation once and it worked great. Then you added a new domain and hit every gotcha you'd forgotten about. Here's the checklist.
How I spent days debugging a silent Discord bot, only to discover the application itself was corrupted—and Discord gave zero indication anything was wrong.
You built a beautiful site but Google can't find it. Here's what actually matters for SEO—meta tags, structured data, sitemaps—explained for developers who'd rather write code than read marketing blogs.
No database, no CMS, no admin panel. Just Markdown files, a JSON registry, and a thin C# service. Here's exactly how this blog turns plain text into the page you're reading.
Your translations work, but users have to dig through browser settings to change languages. Let's build a dropdown that remembers their choice with cookies.
You set up localization, created the .resx files, it compiled... and then nothing happened. Here's why .NET silently ignores your translations and how to fix it.
Your test suite exists. It passes. But how much of your code does it actually test? Here's how to set up Codecov and stop living in denial.
I built a Discord bot to summarize hundreds of messages using OpenAI - then discovered that all Discord bots run as a single instance serving every server. Here's the journey.
Adding invisible bot protection to a contact form with Google reCAPTCHA v3 and a honeypot field - no puzzles, no friction, no spam.
I exported two years of AI chats and used embeddings, clustering, and topic segmentation to find patterns. Here's what I learned - explained so anyone can understand.
I asked two AIs to help debug performance issues. One maintained context and found the root cause. The other kept saying 'likely your code does this' while looking at the actual code.
Using GitHub Discussions as a comment backend for a blog - no database, no spam, no cost.
A programmer's guide to SPF, DKIM, and DMARC - why email authentication exists and how to configure it when your DNS lives in Cloudflare.
Setting up free, automated SSL certificates for multiple domains using a Raspberry Pi, Certbot, and Cloudflare DNS.
When Windows won't mount ext4 and you've forgotten your Pi's password, WSL and disk images come to the rescue.
A reusable task configuration for building, running, testing, and deploying multi-project ASP.NET solutions with Tailwind CSS, compound tasks, and environment-specific deployments.
What 400+ Celtic deities taught me about moral complexity: forces that are neither good nor evil, but necessary and dangerous at once.
A worldbuilding breakthrough: what if Irish stone circles weren't just settings, but a neural network across the land?
The brutal revision where I cut every explanation of my supernatural forces—and learned to trust my readers.
How I stopped writing chatty demons and learned to ground the supernatural in universal human experience.
Replacing a failing vacuum fuel pump with an electric pump, and the relay wiring needed to make it work safely with the oil pressure switch.
Every novel has an origin story. Mine started with a superhero game avatar, transformed when my dog died, and became literary dark fantasy.