July 31, 2005

iKitchen - computer in the kitchen

This is kind of neat (although I won't be trying it soon) - a guy built an mac mini into the wall of his kitchen. I saw the link through slashdot, and his site runs directly off MySQL with phpNuke, which is complaining about not being able to connect on various pages (i.e. the poor bugger is probably getting hammered).

I haven't been able to read a whole lot of it, but it looks pretty good. I'll go back later and read it more in depth when he's not being crushed.

Posted by joe at 02:07 PM

sailing class - lesson 2

Karen and I had our second lesson today with our sailing class from the Center for Wooden Boats. The first lesson, last week, was mostly shore school with a little demonstration sail at the end. Today was the first lesson really hands-on with the boat. Karen, the instructor (Rich), and myself headed out about 11am, picked a Blanchard Jr, and then went to work going through all the basics and rigging it up.

I must admit, rigging on of these boats is far easier than rigging out Jen and JR's Olsen 911. There's a lot less to do, and the boats design is just plain simpler. Of course, Jen and JR's boat would whip it's butt in a race...

Then we headed out and took turns maning the tiller, main sail, and jib. The winds were light and really shifty, which I think frustrated Rich a bit, but it was a nice slow introduction and it really gave me a chance to watch and study the sails. Karen got to spend a lot of time behind the tiller, which she really enjoyed. There were only a single down to the whole thing, and it didn't really damped out spirits. When we were coming to dock (we learn to sail from the dock and dock under sail), a 50' powerthing come rolling in behind us, completely ignored our right of way, and docked between us and the dock. He even had the gall to honk his horn at us. While I just thought he was a jerk, it really flustered Rich.

He smoothly guided us back around and we stalled for a bit while the Jerk with the Big Boat picked up his passengers and left again. I'm afraid that really flustered Rich, because when we did finally come in to dock, he forgot to let out the main sail and let it luff, so while Karen was on dock holding the lines, the boat started sailing away again. We ended up leaving Karen on the dock and circling around for another go, trailing a few lines in the water. I had tried to jump onto dock to help Karen, but reality was extending the gap - while I made it to the dock, the better part of valor was returning immediately to the boat to help Rich, and we had her docked again in a minute and let all the sails luff this time.

We left the dock about 1pm, both of having had a great time. I wish the lessons were longer - I could easily have stayed out there playing and learning for hours.

Posted by joe at 01:55 PM

New Serenity Trailer

Hey,

there's a new (large) Serenity trailer available

Posted by joe at 01:37 PM

July 30, 2005

Playing on the XBox

Spent the evening doing something I rarely do these days - play on the XBox. Its been quite a while since I last played it, but I pulled out Star Wars: Knights of the Old Republic. I never did finish the game previously, and the second part of that game series has been out since December of last year - ah well, so I'm a bit behind. It's been fun playing tonight.

Posted by joe at 12:34 AM

July 29, 2005

Quality Assurance using Open Source Tools

I've been spending a lot of time recently with developing Quality Assurance at my company and using open source tools to do it cheaply and effectively. I have been meaning to write something about my recipes for the world (and Google) to see, so here it is. Before I get to in depth, I want to immediately recommend interested folks to the site opensourcetesting.org, which has been a gold mine of information. The long and the short of this is - you can build an excellent quality assurance setup with the open source tools available, and based on these tools I expect that the classic role of "testers" is heading for a much more active development type of existance.

I have been very pleased with many of the tools that I have found (and am now using) and there is always something more I wish I had a little more time to dive into. These days, I am primarily working around driving quality assurance for web applications. Unit tests (JUnit and NUnit), automated build systems (Ant and Nant) and continuous integration (cruisecontrol). Getting all this dropped into place takes quite a bit of time, but the results are worth it. Increasing the speed of the feedback loop with developers is the single most effective tool I've ever seen with quality development. Without this sort of setup (or other equivilant tools) it is just incredibly difficult to scale with the communications feedback load that large groups will require.

But that's not even really into the "after development verification testing" side of things. Testing for correctness, load/stress/performance testing and verification, and the general bug resolution process has all been building up at the same time. So time to start naming off some tools... I looked at Canoo WebTest, HttpUnit, HtmlUnit, and Watir - all of which are fantastic technologies that didn't work out for me in the current environment. I still think that maybe getting back to HtmlUnit or HttpUnit might be some cool stuff, but developing test sequences in Java is pretty heavy weight and takes more resources than some of the other languages. So, for the moment, we're more focused on testing that drives IE through its COM interface using a little homebrew here - iti s essentially the same as Watir, Samie, or Pamie, except we are doing it in PHP. Since we started that, I've dropped into using Pamie as well. It has been great to quickly knock out test cases, and the speedy development time with PHP and python looks to be paying off.

More recently, I dove into the load/stress/performance testing side of things, and after playing with JMeter and dropping it when it became to convoluted too quickly, I moved to Grinder and have been very happy. I will say that I do wish it had better documentation. A short tutorial and script examples hints at what can be done, but the potential and functionality far exceeds that meager level of detail. And the combination of jython and a structured Java environment that distributes and collects stats for load and stress testing has been wonderful. I think I'd still like to get back to HttpUnit and HtmlUnit kinds of components, but it will have to wait until we have more resources to dedicate to it - and it may never turn out to be the best choice for us.

The final component of all this testing has been the bug/test case process. I can't tell you how pleased I've been with Trac. The combination of subversion and trac for the wiki and ticket tracking has been simply incredible. The wiki uptake alone was worth the price of admission. Having all those pieces integrated has all been icing on the cake. I have used both Bugzilla (who hasn't these days) and Mantis - both of which are good, but that lure of the integration that trac promised was simply too strong. And Bugzilla, by the way, it still a pain in the ass to set up.

Moving from bugs to test cases and dealing with test case management is still a weak link in the open source tools world. We really wanted to be able to track the test cases forward (without munging huge word documents or excel spreadsheets) and submit automated tests against builds for the test cases we wrote. We ended up settling on TestLink, which was the best of the ones that I saw out there, but none of them are at the place I'd really like to see. Testlink recently made a sweep upgrade to 1.5, which I must admit looks a lot nicer, but I could still wish for more. We've hacked onto testlink 1.04 to add the capacity to submit test results from automated systems which has been pretty beneficial, and I'm looking to see a bigger and better payoff down the road with that capability in hand. Still, if there was one place that I was really tempted to buy a solution, this was it. But honestly, I didn't see anything that rang of the value proposition to me.

The one place that I am seriously considering spending some bucks is on code coverage tools - Clover specifically. I'm still of a mixed mind, but pushing more resources towards the front of the development chain seems like the best payout. Maybe I'm just a cheap bastard, or willing to do a lot more technically than some folks, but I haven't been convinced of the value of many of the commercial testing tools out in the market today. To be completely honest, I've got to say the same of system monitoring tools - but that is a whole different topic.

The biggest surprises in putting this all together have been how much time it takes to develop automated tests and the overwhelming choices of tools.

I had some great ideas about developing automated tests in sync with code being developed, but that has been a pipe dream which has yet to materialize - at least not without a hell of a lot more communication overhead than I had originally anticipated or was ready to devote to it. API's change slightly, buttons get renamed, text gets moved - all of which ends of with heavy maintenance work to keep the tests in sync with the code while it's undergoing fairly rapid change. The real win I see with the automated tests is way up front (unit tests in the build) and towards the back (regression testing).

The tool choices have also been almost paralyzingly complex. I could easily have spent months doing analysis to find out the benefits and drawbacks of a bunch of these tools. In the end, it seemed significantly more sane to go with the skill sets available (PHP and Python) that afforded a fast development turnaround. Although I didn't really expect it, the testing environment in Grinder 3 has turned out to be wonderfully rich. I hadn't worked much with the jython setups in depth previously, and they've turned out to be incredible. Where Canoo WebTest was just a bit too stilted and formalized, and HtmlUnit/HttpUnit was on the other order of freeform, the jython mixture has been a great mixture. MaxQ uses the jython world and proxy-recording setup (much like Grinder 3), but I didn't play much with that as of yet. And I'm getting darn tempted to start using Grinder 3 for functional regression tests - still more work to do there if I want to go that route.

The biggest challenges still ahead include automating the deployment of our code for testing and getting the regression sets stabilized and growing at a reasonable rate. Of course you can't freeze development while you implement tests that were previously scrawled down on paper, so it is an "implement as you go", "grandfather stuff in", and "make things better" process while we continue forward development, new testing, and improving the overall process. All in all it is paying off in spades.

If I were going to give someone advice on setting up testing and quality assurance with open source tools, the biggest recommendations I would have are:

1) Prioritize fast feedback systems as much as possible, and automated the crap out of them.
2) Go with tools that are very fast to prototype/develop and have really, really rich libraries (python, php, ruby, perl).
3) Pick tools that match your skillsets and go - because while you can make some mistakes, but its far better to have something rolling now
4) Take a little time to check out the resources availble - opensourcetesting.org being a prime example.

