Cool Android Battery Use Diagnostic

I just discovered a utility inside of the “About” component of Android settings which tells you what is sucking up your battery life. Very cool.

Settings –> About phone –> Battery use



Irritating: AT&T Crows Network Upgrades

I just got a happy email from AT&T Wireless trumpeting their DC metro mobile data service update:

That’s right! AT&T has the fastest 3G network in the nation. That’s just one of the reasons when you compare, there’s no comparison.

I beg to differ. I have experienced better data service pretty much everywhere else in the world than what I get in Washington, DC. That includes The Netherlands, France and Germany but also Bosnia, Egypt and the West Bank. In downtown DC, it is common for my iPhone 3Gs to switch from 3G to Edge or lose data service altogether for several minutes. I have been walking around with a Nexus One, which is only Edge with AT&T, for the last week and I can’t tell the difference.

Metro Service

Metrorail customers can make calls, send text messages or surf the web from inside the following 20 stations: Ballston, Bethesda, Columbia Heights, Crystal City, Dupont Circle, Farragut North, Farragut West, Federal Triangle, Foggy Bottom-GWU, Friendship Heights, Gallery PI-Chinatown, Judiciary Square, L’Enfant Plaza, McPherson Square, Metro Center, Pentagon, Pentagon City, Rosslyn, Smithsonian and Union Station.

That is very cool but it just achieves parity with where Bell Atlantic (now Verizon) was in the 1990s. I gave this up to go to Voicestream way back when.

Expanded 3G Coverage

In the last quarter of 2009, we expanded our 3G service to several new areas including Talbot, Caroline, Kent and Queen Anne counties on the eastern shore in Maryland. Additionally, 3G expanded to the Northern Piedmont area and the Shenandoah Valley area of Virginia. Communities including Burr Hill, Madison, Locust Dale, Mineral, Wolftown, Haywood, Richardsville, Elkwood, Unionville and Brandy Station, Strasburg, Toms Brook, Woodstock, Edinburg, Rileyville, Mount Jackson, Luray, Flint Hill, Linden, Markham, Chester Gap, Huntly, Hume, Fishers Hill, Cross Junction, Middletown, Star Tannery, Quicksburg, Orkney Springs, Bentonville, and Basye now have enhanced wireless service. Franklin County in lower PA also launched 3G service.

This is also nice but why on earth is it that in the heart of DC in places like K Street, Foggy Bottom, U Street corridor and DuPont Circle I get “3G” coverage that is indistinguishable from Edge service?

Expansion is great. I’m all for it but clearly AT&T has oversold its data service in the nation’s capital. AT&T customers are paying outrageous fees for data service that AT&T isn’t really providing. AT&T needs to rectify the situation and provide real 3G service or expect to lose customers to Verizon. I am seeing more and more Droids around here and the Verizon Nexus One is coming.

Sipdroid Error “Registration failed (404 not found)”

When I was first configuring Sipdroid, I kept getting a notification from Sipdroid “Registration failed (404 not found)”. I thought this meant that Sipdroid couldn’t find the server and I tried configuring it to talk directly to my SIP service (which didn’t work, either).

It turned out that the 404 error was extremely misleading. What it was really indicating was that my Trunk configuration in was non-functional. I had not correctly configured the Trunk to correctly access my SIP account. Once I read the instructions from my SIP provider and got the trunk to authenticate the 404 error disappeared.

The error should really be something more like “401 trunk not authorized”.

Google Voice + Sipdroid = Transparent Free International Calls

  Android is really exceeding all of my expectations. One fantastic feature of the Android platform is that all of the apps are on an equal footing. Third parties can hook into Intents and even replace whole features. Even the dialer.

Enter Sipdroid which is an open source SIP IP phone protocol client for Android. Sipdroid can either replace the dialer entirely, replace it when you have data network support or just hook the dialer so that when you dial a number ending in + with the built-in phone app, the call is made via Sipdroid.

Sipdroid works best with a freemium virtual call routing service, appears to be based on Asterisk and is sponsoring the development of Sipdroid. Google’s Gizmo5 “Guava” app is based on Sipdroid.

Things are tricky to set up mostly because of a derth of documentation and misleading error messages, but here is the gist:

  • Sipdroid talks to (theoretically not required)
  • has one or more “trunks” which are logical phone lines. The trunk is a way to connect your 3rd party SIP phone account. (Pbxes will suggest some if you don’t already have one.)
  • has one or more extensions and inbound and outbound routes. At its simplest, there is one trunk, one extension, one inbound route.
  • If you want to be able to send calls, then Pbxes needs an outbound route.

Sipdroid has several codecs so it can automatically scale the call quality to the available bandwidth. in the screenshot below, I have a call over Edge at 11Kb/s using thespeex codec.


















