Monthly Archives: March 2006

Cool Tools

Java Tool Recommendations

Many of our customers come to us, asking for tool recommendations. Choosing and evaluating tools is an incredibly time consuming endeavor. But I got some GREAT recommendations at the Programming the New Web conference, hosted by Bruce Eckel last week in Crested Butte, CO. I’ll try to capture some of those that I found most interesting here, and will try to fill in the blanks as time permits.

In my opinion one of the most intimidating things about Java programming is choosing tools. Microsoft programmers have it easy. Yeah, they’re shoe-horned into their tool selection, but at least they don’t have to go out and evaluate a bunch of (ill suited) tools on their way to creating that first project! Of course, they’re free to choose tools outside of Visual Studio, but do they? Really? Probably only the really stubborn ones!

Yeah, Linux and Java programmers are a stubborn bunch. We like our tools and we like the flexibility to choose them. I so strongly prefer the Unix command line that I run MKS on my Windows box (and will admit to a preference of VIW over WordPad, ssshhhh). But for NEW programmers on the block, it’s a lot to deal with.

So here’s a shortlist of software to use for Java development …

Development Environment: Eclipse (no surprise here)

Unit Testing: JUnit (another given)

Code Coverage: EMMA (use Maven plugin)

Functional Testing: FIT

Quickstart WebApp Development: AppFuse

Version Control: Subversion

Continuous Integration: CruiseControl

Detecting Duplicate Code: PMD’s Copy/Paste Detector (CPD)

I’ll add more as I come across them in my notes.

Energy Builds After Conference

Energized and Ready to Get Back to Work!

It’s amazing what a few days at a conference can do! It’s been a while since I’ve been at a conference. The past few years have seen me “stuck” in town with family responsibilities. It was really great to get away, and I really forgot how energizing getting out among different people can be.

A lot of the topics discussed at Bruce Eckel’s “Programming the New Web” conference weren’t really things that I use in my daily life. I don’t use ColdFusion or PhP or Python. I mainly live in a .NET/Java world. But I love to hear and talk about technology and solutions as much as the next guy, and so even the topics that weren’t directly related to what I do offered insight and grabbed my attention. The advantage of only having one session at a time is that I felt free to attend these talks, and of course, I learned a lot there too!

And, one thing that pretty much everyone agreed on was that innovations like Ruby on Rails has really driven updates in Java tools!

We even had a session on Java vs. .NET programming that turned into an entirely non-technical talk, about how Microsoft has built up a support structure that really helps business like mine, while Sun has pretty much ignored the Java community. Upon my return, I was amused to see a (totally coincidental) email soliciting Java Champions, which might help to achieve at least part of what Microsoft does with their Most Valuable Programmer and Regional Director designations. I’m looking forward to our local Java user group meeting (next week), and I’m hoping that I can become more involved with that.

Next entry will be on tools!

Dianne heads off to a conference in Colorado

Programming the New Web: An Open Spaces Conference in Colorado

I’ve been in Crested Butte, CO, this week for a conference. Bruce Eckel is running it. The format is “Open Spaces”, which allows the conference attendees to customize the content, rather than the other way around. The first day, we submitted ideas for talks, and we found that we had a full schedule of 4 “talks” per day. In a larger group, we might have broken out into multiple sessions, but we’re a group of 10 and that’s pretty much perfect for consecutive sessions. I’m hesitating on using the term “talks” for such informal discussions. It’s really been a sharing/learning experience and it may well spoil me for a more traditional conference setting.

The attendees span our industry, both in terms of size of companies and in application areas. We have everything from pure website development to embedded systems, in both industry and academia. Company sizes range from the sole proprietor to a Fortune 100 company. It’s been a great experience in terms of seeing what other people are doing, and small enough that we can actually get into more detail than would typically be possible at a conference. I would definitely attend an Open Space conference again!

