software development practices

c++

Falling Into The Pit of Success

Eric Lippert notes the perils of programming in C++: I often think of C++ as my own personal Pit of Despair Programming Language. Unmanaged C++ makes it so easy to fall into traps. Think buffer overruns, memory leaks, double frees, mismatch between allocator and deallocator, using freed memory, umpteen dozen

By Jeff Atwood ·
Comments

font rendering

Font Rendering: Respecting The Pixel Grid

I've finally determined What's Wrong With Apple's Font Rendering. As it turns out, there actually wasn't anything wrong with Apple's font rendering, per se. Apple simply chose a different font rendering philosophy, as Joel Spolsky explains: Apple generally believes that

By Jeff Atwood ·
Comments

keyboard shortcuts

Going Commando - Put Down The Mouse

One of the quickest ways to increase your productivity on the computer is to go commando: stop using the mouse. When you stop relying on the mouse for everything, you're forced to learn the keyboard shortcuts. Jeremy Miller calls this the first step to coding faster. I agree.

By Jeff Atwood ·
Comments

database management

Is Your Database Under Version Control?

When I ask development teams whether their database is under version control, I usually get blank stares. The database is a critical part of your application. If you deploy version 2.0 of your application against version 1.0 of your database, what do you get? A broken application. And

By Jeff Atwood ·
Comments

agile methodologies

Anything But Waterfall

Steve Yegge's scathing criticism of agile methodologies takes a page from Joel Spolsky's book. It's not merely an indictment of Agile, it's also a celebration of how his company does business. Just substitute "Google" for "Fog Creek Software"

By Jeff Atwood ·
Comments

productivity

The Multitasking Myth

In Quality Software Management: Systems Thinking [http://www.amazon.com/exec/obidos/ASIN/0932633226/codihorr-20], Gerald Weinberg proposed a rule of thumb to calculate the waste caused by project switching: Even adding a single project to your workload is profoundly debilitating by Weinberg's calculation. You lose 20% of

By Jeff Atwood ·
Comments

source control

Source Control: Anything But SourceSafe

Everyone agrees that source control is fundamental to the practice of modern software development. However, there are dozens of source control options to choose from. VSoft, the makers of FinalBuilder, just published the results of their annual customer survey. One of the questions it asked was which version control systems

By Jeff Atwood ·
Comments

programming concepts

Separating Programming Sheep from Non-Programming Goats

⚠ Please note, this paper was ultimately retracted by its author (pdf) in 2014: In 2006 I wrote an intemperate description of the results of an experiment carried out by Saeed Dehnadi. Many of the extravagant claims I made were insupportable, and I retract them. I continue to believe, however, that

By Jeff Atwood ·
Comments

clean code

Pretty Code, Ugly Code

Christopher Seiwald's Seven Pillars of Pretty Code [http://www.perforce.com/perforce/papers/prettycode.html] argues that code that looks good, works good: 1. Code changes should blend in with the original style.It should not be possible to discern previous changes to a file without seeing the

By Jeff Atwood ·
Comments

user experience

Menus and Toolbars Don't Scale

I've witnessed the death of the main menu. And toolbars are on their last legs, too. This screenshot* clinches it for me: Granted, very few people would install this many Firefox extensions. But between this and the Office 2003 debacle, it's patently obvious that the whole

By Jeff Atwood ·
Comments

usability

STOP! Having Trouble?

From Engadget's review of the iRiver H10 [http://www.engadget.com/2005/04/01/iriver-h10-hands-on-review/]: > So the first thing we noticed about this player when we opened it up was, unfortunately, a huge orange flyer [..] From Larry Osterman's review of the iRiver H10 [http://blogs.

By Jeff Atwood ·
Comments

programming conventions

Doing It Like Everyone Else Does

Jon Galloway called me out in a comment yesterday for advocating a non-standard approach: Web forms have become a convention, and users have been trained for 10 years on how to fill out forms. Users would get confused, and some would bail out (abandon carts, etc.). Web forms work, and

By Jeff Atwood ·
Comments