Blogging from the train

My parents moved up to Cameron Park which is near Sacramento, a 2-3 hour drive from where I live in San Francisco. I also sold my car back in April, which makes getting up there to visit them an interesting event. Over Thanksgiving I rented a car to get there which ends up being a little pricey (but still costs me a lot less than if I owned a car).

Anyway, I wanted to make another trip up there to help them move into their new house, and so I thought I’d try the train. I assumed I’d get some work done on the ride up, something I definitely couldn’t do if I was driving, but I was having too much fun watching the view out the window.

The Delta, from the Train

Here are a few things you can expect to see if you take the train from Emeryville to Sacramento:

  • Sweeping views of the north bay. The train snaked along the edge of the bay for 45 minutes.
  • Lots of piers, many in various states of decay
  • A unique view of the Oil Terminals in Richmond
  • Fisherman fishing on the bay
  • Views from below the new Carquinez Bridge
  • Sweeping views of the Delta & Central Valley

The Bay, from the Train

The funny thing about living in the Bay Area is that you don’t see the bay very often because it’s obscured by buildings or hills. Even on the bridges, you don’t really get to see the bay because the railings are quite high. If you take a ride on this train, you’ll get some of the best views the bay has to offer.

There is a down-side of course. The train isn’t the most convenient way to travel. Just getting to the Emeryville train station probably took me an hour, and then the train was late. The train ride itself will probably be another 2 hours, and then I still have to get picked up in Sacramento, so now add another 1/2 hour to get to my parents house. All told, the journey will probably be about 4 hours, when driving takes between 2-4 hours depending on traffic. $18 one way isn’t bad though…. I’d probably have to pay $130 to rent a car for two days. Considering I got to enjoy the view and relax instead of stressing out in traffic, I think it was well worth it.

ThinkHost: Green web hosting & other ways to become carbon neutral

I was recently introduced to ThinkHost. I use DreamhHost now for this blog and my personal email, but I like the fact that ThinkHost is powered by 100% renewable energy.

Maybe my New Years resolution for 2007 will be to become as carbon neutral as possible. A few things I’m already doing to try and be carbon neutral:
* When I fly, I offset my carbon output with one of the many offerings out there
* When I still owned a car, I bought a TerraPass.

Some things I’m not doing but probably should:
* TerraPass has a home offering as well now, to offset the energy consumed in your home.
* GreenDimes aims to help you reduce the junk mail you get from the USPS.

I’m sure there are other ways to lower my carbon footprint. Any ideas?

Man invades night club with snakes

Jason’s birthday was almost 2 months ago, but I still thought this was worth posting. Classic Jason style, his birthday party consisted of having burritos at Cancun and then off to “the club formerly known as The Top” to listed to Drum and Bass.

Jason & Chris at the Top

I think we were there for no more than 20 minutes when this guy with a bag of snakes sits down next to us and starts putting slithery critters on us.

Snakes eat Chris

Not only did I survive, but I think I’m no longer afraid of snakes. I guess facing your fears after you’ve had a good burrito, several drinks, and Drum and Bass pounding in the background really works.

Thanks for the photos Junie!

Purcahse from The Madson Line at your own risk

I’ve been having some really terrible problems with my powerbook lately. I’m fairly certain this is the result of a faulty power supply from The Madson Line. I’m no electrical engineer, but I am very experienced with computers, and I’ve been a programmer for a while so I know a thing or two about logically deducing the sources of problems. In this case, I’m fairly certain a power supply from The Madson Line caused physical damage to my Powerbook that I’m still dealing with. If you read the letter below I sent to them, you’ll see that it’s pretty much impossible to find contact information for this company on their own web site. I’ve included the contact info I’ve dug up so that anyone else looking for it might be able to find it from the search engines. Also, I’ll update this entry with the outcome of my customer service request.

The Madson Line contact information:
Phone: 800-851-1551 (verified)

Address I was told to send defective product to:
1110 West 9th St
Upland CA, 91786

Another Address I found (unverified):
Madsonline 100 Ebbtide Building 2
Sausalito, CA 94965

Letter to customer service:

Dear Sir or Madam,

