software development

acronyms

Don't Acronymize Your Users

As a commenter noted in my previous post on how not to give a presentation, I have another complaint about software development presentations that I didn't list. They're chock full of meaningless acronyms. SOAP, BI, SOA, RDBMS, SGML, CRUD, RMS, RDBMS, XML, ORM, FAQ. I appreciate

By Jeff Atwood ·
Comments

triage

Not All Bugs Are Worth Fixing

One thing that continually frustrates me when working with dedicated test teams is that, well, they find too many bugs. Don't get me wrong. I want to be the first person to know about any bug that results in inconvenience for a user. But how do you distinguish

By Jeff Atwood ·
Comments

usability

Google is the Help Menu

Jensen Harris recently cited some Microsoft Office usability research which produced a rather counter-intuitive result [http://blogs.msdn.com/jensenh/archive/2005/11/29/497861.aspx]: > One of the most interesting epiphanies I've had over the last few years seems on the surface like a paradox: "

By Jeff Atwood ·
Comments

software development

Code Reviews: Just Do It

In Humanizing Peer Reviews [http://www.processimpact.com/articles/humanizing_reviews.html], Karl Wiegers starts with a powerful pronouncement: > Peer review – an activity in which people other than the author of a software deliverable examine it for defects and improvement opportunities – is one of the most powerful software quality

By Jeff Atwood ·
Comments

regex

Regex Performance

I was intrigued by a recent comment from a Microsoft Hotmail developer on the ptifalls they've run into while upgrading Hotmail to .NET 2.0: Regular Expressions can be very expensive. Certain (unintended and intended) strings may cause RegExes to exhibit exponential behavior. We've taken several

By Jeff Atwood ·
Comments

software development

The Zen of Mustard and Pickles

A co-worker and I went over to Scott's house today at around 1pm PST to pick something up for work. Scott just got a new television, so he demoed it for us, flipping through the channels, comparing HD signals to regular signals and so forth. As we were

By Jeff Atwood ·
Comments

software development

New Year's Resolutions -- for Microsoft

For better or worse, I've been a Microsoft fan since Windows 3.1. Microsoft is far from perfect, but the alternatives were always so much worse. Can you imagine a dystopian future where we're all running IBM's OS/2 2004 and Lotus Notes Express?

By Jeff Atwood ·
Comments

ui/ux design

UI Follies, Volume III

Ever wonder how you could possibly find something in that complex, ten-tabbed options dialog? How about a search function on the options dialog, as featured in Quest's Toad for SQL Server [http://www.quest.com/toad_for_sql_server/index.asp]: Aside from the fact that it'

By Jeff Atwood ·
Comments

.net

A Stopwatch Class for .NET 1.1

The first rule of performance testing is to measure, then measure again, then measure one more time just to be sure. NET 2.0 adds a handy Diagnostics.Stopwatch [http://msdn2.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx] which is perfect for this kind of ad-hoc precision timing. A

By Jeff Atwood ·
Comments

programming practices

Why Programmers File the Worst Bug Reports

Who files better bugs? Users or developers? In How to Report Bugs Effectively [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html], Simon Tatham notes that software developers, contrary to what you might think, file some of the worst bug reports: > It isn't only non-programmers who produce

By Jeff Atwood ·
Comments

software development

In praise of Beyond Compare

It's a shame that Beyond Compare isn't listed in more "favorite tool" lists. This amazing little folder and file differencing tool has earned its spot in my core toolset a dozen times over. Here's a screenshot of it in action: I'

By Jeff Atwood ·
Comments

specifications

Dysfunctional Specifications

The guys at 37signals think functional specs are worthless: Don't write a functional specifications document. Why? Well, there's nothing functional about a functional specifications document. Functional specifications documents lead to an illusion of agreement. A bunch of people agreeing on paragraphs of text is not real

By Jeff Atwood ·
Comments