Doing the right business thing

A few weeks ago, my wife started complaining that our cordless phones started dying. So, I decided to get a new battery and see if that fixed the issue or I’d have to get a new set of phones due to bad charging circuits. I bought a battery from Fry’s and it failed to charge, so I suspected that the charging circuit was bad. Since I didn’t need the battery, I went back to Fry’s to return the battery.

When I presented the battery to the returns clerk, he looked at it and was a bit suspicious as he said that Lenmar batteries usually have a label on them with the Lenmar name. At that point, things began to click. When I brought the battery home, it looked identical to the battery I already had with the exception that the code on it was a little different. The package said 850 mA whereas the battery (and the ones in the phones) said 800 mA. The clerk went back and retrieved another battery and it was yellow (the ones I had including the replacement I bought were white) with a Lenmar label on it.

Now it was Fry’s word against mine; I said that I bought the battery I was returning. I couldn’t prove I hadn’t swapped the batteries and they couldn’t prove that the battery I took home was the real Lenmar one. The clerk asked his manager and the manager said to go ahead and accept the return. That was a big relief; I almost had to eat $10 for the battery. So it looks like someone swapped the battery in the store (the packages for the batteries only has a stable at the top and you can easily slip the battery out). Normally this kind of theft just impacts the store (and the consumer indirectly with higher prices), but in this case, I almost got stuck with the bill.

Normally Fry’s is an easy target for me to pick on as their staff isn’t the most helpful, some of their sales tactics are questionable (I’ve seen returned items shrink wrapped and resold as new), and I only shop there as a last resort. However, in this case, I was quite pleased with their customer service. Maybe this is way manufacturers put products in the bubble packaging to prevent people from stealing like this.

Review: Ooma – Take 2

Almost two years ago, I wrote about my experience with Ooma and how disappointed I was with it. I decided to give it another chance and did so in June. After 2 months of testing, my wife and I were satisfied with the voice quality and features, so I ported our number over to Ooma and dropped the $62 a month landline.

The price for Ooma can’t be beat even if you pay the $120 a year for Ooma premier which I chose to do. The premier service got me a free number port, enhanced caller ID (without this you just get the number and it matches it with your phone book to show the name), a second phone number/line, voicemail sent to email and text, Google Voice extensions and ability to forward all calls to a cell phone if my Internet connection goes down.

The basic question is if the voice quality is good and is it reliable. So far voice quality has been much better than it was last time I tried. This could be due to newer hardware, a different router, or any other number of factors. We’ve had a few blips, but overall the quality is more than acceptable. Reliability is a little different story. Last week they had a major outage that lasted a few hours that was blamed on a power outage. It made me question my decision, but considering we have cell phones for backup, it wasn’t a hug concern.

Pretty much everything else is gravy to me. We had a basic answering machine, so voicemail that sends to email is a great feature, but takes the excitement out of coming home and seeing the light flashing on the answering machine!

I picked up a Telo handset a little over a week ago with the intention of using it as a work line. The phone would allow me to be on a call without tying up the home number. After a few missteps setting of Google Voice extensions, I managed to set it up such that the handset is my work line for both incoming and outgoing calls. When I call out, it shows my Google Voice number. The handset is mediocre in that it is slow in scrolling through the numbers and doesn’t have a headset jack. However, it is good enough for my needs. I’ve used the speakerphone for a number of conference calls without any problems.

The only gotcha with any VOIP solution is what happens when the power woes out. I plugged my router, cable modem, Ooma box, and cordless phone base station into a UPS. That should be good enough for a few minutes. With cell phones easily reachable, this isn’t a big concern.

Pros

  • Inexpensive even with the premier service and $3.50 in monthly fees.
  • Voicemail works well and sending messages to email is useful.
  • Google Voice extensions makes it convenient to have a work phone.
  • Decent voice quality.

Cons

  • Recent outage is a little disconcerting.
  • Steep initial cost, but cost recovery can happen in about 7 months.
  • Telo Handset is a mediocre cordless phone.

Summary
For those looking to keep a home phone, but want to reduce cost, Ooma is currently a decent option. As long as Ooma stays in business and the voice quality remains good, I’ll be happy. With the initial cost of $180 + tax (from Costco), the $120 Premier service for the year and $3.50 per month the first year cost is around $350. I will be able to recoup the entire first year cost in less than 6 months. After the first year with the premier service, I’ll be paying about $14 a month which is $48 a month less than I was paying.

Changing my Password

Anyone that works in a company that accepts credit cards has to deal with periodic password changing as well as a few other issues dealing with passwords. This is due to PCI Data Security Standard, a document that specifies how companies handle security for credit cards and related information. For instance, your password has to be a certain length, have certain characters in it, must be changed at certain intervals, and your account must be locked after so many failed attempts.

