Review: Brenthaven Metrolite XP XF Backpack

I’ve been pretty cheap when buying laptop bags over the years never spending more than $35 on a bag and usually getting one at Fry’s or even Ross. That is, until recently.

My previous laptop bag was a Belkin Backpack and held up pretty well for several years. In the last few months, I noticed that the material on the handle was starting to come off. Considering I don’t use the backpack all that often (I only use when I travel and I go on less than 10 trips a year), I was a bit disappointed. So I started a cursory search for a new bag. Nothing really caught my eye and it wasn’t high on my priority list.

On my last return trip from Portland, I went through the usual pat down at security (I always opt out of the full body scanners due to lack of concrete, non-biased evidence about them) and when the TSA officer grabbed my stuff, he piled my container with my shoes and junk on top of the container with my laptop. This had been done before, so I wasn’t concerned. After my groping, I mean, pat down, I put my shoes on, emptied the top bucket and when I picked up my backpack it felt kind of like. It was only then that I noticed I hadn’t lifted up the bucket and grabbed my laptop. While it wasn’t a truly close call, it was enough for me to speed up my search for a bag that would allow me to leave my laptop in it; I had read about butterfly style/X-ray friendly bags so that is what I wanted to so I didn’t almost make that mistake again.

The choices for this type of backpack were pretty minimal, so I kept searching and comparing styles and weights of backpacks. I came across the Brenthaven MetroLite BP XF Backpack. I had always considered Brenthaven backpacks expensive as I had only previously spent up to about $35 on a bag. I found the backpack on Amazon for $70 and ordered it. I was very excited to get it (don’t ask me why a backpack got me excited as I have no idea). The backpack arrived and I loaded it up with my standard gear. It seemed a little tight, but I realized that was because my last bag was pretty much a pit where I just shoved stuff. My standard gear consists of a 15″ MacBook Pro, an iPad, a power supply, an Energizer XP18000 external battery, some iPhone cables, a cable for the battery, iPhone and iPad charger, noise canceling headphones, and an extra pair of headphones (with microphone). It is a lot of stuff, but I always have what I need for any trip.

Now that everything was in the bag, I was ready to travel. I just got back from another trip to Portland were I used the backpack and didn’t have to take my laptop out at both ends of the trip; I just unzipped the center zippers, unfolded the bag and put it on the conveyer belt. Perfect, it worked as designed.

I did a little bit of walking in Portland to get to the office and my hotel and the backpack was quite comfortable despite the 2.6 lbs for the backpack, 6 lbs for the laptop, and then whatever the rest of the components weighed.

So far, I’m quite pleased with the backpack. It is carrying all that I need, was easy to use at the airport, and was pretty comfortable. With the Brenthaven guarantee for life, this could be the last bag I purchase. I am extremely pleased with the backpack and should have spent the extra money on it a long time ago.

Pros

  • X-Ray friendly.
  • Adequate storage for power supply, iPad, charger, etc.
  • Lots of padding for a 15″ MacBook Pro.
  • Comfortable straps.
  • Lifetime guarantee.
  • Non-fabric covered handle won’t wear down.

Cons

  • A little heavy. The weight without gear is 2.6 lbs; I would like to have had it around 2 lbs. The extra zippers and some of the pockets add a little weight.
  • Slightly more expensive than the run of the mill backpack.

Summary

I’m not sure why I waited so long to spend a few extra dollars to get a quality product. I am, however, happy that I waited for a version that makes it easier to go through security at an airport as that is one of the reasons I put my laptop in a backpack. There is lots of padding and enough storage to hold all my gear. If you like backpacks and travel even a few times a year, I’d definitely consider this bag. Luckily there weren’t more choices out there or I may not have found such a good back (I would have been cheap and not spent the money on it).

Growl and Mountain Lion’s Notification Center

One of the neat features of Mac OS X 10.8, Mountain Lion, is the notification center. Having all notifications is cool and when I saw Hiss, a replacement for Growl, I immediately installed it and loved it for a few minutes. However, it has one major flaw and that is it doesn’t have an AppleScript dictionary so SuperDuper! gets hung up at the end of copies because it tries to send an AppleEvent to Growl and a have a script that posts notifications of new email from Outlook.

I went down the path of creating a replacement for Hiss and got the AppleScript part going, but didn’t bother with the Growl part. So now I had 2 incompatible halves of a solution.

