« April 2004 June 2004 »
blog header image
# Thornley at Capital Music Hall, Ottawa

I went to see Thornley at the Capital Music Hall** in Ottawa last night. Overall it was a very good but very loud show.

The volume of the lead guitar crunching, what I'll call Thornley's trademark sound (on Big Wreck as well) was often so loud it was impossible to hear the bass guitar and difficult to hear to even hear the drums. I'm not old enough that I've lost my hearing that badly, so I'd say the audio was messed. I was standing about 30 feet from the stage in the middle of the room, so I don't see my position as being the problem. The songs that sounded the best were the old Big Wreck songs ... the other band members came through loud and clear.

Speaking of the other guys, Thornley picked up a wicked drummer in Sekou Lumumba, who played very solid and clean and had fun on stage. He broke into a great drum solo early in the set and the crowd really loved it.

I didn't recognize the bassist from the album cover but he used to play with The Watchmen. He's very recognizable on stage though: a tall guy that plays the bass really really low to the ground. I could *see* him singing on a lot of the songs but never actually heard him. Unfortunately it was also hard to pick up his bass guitar well over the loudness. He has a great mood on stage and fits into the band well. The mohawk he's sporting is pretty sweet looking.

The "new guy", Thornley's guitarist Tavis Stanley was solid but mostly low key. I think he might have been concentrating on not messing up. hehe ... No, to be fair I saw him jump off the drum kit near the end of the set. But not while playing ... so he's not quite 80's metal yet. ;)

The band's chemistry is great on stage, which is cool to see. It makes the show that much better when the band can have fun with it and not be too serious. There was a lot of improvisation between songs but most of the songs sounded true to their album versions. That's good or band depending on what you look for in live shows I guess.

Most of the songs were from the new album (I'm glad I picked it up early), with a few songs from the first Big Wreck album In Loving Memory Of... When they played Blown Wide Open early in the show, the young kids in the first row didn't seem to know the song. I have to remember that it's seven years old and I'm an old man now. :) A disappointing omission from the set was the song Bright Side, which is my favourite from the album. Midway through the show a guitar pick hit me in the leg and I picked it up. That's two for two on Thornley/Big Wreck shows and souvenirs ... the first I got a chocolate bar. The pick was chewier.

The crowds at rock concerts in Ottawa are often disappointing. Is this how people act in rock concerts all across Canada, I wonder? C'mon people, get some energy and go wild -- especially you kids. The last time I saw Big Wreck people were moshing in the Congress Centre in Ottawa for crying out loud. It was bizarre but the energy was pretty cool! At the Chili Peppers concert I was going bananas on the floor during Suck My Kiss and everyone else was just standing around. Honestly people, I can't help you!

So the audio messed the show up pretty bad, and my ears. But Thornley's vocals were amazing and the band was great so the show was definitely worth the $20. I'll be listening to this album well into the summer. Rock on!

** Someone mentioned that it should be "Capital City Music Hall" instead, but I think they were inadvertently influenced by the name of Radio City Music Hall. That would be a pretty obvious and cheesy rip off. The venue itself is pretty unspectacular -- it's less a Hall and more like a gymnasium with bars (the drinking kind, not the metal kind). The second floor was closed off but it didn't matter ... there weren't that many people there. :) Barrymore's, where I saw Sam Roberts last year, is a much better rock venue, there's something about the mood of the place. Plus the fact that it's four tiers going higher and higher up to the back.


I should mention a little somethin somethin about the young but talented opening band, Oliver Black, who are from Southern Ontario. Even though I'm not a huge fan of female rock lead singers I really liked Serena Pruyn. She had some wicked energy and an amazing voice. You will hear more from this band, trust me. I'd like to check out the music from their web site, but the links are broken on the downloads. Oops! You can still listen to the streaming audio at the bottom of the site though. The band also has a LiveJournal.

posted at May 29, 2004 at 06:31 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (6)

# June CD Run

The June CD run is a week early, but I have a good excuse -- I will reveal it later. I also reserve the right to purchase more June CDs at a later date. Consider this June CD run part uno. Here's the tally:

Franz Ferdinand - Franz Ferdinand
Thornley - Come Again
Morrissey, you are the Quarry

(Ian) Thornley was the lead singer of Big Wreck. They've since broken up and this is his first solo release. If you listen to the radio, you've probably heard the first single from the album: So Far So Good. I remember seeing Big Wreck in concert in Ottawa in 1998 with The Watchmen. One of the drummers threw an Oh Henry! chocolate bar in the pit and I survived a scuffle for it. It's weird the stuff you remember ... I'm pretty sure I ate that chocolate bar too.