The last one is the one that got me the last time I changed my password. While I can remember my password, I have a number services/devices that automatically check for mail. I have my iPhone and my iPad both connected to my work account, as well as Outlook. This basically creates 7 connections (3 each for the iOS devices) and if my limit is less than 7, I get locked out almost immediately. So here’s my process:

  1. On iPhone, go into Settings->Mail, Contacts, Calendars. Set Mail, Contacts and Calendars to Off for my work account.
  2. On iPad, go into Settings->Mail, Contacts, Calendars. Set Mail, Contacts and Calendars to Off for my work account.
  3. Quit Outlook on my Mac.
  4. Open Keychain Access. Search for all work saved logins. Delete them.
  5. Login to VPN.
  6. Change password. (If you’re locked out, call someone to fix it.)
  7. Close Browser.
  8. Launch Outlook. Enter password.
  9. Launch Browser. Login to corporate site. Tell Safari to remember password.
  10. Carefully change password on iPhone. Re-enable Mail, Contacts and Calendars.
  11. Carefully change password on iPad. Re-enable Mail, Contacts and Calendars.

Protected PDFs are a waste of time

Today I had to electronically sign some documents and then the document was available to download as a PDF. Preview on the Mac wouldn’t properly render it and required Adobe Reader. As I refuse to put that awful program on my machine, I tried to use VMWare Fusion with some PDF writers on it, tried printing to a Printopia printer, but everything failed. I finally put Adobe Reader on another machine, installed CUPS-PDF, played with a few options in Reader (told it to output as an image), and ended up with a 700 MB PDF that Preview could read! I then opened it in Preview and printed it to a PDF. I ended up with an 11 MB file that was had all the Adobe protection stripped out of it. I can’t select text in the PDF as it is an image based PDF, but I didn’t want it. I simply wanted a copy of the document in a format I could use with Paperless.

I love the PDF format, but I hate extensions like this that just make me go through hoops to get what I’m entitled to have. (I could have printed the 37 pages and scanned them back in, but that would be a waste of paper, not time because I spent more time with all my hoops.)

Energy conservation through guilt

The other day I received a letter from SDGE, my local power company giving me a run down of my electric and natural gas usage compared to 100 of my neighbors with similar house sizes. We aren’t the most efficient, but we aren’t the least efficient, either. Of course, there were tips in there on how to reduce consumption, but the letter is quite clever in making people a bit competitive to encourage them to conserve more.

I think we do a reasonable amount to conserve; we run our air conditioning a few times a year, we turn off lights, and I turn off a bunch of my computer equipment at the end of the day. However, can more be done? I was at Fry’s last week getting a power strip to combine a bunch of other strips and picked up 2 little energy conservation helpers.

The first is a Belkin Conserve Socket which I bought not because of the energy savings aspect, but because I forget to unplug chargers for my RC car and helicopters. I am always afraid of leaving them when I’m not around as the warnings on the labels are pretty scary. Also, I had 2 chargers for my RC car melt and the batteries start overheating. This gadget should give me a little piece of mind.

The second was an APC 4 outlet surge protector with a timer. You basically set on and off times for it and it switches off power to the outlets. I was trying to figure out where to place it to handle a few chargers I have lying around (outlets are kind of scarce in my office) when today I figured out what to do with it.

Like a lot of geeks, I have a large collection of equipment centered around the TV. I have a Mac Mini for a media center, 2 El Gato EyeTVs, a Time Capsule, an Ooma, a cordless phone, a cable modem, 3 Squeezebox devices, 2 audio distribution units, 1 amplifier, 2 8 port gigabit switches, a Wii, a coax amplifier and a TV. With all that stuff, what could I have automatically turn off and what was consuming the most? While much of the equipment uses wall warts and uses a little power each, the big consumers are probably the audio distribution units, so I plugged those 2 into the timer surge protector as well as 2 other small devices. That takes care of cutting power to 4 devices. Next, I unplugged the amplifier I don’t use.

Lastly, I have an APC UPS that has a master controlled outlet which shuts down power to 3 other outlets when the main device draws very little power. I set my Mac Mini as the master unit and used Energy Saver to set a schedule for it to shut down around 11:30 pm and wake up around 4:30 am in time to start processing TV shows that it recorded. Then I plugged in the EyeTVs and a hard drive into the controlled outlets. So of all the mess I have, I just set 8 devices to stop drawing power for at least 5 hours a day (the audio stuff I set to come on even later). While this isn’t the end of my quest to reduce power consumption, it is a decent start.

I like the idea of the timer controlled power strips, so I may pick up a few more of those.

Too bad SDGE stopped sending the real time power consumption data to Google. I’ll have to search to see if something is available as I have a smart meter and it would be neat to see if my efforts are doing something.

MovieConverter available on the App Store

