Diasparsoft Logo Let's write software that people understand.

Home | Contact

Training

JUnit support

Outsourcing

The work that Diasparsoft did for us was outstanding. We are now using the software on a daily basis and their work could well have a dramatic impact on the Reds' organization in the near future.Cincinnati Reds Baseball Club.


Publications

Tips & Tricks

Diasparsoft Toolkit

What is Diaspar?

Interesting Bits RSS

Thursday, November 25th

Subclipse on the Mac

I had a scare when I installed Subclipse on my shiny new Mac PowerBook: it didn't work at all. I couldn't even open the SVN Repository Explorer perspective, because of this error:

org.eclipse.core.runtime.CoreException[0]:
org.tigris.subversion.svnclientadapter.SVNClientException:
No subversion client interface found.
No client found?! But I'd installed svn-client using fink!

A little searching led me to install the Subversion client package from metissian.com. I downloaded it, installed it, and it works. I installed the new version (1.1.1) at /usr/local/bin and removed the old version using fink from /sw/bin. Finally, I added /usr/local/bin to the system PATH, launched Eclipse and everything works.

It's so nice to have Subclipse back! As good as Subversion is, running it from the command line seems downright archaic compared to using the Eclipse integration.

jbrains on 11.25.04 @ 06:44 PM ET [link]

Wednesday, November 24th

Diversion: just a citation sighting...

I was poking around the web and found a paper entitled, "Can Extreme Programming be used by a Lone Programmer?" The authors are Edward Akpata and Karel Riha, and you can find the paper here. There are two neat things about this paper: it cites my 2001 presentation, "XP for One at IBM"; and it includes some e-mail correspondence that I definitely do not remember engaging in, sometime in November 2003.

So why mention this paper? Frankly, just because I felt like it. It's nice to see people citing my work, as it is for anyone who takes the time to write about and share their experiences. If you're not doing that, then you should consider starting. You don't need to be a "published author" to get your message out. We all have important experiences to share, so get at it!

jbrains on 11.24.04 @ 10:21 PM ET [link]

Friday, November 19th

Jack D. Herrington's review at amazon.com

The latest review of JUnit Recipes is mostly positive, but states in part:

If I had to find fault it would be that GUI testing is not covered. But that's a minor flaw since it's hard to find anything that covers that difficult topic in any way.
I should point out to Jack, and to the reading public, that I cite Dave Astels' excellent book, Test Driven Development: A Practical Guide, saying that I decided not to cover testing Swing applications because he had already done that so well.

No hard feelings, Jack! I just wanted to set the record straight.

jbrains on 11.19.04 @ 01:03 PM ET [link]

Wednesday, November 17th

Software Licensing has changed

In downloading Oracle for the Mac, I was presented with a software license agreement that included this statement:

I will not use the Programs for, and will not allow the Programs to be used for, any purposes prohibited by United States law, including, without limitation, for the development, design, manufacture or production of nuclear, chemical or biological weapons of mass destruction.
Call me a naive Canadian, but have we really reached the point where I have to see this in a software license?

jbrains on 11.17.04 @ 03:27 PM ET [link]

Monday, November 8th

Reading Programs

I have recently purchased the Silver Anniversary Edition of Gerald Weinberg's classic book, The Psychology of Computer Programming. I remember borrowing the original edition from the University of Toronto library and devouring it, intrigued by the human side of programming. Surely this foreshadowed my interest in Agile Software Development and Extreme Programming. The first section of the meat of the book is entitled Reading Programs, including Gerald's observation that the advent of the terminal reduced the amount of time programs spent reading one another's work. When build cycle times were long, programmers couldn't afford a broken build, so they had to be more careful. This results in reading their own work more often. Also, while waiting for a build cycle to complete, programmers would wile away the time reading one another's programs. Gerald's point is that programmers are missing something by not reading programs, much the way that a novelist can only develop her craft so far without reading novels herself. I think it's clear that reading each other's work is important if we want to improve our own work.

So do we read programs now more than we did in 1971? I can point to an increase in the number of programming books that include sample code, but many of those books are technical tutorials on how to use SQL, or PHP or Windows Forms. These books teach us to program, but don't necessarily teach us to program well, although they might just teach us how not to program well.

It is my personal pet peeve: most code examples I see in books suck. They feature poor indentation, abbreviated variable names, long methods, hardcoded dependencies and, worst of all, some of them are so abstract as to be useless. When I sat down to write JUnit Recipes, one of my mandates was to have meaningful, professional-looking code samples. I wanted the samples to be of the same quality that I might ship to a client. If my book is one of the few times that my readers will read someone else's code, I at least want to set a good example.

Pair Programming is another technique I use -- although rarely these days -- to read other people's code. Slowly I am improving at letting the other person drive, and that's giving me opportunities to read code and learn in the process. I have made a number of stylistic changes in my personal coding standards in response to navigating while someone else drives. It has improved the quality of the code I write. I only wish I were doing more of it.

So how much code have you read in the past week? The past month? the past year? What could you do to read more?

jbrains on 11.08.04 @ 06:53 PM ET [link]

Sunday, November 7th

HELP: I need a page translated from Japanese

I ran across this page, which appears to discuss JUnit Recipes, but because it's in Japanese, I have no chance to understand it. I would appreciate it if someone would send me a translation. Thanks.

jbrains on 11.07.04 @ 01:14 AM ET [link]