Quality
I usually begin any talk about software process with this graph:

Almost any investment you make in defect prevention – asserts, unit tests, code reviews, etc. – is going to yield you a net saving in time.
Speak softly and carry a big laptop
I usually begin any talk about software process with this graph:

Almost any investment you make in defect prevention – asserts, unit tests, code reviews, etc. – is going to yield you a net saving in time.
The most dominant thing that affects the life of a Lithium Ion battery is its age. It starts corroding the moment it leaves the factory, and usually ends up with twenty percent of the capacity a year after that.
Two conclusions:
1. Don’t stock batteries for later use; they will be next to worthless after a year.
2. Don’t fuss about your usage pattern; it influences the battery life much less than mere passage of time.
A lot of people I talk to are unhappy about having to do Extreme Programming. When I ask them to explain why, it usually comes down to a single practice: pair programming.
Their gripes can be neatly categorized into three cases:
1. Having to work with someone they don’t like or who has bad hygiene.
2. Having to work with someone who is not a good programmer. You spend half your time explaining why you are making some design choices to someone that doesn’t even have the mental vocabulary to understand what you are saying, and the other half trying to prevent that person from screwing up the code.
3. Having to watch two bozos work together, but somehow their code is OK’d because they used the proper process to create it.
So a single practice is giving the whole methodology a bad name.
This is why it’s important to treat various methodologies like libraries from which you take practices that make sense for you, and not like a framework into which you have to fit your work.
Here’s a command-line up for uploading local files to a FTP server. It’s smart enough to upload only changed files.
I just found out that Visual Studio .NET has Emacs-style incremental searching. Just press Ctrl-I and then start typing the search string.

Find more of these lovely motivational posters here.
Klisa, commenting on somebody else’s code: He’s using object-oriented programming. He takes a text object, copies it to the clipboard, and then pastes it in other places in the code.
The .NET framework does not come with support for FTP. Here’s a WinInet wrapper for doing FTP that I wrote last week.
Speaking of software that sucks, what’s the big deal about Groove? Everybody’s going ga-ga over it, but I just don’t get it. I tried installing it a couple of times, and every time the UI is sluggish to respond, and the functionality is not all that useful.
Some people say I have to think about it as a platform, but a platform is not that useful without useful apps running on it. Discussion boards? Bah!
One thing that would get me to switch to Groove is if it had a bug database. We use PVCS Tracker at work, but it’s such a kludge. Not to mention that it uses UI thread blocking DB access, so using it over the Internet is a huge pain in the ass.
OpenOffice sucks like a tornado. I opened one of my weblog posts in the OpenOffice HTML Editor, and deleted a line. Something begun to stink, so I examined the HTML it produced:
BTW, DreamWeaver has repaint problems which make me minimize and then maximize the window to get the page to render. Us hillbilly folks who use FrontPage don’t have them problems.