Archive

software development concepts

Why I’m The Best Programmer In The World*

It’s because I’m so humble, obviously. Allow me to illustrate with an excerpt from the personal character chapter of McConnell’s Code Complete 2.0: The intense inwardness of programming makes personal character especially important. You know how difficult it is to put in eight concentrated hours in

By Jeff Atwood ·
Comments
Task Manager Extension

task manager

Task Manager Extension

Shamelessly stolen from Scott Hanselman’s most excellent Ultimate Developer Tools List, Task Manager Extension is one of my favorite new addins. Like Notepad, Task Manager is something I use on a daily basis: it’s an essential part of my toolkit. I took a look at some replacements, but

By Jeff Atwood ·
Comments

.net

Performance: Remoting vs. Web Services

This question comes up periodically, and Microsoft has a fairly definitive whitepaper on the topic, Performance Comparison: .NET Remoting vs. ASP.NET Web Services. The article has a number of charts with crazy legends, so let me provide a better one: ASMXWeb ServiceWS_TCP_BinaryWindows Service remoting host, TCP protocol,

By Jeff Atwood ·
Comments

debugging

DCOM, XP SP2, and Remote Debugging

I debug remotely at home, mostly because I prefer not using the crippleware version of IIS. It's kind of a pain to get it running, because you have to be more careful with permissions and configuration, but basically it works. At least, it worked until I installed XP

By Jeff Atwood ·
Comments

software development

Worse Is Better

Although it's a little hard to parse through, I was blown away by The Rise of “Worse is Better”, because it touches on a theme I've noticed emerging in my blog entries: rejection of complexity, even when complexity is the more theoretically correct approach. Two famous

By Jeff Atwood ·
Comments

outsourcing

Be Good at Your Job

One conclusion is clear, anyone who thinks that onshore developers will triumph because they are more skilled is very wrong. We’ve found that we can hire just as talented developers in India as we can in North America and Europe. – Martin Fowler I’m actually so excited [about offshoring]

By Jeff Atwood ·
Comments

software development concepts

McConnell IEEE articles

I found these editorials buried on Steve McConnell’s website, from his stint as editor of IEEE software magazine. It’s a great series of articles; they’re all good, but I particularly recommend “Cargo Cult Engineering.” Here are direct links to each, in chronological order, October 1998 through February

By Jeff Atwood ·
Comments

scalability

The Popularity Tax

I’m sure everyone reading this is familiar with the slashdot effect: When Slashdot links a site, often a lot of readers will hit the link to read the story or see the purty pictures. This can easily throw thousands of hits at the site in minutes. Most of the

By Jeff Atwood ·
Comments

spam

Comment Spam

I like the way anyone can leave a comment regarding my posts – the only good discussion is a two-way discussion – but the comment spam is getting way out of hand (viagra, gambling, penis enlargement, ad nauseam). Thank goodness, then, for MT-blacklist, a simple anti-spam plugin for Movable

By Jeff Atwood ·
Comments

object-oriented programming

Inherits Nothing

Have you ever noticed that new .NET developers have a tendency to use inheritance for... well, everything? On some level, this is understandable, since inheritance is used throughout the framework; everything in .NET inherits from a root object. There’s one big difference, though: we’re writing crappy business logic

By Jeff Atwood ·
Comments

.net

Grand Unification Theory

We recently switched to VS.NET 2003 (.NET 1.1) at work, yet we’re still using third party assemblies compiled under .NET 1.0. Now, ideally, you’d want assemblies recompiled to be sure that they are running as .NET 1.1. We happen to have a source license

By Jeff Atwood ·
Comments

idisposable

Just Say No to Finalization!

I am working with some classes that wrap unmanaged APIs, so I have to be concerned with releasing the resources associated with these APIs – e.g., the IDisposable interface. I was a little confused about the distinction between Dispose() and Finalize(), and in my research I found this article by

By Jeff Atwood ·
Comments