Posted by joe at 12:17 AM

July 27, 2005

Django

I have been following the Django project since its announcement a bit ago, but I had not yet really read anything seriously on it. Last night was the change - I snagged the tutorials (1, 2, and 3) and printed them out to read on the bus ride home.

Wow - that is QUITE the framework. I've only really snagged the lightest of tastes, but there's clearly a lot of power and ease built into this system. And one of the nicest things in recent days has been the addition of support for SQLite and taking advantage of a built-in python web server. Which means it's a piece of cake to bring up a development environment on MacOS X super-easy (I really didn't want to go to the trouble of installing MySQL and Apache2 + mod_python).

Posted by joe at 05:39 PM

July 26, 2005

launch

Back again!

Karen woke me up a little late this morning - just in time to catch the launch. Normally, she wakes me up around 7am, but she was so engrossed with Nasa TV that she missed it, only barely getting me up in time to see the launch.

The launch went spectacularly well - the new cameras for safety also made neat video footage to watch from our ends. Best wishes for the mission, and safe return in 13 days.

Posted by joe at 08:52 AM

July 24, 2005

Yellowjackets

Hah!

We grilled outside for dinner tonight, and there weren't ANY yellowjackets!

I'm patting myself on the back for this!

Posted by joe at 06:05 PM

Chaos on the home front