This is fantastic because what it allows me to do is have a SIP phone number in the USA that forwards calls to my phone when I am overseas as long as I have data service from the GSM network or from WiFi.

Voice Makes it Transparent

I want something even better. I want a single voicemail box and I don’t want people to have to know to call my SIP number. I want it all to be transparent. The key to this is doing an unconditional forward of my old number to Google Voice.

While offers basic voicemail service and will even email you an audio file, what I really want is to use my Google Voice voicemail.

You need a Google number and then use Google Voice to ring the SIP number and my Skype-out number, too. Google Voice says that it will only forward SIP calls to Gizmo5 accounts but it will actually forward to anything that has a dialable phone number.


google-voice-routing It’s important to set the call timeout as long as possible on your SIP service to make sure that Google Voicemail will kick in before a network error does. Also, be careful not to create a dialing loop. If you are forwarding calls from a number to Voice, don’t have Voice dial that number. (See above where Voice is not dialing my AT&T number because that is what is forwarding to my Google number.)

Once I Google Voice is set up to forward to Sipdroid (and Skype), I can turn on forwarding of my old telephone number to Voice anytime I am going to be out of the country and I present a single number to the outside world and people can call me overseas without incurring any long distance charges. It is totally transparent to them. They don’t have to know about any of these numbers used to route the call.

Goodbye iPhone 3Gs, Hello Nexus One


I have really enjoyed my iPhone and mobile Safari but AT&T and Apple will not unlock an iPhone for any reason. I am moving to Ghana and there is no way that I will be roaming with an AT&T international plan. It seems that iPhones are not yet sold in Ghana so I would have to try to buy an unlocked one in Amsterdam in transit or buy something in Ghana.

I couldn’t resist the new Google Nexus One. It was almost tailor-made for solving my problem. MTN in Ghana has 900MHz UMTS, which is supported by the Nexus One. And, of course, the Nexus One is sold unlocked.

Initial key selling points:

  • Unlocked
  • Can be tethered (via rooting or PDANet)
  • Integration with Google Apps
  • Multitasking
  • Not tied to iTunes or any other desktop software

Android is a Java-like VM called Dalvik which runs on top of a core Linux OS and some C libraries like WebKit and SQLite. I was definitely concerned that the phone would be sluggish or klunky. It is neither. It is fast and it is slick.

My initial impression is that this phone has everything that I loved about the iPhone and either has built-in or add-on fixes for all the things that annoyed me.


Initial observations:

  • Phone “activation” is dead simple. You sign in with a Google Apps, regular Google or Exchange account (or a combo) and you’re done.
  • This thing seems faster than the iPhone 3Gs.
  • WiFi performance is great and Edge (I’m still on AT&T) seems the same as the “3G” (which often falls back to Edge) performance I have been getting in my little slice of Washington, DC.
  • The Voice app is like Visual Voicemail on steroids. Yeah, sometimes the transcripts are bad but then you fall back to the same behavior as Visual Voicemail. Incidentally, you don’t need a Google number for Voice to work. It sets itself up with your carrier to replace the voicemail system provided by your carrier and you can turn it off if you want to go back.
  • Gadgets are a cool way to embed applications like calendar, weather and news and search right in your home screens.
  • The Google Market store for apps is well done and it’s a nice touch that there is an Amazon music store app.
  • Listen is fantastic at pulling down podcasts over the air and caching them. It also can pull them down in real time and I can still surf the web at the same time. On iPhone this wasn’t possible because the media streaming component of Safari is modal. You can’t do anything else with Safari unless you kill the stream.
  • I love that the alarm clock has a cock crowing ringtone.

I have been seeing more and more Droid phones popping up around town. This feels like the future.

Mass-converting DVD collection to h.264

My wife and children and I have amassed a large DVD collection. It started out as a protest against District CableVision (now Comcast). Now the collection nearly fills two book shelves floor to ceiling and it is a big heavy pile of plastic. We have a tight weight allowance for shipping to Ghana and I want to jettison the weight without losing the content.


Enter Handbrake. Handbrake is really good at transcoding DVD to h.264 but it doesn’t deal with the encryption schemes that some vendors have included. On Linux and Mac, Handbrake will use libdvdcss from VLC if present but not so on Windows. On Windows, the tool of choice is Slysoft AnyDVD.

I’ve learned a few things.

First, it takes a lot of CPU time to transcode h.264 video and a nice movie conversion is in the ballpark of a gigabyte in size (+-20%).

Second, some of our DVDs, particularly the ones my kids have handled are messed up. I have had to reconstruct one using ISO Buster which is also a cool program to have around.

