This blog has moved

April 25, 2011

If you’re seeing this post, you are either visiting or pulling an RSS feed from that server. Today, I moved this blog to a self-hosted wordpress blog. The new location is No further posts will be posted here. In fact, new content has already been added in the new location, as my wife, Heather, joins me as an occasional blogger. Please update any bookmarks and feed readers you might have, and come join us at the new location!


As promised, I’m working on a series of posts digging deeper into the architecture I started describing at the Selenium Conference a couple of weeks ago. I had hoped that the videos of the talk would be up before I started on the series. I know that people are working on making them available, so hopefully they’ll be posted to the SeleniumConf YouTube channel soon. In the meantime, the slides from my talk are available on Slideshare.

I’ve started to plan out the ground that I want to cover in these posts. This mind map shows my current thinking. Each leaf is probably a separate post.

One issue that I’m running into though is the lack of a good site to use as a test platform. I can’t use the website from my day job as I can’t share the test code directly for that, and there aren’t public instances available anyhow. I considered extending the code I pulled together for the SeConf Twitter challenge, and may yet do that, but Twitter had enough spam prevention measures that I ran into during that effort that it’s possible that someone trying to run the code will run into problems. I also likely wouldn’t generally use Selenium to drive Twitter unless I was specifically testing the site and creating a few GUI focused tests. (Otherwise, I’d use Twitter’s API). I’m going to look around a little more and check out some suggestions I’ve gotten, but if anyone has a suggestion for a good demo site that has at least a few pages and multiple user actions, but doesn’t get too complex or go off into non-HTML, CSS, and JavaScript land (I don’t really want to deal with Flash or Silverlight or video right now, for example), please leave a comment with your suggestion!

I’m also curious to know what other topics you might want to read about beyond what’s in the mind map above. Is there anything in the slides above or anything that follows off the topics that are already in the mind map that y you’d like to know about? Leave a comment about that too, and I’ll see what I can do!

In a tweet she made from the Selenium Conference, Marlena Compton stated that I had mind mapped all my notes from the conference. She asked for a picture at the time, which I gave by taking a screen shot on my iPad. I didn’t have the full map shown, so she only got a portion of it. I subsequently realized that the very awesome iThoughtsHD app can export the entire map into the photo library which let’s me post them from here.

These maps haven’t been altered from the conference. They reflect places where my attention wavered, and things that grabbed my attention. The times when it wavered often weren’t the fault of the presenter – there was so much information flying around that there was no way to absorb it all at once. Several of the talks were intense enough that I knew I’d have to come back and watch the videos to really get what the presenter was trying to say.

Without further ado, here are the two maps, covering the full three days:

Edit: I’m quickly running into some limitations of using a blog, it seems. Might need to move this over to a host somewhere at some point. Anyhow, clicking on the images above takes you to Flickr where the images are stored. Even going to the original size, the text is hard to read. Steve Hebert asked if I’d consider sharing the original iThoughts files as well. So, here they are:

Day 1/2: iThoughts | PDF
Day 3: iThoughts | PDF

Selenium Conference 2011 is over and done with for the year. I had a great time, and want to thank everyone who made it such a success. I think the biggest takeaway for me is that I need to switch over my xpath locators to CSS selectors right away. I can’t ignore the speed gains and it’s only going to be more work to fix it later.

I need to go back through my notes (which as Marlena Compton mentioned in a tweet from the conference, I have done up in mindmaps – that’ll be a separate post made from a device other than the laptop, as the wordpress iPad app doesn’t give me any way to really upload the images unless I jury-rig them into my photo library) and see what else struck me at the time. There’s a few talks that I wasn’t able to process fully at the time, so I’m planning to go back and watch the videos for them too.

While I was in San Francisco, I took the time to do some non-conference things as well. On Saturday, I had some fabulous sushi, and then bought a ticket to ride the double decker buses around town and see the sites. We drove past Fisherman’s Wharf, Ghiradelli Square, Chinatown, Little Italy, and crossed the Golden Gate Bridge. The bridge seemed a darker red than pictures I’ve seen but the views were really nice. I got off the bus on the second loop after crossing the bridge (the first loop didn’t cross the bridge which the tour people neglected to tell me when I bought a ticket that specifically included crossing the bridge) and walked back down to Ghiradelli Square. There I got chocolate to bring back for my wife, boss, and team and a sundae that I nearly couldn’t finish. I went down the rest of the way to Fisherman’s Wharf and hung out there, listened to a street musician named OneLegChuck play some rock/reggae/bluesy music for a while, bought his cd, ate some seafood at Fisherman’s Grotto (reveling in having scallops which I love, but don’t get very often as my wife is allergic to them), walked past some other street performers (silver men!) and finally decided it was time to head back to my hotel. My cell phone died about this point, and I did not fully appreciate that my hotel was nearly 2 miles away, and the direct route took me up and down a VERY steep San Francisco hill (Nob Hill, I believe). Probably should have gone around. I think the fireman outside the fire station on Powell thought the same thing when I asked him how far I was from Sutter where my hotel was.

On Sunday, I had made plans to meet up with Elisabeth Hendrickson at her Agilistry Studio to do some pair programming. I took the BART train out (I hope some day the light rail out here even begins to approximate the usefulness of BART) and Elisabeth met me at the station. We went to Stacey’s – a restaurant co-owned by Scott Adams, of Dilbert fame. The food was good, the jokes on the menu were funny, and Elisabeth and I had a great conversation. We walked back over to the studio, and I walked her through my test automation architecture (she liked it!) she gave me the idea to have my tests log out Cucumber scenarios containing all the specific data values used in a run. This was profound to me, as I’m intentionally keeping my scenarios focused only on the essentials of the test to facilitate maintenance and portability of the tests. I was also facing the prospect of having someone change data out from under me and not being able to rerun the test, which was going to cause issues. Figuring out this log is one of the next tasks I want to look at. I suspect that it’ll be fairly straightforward to do with a log4r log. That’ll be another blog post.