Its all chaos on the home front. Planning for a different entertainment setup, screen doors, moving furniture, and purging the basement of 4 years of accumulated crap. Ah, my, what a lot of work coming up.

The basement is the trickiest of this whole setup - what to do with all the various things. There's recycling for some of it, pitching it into the bin for others, and then more complex operations (goodwill, etc) and recycling some of the ancient PC's lurking down there.

At this point, I think I'm going to be getting rid of damn near everything computer related in the basement. I haven't touched it in three years, so aside from being additionally out of date - I'm not even using it! Anyone local want a couple of old PC's? I've got an old (but still functional) Mac Performa and laserwriter down there too - I think I'm going to try and work something with The Mac Store - get a credit or something towards a Mac Mini or an iPod Shuffle or something. Heh - maybe even pay out a iPod battery replacement.

Once we bin all that stuff, it's moving time in the basement - hauling around shelving and reorganizing to purposefully store things instead of just use desks as ad-hoc storage. Then we'll have some more workspace and the shop may even get functional again.

Don't even ask about the upstairs. Haven't a clue - except that I'm thinking a screen door on our front door would be really nice to have.

Posted by joe at 05:11 PM

SOA

A bit of geekery for early Sunday afternoon. I've been saving it up all weekend - spending my weekend sailing and other non-geekery related things, so now it's time...

The fundamental question I have: "If service oriented architectures (SOA) are so awesome, cool, and easy to use then why don't we see more open-source utilities and programs using it?"

And before you even shoot that down, let me admit straight off that I do know of some SOA architectures in open-source code. Its just that it seems pretty damn small for the amount of goodness that I perceive could come from it.

Some of the immediately arguments that come to mind: 1) XML is heavy for the little snippets of data we're transfering around, 2) most open-source components these days aren't middleware, but plugins to frameworks or frameworks themselves, 3) if the open source tools are end-user facing, then they're probably burning most of their energy focusing on the user interface, not data collection and migration.