Then I started poking at the Growl source and figured that I could just write a plugin (Mountain Lion only) that posted the notifications. About 20 minutes later, my plugin was complete.

You can download my plugin here.

Unzip the file, double click it and set it as the default style. There are no configuration settings. This requires Growl 1.4 available on the Mac App Store.

This plugin comes with no warranty nor support. The next version of Growl will eliminate the need for this plugin, so you’ll want to remove it when the next version of Growl comes out.

If you like this, please consider sponsoring my wife in the MS Challenge Walk.

Enjoy!

What is my job?

When people ask me what I do, I say that I’m a software engineer as it is pretty easy to grasp and basically means I write software. However, what I really am is a software architect. How does this differ from an engineer? It means I do a lot of things outside of writing software. (I won’t get into the debate about programmer vs engineer as that is a topic for another day.) A colleague of mine pointed my to a great description of a software architect. The author, Chris Eppstein, kindly let me repost his list.

A Software Architect

A software architect lives to serve the engineering team — not the other way around.

A software architect is a mentor.

A software architect is a student.

A software architect is the code janitor. Happily sweeping up after the big party is over.

A software architect helps bring order where there is chaos, guidance where there is ambiguity, and decisions where there is disagreement.

A software architect codes the parts of the system that are the most precious and understands them through and through.

A software architect creates a vocabulary to enable efficient communication across an entire company.

A software architect reads far more code than he or she writes — catching bugs before they manifest as systems change.

A software architect provides technological and product vision without losing sight of the present needs.

A software architect admits when he or she is wrong and never gloats when right.

A software architect gives credit where it is due and takes pride simply in a job well done.

Review: Mophie Juice Pack Plus

In the last 2 years that I’ve had an iPhone 4 and now an iPhone 4S, I’ve never been able to heavily use it when I travel and have it last all day. I have external batteries that I’ve had to put in my pocket to charge it which is awkward and not convenient. Last month, I decided to do some research and see about buying a battery case for my iPhone. Of course, this has the major disadvantage that when the iPhone form factor changes, I have to get a new case.

After reading some reviews, I decided to go with the Mophie Juice Pack Plus as it got pretty good reviews, has a large battery and offers some case protection. The next hard part was trying to figure out where to get it. On Amazon the price was about half of everywhere else. However, a bunch of the reviews were mixed and after pouring through pages and pages of reviews, I determined the issue. Some of the vendors are selling counterfeit cases and it seemed like a risk to get one and have no idea if it was real. Instead, I found a coupon for a company called outfitYOURS.com. After the coupon, I got it for $80 including shipping and it arrived quickly.

I’ve now used the battery on 2 trips; one a week long in San Francisco and a 3 day trip in Portland. During both trips, by late afternoon of each day, my iPhone was down to about 20% charge and I flipped on the Mophie and it started charging the iPhone which let me make it to the end of the day. The case does what it is advertised to do and doesn’t add too much bulk to my phone, however, when switching back to my normal case, I am able to feel the difference in the thickness. The case appears to be well made and my phone easily slips into it.

The case charges via MicroUSB and charges my iPhone as well; I had no problems with the charging. My only issues with the case is that one day after I flipped the case on to charge my iPhone, my iPhone shutoff a few hours later once the Mophie’s battery had depleted. I’m not sure if this was related to the Mophie or not; however, I’m now more careful and when the iPhone reaches 100% charge, I turn off the Mophie.

So far it has done exactly what it was intended to do and I’m going to take it on all my trips.

Pros

  • Provides enough extra juice to last an entire day.
  • Case adds some level of protection.
  • Charges iPhone and case simultaneously.

Cons

  • It uses a MicroUSB plug for charging; while I realize that this was done because of space, I dislike MicroUSB as it is hard to get the plug in.
  • It adds some bulk to the phone.
  • A little expensive.

Summary

If you find that your iPhone doesn’t last an entire day, the Mophie Juice Pack Plus is definitely a good solution. If you decide to buy from Amazon, be careful that you don’t get a knock off. I’d hope that the iPhone could last a day, but if cell coverage is notoriously bad (like San Francisco) or you get a lot of email (push especially), then a battery like this isn’t a luxury, but a necessity.

Obvious solutions are often overlooked

Our rental house was built in the 1950s and they did things a little different then things are done today. We noticed that the drain in our shower was draining very slow. After a plumber came out and snaked the drain and the vent, things didn’t improve. The plumber said that the drain was a 1.5 inch pipe whereas most drains are 2 inch.