Elisabeth also showed me some of the awesome work she’s doing on We paired to fix a bug that we both claim the other found. I think I asked some good questions even if I was having a hard time following the code as Elisabeth zipped around it. 🙂

Sunday night, I met my friends Lisa and Rick for dinner and games. We had some of the best pizza I’ve ever had (Chicago style, I think from Zachary’s maybe?) and they taught me to play the Cities and Knights of Catan. This is my favorite Catan, I think. I lost by 1 point, and had a great time with them.

Monday through Wednesday was the conference itself which I’ll address more later. The trip ended nicely with dinner with Marlena, Dawn ? (previously Cannan), and Michael Larsen who is the producer for the This Week in Software Testing podcast, which my wife and I were interviewed for just before I flew out to SF! We went to the Stinking Rose, and had a great time and a LOT of garlic, even if the flight attendant on the plane today didn’t really believe me as I didn’t smell like it apparently.

All in all, it was a great trip, and I’m planning several more posts about various topics around it.

OK, my idea of posting every night from the conference didn’t go so well — each night I ended up having so much information to process that there was no way I was going to be able to come up with an entry. I’ll work on processing more this week and try for a post on the highlights of the conference (at least for me). From there, I’ll move on to discussions of my initial thoughts on some new topics.

Obviously, it’s been a while since I’ve posted. OK it’s been longer than a while. I’m sorry for that. Obviously, the promises of resuming posting didn’t work like I intended them to. Blogging is something I’d still like to do. Maybe this time it’ll take off. No promises this time — we’ll see what happens. For those who have hung in there (either consciously or by simply never removing a subscription to the RSS feed), thank you.

Anyhow, this week I’m in Denver, attending Agile 2005. While I have a few complaints about speaker treatment, and the hotel is overpriced ($5 for a bottle of Evian in the rooms? $3 for using the lobby wireless for 15 minutes?), I’m excited about it.

Since the blogging from Agile Fusion was a big hit, and it got me to think about some of the things more deeply than I otherwise might. I’d like to try that again in this venue with a few changes. Last time, I felt like I didn’t participate as much as I could have because I was blogging so much — it was the same thing as when someone is photographing or videotaping an event — the camera (or laptop) gets in the way of participating. This time I’d like to avoid that — I think a conference format is probably a better place for that — there’s sessions & then breaks. Since I may only be able to post from my room (it’s not clear whether there’ll be free wireless for the conference), I think that will help with this.

So, starting tomorrow, I’ll be making posts about my experiences here. From there, we’ll see where this all goes.

It’s been two months since I last posted here. I got out of the habit about the time that I left MN to go back down to FL for the school year, and have been playing catch up ever since. It’s been something that has been high on my todo list, but never actually accomplished for a while. Now, I just finished attending the the Pacific Northwest Software Quality Conference in Portland, OR. Since I told quite a few people about my blog, and I’d like it if they actually wanted to read what I have to say, and this requires that I have something to say for them to read, it is definitely time for me to post. The first thing I want to talk about is a rundown of the projects I’m working on. All of these are things that will probably be showing up in future entries.

  1. Classes — I’ve got three classes that I’m registered for this semester: Computer Networks, Fundamentals of Computer Security, and Swarm Intelligence. Things are going well in all of them.
  2. Swarm Project — In my swarm intelligence class, there are only two students. We each have a project we’re working on. Mine is to create a simulator where robots try to find their way out of a room with inner walls making things more difficult. There will be 5 different controllers to pick from. The first is each robot simply wanders around randomly. The second method is for the robots to have a shared mental map that they use to navigate. The third has each robot maintaining its own map and broadcasting wall locations to robots within a certain radius when it encounters a new wall. The fourth way keeps the individual maps, but robots only share information when they collide. The fifth way is to actually use a swarm intelligence method. The robots initially wander around randomly but they remember the path they take. When a robot finds the door, it lays down a pheromone trail along the path that it took. When the other robots come across the pheromone trail, they may or may not follow it (the stronger the pheromone, the more likely they are to follow the trail). Originally, this was going to be done in Java with a Java3D UI in front of it. Now it’s looking like it might be done in StarLogo (which will be far easier). The plan is to use the simulator to determine the benefits of the various approaches in terms of efficiency in getting the robots out.
  3. Dissertation/PhD — I haven’t completed the application for the PhD program yet, but I’m making some progress on the dissertation side. I recently finished reading Robert Sternberg’s Thinking Styles which describes his theory of mental self-government. According to the model, a person is going to prefer to be executive (doing things), legislative (creating things), or judicial (critiquing things). Then, within that preference, a person will be monarchic (focused on one goal and one goal only), hierarchic (having a structured hierarchy of prioritized goals), oligarchic (split amongst multiple goals without a clear sense of priority), or anarchic (no clear focus). A person will also have a preference between conservative and liberal (not the political leanings, but I forget what they mean in the model at the moment) and a preference between global and local (big-picture or detail oriented). I liked the book quite a bit actually.
  4. Blog admining — I’ve taken over the job of blog admin for the lab. We had a recent incursion of comment spam, and I’ve been learning how MovableType works.
  5. TAing — Cem is teaching a course on test-driven development and I’m his teaching assistant.
  6. Other miscellaneous things — I’m involved in various other projects around school too.

    So, I’m staying busy. Things are good though and I’ll be resuming posting on a more regular schedule again.

    Coming next: a post about PNSQC.