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 |