(Steven) Morrissey was the lead singer of The Smiths, a British 80's band that broke up in 1987. I'm a relatively new fan of The Smiths, and I've never heard Morrissey's solo material before ... but it's gotten decent reviews so far.

Franz Ferdinand wasn't the lead singer of a band, which ruins the whole thing doesn't it? He's not even a real person as far as I know (update: yep that shows I don't know much! hehe). It's just the name of a bizarre British band that came highly recommended given the music I like. After a first listen I'm digging it, especially the songs Take Me Out and The Dark of the Matinée.

posted at May 25, 2004 at 12:37 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (5)

# Ideas for a Software Development Documentation Management System

What are some problems with documentation?

* It goes stale quickly.
* Need to update for every new version of the product.
* The same information is in multiple places, which is a pain to maintain.
* It's not comprehensive enough to cover every single use of the program.
* Nobody uses it because of above reasons.

What if you had a system that could hold all of the documentation and specification elements on your project in one place with no redundency? Then that system could generate documentation automatically, piecing together the elements it needs for a specific document type.

You have a hierarchy of documentation elements, where an element is a piece of a document relating to one feature or part of a feature depending on the level you are looking at.

At the top is functional spec elements, plain english explanations of how the software works and grouped by feature (use case). From these the technical spec elements are made, specifying how the software will be implemented to satisfy the functional spec.

To test the software to make sure it does what you want it to, acceptance tests are made based on the functional spec elements. You can look at any given test and track it all the way back to a specific feature, and a specific use case variant of that feature.

When a bug in the software is found, you can go into the system to check to make sure it's actually a bug by checking against the feature specification elements. That way you don't have to check with three different people to verify it is one, or even worse search through the stack of story cards.

Each element would also need to be tracked through different versions of the product. When is the feature introduced? modified? removed? A good system could keep track of all of the versioning, and produce a document for any given version of the product.

Sounds like a lot of work to use a system like this, doesn't it? We already do this, we just do it in our heads. Extreme programming actually advocates not writing documentation like this because of how involved it can be the old way -- writing documents for each release and keeping track of changes. It is a lot of manual grunt work to write documents, format them properly, etc.

If you had a system to manage the hierarchy of pieces properly (like a defect management system manages defects), it would be easier. It would also keep people on the same page a lot better! It would facilitate communication just like a defect management system does.

In fact, I think a system like this could be used by a manager just watching the programmers do extreme programming -- it wouldn't have to interrupt the programmers necessarily, but it could become part of the checkin process. As stories are defined and completed they are entered into the system along with a list of the tests that verify them.

posted at May 25, 2004 at 08:51 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (2)

# Blog Comment Spam

I was getting hammered with blog comment spam. A large part of the problem is how easy it is to spam blogs. Comments are wide open and Movable Type blogs are one of the most widely used. So making some spamming software to spam an arbitrary Movable Type blog a) wouldn't be that hard to do and b) would be useful on a high number of blogs. That's the disadvantage of using popular software (like Windows, Outlook) -- it becomes a target.

Why comment spam a blog? Seems like a pretty useless thing to do, but Google scores this blog pretty highly. So if someone puts text on my blog in a comment, that text and/or link will be rated higher in Google. The more links that are spammed, the higher the rating for the linked place. Spammers are abusing this feature of Google to improve their rating by spamming blogs.

The latest spamming attack was pretty unique however. First of all, the spams came in waves of a few hundred but only exactly 15 comments per post. The software writer was obviously aware that Google would penalize links on overly flooded pages. Every comment had a different IP address, even on the same post. So either the IP was spoofed (unlikely) or a group of computers were coordinated to spam my blog (equally unlikely, so where does that leave me? hehe). The IP changed so I couldn't ban a single IP from the flood.

Most of the attacks happened on popular older posts, which because of the linking scoring system that Google uses, rank highly. They either link to a high profile blogger like Scoble or Dave Winer or were linked to by other people. So the spammer obviously targetted the more popular pages, which could have been found simply by searching Google for this blog. Google sorts the links in the results by score by default.

So I started deleting these spam comments. They were a nuissance and often offensive. But then I got attacked twice more by a few hundred spam comments and that prompted me to start looking for a more permanent solution. I discovered that a lot of people were closing comments on older posts so they couldn't be spammed.

The downside of closing comments on a post is that people can't come back months later and make a comment -- they are already closed. That's a small downside however, because usually by then the discussion has finished, or is no longer relevant. The best comments are usually the ones that are made in the first few days after a post.

So that's how I'm going to fight this: just close comments on posts as they are spammed. I've been also trying to get an automatic script working to close all posts older than a few weeks but haven't had luck yet getting it to work.

posted at May 25, 2004 at 07:58 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (3)

# May CD Run Review

I'm going to do my June CD run a week early -- I received a bunch of good recommendations and I'm getting anxious. Before I do that though, I'll go through my May run. I listen to the albums in iTunes which counts the number of times I play tracks, so I can give favourite songs based on those numbers.

The Stills - Logic Will Break Your Heart

I am really enjoying this album. The music is solid but it's probably the drumming and lyrics I like the most. Their second video, Lola Stars and Stripes, was just released. I'm not sure if the New York rock sound is intentional, but it's obvious. If you like Interpol or The Strokes, you'll like The Stills. Best part, these boys are Canadian. The drummer is from Ottawa and the rest of the guys are from Montreal.

Favourite tracks: Still in Love Song, Of Montreal, Lola Stars and Stripes, Changes are No Good, Gender Bombs

The Shins - Chutes Too Narrow

This album took me longer to like, it's not a usual sound. It's rock, but it's not hard rock. Some songs have strong acoustic guitar parts, others are positively country-influenced (Gone for Good). The lyrics, though not commercially digestible, are pretty cool and sometimes goofy. The music itself is fairly simple, sometimes without drums. The band though, is unlike any band I've found myself liking before ... the closest thing I can think of at the moment is Cake, at their simplest. But who knows, I never was a big Cake fan.

Favourite tracks: Mine's Not a High Horse, Young Pilgrims, So Says I, Pink Bullets, Turn a Square, Fighting in a Sack

Modest Mouse - The Moon & Antarctica

Out of all of the May albums, this one is the hardest to listen all the way through. Modest Mouse is one of the strangest bands I've ever listened to, like their go out of their way to be weird ... Presidents of the USA or Beck-like. It doesn't help that the album is a mish mash of influences and musically they are all over the board. That's part of the appeal of the band, though. Once a band settles into their sound they tend to clean it up a bit and focus ... I wonder if that happened on Modest Mouse's latest album, Good News For People Who Love Bad News. If I end up listening to and liking this album more I'll check that one out.

The only song that's anywhere near radio friendly is Gravity Rides Everything, which everyone will recognize from a car commercial. That single is definitely worth checking out.

Favourite tracks: Gravity Rides Everything, 3rd Planet, The Cold Part

Death Cab for Cutie - We Have the Facts and We're Voting Yes

Death Cab's most recent album, Transatlanticism, is one of my favourites of this year. I decided to go backwards four years to see what they were like back then. This album is definitely lower key, less produced and chilled out album than their latest. The tracks play better as an album, where they all sort of melt together in a 42 minute emo haze of all sounding similar. This album will take more patience on my part to appreciate, especially after I get my hands on the next CD, The Photo Album, which preceded Transatlanticism.

Favourite tracks: For What Reason, Scientist Studies, 405

Doves - Lost Sides

If you're a fan of the British band Doves, you'll be interested in this album just to hear more until the next album comes out, which they are apparently recording at the moment. If you've never heard Doves before, they have hard rock moments but the overall mood of their albums is subdued. Most songs sound like they've been put through an electronic wringer as well, so they have a very original sound. For a taste of their style, listen to Sea Song from the album Lost Souls.

The album contains a few songs from Lost Souls slightly modified/remixed plus b-sides. Some songs are just completely instrumental which makes this a good background music album. Lost Souls is a better overall album, however.

Favourite tracks: Darker, Crunch, Break Me Gently (Incidental)

posted at May 25, 2004 at 06:13 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (2)

# Using Ant's FTP Task

I'm going to be doing AudioMan's builds on one machine and uploading them to a web server with FTP so people can download them. The easiest way to do this was with Ant, the tool I use to build AudioMan. After building the project Ant already knows all of the details of the build it just did -- where it is, what all of the files are, etc.

One small problem though: <ftp> is an optional Ant task and requires an external library. What the documentation doesn't tell you is that Ant 1.6 requires a different external library file from Ant 1.5. That's what happens when you read the docs for 1.6 using 1.5, right? :) It would still be nice to know it changed. I Googled for it, and found the info telling me that it changed.

So that's handy, I was using the wrong JAR file. Just for the record:

Ant 1.5 requires NetComponents.jar which you can get here.
Ant 1.6 requires commons-net.jar which you can get here. It also requires the Jakarta ORO JAR file, which you can get here.


Here's a tip for the ftp task: If your Ant file is in a publicly accessible place like an open source CVS repository, you probably shouldn't put your password right in the Ant task like:

<ftp server="someftpserver.com" userid="user" password="god">
   <fileset file="somefile.zip" />

because people will know your FTP password! You're better off using a property, which you can leave blank in the Ant build.xml file and specify at the command line instead. Then the checked in file won't have a password in it and only the people that know the password can use this task. Here's the new Ant file:

<property name="ftp.password" value="" />

<ftp server="someftpserver.com" userid="user" password="${ftp.password}">
   <fileset file="somefile.zip" />

and here's how to use the command line to specify the password and run the ftp task:

ant -Dftp.password=god ftp

posted at May 23, 2004 at 02:41 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (12)

# Baby Steps

A documentary I watched recently called Touching the Void is about a climber who, after falling in a crevasse and being deserted by his climbing partner that thought he was dead, climbed down a mountain to rescue. He broke his leg in that fall and got down the mountain sliding and climbing down with his one good one.

He saw getting down the mountain as an impossible task, but continued to go downward by marking a certain point downhill and getting there in 20 minutes. When he reached that point he would make a new 20 minute challenge. Instead of focusing on a seemingly impossible long term goal, he focused on a possible but still challenging short term ones. Stack enough of those end to end and the long term goal is completed.

posted at May 22, 2004 at 07:47 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (4)

# AudioMan's Second Process

So you've read my previous post on AudioMan's process problems and now I'll go into how I'm going to try to fix them with an established process.


One thing that AudioMan does relatively well is collect quality data. Presently two tools are used to do this: JUnit and jcoverage, unit testing tool and code coverage tools respectively. These tools make it easy to see when the code is starting to get nasty and raise alarm bells to fix it before it gets too hairy.

To improve the use of these tools, I will start doing nightly builds of the project. Combined with small check-ins, the risk of going down a bad road quality-wise is reduced, which in turn reduces the risk of wasted time. Another important aspect is that the nightly builds can be monitored by the project manager with no help from developers. He doesn't have to know how to build the project, he just goes to the project web site to check the results of the nightly builds.

Functional Specifications

Open source projects are notoriously weak in this area, and I think it's important to understand why. A functional spec is a detailed account of how the software performs from the user's perspective. A new functional spec is made for each new official release of the product, building on the old versions of the spec.

This spec becomes the official word on how the software is to perform. Without this specification, you have to go through email conversations and newsgroup postings to find the results of decisions about features. This document organizes these results and could point to the discussions about why the choices were made. So it helps reduce questions about how the software is meant to perform and why. The spec also helps to quickly determine whether a defect is actually a defect or an issue that hasn't been addressed by the spec yet and requires elaboration.

Open source projects don't write functional specs, instead they rely on increased communication through defect-tracking tools like Bugzilla or email, newsgroups, IRC, etc. They also have people who can keep track of subprojects and make decisions unilaterally. These people have the time to answer questions about what's in and what's out. Writing a functional spec isn't a very sexy job for these people, they would rather communicate directly. Again, motivation becomes a factor for open source developers but the communication overhead increases and it becomes more difficult to start contributing.

On large closed source projects the functional spec is used by:

* developers to implement features
* quality assurance people to verify and find defects in the product
* documenters to write help files, release notes and the web site
* managers to plan product releases and schedules

and probably many other things I've forgotten. Can you still be agile and have a functional specification? Yes I believe so. The person writing the functional spec could be watching the developers implement and change features as a third person and document this and coordinate this transition.

In fact, before an iteration takes place a functional specification can be drafted outlining how the new software will perform with the new features for that iteration. The behaviour will be written by the developers themselves when they estimate how long a story will take, and compiled into the functional spec document by the project manager where it becomes the Word of God in the event of a disagreement.

During the iteration the functional spec may be changed slightly to reflect the difference between estimation and reality once the feature is implemented. Developers usually learn along the way, so the process has to account for that. Modifying the functional spec becomes a task throughout the iteration then, and the spec should be in a place where people can see the most recent version whenever they need it. It should also be updated in a timely mannor!

Thoughts on functional specs were inspired by Joel's four part thoughts on the subject.

Update 8:36AM: Here's a first draft of the functional specification for AudioMan 0.4. It makes AudioMan look pretty small. :)

Functional Testing

Functional testing is another neglected area of open source projects. They seem to like to follow the Build-It-Fix-It method for finding bugs rather than proactively searching for them. They rely on enough interested eyeballs to pound defects out of the product. Of course, on closed source projects this isn't an option, and teams of quality personelle are required to do it.

To solve this problem, AudioMan will have a functional testing effort connect the functional spec to the tests that verify it is implemented properly. The goal is to automate as many of these tests as possible so that they can be executed nightly. However, the GUI may have to be tested manually so a GUI Testing Spreadsheet will comprehensively outline all of the tests that have to be verified for each release.

Without the connection between the functional spec and the functional testing effort, corner cases can be missed which lets defects go unnoticed until much later when it is more painful to fix them.

posted at May 21, 2004 at 04:02 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (6)

# AudioMan and SemiAgility

Personally, the AudioMan project is a way for a software process geek like myself to test the means rather than the end. It would be nice if AudioMan was useful to people -- and the features it has and will have are mostly useful to me -- but that is not my most important goal, which is to understand agile processes and quality.

So far AudioMan has kind of been a mish-mash of stuff, which was a result of it being programming driven rather than process driven. Some of it was good and some of it was bad. This is OK in the open source world, where you just brute force a good product out the door at your own pace given enough eyeballs. But in any kind of business environment, it would be too inefficient.

Instead I'm going to focus on working the process to my advantage and try to establish it transparently on this blog so everyone can learn from the mistakes I make. While I'm a fan of the ideas of extreme programming, it doesn't work well on open source projects. I can get into the reasons why on another post, but it mostly has to do with communication overhead and the lack of a clearly sustainable pace. Extreme programming doesn't have these two issues because everyone is in the same room with no cubicle walls and they work 40 hours a week.

Because everyone working on an open source project isn't in the same room, all of the methods of communication are written. Some of it takes the form of email, web site news, newsgroups which is dynamic in the sense that you can't just pick it up and understand the project. The topics change as people run into new problems. You have to know the project to understand the context.

Then there are the documents: a functional specification, technical specification, help files and such. These documents, if written well, can dramatically reduce traffic on the dynamic channels, freeing developers to work on more important tasks instead of support issues.

A lot of open source projects do not have these documents and unfortunately they are the ones that developers like writing the least, mostly because they are a pain to update as the software changes. This is just a reality of making software though, because if you want a lot of users they will need help using and understanding the software. You don't want to give this help to them personally because you'd rather be using the little spare time you have to hack on new features.

Which brings me to a role that very few open source projects distinguish from the lead developer: the project manager. This guy makes sure everything is on track, sees inefficiencies in the process and fixes them. Collects metrics, sees a need for additional communication with users and fills it. He maybe doesn't hack much at all but frees the technical people up to do their best work.

I've seen this role done by the same person as the lead developer role on a lot of projects, and I can see that making open source projects frustratingly hard to keep up -- there's too much management for this one person to handle and he can't get any work done. The one person gets bogged down in process and doesn't have the motivation to continue the project. Since open source projects are done with free time, having motivation is critical. A project manager can enable developers to work with less friction, and work on stuff that motivates them without having to deal with administrative headaches.

So to that end I'm going to establish a specific process for the AudioMan project. The goal of the process is to be sufficiently heavy on the project management end to collect data, interpret it and create documents. It also has to be light on the development side, enabling developers to do their best work while staying inside the process that enables management to enable their light process.

The next post will go into some thoughts on this process, and the tools that will enable it.

posted at May 21, 2004 at 03:30 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (0)

# Bad Words

I'm a big fan of words. I would even go as far to say that I'm a word geek. If I hear a word that I'm not completely familiar with I'll go to dictionary.com and look it up. Not only that, I'll dive into its etymology just out of curiousity. For a guy that doesn't like writing, I sure am a word geek.

There are a few words I cringe at every time I hear them. Here are a few just off the top of my head. I've been meaning to make this post for a while so I could stack these words up. I'll probably update it over the next week as I remember them.

1. essentially. "What I'm telling you is a dumbed down version of something complex. You are too stupid to understand that whole thing, so essentially here's what you need to know that is still able to fit into your feeble brain." There are more subtle ways to talk down to a person. This word is an unnecessary and insensitive prefix to an explanation.

2. offerings. "Company X will add product Y to its list of offerings this spring." This word just bugs me, and it's used everywhere. It's a favourite of technical sites like Slashdot and Ars Technica, where people want to sound like a press release instead of a human being because .... well, I don't know. Why would you want to do that?

That's it for now. Are there any words that get your goat?

posted at May 21, 2004 at 02:20 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (20)

# Motivation

I have really been enjoying Mark Cuban's blog series on "Success and Motivation." Here are parts one, two and three. It's interesting how he got himself motivated: he would drive around nice neighborhoods and look at the houses. Obviously houses like that cost a lot of money, so getting money is the motivator. And success, well success I see as satisfaction of your goals. An indirect measure of success is the amount of money you make to buy the material things or services that you desire.

What happens to people when they run into a lot of money? I'm really curious what motivates Mark now ... is it still money? Does he have "enough" or is he still going? I had this conversation with a friend the other day and she said there is probably a point where you just stop and enjoy it. You have solid investments and start coasting on interest payments.

I can see some people (like Donald Trump maybe) just never stopping. Once they hit a goal, they just make a new, higher goal and continue to accumulate wealth. There's also a power factor that comes with extreme wealth that is probably a motivator as well. So having more power could be the next motivator after you have enough money to buy all of the material possessions you ever wanted.

Then the sidebar to that is, if you work so hard making that money that you burn yourself out and don't have an actual life, how can you enjoy it later? Will you have any hobbies at that point? Will you have friends? Will you be dead of a heart attack? I suppose it's how you define success. I heard Lenny Kravitz on the radio yesterday say that his grandfather told him: "don't kill yourself making a living." Pretty good advice.

OK so ... what if money doesn't motivate you? If you only needed to make as much money as you wanted to survive and maybe buy a few extra things and live comfortably, are you screwed for a motivator? I mean, for most people it's not difficult to get to the survival point. Are money and power the only good motivators?

How about Maslow's self actualization? Well, that doesn't solve the problem because you still need to figure out your personal goals first. So I guess that's step one right off the bat. If you're self actualized in a huge house then you're back to needing money again. If your hobby of choice is expensive, you are back to needing money again. Then you need to balance your job with your self-actualization to make sure you have time to self actualize! The time you spend making money to pay for the hobby takes time away from the hobby itself -- until you retire of course. And by that time you hope you have enough of a pension and savings to pay for your hobbies until you die.

Some people have religious motivations and goals, which I see as a great motivator if you are a religious person. I see a lot of value there too.

So tell me, what motivates you?

posted at May 17, 2004 at 11:58 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (10)

# War Documentaries

I've always been interested in history documentaries, while never having the desire to study history academically. Ancient civilizations, especially Egyptian and Asian, are particularly interesting to me. However, I watched two documentaries recently that really opened my eyes and they were both about American war.

The first was Trinity and Beyond: The Atomic Bomb Movie, a documentary about the development of atomic weapons and the hyrdrogen bomb by Americans and subsequently the Russians. It not only covered the increasing power of these weapons as a major theme but also their consequences as a minor one.

What I had not realised before this documentary is that in later testing atomic weapons were detonated many miles above the earth (though I don't know if it was still in the upper atmosphere or if it was considered "outer space") and that most of this atomic testing occured even before Sputnik was launched or the invention of intercontinental ballistic missiles.

The documentary is absolutely visually stunning, just watching the massive bombs going off and their effects on the ground and the atmosphere. The haunting and aggressive music, performed by the Moscow Symphony Orchestra, adds to the mood of the film tremendously.

The second film was Fog of War: Eleven Lessons from the Life of Robert S. McNamara, a documentary slash interview about Robert McNamara, who was secretary of defense of the United States from 1961 to 1968.

For a man his age (85) he has a sharp memory of the past, and uses it to reflect on what happened what could have been done differently. Especially interesting are his insights on the Cuban Missile Crisis and the War in Vietnam and then meeting with the higher-ups on those countries much later in life and learning their perspectives. It's crazy to think of how these situations could have changed: how things could have been much worse in Cuba and with Russia during the Cold War and how things could have been much better in Vietnam.

He is proud of his accomplishments and realises that many lives were lost because of his decisions but does not regret that. Right at the beginning of the film he says that as long as you learn from your mistakes, it's OK to make them. But he says "there will be no learning period with nuclear weapons. You make one mistake and you are going to destroy nations."

I recommend watching them both, of course. It's almost surreal to watch these films and to think about living in this era, just 40-50 years ago. As a member of generation X it's hard to even fathom it, the Cold War ended before I even knew what it was. But I think it's important for younger generations to understand the mistakes that were made and the lessons that were learned before they are lost or ignored as relics of the past. We need to realise that we're in a much better place now and we need to know why.

posted at May 17, 2004 at 08:14 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (2)

# Movable Type was Free Enough

There has been some hubbub about the new version of Movable Type and it's licensing. Mark Pilgrim does a good job explaining why and I agree with him: we all turned a blind eye to the fact that MT wasn't free as in freedom because it was free as in beer, and that was free enough. The new version is not.

Eventually I will switch this blog over to WordPress, a GPL blogging package, but there is no rush. I see no compelling features other than comment spam control. I recently got hit with over 100 comment spams. :( There is, however, ample documentation for switching a MT blog to WordPress, which is great news.

I'll try out WordPress soon and then switch the other bloggers I host to it as they want to be switched.

posted at May 15, 2004 at 01:15 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (4)

# Agility vs Testing

I have been thinking about the right approach to take with agile software development and testing. If the project demanded high quality, there are two ways that could be done:

1. Test everything as you add it to the system, which is less agile than
2. Adding things to the system and then testing them later

Even with the second approach you could do test driven development (TDD), just not cover every single possible error case. The less testing you do, the less code maintenance there will be and features will get in faster.

This contrasts with the first approach where you try to test everything really well up front to avoid problems later, especially integration problems and subtle bugs caused by errors in corner cases.

Getting the features in quickly is important for feedback, but how good is that feedback if the product is broken? It seems as though a combination of the two should be done: do enough up front testing to avoid the majority of problems but still not too much that it will slow you down.

Then at the end of an iteration for a week you can go through the development you did and add tests to tighten the code you know will be sticking around. Having the discipline to go back and do this would be the hard part, which is why the first approach is much easier to advocate.

Pushing this secondary testing and tightening to a team of quality people is also an option. The upside is that this work can be done in parallel with new development. The downside, and I've mentioned this before, is that the communication overhead increases and developers don't learn from their mistakes if they don't have to test their own code.

posted at May 14, 2004 at 04:52 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (4)

# Sushi and Sashimi Special

I ate sushi for the first time last night and enjoyed it. I never was a big fish eater because my mother doesn't eat fish at all. I still haven't tried lobster or shellfish.

I went to the Takara Japanese Restaurant on Dalhousie Street in Ottawa, a pretty nice place inside. As a student I used to pass it every time I stumbled home after a night on the town but rarely noticed it because it would be closed. The Market is almost two completely different places night and day.

To try some variety I got a sushi and sashimi special, with many different kinds of fish. Salmon, tuna (raw and cooked), shrimp, scallops, crab, clam, egg and probably other stuff I'm forgetting. Only a few were wrapped in seaweed and were filled with rice and fish, not vegatables. I'm not sure if that's still called makizushi.

I had fun using the chopsticks but got used to it. I didn't give up and use the fork, even though the waitress noticed me struggling at first and gave me one. :)

As for the taste, I was really surprised how good everything was. I used the wasabi, ginger and soy sauce very lightly so it didn't overpower the fish. I ate some of the fish plain to see what it tasted like. I was surprised how much it filled me up -- it doesn't look like much on the plate -- but you end up eating a lot of rice. It's not like going out for chicken wings when you need to eat before you eat.

Overall I'd say it was a great experience. The only thing holding me back from going again soon is the price. The special I ate was $21 CAN before tax and tip.

posted at May 12, 2004 at 08:45 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (11)

# IBM's Office Suite Uses SWT Incognito?

It could be considered strange that IBM would announce that they are releasing a "web-based" Microsoft Office competitor (branded Lotus Workplace) and not emphasize the fact that it is based on the Eclipse Rich Client Platform (RCP) and SWT. Are they placating Sun or just trying not to piss them off by bragging about a new platform? It seems like a pretty big loss to SWT, which could use the publicity in its "battle" with Swing for Java GUI toolkit supremecy.

IBM doesn't explicitly mention that it is using RCP and SWT for this ... or did they?

Email client screenshot from EclipseCon 2004 Presentation

Maybe just quietly then. In any case, it's not big news or the emphasis of the article but let's consider points that have been released:

- cross platform (CNET says Linux, Windows, Mac OS X, Unix and handhelds)
- offline use

Which is what RCP and SWT can do and web browsers cannot do well.

You could argue that SWT is an immature third party toolkit. SWT development is driven by mostly by Eclipse and some third party plugin developers. The Eclipse project didn't emphasize the fact that stand-alone applications could be made with SWT and subsequently few have been made. The disadvantage is that if a lot of third party developers start using SWT that could take developer resources away from the Eclipse project's specific SWT goals. The Eclipse project may be done expanding SWT and so the priority is to make SWT a more well-rounded library.

I personally ran into problems with SWT when dealing with file associations in AudioMan. SWT was slightly broken but as far as Eclipse was concerned it worked fine and didn't need to be fixed -- no one even noticed the problem in the Navigator view or elsewhere. Only when many many third party applications start using SWT will all of these minor problems, tweaks and Eclipse assumptions be fixed.

So SWT may still have a long period of tweaking left before it's ready to be used as a general application toolkit, especially on platforms other than Windows, which I've read have had performance issues. It seems as though the other non-Windows platform implementations of SWT are always playing catchup and and don't have all of the features of the Windows version of SWT (Sun sees this as an advantage of Swing, which hand draws all of its widgets). For example, in Mac OS X an SWT Table's column headers don't fire events that can be handled (ie. to call a method to sort the values in the column). On Windows this works fine.

So that may be why the IBM puts cold water on the press releases regarding RCP and SWT: they know it's not completely ready for primetime outside of Eclipse (version 3.0 of Eclipse, which contains RCP, isn't due to be officially released until June 28th) and IBM wants to make a few applications of its own (in the Lotus and Rational software divisions) before opening up SWT to the world. It seems like reasonable business strategy but it could slow the adoption of SWT in the short term. It's probably better to wait until it's baked anyway, so they'll let internal people (and early adopters like me) iron out the kinks before really pushing SWT as a general toolkit for applications.

posted at May 10, 2004 at 05:16 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (0)

# May CD Run

Picked up some new CDs yesterday:

The Stills - Logic Will Break Your Heart
The Shins - Chutes Too Narrow
Modest Mouse - The Moon & Antarctica
Death Cab for Cutie - We Have the Facts and We're Voting Yes
Doves - Lost Sides

The Stills, Montreal natives, recorded this debut album in New York last year. They are friends with and sound similar to Interpol, a relatively new band from NYC.

The lead singer and drummer write all of The Stills songs, with the drumming being a fairly integral part of most songs and that gives a cool feel. It's not unlike the Hetfield-Ulrich collaboration in Metallica, and you can hear the drum influence in that band as well. Ulrich, Metallica's drummer, didn't mind speaking for the band in the least. He was in the public spotlight a few years ago denouncing song downloading, especially on Napster.

The most radio-friendly-sounding song on The Stills' album, Still in Love Song, has a video and it's getting some time on MuchMusic. The Stills also have a few videos of live performances on their web site.

When I listen to the other albums I might write something up.

Recording new albums right now: Interpol, Doves.

posted at May 05, 2004 at 06:32 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (7)

# Blog Comment Spam

I'm having a bit of a problem with comment spam. Whoever is doing it is a real joker, that's for sure. The IP changes every time so I can't ban it. It looks like it's an automated script that switches names and uses a different common quote, but keeps the same site link. It's taking advantage of the fact that MovableType sites all look the same, so spamming comments is quite automatic.

It's also taking advantage of Google's PageRank system: the more links to the site they have, even in people's blog comments, the higher the rank of the site in Google. It's pretty slimy but not even close to illegal. PageRank is a blessing and a curse.

The trick, I think, is to make it not worth their while. I'll try to change the commenting just enough so that making a custom comment spammer just for this site wouldn't be worth their effort.

If that doesn't work I may have to upgrade to MovableType 3 beta and only allow registered commenters. I don't want to have to do that because I want to encourage feedback but I may have no other choice.

posted at May 03, 2004 at 04:37 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (8)

# iTunes Playlist Algebra: Ask and Ye Shall Receive

Remember that iTunes Playlist Algebra feature idea I talked about not six weeks ago? Well the new version of iTunes (4.5) has it. It would be nice to think I had a hand in it, but I seriously doubt it. :)

So that's pretty cool. I have my static playlist called "albums" that I manually add albums to. Then I have another smart playlist (which is dynamic) called "singles". The singles playlist rule says "give me all of the songs that aren't in the albums playlist".

That's all of my singles, my friends! So now I can manage all of those stray singles. Awesome. I also found a few albums that weren't in the album playlist and should have been. Now I just have to figure out one thing:

Library size: 792 songs
albums playlist size: 590 songs
singles playlist size: 205 songs

Pretty strange eh? I must have three duplicates in the album playlist somewhere. OK, next request: allow a setting so a given playlist cannot have duplicate songs. :)

posted at May 02, 2004 at 12:57 PM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (0)

# Google Payz Me

It's been a month since I started using Google's AdSense program and I'm satisfied with the results. While I can't divulge the details (it's part of the contract I agreed to) I can say that the Google AdSense program paid for my hosting this month -- not just for this site but all three of them.

It's nice to be able to run a personal web site and not have to worry about paying for it. The ads aren't intrusive and are optional to click on, and I only get paid if people click. It's working out well for me so far -- as readers of this blog how do you feel about the ads?

posted at May 01, 2004 at 08:28 AM EST
last updated December 5-, 2005 at 02: 2 PM EST

»» permalink | comments (12)

Search scope: Web ryanlowe.ca