So I'll leave it open - are there open source tools, utilities, or whatever that you're using that take advantage of an XML-RPC, SOAP, or REST interface? (And blogs don't count)

Posted by joe at 01:58 PM

July 23, 2005

Serenity bridge

Between the amazing series Firefly and the upcoming movie Serenity, there is a bridge - in comics. I ordered them a while ago, and the first one arrived today! 1 of 3 from Dark Horse Comics, and to be honest I'm rather tempted to get more issues because each issue had three different covers, and I really like the artwork.

Heh - no spoilers, but I'm going to go read it now.

Posted by joe at 05:42 PM

Sailing with CWB

What an incredibly gorgeous day to start Sailing Lessons. Both karen and I headed down to the Center for Wooden Boats for that start of the session. We have six or seven classes scattered between now and the next six weeks, which all looks like it's going to be great fun.

After an initial intro class, we (we being twelve of the students) went out on a 46' sloop and puttered around the lake until something like 5pm. I didn't do too bad at all with the driving, although I've got some trimming habits to unlearn. Things don't need to be tight and fast on the jib (as they usually were when I was racing). At one point Sarah (the instructor) asked if I could "feel" the way the different when the jib was luffing and then fully engaged. I had to admit that I didn't feel a darn thing. Ah well - that's something to learn yet. At least I can spot it visually.

Next class is a week down the road, so in the meantime we have some reading that we can do (not assigned) - a book that we got called The Complete Sailor. It looks like a great book, and it has wonderful illustrations (yes, I still love books with pictures, even if I don't read them much anymore).

Posted by joe at 05:37 PM

That's it...

Gus has finally snapped.

Now if you don't mind, Saturday's are for sailing (DUH!), get your categorization system working if it makes you feel better, get back to posting, and do you coding.

It's probably best Kirsten took over payroll. Trust me on this.

Posted by joe at 12:05 AM

July 20, 2005

Suzanna Vega and Marc Cohn

Zootunes had their premier summer concert tonight - Suzanna Vega and Marc Cohn. The pictures are horribly oversaturated with light, but they're the best I've got.

The tunes were incredible, and it was an all around fantastic show!


Suzanne Vega


Marc Cohn

Posted by joe at 09:39 PM

July 18, 2005

What a weekend!

Now that was an amazingly fine weekend. I paid for it a little bit today, catching up on errands that I didn't do this weekend, but it was ever so worth it!

Other than reading, I did impressively little, and enoyed it all thoroughly. This week proves to be equally stunning with a Marc Cohn and Susan Vega concert this wednesday at the Zoo, and then the start of sailing lessons at the Center for Wooden Boats this coming weekend.

Posted by joe at 11:31 PM

July 16, 2005

Harry Potter

I spent the day in Puyallup reading the latest Harry Potter, which went on sale last night. Puyallup, you see, was where Karen was teaching a class today - so while she was teaching, I was ensconced - not sick, not working - at a Starbucks and enjoying the book.

Without a doubt, she (JK Rowling) has not lost her touch, and the book left me like all the others - entertained, intruged, thoughtful at her insight into us monkeys, and undoubtably hungry for me. If you want spoilers on the book - go read elsewhere. In the meantime, I'm finished and Karen is just now getting to about a 1/3 of the way through the book. I'm betting that she doesn't sleep much tonight.

Posted by joe at 08:07 PM

Comments are off

Seems that since the last time I removed comments, I slightly screwed up something, and now I don't get notifications when comments are added. Not surprisingly, the blog has been hammered with vile spam comments - so they're off for good now.

Maybe I'll move to wordpress, or some other mechanism, where I can grant just my friends the ability to comment on the blogs. In the meantime, thats it - no more comments.

Update:

It is a matter of learning a language well enough to be able to write without resorting to simple foul and obscene words when something like this spam thing angers, annoys, and disappoints me. Unfortunately, while I am mostly conversant in English, I don't quite have the grasp to that level - or maybe I'm just too enraged at spammers at the moment to be able to articulate how intrusively foul they are.

Posted by joe at 07:46 PM

July 14, 2005

Awright Byron...

So what's the word? I'm being dense.

Posted by joe at 10:41 PM

Xcoder meeting

Well, I forgot the keys to the dBug resource center tonight, so the meeting moved rather inadvertantly to the Kangaroo and Kiwi - a pub down around Winona and Aurora. We didn't talk much about Objective-C programming, but it made for a really nice social event (even if it was a bit loud). A nice change anyway.

Posted by joe at 09:47 PM

July 13, 2005

Offline

Nope, I'm not dead or on vacation, just pretty much off line for the past while. Sleep hasn't been coming easily for me lately, and what I'm getting has been stuttery (is that a word?). Insomnia, i wake up a lot, all that crap. So when I get home, whippin' out the laptop and thinking about cooking up some text hasn't been high on my priority list. Usually I'm bushed and ready to pass out about 9pm.

Tonight is obviously a little different. I'm awake, and it's 11pm. No major plans, so I popped open the laptop to get software updates and write a little here.

I've been playing a bit with iTunes 4.9 and that whole podcasting thing. The interface with iTunes is, well, considerably less than intuitive. What are all those blasted dots and mini-checkboxes in the UI for anyway? Damned difficult to figure what's going on the iPod and what isn't. But still, it's been interesting to listen to content on the way to work and back home.

Work has been keeping me busy, and I'm doing a bit of mental gophering - sticking my head up from the nitty-gritty details to get a sense of the surroundings and such so that I can plot a path forward. I'm really pleased to say that six months into this gig is still fantastic, and I'm looking forward to a lot more too.

Posted by joe at 11:11 PM

July 08, 2005

Seattle Symphony

Karen, Nathan, Leah and I all went to see the Seattle Symphony tonight, and it was incredible! We went, yeah - get this - to Bugs Bunny on Broadway. Man, what an incredible show. Watch cartoons, get the live tunes - all the good ones. The Rabbit of Seville, What's Opera Doc, Zoom and Bored - all the great ones. And we saw one that I'd never seen before but was incredible: High Note.

Posted by joe at 10:55 PM

July 07, 2005

laptop

I sat down this evening, picked up the laptop and saw the time was Thursday at 7:49pm. Confused, I finally realized that it has been nearly a week to the minute since I last used my laptop. Wow - that's got to be some sort of record or something. The cold I had over the weekend of the 4th is finally draining away, and I'm catching up on home stuff that I've been neglecting for far too long.

I've been busily cranking through Ant and NAnt build mechanisms lately, integrating both into CruiseControl and having some pretty good successes. It's been really nice to see those components fall into place. I wish there was a little better documentation for NAnt, but it's a pretty good setup for folks doing C# and even ASP.NET development work. Ant is clearly more advanced, and lord knows what will be coming with the new Microsoft builder XML thingy they have tucked away in the next rev of the development tools, but its been very effective for me so far.

Posted by joe at 06:42 PM

July 05, 2005

Great show!

The fireworks display over Lake Union was an incredible show! We spent around Lake Union (well, I spent a fair bit of it napping around Lake Union) between the Center for Wooden Boats festival and the fireworks. The eastlake neighborhood was like one large party all afternoon and evening, and a really big parking lot until past midnight, but it was very worth the show.

I'm still recovering from this bloody cold, and getting a number of comments on my lower-octave voice. Ah well, won't last long. In the meantime, I'm really hoping that Karen hasn't caught this thing. She thinks it's just allergies at the moment, but I'm suspecting a illness feedback loop in the house.

Posted by joe at 09:24 AM

July 02, 2005

4th of July present

Karen got me a really nifty present - the Firefly Series on DVD!!! I've been babbling on endlessly about that show, so I guess she must have thought I liked it or something..

It's a great present when you're a little sick too - cause you can just curl up in front of the TV under a blanket and watch it all.

Oh, by the way, it's 90 days until Serenity

Posted by joe at 03:51 PM

sleep

I'm sure you all needed an update on my cold.

The good news is that I'm not having any trouble sleeping. My - whatever this is I've been sneezing more than anything else. Like I've got some constant feedback histamine reaction going.

I think the big mistake was working very late the other night when I was starting to come down with this - must have just dropped my immune system down to a point where the virus could waltz right in.

Well, if I'm feeling up for it later today or maybe tomorrow, I'm going to head down to the Center for Wooden Boats, which is having a wooden boat festival on Lake Union. It is going on through Monday, so I should be able to make it there for at least one day. That's about my only real plan for this weekend, believe it or not.

I really hope that Rick didn't come down with this thing I have. He stayed with us a night before flying back to Des Moines, and he left at something like 4am - so he could not have received a very good nights sleep first...

Posted by joe at 01:42 PM

July 01, 2005

news for the world

I'm all sick and feeling like crap and Grave of the Firefires is a very depressing (but good) movie.

Posted by joe at 09:44 PM

4th of July weekend

It's been a crazy week, and I'm hiding out and sleeping mostly today, trying to break a cold that caught ahold of me in the past few days. Rick Howard was out visiting this week, which was really cool because we hadn't seen him for a good several years at this point. He was really at a training conference, but we hijacked him as often as possible. He headed back to Des Moines this morning with a way-early shuttle to the airport.

This cold sort of has me down, but I'm trying to resolve it by spending the day sacked out and sleeping with the cats. Good for what ail's ya.

Posted by joe at 11:53 AM