In mid August, the power adapter for my G4 17” Powerbook began to show signs of imminent failure due to cord fatigue. Given the poor reputation of this Apple product, I decided to look for alternatives. I found a favorable review of The Madson Line 65W adapter, and decided to give it a shot.
When I received the new power adapter from The Madson Line, I immediately began to have problems. The first problem was that while the plug was charging my Powerbook, and the plug was rotated to certain angles under normal usage, an audible arching sound could be heard. While this condition was alarming, it was also intermittent, and so I didn’t think much of it. I was hopeful that this $100.60 product (after shipping) would perform better than the Apple power supply.

About two weeks after I began using the new power supply, two new issues appeared. First, while the Madson Line power supply plug was rotated to certain angles while plugged into the Powerbook, charging actually stopped. It was at this point that I realized this power supply was likely faulty, and I went ahead and ordered a genuine Apple power supply. The second issue turned out to be much more serious. Shortly after the latest charging issue, my hard drive began to have read errors, and the operating system crashed several times. This quickly led to a situation where I was unable to boot my operating system. Running apple hardware tests indicated a hard drive failure, so I quickly spent $200 on an external hard disk and managed to recover most of my data. Eventually, I purchased a new hard disk to replaced what I believed was a faulty drive. Unfortunately, even after the drive replacement and switching over to utilizing the Apple power supply, I am still having hardware issues and operating system crashes which I currently believe may be mainboard related. It is now over 2.5 weeks since the initial hard drive failure, and I am still living with the consequences. I am a small business owner, and even though I can’t afford it right now, I am forced to purchase a new laptop so that I can continue building my fledgling business without constant risk of data loss.

While I cannot prove it, it seems likely that The Madson Line power supply has caused my issues. As such, I decided to contact your company to request at a minimum that I receive a full refund for the faulty product. It was with great surprise that I was unable to locate any contact information on your web site, In fact, if you click on ‘RMA Information’, ‘Tech Support’, or ‘Sales Inquiries’, you are redirected to a completely unrelated page.

It’s almost as if you don’t want anyone to be able to contact you if they have problems with your products. After much difficulty, I was able to find a phone number to contact your organization (800-851-1551). I suppose it shouldn’t have been a surprise when the man on the other end was caught off guard when I asked to return the faulty power supply. The man said he had to make up an RMA number because he didn’t have a log book in front of him. After explaining my situation , not including the hardware problems I experienced, the man said I would only qualify for a product replacement because it had been more than 30 days since purchase. I informed the man that I only wanted a refund because I believed the product had caused hardware failures for me, and I had purchased a replacement power supply already. After all, how long can you use a laptop without a power supply? Again, it shouldn’t have been a surprise when the man said he was tired from long day, and didn’t want to discuss this over the phone, and I should just send in the product with a letter stating the situation. I understand that people are tired from working long hours, but I’ve been going through hell dealing with hardware problems for 2.5 weeks.

I request the following from your organization (all numbers include tax):
1) A full refund for the faulty power supply – $100.60
2) Reimbursement for the external hard drive I purchased to recover my data – $216.99
3) Reimbursement for the internal hard drive I was forced to purchased in an attempt to fix my laptop – $128.32
4) Reimbursement for whatever it costs to repair my laptop – Unknown cost at this time

I eagerly await your reply, and will follow up on my blog with the results of my customer service inquiry:

Sincerely yours,

Chris Kohlhardt

update: I received a letter postmarked October 10th from MadsonLine. The tone of the letter was mostly apologetic, but not exactly taking responsibility for my claim that their product ruined my computer. I’m probably giving them way too much of benefit of the doubt, but it’s certainly possible the problem I experienced wasn’t from their product. They did include a check for a full refund at least, so that’s something. I’m still not terribly happy with the way I was treated on the phone. Very surprising was that the person who I thought was rude to me on the phone turned out to actually be the owner of the company. How can you run a successful business when you treat your customers like that?
Anyway, I think this is still one company whose products I’d steer clear of in the future.

San Franciscans dig the World Cup

Can you pick out the big screen among the sea of people?

It seems to be common knowledge throughout the world that Americans could care less about the World Cup. After watching the final match between Italy and France at Delores Park here in San Francisco, I’m not so sure that sentiment is true. I took a few pictures with my camera phone, and as you can see, LOTS of people turned out to see the game which was displayed on a fancy LED screen. I’ve never seen this many people in the park before. Afterwards, the Space Cowboys provided beats to finnish off an amazing summer day. More Flickr photos here.

Adventures in tracking down a memory leak in Gliffy

