“How did you do that?” is a question I get time and again whenever someone sees me select a column of text and manipulate it. The answer is, you hold down the Alt key as you click-and-drag the mouse.
“Okay, but what program are you talking about?”
Lots of ‘em, it turns out. I first noticed this feature in Miscrosoft Word, but all of my favorite programs offer it, including TextPad and Eclipse. This must be one of the best kept secrets of user-interface standards, and it’s a shame, because I swear this little time-saver alone accounts for hours and hours of my productivity every year.
Continue Reading
In my personal blog I wrote about how the blank page syndrome can lead to procrastination. I gave an example of how it’s often difficult to know where to start when faced with a vaguely written bug report or an enhancement request. I suggested that one way to gain clarity is to skip ahead to writing the bug-resolution documentation as if you had already done the work. What will be the instructions to the end user on how to take advantage of this change?
Quoting myself, “Then, as I do the work for real, it gives me an acid test to know if I’m on the right track. In other words, does the software now work as advertised? A side benefit of this end-first exercise is that it often reveals latent issues and questions for which I have no answers. It also helps me to enumerate any assumptions that I’ve been making, which perhaps ought to be validated.”
This is a very much akin to Test-First Development (a.k.a. Test-Driven Development, or TDD for short), of which I am a huge proponent. I’d almost say that what I described above is a poor man’s version of TDD, except that there is no cost to doing TDD. Unit testing tools are free for the asking.
Last week I submitted two patches to the TimeAndMoney open source project on SourceForge (timeandmoney.domainlanguage.com/). One patch has to do with localization of money. The other patch has to do with the persistence of money, via Hibernate, to/from a database (with examples for both MS SQL, and Oracle).
Continue Reading
As usual I wasn’t following instruction while trying to update MySQL on my dev laptop. There’s some decent upgrade documentation on the MySQL site (here if you’re looking for it.) but its a lot to think about all at once and all the warnings didn’t seem to apply to the databases I had. The first thing I didn’t do was backup the database. I figured the installer would see that I had MySQL on the machine and would update things accordingly. I was wrong. The second thing I didn’t do was uninstall the MySQL service that was currently running. So, after the installer failed to configure the service, I was a bit stuck.
Continue Reading
[This originally appeared in my personal blog on 6/29/2005. Reposted by request.]
TDD has become as automatic for me as breathing. It’s a beautiful thing when you get to start a new project from scratch and can write every line of code test-first. These days, however, I’m working on a legacy app with very little in the way of unit tests, and it feels as if I’m working at 5,000 meters above sea level and struggling for every breath of rarefied atmosphere.
Continue Reading
Tapestry won a Duke’s Choice award for innovation at this years JavaOne. “The fourth Duke’s Choice Awards … spotlight some of the most clever, practical, and inspirational Java technology applications on the planet.” Check out Howard’s blog (photos yet to come): http://howardlewisship.com/blog/2006/05/tapestry-dukes-choice.html