I’m pleased to announce that my MovieConverter app is now available on the iOS App Store. The app is designed for iPad users that want to import and edit video that was taken with a compact digital camera in iMovie.

The premise is pretty simple, but I think it is a huge help to those that don’t want to travel with a laptop and want to edit video.

While I don’t expect to become a millionaire on this, I do hope to sell enough copies to go out to dinner a few times!

Thanks Apple for the fast turnaround on approving this! Total time less than 9 calendar days from initial submission.

Are there tricks to interviewing to get good candidates?

Last week I had a discussion with some of my colleagues about interviewing. As they have come from a computer science background, their questions consisted of things like showing how a linked list works, how to do bitwise operations, etc. I actually struggle with these questions as I don’t have a computer science background, I haven’t been in college for 16 years, and I pretty much haven’t touched this type of code in years since I’ve been doing Objective-C development. So do these questions help find solid candidates? I have no idea.

When I’ve interviewed people, I’m not clever enough to come up with this types of computer science questions, so I’ve taken different routes and try to get at how a person thinks and what they can learn. One of the most important things I learned in college was how to teach myself anything which has proven to be an asset. A number of years ago, I had an interview at Apple for AppleWorks and I basically didn’t get the job because I didn’t know C++. The next interview I went on, I don’t believe I was asked highly technical questions and was hired. Within 2 weeks, I learned C++ and was off and running.

There is no magic to interviewing and maybe computer science questions are great for candidates right out of college, but do they help adequately screen candidates? If the candidate gets the CS questions wrong, could a good candidate be slipping through the cracks? Possibly. I find that if I probe a person for specifics on what they have on their resume, I can get a pretty good idea of how the candidate will work.

To each his own; there are no right answers or formulas for finding and retaining good employees/contractors.

Another Lion change wreaking havoc

One common practice when subclassing a class is to use an application specific prefix so that if Apple adds a similar class in the future, it doesn’t conflict. For ReceiptWallet, I always used RW. One of the classes I subclassed was NSTextView so that I could draw text in gray when no text is entered. This is similar to NSTextFieldCell’s setPlaceHolderString method. I named my member variable placeHolderString and added a property. The code worked fine on Snow Leopard, but when it was run on Lion, we had reports that the placeholder text was drawn twice and blurry.

It appears that Apple added this property to NSTextView in Lion, but didn’t document it. I tried lots of different tactics to fix it, but decided the easiest thing to do was to rename my member variable/property. That worked perfectly and remains backwardly compatible.

So despite my best effort to keep my changes in my own namespace, there was no way for me to anticipate or detect this kind of change.

Lesson learned.

Bit by API Changes

Mac OS X Lion has changed some of the internal workings of various APIs and as I don’t work much on Mac apps, I didn’t care too much. However, one app I work on got bit by this pretty hard. In various places in the NSDocument based app, I called:

[self saveDocument:self];

This, I had assumed, was a synchronous call and then proceeded to make calls after that based on the fact that the call succeeded. Up until OS X Lion, things seemed to work fine. However, with Lion, this call seemed to cause problems and after reading the header file for NSDocument, I instantly realized the issue:

/* The action of the File menu's Save item in a document-based application. The default implementation of this method merely invokes [self saveDocumentWithDelegate:nil didSaveSelector:NULL contextInfo:NULL].
*/
- (IBAction)saveDocument:(id)sender;

So I was tricked into thinking there was a synchronous call and got bit by it. So I’ve fixed the code to use a callback and things seem to be working better. While I should have been using the asynchronous call all along, I don’t recall if it existed in OS X 10.4 when I first wrote the program.

Goodbye old friend (Quicken)

Back in April when there was a lot of talk about Mac OS X Lion coming out and it not supporting Rosetta. As I relied on Quicken for my accounting and have been using it for almost 20 years, I decided to start looking for a replacement sooner rather than being forced to make a decision when Lion came out. Intuit was pretty quiet about what was happening with Quicken and considering the last real Quicken version was Quicken 2007 (Quicken Essentials could only give me a snapshot of my investments and not track them), I didn’t have high hopes for an Intel native version of Quicken coming out for Lion.

So I looked at all the options and settled on iBank 4. The interface was pretty and pretty much imported my 20 years of Quicken data. I’ve been told that there are former Quicken people working on iBank, so that gave me a little more reassurance that they know what they’re doing. There are a number of things to get used to in iBank, but that’s expected as I can’t unlearn something after 20 years!

Now that I’m fully in Lion mode, I had to bid a fond careful to my old friend, Quicken. Quicken helped me budget my way through college, track all my expenses, keep my accounts balanced and reconciled, and gave me a good picture of where I stand financially. However, it is time to move on and for all the other ex-Quicken or soon to be ex-Quicken users, make the leap now to something else as it will make going to Lion much easier.