Gliffy was noticeably slowing down when used for an extended period of time, and we suspected a memory leak was the cause. Fortunately, the fine folks at Laszlo have built some excellent tools into the debugger which make tracking down such issues a heck of a lot easier.

Our adventure begins with a look at the docs which discuss hunting down memory leaks. Using the procedure described in the docs, I discovered that the objects which represent undo were not being picked up by the garbage collector. Objects will not be picked up by the garbage collector if any references to those objects exist.

Laszlo Debugger

Another interesting thing I noticed was that the class definition of undo did not explicitly extend another class. When a class definition does not extend another class, it is implied that the class extends <view>, NOT <node> as you might expect. In this case, our undo object does not have a visual component to it, and as such what we really want is to extend <node>.

If you’ve instantiated Laszlo objects at run time before, you know that the first argument of the constructor is the parent node of the constructed object. In our case, it didn’t really make sense for the undo object to have a parent, and thusly none was defined. If you take a look at the source code for (in the source distribution) you’ll see that when a parent is not defined in the constructor, the canvas is assumed to be the parent.

Ah-hah! We’ve found where the reference to our undo objects were coming from. Simply checking the contents of canvas.subviews in the debugger offered verification. Further investigation revealed that constructing a <node> without an explicit parent does not cause the canvas to be defined as the parent. Thusly, by simply having our undo class extend <node>, I was able to fix the memory leak. Yay!

Lessons learned:

  • Always extend <node> if there is no visual component to the class you are defining.
  • When instantiating subclasses of LzView at run-time, be aware of the implied parent if you don’t supply your own.
  • PairProgramming or code reviews probably would have caught this issue in advance. Even busy little start-ups should be taking the time to implement good code review practices.

Plantronics Voyager 510: A pretty darn good Bluetooth headset

As a follow up to my review of the Motorola E815, I wanted to share the good experience I’ve had with the Plantronics Voyager 510 Bluetooth Headset. Not only does the Voyager 510 work well with my bluetooth phone, but it also works great with the bluetooth on my Mac when using skype.

Before I tried the Voyager 510 , I was skeptical that the sound quality of a bluetooth headset would ever be good enough to replace a wired headset. I had a little evidence to support this fact. For starters, I borrowed a friend’s headset, which I believe was the HS-850. I wrongly assumed that this top-of-the-line headset produced by Motorola would be the perfect match for my Motorola phone. Unfortunately, I found the audio quality was poor, with that tin-can sort of sound. People on the other end could hear me as long as there wasn’t any other noise around, but it all seemed very fishy. How the heck do those little mics work when they are so far away from your mouth anyways?


Enter the Plantronics Voyager 510 The earpiece is kinda like an ear bud, and gets pretty far into the ear canal. This configuration gets the sound a lot closer to the eardrum, and increases the sound quality quite a bit. Next, notice the long rubberized cushion that doubles as the battery back and the hanger-on-the-ear piece. I believe the large surface area of this part enables the headset to stay comfortable even after long periods of use. I’ve been on a few 3 hour conference calls with this headset, and never had the urge to rip the headset off my ear because it was painful. Finally, the mic is on the end of a small boom which seems to help a lot with sound quality for folks on the receiving end. Lyla has even told me that she thinks I sound better when using the Voyager 510 than when I use my cell phone alone. In fact, Lyla is getting a Voyager 510 for herself since she likes mine so much.


The Voyager 510 features “Multipoint Technology”, which is supposed to mean that you can pair two different connected bluetooth devices at the same time without too much trouble. I’ve been connecting the Voyager 510 to my Mac via bluetooth as my skype headset, and it’s been working pretty good recently. When I first started using the headset with my Mac, I did run into a few odd problems where skype wasn’t able to pair with the headset, but I suspect that was a problem that’s been resolved in a recent OS X update as it’s been working flawlessly recently. Remember those 3 hour conference calls I referred to previously? Those were all over skype. Not bad I say, not bad.

Minor gripes

As glowing as my review here is, there are a few minor issues. I miss the way the HS-850 instantly connects to your phone when you open the headset. It’s also a little annoying that I have to use a separate charger for the headset. Some of the newer Motorola headsets allow you to plug into any USB port for charging, cutting down on the amount of stuff you have to carry with you when you travel.

wrap up

I could go on and on, but I think you get the point. The Plantronics Voyager 510 does the trick.