Blog Posts (982)
- If AI can code, what will Software Engineers do? 2025.12.10
- How To Run In-Terminal Code Reviews with Claude Code 2025.12.03
- Why I'm Moving my Blog from F# to C# 2025.11.26
- How to Randomly Sort a Table in Notion 2025.11.19
- Notion + Data Loss / Privacy - Should you be worried about losing or leaking your notes? 2025.11.12
- How to Create a Draft PR with OpenAI's Codex (Web) 2025.11.08
- Why I'm Moving Back to Notion from Obsidian for Personal Notes 2025.11.05
- How I Review my Code with AI 2025.10.29
- How I Actually Code with AI as a Senior Software Engineer 2025.10.22
- PSA: Eight Sleep Autopilot May Be Waking You Up 2025.10.18
- An Unexpected Benefit from Quitting Coffee - 10 Months In 2025.10.15
- 2025.Q3 Reflection 2025.10.03
- How to use Obsidian Sync at Work (without breaking the rules) 2025.10.01
- The Four Pillars of Career Growth for Software Engineers 2025.09.24
- Why I'm Moving my Personal Notes from Notion to Obsidian as a Software Engineer 2025.09.17
- Fix: Borderlands 4 Xbox Controller Input Lag on Steam Fedora Linux 2025.09.15
- Fix: Borderlands 4 No Audio on Steam Fedora Linux 2025.09.14
- How to Setup an Ergonomic Workstation - More productivity, less back / neck / wrist pain 2025.09.10
- Review your AI's Code - A Simple Process for Building More Robust Systems Faster with AI 2025.09.03
- What's the Best Value VPS Provider? Price to Performance Ratio 2025.08.27
- Why I'm Ditching Coolify for Ansible for Deploying my Web Apps 2025.08.20
- The Wandering Inn Review (Books 1 - 5) 2025.08.17
- How to Write Good Pull Request Titles that are Scannable, Searchable, and Reviewable 2025.08.15
- How to Change Login and Lock Screen Backgrounds on Fedora 42 KDE Plasma 2025.08.13
- Launching HAMY SHOP v3 - F#, C#, Rust, and Go merch 2025.08.08
- My Sleep Schedule as a Full-Time Software Engineer with a Newborn 2025.08.06
- What Are Stacked Commits and Why Should You Use Them? 2025.08.01
- 2025.07 Release Notes 2025.08.01
- C# Errors vs Exceptions Performance Benchmarks 2025.07.30
- Why I'm Rebranding my Venture Studio (HAMY LABS Terminal Garden) 2025.07.28
- How to Checkpoint Code Projects with AI Agents - Save Your Work, Keep Projects on Track, and Reduce Rework 2025.07.25
- How I Stopped Mindless Doom Scrolling As A Chronically Online Software Engineer - Less Time Scrolling, More Time Doing Things I Enjoy 2025.07.23
- C# Records and How To Use Them 2025.07.18
- Stop Vibe Coding, Start Power Coding - How To Write Quality Software Faster With Agentic AI (Without Pissing Off Your Software Engineers) 2025.07.16
- I Vibe-Coded a C# Library with Claude Code - Here's 6 Things I Learned 2025.07.11
- Sponsor HAMY LABS 2025.07.10
- Will Removing Python’s GIL make it significantly faster? 2025.07.09
- Introducing CinderBlockHtml - A C# DSL for Building HTML with Composable Building Blocks 2025.07.07
- TypeScript Result Types - and Why You Should Use Them 2025.07.04
- 5 Reasons to Stop Throwing Exceptions - and What To Do Instead for a more Robust, Composable, and Performant Codebase 2025.07.02
- 2025.H1 Reflection 2025.06.28
- My Career in Programming Languages 2025.06.25
- 7 Reasons F# Sucks 2025.06.18
- How to Run a C# CLI App with Docker 2025.06.11
- 2025.05 Release Notes 2025.06.09
- What are Branded Types? (And When You Should Use Them) in TypeScript 2025.06.04
- Render ATL 2025 Talk Schedule (no apps required) 2025.05.30
- TypeScript - Errors as Values vs Exceptions Performance Benchmarks 2025.05.28
- How to Connect TJCXELE USB 3.0 KVM Switch to M4 Macbook Pro 2025.05.21
- How Successful Software Engineers Answer 'Tell Me About Yourself' In Interviews 2025.05.07
- My Multi-Computer WFH Productivity Desk Setup as a Software Engineer and YouTuber 2025.05.05
- Oblivion Remastered - How to Carry More Items without Maxing Strength (Mage Build) 2025.05.04
- Oblivion Remastered - How to get Necromancer's Amulet on PC after becoming Arch Mage Bug 2025.05.04
- Oblivion Remastered: Simple Infinite Gold Farm (no cheats!) 2025.05.03
- My 2025 Job Search as a Senior Software Engineer - Results, Timelines, and How I Study for Interviews 2025.05.02
- How Cloudflare Container Pricing Compares to Google Cloud Run, AWS Fargate, Azure Container Apps, Railway, Digital Ocean App Platform, and Heroku Dynos 2025.04.30
- I Quit Coffee for 90 Days - Here’s How It Affected Me as a Software Engineer 2025.04.25
- How to Build an RSS Feed with F# and Falco 2025.04.23
- Paradise (Season 1) Review 2025.04.23
- Is HTMX Dying? 2025.04.16
- Google Cloud Run Pricing Breakdown and Comparisons (2025) 2025.04.09
- 2025.Q1 Reflection 2025.04.09
- How to Setup Automated Database Backups with Coolify (backed by S3 Object Storage) 2025.04.04
- How to Setup an Https Custom Domain with Coolify 2025.04.02
- Build Tailwind v4 + Daisy UI with Dotnet + Docker 2025.03.31
- How to run an F# + Falco Webapp in a Docker Container 2025.03.28
- How to Generate Ghibli-style Images with AI 2025.03.27
- Simple TypeScript + Node Template for Interviews - async main, web api, and tests 2025.03.26
- 66 Companies Hiring Remote Software Engineers in the US in 2025 2025.03.19
- Animating Sine Waves with p5.js 2025.03.05
- How to Create Custom HTML Attributes with F# + Falco.Markup 2025.02.19
- DOGE SNAKE - A Snake Game Built with PhaserJS 2025.02.16
- Build a Simple Markdown Blog with F# and Falco 2025.02.12
- How One Million Checkboxes was Built (Tech Stack and System Design) 2025.02.05
- Spin up a Fullstack F# WebApp in 10 minutes with the CloudSeed Project Template 2025.01.31
- Why I'm Ditching F# + Giraffe For Falco For Building WebApps 2025.01.29
- The Future of HAMY GAMES 2025.01.28
- How do you know it's time to quit your job? 2025.01.27
- TTL Calculator - Convert DNS TTL seconds to human-readable time (built with Datastar) 2025.01.24
- How To Hide Your Server's IP Address For Free With Cloudflare 2025.01.22
- How to Fix Lenovo P1 Gen 7 - Fans Running While Sleeping And Plugged In 2025.01.20
- The Best Laptop Size to Maximize Productivity for Software Engineers 2025.01.15
- How to sign up for YouTube Premium with a Google Workspace Account 2025.01.10
- Why I'm Shutting Down 1000 Checkboxes 2025.01.08
- How to find a fulfilling career - no matter what you're into 2025.01.06
- How to Fix Lenovo P1 Gen 7 Screen Flickering 2025.01.04
- My 2025 Programming Language Tier List 2025.01.03
- 2024 Review 2025.01.02
- How I added an AlpineJS click counter to my HTMX-powered website 2025.01.01
- Disclosures 2025.01.01
- What we learned running F# in production for 5 years 2024.12.27
- HAMY LABS - 2024 Review 2024.12.25
- How I Created a Bot for this F# Incremental Clicker Game using JavaScript 2024.12.18
- Should you play Path of Exile 2 in Early Access or wait? 2024.12.13
- 3 things I don't like about my Lenovo P1 Gen 7 2024.12.13
- Python: Check if a string is a positive or negative integer 2024.12.11
- Advent of Code 2024 - Day 6 in F# 2024.12.06
- Advent of Code 2024 - Day 5 in F# 2024.12.05
- Why you should use snake_case instead of camelCase for variable names 2024.12.04
- Advent of Code 2024 - Day 4 in F# 2024.12.04