Backup Google Voice Messages

I’ve looked for solutions to automatically download and archive all of my Google Voice voicemail messages, without success.

Fortunately I discovered the PyGoogleVoice project ( Google Voice for Python allows you to interface with the Google Voice API from within your Python apps.

Since I only wanted to download the mp3 files for each of my voicemail messages, I modified the example code to suite my needs. Here is a sanitized copy of my google voice backup script:

Uncomment the last line ‘message.delete()’ to automatically delete the message from Google’s servers after your download is complete.

To fully automate the backup script, schedule the job with cron. Here is an example that will run the script every day at 1am.

The SpendWise App For Apple iOS Devices

If you listened to our last episode of the Opinionated Tech podcast, you already know that I have been developing a universal app for iOS devices with SuperJessi. While this app is super simple, it is something I personally have wanted since these are the same calculations I perform manually when considering a new purchase. And since this was the first project I did with SuperJessi, we wanted to keep it simple. Now that we have proven our ability to work together, we can move on to more complex projects.

The app has been submitted to Apple for review and I’ll post an App Store link as soon as it becomes available. It is a ‘universal’ app, meaning it can run on your iPods, iPhones and iPads!

While your waiting, check out the app’s website at




This app helps you make intelligent purchases.

Made for iPod Touch, iPhone and iPad devices.

Instantly realize the true value of a potential purchase, in terms of both money and time.

Based on your input, this app will give you information that will be helpful in determining the worth of something you are interested in buying, by comparing the time investment and estimated usage of the item.


    • Cost per hour
    • Cost per use
    • Hours needed to work

How it will help you:

    • Smarter purchases
    • Less buyer’s remorse
    • Realize the true value of time

UPDATED: VDC Power Your App Contest: droplat for Android

Verizon is hosting the Power Your App Contest and droplat for Android has been accepted as an entree. Vote for us!

I co-developed this app with ipaulpro of Finer Mobile. My primary role involved architecting the backend, this includes the webservice and api. Paul did a fabulous job, as always, on the UI. Check out his work:



Isn’t that one of the most polished Android apps you have ever seen!?

For those who don’t know, droplat is a location-based file sharing service that enables users to share files with others nearby. You can install it on your Android device from the Google Android Market. The app is still in an ‘alpha’ stage, so there may be minor bugs. We are working hard to roll out new features, so stay tuned for updates.

Learn more about droplat at

UPDATED: Droplat is now in the semi-finals! Help us get to the finals by voting for Droplat in the Entertainment category at Power Your App Contest.


Apple iOS Rocks

iOS WTF List

1. Wireless iTunes sync. C’mon… I understand that a managed service (aka cloud) for continuous sync is going to take some time to design, develop and roll-out. So that is ok for now. But I am shocked and disappointed that we are still forced to use a USB cable for iTunes syncing when all of these devices have WiFi. Apps such as 1Password and Things both have local wireless sync.

2. Horizontal input in every view, everywhere. Why don’t we have this!? I do not enjoy typing credentials for my logons in a vertical virtual keyboard.

3. Notifications system is too simple. I’d love to see all of my non-viewed notifications in a single list view. Maybe a slick touch gesture to bring up the list? The Android status bar works nice 🙂

I am using several mobile devices on a daily basis now…

  1. Apple iPhone 4
  2. Motorola Droid (for development only)
  3. Apple iPad

All are used with my MiFi device on Sprint’s network, so AT&T service doesn’t matter.
I love iOS and love Android. Altho, both have some issues to overcome.

If this post was about Android, the WTF list would be much longer.

Quick Tip: Fix networking after copying Ubuntu virtual machines

A virtual machine will have different MAC addresses assigned to the network interfaces after copying it. This is true for all versions of VMWare.

Here is a quick fix that I use frequently when copying Ubuntu vm’s:

sudo rm /etc/udev/rules.d/70-persistent-net.rules
sudo reboot

Another method is to manually edit ‘/etc/udev/rules.d/70-persistent-net.rules’ and replace the old ‘eth0’ interface definition with the new ‘eth1’ definition. If you have multiple interfaces, this will take a little more work to redefine all of the interfaces.

Opinionated Tech Podcast

I decided to spend 60 minutes per week talking into a microphone…


Over the past 6 weeks I have produced 5 episodes, well 6 if you count the 1 that did not record! There is still much more that I want to learn, but so far I know that the key ingredient (besides awesome hosts) is the microphone. We are using a Blue Yeti mic with no accessories and I couldn’t be happier. GarageBand is actually a very simple and super useful tool for podcasting and delivering audio to your audience.

More on this later, for now go subscribe to the podcast! Check out

Google Voice and Skype for iPhone

Even though the official Google Voice app is not available for iOS, we still get to experience the fun!

Why I use Google Voice?

  1. The convenience of a static # that travels with me as I jump carriers.
  2. Voice message transcribing.
  3. Emailed voice message transcriptions. Besides never having to listen to the audio, I also get to archive the message forever.
  4. The ability to forward your number to all your other phones.
  5. SMS messages delivered to email. Also a nice archive of these.

3rd party iPhone apps that make all this possible:
Find By #

How I use Google Voice effectively with the iPhone (iOS 4.0)…

Calling out: Skype
Calling in: Google Voice forwards to my actual device’s phone number
SMS out (initial): Gtxt app
SMS in/out: email


When the SMS messages are delivered to my mailbox, they only show the sender’s phone number. To see who the person is, I use an app called “Find By #” that searches for a contact by a part of their phone number.

I am super satisfied with this whole setup, and can care less about an official Google Voice app. However my dream is to ditch Google Voice and handle everything within Skype.

Skype has some things to ‘fix’ before it would make sense for me to ditch Google Voice.

  1. An affordable unlimited SMS plan.
  2. Receive and send SMS messages via email.
  3. Voice message delivery to email box. Audio + text would be perfecto.


The peeps at Dyn Inc. hooked me up with a sick shirt!! Isn’t it awesome!?!?


I guess now is a good time to fill you all in on the super kick ass DNS and mail infrastructure at….

Since what feels like the beginning of time, I have been a smiling DynDNS user. I primarily used the free dynamic DNS hosting service back in the day to battle the dynamic IP’s issued by the ISP for my basement servers. In 2006, I upgraded to paid services. While I am fully capable of running my own Bind services (and do for some internal stuff), public DNS is not something I care to be responsible for. DynDNS has the infrastructure in place to handle any size load of queries with a history of zero downtime. That being said, the DNS infrastructure is exclusively managed with DynDNS’ Custom DNS Service making SEXY!~

A very important feature to me (with any service) is the API. These guys did it right, check out their Developers’ Connection site and you too can build an update client for any platform or device.

I almost forgot to mention… Email. In a world full of free Gmail/Yahoo! mail services and awesome providers such as Apple’s MobileMe, it is in your best interest to maintain the sanity of your email routing. I rely on MailHop Outbound and MailHop Forward to be the entry/exit points of my mail infrastructure. This allows me to switch around to different mail services (usually my own servers or Apple’s MobileMe, and sometimes Google’s Gmail) without having to risk losing any incoming email. Most MTA’s will keep trying to send mail for a few days, but there is no guarantee. By having my MX records pointing to MailHop Forward servers, I don’t have to worry — ever! MailHop Outbound benefits me in several ways. First, I can set SPF records to ensure that my mail recipient’s servers will know that the IP of MailHop Outbound is an authorized sender for my domain. This helps to prevent evil spammers from using your domain name as their email address. Second, no matter which email service I am using — I always have the same outbound server and never have to modify my email clients, which can become time consuming now a days with multiple devices (for me: laptops, iPads, iPhone, Droid, etc…). Yea I have multiple iPads now 🙂

Anyway… If you give a shit about your DNS, I recommend Dyn Inc. Get the full scoop at