Software Pick: SyncMyCal

With the acquisition of a Blackberry I wanted to be able to sync both my work and home Outlook setups to the Blackberry (and to each other). I tried a number of free tools (though they aren’t that easy to find) and quickly concluded I would need a better solution.
Enter SyncMyCal. It’s easy, it’s cheap […]

4 Principles of Not Wasting Time

There are so many postings out there on all sorts of blogs about how not to waste time that I’m not sure I can contribute something very meaningful (certainly not new), but since it’s something I’ve been thinking about, I might as well spill some ideas about it.

Definition
Any discussion of time-wasting is profitless unless you […]

How to enable Simple Tags support in Windows Live Writer

I’m using Simple Tags to do the tags on this site. I wanted to enable support for these tag links in Windows Live Writer (it beats having to log in and edit each post after publishing).
Quite easy:

Click on Insert Tags
In the Tag Provider combo, scroll to the bottom where it says (Customize Providers…) and […]

How to work an 8-hour day

One of the things I decided when I started working was that I was not going to be one of those guys who worked 12 hours a day for a company (if I ever become an entrepreneur, all bets are off since I’m working for myself). So far, I’ve been pretty successful, and I’ve noticed […]

GetTextExtent vs. DrawText (with DT_CALCRECT)

Working on an MFC app that has just been converted to Unicode (finally!), I noticed that one button (which is created dynamically) is too small to fit the text in Korean (and Russian and a few other languages).
The code was calling something like:

CSize sz = m_btAdjustColors.GetDC()->GetTextExtent(sCaption);

It seems correct, but these script languages are throwing it […]

10 Ways to Learn New Things in Development

Expanding upon one of the topics in my post about 5 Attributes of Highly Effective Developers, I’ve been thinking of various ways to kick-start learning opportunities in my career and hobbies.
1. Read books. There are tons of books about programming–probably most of them are useless, but there are many, many gems that can greatly influence […]

How to file good bug reports (from Frank Kelly)

This is an issue I run into constantly at my job.
Frank Kelly wrote up a good summary of some items. They’re simple, easy to understand, easy to follow, even for non-programmers.
In fact, I’m sending this link out to everyone in my group here at work.
Technorati Tags: testing,programming,bug reporting

Tags: bugs, Links/News, programming, self-improvement, teams, […]

Never make assumptions about performance

The importance of measuring performance changes is a topic that has been covered by others smarter and more experienced than me, but I have a recent simple tale.
I’ve simplified the code quite a bit in order to demonstrate the issue. Suppose I have a wrapper around an image (it has many more attributes):

[…]

6 Ways to Increase Your Confidence As You Code

One of the key requirements for being able to reliably update software is the confidence that the changes you are making are safe. The amount of confidence required increases with the complexity of the system.
In my day job I work on a real-time messaging system that can have very, very little downtime. As the service […]

Tip: Easily Automating use of WaitCursor

This is really simple and probably common, but it’s a useful tip anyway.
Say you need to set a form’s cursor to the wait cursor while you accomplish something.
You would do something like this:
this.Cursor = Cursors.WaitCursor;
 
//do something
 
this.Cursor = Cursors.Default;
Of course, what if “do something” throws an exception? Then your cursor won’t be set back to the […]