software development concepts

programming languages

Why Objects Suck, Revisited

I recently blogged about how pure object oriented programming is oversold. Well, evidently Paul Graham agrees with me: Object-oriented programming generates a lot of what looks like work. Back in the days of fanfold, there was a type of programmer who would only put five or ten lines of code

By Jeff Atwood ·
Comments

machine learning

Some Plan(s) for Spam

After struggling with spam e-mail for years the old fashioned way – highlight, DEL – I finally succumbed and installed POPFile on my server. POPFile uses a Bayesian Filter technique and it is amazingly effective. Within a day I had 95% accuracy; within a week I had 97% accuracy. Two months later,

By Jeff Atwood ·
Comments

software development concepts

The Delusion of Reuse and the Rule of Three

I’m currently reading Facts and Fallacies of Software Engineering by Robert Glass. It’s definitely a worthwhile book, although I do have two criticisms: 1. Someone really, really needs to buy Robert Glass a copy of Strunk and White’s Elements of Style. Or at least get him a

By Jeff Atwood ·
Comments

programming languages

Performance Considered Harmful

Scott Hanselman continues to impress with his consistently useful blog entries, this time an observation about performance. I found an even more interesting link buried in the comments, though: the Eric Lippert post, How Bad is Good Enough? I’ve read articles about the script engines that say things like

By Jeff Atwood ·
Comments
A tale of two UIs

user experience

A tale of two UIs

God bless whoever at Microsoft decided to build Calculator Plus, an unsupported free upgrade for calc.exe. On the other hand... who decided it was a good idea to skin the UI by default? My eyes! The goggles, they do nothing! Now compare that “upgraded” UI to the windows default,

By Jeff Atwood ·
Comments
Do You Want to Save?

user experience

Do You Want to Save?

Why is it, 10 years after the publication of Alan Cooper’s seminal, About Face, applications still regularly present this dialog to me? Cooper said it best on page 136: It is possible to argue that users have come to expect this behavior; that its absence would cause experienced users

By Jeff Atwood ·
Comments

software development concepts

The Wisdom of Sells

Chris Sells is one of those rare developers who is so talented at both coding and communicating that everything he writes is worth reading. How I wish this was more common! If you haven’t already, read through his archived Spout posts; there’s some really great stuff in those

By Jeff Atwood ·
Comments

programming languages

Skill Disparities in Programming

I am hardly the world’s best programmer. I’ll be the first to tell you that there are tons of developers out there better than I am. But here's the thing: in the ten years I've been gainfully employed as a so-called professional programmer, I

By Jeff Atwood ·
Comments

dynamic typing

Loose Typing Sinks Ships

The recent release of IronPython .NET, and Microsoft’s subsequent hiring of its creator, got me thinking about typing. There’s a really interesting, albeit old, post on the dubious benefit of strong typing at Bruce Eckel’s blog. Which reminds me how much I hate constantly casting objects via

By Jeff Atwood ·
Comments

programming languages

Throwing better SOAP exceptions

I’m fairly happy with my global unhandled exception handler for WinForms and console apps. I also successfully adapted a version of it for use in ASP.NET apps, where it interfaces with the Application_Error event in global.asax: Sub Application_Error(ByVal sender As Object, ByVal e As

By Jeff Atwood ·
Comments

gui design patterns

GUI patterns

With all this talk of high-falutin’ coding design patterns, I’m surprised we haven’t seen more sites that cover GUI design patterns, like welie.com*. What a great site! Consider the iPod: it’s a 2.5″ hard drive, strapped to a battery and a LCD, that plays MP3

By Jeff Atwood ·
Comments
Pragmatic Programming

programming languages

Pragmatic Programming

I mentioned in a previous post that I recommended Andrew Hunt of pragmatic programmer fame to speak at our group offsite. He happens to live in the area, which makes it very cost effective. I have to admit I didn’t know much about these guys until I ran across

By Jeff Atwood ·
Comments