The Curious Engineer

All blogs / C# / .NET

You’ve Been Haacked

haacked.com

You’ve been Haacked is a blog about Technology, Software, Management, and Open Source. It’s full of good stuff.

C# / .NETDev tools / editors / IDEsEngineering management / careers

Posts
2,059 from 3 Feb 2004 to 20 Jul 2026
Posting
now and then (4 in the last year)
Kind
personal blog
Feed
https://haacked.com/atom.xml

Latest

July 2026

  1. Sign Commits from Anywhere Without Your Keys Going Anywhere

March 2026

  1. Resolve Merge Conflicts the Easy Way

January 2026

  1. One Year at PostHog

November 2025

  1. tree-me: Because git worktrees shouldn’t be a chore

September 2025

  1. Spelungit: When `git log –grep` isn’t enough

April 2025

  1. Cleaning up gone branches

February 2025

  1. Using PostHog in your .NET applications

January 2025

  1. New Year, New Job

December 2024

  1. Deserializing JSON to a string or a value
  2. Career Chutes and Ladder

November 2024

  1. Supercharge your debugging with git bisect

July 2024

  1. Custom config sections using static virtual members in interfaces
  2. .NET Aspire vs Docker.

June 2024

  1. Is .NET Aspire NuGet for Cloud Service Dependencies?

November 2023

  1. Failure suuuuucks

May 2023

  1. Calling internal ctors in your unit tests

January 2023

  1. When Your DbContext Has The Wrong Scope

December 2022

  1. Why Did That Database Throw That Exception?
  2. How to Recover from a DbUpdateException With EF Core

November 2022

  1. C# List Pattern Examples
  2. So you want to speak at conferences

October 2022

  1. Calculating MRR with Stripe and C#

September 2022

  1. Pitfalls with eager loading of collections in EF Core

July 2022

  1. Lessons From a Startup Pivot
  2. Tag Helper for Display Templates

December 2021

  1. Async Disposables The Easy Way

September 2021

  1. IntelliSense for Hosted C# Script

April 2021

  1. HTTPS with LetsEncrypt for Azure Functions

March 2021

  1. Subscribing to cloud events with Abbot

February 2021

  1. Writing Sparkly Abbot Skills With C#
  2. Argument parsing with Abbot
  3. Introducing Abbot, a powerful ChatOps tool for collaborative work

November 2020

  1. Naming NuGet, A Lesson In Distributed Decision Making

October 2020

  1. Will Remote Compensation Be Tied To Location In The Future?

September 2020

  1. A Subtle Gotcha with Azure Deployment Slots and ASP.NET Core

May 2020

  1. Mystery of The French Thousands Separator

April 2020

  1. It's Time To Break to Build
  2. Introducing Aboard Beta

March 2020

  1. When Remote Work Goes Wrong
  2. Geographically Distributed Teams
  3. How to Lead From Home
  4. How To Work From Home
  5. Debunking the Peter Principle

January 2020

  1. Recovering from Burnout
  2. My First Xamarin app

December 2019

  1. Fun with URL Encodings

November 2019

  1. Build an ASP.NET Core Update Panel with Vanilla JavaScript in Four Easy Steps

August 2019

  1. The Bot That Helps You Merge

July 2019

  1. Global Query Filters for Interfaces
  2. Should You Flow External Claims On Every Login?
  3. Flow External Claims to the Main Identity
  4. Deploying ASP.NET Core From A Zip File on Azure

June 2019

  1. When Git Resolves Changes It Shouldn't
  2. Banish Merge Conflicts With Semantic Merge
  3. Package Manager Security
  4. Discuss amongst yourselves on GitHub
  5. Suggesting Changes on GitHub

May 2019

  1. GitHub for Dummies
  2. Maintainer burnout and package security
  3. Write Every Day
  4. Better Security Through Package Fingerprints
  5. Package Author Identity through Social Proofs

April 2019

  1. Why NuGet Package Signing Is Not (Yet) for Me

February 2019

  1. Managing Risk
  2. Include my Git Aliases
  3. SemVer's New Maintainers

