| July 01, 2009 | Oh, You Wanted "Awesome" Edition |
| June 30, 2009 | All Abstractions Are Failed Abstractions |
| June 24, 2009 | The iPhone Software Revolution |
| June 23, 2009 | Scaling Up vs. Scaling Out: Hidden Costs |
| June 21, 2009 | Monty Hall, Monty Fall, Monty Crawl |
| June 17, 2009 | We Done Been ... Framed! |
| June 16, 2009 | Url Shorteners: Destroying the Web Since 2002 |
| June 11, 2009 | The Wrong Level of Abstraction |
| June 08, 2009 | Regular Expressions for Regular Programmers |
| June 07, 2009 | Unix is Dead, Long Live Unix |
| June 03, 2009 | Sharing Files With BitTorrent |
| June 02, 2009 | I Stopped Reading Your Blog Years Ago |
| June 01, 2009 | The Girl Who Proved P = NP |
| May 28, 2009 | Server Fault: Calling All Lusers |
| May 26, 2009 | Beyond RAID |
| May 25, 2009 | Penny Auctions: They're Gambling |
| May 22, 2009 | How to Motivate Programmers |
| May 19, 2009 | The Bathroom Wall of Code |
| May 17, 2009 | Why Isn't My Encryption.. Encrypting? |
| May 13, 2009 | Why Do Computers Suck at Math? |
| May 11, 2009 | The Web Browser Address Bar is the New Command Line |
| May 08, 2009 | Pseudocode or Code? |
| May 05, 2009 | I Just Logged In As You: How It Happened |
| May 03, 2009 | I Just Logged In As You |
| April 30, 2009 | Optimizing Your Wallet |
| April 26, 2009 | Has The Virtualization Future Arrived? |
| April 21, 2009 | A Modest Proposal for the Copy and Paste School of Code Reuse |
| April 20, 2009 | How Not to Conduct an Online Poll |
| April 16, 2009 | Exception-Driven Development |
| April 15, 2009 | Is Open Source Experience Overrated? |
| April 13, 2009 | Death to the Space Infidels! |
| April 09, 2009 | Training Your Users |
| April 08, 2009 | Sex, Lies, and Software Development |
| April 05, 2009 | Almost Perfect |
| April 04, 2009 | I Happen to Like Heroic Coding |
| April 03, 2009 | The Eight Levels of Programmers |
| April 01, 2009 | Should Competent Programmers be "Mathematically Inclined"? |
| March 29, 2009 | The Ugly American Programmer |
| March 26, 2009 | Don't Like It? Code it Yourself! |
| March 22, 2009 | Who's Your Arch-Enemy? |
| March 21, 2009 | See You at EclipseCon! |
| March 19, 2009 | Five Dollar Programming Words |
| March 16, 2009 | The Hardest Interview Puzzle Question Ever |
| March 15, 2009 | The World's Largest MMORPG: You're Playing it Right Now |
| March 12, 2009 | Spawned a New Process |
| March 10, 2009 | Why Can't Error Messages Be Fun? |
| March 10, 2009 | Sharpening the Saw |
| March 09, 2009 | The Computer Performance Shell Game |
| March 05, 2009 | HTML Validation: Does It Matter? |
| March 03, 2009 | Procrastination and the Bikeshed Effect |
| March 01, 2009 | The Promise and Peril of Jumbo Frames |
| February 28, 2009 | File Compression in the Multi-Core Era |
| February 27, 2009 | Paying Down Your Technical Debt |
| February 25, 2009 | Who's Your Coding Buddy? |
| February 23, 2009 | Rate Limiting and Velocity Checking |
| February 19, 2009 | The Bad Apple: Group Poison |
| February 18, 2009 | Are You An Expert? |
| February 13, 2009 | Real Ultimate Programming Power |
| February 11, 2009 | The Ferengi Programmer |
| February 09, 2009 | The Elephant in the Room: Google Monoculture |
| February 07, 2009 | Don't Reinvent The Wheel, Unless You Plan on Learning More About Wheels |
| February 04, 2009 | You're Doing It Wrong |
| February 02, 2009 | Mixing Oil and Water: Authorship in a Wiki World |
| February 01, 2009 | Have Keyboard, Will Program |
| January 29, 2009 | The Sad Tragedy of Micro-Optimization Theater |
| January 27, 2009 | The Ultimate Dogfooding Story |
| January 25, 2009 | A Scripter at Heart |
| January 22, 2009 | Open Source Software, Self Service Software |
| January 20, 2009 | The One Thing Programmers and Musicians Have In Common |
| January 19, 2009 | A Visit With Alan Kay |
| January 16, 2009 | The Two Types of Browser Zoom |
| January 14, 2009 | Die, You Gravy Sucking Pig Dog! |
| January 12, 2009 | Top 25 Most Dangerous Programming Mistakes |
| January 11, 2009 | If You Don't Change the UI, Nobody Notices |
| January 08, 2009 | Overnight Success: It Takes Years |
| January 07, 2009 | Dictionary Attacks 101 |
| January 04, 2009 | Are You Creating Micromanagement Zombies? |
| December 31, 2008 | Finishing The Game |
| December 30, 2008 | The Problem of the Unfinished Game |
| December 29, 2008 | Programming: Love It or Leave It |
| December 27, 2008 | My Software Is Being Pirated |
| December 24, 2008 | Best (or Worst) Geek Christmas Ever |
| December 23, 2008 | Pressing the Software Turbo Button |
| December 21, 2008 | Gifts for Geeks: 2008 Edition, Sort Of |
| December 18, 2008 | Hardware is Cheap, Programmers are Expensive |
| December 16, 2008 | Avoiding The Uncanny Valley of User Interface |
| December 15, 2008 | Easy, Efficient Hi-Def Video Playback |
| December 11, 2008 | Profitable Until Deemed Illegal |
| December 10, 2008 | My Scaling Hero |
| December 07, 2008 | Our Hacker Odyssey |
| December 04, 2008 | Blu-Ray: Is It Time? |
| December 03, 2008 | The Problem With Logging |
| November 30, 2008 | Tending Your Software Garden |
| November 25, 2008 | Is Email = Efail? |
| November 23, 2008 | Can You Really Rent a Coder? |
| November 19, 2008 | That's Not a Bug, It's a Feature Request |
| November 17, 2008 | We Are Typists First, Programmers Second |
| November 15, 2008 | Your Favorite NP-Complete Cheat |
| November 12, 2008 | Stop Me If You Think You've Seen This Word Before |
| November 10, 2008 | Feeding My Graphics Card Addiction |
| November 08, 2008 | Coding: It's Just Writing |
| November 04, 2008 | Remembering the Dynabook |
| October 30, 2008 | HCI Remixed |
| October 29, 2008 | The Problem With URLs |
| October 25, 2008 | The Web Browser is the New Laptop |
| October 23, 2008 | You're Reading The World's Most Dangerous Programming Blog |
| October 22, 2008 | The One Thing Every Software Engineer Should Know |
| October 20, 2008 | Obscenity Filters: Bad Idea, or Incredibly Intercoursing Bad Idea? |
| October 16, 2008 | Programming Is Hard, Let's Go Shopping! |
| October 14, 2008 | Preventing CSRF and XSRF Attacks |
| October 12, 2008 | The Importance of Sitemaps |
| September 23, 2008 | Cross-Site Request Forgeries and You |
| September 18, 2008 | Bill Gates and Code Complete |
| September 16, 2008 | Stack Overflow: None of Us is as Dumb as All of Us |
| September 07, 2008 | Spawning a New Process |
| August 28, 2008 | Protecting Your Cookies: HttpOnly |
| August 24, 2008 | Deadlocked! |
| August 20, 2008 | Check In Early, Check In Often |
| August 17, 2008 | The Perils of FUI: Fake User Interface |
| August 13, 2008 | Secrets of the JavaScript Ninjas |
| August 09, 2008 | Music to (Not) Code By |
| August 04, 2008 | On Our Project, We're Always 90% Done |
| August 02, 2008 | Quantity Always Trumps Quality |
| July 30, 2008 | Alpha, Beta, and Sometimes Gamma |
| July 28, 2008 | Is Money Useless to Open Source Projects? |
| July 26, 2008 | Understanding The Hardware |
| July 24, 2008 | Coding Without Comments |
| July 22, 2008 | Building Tiny, Ultra Low Power PCs |
| July 20, 2008 | Web Development as Tag Soup |
| July 17, 2008 | Dealing With Bad Apples |
| July 15, 2008 | The Ultimate Software Gold Plating |
| July 14, 2008 | Maybe Normalizing Isn't Normal |
| July 12, 2008 | Monkeypatching For Humans |
| July 09, 2008 | iTunes is Anti-Web |
| July 08, 2008 | Spartan Programming |
| July 06, 2008 | The Problem With Code Folding |
| July 04, 2008 | Investing in a Quality Programming Chair |
| July 02, 2008 | Why Can't Microsoft Ship Open Source Software? |
| July 01, 2008 | Alan Turing, the Father of Computer Science |
| June 29, 2008 | Open Wireless and the Illusion of Security |
| June 27, 2008 | Regular Expressions: Now You Have Two Problems |
| June 25, 2008 | Smart Enough Not To Build This Website |
| June 23, 2008 | Revisiting the XML Angle Bracket Tax |
| June 22, 2008 | The Ultimate Code Kata |
| June 19, 2008 | Department of Declaration Redundancy Department |
| June 17, 2008 | Coding For Violent Psychopaths |
| June 16, 2008 | Physics Based Games |
| June 14, 2008 | Don't Go Dark |
| June 12, 2008 | ASCII Pronunciation Rules for Programmers |
| June 11, 2008 | Markov and You |
| June 09, 2008 | Exploring Wide Finder |
| June 07, 2008 | Finally, a Definition of Programming I Can Actually Understand |
| June 06, 2008 | The Greatest Invention in Computer Science |
| June 04, 2008 | Please Give Us Your Email Password |
| June 02, 2008 | Large USB Flash Drive Performance |
| June 01, 2008 | Whatever Happened to UI Consistency? |
| May 31, 2008 | Revisiting the Black Sunday Hack |
| May 29, 2008 | Strong Opinions, Weakly Held |
| May 28, 2008 | Designing For Evil |
| May 26, 2008 | It's Clay Shirky's Internet, We Just Live In It |
| May 22, 2008 | OpenID: Does The World Really Need Yet Another Username and Password? |
| May 20, 2008 | PHP Sucks, But It Doesn't Matter |
| May 19, 2008 | Twitter: How Not To Crash Responsibly |
| May 18, 2008 | Crash Responsibly |
| May 15, 2008 | Oh Yeah? Fork You! |
| May 13, 2008 | Is HTML a Humane Markup Language? |
| May 12, 2008 | Cleaning Your Display and Keyboard |
| May 11, 2008 | XML: The Angle Bracket Tax |
| May 06, 2008 | Supporting DRM-Free Music |
| May 05, 2008 | Understanding Model-View-Controller |
| May 04, 2008 | The Mainstreaming of GPS |
| May 01, 2008 | Re-Encoding Your DVDs |
| April 30, 2008 | The Great Dub-Dub-Dub Debate |
| April 28, 2008 | Programmers Don't Read Books -- But You Should |
| April 25, 2008 | Building Your Own Home Theater PC |
| April 24, 2008 | The Problem with Software Registration |
| April 22, 2008 | Behold WordPress, Destroyer of CPUs |
| April 21, 2008 | Everything I Needed to Know About Programming I Learned from BASIC |
| April 18, 2008 | Should All Developers Have Manycore CPUs? |
| April 17, 2008 | Building a PC, Part V: Upgrading |
| April 16, 2008 | Introducing Stackoverflow.com |
| April 15, 2008 | Your Session Has Timed Out |
| April 13, 2008 | Revisiting "How Much Power Does My Laptop Really Use"? |
| April 10, 2008 | Donating $5,000 to .NET Open Source |
| April 09, 2008 | We Don't Use Software That Costs Money Here |
| April 07, 2008 | Rediscovering Arcade Nostalgia |
| April 06, 2008 | Help Name Our Website |
| April 05, 2008 | Setting up Subversion on Windows |
| April 03, 2008 | Mousing Surface Theory |
| April 02, 2008 | UI-First Software Development |
| April 01, 2008 | Core War: Two Programs Enter, One Program Leaves |
| March 31, 2008 | Let That Be a Lesson To You, Son: Never Upgrade. |
| March 30, 2008 | Revisiting "Keyboard vs. The Mouse, pt 1" |
| March 29, 2008 | Just a Little Bit of Software History Repeating |
| March 27, 2008 | What Should The Middle Mouse Button Mean? |
| March 26, 2008 | I {entity} Unicode |
| March 25, 2008 | Revisiting The Facts and Fallacies of Software Engineering |
| March 24, 2008 | Is Eeyore Designing Your Software? |
| March 23, 2008 | The Sierra Network II |
| March 21, 2008 | Paul Graham's Participatory Narcissism |
| March 20, 2008 | The First Rule of Programming: It's Always Your Fault |
| March 19, 2008 | Adventures in Rechargeable Batteries |
| March 18, 2008 | The Dark Side of Extensions |
| March 16, 2008 | Does More Than One Monitor Improve Productivity? |
| March 13, 2008 | What's Wrong With Turkey? |
| March 11, 2008 | Choosing Your Own Adventure |
| March 10, 2008 | Real-Time Raytracing |
| March 07, 2008 | A Question of Programming Ethics |
| March 06, 2008 | Death Threats, Intimidation, and Blogging |
| March 05, 2008 | See You at MIX08! |
| March 04, 2008 | CAPTCHA is Dead, Long Live CAPTCHA! |
| March 02, 2008 | Actual Performance, Perceived Performance |
| February 28, 2008 | UsWare vs. ThemWare |
| February 26, 2008 | Douchebaggery |
| February 25, 2008 | I Repeat: Do Not Listen to Your Users |
| February 24, 2008 | On Escalating Communication |
| February 20, 2008 | Code Isn't Beautiful |
| February 19, 2008 | There Ain't No Such Thing as the Fastest Code |
| February 18, 2008 | Tivoization and the GPL |
| February 14, 2008 | The Ultimate Unit Test Failure |
| February 13, 2008 | Spatial Navigation and Opera |
| February 11, 2008 | The Dramatic Password Reveal |
| February 10, 2008 | Where the Heck is My Focus? |
| February 07, 2008 | The Years of Experience Myth |
| February 06, 2008 | Extending Your Wireless Network With Better Antennas |
| February 04, 2008 | DRM Ignorance is Expensive |
| February 03, 2008 | A Lesson in Apple Economics |
| February 02, 2008 | Get Your Database Under Version Control |
| January 31, 2008 | Every User Lies |
| January 30, 2008 | Is Worse Really Better? |
| January 28, 2008 | What's Your Backup Strategy? |
| January 27, 2008 | Why Doesn't Anyone Give a Crap About Freedom Zero? |
| January 24, 2008 | What Can You Build in 600 Lines of Code? |
| January 22, 2008 | Getting the Interview Phone Screen Right |
| January 21, 2008 | Reinventing the Clipboard |
| January 19, 2008 | The Sesame Street Presentation Rule |
| January 17, 2008 | See You at CUSEC 2008 |
| January 16, 2008 | Typography: Where Engineers and Designers Meet |
| January 15, 2008 | The Five Browser Shortcuts Everyone Should Know |
| January 13, 2008 | What's On Your Keychain, 2008 Edition |
| January 12, 2008 | How Should We Teach Computer Science? |
| January 10, 2008 | The Enduring Art of Computer Programming |
| January 09, 2008 | No Matter What They Tell You, It's a People Problem |
| January 08, 2008 | Don't Pollute User Space |
| January 06, 2008 | The Magpie Developer |
| January 04, 2008 | My Racing Simulation Rig |
| January 03, 2008 | Understanding User and Kernel Mode |
| January 01, 2008 | The Trouble with PDFs |
| December 28, 2007 | An Inalienable Right to Privacy |
| December 26, 2007 | Modern Logo |
| December 23, 2007 | Size Is The Enemy |
| December 20, 2007 | Digital Certificates: Do They Work? |
| December 19, 2007 | The Great Browser JavaScript Showdown |
| December 18, 2007 | Nobody Cares What Your Code Looks Like |
| December 17, 2007 | Software Registration Keys |
| December 15, 2007 | On The Meaning of "Coding Horror" |
| December 13, 2007 | Our Fractured Online Identities |
| December 12, 2007 | Sorting for Humans : Natural Sort Order |
| December 11, 2007 | Blacklists Don't Work |
| December 10, 2007 | Are You a Doer or a Talker? |
| December 09, 2007 | Gifts for Geeks: 2007 Edition |
| December 07, 2007 | The Danger of Naïveté |
| December 06, 2007 | Hashtables, Pigeonholes, and Birthdays |
| December 05, 2007 | Sharing The Customer's Pain |
| December 04, 2007 | Please Don't Steal My Focus |
| December 03, 2007 | Shuffling |
| December 02, 2007 | Presentation: Be Vain |
| November 29, 2007 | Mort, Elvis, Einstein, and You |
| November 28, 2007 | What If They Gave a Browser War and Microsoft Never Came? |
| November 26, 2007 | The Big Ball of Mud and Other Architectural Disasters |
| November 25, 2007 | The Two Types of Programmers |
| November 20, 2007 | Has CAPTCHA Been "Broken"? |
| November 19, 2007 | Living the Dream: Rock Band |
| November 18, 2007 | Pair Programming vs. Code Reviews |
| November 15, 2007 | You're Now Competing With The Internet |
| November 14, 2007 | Don't Forget To Lock Your Computer |
| November 12, 2007 | What's in a Project Name? |
| November 11, 2007 | The Sad State of Digital Software Distribution |
| November 09, 2007 | Is It Time for 64-bit on the Desktop? |
| November 07, 2007 | Making Donations Easy |
| November 06, 2007 | Who Wrote This Crap? |
| November 04, 2007 | Don't Click Here: The Art of Hyperlinking |
| November 01, 2007 | Not All LCD Panels Are Created Equal |
| October 31, 2007 | The F5 Key Is Not a Build Process |
| October 30, 2007 | Embracing Languages Inside Languages |
| October 28, 2007 | Your Desktop Is Not a Destination |
| October 26, 2007 | How To Achieve Ultimate Blog Success In One Easy Step |
| October 25, 2007 | I'd Consider That Harmful, Too |
| October 24, 2007 | Hardware Assisted Brute Force Attacks: Still For Dummies |
| October 23, 2007 | Virtual Machine Server Hosting |
| October 21, 2007 | Let's Play Planning Poker! |
| October 18, 2007 | Are Features The Enemy? |
| October 17, 2007 | Why Does Software Spoil? |
| October 15, 2007 | Remember, This Stuff Is Supposed To Be Fun |
| October 14, 2007 | Torrent Informatics |
| October 13, 2007 | Mouse Ballistics |
| October 11, 2007 | A Visual Explanation of SQL Joins |
| October 10, 2007 | A Lesson in Control Simplicity |
| October 08, 2007 | Geek Diet and Exercise Programs |
| October 07, 2007 | YouTube: The Big Copyright Lie |
| October 04, 2007 | Do Not Buy This Book |
| October 03, 2007 | Revisiting Programming Fonts |
| October 02, 2007 | Software Branching and Parallel Universes |
| October 01, 2007 | Pushing Operating System Limits |
| September 28, 2007 | Computer Display Calibration 101 |
| September 27, 2007 | Why Are Web Uploads So Painful? |
| September 26, 2007 | Can Your Team Pass The Elevator Test? |
| September 25, 2007 | Slaying Mighty Dragons: Competitive Ranking and Matching Systems |
| September 24, 2007 | Steve McConnell in the Doghouse |
| September 21, 2007 | LCD Monitor Arms |
| September 20, 2007 | On Exposé, Flip3D, and Switcher |
| September 19, 2007 | Everything Is Fast For Small n |
| September 18, 2007 | Lazyweb Calling |
| September 17, 2007 | Practicing the Fundamentals: The New Turing Omnibus |
| September 16, 2007 | You're Probably Storing Passwords Incorrectly |
| September 12, 2007 | Classic Computer Science Puzzles |
| September 10, 2007 | Gigabyte: Decimal vs. Binary |
| September 08, 2007 | Rainbow Hash Cracking |
| September 06, 2007 | The Problem With Tabbed Interfaces |
| September 05, 2007 | The Peanut Butter Theory of User Interface Design |
| September 04, 2007 | Online Newspapers, Offline |
| September 02, 2007 | Keeping The Menu Simple |
| September 01, 2007 | Choosing Dual or Quad Core |
| August 29, 2007 | Falling Into The Pit of Success |
| August 28, 2007 | Was The Windows Registry a Good Idea? |
| August 26, 2007 | Computer Workstation Ergonomics |
| August 23, 2007 | Widescreen and FOV |
| August 22, 2007 | Programming Games, Analyzing Games |
| August 21, 2007 | URL Shortening: Hashes In Practice |
| August 20, 2007 | How Not To Write a Technical Book, Epilogue |
| August 19, 2007 | Leading by Example |
| August 16, 2007 | Thirteen Blog Clichés |
| August 15, 2007 | YSlow: Yahoo's Problems Are Not Your Problems |
| August 14, 2007 | Discipline Makes Strong Developers |
| August 13, 2007 | Measuring Font Legibility |
| August 10, 2007 | Trojans, Rootkits, and the Culture of Fear |
| August 09, 2007 | Dell XPS M1330 Review |
| August 07, 2007 | The Large Display Paradox |
| August 06, 2007 | Catalogs of Data Visualization |
| August 03, 2007 | Configuring The Stack |
| August 02, 2007 | What's Worse Than Crashing? |
| August 01, 2007 | Speeding Up Your PC's Boot Time |
| July 31, 2007 | Yes, But What Have You *Done*? |
| July 30, 2007 | The Software Imprinting Dilemma |
| July 27, 2007 | The Coming Software Patent Apocalypse |
| July 26, 2007 | Google's Number One UI Mistake |
| July 25, 2007 | Whatever Happened to Civility on The Internet? |
| July 24, 2007 | Lessons from Garry's Mod |
| July 23, 2007 | Building a PC, Part IV: Now It's Your Turn |
| July 20, 2007 | Will My Software Project Fail? |
| July 19, 2007 | Futurist Programming.. in 1994 |
| July 18, 2007 | What's Wrong With Setup.exe? |
| July 17, 2007 | The Principle of Least Power |
| July 16, 2007 | The Non-Maximizing Maximize Button |
| July 13, 2007 | Don't Be a Commodity Blogger |
| July 12, 2007 | Steve Mann, Cyborg |
| July 11, 2007 | Building a PC, Part III - Overclocking |
| July 10, 2007 | Building a PC, Part II |
| July 09, 2007 | Building a PC, Part I |
| July 06, 2007 | Defining Open Source |
| July 05, 2007 | Better Image Resizing |
| July 04, 2007 | Game Development Postmortems |
| July 03, 2007 | The Technology Backlash |
| July 02, 2007 | Rethinking Design Patterns |
| June 29, 2007 | Avoiding Walled Gardens on the Internet |
| June 28, 2007 | The Three Faces of About Face |
| June 27, 2007 | Why You Don't Want an iPhone -- Yet |
| June 26, 2007 | Learning, or, Learning How To Learn |
| June 25, 2007 | Supporting Open Source Projects in the Microsoft Ecosystem |
| June 22, 2007 | How To Advertise on Your Blog Without (Completely) Selling Out |
| June 21, 2007 | Does Anyone Actually Read Software EULAs? |
| June 20, 2007 | The Windows Security Epidemic: Don't Run as an Administrator |
| June 19, 2007 | In Programming, One Is The Loneliest Number |
| June 18, 2007 | Escaping From Gilligan's Island |
| June 15, 2007 | How to Clean Up a Windows Spyware Infestation |
| June 14, 2007 | Incremental Feature Search in Applications |
| June 13, 2007 | Where Are The High Resolution Displays? |
| June 12, 2007 | Font Rendering: Respecting The Pixel Grid |
| June 11, 2007 | What's Wrong With Apple's Font Rendering? |
| June 07, 2007 | Who Killed the Desktop Application? |
| June 06, 2007 | Designing for Informavores, or, Why Users Behave Like Animals Online |
| June 05, 2007 | Don't Ask -- Observe |
| June 04, 2007 | Removing The Login Barrier |
| June 01, 2007 | Background Compilation and Background Spell Checking |
| May 31, 2007 | Gates and Jobs, Then and Now |
| May 30, 2007 | The Best Code is No Code At All |
| May 29, 2007 | Let's Build a Grid |
| May 28, 2007 | Computer Hardware Pornography |
| May 27, 2007 | Why Is The System Idle Process Hogging All The Resources? |
| May 25, 2007 | How to Get Rich Programming |
| May 24, 2007 | Upgrading to a High Efficiency Power Supply |
| May 23, 2007 | The End of the "Microsoft Tax" |
| May 22, 2007 | When Hardware is Free, Power is Expensive |
| May 21, 2007 | JavaScript: The Lingua Franca of the Web |
| May 18, 2007 | Productivity Tip: Upgrade Your Pentium 4 |
| May 17, 2007 | Reducing User Interface Friction |
| May 16, 2007 | Meet The Inventor of the Mouse Wheel |
| May 15, 2007 | Designing Interactions at IDEO |
| May 14, 2007 | Bill Gates and DONKEY.BAS |
| May 11, 2007 | C# and the Compilation Tax |
| May 10, 2007 | This Site May Harm Your Computer |
| May 09, 2007 | Zoomable Interfaces |
| May 08, 2007 | Giving Up on Microsoft |
| May 07, 2007 | Your Favorite Programming Quote |
| May 04, 2007 | Phishing: The Forever Hack |
| May 03, 2007 | Maximizing The Value of Your Keystrokes |
| May 02, 2007 | Basic Design Principles for Software Developers |
| May 01, 2007 | Programming Tip: Learn a Graphics Editor |
| April 30, 2007 | An Initiate of the Bayesian Conspiracy |
| April 29, 2007 | See You At MIX07 |
| April 26, 2007 | JavaScript and HTML: Forgiveness by Default |
| April 25, 2007 | Coding Horror on .NET Rocks |
| April 24, 2007 | How Not To Write a Technical Book |
| April 23, 2007 | Where Are All the Open Source Billionaires? |
| April 20, 2007 | Welcome to Dot-Com Bubble 2.0 |
| April 19, 2007 | Apparently Bloggers Aren't Journalists |
| April 18, 2007 | Sins of Software Security |
| April 17, 2007 | When In Doubt, Make It Public |
| April 16, 2007 | Reddit: Language vs. Platform |
| April 12, 2007 | Twitter: Service vs. Platform |
| April 11, 2007 | The Pernicious Issue of Software Patents |
| April 10, 2007 | Usability Is Timeless |
| April 09, 2007 | Is Amazon's Mechanical Turk a Failure? |
| April 06, 2007 | EA's Software Artists |
| April 05, 2007 | SEOs: the New Pornographers of the Web |
| April 04, 2007 | Firefox as an IDE |
| April 03, 2007 | Pick a License, Any License |
| April 02, 2007 | Mouse DPI and USB Polling Rate |
| April 02, 2007 | Software Projects as Rock Climbing |
| April 01, 2007 | All About My Cats! |
| March 29, 2007 | Software Development as a Collaborative Game |
| March 28, 2007 | Learning on the Battlefield |
| March 27, 2007 | Going Commando - Put Down The Mouse |
| March 26, 2007 | What's Wrong With The Daily WTF |
| March 23, 2007 | Folding: The Death of the General Purpose CPU |
| March 22, 2007 | Top 6 List of Programming Top 10 Lists |
| March 21, 2007 | A Race of Futuristic Supermen! |
| March 20, 2007 | Code Access Security and Bitfrost |
| March 19, 2007 | Primary Keys: IDs versus GUIDs |
| March 16, 2007 | Creating User Friendly 404 Pages |
| March 15, 2007 | The "Works on My Machine" Certification Program |
| March 14, 2007 | Are Web Interfaces "Good Enough"? |
| March 13, 2007 | My Work PC, or, Taking Your Own Advice |
| March 12, 2007 | Building a Computer the Google Way |
| March 09, 2007 | Software Internationalization, SIMS Style |
| March 08, 2007 | Dude, Where's My 4 Gigabytes of RAM? |
| March 07, 2007 | Getting the Most Out of PNG |
| March 06, 2007 | Using Amazon S3 as an Image Hosting Service |
| March 05, 2007 | Reducing Your Website's Bandwidth Usage |
| March 02, 2007 | Your Code: OOP or POO? |
| March 01, 2007 | Curly's Law: Do One Thing |
| February 28, 2007 | Choosing Anti-Anti-Virus Software |
| February 27, 2007 | FizzBuzz: the Programmer's Stairway to Heaven |
| February 26, 2007 | Why Can't Programmers.. Program? |
| February 24, 2007 | You Want a 10,000 RPM Boot Drive |
| February 23, 2007 | Revisiting 7-ZIP |
| February 22, 2007 | Don't Use ZIP, Use RAR |
| February 21, 2007 | URL Rewriting to Prevent Duplicate URLs |
| February 20, 2007 | Because They All Suck |
| February 19, 2007 | Everybody Loves BitTorrent |
| February 16, 2007 | Beyond JPEG |
| February 15, 2007 | What's In a Version Number, Anyway? |
| February 14, 2007 | Origami Software and Crease Patterns |
| February 13, 2007 | Code Smaller |
| February 12, 2007 | Does Offline Mode Still Matter? |
| February 09, 2007 | Remotely Waking Up Your PC |
| February 08, 2007 | Non-Native UI Sucks |
| February 07, 2007 | Boyd's Law of Iteration |
| February 06, 2007 | The Software "Check Engine" Light |
| February 05, 2007 | What You Have, What You Know, What You Are |
| February 02, 2007 | Windows Vista Media Center |
| February 01, 2007 | The Economics of Bandwidth |
| January 31, 2007 | Low-Fi Usability Testing |
| January 30, 2007 | Stylesheets for Print and Handheld |
| January 29, 2007 | How To Become a Better Programmer by Not Programming |
| January 26, 2007 | Extending The Windows Vista Grace Period to 120 Days |
| January 25, 2007 | Dynamic, Lightweight Visualization |
| January 24, 2007 | Would you rather be a Navigator or an Explorer? |
| January 23, 2007 | If It Isn't Documented, It Doesn't Exist |
| January 22, 2007 | Shipping Isn't Enough |
| January 19, 2007 | Identicons for .NET |
| January 18, 2007 | A World of Endless Advertisements |
| January 17, 2007 | Do Certifications Matter? |
| January 16, 2007 | There Are No Design Leaders in the PC World |
| January 15, 2007 | Five Things You Didn't Know About Me (and my office) |
| January 12, 2007 | The Problem With C++ |
| January 11, 2007 | If It's Not in Google, Does Your Website Really Exist? |
| January 10, 2007 | The Power of Defaults |
| January 09, 2007 | Typing Trumps Pointing |
| January 08, 2007 | Test Doubles: A Taxonomy of Pretend Objects |
| January 07, 2007 | Please Stand By.. We're Experiencing Technical Difficulties |
| January 05, 2007 | The Story About PING |
| January 04, 2007 | The Sugar UI |
| January 03, 2007 | If Loving Computers is Wrong, I Don't Want to Be Right |
| January 02, 2007 | Keeping Time on the PC |
| January 01, 2007 | On the Use of Clichés |
| December 29, 2006 | Is your PC capable of Hi-Def? |
| December 28, 2006 | Will your next computer monitor be a HDTV? |
| December 27, 2006 | Did YouTube Cut the Gordian Knot of Video Codecs? |
| December 22, 2006 | Logging in with the Keyboard |
| December 21, 2006 | Assertiveness for Software Developers |
| December 20, 2006 | The Day The Trackbacks Died |
| December 19, 2006 | Eric Lippert's Purple Crayon |
| December 18, 2006 | Code Tells You How, Comments Tell You Why |
| December 17, 2006 | Hard Drive Temperatures: Be Afraid |
| December 16, 2006 | Next-Gen DVD: Are Those Additional Pixels Worth Your Money? |
| December 15, 2006 | High-Definition Video on the PC |
| December 14, 2006 | Percentage of Chart Which Resembles Ms. Pac-Man |
| December 13, 2006 | LCD Progress |
| December 12, 2006 | Is Your Database Under Version Control? |
| December 11, 2006 | Printer and Screen Resolution |
| December 10, 2006 | Moore's Law in Practical Terms |
| December 08, 2006 | Joining The Prestigious Three Monitor Club |
| December 07, 2006 | Reading with Edward Tufte |
| December 04, 2006 | Are You an Evangelist Too? |
| December 03, 2006 | Cool Gifts for Geeks: 2006 Edition |
| December 01, 2006 | Today is "Support Your Favorite Small Software Vendor Day" |
| November 30, 2006 | The Project Postmortem |
| November 27, 2006 | This Is What Happens When You Let Developers Create UI |
| November 24, 2006 | Discussions: Flat or Threaded? |
| November 23, 2006 | CPU vs. GPU |
| November 22, 2006 | Exploring Vista's Advanced Search |
| November 21, 2006 | iPod Alternatives |
| November 20, 2006 | Filesystem Paths: How Long is Too Long? |
| November 17, 2006 | Computers are Lousy Random Number Generators |
| November 16, 2006 | It's Never Been Built Before |
| November 15, 2006 | Simplicity as a Force |
| November 14, 2006 | Microsoft Project and the Gantt Waterfall |
| November 13, 2006 | It's a Malformed World |
| November 09, 2006 | Office 2007 -- not so WIMPy |
| November 08, 2006 | Speed Still Matters |
| November 07, 2006 | Screencasting for Windows |
| November 06, 2006 | KeyTraino for Visual Studio 2005 |
| November 03, 2006 | Customization: The Software Tar-Baby |
| November 02, 2006 | Growing up with the Microcomputer |
| November 01, 2006 | The High Score Table |
| October 31, 2006 | What did you write five years ago? |
| October 30, 2006 | Whitelist, Blacklist, Greylist |
| October 27, 2006 | The Single Most Important Virtual Machine Performance Tip |
| October 26, 2006 | The Build Server: Your Project's Heart Monitor |
| October 25, 2006 | CAPTCHA Effectiveness |
| October 24, 2006 | Swiss Army Knife or Generalizing Specialist |
| October 23, 2006 | Does Writing Code Matter? |
| October 21, 2006 | Windows Live Writer: making the Internet a better place |
| October 20, 2006 | The Iron Stool |
| October 19, 2006 | My Giant Heatsink Fetish |
| October 18, 2006 | Buy the Community, Not the Product |
| October 17, 2006 | The Last Responsible Moment |
| October 16, 2006 | Chickens, Pigs, and Really Inappropriate Terminology |
| October 13, 2006 | Opting Out of Linked In |
| October 12, 2006 | The Field of Dreams Strategy |
| October 11, 2006 | Chess: Computer v. Human |
| October 10, 2006 | Blog Advertising: Yea or Nay |
| October 09, 2006 | Software Development: It's a Religion |
| October 06, 2006 | DEFCON: Shall We Play a Game? |
| October 05, 2006 | Building and Overclocking a Core 2 Duo System |
| October 04, 2006 | On Frameworkitis |
| October 03, 2006 | Is Software Development Like Manufacturing? |
| October 02, 2006 | Anything But Waterfall |
| September 29, 2006 | I Rock at BASIC |
| September 28, 2006 | Hard Drives -- breaking the Terabyte Barrier |
| September 27, 2006 | The Multi-Tasking Myth |
| September 26, 2006 | Making Developers Cry Since 1995 |
| September 25, 2006 | Changing Your Organization (for Peons) |
| September 22, 2006 | Why Does Vista Use All My Memory? |
| September 21, 2006 | Company of Heroes |
| September 20, 2006 | Fifty Years of Software Development |
| September 19, 2006 | How big is your Lap, Anyway? |
| September 18, 2006 | When Understanding means Rewriting |
| September 15, 2006 | On Unnecessary Namespacing |
| September 14, 2006 | Is Your IDE Hot or Not? |
| September 13, 2006 | A Visit from the Metrics Maid |
| September 12, 2006 | Vista and the Rise of the Flash Drives |
| September 11, 2006 | Has Joel Spolsky Jumped the Shark? |
| September 08, 2006 | Technological Racism |
| September 07, 2006 | Have You Ever Been Windows Experienced? |
| September 06, 2006 | Software: It's a Gas |
| September 05, 2006 | Unnecessary Dialogs: Stopping the Proceedings with Idiocy |
| September 04, 2006 | Transfer Mode Downgraded |
| September 01, 2006 | External Hard Drives |
| August 31, 2006 | Computer Languages aren't Human Languages |
| August 30, 2006 | Game Player, Game Programmer |
| August 29, 2006 | Thread Priorities are Evil |
| August 28, 2006 | The Sporkfe |
| August 25, 2006 | How to Write Technical Documentation |
| August 24, 2006 | The Programmer's Bill of Rights |
| August 23, 2006 | Coding Horror Sightings |
| August 22, 2006 | Building a Quiet PC |
| August 21, 2006 | Total Users Does Not Equal Total Usage |
| August 20, 2006 | DirectX Version Number Abuse |
| August 18, 2006 | Video Card Power Consumption |
| August 17, 2006 | The Power of "View Source" |
| August 16, 2006 | Source Control: Anything But SourceSafe |
| August 15, 2006 | Coding Horror Stickers |
| August 14, 2006 | The Magical Number Seven Plus or Minus Two |
| August 11, 2006 | Sometimes It's a Hardware Problem |
| August 10, 2006 | The Last Configuration Section Handler.. Revisited |
| August 09, 2006 | Fitts' Law and Infinite Width |
| August 08, 2006 | Quad Core Desktops and Diminishing Returns |
| August 07, 2006 | Properties vs. Public Variables |
| August 06, 2006 | Filesystem Metadata Doesn't Scale |
| August 04, 2006 | A Spec-tacular Failure |
| August 03, 2006 | My Love/Hate relationship with ClearType |
| August 02, 2006 | Shortening Long File Paths |
| August 01, 2006 | Open Source: Free as in "Free" |
| July 31, 2006 | Linus Torvalds, Visual Basic Fan |
| July 28, 2006 | Are You an XML Bozo? |
| July 27, 2006 | Windows XP, Our New Favorite Legacy Operating System |
| July 26, 2006 | Compiler, It Hurts When I Do This |
| July 25, 2006 | Information Density and Dr. Bronner |
| July 24, 2006 | What is "Modern Software Development"? |
| July 21, 2006 | The problem with "Low Priority" |
| July 20, 2006 | I Pity The Fool Who Doesn't Write Unit Tests |
| July 19, 2006 | Creating Smaller Virtual Machines |
| July 18, 2006 | Why Can't Database Tables Index Themselves? |
| July 17, 2006 | Diseconomies of Scale and Lines of Code |
| July 15, 2006 | Own a Coding Horror |
| July 14, 2006 | Separating Programming Sheep from Non-Programming Goats |
| July 13, 2006 | I Heart Strings |
| July 12, 2006 | The Visual Studio IDE and Regular Expressions |
| July 11, 2006 | Power, Surge Protection, PCs, and You |
| July 10, 2006 | Brute Force Key Attacks Are for Dummies |
| July 07, 2006 | In Defense of the "Smackdown" Learning Model |
| July 06, 2006 | A Comparison of JPEG Compression Levels and Recompression |
| July 05, 2006 | How Good an Estimator are You? Part III |
| July 04, 2006 | The Monopoly Interview |
| July 03, 2006 | How Good an Estimator Are You? Part II |
| June 30, 2006 | How Good an Estimator Are You? |
| June 29, 2006 | ASUS W3J Laptop Review |
| June 28, 2006 | The Mysterious Cone of Uncertainty |
| June 27, 2006 | Secretly, We're All Geeks |
| June 26, 2006 | Object-Relational Mapping is the Vietnam of Computer Science |
| June 25, 2006 | Meet the Arch-Nemesis of Productivity: The Internet |
| June 23, 2006 | Vive la Programming Révolution! |
| June 22, 2006 | Text Columns: How Long is Too Long? |
| June 21, 2006 | When Object-Oriented Rendering is Too Much Code |
| June 20, 2006 | Is Writing More Important Than Programming? |
| June 19, 2006 | Pretty Code, Ugly Code |
| June 18, 2006 | PC Pinball Sims |
| June 16, 2006 | Laptop Alternatives |
| June 15, 2006 | Desktopitis |
| June 14, 2006 | How Long Would It Take if Everything Went Wrong? |
| June 13, 2006 | WWWWWDD? |
| June 12, 2006 | The Noble Art of Maintenance Programming |
| June 10, 2006 | See You at TechEd 2006 |
| June 08, 2006 | What's on Your Keychain.. in 2006? |
| June 07, 2006 | Did IE6 Make Web 2.0 Possible? |
| June 06, 2006 | Programming Your Hands |
| June 05, 2006 | Don't Ask Us Questions. We'll Just Ignore You. |
| June 02, 2006 | Road Warrior Revisited |
| June 01, 2006 | Love It, Hate It |
| May 31, 2006 | Peopleware Revisited |
| May 30, 2006 | Touchpad vs. Trackpoint |
| May 29, 2006 | Do Modems Still Matter? |
| May 26, 2006 | Pixels, Megapixels, and Desktop Resolutions |
| May 25, 2006 | Is the Command Prompt the New Desktop? |
| May 24, 2006 | You may be a victim of software counterfeiting. |
| May 23, 2006 | Apple Laptops: Good, Cheap, Fast -- pick three |
| May 22, 2006 | Are Recipes for Novices? |
| May 19, 2006 | Programmers and Chefs |
| May 18, 2006 | Code Smells |
| May 17, 2006 | Snappy Answers to Stupid Programming Questions |
| May 16, 2006 | Localhost HTTP debugging with Fiddler |
| May 15, 2006 | The Long, Dismal History of Software Project Failure |
| May 12, 2006 | Egoless Programming: You Are Not Your Job |
| May 11, 2006 | Excess Blog Flair |
| May 10, 2006 | Power, Influence, and Copywriting |
| May 09, 2006 | The Ten Commandments of Egoless Programming |
| May 08, 2006 | Invisible Formatting Tags are Evil |
| May 07, 2006 | Spam via SMTP Non-Delivery Reports |
| May 05, 2006 | A Setup Conundrum |
| May 04, 2006 | Virtualization and Ring Negative One |
| May 03, 2006 | Design Matters -- but Content is King |
| May 02, 2006 | Following Instructions for Dummies |
| May 01, 2006 | Fail Early, Fail Often |
| April 30, 2006 | Why Do We Have So Many Screwdrivers? |
| April 27, 2006 | Keeping Up and "Just In Time" Learning |
| April 26, 2006 | Of Spaces, Underscores and Dashes |
| April 25, 2006 | A Blog Without Comments Is Not a Blog |
| April 24, 2006 | Web 2.0 and The "Whatever Box" Server |
| April 23, 2006 | If the User Can't Find It... |
| April 21, 2006 | The Cartoon Guide to.. Programming? |
| April 19, 2006 | Windows Vista: Security Through Endless Warning Dialogs |
| April 18, 2006 | Remote Desktop Tips and Tricks |
| April 17, 2006 | Are You Following the Instructions on the Paint Can? |
| April 16, 2006 | Your Personal Brand |
| April 14, 2006 | UML, Circuit Diagrams, and God's Rules |
| April 13, 2006 | Wikipedia: Inclusionists vs. Deletionists |
| April 12, 2006 | Automatic Login for Virtual Machines |
| April 11, 2006 | It's Better Than Nothing |
| April 10, 2006 | (Very) Basic Textbox Keyboard Shortcuts |
| April 09, 2006 | How Much Power Does My Laptop Really Use? |
| April 07, 2006 | Best Practices and Puffer Fish |
| April 06, 2006 | Blocking Image Bandwidth Theft with URL Rewriting |
| April 05, 2006 | Teach Yourself ASP.NET 2.0 in 23 Hours |
| April 04, 2006 | A Fistful of Connectors |
| April 03, 2006 | Menus and Toolbars Don't Scale |
| April 02, 2006 | Code Elegance, Code Balance |
| March 31, 2006 | The 2GB Windows XP Hibernation Problem |
| March 30, 2006 | STOP! Having Trouble? |
| March 29, 2006 | I Shall Call It.. SomethingManager |
| March 28, 2006 | How Not To Become a Rockstar Programmer |
| March 27, 2006 | The Ideal Computer Desk |
| March 26, 2006 | Making Considerate Software |
| March 24, 2006 | The Value of Repetition.. Again |
| March 23, 2006 | But It's Just One More |
| March 22, 2006 | Rapid Prototyping Fun |
| March 21, 2006 | The Login Explosion |
| March 20, 2006 | Everything You Know Will Be Obsolete in Five Years |
| March 19, 2006 | Meeting at MIX06 |
| March 17, 2006 | Microsoft Doesn't Trust .NET |
| March 16, 2006 | Programmers as Human Beings |
| March 15, 2006 | Selling Usability |
| March 14, 2006 | In Praise of Good Design |
| March 13, 2006 | Firefox Excessive Memory Usage |
| March 12, 2006 | History of the OK Button |
| March 10, 2006 | Users don't care about you |
| March 09, 2006 | SDWest 2006: My McConnell Moment |
| March 08, 2006 | Doing It Like Everyone Else Does |
| March 07, 2006 | Web Forms: Death By a Thousand Textboxes |
| March 06, 2006 | The Cult of Coleco Adam |
| March 03, 2006 | Sucking Less Every Year |
| March 02, 2006 | In Pursuit of Simplicity |
| March 01, 2006 | Snippet Enumeration Macro |
| February 28, 2006 | Making a Video Game out of your code |
| February 27, 2006 | Quick and Dirty Internet Connection Troubleshooting |
| February 24, 2006 | Error Codes Must Die |
| February 23, 2006 | Levelling Up in the IDE |
| February 22, 2006 | Sometimes a Word is Worth a Thousand Icons |
| February 21, 2006 | C# Snippet Parity |
| February 20, 2006 | Will Mouse Gestures Ever Be Mainstream? |
| February 19, 2006 | Darwinia |
| February 17, 2006 | Choosing between .NET Pepsi and .NET Coke |
| February 16, 2006 | Colorization Required |
| February 15, 2006 | The Real Cost of Hello World |
| February 14, 2006 | Fear of Writing |
| February 13, 2006 | Standard Browser Keyboard Shortcuts |
| February 12, 2006 | Lotus Notes: Survival of the Unfittest |
| February 10, 2006 | Presentation Zen |
| February 09, 2006 | On Audio Visualization |
| February 08, 2006 | Hazmat Placards and Icons |
| February 07, 2006 | The Day Performance Didn't Matter Any More |
| February 06, 2006 | .NET Pet Shop 4 |
| February 05, 2006 | Revisiting Edit and Continue |
| February 03, 2006 | Keeping Private Keys Private |
| February 02, 2006 | Smart Tags and Sane Keyboard Shortcuts |
| February 01, 2006 | Don't Acronymize Your Users |
| January 31, 2006 | How Not to Give a Presentation |
| January 30, 2006 | Presentation Magnification |
| January 29, 2006 | Not All Bugs Are Worth Fixing |
| January 27, 2006 | VSLive! 2006 |
| January 26, 2006 | Google is the Help Menu |
| January 25, 2006 | Visual Design Patterns |
| January 24, 2006 | Dependency Avoidance |
| January 23, 2006 | .. and a Pony! |
| January 21, 2006 | Code Reviews: Just Do It |
| January 20, 2006 | 3D positional audio and HRTFs |
| January 19, 2006 | The World's Slowest Windows XP System |
| January 18, 2006 | DIVX vs. DivX |
| January 16, 2006 | Our Virtual Machine Future |
| January 15, 2006 | Software Developers and Asperger's Syndrome |
| January 14, 2006 | Is there an optimal piracy rate? |
| January 12, 2006 | Regex Performance |
| January 11, 2006 | Return to the Planet of Managed Code Bloat |
| January 10, 2006 | Flattening Arrow Code |
| January 09, 2006 | Cleaning Word's Nasty HTML |
| January 08, 2006 | Anisotropic Filtering |
| January 06, 2006 | The Zen of Mustard and Pickles |
| January 05, 2006 | The Impossibly Small PC: Nano-ITX |
| January 04, 2006 | Getting Back to Web Basics |
| January 03, 2006 | I Heart Cheatsheets |
| January 02, 2006 | Filesystems Aren't a Feature |
| December 31, 2005 | New Year's Resolutions -- for Microsoft |
| December 28, 2005 | Of White Elephants and Gifting |
| December 27, 2005 | Seven Habits of Highly Effective Programmers |
| December 26, 2005 | PC Racing Sims |
| December 22, 2005 | Web Typography Hack: sIFR |
| December 21, 2005 | The CSS Zen Garden and ASP.NET |
| December 20, 2005 | Automated Hard Drive Defragmentation |
| December 19, 2005 | Client vs. Developer Wars |
| December 18, 2005 | The Story of SkiFree |
| December 16, 2005 | Variable Bit Rate: Getting the best Bang for your Byte |
| December 15, 2005 | This Just In: Internet Makes Books Obsolete |
| December 14, 2005 | Progressive Image Rendering |
| December 13, 2005 | UI Follies, Volume III |
| December 12, 2005 | Getting Started with Indexing Service |
| December 11, 2005 | an Incomplete Guide to Building a Web Site that Works |
| December 10, 2005 | Screenshots: JPEG vs. GIF |
| December 08, 2005 | Headphone Snobbery |
| December 07, 2005 | Animal, Vegetable, or Mineral? |
| December 06, 2005 | A Stopwatch Class for .NET 1.1 |
| December 05, 2005 | Why Programmers File the Worst Bug Reports |
| December 04, 2005 | The Case For Case Insensitivity |
| December 02, 2005 | The TweakUI Tips |
| December 01, 2005 | Trespasser Postmortem |
| November 30, 2005 | Whatever Happened to the META Tag? |
| November 29, 2005 | In praise of Beyond Compare |
| November 28, 2005 | C#, VB.NET, and echoing strings in the VS.NET Immediate Window |
| November 27, 2005 | Dysfunctional Specifications |
| November 26, 2005 | The Many Faces of (Windows) Death |
| November 21, 2005 | Avoiding Undocumentation |
| November 20, 2005 | Conversations with Erich Gamma |
| November 18, 2005 | Comparing Font Legibility |
| November 17, 2005 | Learning from TEH INTARWEB |
| November 16, 2005 | Software Apprenticeship |
| November 15, 2005 | Disambiguating Search with Quasi-Evil Hierarchies |
| November 14, 2005 | The Lost Art of Progressive HTML Rendering |
| November 12, 2005 | The Windows 95 Startup Sound |
| November 10, 2005 | Please use .ToString() responsibly |
| November 09, 2005 | The Lesson of HyperTerminal |
| November 08, 2005 | My Giant Calculator |
| November 07, 2005 | Road Signs and Icons |
| November 06, 2005 | Guitar Hero: Are You Ready to ROCK? |
| November 05, 2005 | Vertigo Blogs go Public |
| November 04, 2005 | Which online discussion archetype are you? |
| November 03, 2005 | 64-bit Desktop vs. 64-bit Server |
| November 02, 2005 | Sample Databases in SQL Server 2005 |
| November 01, 2005 | GotDotNet: still sucking after all these years |
| October 31, 2005 | Search: If It Isn't Incremental, It's Excremental |
| October 30, 2005 | Improving the Clipboard |
| October 28, 2005 | Avoiding Booleans |
| October 27, 2005 | Copying Visual Studio Code Snippets to the Clipboard as HTML |
| October 26, 2005 | Google search VS.NET macro |
| October 25, 2005 | The Cognitive Style of Visual Studio |
| October 24, 2005 | The Cost of Leaving Your PC On |
| October 23, 2005 | Excluding Matches With Regular Expressions |
| October 22, 2005 | It looks like you're writing a for loop! |
| October 21, 2005 | The Nigerian Spammer Anthem |
| October 19, 2005 | Running XP with the pagefile disabled |
| October 18, 2005 | If You're Reading This, You Are a Low-Value Demographic |
| October 17, 2005 | Unit Testing vs. Beta Testing |
| October 16, 2005 | Code Snippets in VS.NET 2005 |
| October 15, 2005 | Media Center 2005 adds Non-Linear Stretch |
| October 14, 2005 | Pimp My IDE |
| October 13, 2005 | Microchip Easter Eggs |
| October 12, 2005 | Wrangling ASP.NET Viewstate |
| October 11, 2005 | The Best of Creative Computing |
| October 10, 2005 | Why Do Login Dialogs Have a "User" Field? |
| October 09, 2005 | Keyboard Shortcut Summary Macro |
| October 08, 2005 | ALT+TAB Extreme* |
| October 07, 2005 | C# implementation of ASCII85 |
| October 06, 2005 | Equipping our ASCII Armor |
| October 05, 2005 | Avoiding "Blank Page Syndrome" |
| October 04, 2005 | Comparing GUIs: OS X vs. Windows XP |
| October 02, 2005 | Configurability and Voiding Your Warranty |
| October 01, 2005 | Changing the Windows XP Boot Screen |
| September 30, 2005 | Wind, Angle, and Power |
| September 29, 2005 | Revenge of Codename: Snowball |
| September 28, 2005 | Keyboarding: Microsoft Natural Ergonomic 4000 |
| September 27, 2005 | Mastering GUIDs with Occam's Razor |
| September 26, 2005 | Microsoft naming: who stole the soul? |
| September 25, 2005 | Programming 4 Fun |
| September 23, 2005 | On the Death of the Main Menu |
| September 22, 2005 | In Defense of Verbosity |
| September 21, 2005 | Everything you always wanted to know about Task Manager but were afraid to ask |
| September 20, 2005 | When Email Goes Bad |
| September 19, 2005 | Moire Screensaver Source |
| September 17, 2005 | VS.NET 2005 RTM |
| September 16, 2005 | Is Windows now more secure than Open Source? |
| September 15, 2005 | The Positive Impact of Negative Thinking |
| September 14, 2005 | Is UI still in the stone age? |
| September 13, 2005 | The Six Dumbest Ideas in Computer Security |
| September 12, 2005 | PDC05: I'm only there for the chicks. |
| September 11, 2005 | Stupid Registry Tricks |
| September 09, 2005 | Speeding up web browsing |
| September 08, 2005 | The Spolsky-Babbitt Connection |
| September 07, 2005 | The Problem With Configurability |
| September 06, 2005 | Managed Code Analysis Tools |
| September 05, 2005 | Head First Design Patterns |
| September 02, 2005 | Hurricane Katrina |
| September 01, 2005 | A Celebration of The Windows Key |
| August 31, 2005 | Don't Make Me Think, Second Edition |
| August 30, 2005 | Usability vs. Learnability |
| August 28, 2005 | Variable "foo" and Other Programming Oddities |
| August 27, 2005 | The Rise of the PokerBots |
| August 26, 2005 | How to be Lazy, Dumb, and Successful |
| August 25, 2005 | Mavis Beacon Ate My Brain! |
| August 24, 2005 | The User Interface Is The Application |
| August 23, 2005 | Microsoft LogParser |
| August 22, 2005 | Is DoEvents Evil, Revisited |
| August 21, 2005 | Clean Sources Plus |
| August 19, 2005 | Despite the incredible slowness and the sparseness of features, this is really really cool |
| August 18, 2005 | The myth of infinite detail: Bilinear vs. Bicubic |
| August 17, 2005 | Are All Programming Languages The Same? |
| August 16, 2005 | Nasty Software Hacks and Intel's CPUID |
| August 15, 2005 | Microsoft 1978 |
| August 14, 2005 | New Logitech Mouse and Keyboard |
| August 12, 2005 | UI Follies: Windows Media Player Edition |
| August 11, 2005 | Passphrase Evangelism |
| August 10, 2005 | Perfmon Gone Wild |
| August 09, 2005 | TryParse and the Exception Tax |
| August 08, 2005 | How to fit three bugs in 512 bytes of security code |
| August 07, 2005 | Consolas and ClearType |
| August 04, 2005 | Option Strict and Option Explicit in VB.NET 2005 |
| August 03, 2005 | Does Having The Best Programmers Really Matter? |
| August 02, 2005 | Why Estimate When You Can Measure? |
| August 01, 2005 | Vision Quest |
| July 28, 2005 | Athlon X2: Dual Core Present |
| July 27, 2005 | Steve Ballmer: Sweatiest Billionaire Ever |
| July 26, 2005 | What if it was infinitely fast? |
| July 24, 2005 | The D.I.Y. PC |
| July 22, 2005 | The Dancing Bunnies Problem |
| July 21, 2005 | Show, Don't Tell |
| July 20, 2005 | Just Try Again |
| July 19, 2005 | On Being Pushy |
| July 18, 2005 | For Best Results, Don't Initialize Variables |
| July 17, 2005 | Passwords vs. Pass Phrases |
| July 14, 2005 | A Tribute to the Windows 3.1 "Hot Dog Stand" Color Scheme |
| July 13, 2005 | Code Colorizing and Readability |
| July 12, 2005 | Gigabit Ethernet and Back of the Envelope Calculations |
| July 11, 2005 | VNC vs. Remote Desktop |
| July 10, 2005 | Blue LED Backlash |
| July 08, 2005 | How to be Successful, Happy, Fulfilled, and Drive a Totally Hot Car |
| July 07, 2005 | Desktop RAID: Oversold? |
| July 06, 2005 | Stupid Command Prompt Tricks |
| July 05, 2005 | Martin Fowler hates XSLT too |
| July 04, 2005 | VS.NET and Code Regions |
| June 30, 2005 | Bayesian Kryptonite - spoofed email |
| June 29, 2005 | For Best Results, Forget the Bonus |
| June 28, 2005 | Uncrippling Windows XP's IIS 5.1 |
| June 27, 2005 | Comic Sans, the Font Of The Gods |
| June 26, 2005 | Keyboarding: Dell Minimalist |
| June 23, 2005 | The Broken Window Theory |
| June 22, 2005 | UI is Hard |
| June 21, 2005 | High Dynamic Range Lighting |
| June 20, 2005 | World Zone Pricing |
| June 19, 2005 | Why Anyone Can Succeed |
| June 16, 2005 | The Pontiac Aztek and the Perils of Design by Committee |
| June 15, 2005 | Where Are The .NET Blogging Solutions? |
| June 14, 2005 | Formatting HTML code snippets with Ten Ton Wrecking Balls |
| June 13, 2005 | Phantom DOS files in my root |
| June 11, 2005 | Battlefield 2 Tips |
| June 09, 2005 | Visual Studio .NET 2003 and 2005 Keyboard Shortcuts |
| June 08, 2005 | Flickr Hacks |
| June 07, 2005 | Compression and Cliffs |
| June 06, 2005 | x86 Uber Alles |
| June 05, 2005 | Groktalk at TechEd 2005 |
| June 04, 2005 | The Game Controller Family Tree |
| June 03, 2005 | Alternative Keyboarding |
| June 02, 2005 | Are Design Patterns How Languages Evolve? |
| June 01, 2005 | Recursive Page.FindControl |
| May 31, 2005 | Gee, I Wish I Had Spent More Time Alone With My Computer |
| May 29, 2005 | Google Hardware circa 1999 |
| May 28, 2005 | Troubleshooting .NET performance using Peanut Butter |
| May 27, 2005 | Incompetence Considered Harmful |
| May 26, 2005 | John Dvorak, blogging O.G. |
| May 25, 2005 | VM Server Hosting |
| May 24, 2005 | Success through Failure |
| May 23, 2005 | On Managed Code Performance, Again |
| May 22, 2005 | Bridges, Software Engineering, and God |
| May 20, 2005 | Blogging about Blogging |
| May 19, 2005 | Google-fu |
| May 18, 2005 | A Group Is Its Own Worst Enemy |
| May 17, 2005 | Stored Procedures vs. Ad-Hoc SQL |
| May 16, 2005 | The Code-First Dictum |
| May 15, 2005 | Obfuscating Code |
| May 14, 2005 | Conventions and Usability |
| May 13, 2005 | XP Automatic Update Nagging |
| May 12, 2005 | Schedule Games |
| May 11, 2005 | The Difficulty of Dogfooding |
| May 10, 2005 | My Mouse Fetish |
| May 08, 2005 | Multiple Core CPU Futures |
| May 07, 2005 | Defeating Optimism |
| May 06, 2005 | Following the Instructions on the Paint Can |
| May 04, 2005 | Cognitive Diversity |
| May 03, 2005 | Welcome to the Tribe |
| May 02, 2005 | New Job at Vertigo Software |
| May 01, 2005 | Unwanted Modeling Language |
| April 30, 2005 | Barcodes and QR Codes |
| April 29, 2005 | Respecting Abstraction |
| April 27, 2005 | When Writing Code Means You've Failed |
| April 26, 2005 | Give me parameterized SQL, or give me death |
| April 25, 2005 | Canonicalization: Not Just for Popes |
| April 24, 2005 | The Start Menu must be stopped |
| April 22, 2005 | You Can Write FORTRAN in any Language |
| April 21, 2005 | The bloated world of Managed Code |
| April 20, 2005 | Because Information is Beautiful |
| April 19, 2005 | What Would Blanka Do? |
| April 18, 2005 | Encryption for Dummies |
| April 17, 2005 | VS.NET 2005 Beta 2 "goes live" |
| April 16, 2005 | Improved craigslist.org all city search |
| April 15, 2005 | Good Test / Bad Test |
| April 14, 2005 | Determining Build Date the hard way |
| April 13, 2005 | ASP.NET NTLM Authentication - is it worth it? |
| April 12, 2005 | Tabbed Browsing and MDI-SDI-WTF |
| April 10, 2005 | Hackers and Pastry Chefs |
| April 09, 2005 | Raleigh Code Camp: User Friendly Exception Handling Strategies |
| April 08, 2005 | Raleigh Code Camp Tomorrow |
| April 07, 2005 | Custom wsdlHelpGenerator + webroot = error |
| April 06, 2005 | Checksums and Hashes |
| April 05, 2005 | The Prototype Pitfall |
| April 04, 2005 | Rube Goldberg Software Devices |
| April 03, 2005 | Better Presentations through Practice |
| April 01, 2005 | Parsing: Beyond Regex |
| March 31, 2005 | Searching all Craigslist.org Cities |
| March 30, 2005 | What's on your keychain? |
| March 29, 2005 | John Carmack on Java, Phones, and Gaming |
| March 28, 2005 | Building Mht Files from URLs revisited |
| March 27, 2005 | On Necessity |
| March 24, 2005 | Are You There, God? It's Me, Microsoft. |
| March 23, 2005 | Trees, TreeViews, and UI |
| March 22, 2005 | If You Like Regular Expressions So Much, Why Don't You Marry Them? |
| March 20, 2005 | BetaBrite LED Sign API completed |
| March 19, 2005 | Make Mine XCOPY |
| March 18, 2005 | Because IE6 is the new Netscape 4.7x |
| March 17, 2005 | Captchas Compared and Critiqued |
| March 16, 2005 | A Developer's Second Most Important Asset |
| March 14, 2005 | Developers Are Users Too |
| March 13, 2005 | Automated Continuous Integration and the BetaBrite LED Sign |
| March 12, 2005 | Get Me The Laziest People Money Can Buy |
| March 11, 2005 | Logging TraceListener Improved |
| March 10, 2005 | The Slow Brain Death of VB.NET |
| March 09, 2005 | Paging Dr. Dotnetsky... |
| March 08, 2005 | On Managed Code Performance |
| March 07, 2005 | MS Language Equivalents |
| March 06, 2005 | Logging TraceListener |
| March 05, 2005 | On Software "Engineering" |
| March 04, 2005 | Notepad Strikes Back |
| March 03, 2005 | To Compile or Not To Compile |
| March 02, 2005 | The Great Enterprise Software Swindle |
| March 01, 2005 | On Interviewing Programmers |
| February 28, 2005 | The One Trillion Dollar Development Pyramid |
| February 27, 2005 | Managing with Trust |
| February 26, 2005 | iPod Hacking via Modem |
| February 25, 2005 | Remotely Managing Remote Desktop |
| February 23, 2005 | Pentium-M Home Theater PC |
| February 22, 2005 | Why Is Forever |
| February 21, 2005 | You Gotta Own It |
| February 20, 2005 | Is your PC boring? |
| February 19, 2005 | Multiple LCDs |
| February 18, 2005 | Improved Unhandled Exception behavior in .NET 2.0 |
| February 17, 2005 | The Floppy Drive Must Die |
| February 16, 2005 | Regex use vs. Regex abuse |
| February 15, 2005 | Beating CAPTCHAs with .NET code |
| February 14, 2005 | Is it Divorce? |
| February 13, 2005 | A need for speed-- and silence |
| February 11, 2005 | Gettin' Greppy Wit It |
| February 10, 2005 | Keyboarding |
| February 09, 2005 | ASP.NET About Box (Page) |
| February 08, 2005 | Virtual PC 2004 tips |
| February 07, 2005 | Ivory Tower Development |
| February 06, 2005 | Let the IDE do it |
| February 04, 2005 | Wintellect ASP.NET FAQ |
| February 03, 2005 | Level 5 means never having to say you're sorry |
| February 02, 2005 | Resharper for VB.NET |
| February 01, 2005 | Console apps and AppDomain.CurrentDomain.UnhandledException |
| January 31, 2005 | The He-Man Pattern Haters Club |
| January 30, 2005 | MAME Cocktail Arcade, documented |
| January 29, 2005 | Video Codecs are the next DLL Hell |
| January 26, 2005 | It's the IDE, dummy! |
| January 25, 2005 | RegexBuddy and Friends |
| January 24, 2005 | Universally Annoying Remotes, Revisited |
| January 23, 2005 | Disk Space |
| January 22, 2005 | Websites as Pinball Machines |
| January 21, 2005 | Some lessons from Forth |
| January 20, 2005 | Ideas Are More Important Than Code |
| January 19, 2005 | A Modest Namespace Proposal |
| January 18, 2005 | Who Needs Talent When You Have Intensity? |
| January 16, 2005 | Screwdrivers vs. Couture |
| January 15, 2005 | Micro-Optimization and Meatballs |
| January 14, 2005 | Tog and Google on UI |
| January 13, 2005 | The Reality of Failure |
| January 12, 2005 | Net.WebClient and Deflate |
| January 11, 2005 | The real cost of performance |
| January 10, 2005 | WebFileManager updated |
| January 09, 2005 | MAME Cocktail Arcade |
| January 08, 2005 | There Ain't No Such Thing as Plain Text |
| January 07, 2005 | Perceived Performance and Form.Paint |
| January 06, 2005 | Moving the Block |
| January 05, 2005 | If an Exception happens in Form.Paint, does anyone catch it? |
| January 04, 2005 | Code-Behind vs. Inline Code |
| January 03, 2005 | On mistakes |
| January 02, 2005 | Client-Side code highlighting |
| January 01, 2005 | 2005: Twenty years of Windows |
| December 31, 2004 | DVD Ripping and Nero Recode |
| December 29, 2004 | Threading, Concurrency, and the Most Powerful Psychokinetic Explosive in the Universe |
| December 28, 2004 | Spurious Pundit |
| December 27, 2004 | It Came From Planet Architecture |
| December 26, 2004 | Reducing Useless Clutter on Websites |
| December 25, 2004 | Road Warrior, Beyond Lapdom |
| December 24, 2004 | Emulating Passion |
| December 23, 2004 | Happy Talk Must Die |
| December 22, 2004 | Task Manager Extreme |
| December 21, 2004 | The Last Configuration Section Handler.. |
| December 20, 2004 | The Antidote to ASP.NET Smart Navigation, Part Deux |
| December 18, 2004 | Is DoEvents Evil? |
| December 17, 2004 | Interactive Xpath Expression Builder |
| December 16, 2004 | Progamming Fonts |
| December 15, 2004 | My Database is a Web Service |
| December 14, 2004 | Road Warrior, come out to play |
| December 13, 2004 | This is your Anti-Productivity Pod |
| December 11, 2004 | Visual Diff Tools Revisited |
| December 10, 2004 | Blue Collar Software Development |
| December 09, 2004 | Never design what you can steal |
| December 07, 2004 | Gold Plating |
| December 06, 2004 | The Magical Build Machine |
| December 05, 2004 | Universally Annoying Remotes |
| December 03, 2004 | Top Tens |
| December 02, 2004 | Programming for Luddites |
| December 01, 2004 | UI Follies, Volume II |
| November 30, 2004 | Classic ASP |
| November 29, 2004 | Because I love the smell of compilation in the morning |
| November 28, 2004 | Custom AssemblyInfo Attributes |
| November 27, 2004 | Populate your AssemblyInfo |
| November 26, 2004 | WebFileManager |
| November 25, 2004 | Giving of thanks, and tech support |
| November 24, 2004 | On American Programmers |
| November 23, 2004 | Trapped in a Bitmapped World |
| November 22, 2004 | Full Threaded Shellicious |
| November 21, 2004 | Good Programmers Get Off Their Butts |
| November 19, 2004 | Shellicious |
| November 18, 2004 | Process.Start and Impersonation |
| November 16, 2004 | Web Farms and ASP.NET ViewState |
| November 15, 2004 | Multiple /bin folders in ASP.NET |
| November 13, 2004 | When Good Comments Go Bad |
| November 12, 2004 | So you want to be a Game Developer |
| November 10, 2004 | VB.NET vs C#, round two |
| November 09, 2004 | You'll Never Have Enough Cheese |
| November 08, 2004 | Captcha Control Coda |
| November 07, 2004 | The Cost of Complexity |
| November 06, 2004 | Is DVD the new VHS? |
| November 04, 2004 | Don't Be Afraid to Break Stuff |
| November 03, 2004 | HTTP Compression via HttpModule |
| November 02, 2004 | Rebuttal Rebuttal |
| November 01, 2004 | Free as in Beer |
| October 31, 2004 | Full Trust can't be trusted |
| October 30, 2004 | UI Follies, Volume I |
| October 28, 2004 | Who Needs Stored Procedures, Anyways? |
| October 27, 2004 | The Antidote to ASP.NET Smart Navigation |
| October 26, 2004 | Creating Even More Exceptional Exceptions |
| October 25, 2004 | Teaching Users to Read |
| October 24, 2004 | Creating More Exceptional Exceptions |
| October 22, 2004 | We're Building the Space Shuttle |
| October 21, 2004 | KISS and YAGNI |
| October 20, 2004 | 10 Foot Interface Showdown |
| October 18, 2004 | Just Say No |
| October 17, 2004 | Throwing Better .NET Exceptions with SOAP and HTTP |
| October 15, 2004 | Managed HTML rendering |
| October 14, 2004 | I want my WSH.NET! |
| October 13, 2004 | Stuck in a VB.NET Ghetto |
| October 12, 2004 | A Programmer's Portfolio |
| October 11, 2004 | A Pragmatic Quick Reference |
| October 10, 2004 | Are your exceptions silent? |
| October 08, 2004 | How about an hourly build? |
| October 07, 2004 | Media Center goes retail |
| October 06, 2004 | We Make Shitty Software.. With Bugs! |
| October 05, 2004 | Defending Perpetual Intermediacy |
| October 04, 2004 | Double-Click Must Die revisited |
| October 03, 2004 | Double-Click Must Die |
| October 02, 2004 | ASP.NET CAPTCHA control, improved |
| October 01, 2004 | An ASP.NET CAPTCHA Server Control |
| September 29, 2004 | Don't Devalue the Address Bar |
| September 28, 2004 | Why Your Code Sucks... and Mine Doesn't |
| September 27, 2004 | The Rise and Fall of Homo Logicus |
| September 22, 2004 | Weeding out the Weak Developers with J2EE |
| September 21, 2004 | Turn your application Inside-Out |
| September 21, 2004 | POPFile vs. POPFile |
| September 20, 2004 | Why Objects Suck, Revisited |
| September 19, 2004 | Some Plan(s) for Spam |
| September 18, 2004 | The Jack Principles |
| September 16, 2004 | The Delusion of Reuse |
| September 15, 2004 | SquishySyntaxHighlighter and CRC32 |
| September 14, 2004 | Performance Considered Harmful |
| September 13, 2004 | Saving URLs to MHTML via .NET |
| September 12, 2004 | Being technologically savvy isn't enough |
| September 11, 2004 | Whidbey ships with Visual SourceSafe |
| September 10, 2004 | Get your Hex on |
| September 09, 2004 | A tale of two UIs |
| September 08, 2004 | Killing Zombie Websites |
| September 07, 2004 | Do You Want to Save? |
| September 05, 2004 | Using the Command Window |
| September 04, 2004 | The Wisdom of Sells |
| September 03, 2004 | Skill Disparities in Programming |
| September 02, 2004 | Development is Inherently Wicked |
| September 01, 2004 | Loose Typing Sinks Ships |
| September 01, 2004 | ASP.NET controls and <browserCaps> |
| August 31, 2004 | Unbreakable Links Revisited |
| August 30, 2004 | You Think You Hate Mondays? |
| August 29, 2004 | The Incredible LinkTron 5000(tm)! |
| August 28, 2004 | Java vs. .NET RegEx performance |
| August 27, 2004 | Net.WebClient and GZip |
| August 26, 2004 | Sniff this! |
| August 25, 2004 | Building Unbreakable Links |
| August 24, 2004 | Why aren't my optimizations optimizing? |
| August 23, 2004 | Showstopper! |
| August 22, 2004 | HTTP Compression and IIS 6.0 |
| August 21, 2004 | User Friendly ASP.NET Exception Handling |
| August 20, 2004 | The Joy of Deletion |
| August 19, 2004 | Monster Project Management |
| August 18, 2004 | Side by side issues |
| August 17, 2004 | Throwing better SOAP exceptions |
| August 16, 2004 | GUI patterns |
| August 15, 2004 | Pragmatic Programming |
| August 14, 2004 | Why I'm The Best Programmer In The World* |
| August 14, 2004 | Task Manager Extension |
| August 13, 2004 | Performance: Remoting vs. Web Services |
| August 12, 2004 | DCOM, XP SP2, and Remote Debugging |
| August 11, 2004 | Worse Is Better |
| August 10, 2004 | Be Good at Your Job |
| August 09, 2004 | McConnell IEEE articles |
| August 08, 2004 | The Popularity Tax |
| August 08, 2004 | Comment Spam |
| August 07, 2004 | Inherits Nothing |
| July 27, 2004 | Grand Unification Theory |
| July 26, 2004 | Just Say No to Finalization! |
| July 23, 2004 | DEVELOPERS^3 |
| July 22, 2004 | Rethrowing Exceptions |
| July 19, 2004 | Go, Monkey! |
| July 14, 2004 | VB vs. C# -- FIGHT! |
| July 13, 2004 | VS.NET 2003 VB outlining broken |
| July 11, 2004 | Virtual PC 2004 |
| July 10, 2004 | Why Objects Suck |
| July 08, 2004 | Coding Slave |
| July 07, 2004 | I'm smarter than the Runtime! |
| July 04, 2004 | Beagle Brothers |
| July 03, 2004 | Athlon 64: Developer's Choice |
| July 03, 2004 | Putting the Science Back Into Computer Science |
| July 02, 2004 | My Buddy, Regex |
| June 30, 2004 | Edit and Continue |
| June 29, 2004 | Commandos, Infantry, and Police |
| June 28, 2004 | Visual Diff Tools |
| June 28, 2004 | Hungarian Wars |
| June 27, 2004 | Code Complete 2: The Revenge |
| June 27, 2004 | Death to the Dialog Box |
| June 26, 2004 | UNIX will never be usable |
| June 24, 2004 | What's worse than a Bad Error Message? |
| June 23, 2004 | Debugging ASPNET_WP in Production |
| June 22, 2004 | User-Friendly Exception Handling |
| June 20, 2004 | The Tyranny of ElseIf |
| June 15, 2004 | Multiple Monitors and Productivity |
| June 14, 2004 | What if software was never free? |
| June 13, 2004 | About... More About Box |
| June 12, 2004 | Revenge of Notepad |
| June 09, 2004 | The Tivo Remote |
| February 21, 2004 | We Are Morons: a quick look at the Win2k source |
| February 17, 2004 | .NET Compiler Performance |
| February 17, 2004 | About... The About Box |
| February 10, 2004 | In the beginning, there was Movable Type |
| February 02, 2004 | Recommended Reading for Developers |
| February 01, 2004 | About Me |