Crested Butte, too, is an experience. It’s visually stunning and outdoor opportunities abound. Cross country skiing is one of my favorite activities, and I’ve been really happy to be skiing here. There are a lot of other random things that I am really enjoying in this town … the friendly faces (and paper cups) at coffee shops, the yoga studio in town, the metal roofs on all of the houses, the gorgeous scenery.

Check back for technical content, or check out the links below!

Ben's weblog
Attendee at Conference
Barry's weblog
Attendee at Conference
Mike's weblog
Attendee at Conference
Bruce's weblog
Organizer's weblog

Corporate equivalent to flylady?

Cleaning the keyboard reminds Dianne that seemingly silly cleaning tasks maybe just need a little perspective.

Maybe the World DOES need FlyLady ….

A Stay At Home Mom (SAHM) friend of mine recently told me about, a website/email service that sends “helpful” reminders about cleaning. I’m not a neat freak (by any stretch), but I wondered if she had some innovative ideas about organization, so I went to her site. Hmm, she posts little jobs that you can do in just a few minutes to spruce up your house and motivate you to keep things clean. Like shining your sink. Like taking a toothbrush and shining a faucet. I was aghast. Do people really DO that? Do people really feel like keeping their house clean because the sink is shiny? Glancing over at the load of dishes in the sink (dishwasher full of clean dishes), I realized that I’m worlds away from being able to be helped by flylady and I got off of the site quickly.

But today, just a few days later, I find myself spending a few minutes cleaning out my keyboard with a Q-tip and rubbing alcohol. Hair, food (and whatever else!) was in there, making typing a bit of a challenge (I KNOW I TYPED A SPACE!). What a difference those few minutes made! I’m typing here without hesitation. No double keystrokes! Woo hoo!

Ah … so maybe cleaning the keyboard is the corporate-equivalent task to cleaning the faucet. I’ll rest easier tonight, knowing that my keyboard is clean and that my work won’t take as long due to unnecessary keystrokes. But, rest assured … the sink is still full of dishes needing to go into the dishwasher. Some things never change.

Skype: Out of the mouths of babes

The toddler gets in on the hype of Skype

Question: How do you know when you’ve been talking too much about something?

Answer: When your toddler talks about it, in context

The other day, I was explaining to my 2.5 year old that we couldn’t get together with her friend (for the umpteenth week in a row) because something had come up. She piped up with, “He should get Skype. THEN we could talk to him”. She’s got it all figured out.

Bad Software

Dianne rants about software, documentation, and technical support

Recently, I’ve been working on a couple of projects where I’ve had to select software for a customer to purchase (for a fairly routine task, IMO). I’m finding myself on the “other” side of the documentation and software, and I’m not liking it, not one little bit.

The software is crap. The documentation is crap. The tech support is crap.

I encouraged the customer to purchase tech support (as I typically do). Most of the answers I’ve gotten are that our questions are out of the scope of tech support, and that we would have to purchase custom software services in order to get a solution (or an answer).

So, let’s see. They write software that does about 70% of what people need it to do and their documentation describes ways to get to the other 30%, but we can’t actually DO it unless we pay for custom services on top of the software. Sorry, guys, but if it’s advertised as being IN the software, it should be documented. And if it’s NOT documented, then you shouldn’t be charging your customers to tell them how to use your software! If that’s the case, don’t document that capability at all, and tout it as an “add-on” service.

Ugh, and let’s just say that the tech support guy who told me that adding “custom perl” to configure their software was an “advanced technique” got an earful from me. Sure, he’s not used to dealing with programmers, but come on! Turns out, he couldn’t do what I was trying to do either (the software was supposed to be able to do it, but couldn’t), and so he just told me it was “outside of the scope” of their support. Grrr. And the answer I seem to get most often is, “We rarely get questions about that feature”, as if that’s a reason not to document it.

Sigh. I just want to talk to the developers (not tech support, not sales). I want to know if THEY sanction this crap. If I thought that this was an isolated incident, I wouldn’t even blog about it, but I think it’s fairly widespread in the industry and it annoys me.