January 2019

  1. New Year, New Job

December 2018

  1. Increase your giving by 50% for free
  2. Phil Haack is no longer a GitHubber
  3. Steal My Blog Design
  4. An adventure in CSS with column lists

November 2018

  1. The Problem of Package Manager Trust
  2. Land that first programming job
  3. Caribbean Developer's Conference

July 2018

  1. Abolish Performance Reviews

June 2018

  1. Comments for Jekyll Blogs
  2. Scientist.NET 2.0 Release

March 2018

  1. PR information at your fingertips

January 2018

  1. Analyzing GitHub Issue Comment Sentiment With Azure
  2. Incentive Pay Does Not Work
  3. The Impact of our Work

December 2017

  1. Work hard and love yourself
  2. 2017 - Darkest timeline

October 2017

  1. Git Coin Project Maintainer Consensus Protocol
  2. Why do managers go bad?

August 2017

  1. Endless Immensity of the Sea
  2. Trying Medium
  3. The Moment
  4. Auditing ASP.NET MVC Actions

May 2017

  1. GitHub Beyond Your Browser

February 2017

  1. On .NET and Other Things

January 2017

  1. Git Alias to browse

October 2016

  1. The Hard Skills

September 2016

  1. Scientist.NET 1.0 released!
  2. Working at GitHub

August 2016

  1. Cruising

May 2016

  1. Building an Atom Package in ES6
  2. A Billion Is Cool

April 2016

  1. Thank You For Your Pull Request

February 2016

  1. A Subtle Case Sensitivity Gotcha with Regular Expressions
  2. Pitfalls of Unlimited Vacations

January 2016

  1. Semver Deep Links
  2. A .NET port of Scientist
  3. Try it and I'll kill you

December 2015

  1. A haackedy 2015
  2. To String or to string

October 2015

  1. Set up a smoking Git shell on Windows
  2. The Meaning of Work

September 2015

  1. Moneyball of Hiring

July 2015

  1. A better 404 page and redirects with GitHub Pages
  2. The Open Sourcing of the GitHub Extension for Visual Studio
  3. Tupac and HoloLens are not Holograms

June 2015

  1. Git Alias To Migrate Commits To A Branch
  2. The Getting Better Moment

May 2015

  1. Puerto Rico

April 2015

  1. GitHub Inside Your Visual Studio

March 2015

  1. Download all your NuGet Package Licenses
  2. Management Bullshit
  3. The Fringe of .NET

February 2015

  1. The Inevitability of Failure and Importance of Repair

December 2014

  1. Unwrap MEF composition exceptions
  2. Git and GitHub Resources

November 2014

  1. Unit tests that require the STA Thread
  2. Avoid async void methods

October 2014

  1. Classic Manhattan

September 2014

  1. Podcasts

August 2014

  1. The Case Against Pay for Performance
  2. ReactiveUI Design Guidelines

July 2014

  1. Settings for your Visual Studio Extension
  2. GitHub Flow Like a Pro with these 13 Git Aliases

June 2014

  1. GitHub Saved My Marriage
  2. Your Editor should Encourage You
  3. Download Emojis With Octokit.NET
  4. GitHub for Windows 2.0

May 2014

  1. The Siren Song of Backwards Compatibility
  2. Microsoft's New Running Shoes
  3. GitHub Data In Your Website
  4. A Lesson in Compassion

April 2014

  1. Using Octokit.net to authenticate your app with GitHub
  2. Merge conflicts in csproj files
  3. A less terrible .NET project build with NuGet
  4. GitHub Secrets Talk

March 2014

  1. Blogging while Broken
  2. Empathy In Your Best Interest
  3. Master time with Reactive Extensions

February 2014

  1. 10 Years of being Haacked
  2. How to review a merge commit
  3. The Stories We Tell Ourselves

January 2014

  1. Fun with infinite sums
  2. But does it quack like a duck?

Every year

2026 32025 52024 62023 32022 82021 72020 132019 222018 142017 112016 122015 162014 332013 352012 392011 832010 752009 912008 1162007 2162006 3832005 4052004 463