Category Archives: Technology

Live isn’t always best

Getting Spoiled by Podcasts?

Did I mention that I REALLY liked the talk that I went to on Tuesday night, by Owen Taylor from Gigaspaces, for the Ann Arbor Java User Group? Yeah, I guess I did. Anyhow, as I was sitting there, in the talk, I was thinking what a GREAT podcast it would have made, and how I wished that the talk had been recorded so that I could listen to selected parts again but mainly so that I could share it with a few other people who I knew would be interested (but weren’t in attendance). Sheesh, who would have thought that I would PREFER a podcast to a live meeting? OK, I can’t go that far. It was definitely better, in person, where I could see what was going on and eat pizza and have a chance to win an IPod (still bummed about not winning that). But it definitely occurred to me that it would have been great to have had a recording in addition to the live presentation. And, with 2 small children at home, I can listen to WAY more podcasts than attend live meetings. Funny how technology sometimes changes our perspective a bit …

Distributed Computing

Ann Arbor Java User Group: Meeting on Distributed Computing

I snuck out of the house last night to attend the Ann Arbor Java Users Group meeting. Topic was Space Based Computing. It far exceeded my expectations.

OK, I’ll confess. I’m a distributed computing geek. I spent a great deal of time (from like 1988 until well into 2001) working on distributed computing applications and research, using rudimentary tools. First applications were on a Motorola “grid” of several 68000 boards. I no longer remember how the thing parallelized. I was just an application programmer. Went back to grad school in 1990 and loved playing around with hypercubes and other parallel processing machines. Did my masters thesis on parallel programming, with an object oriented bent.

My first job out of grad school was at Computational Biosciences, in Ann Arbor where initially we were working on a massively parallel array (human genome applications) but later transitioned to a processor farm, using PVM. Yes, PVM … out Oakridge National Labs. Did anyone else REALLY use this? It was GREAT, but the configuration was pretty rough.

Then, I did some consulting and ultimately started working on a Decision Support System, using a distributed processor farm as well (using CORBA). I left that company in the early 2000’s, but they’re still doing a great job of distributing the workload, as far as I know. I’m not sure if they’re still using CORBA, but they deal with huge datasets … and quickly.

Ah, anyhow, back to the meeting. Owen Taylor did a GREAT job of describing how Gigaspaces has built a foundation on top of JINI for space based computing. He even mentioned Linda (ah, my heart beat faster thinking of way back when)! Furthermore, Gigaspaces provides a community edition of their software, free (even for production use).

Oh, and Gigaspaces even raffled off an IPod. There were only 10 eligible attendees at the meeting, so I figured I had GREAT odds of winning one. Sigh, wasn’t my night. Guess I’ll have to continue to listen to IT Conversations on my laptop for a while longer.

I’m anxious to dig down and play with Gigaspaces a bit, but alas … I have paying clients right now who are totally NOT interested in distributed computing. I’ll have to save it for a rainy day (soon, I hope).

Notes on Linda

Gigaspaces

Ann Arbor Java User Group

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 flylady.net, 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.

My Biggest Software Failure

Dianne fesses up.

Bill Wagner offered “What is your biggest failure” as an appropriate interview question. I like it. I especially liked his answer! But in calling his bluff, I promised that I would confess my biggest failure if he did, so I have to be true to my word … not sure that mine measures up as well as his does!

At my first job out of college, I developed software for laboratory instruments. We controlled hardware with our software, as well as doing measurements and analysis. It was really a fun job! In any case, the fact that I was controlling REAL hardware was driven home one day when I forgot to turn the power off to the furnace before raising the piston. Yowza! The two pieces of metal touched and arched. Luckily, no one was injured, but it was fairly scary. This was a lot different than SIMULATING something. Real people were putting their hands in there. Real machinery was moving and under POWER. I’ve always made sure I understood the components of a system after that incident! And in the nearly 20 years (ouch) since then, there have been several times that I’ve discussed this failure with new grads to impress upon them the importance of a broad understanding of the application.

More Praise for Technology

Skype and a family conference call

You know that technology is becoming ubiquitous when your totally non-technical parents are using Skype (http://www.skype.com)! I’ve been promoting Skype for use within my family for a month or so now, ever since my parents got high-speed internet. My dad’s first reaction was “JOANNE! Come look at THIS!”. Somehow, the video component totally overwhelms my parents with coolness. The ability for my parents to see their grandchildren eating dinner is priceless. And since my sister recently moved to Wales (with 2 of aforementioned grandchildren), I think that Skype will end up being a lifeline to them for my mom.

So, this morning, when the entire family was on a Skype conference call, it was a bit like the dinner table at Christmas, quite exuberant! I look forward to many more conference calls in the future, but I suspect that we will end up using the 1:1 video calling more frequently because the video component is an amazing touch for families far away from one another. I’m not really wild about using the video feature for business calls (with 2 small kids, I don’t always get to shower before work!), but for family it’s great!

Ah, but then I read in the news about how Skype calls may (heck, probably are) used extensively by terrorists and such, because of their encrypted nature. EEK. Well, the whole wiretapping thing freaks me out a bit for privacy reasons. Of course, then I go watch an episode of “24” (http://www.fox.com/24) and that makes me think about the ramifications of NOT being able to tap into calls (and the geek in me wonders if Skype’s gonna show up in the show soon!).

Anyhow, Skype is cool. Anything that gets my kids’ grandma to use the computer is definitely cool. She hasn’t called us yet using it, but she’s getting close to being comfortable enough to do that. And that’s very very cool.