Archive

software development concepts

Who Wrote This Crap?

Does this sound familiar? your program (n): a maze of non-sequiturs littered with clever-clever tricks and irrelevant comments. Compare MY PROGRAM. my program (n): a gem of algorithmic precision, offering the most sublime balance between compact, efficient coding on the one hand, and fully commented legibility for posterity on the

By Jeff Atwood ·
Comments

hypertext

Don't Click Here: The Art of Hyperlinking

I've often thought there is a subtle art to the humble hyperlink, that stalwart building block of hypertext, the stuff that Ted Nelson's Xanadu dream was made of. The word hypertext was coined by Nelson and published in a paper delivered to a national conference of

By Jeff Atwood ·
Comments

lcd panels

Not All LCD Panels Are Created Equal

When I purchased my last set of LCD monitors, I didn’t fully understand that not all LCD panels are created equal. There are three distinct families of LCD display technology, each with their own tradeoffs and peculiarities. Before you buy a new LCD display, you should take note of

By Jeff Atwood ·
Comments

software development concepts

The F5 Key Is Not a Build Process

Hacknot’s If They Come, How Will They Build It? is a harrowing series of 29 emails sent over a two week period. To: Mike Cooper From: Ed Johnson Mike, I finally got CVS access today from Arnold. So I’ve checked out the AccountView module OK, but it won’

By Jeff Atwood ·
Comments

programming languages

Embracing Languages Inside Languages

Martin Fowler loosely defines a fluent interface thusly: “The more the use of the API has that language like flow, the more fluent it is.” If you detect a whiff of skepticism here, you’re right: I’ve never seen this work. Computer languages aren’t human languages. Let’s

By Jeff Atwood ·
Comments

desktop organization

Your Desktop Is Not a Destination

I’m of two minds on the desktop. If you’re really using your computer, your desktop should almost never be visible. Your screen should be covered with information, with whatever data you’re working on. I can’t imagine why you’d willingly stare at a static background image

By Jeff Atwood ·
Comments

blogging

How To Achieve Ultimate Blog Success In One Easy Step

Always Be Jabbing. Always Be Shipping. Always Be Firing. It’s the same advice, stated in different ways for different audiences. My theory is that lead generation derives from Google rank and that the best way to increase Google rank is to be like a professional fighter: neither jabs nor

By Jeff Atwood ·
Comments

programming languages

I’d Consider That Harmful, Too

One of the seminal papers in computer science is Edsger Dijkstra’s 1968 paper GOTO Considered Harmful. For a number of years I have been familiar with the observation that the quality of programmers is a decreasing function of the density of go to statements in the programs they produce.

By Jeff Atwood ·
Comments

security

Hardware Assisted Brute Force Attacks: Still For Dummies

Evidently hardware assisted brute force password cracking has arrived: A technique for cracking computer passwords using inexpensive off-the-shelf computer graphics hardware is causing a stir in the computer security community. Elcomsoft, a software company based in Moscow, Russia, has filed a US patent for the technique. It takes advantage of

By Jeff Atwood ·
Comments

virtualization

Virtual Machine Server Hosting

My employer, Vertigo Software, graciously hosted this blog for the last year. But as blog traffic has grown, it has put a noticeable and increasing strain on our bandwidth. Even on an average day, blog traffic consumes a solid 30 percent of our internet connection– and much more if something

By Jeff Atwood ·
Comments

estimation

Let’s Play Planning Poker!

One of the most challenging aspects of any software project is estimation – determining how long the work will take. It’s so difficult, some call it a black art. That’s why I highly recommend McConnell’s book, Software Estimation: Demystifying the Black Art; it’s the definitive work on

By Jeff Atwood ·
Comments

software development

Are Features The Enemy?

Mark Minasi is mad as hell, and he’s not going to take it any more. In his online book The Software Conspiracy, he examines in great detail the paradox I struggled with yesterday – new features are used to sell software, but they’re also the primary reason that software

By Jeff Atwood ·
Comments