Third, the copy protection schemes on DVDs include not only encryption with the Content Scramble System (CSS) but also deliberately mastering the disks with bad sectors and other errors. Disney seems particularly into this method of selling broken DVDs. It is a miracle the damn things even play in a DVD player, which as it happens, sometimes they don’t. We had an older Bose DVD player that couldn’t play Snow White or Peter Pan. We had to use VLC to play those discs. It could only play Mary Poppins if you hit a magic sequence of skip and menu on the remote. We eventually bought a new Samsung DVD player to fix the problem but it seems likely that the real problem was that the discs are mastered with bad sectors on them.

Fourth, corollary to the first point. It takes a long time to transcode to h.264 but if you aren’t there to swap discs, the computer can sit idle for hours. It also sits idle most of the night. The key to keeping the processor burning is to rip the VIDEO_TS directory to hard disk (and remove encryption in the process). The rip runs at just about whatever the maximum speed of the DVD drive is. You can then schedule a huge transcoding queue with Handbrake. I have 3 computers running 24×7 in a race to get as many DVDs converted before we pack out.

This whole scheme of copy protection and making broken discs on purpose really pisses me off. I feel like I have purchased defective manufactured items and am having to fix them myself. If these content producers wanted to provide a good experience for me who pays them a ton of money, they would figure out a way to deliver h.264 files for every DVD I have ever purchased. And if they really wanted to keep my good will, the downloads would be in HD.


Why is Handbrake’s logo some kind of tropical fruit drink and a pineapple?

Is Microsoft Screwing Over WinMo Devs?

It seems that Microsoft has decided that they are so far behind Apple and Google on their mobile platform that the only way they can catch up is to build a radically new system and totally break backwards compatibility with legacy Win CE Native APIs and also, it seems, .NET CF WinForms.

According to Windows Phone Team member Charlie Kindel,  the programming environment for Windows 7 "phone series" is .NET with Silverlight GUI and their XNA .NET-based game development platform.

That means all existing Windows CE GUIs will be broken. All apps that rely on C/C++ code will be broken. Holy crap. Am I reading this correctly?

For us, the cost of going from good to great is a clean break from the past. To enable the fantastic user experiences you’ve seen in the Windows Phone 7 Series demos so far we’ve had to break from the past. To deliver what developers expect in the developer platform we’ve had to change how phone apps were written. One result of this is previous Windows mobile applications will not run on Windows Phone 7 Series.

The expertise and familiarity with our tools is not lost. If you are a .NET developer today your skills and much of your code will move forward. If you are Silverlight or XNA developer today you’re gonna be really happy. New developers to the platform will find a cohesive, well designed API set with super productive tools.

I don’t understand what they could be thinking. I mean, it seems like consumers have moved on to iPhone and Android and Enterprises are the remaining big customers for Windows Mobile. How can it be a good idea to break backwards compatibility with custom apps built by your best customers?

I refer you to the great essay from Joel Spolsky, How Microsoft Lost the API War.

SOHO Network To Go

Years ago at a former employer, I designed a product called the “Rapid Deployment Network” (RDN). It was basically a robust back office system pre-configured and packed into a small-ish cabinet so that it could be shipped overseas and plugged in. Bam. The RDN business never took off because it didn’t fit will with the procurement model of the intended consumer but I find myself revisiting the problem for my relocation to Ghana.


I want to take a fully functional SOHO office network with me that I can plug into an Internet connection and go. However, I am very cognizant of my weigh allowances for air freight so I want to pack as much as I can into as little weight as I can. And I’d like to keep the overall wattage down.

My server is based on a Mac Mini running Windows Server 2008 R2.


I’m also taking along some network hardware that runs cool without fans:

  • Cisco 851 router (firewall and VPN feature set) –> max 26 Watts
  • Cisco WAP4410 Wireless N access point –> max 10.1 Watts
  • HP Procurve 1810G 8-port managed gigabit switch –> max 15 Watts

That puts my maximum power consumption of the core network infrastructure at 201.1 watts but most of the time it will be idle at maybe 30 to 50 Watts.power

In addition I have an APC Smart-UPS 750 uninterruptible power supply. It is basically a 500 Watt, 750 Volt-Amp battery and inverter appliance that connects to the server via USB. This allows the server to safely shut itself down before the UPS runs out of power. Along with the UPS, I have a 500 Watt step-down transformer and voltage stabilizer to smooth out power going in.

I’m pretty satisfied with what I have cobbled together. The are two main issues which are essentially logistical.

  1. The UPS and the voltage stabilizer are fairly big and heavy. 31 pounds for the UPS which contains actual lead. The transformer/stabilizer has big copper coils inside it an weighs in at 14 pounds.
  2. Should the hard disk inside of the Mac Mini fail, it is a real bitch to replace it. You need a sand paper, a putty knife, spudger, tiny phillips screw driver and a steady hand.
%d bloggers like this: