Housework....

With our driveway finally done, we decided to start working on our front landscaping yesterday. The first step was building our stone retaining wall. We still need to put on the cap blocks, but we're waiting until I can get a block saw so the edges of the blocks can be cut cleanly. But hopefully the initial results are good looking :)

Before:

After:

Sam – Sun, 2006 – 06 – 04 14:41

Finally!

Ever curious what about $5000 can get you? Check it out:

20060517 Driveway Installation

Those lucky enough to experience the mix of dirt/asphalt/gravel/rock that was our previous driveway can understand my excitement. We widened it by about 2.5 feet and added a flare at the end. We need to figure out what to do on the edges now to blend in the grass, but I love it.

Sam – Thu, 2006 – 05 – 18 21:16

Programming Kata

Well, the progress on my ruby on rails version of this site has slowed down a bit, but I can't decide exactly what I want to do yet. I've got an "ajax" version of a blog written that is actually pretty slick, but it's the other content elements I'm still working out. In the interim I've inspired lately to get back to my roots and get some programming exercise.

My first assignment? Implementing the 5th kata from that site, bloom filters. I opted to start with a ruby implementation because, well, ruby is damn fun to code in. Here's the first installment:

Bloom filter in ruby

Sam – Sat, 2006 – 04 – 29 12:30

Melding of art & computers

This is a really cool application of computers in the art world:

http://hehe.org.free.fr/cleverbrix/index.html

Sam – Sat, 2006 – 04 – 22 17:09

Rails photo galleries

So my new site will be written using the Ruby on Rails framework. It's very nice to work with, but I'm having a hard time finding a photo gallery viewer that I like to use. So far I've found two:

1. rgallery
2. Gullery

rgallery sounded very promising because it tries to be a port of Apache::Gallery (which I used on the previous site) into the rails framework. It has the notion of albums and all that of course. Also, despite being database-powered, it seems to let you upload photos into a directory, and be able to "suck" them all in using a single operation. One of the nicest things about Apache::Gallery was I could just dump pictures into a directory on the server. Then it would automatically "create" an album for my pictures based on the folders I setup. This meant there was no uploading each picture one by one using a web form, which is a pain to do.

Gullery is an ajax-oriented gallery that is simpler and better designed, but it does a lot of DHTML junk that I don't really need. For example check out Geoffrey Grosenbach's site for an example. Viewing a picture involves darkening the frame of the browser, and presenting the photo in a modal fashion. I thought that was kind of neat when I first saw it, but really it's too much. You can't easily select the size to display, and traversing a gallery of photos involves too much clicking. Also, the design of this app forces you upload your pictures using a web form. So I'd have to do some tricks to easily migrate my existing photos over.

However it's not very friendly towards integrating into another site. This is something I'm finding to be a problem with the rails framework. Once someone creates an "application" it's often got everything it needs to to function included. So if the photo gallery needs user authentication, it will include all of that. Now if I have that already in my site and just want to integrate the gallery there, I've got a lot of work to pick out just the pieces I really need.

The more I search for what I want, the more I just want to write my own system to do what I want. I'm thinking that's going to have to happen.

Sam – Sun, 2006 – 04 – 09 14:34

Upgrade in progress...

If you notice some strange things it's because I'm slowly upgrading to apache 2 in preparation for a new site I'm working on.

I can't wait :)

Sam – Wed, 2006 – 04 – 05 02:49

To iPod or not to iPod...

Recently Shannon and I were on a mission to find a portable music (mp3/wma/ogg/whatever) player for under $100. I've recently started running again, and I've found now that not having to listen to how heavy you're breathing does make it a little easier :)

So I did some basic research and found two players I was interested in. The first was the (infamous) iPod Shuffle, and the second was Creative's Zen Nano Plus. Shannon liked the iPod, but I was leaning towards the Zen for a couple of reasons:

1. It's got twice the space.
2. It has an LCD screen.
3. It had an FM tuner built into it.

Now, for those options you jumped from the $70 price of the shuffle to about $110-$120 depending on where you looked. Seeing as we wanted to keep things sub-$100 things didn't look good for the Zen and we opted for the shuffle. In all fairness, Creative does make a version that is price-matched with the shuffle, but it lacks the FM tuner and only has 512M of space.

So after owning the shuffle for a couple weeks there are a couple of things I really like about it, and a few I hate. Let's start with the good things first:

1. It's amazingly small and lightweight.
2. No external battery!
3. The lack of an LCD wasn't the problem I expected.

As I said, the main reason I bought this thing was for my running. The shuffle is so small and thin that I can actually toss it in my shorts pocket and forget it's there. The headphones cord that comes with it is plenty long for this purpose and the headphones themselves don't fall out of your ear (even while running). I have noticed that now the black foam coverings tend to slip off a bit too easy when taking them out of my pocket though.

Along the lines of weight, the lack of a AAA battery is actually quite nice. In the time I spend organizing songs (more later) the shuffle has recharged to the point where I don't need to worry about it. I have to admit it's nice to not have to worry about replacing the battery at some inconvenient time. Let's just hope the shuffle doesn't have battery problems like some of the older iPods did.

I really thought the LCD on the Zen was to be my breaking point, but really I haven't missed having a screen. The Shuffle only has 512M of space on it, so you're talking about 5-10 hours of stuff (esp if you have low-fidelity podcasts). Given I bought this for running, and my runs are anywhere from 30-120 minutes long, this is really a moot point. I usually setup my playlist just before I go, so the ordering is fresh in my mind, and navigating it using the simple buttons is easy.

Now, what don't I like about the shuffle? iTunes. Seriously, iTunes blows ass. Big sweaty ass. Why am I so harsh on it? Cause it deserves it, that's why.

My main problem with iTunes is it makes an assumption that your music collection is a pristine work of ID3 art. It organizes your collection by artist, album, genre, etc using the tags in your mp3 files. Now if you get all your music from Apple's music store, then perhaps this information is not only present, but vetted for correctness. But let's be realistic here, not all of our music is like that. And when things are missing, it's a bitch to find exactly what you want. What's so hard about letting me use a folder-heirarchy to organize my music and have iTunes understand that?

Another gripe is that you aren't allowed to drag external files directly into the attached shuffle. You have to drag them to either your library in iTunes, or to a custom playlist first. This is where the lack of ID3 information makes things a pain. Once you drag it in, iTunes will sort if how it likes based on ID3, and it's up to you to find it again. The playlist option is the only way I've found to make this easy. I can't imagine using iTunes to manage a collection of any decent size.

Finally, I hate the DRM involved in all this. I debated for a long time about whether I liked supporting Apple's DRM shit by actually paying for a shuffle. In the end I can still use mp3's that I already own on it, and I'm not forced to use songs from Apple's store. Given the small amount of space trying to transfer files isn't really an issue for me either. In the rare cases where I need to extract my songs to another machine, partial solutions like EphPod exist. It's not a perfect solution, but it's enough to be functional.

So am I glad we got the Shuffle? Considering the purpose we bought it for, yes. I would have really liked the Zen Nano I think, but that extra $40 was just too much for some features I didn't need to have. For $70 the shuffle is a pretty cool piece of tech.

(but seriously, screw iTunes)

Sam – Tue, 2006 – 03 – 28 04:04

We'll miss you...

This morning I got an email from my mom letting me know that my grandma, Louise Storie, was showing signs of death approaching. She had been suffering from Alzheimers for the last few years. Despite that she was able to make it to both mine and my sister's weddings this past year:


A shot of my grandma, my aunt Margaret, Shannon and me.

Shannon and I arrived at North Ridge Care Center at about 1 or so this afternoon. My grandma was breathing, but with a lot of difficulty. They were giving her doses of Roxanol (a morphine brand) on two hour intervals to ease the pain. I could notice that by two o'clock her breaths were increasingly shallow and further apart. By this time she was with my dad and mom, her son Ken and his girlfriend Claudia, her son Craig, and her daughter Margaret. I mostly listened to anecdotal stories they were all telling, until points where all I could hear was her breathing; slowing down. I'll never forget the moment that the sound of her breathing was replaced by the birds chirping outside. At about 2:15 we noticed that there was no longer moisture appearing in her oxygen mask. At 2:20, with Margaret holding her, and all of us with her, Louise decided it was time to let go. Bill was surely there waiting, ready to hold her hand as she left this world:



My mom recently said that when a spouse dies, the other living one just knows that's it's okay to leave. After what's happened in the past few weeks, I can't say I have any argument to that theory. My grandparents went through something that I wouldn't wish on my worst enemy. Now that's it done, I'm just glad I got the moments with her that I did.


Rest in peace Grandma, you deserve it.

Sam – Fri, 2006 – 03 – 10 02:32

Winamp Shoutcast column confusion!

Like many people I use Winamp to listen to mp3's and shoutcast stations. I usually don't like apps that try to integrate "the web" into themselves, but winamp does something I do like. The winamp media library has an option to display shoutcast stations directly within itself:

Notice it has columns that describe the different attributes about each station. In this case we can see the station name, what's playing now, and how many listeners there currently are. Where this is really nice is when you sort the listings based on a column; such as I've done in the image using the number of listeners. This keeps the most popular, and more importantly those I like, near the top.

So what's the point? I mean this kind of stuff is available in basically any of these apps right? Well winamp lets you resize the columns as you see fit, even effectively removing them if you size them to zero:

See how I only have one column now? Also see that's it's sorted by the name alone now? I've lost the ability to sort the stations how I want. The problem I ran into is how do I bring those columns back?!

I can't find a way to do it through the winamp GUI, but here's what I've discovered. The width of those columns are stored in a file located at:

C:\Program Files\Winamp\Plugins\ml\radio.vmd

Here's what mine looks like after shrinking down all but one of my columns:

The values affecting us are the radio_col_* entries, and we can see how all but the radio_col_name line have zero for a value. This is telling winamp to give them zero width when it starts, effectively removing them. To get them back we just need to edit this file and put back some non-zero values for the columns we want. Once you do that you'll be able to size them in the GUI to whatever you want.

Sam – Thu, 2006 – 03 – 02 00:29

Visual Studio 2005 Installation project woes

I've been diving into Visual Studio 2005 lately. Partly because it's where we're going at work, but also because programming is becoming more interesting to me. So in my travels I was happy to discover that they've improved the installation projects available in the latest version. It always puzzled me how systems such as NSIS had to be created when something like Visual Studio exists. Don't get me wrong; NSIS rocks, but why do I need a 3rd party program to do advanced installations? Visual Studio is a kick-ass IDE to create programs in, but then they give you shit when you need to actuall install them. Well in the 2005 version things have gotten much better...if you're careful.

With an installation project you have several options for your installer. One is the ability to uninstall a previous version when installing a new one. Many of my apps are fairly simple (designed for one purpose and to do it well), so this is something I want to use. Well, a problem arises when you divert from the default settings when versioning your installer package. Allow me to digress for a second...

I'm not a big fan of getting wrapped up into version numbers. My apps start at 0.1 and work up with consecutive .X releases until they've been proven. For example, at work I've got an app that is proving to be really useful, and solid, and it's at version 0.5. After 0.9 it'll go to 0.10 and so on.

So I versioned my installer project to be .1 and thought all would be well. Well, when I went to install a newer version of my app I up'd the installer rev to 0.2 and ran the installer. It did in fact install correctly, but it left the old installer entry in the Add/Remove Programs list. Even worse, unless you view the support information, it's difficult to tell what version is which.

It turns out that when the project is building your .msi installer package it hard-codes what versions to consider when uninstalling previous installations of your installer. What bit me is that the lowest version it considers is 1.0.0.0! So the installer never even saw my old installation and thus didn't remove it. This is a silly restriction if you ask me, and luckily you can edit the msi tables using the Orca program. For now though, I decided to bite the bullet and start my installer versions at 1.0.

Sam – Wed, 2006 – 03 – 01 23:57