So what were we to do? Every time we took a shower, the water would fill up the basin (it’s a small shower). One day I decided to muck with the shower head and reduce the water flow. Once I did this, I noticed that the shower didn’t fill up as quickly. I mentioned this to my wife and she said that if she turned the handles such that less water was coming out, she saw the same thing. I adjusted the shower head a bit more and now we no longer have to shower with a few inches of water at our feet.

This solution, of course, is pretty obvious. In order to reduce the output, decrease the input. Why I didn’t think of this earlier, I have no idea.

Review: ZeroWater 8 cup pitcher

When we moved into our last house, there was a reverse osmosis system that we used for awhile until I replaced it with one that I could get filters from Home Depot instead of having to goto a speciality store. The water tasted pretty good, or at least we didn’t notice the taste. When we moved into our rental, we quickly realized how bad tap water tastes. Within the first week, we went to pick out a filtering pitcher.

My wife said she didn’t like the taste of the Brita filters, so we looked for an alternative. Wal-Mart had a few choices and we settled on the ZeroWater 8-Cup Pitcher. The marketing gimmick that sold us is that it included a test meter to show us the total dissolved solids (TDS) of the water as the pitcher was supposed to bring the tap water down to 0 parts of million of stuff in the water.

When we got home, we used the meter to test and it read 323. We poured in tap water, let it filter and then after a few minutes, we had a pitcher full of filtered water. We tested it and low and behold, it read 0 ppm. The water tasted pretty good and we started a system of filling up the pitcher and transferring it into another pitcher that we put in the refrigerator. (My wife likes room temperature water, I like cold water.)

Things went well for about a week and then I went to test the output of the filter and it read 60. The instructions said the replace the filter after the water reached 6. Hmmm, if 1 filter lasted about a week and the filters cost about $15 each, it would cost me about $60 per month for filtered water. I drink a lot of water and due to the poor quality of our water, the filters just weren’t going to last.

So what were my options? Buy filters? Get bottled water? Drink tap water? I decided to try the second option and for about $30 per month, we’re getting bottled water delivered. Based on our water consumption, this will be about half the cost of the filters and a whole lot less work.

Pros

  • Included test meter is cool.
  • Water tastes pretty good.
  • Pitcher fits in refrigerator.

Cons

  • Filter cost is too high.

Summary

While I liked the concept of the filtering pitcher and the water tasted pretty good, the filter cost is far too high. If you live in an area that has better tap water to begin with, the filters might last longer. I really wanted to like this, and now I feel kind of weird about having water delivered (I kind of always thought that people that had bottle water delivered were wasting money).

If you have bad tasting water, I cannot recommend this product and possibly more generally, any filtering pitcher, due to cost if you consume a large amount of water. I drink 48-64 ounces of water or more a day consistently, so I’m pretty picky about the water.

Counterfeit goods

Last week I went searching for a Mophie Juice Pack Plus battery for my iPhone as I’ve been traveling more and my iPhone doesn’t quite last all day when I use it. I did a Google search (after I decided that I wanted it over the other batteries) and found prices ranging from about $50 to $100. The list price is $100 so all the prices in that range seem legitimate. The $50 price on Amazon looked too good to be true. After reading through a bunch of reviews, I discovered the reason. It would appear that some Amazon sellers are selling counterfeit products.

I would have expected Amazon to better screen their sellers especially when they are fulfilling the orders for these merchants and are offering it via Amazon Prime. This also happened with an OtterBox case we bought for my wife; the build quality is not up to par and didn’t come it the retail packaging. Does it matter? Now that the case is falling apart, I’d have to say yes.

How can you protect yourself from counterfeits? First off, a tip off is “does not come in retail packaging to save you money”. Second, if the price is too low, there is likely a problem. However, I’m taking another stab at an OtterBox off eBay. In this case the seller says that it came from a store that they closed and it is in retail packaging; the packaging has AT&T on it and not OtterBox. After a little research, I found that the seller is an AT&T reseller, so this adds legitimacy to the seller. Third, is it shipping direct from China? Not everything that ships from China is counterfeit, but companies usually ship to distributors in the US and ship from the US.

Of course, buyer beware. Safe shopping!

Walking for a cause; please sponsor me

It seems that many charities have walks, runs, etc. to raise money and awareness for their cause. The MS (Multiple Sclerosis) Society is no different. Last year my wife decided to walk in the MS Challenge Walk, a 3-day, 50 mile walk. For her, this walk was very personal as her mother (my mother-in-law) has had MS for many years.

