2006–2026
1,191 posts
2026 3
July 2026
March 2026
January 2026
2025 5
November 2025
September 2025
April 2025
February 2025
January 2025
2024 6
December 2024
November 2024
July 2024
June 2024
2023 3
November 2023
May 2023
January 2023
2022 8
December 2022
November 2022
October 2022
September 2022
July 2022
2021 7
December 2021
September 2021
April 2021
March 2021
February 2021
2020 13
November 2020
October 2020
September 2020
May 2020
April 2020
March 2020
- When Remote Work Goes Wrong
- Geographically Distributed Teams
- How to Lead From Home
- How To Work From Home
- Debunking the Peter Principle
January 2020
2019 22
December 2019
November 2019
August 2019
July 2019
- Global Query Filters for Interfaces
- Should You Flow External Claims On Every Login?
- Flow External Claims to the Main Identity
- Deploying ASP.NET Core From A Zip File on Azure
June 2019
- When Git Resolves Changes It Shouldn't
- Banish Merge Conflicts With Semantic Merge
- Package Manager Security
- Discuss amongst yourselves on GitHub
- Suggesting Changes on GitHub
May 2019
- GitHub for Dummies
- Maintainer burnout and package security
- Write Every Day
- Better Security Through Package Fingerprints
- Package Author Identity through Social Proofs
April 2019
February 2019
January 2019
2018 14
December 2018
- Increase your giving by 50% for free
- Phil Haack is no longer a GitHubber
- Steal My Blog Design
- An adventure in CSS with column lists
November 2018
July 2018
June 2018
March 2018
January 2018
2017 11
December 2017
October 2017
August 2017
May 2017
February 2017
January 2017
2016 12
October 2016
September 2016
August 2016
May 2016
April 2016
February 2016
January 2016
2015 16
December 2015
October 2015
September 2015
July 2015
- A better 404 page and redirects with GitHub Pages
- The Open Sourcing of the GitHub Extension for Visual Studio
- Tupac and HoloLens are not Holograms
June 2015
May 2015
April 2015
March 2015
February 2015
2014 33
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
- GitHub Saved My Marriage
- Your Editor should Encourage You
- Download Emojis With Octokit.NET
- GitHub for Windows 2.0
May 2014
- The Siren Song of Backwards Compatibility
- Microsoft's New Running Shoes
- GitHub Data In Your Website
- A Lesson in Compassion
April 2014
- Using Octokit.net to authenticate your app with GitHub
- Merge conflicts in csproj files
- A less terrible .NET project build with NuGet
- GitHub Secrets Talk
March 2014
February 2014
January 2014
2013 35
December 2013
- A Very Haacked 2013
- Fixing Broken Jekyll URLs
- Preserve Disqus Comments with Jekyll
- Preserve URL Extensions with Jekyll
- Dr. Jekyll and Mr. Haack
November 2013
- Declare, Don't Tell
- Cross Platform .NET Just A Lot Got Better
- Death to the IF statement
- Dealing with Multiplatform Project Files
- Avoid Premature Standardization
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
2012 39
December 2012
November 2012
October 2012
- The Truth about NuGet and its Future
- MonkeySpace shines a light on the future of .NET OSS
- Writing a ContinueAfter method for Rx
- The ASP.NET MVC 4 Book Is Available!
September 2012
- Primitive Obsession, Custom String Types, and Self Referencing Generic Constraints
- Git and GitHub Talk in Hawaii!
- Quotas, What Are They Good For?
August 2012
July 2012
- Finding Bad Controllers
- Get All Types in an Assembly
- Sitting is Making You Fat and Killing You
- The Turkish İ Problem and Why You Should Care
June 2012
May 2012
April 2012
March 2012
- ASP.NET MVC Now Accepting Pull Requests
- What Are Brogrammers Afraid Of?
- Visualize Git with SeeGit
- It’s The Little Things about ASP.NET MVC 4
- Build All The Things With Bildopolis
February 2012
- GitHub Drinkup MVP Edition
- What Is The Spirit of Open Source?
- Open Source and Open Source Software Are Not The Same Things
- Changing A Strong Name Is A Major Breaking Change
- The State of NuGet
January 2012
2011 83
December 2011
- Why I Love New Year’s Eve
- OSS and .NET Year In Review 2011
- Configure Git in PowerShell So You Don’t Have to Enter Your Password All the Damn Time
- Better Git with PowerShell
- Using QUnit with Razor Layouts
- Hello GitHub!
- New NuGet.org Deployed!
- Last Day at Microsoft
November 2011
- Departures
- Razor Donut Caching
- Musings On Software Community
- Specs for Haacked.com
- It Came From the Blue Lagoon
October 2011
- Beer-Up in Reykjavik, Iceland
- Update NuGet Docs in the Browser with Github
- SemVer, NuGet, and Nightly Builds
- Implementing an Authorization Attribute for WCF Web API
- The Dangers of Implementing Recurring Background Tasks In ASP.NET
- Four Years At Microsoft
- Preventing CSRF With Ajax
- Prevent Forms Authentication Login Page Redirect When You Don't Want It
September 2011
- Writing a Recipe for ASP.NET MVC 4 Developer Preview
- ASP.NET MVC 4 Developer Preview Released
- I’m Speaking at //BUILD!
August 2011
- Preflight Checklist
- NuGet 1.5 Released!
- Calling ASP.NET MVC Action Methods from JavaScript
- New Ajax Grid Scaffolding NuGet Package for MVC 3
- Dealing with singular plural phrasing
- Random Friday: Geek Verticals
- Writing an ASP.NET MVC Controller Inspector
- Professional ASP.NET MVC 3 is available!
- Vacation in the San Juan Islands
- Text templating using Razor the easy way
July 2011
June 2011
- What’s the Difference Between a Value Provider and Model Binder?
- ASP.NET MVC 3 Docs In Nine Languages
- NuGet 1.4 Released
- Random Friday: On Turning Four
- Creating a Custom ASP.NET MVC Project Template
- Random Friday: My Accomplishments
- Dependency Injection With ASP.NET HttpModules
May 2011
- Random Thought Friday
- Bin Deploying ASP.NET MVC 3
- An Obsessive Compulsive Guide To Source Code Formatting
- Making Let Me Bing That For You Open Source
- New NuGet Documentation Site
- Localized Releases of ASP.NET MVC 3 Tools Update
- Compiling MVC Views In A Build Environment
- Single Package Version per Solution
April 2011
- The Secret to NuGet's Success. You!
- Feedback Request for using NuGet Without Committing Packages
- NuGet 1.3 Released
- Conditional Filters in ASP.NET MVC 3
- Release Early, Release Often
- Writing a NuGet Package That Adds A Command To The PowerShell Console
- Presentation Tips Learned From My (Many) Mistakes
- A Look Back at Mix 11
- A Better Razor Foreach Loop
- RouteDebugger 2.0
- Introducing ASP.NET MVC 3 Tools Update
- NuGet Needs Your Input
March 2011
- Hosting a Simple “Read-Only” NuGet Package Feed on the Web
- NuGet 1.2 Released
- Want to work on datajs?
- Model Binding Decimal Values
- Defining Default Content For A Razor Layout Section
February 2011
- Templated Razor Delegates
- How To Find Out Which NuGet Packages Depend on Yours
- Changing Base Type Of A Razor View
- Routing Regression With Two Consecutive Optional Url Parameters
- NuGet 1.1 Released!
- Redirecting Routes To Maintain Persistent URLs
January 2011
2010 75
December 2010
- End Of Year 2010 Extravaganza
- ASP.NET MVC 3 Extensionless URLs on IIS 6
- See Me in Brazil and Argentina in March
- Not Really Interested In Lean
- How Would You Maximize Profit From A Time Machine?
- ASP.NET MVC 3 Release Candidate 2
- NuGet Roundup December 2010 Edition
- ASP.NET MVC Diagnostics Using NuGet
- Grouping Routes Part 1
November 2010
- Getting The Route Name For A Route
- Moq Sequences Revisited
- Named Routes To The Rescue
- NuGet Package Transformations
- NuGet CTP 2 Released!
- ASP.NET MVC 3 Release Candidate
- Fighting Confirmation Bias
- A Sordid Little Tale Of Unexpected Security Exceptions
October 2010
- And The Winner Is, NuGet
- Community Naming
- Naming is Hard, Let's Go Shopping
- We're Renaming NuPack
- Hosting Your Own Local and Remote NuGet Feeds
- Updating NuGet Contributor Guidelines
- NuGet Up For Grabs Items
- Running Open Source In A Distributed World
- Introducing NuGet Package Manager
- ASP.NET MVC 3 Beta Released
September 2010
August 2010
- Attention Denizens of Black Rock City
- We're Not Paid To Write Code
- More Versioning Fun With Optional Arguments
- Versioning Issues With Optional Arguments
- Creating Copies of Attributes
- Dynamic Methods in View Data
July 2010
June 2010
- Back from Alaska With A New Release of Subtext
- Null Or Empty Coalescing
- Checking For Empty Enumerations
- Subtext 2.5 Skin Improvements
- Subtext 2.5 Released!
- Is Arrogance a Factor in Success?
- ASP.NET MVC and Me in PragPub Magazine
May 2010
- Deals Well With Ambiguity
- Finding Serenity at Lake Serene
- Copying Files Over Remote Desktop
- Three Hidden Extensibility Gems in ASP.NET 4
- Globalizing ASP.NET MVC Client Validation
- ASP.NET MVC Tabular Display Template
April 2010
- Tip: Replacing Html.Encode Calls With New Html Encoding Syntax
- Putting the Con (COM1, LPT1, NUL, etc.) Back in your URLs
- Sending JSON to an ASP.NET MVC Action Method Argument
- Using AntiXss As The Default Encoder For ASP.NET
March 2010
- A New Closed Source Viral License
- Querying the Future With Reactive Extensions
- Good Times and Vibes at Mix 10
- Ms-PL Source Release for System.Web.Mvc 2
- ASP.NET MVC 2 Released!
February 2010
- Austin Texas The Techie Town
- Manipulating Action Method Parameters
- ASP.NET MVC 2 Optional URL Parameters
- Installing ASP.NET MVC 2 RC 2 on Visual Studio 2010 RC
- Headed To Austin and Speaking at the .NET User's Group
- ASP.NET MVC 2 RC 2 Released
- Can You Really Measure Customer Satisfaction?
January 2010
2009 91
December 2009
- Converting an RGB Color To Hex With JavaScript
- jQuery Hide/Close Link
- Merry Christmas
- ASP.NET MVC 2 and Visual Studio 2010
- ASP.NET MVC 2 RC Released
- Live Preview jQuery Plugin
- How the IIS SEO Toolkit Saved My Butt
- Back in Business
- Localizing ASP.NET MVC Validation
- T4CSS: A T4 Template for .Less CSS With Compression
November 2009
- Recent Podcasts
- ASP.NET MVC 2 Custom Validation
- Html.RenderAction and Html.Action
- ASP.NET MVC 2 Beta Released
- Interface Inheritance Esoterica
- Neat VS10 Feature: Pinning A Debugger Watch
- A RouteHandler for IHttpHandlers
- Html Encoding Nuggets With ASP.NET MVC 2
October 2009
- ASP.NET 4 Web Server Here Shell Extension
- VS10 Beta 2 From an ASP.NET MVC Perspective
- Announcing Let Me Bing That For You
- ASP.NET MVC 1.0 Scripts Available on Microsoft CDN
- Software Externalities
- Introducing Mia Yokoyama Haack
- ASP.NET MVC 2 Preview 2
September 2009
- Successive Method Calls With MoQ
- Html Encoding Code Blocks With ASP.NET 4
- More On The CodePlex Foundation
- What The CodePlex Foundation Means To The .NET OSS Developer
August 2009
- 7 Stages of new language keyword grief
- Fun With Method Missing and C# 4
- Simpler Transactions
- Rest For ASP.NET MVC SDK and Sample
- Demeter Transmogrifiers To The Rescue
- Put Your Views (and Pages) On a Diet
- Default Templated Views
July 2009
- Single Project Areas With ASP.NET MVC 2 Preview 1
- ASP.NET MVC 2 Preview 1 Released
- Subtext Security Issue and Patch
- The Law of Demeter Is Not A Dot Counting Exercise
- Geek Your Momma Jokes
June 2009
- NDC09 Trip Report
- Is It Too Late To Change JSON?
- JSON Hijacking
- And Get Rid Of Those Pesky Programmers
- ASP.NET MVC Installer For Visual Studio 2010 Beta 1 And Roadmap
- An Alternative Approach To Strongly Typed Helpers
May 2009
- Writing A Page To A String
- A Fright on Mt Si
- ASP.NET MVC For Visual Studio 2010 Beta 1
- Donut Hole Caching in ASP.NET MVC
- I am a Web Developer At Heart
- Put Your Pages and Views on Lockdown
April 2009
- ASP.NET MVC NerdDinner Walkthrough
- Scripting ASP.NET MVC Views Stored In The Database
- Next Stop, Norway!
- Code Sample Taxonomy
- Using jQuery Grid With ASP.NET MVC
- My Little World Domination Backup
- TipJar: Title Tags and Master Pages
- CSRF Attacks and Web Forms
- Anatomy of a Cross-site Request Forgery Attack
- Better String Input Handling
- Open Source License For System.Web.Mvc
March 2009
- Subtext Is On The Move
- Simple Usability
- ASP.NET MVC Sessions At Mix
- Subtext 2.1.1 Available Via the Web Platform Installer
- ASP.NET MVC 1.0 Released!
- Learn About ASP.NET MVC Via NerdDinner
- Hotfix for Installing ASP.NET MVC With Azure, Power Commands, or Resharper
- Troubleshooting Windows MSI Installers
- ASP.NET MVC 1.0 Release Candidate 2
- I'm Speaking At Mix 2009
- ALT.NET Seattle Day Two
- ALT.NET Seattle Day Three
February 2009
- ALT.NET Seattle Day One
- IronRuby ASP.NET MVC With Filters
- The Functional Language Gateway Drug
- Take Charge of Your Security
January 2009
- T4 Templates in ASP.NET MVC
- Simple jQuery Delete Link For ASP.NET MVC
- jQuery Delete Link With Downlevel Support
- ASP.NET MVC RC Refresh
- Controls Collection Cannot Be Modified Issue with ASP.NET MVC RC1
- ASP.NET MVC Release Candidate
- Routing for Web Forms in ASP.NET 4.0
- Named Formats Redux
- Asynchronous Fire and Forget With Lambdas
- Handling Formats Based On Url Extension
- Fun With Named Formats, String Parsing, and Edge Cases
2008 116
December 2008
- Not Your Typical Top Ten Of 2008 Post
- Interesting use of XML Literals as a View Engine
- I Love To Code
- A Little Holiday Love From The ASP.NET MVC Team
- Redirect Routes and other Fun With Routing And Lambdas
- The Feedburner to Google Domain Transition Foul Up
- ASP.NET MVC Northwind Demo Using the Spark View Engine
- Known Installation Issues With ASP.NET MVC
November 2008
- Subtext 2.1 Released! Contains Security Update
- Poll on Moving Subtext To ASP.NET 3.5
- ASP.NET MVC on IIS 6 Walkthrough
- Combining JQuery Form Validation and Ajax Submission with ASP.NET
- Anatomy of a Subtle JSON Vulnerability
- New Line Quirk with HTML TextArea
- Rendering A Single View Using Multiple ViewEngines
- ASP.NET MVC In The Clouds
- The Future of WebForms And ASP.NET MVC
- HTML Stripping Challenge
- The Landmine of Parsing HTML and Stripping HTML Comments
- Step Aside StackOverflow, Here’s HaackOverflow
- A Case Study In Design Tradeoffs: Usability vs Discoverability
- Donut Caching in ASP.NET MVC
- Grouping Controllers with ASP.NET MVC
- Bin Deploying ASP.NET MVC
- Hazy Recollections of PDC 2008
October 2008
- Browser Choice and Voting Online
- Hot New Presentation Tip
- Model Binding To A List
- Halloween Preview
- ASP.NET MVC Beta Released!
- One Year At Microsoft
- Web Platform Installer
- Interesting Browser Bug with CSS border and the Select element
- Japan Trip 2008
- A Rough Start To Tech-Ed Hong Kong
September 2008
- JQuery and ASP.NET MVC
- Currently in Japan with No Consistent Internet Access
- Refreshing ASP.NET Dynamic Language Support
- Speaking at Tech-Ed 2008 Hong Kong
- StackOverflow at PDC
- MvcFutures And ASP.NET MVC Beta
August 2008
- How a Method Becomes An Action
- ASP.NET MVC CodePlex Preview 5 Released
- Streamlined BDD Using SubSpec for xUnit.NET
- Dealing With Denial of Service Attacks
- The ABCs of Alpha, Beta, CTP
- ASP.NET MVC Is Not Part of ASP.NET 3.5 SP1
- Filters in ASP.NET MVC CodePlex Preview 4
- Better URLs With Subtext and Windows Live Writer
- Subtext 2.0 Released
- An Arbitrary Cycle Method For ASP.NET MVC
- Hey Ma, I'm On TV!
- What Integrated Circuits Say About Testing Your Code
July 2008
- Super Simple MVC Ajax With JQuery Demo
- How I Got Started In Software Development
- Unit Test Boundaries
- IronRuby With ASP.NET MVC Working Prototype
- Notes on ASP.NET MVC CodePlex Preview 4
- Make Routing Ignore Requests For A File Extension
- User Input In Sheep’s Clothing
- HttpModule For Timing Requests
- Keeping Blog Ads In Check
June 2008
- Oh Yes It’s Ladies Night
- Security Tip: Blocking Access to ASP.NET MVC Views Using Alternative View Engines
- VS2008 Web Server Here Shell Extension
- Visual Studio Smart Tag Expansion Tip
- Delegating Decorators
- Everything You Wanted To Know About MVC and MVP But Were Afraid To Ask
- RAS Syndrome
- If You’ve Ever Been A Consultant, You Understand This
- IronRuby and ASP.NET BFFs Forever
- ASP.NET MVC And Dynamic Data Learn To Play Well Together
May 2008
- The Design Is Never Right The First Time
- Updated Northwind Demo For ASP.NET MVC Beta
- Updated Routing With WebForms
- .NET 3.5 SP1 Beta and Its Effect on MVC
- Delegating Action Result
- Writing A Custom File Download Action Result For ASP.NET MVC
- RouteEvaluator For Unit Testing Routes
- DotNetRocks Part Deux
- Code Based Repeater for ASP.NET MVC
April 2008
- Anatomy of a "Small" Software Design Change
- Defining ASP.NET MVC Routes and Views in IronRuby
- Monkey Patching CLR Objects
- Dynamic Language DSL vs Xml Configuration
- ASP.NET MVC Preview of a Preview
- You've Been Haacked In Chinese
- Upcoming Changes In Routing
- Unit Test Project Structure Poll
- My First IronRuby Unit Test Spec For ASP.NET MVC
- Interview With Brad Wilson On Microsoft And Open Source
- Subtext Awakens From Its Slumber
- You've Been Haacked No Longer
March 2008
- LazyCoder Last Minute Geek Dinner This Wednesday
- Comparing Moq to Rhino Mocks
- Is Pizza Brain Food?
- A Few Notes About The MVC CodePlex Source Code Release
- ASP.NET Routing Debugger
- Using Routing With WebForms
- Thoughts on ASP.NET MVC Preview 2 and Beyond
- Back From Mix Back To Reality
- The Cost Of Breaking Changes
February 2008
- Versioning Issues With Abstract Base Classes and Interfaces
- Abstract Base Classes Have Versioning Problems Too
- ASP.NET MVC Update
- Blocking Direct Access To Views in ASP.NET MVC
- Tell Me Your Unit Testing Pains
January 2008
- So A Model, A View, and a Controller Walk Into a Bar
- Come Work With Me And Other Great People
- Seattle Code Camp Wrapup
- Birthday Clusters and Code Camps
- Research Supports The Effectiveness of TDD
- TDD Is Also An Organizational Process
- Collection Initializers
- So Long L.A. And Thanks For All The Fish
- Reopen The Comment Door For Your Readers With Subkismet
2007 216
December 2007
- Haacking 2007
- Faceoff! Haack vs Hanselman - It Gets Real
- ASP.NET MVC Helpers For Repopulating A Form
- Testing Routes In ASP.NET MVC
- Interview with me on the ASP.NET Podcast Show
- Thank You For Helping Me With My Job With ASP.NET MVC
- Composition over Inheritance and other Pithy Catch Phrases
- ASP.NET MVC Design Philosophy
- Using ASP.NET MVC With Visual Web Developer Express
- Writing Unit Tests For Controller Actions
- Extending ASP.NET MVC To Add Conventions
- TDD and Dependency Injection with ASP.NET MVC
- Test Specific Subclasses vs Partial Mocks
- Was My Code Provability Post An Inspiration To Joel?
- Duplication of Efforts Is Not The Problem
November 2007
- Internationalized URLs
- Awesome Knuth Quote On Code Proofs
- Question For You Dependency Injection Buffs
- What Exactly Are You Trying To Prove?
- Writing Testable Code Is About Managing Complexity
- Groupthink Vs Market Think
- Hilarious Quote on Computing Power
- What Happens At Conferences In Vegas Do Not Stay In Vegas
- The REST-Like Aspect Of ASP.NET MVC
- Rhino Mocks + Extension Methods + MVC == Crazy Delicious
- Don't Buy Our Book. Win It. Or Win that XBox. Your Choice.
- A Library For Executing SQL Scripts With GO Separators and Template Parameters
- My Blog Lives In The Matrix
October 2007
- DevConnections and OpenForce 2007 in Vegas
- What Does Protected Internal Mean?
- MySpace China Blogs Powered By Subtext
- Mr Subsonic Joins Microsoft
- Drinking from the Fire Hose At Microsoft
- Seattle Code Camp Nov 17 and 18
- Back In Business
- Geek Dinner In Seattle/Redmond Sunday Night
- The Greatest Compliment A Developer Can Receive
- ALT.NET Should Be Divisive, But Not Contrarian
- Perception Vs Reality Regarding The .NET Framework Source Code
- Get A Free Copy Of Our New Book
September 2007
- Bulk Tagging and Category Management For Blogs
- Bug Driven Development
- Unit Testing Security Example
- Test Secure Class Instantiation Helper Method
- Urgent: Subtext Security Patch
- The Security Patch Dilemma For Scripting And VM Based Languages
- Buy Our Book And Become An ASP.NET Bad Ass
- Why Is Microsoft Removing My MVP Status?
- Conditional Compilation Constants and ASP.NET
- Build a Custom Open Source Search Index
- Honeypot Captcha
- Five Years Of Good Loving
- Last Night A Doctor Saved My Nut
- IHttpContext And Other Interfaces For Your Duck Typing Benefit
- Should Microsoft Really Bundle Open Source Software?
August 2007
- Don't Be a Validation Nazi
- I Knew How To Validate An Email Address Until I Read The RFC
- How Duck Typing Benefits C# Developers
- My Latest Addiction Is Line Rider
- Speed Up Your Pages And Improve Your YSlow Score With The Coral Content Distribution Network
- Write Plugins Easily Using The Dynamic Template Plugin For Windows Live Writer
- My .NET Rocks Interview Is Now Up
- Art Of Test WebAii Looks Promising For Testing The Web
- Any Recommendations For A Good Place To Get A Drink In Redmond?
July 2007
- At The Microsoft Campus Next Week And Other Engagements
- Cleanup The Crap That Windows Live Writer Injects With This HttpModule
- Second Annual Contribute to Open Source Day
- Microsoft and Open Source
- Securely Implement ELMAH For Plug And Play Error Logging
- Dontcha Wish Your Camera Was Hot Like Mine
- 19 Eponymous Laws Of Software Development
- An Easier Way To See The Rotor Code
- A New Blog Design In 4 Hours
- Subtext Is In The Running. Please Vote.
- Open Source On .NET Is Not An Oxymoron
- Bank Error In My Favor. I'm a Microsoft MVP
June 2007
- Christmas For .NET Open Source Came Early This Year
- 10 Developers For The Price Of One
- Subtext Extensibility Notes
- Please Nominate Subtext For A SourceForge Community Choice Award
- What A Difference A Revision Makes - IConfigMapPath Is Inaccessible Due To Its Protection Level
- Unit Test Web Code Without A Web Server Using HttpSimulator
- Leaving Las Vegas With Software Consulting Ethics Intact
- How To Handle The DIV Tag Around ASP.NET Hidden Inputs
- Build Traffic With Father's Day Humor
- Easily Test Your Code For Multiple Cultures
- The Most Useful .NET Utility Classes Developers Tend To Reinvent Rather Than Reuse
- Subkismet Demo Website
- Introducing Subkismet-The Cure For Comment Spam
- Introducing Cody Yokoyama Haack
- Dvorak, Keyboard Layout of Champions
- Finding Code On Your Machine
- Windows Live Writer Manifest For Subtext
- Allowing Business Users To Program Your System Is A Recipe For Disaster
- Twitter Solves the Chat Usability Problem
- Did Microsoft Violate TestDriven.NET's EULA in Enforcing Its Own EULA?
May 2007
- I'd Rather Be a DJ Than A Rockstar Developer
- Strongly Typed Stored Procedures Using Subsonic
- The Only Universal Language In Software Is English
- Motivate Your Unit Tests With the Release of MbUnit 2.4
- Why Didn't Anyone Tell Me Steve McConnell Has A Blog!?
- Ruby-Like Expressiveness in C# 3.0
- Cauldwell's This I Believe, The Developer Edition
- BETA: Incubator for .NET Open Source Projects
- I'll Be Speaking About Open Source at OpenForce
- Added Contstraint Based Expressions To Subsonic
- The IIS 7 Team Rocks!
- CodePlex To Roll Out TortoiseSVN Support
- A .NET API To Search Open Source Code
- The Technological 7-Year Itch
- Is Twitter vs Jaiku a Replay of Friendster vs MySpace
- How To Build Twitter In One Line Of Code
- Service Unavailable Errors in IIS 7 Are Killing Me
- Searching Open Source Code With Open Source
- The SuperSonic Subtext Build Server
- GMail-like Loading Indicator with ASP.NET Ajax
- Sabotage Due To Pain. Developers, Take Ergonomics Seriously!
- Is Fighting Open Source With Patents A Smart Move By Microsoft?
- Tagging In Subtext
- Subtext 1.9.5 Release
- My Last Day Before Starting A New Career
- Edit Keywords Page Patch
- Create Your Own Motivator Poster
- Productive Unit Testing with Specialized Assertion Classes in MbUnit
- Comedy Of Errors Bringing A Server Back From The Dead
- Help a Brother Out And Fight Diabetes
- Installing Ubuntu on Virtual PC for Windows Lovers
- Setting PropertyBehavior On All Properties With Rhino Mocks
- MIX07 Pics From Mix
- Mix07 And The Italian Jersey
- Mix07 I Am Terrible At Being Interviewed
April 2007
- Arrived at Mix 07
- Building a Continuous Integration Process In An Hour On DNRTV
- Prose Is Dead. Long Live Prose
- Insert Code for Windows Live Writer
- Extract Embedded Resources With An Attribute In MbUnit
- The Death Of The Subtext Build Server
- Avoid Using a Database as an API Integration Point
- Write Readable Code By Making Its Intentions Clear
- British Music Stars and Soccer In Los Angeles
- Some New Subtext Skins
- CSS Control Adapters Double PostBack Issue
- Vista Gadget To Monitor Your Build
- A Strange Parking Ticket
- Play The Most Influential Amiga Games Now
- GeeksWithBlogs Now Are Geeks With Subtext
- Databinding Tips: Nesting Eval Statements
- Where Should You Place Your Labels In Your Form
- Voice Your Thoughts At The Mix07 Open Source Panel
- Thank God You're Here
- T-SQL Quiz - Dealing With Trends
- Subsonic 2.0 Beta 1
- Video Dice Stacking
- State Of The Blog Report
- There Are Only Four Software Licenses
- How to Harvest Emails With Google And Protect Yours From Spammers
March 2007
- Estimates And Actuals Are Not Bounded Evenly On Both Sides
- Rhino Mocks 3.0 Released!
- Doubling Down At Mix 07
- Building A Strong Open Source Community Requires Empathy
- Thread Safety Via Read Only Collections
- Windows Live Writer and Html Entities
- GetRecentPost Ignores Categories In Windows Live Writer
- Devious Scam In Which The Check They Send You Clears
- Open Source Programming Language Zeitgeist
- Why Are Developers So Fat?
- DotNetKicks Going Open Source
- Identicon Handler For .NET On CodePlex
- Double Check Locking and Other Premature Optimizations Can Shoot You In The Foot
- I Want This Shirt For My Son
- It's Comments Like This That Keep Me Blogging
- Increase Productivity With Search Driven Development
- Gain Control Of Your Control State
- Quick CSS Optimization Tip
- Dashes Vs Underscores In URLs
- Year of the Starving Pig?
- Improve Your Blog's Reach With These 20 Essential Web Utilities
- Who Tests The Tests?
- Custom Configuration Sections in 3 Easy Steps
- Curb Your Enthusiasm Exonerates Wrongly Accused
- Requirements and Specs Are Always Ambiguous
- Burning My Feeds
- Why Can't Spec Writers Write...Specs?
- Start++ Is All That And Then Some
- Trying Out A New Site Design
- Replacing Recursion With a Stack
- A Comparison of TFS vs Subversion for Open Source Projects
February 2007
- How's This For Tech Support?
- Why Can't Programmers... Read?
- Geek Slap Fight - Get Rid of WWW
- Seeing Bill Gate's House During Seattle Vacation
- ASP.NET Tip - Use The Label Control Correctly
- Catch Me On Univision
- XSD Schema Files For VS.NET
- Visiting Seattle Next Week
- New Subtext Release and Notes On Subtext 2.0
- XFN Link Tool For Windows Live Writer
- Sorry For The Apparent Reposts
- Apparently I Can't Confirm My Own Employment
January 2007
- Our CEO Discovers Second Life
- Night At The Roxbury With Mr. Subsonic
- Better Programming By Programming Better
- Route Around The Default Gateway On The Remote Network
- On Hiring Bloggers and Open Source Developers
- Banned From Slashdot
- Another Day, Another Trip Around The Sun
- Identicons as Graphical Digital Fingerprints
- Easy To Deploy Identicon Handler
- Windows Developer Tools Day
- 6 Software Tips For Hardware Makers
- This Just In - Beckham To Play For Los Angeles
- HTTP Debugging Using Reverse Proxies And Port Forwarders
- Writing Maintainable Code
- Subtext Notes Around The Web
- Year of the Golden Pig
- Five Things You Didn't Want To Know About Me
2006 383
December 2006
- Merry Christmas!
- Soccer Camp
- .NET Developer Charity Auction
- Played Soccer Against The Juggernaut
- Did A Solar Flare Hose My Drive?
- Indulging My OCD Using TestDriven.NET With NCoverExplorer
- [Tip Jar] Unit Test Events With Anonymous Delegates
- Subtext 1.9.3 Released
- Using WebServer.WebDev For Unit Tests
- Y'All Coming To My Neck Of The Woods?
- CodeClimber
- Look Both Ways Before You Lock
- Star Trek Sexadventure
- Akismet DNS Issues
- MbUnit 2.3 Released!
- Help! Server.Transfer Throws Exception In WebServer.WebDev In Medium Trust
- The Question Of Innate Talent
- Parkinson's Law Eats Silver Bullets
November 2006
- Express Yourself With Custom Expression Builders
- Get A Job
- RSS Bandit Comment Watcher
- Mono Migration Analyzer
- Forget the PS3 or the 360
- Adding Client-Side Custom Properties To Controls
- Concatenating Delimited Strings With Generic Delegates
- Tip Jar: Concatenating A Delimited String
- Beyond The Pitch
- Writing A Book
- Tradeoffs When Minimizing The Impact Of Changes
- Register Custom Controls In Web.config
- Good Design Minimizes The Impact Of Changes
- Subtext User Survey
- Email To Weblog
- Commerce Starter Kit 2.0 Released
- World Domination Phase 1 Commenced
- Seriously Cool Jobs Available
- Excellence Awards
October 2006
- Happy Halloween
- CAPTCHA For Trackbacks
- Another Subtext 1.9.2 Upgrade Bug
- What Feature Should Be Removed?
- Insomniac Thought Of The Evening
- Getting Real
- What Do You Do If You Find A Wallet?
- Subtext 1.9.2 Bugfix Update
- PATCH: Cannot Delete Posts In Subtext 1.9.2
- Subtext 1.9.2 "Shields Up" Edition Released!
- SearchDotNet.com
- Insomniac Thought For Tonight
- Essential Subtext 1.9.2 Crib Notes
- Integrate Your Custom Search Engine With The Browser
- The Viper Room And Soccer Woes
- My Very Own Search Engine
- Mapping Drives Via Remote Desktop
- The Misuse of the Space Shuttle Analogy
- Atlas Web Application Project Template
- Art of the Job Post
- OriginUrl Supports Regular Expressions
- Interesting Perf Lesson
- Why Oh Why Couldn't WebPermission Be Part Of Medium Trust?
- Metrics For Your Open Source Project
- Remote Desktop On A Non-Standard Port
- Dogfooding My Blog
- Can't Sleep, Feeling Sick, So I Code
- Tip For Managing Remote VMWare Server
- A Gotcha Identifying the User's IP Address
- Structuring Unit Test Code
- Tivo For Your Registry
- Software Development Is A Religion
- Comment Spam Relief In Subtext Coming Soon
- Power Tools For Disk Defragmenting
- TimeZones
- Rolling Your Own Blog Engine
- MySpace Founder Alleges Fraud In Acquisition
- MIT Animated Physics Sketching
- Change The Display Of A Type In The Debugger
- Better Recruiting Through Blogistry
- How To Pronounce My Last Name
- Optical Character Recognition On The Cheap
- Does Vista Come With An Implicit License To WinXP?
- Better CAPTCHA Through Encryption
- Possible Bug With DateTime.Parse?
- Is Backward Compatibility Holding Microsoft Back
September 2006
- Tag Your Database - A Data Dictionary Tool
- Which Version of Version?
- Log4Net Troubleshooting
- Categories vs Tags
- Lightweight Invisible CAPTCHA Validator Control
- Subtext Akismet API
- Stinkin' Jersey
- Laptop Warmer Anecdote
- Subtext Success Story
- My Third Blog
- Another Marginally Useful Tool - BatchConcat
- The Mix Conferences Will End With 09
- The Medicis, The Music Industry, And Open Source Software
- Batch SVN Rename
- Batch Encode Text Files
- Share In My Stupidity
- Please Vote On This Atlas Javascript Bug
- Playa Creature
- Atlas Comment Spam Heuristics
- Think I'm Just Too White And Nerdy
- My Sandwich Compartment Forehead
- Hotel Minibar Keys Open Diebold Voting Machines
- Should Microsoft Financially Support Open Source Projects?
- A Few Questions For Subtext Users
- Yay! More Gratuitous Special Effects For My Blog - Reflections!
- Proposed Extensions To The XFN Microformat
- My New Personal Blog
- Premature Optimization Considered Healthy
- I'd Like To Be In Joel's Shoes
- Joel On Ruby Performance
- Four Good Years And The Prospect Of Forty More
- End Of The Road Trip
- Why You Gotta Love The British
- BlogML 2.0 Released!
- A New Sub In Town
- Travels
August 2006
- What About CAPTCHA?
- Subtext Skins Gallery at SubtextSkins.com
- Subtext 1.9 "Daedelus" Released!
- MakeMeAdmin And Console MatchMaker
- Important Note On Upgrading to Subtext 1.9
- Ultimate Tool
- Subtext On Mobile Devices
- Getting Jiggy With ASP.NET On Rails
- Comment Spam Heuristics
- Removing The Comment Spam Incentive
- The Real Shaolin Soccer
- Subtext Skinning Changes
- Mile High Overview Of Subtext Skinning
- Developing Custom Skins
- Coder's Bill of Rights
- String.IsNullOrEmpty
- Soccer Beat Down
- Colbert on Dungeons and Dragons
- Resistance Is Not Futile
- Subtext 1.9 Update
- What Is Really Simple Discovery (RSD)?
- Pictures Of The Day
- Atwood Is Preaching And I'm In The Choir
- Fun Iterating PagedCollections With Generics and Iterators
- Windows Live Writer First Impression
- Subtext Breaks Into The Top 15 Active Projects In SourceForge
- I Swear I Didn’t Commission This
- How To Get The Calling Method And Type
- The Using Statement And Disposable Value Types
- Praise For a Good Company
- ASP.NET Supervising Controller (Model View Presenter) From Schematic To Unit Tests to Code
- Tying MVP To the ASP.NET Event Model
- Threading - Never Lock This Redux
- Log4Net And External Configuration File In ASP.NET 2.0
- Is The Null Coalescing Operator Thread Safe?
- Tiny Trick For ViewState Backed Properties
- Los Angeles User Group Meeting
- Log4Net Patch For ConnectionStrings
- Log4Net Breaking Change in 1.2.9
- See! The Monkeys Are Trying To Take Over. But Luckily There Is Help.
- Blog Upgrade
- Open Source Is Free Like A Flower
- Soccer Statistics Can Be Painful
- HttpModule For Controlling Custom Headers
July 2006
- CaptainHook Is On SourceForge
- Open Source Recruiting Is Fundamental
- VelocIT Tools Site
- Scott Adams Solves The Middle East Riddle
- Introducing CaptainHook - A Subversion Hook Framework For .NET
- Happy Belated Birthday To Us!
- The Demise of NDoc and A Challenge For Users Of Open Source Software
- Source Available vs Open Source vs Free Software
- Subtext 1.5.2 Minor Bugfix Release
- Is Community Server Open Source?
- Content Management For .NET
- Pickup Lines In .NET
- Washington Mutual Upgrades to ASP.NET
- VelocIT Logo Design Case Study
- Resharper Can Preview XML Comments as HTML
- Biking Ballona Creek
- ASP.NET 2.0 Client Validation Javascript Bug
- Using Generics For Custom Providers To Reduce Code Duplication
- The Must Read Book Of The Summer
- The Solution To The Landfill Problem
- Which Subtext Skin Do You Use?
- Anyone Need A .NET Open Source Rss Library
- More On Medium Trust and Trackbacks
- Configuring Log4Net with ASP.NET 2.0 in Medium Trust
- Maybe The Apple Ad Is Not So Wrong After All
- Picture of the Moment - Geisha Trio
- I Used To Work For Fun
- Bulletproof Sql Change Scripts Using INFORMATION_SCHEMA Views
- Resilient Plugins Part Deux - Granular Control
June 2006
- Should Subtext Move To CodePlex
- Apple's Unintended Compliment To PCs
- Why Store Your Data In A Relational Database?
- Nice New Skin For Subtext
- Building Plugins Resilient To Versioning
- Crazy Lightning Storm
- An Inconvenient Truth
- Using Rhino Mocks To Unit Test Events on Interfaces
- More Eye Candy For Your Website or Blog
- 80s Music Videos
- Motorcycle Blogging From San Diego to Alaska
- World Cup Widows
- Proper Way To Find The Form
- I Have Contracted A Fever
- Important Subtext 1.5 Multiblog Security Update
- Subtext 1.5 Nautilus R and R Edition Released!
- Submarine Skin
- Examine an Exception in a Catch() Block
- TodayIs666
- Introducing MbUnit.com
- DotNetKicks IBlogExtension Plugin For RSS Bandit (And Others)
- Live Every Day As If It Were...
- Kick It To Earn Payola
- Implicit Branching and Merging
- How Will IE7 or Safari Mangle My Website?
May 2006
- What Does My Testing MailServer Test That A Mock Would Not?
- Unit Testing Data Access Code With The StubDataReader
- Memorial Day Mud Bath
- A Testing Mail Server For Unit Testing Email Functionality
- This One Is For You Dan
- Words Typed With The Left Hand - Dvorak Style
- Weekend In San Diego
- Threaten To Quit And Be Rewarded - On Implicit Policies
- If You Aren't Doing Anything Wrong, What Do You Have To Hide?
- How Subtext Uses CruiseControl.NET
- DotNetNuke CSharp Web Application Project
- Role Playing Via Skype
- NullReferenceException When Deploying DotNetNuke Could Be An ObjectQualifier Discrepancy
- Dealing with Comment Threads
- Custom Partial Output Caching
- It's All About The Party Mode!
- Introduction To Microformats Article
- Admitting Your Addiction Is The First Step
- Write Well To Win Friends And Influence People
- So You Want To Run A Business - Payroll Tax Breakdown
- Three Screens Are Better Than Two
- Anatomy Of A Phishing Attack
- You Know You Work Too Much
- Protect Yourself From Credit Fraud With A Fraud Alert
- Victim Of A Yahoo Messenger Phishing Attack
- Security Argument Against Homogeneity
- Blood And Guts When CodingHorror Visits Haacked
- Subtext Cruising In CruiseControl.NET
- PageParser.GetCompiledPageInstance Weirdness When Debug Set To False In Web.config
- Black Rock City Bound
- Absolutely Livid
- Negative Base Numbering Systems
- A Day Without Immigrants
April 2006
- ASP.NET MVP Haacked
- Zidane Possibly Moving To Los Angeles
- You've Been Haacked 1K Times
- Open Source Distinction And Search
- Watching The MLS Is Like Self Flaggelation
- [SQL] Create a Job to Backup and FTP Your Database
- [SQL] Stored Procedure To FTP Files From SQL Server
- [SQL] Stored ProcedureTo Generate Random Time of Day
- The Kinney Redesign
- Funniest Subtext Subversion Checkin So Far
- Blog Moved Off Of WebHost4Life
- UML Is Chinese To Me
- Finally Pulling Out A Win
- Calling Dibs On Blogging
- CoComment Now Enabled
- Subtext Reaches A Thousand
- Development Abstraction Layer
- Apologies For The Duplicate Posts
- Rainbow Portal Looks To Implement Subtext For Blogging
- One Red Paperclip
- Swinging With The Big Boys
- Stop The Window.Onload Madness
- Making Microformats More Visible - Announcing The XFN Highlighter Script
- Lightbox JS 2.0 Released
- CoComment Support in Subtext
- Writing For A Book Exposes My Ignorance
- Getting A Jump on Web 2.1 aka Web 2007
March 2006
- Back from Puerto Vallarta
- [Mix06] Very Late Roundup
- Playing Against A World Cup Winner
- Is Open Source A Crap Idea?
- Going to Puerto Vallarta
- The On10 Pregnant Photo
- [Mix06] The Value Of A Partial Message With Indigo
- No REST In Lo-REST
- And The Award To The Funniest Commenter On This Blog Goes To
- [Mix06] Microformats Autodiscovery
- Haacked En Espanol
- What Is Microsoft's Project Q?
- St Paddys Day In Iraq - And A Joke
- If You Cut A Mort, Does He Not Bleed?
- See You At Mix06
- Ready To Fire My QA Department
- Basketball Social Engineering Hoax
- On10 Shows Potential
- Live Comment Preview In Three Easy Steps
- CSS Based Printing Tip
- Artificial Deadlines Are The Devils Work
- Developers Are Not Plug and Play
- Implementing CSS Based Printing
- New Word Of The Day - Whorosity
- Blogtegrity
- Funny MySpace Reference In Boondocks Today
- Beyond Channel 9
- A Great Week For The Haackayamas
- Subtext Issue: Missing Emoticons File
- Software Project Management Lessons From Open Source
- The Shoe Cobblers Kids
- Subtext 1.0 Nautilus Edition Released
- Reflections On The Release
February 2006
- Getting Pummelled
- Any Non-Techie Readers?
- Multi-Blog Support In Subtext
- The Subtext Alternative To Url Rewriting
- How I Pimped My Desktop
- Quickstart Guide to Subversion on SourceForge
- Collaborative Filtering For Your Musical Tastes That Works
- Save Your Visual Studio 2003 Settings
- What Every Developer Should Know About Source Control
- Personal UPS System Recommendations
- Ready To Mix It Up
- Better Developers Through Diversity
- Get The Most Out Of Your Format String
- Valentine Is The Day For No Good Low Down Dirty Cheaters To Get Caught
- The Missing Detail of of New Human Machine Interfaces
- Prevent Windows Update Automated Reboots
- Playing Soccer Against Former National Team Players
- On Religious Wars in Software
- Face Recognition That Is Just Wrong On So Many Levels
- Make Sure Your Cache Takes Into Localization
- Adding Web User Control To A Class Library In VS.NET 2005
- Database Maintenance Of Your Blog
- Blog 1099
- The Troll Cap
- The Edit And Continue Debate Rages On
- Adding Window Onload Events In Javascript
- Adding Mouse Over Row Highlighting To Tables
- Beer and Soccer
- Options For Distributed Code Reviews
- Mysterious Things I Have Eaten
- When Not To Iterate
- Follow Up On My Frustrations With Microsoft Money
January 2006
- You Could Hit Eight Level Tonight
- Requirements Considered Harmful
- The Team Grows
- Is It A Hate Crime If It Happens In An Online Game
- Dynamic WHERE and ORDER BY Without Dynamic SQL
- Who Owns the Copyright for An Open Source Project
- I Swear
- The Developer's Guide To Copyright Law - Part 1
- Developers Guide To Open Source Software Licensing
- I Won The Lottery!
- Best Blonde Joke Ever?
- XHTML Conformance in ASP.NET 2.0
- Granting Commit Access to Open Source Projects
- Using a Decorator to Hook Into A WebControl's Rendering for Better XHTML Compliance
- A Word to the Wise About Spam Filters
- Setting Up CVS Commit Emails In SourceForge
- Frustrated With Microsoft Money
- Running An Open Source Project
- Misperceptions of Open Source
- Quickstart Guide To Shell Services In SourceForge
- Vista Could Be So Much Better
- Setting Up Log4Net For Multi Layered Applications
- Clickable Background Images Via CSS
- Web Based IM with Meebo
- CSS URL References And URL Rewriting
- Pimp My Desktop
- Mini-Burning Man
- I Must Be Trustworthy
- Ego Surfing
- Book Review: Bulletproof Web Design
- My Blog Gets A Facelift
- Exception Handling Mistakes: Finally Block Does Not Require The Catch Block
- Staples In My Head
- The Trouble With The Rat Race...
- Photography Lessons
- Websites Back In The Day
- Subversion 1.3 Release Notes
- My Vain Dog
- A Huge Email Misunderstanding
- Bringing Back The 40-hour Workweek
- Be Careful What You Wishlist For...