At the end of the walk last year, my wife said she wanted to do it again this year as she had a great experience and wanted to know if I’d walk with her. Of course, I’d walk with her and support her (and the MS Society). So now the begging, pleading, and hitting up everyone I know begins. In order to participate in the walk, I have to raise $2500 by September. I’m not one to go knocking on doors asking for money, but I’m going to knock on your virtual door.

Most people have charities that he or she donates to each year. If you’re one of those people and don’t normally donate to the MS Society, please consider diverting a small amount of your yearly donation to help sponsor me for the walk.

All you have to do is visit my personal donation page and make a donation. If you work for a company that matches your donation, don’t forget to find your company at the bottom of the donation page.

Like the famous people that host telethons say, “every dollar counts”. Please help me reach my goal.

Another advantage of VoIP

When we switched to Ooma awhile back, I had in the back of my mind that someday we’d move and be able to take our phone number with us. I didn’t realize it would be so soon, but with this move, transferring our phone was one of the easiest tasks. I just unplugged the box, took it to the new house and plugged it in. Once the cable modem was connected, the phone worked. I just had to update our service address in Ooma for 911 service and I was in business again.

This is, yet another, reason that I really like Ooma. We’ve saved a ton of money, we have 2 lines, get voicemail sent as email, and I can quickly block telemarketers via the web interface.

Removing geotagged info from a video

When I post pictures to eBay or somewhere else that I’ve taken at my house, I strip the geotagged information in it as I’m a bit paranoid. I wrote a small app which basically does this for JPG images. The core of the app is below.

However, how do you do this with videos as the iPhone geotags video? At first I tried emailing the video and then exporting it via QuickTime Player to 480p format. That didn’t seem to work as I think it was already 480p and therefore didn’t convert. Next, I imported the video into iPhoto, dragged it out to the desktop, opened it up in QuickTime Player and then exported to 480p. Since the initial video was 1080p, QuickTime Player actually had to do a conversion and the process stripped the geotagging info.

I’m sure I could have written an app to do this, but I haven’t played around enough lately with the QuickTime APIs to know how to do this.

The source code below is © 2011 Scott Gruby. Redistribution in source or object form is permitted granted that attribution is given to me.

- (void) processFile:(NSString *) inPath
{
    NSString *extension = [inPath pathExtension];
    if ([extension caseInsensitiveCompare:@"jpg"] == NSOrderedSame || [extension caseInsensitiveCompare:@"jpeg"] == NSOrderedSame)
    {
        NSURL *pictURL = [NSURL fileURLWithPath:inPath];
        CGImageSourceRef sourceRef = CGImageSourceCreateWithURL((CFURLRef) pictURL, NULL);
        if (sourceRef)
        {
            NSDictionary* metadata = (NSDictionary *)CGImageSourceCopyPropertiesAtIndex(sourceRef,0,NULL);
            NSMutableDictionary *metadataAsMutable = [[metadata mutableCopy] autorelease];
            
            
            [metadataAsMutable setObject:(id)kCFNull forKey:(NSString *)kCGImagePropertyGPSDictionary];
            [metadataAsMutable setObject:(id)kCFNull forKey:(NSString *)kCGImagePropertyIPTCDictionary];

            CFStringRef UTI = CGImageSourceGetType(sourceRef); //this is the type of image (e.g., public.jpeg)
            
            //this will be the data CGImageDestinationRef will write into
            NSMutableData *data = [NSMutableData data];
            
            CGImageDestinationRef destination = CGImageDestinationCreateWithData((CFMutableDataRef)data,UTI,1,NULL);
            
            if(destination)
            {
                //add the image contained in the image source to the destination, overiding the old metadata with our modified metadata
                CGImageDestinationAddImageFromSource(destination,sourceRef,0, (CFDictionaryRef) metadataAsMutable);
                
                //tell the destination to write the image data and metadata into our data object.
                //It will return false if something goes wrong
                BOOL success = NO;
                success = CGImageDestinationFinalize(destination);
                
                if (success)
                {
                    //now we have the data ready to go, so do whatever you want with it
                    //here we just write it to disk at the same path we were passed
                    success = [data writeToURL:pictURL atomically:YES];
                }
                CFRelease(destination);
            }


            [metadata release];
            CFRelease(sourceRef);
        }
    }
}