Last weekend, I wrote about installing and using a new ROM for my Droid 2. At the time that I wrote that post, I knew that I would be replacing it with another post very shortly. That time is now. And the reason I am writing this post is because I have once again changed the Android ROM for my Droid 2. As of 7AM this morning, I switched to the new Liberty ROM. This ROM is a collaboration between two exceptional Android contributors. Kejar and JRummy have united to build a very interesting new ROM – and it rocks.
Why did I switch – yet again? First, you have to know that sampling and deploying ROM’s is a very addictive thing. It meets some fundamental control issues that every geek must address. Second, I really wanted to join into a very “new” thing. So leaping onto Liberty meets the “cool” threshold I set for many technologies.
But beyond coolness, style and swagger, Liberty represents freedom from the historical bonds associated with phones and their operating systems. It represents the work of the common man. And it represents a labor of love for many people. Android is truly about open communications. And the Liberty ROM brings us the best of that open ideal for communications technology.
-Roo
Category: Mobile Phone
GummyJAR Starts Out As A Gooey Mess
After using ApeX 1.3.1 for almost a week, I decided it would be time for a few more changes to the phone. Sometimes, I amaze myself with the brazenness of my ego. But that amazement never occurs before the fact. Rather, I plunge headlong into the fray. And I invariably clean up the mess after the fact. And that was the case today as well.
I started today by downloading GummyJAR. GummyJAR is a custom ROM that attempts to be both AOSP-compliant and extremely fast. Rather that use pre-built binaries, the developers recompiled everything. The result of this is a much faster build
The download process itself was positively wonderful. Since I’m using ROM Manager Premium, I can download straight to my SD card. And the process only took a few minutes. So while I was waiting on downloads, I decided to take a backup of all of my apps using Titanium Backup. Once I had a good backup, it was time to launch the install. I chose to wipe cache and data. And with that, the install began. It took about ten minutes to boot into recovery, copy the files and start the glistening new OS. And the OS began without a hitch.
The next step was the coolest thing I’ve seen in at least… four or five days. I went to the Android app market and selected one of the apps I had purchased already. And within a few minutes the Market app was downloading several dozen apps to repopulate my system. This is totally awesome. And the recovery went without a hitch.
So within an hour, my phone had a new OS with all of my apps. I was flush with excitement. I felt the swelling of pride rise in my heart. So I decided to make yet another change: I used Titanium Backup to move many of these newly deployed apps to my SD card. And that’s when the trouble began.
My first inkling of trouble came when TB couldn’t move some of my apps. But I was amazed at just how many had moved before things failed. In the past, I had been able to move 15-20 of my 104 apps to my SD card. The rest didn’t move. But TB was telling me that it could move 79 of the apps. I felt great – even though a few apps didn’t move as expected. Things seemed to be working – and then I rebooted my phone.
After rebooting, very few of my apps were visible. This puzzled me. And some of the really important apps seemed to be gone – including ClockworkMod and ROM Manager. I tried to uninstall the apps and re-install them to no avail. Indeed, the Market wouldn’t install these apps as it believed that they were still available on my phone. But they acted just as if the SD card had not mounted – even though it had. After struggling with the issue for half an hour, I decided to just restore from a backup. But I could get TB to work at all.
So in desperation, I decided I would just boot into recovery mode and recover to a different ROM. But ROM Manager wasn’t working. So I tried to manually enter Clockwork Recovery. But I had no joy. And I was starting to feel desperate.
I rebooted the phone into GummyJAR. But this time, I could see the apps – and I could run them. So I downloaded a fresh ROM and rebooted. But on restart the apps were gone once again. As I was pulling my hair out, I figured that maybe the process of trying to go into bootstrap recovery had some effect that allowed successful execution of the apps I had moved. For whatever reason, this did have the desired effect. I could access my apps. So the first thing I did was run TB and move all apps back to internal memory. This took about five minutes and the process ended without error. Then I went into ROM Manager and re-installed the Clockwork Recovery software.
Upon reboot, everything came back in a functioning state. I have used the phone for about an hour. And I’ve rebooted the phone almost a half dozen times. And everything is working well. Phew. I had bad dreams of humbly going to the forums and begging for assistance. Fortunately, I accepted my slice of humble pie and I wasn’t forced to make public penance.
So what was the problem? What caused the trouble? Since moving the apps with TB was the start of the trouble and moving them back was the end of the trouble, my conclusion is simple: using any tool to force an app to SD is a bad idea. And it is a worse idea to move any apps when testing a new ROM.
But the good news is very good. The GummyJAR ROM is very cool. It is a complete AOSP solution. And there are no vestiges of MotoBlur on the phone at all. For this, I am very thankful. And I’ve learned a lot along the way. And this ROM is blazingly fast. So I will be living on this one until the new Gingerbread ROM’s start to surface in a few weeks.
So I am happy as I live with this new ROM and I dream about the new Motorola Xoom and its Android 3.0 goodness.
-Roo
Roo’s “Must Have” Root Apps
On July 26, 2010, the Library of Congress ruled that rooting your phone is legal. Indeed, it is now a legal exception to the DMCA and its prohibitions against copyright infringement.
So my phone is rooted. And I can’t imagine running an Android phone without root authority. But what can you do with root? I’ve learned that the best way to teach is by example. So here is the list of things that I do which require root:
- I use adb to push content to my phone. And I use adbWireless to avoid connecting my phone to my PC. Don’t get me wrong. I do use the wired USB sometimes. But there are times that I need adb and I don’t want to un-mount my SD card from my running phone.
- Every sysadmin needs a good terminal emulator. And Android has a whole lot of them. But I use the Better Terminal Emulator Pro. It does the basics well. And it also adds Dropbox and SSH support.
- Bootstrap Recovery is a must-have if you ever do decide to go beyond root and install a custom ROM.
- NTPClient is a great way to set the time on your phone. Does the network do this for you already? Well, yes it does. But don’t you want to be in sync with the US Naval Observatory?
- If you want to ensure your anonymity and your privacy on the network, then you might want to consider Orbot. When used with root, you can transparently proxy all IP traffic through an encrypted tunnel.
- If you don’t want to use Orbot’s transparent proxy, then you will need to be able to set the proxy for your browser. I use the HTTP Proxy Settings tool to set the proxy for Android’s default browser.
- If you decide to deploy custom ROM images onto your phone, then you need a tool to backup ROM images and/or deploy these ROM’s on your phone. ROM Manager is the preeminent tool to manage all of your custom ROM’s.
- There are a lot of file managers. But the best of the best is Root Explorer. It does it all – including digging into the all-important data folder.
- There are times when only a good protocol analyzer can solve a problem on your network. For such times, the typical solution has been WireShark. So the Android equivalent of Shark for Root is a must-have for any self-respecting system administrator who has an Android phone.
- Whether you are a blogger or just a sysadmin, there are times when you have to get a screenshot from your phone. And you can’t always be certain that you will have a USB connection to a system that has adb installed. For these times, I use ShootMe as a means of quickly capturing a screenshot (see above).
- Titanium Backup is the best Android backup app out there. Whether or not you load custom ROM’s, you still need to backup and restore your phone. A good backup is a must-have.
- One of the best reasons for rooting your phone is to be able to tether other devices to your phone. Wireless Tether is a simple and powerful tool that justifies all the effort you put into rooting your phone.
These are the root apps that I use. They may be a good start for you and your phone as well.
-Roo
Roo's "Must Have" Root Apps
On July 26, 2010, the Library of Congress ruled that rooting your phone is legal. Indeed, it is now a legal exception to the DMCA and its prohibitions against copyright infringement.
So my phone is rooted. And I can’t imagine running an Android phone without root authority. But what can you do with root? I’ve learned that the best way to teach is by example. So here is the list of things that I do which require root:
- I use adb to push content to my phone. And I use adbWireless to avoid connecting my phone to my PC. Don’t get me wrong. I do use the wired USB sometimes. But there are times that I need adb and I don’t want to un-mount my SD card from my running phone.
- Every sysadmin needs a good terminal emulator. And Android has a whole lot of them. But I use the Better Terminal Emulator Pro. It does the basics well. And it also adds Dropbox and SSH support.
- Bootstrap Recovery is a must-have if you ever do decide to go beyond root and install a custom ROM.
- NTPClient is a great way to set the time on your phone. Does the network do this for you already? Well, yes it does. But don’t you want to be in sync with the US Naval Observatory?
- If you want to ensure your anonymity and your privacy on the network, then you might want to consider Orbot. When used with root, you can transparently proxy all IP traffic through an encrypted tunnel.
- If you don’t want to use Orbot’s transparent proxy, then you will need to be able to set the proxy for your browser. I use the HTTP Proxy Settings tool to set the proxy for Android’s default browser.
- If you decide to deploy custom ROM images onto your phone, then you need a tool to backup ROM images and/or deploy these ROM’s on your phone. ROM Manager is the preeminent tool to manage all of your custom ROM’s.
- There are a lot of file managers. But the best of the best is Root Explorer. It does it all – including digging into the all-important data folder.
- There are times when only a good protocol analyzer can solve a problem on your network. For such times, the typical solution has been WireShark. So the Android equivalent of Shark for Root is a must-have for any self-respecting system administrator who has an Android phone.
- Whether you are a blogger or just a sysadmin, there are times when you have to get a screenshot from your phone. And you can’t always be certain that you will have a USB connection to a system that has adb installed. For these times, I use ShootMe as a means of quickly capturing a screenshot (see above).
- Titanium Backup is the best Android backup app out there. Whether or not you load custom ROM’s, you still need to backup and restore your phone. A good backup is a must-have.
- One of the best reasons for rooting your phone is to be able to tether other devices to your phone. Wireless Tether is a simple and powerful tool that justifies all the effort you put into rooting your phone.
These are the root apps that I use. They may be a good start for you and your phone as well.
-Roo
Why Root Your Android Phone?
Over the last three months, I have repeatedly told myself that I would not root my Droid 2. I made this choice because I wanted to use the same kind of phone that the average customer would use. After ninety days, I am completely satisfied that the “average customer” can have a warm, inviting, robust and feature-complete experience on an Android phone. And after ninety days, I can also confirm another simple fact: I am not an average customer.
For those who have followed my blog for a while, you will remember that I used custom firmware on a variety of Windows mobile phones. And you will remember that I have run custom firmware on my broadband router for over seven years. So many of you have probably taken bets on when I would break down and deploy custom firmware on my Android phone.
Well, I hate to disappoint you. But I have not yet loaded a custom ROM onto my Droid 2 – at least, not yet. But I have rooted my phone. And I did not take this action lightly. Before I was willing to forever say goodbye to the safe shores of carrier-based support, I needed to have some concrete reasons for the change. So here are my reasons:
- I need to backup my phone. This includes my customer data, my applications and the system itself. And my carrier does not provide a means to do this. So if I want to back up key files on my system, I need to have escalated privileges.
- I need to control the firewall that is on my phone. I want to say which apps can use which ports. And I want to say which external hosts I will allow threw my defenses. To do this with the builtin firewall (i.e., iptables), I need to have escalated privileges.
- I need to be able to proxy access for a selected set of applications. Unfortunately, most Android apps do not use proxy settings. In the future, I am sure that most good apps will have this feature. But for now, few have this feature. So I need a way to “impose” a proxy on apps that I choose. In short, I need a transparent proxy. Since I use Privoxy and Orbot, I need to have escalated privileges.
- I really want to block ads from a number of applications. I do think that ads are a good way to generate revenue for small software companies. But if I have paid for an app, I don’t want the adware. Indeed, I consider some ad services to be real crapware. So I want to blacklist some ad servers. To do this, I need to update my local hosts file. By pointing some of these ad servers to my local loopback, I can negate the nastiness of many of these advertisers. To do this, I need to have escalated privileges.
- I really want to control the tunneling tools that I use to connect to my home systems. I use ssh to tunnel VNC/RDP traffic into my house. And I need to have full control of these tunnels. You can use some of these tools in user mode. But kernel mode tools are much better for some of these core services. To do this, I need to have escalated privileges.
Should you root your phone? That one is up to you. I will take no responsibility for supporting you. And there is no warranty, either explicit or implicit, when you decide to take control of your phone.
But if you are willing to accept the responsibility to support yourself, there are thousands of people who would be willing to help – including myself. There are hundreds of sites that can help you on this journey. But one of the best places is the xda-developers forum.
If you decide to take your first step into a brave new world, good luck on the journey – and I can’t wait to see you on the other side.
-Roo
Not So Seamless – But Oh, So Delicious
Sometimes, you have way too many balls in the air. I saw the shiny bauble (Tor on my Droid 2) and I had to chase it. Here is what happened:
- I tried to download the tool from the Tor site. That proved fruitless. I was connected via 802.11 to my home network. And my home network has content filtering through a third-party. And this site was blocked.
- Consequently, I had to disconnect from the home network and connect via the 3G network. The download still had some problems.
- So I downloaded to my PC and connected up the USB cable. From there, I moved and launched the package installer. The installer did it’s job and Tor was on my phone.
- Too bad I couldn’t connect to the Tor network. I tried the default test site from my Android browser and was greeted with the fact that my browser wasn’t using Tor. That made some sense as I hadn’t pointed my browser to a local proxy that was configured to use the Tor connection. Since Orbot uses Privoxy, I had the proxy. I just had to configure the browser to use the proxy.
- Unfortunately, changing the proxy on the default Android browser is not as easy as you might think. There are plenty of articles about how to update the settings if you have rooted your phone; I have not as I want to see what an average user can do with their phone. But most articles also said that you could use adb to update the settings.
- I went ahead and tried to use adb. But I had some issues getting adb to work from my PC to my Android phone. The basic trouble is that I had already change my SDK to support Gingerbread. And adb was moved in the new SDK to the platform-tools directory. That one was easy to fix: I just had to change my PATH to include the new directory.
- The next attempt was also unsuccessful; I had authorization problems. Rather than keep stumbling, I turned to “off-the-shelf” solutions to update the proxy setting.
- Fortunately, there are plenty of tools in the Android Market to change the proxy settings. Once I downloaded one of them, I changed my browser’s proxy settings and retried the test that comes within Orbot. The results of that test are found in the image above.
I’m not done with my tests. But I am encouraged that I can now encapsulate everything from within a Tor tunnel. More to follow…
-Roo
It’s About Time – In So Many Ways
This week was quite surreal. I’ve spent almost thirty-five years working with computers. [Note: That includes a few years as a teenager.] I’ve built computers from scratch. I’ve held practically every job you can imagine in the software industry. But I have never been officially certified in anything. So I’ve been confronted with one of my own personal boogeymen: I must take a test that I must pass in order to keep my job. What’s up with that?
I have chaffed at the utter indignity of it all. And I’ve been more than a little bit apprehensive about the upcoming test. [Note: I’m taking my test on December 27th. So I would really appreciate your prayers.] And I’ve also laughed at the ridiculousness of such tests. As a senior leader, I recognize the importance of such things. And as an individual contributor, I recognize the fact that such tests are really poor predictors of performance. But as a man called by God to set an example, I must set any and all of these other considerations aside. I must prepare as if I were doing this for the Lord – as indeed, I am. And I must demonstrate my faith with my gentle attitude. So I am soldiering on.
So after a long week of staring at LCD monitors, I was so glad to get home and just relax. Of course, that didn’t happen. Things have just kinda stacked up at home. So I finally got some time to attend to some overdue items.
I finally got my revised taxes submitted to my state’s department of revenue. This is always arduous, frustrating and altogether soul-rending. But I just needed to set aside a few hours to pull all the pieces together. Hopefully, the state will understand what I have submitted. But if they don’t, this will take a whole lot more time to iron out. But I’ve taken the first few steps in the journey. So I have a smile on my face.
I also had to assemble all of my ‘dependent’ verification documents for my employer. BTW, I’ve never had to provide so much data before. I had to get birth certificates for everyone. I even had to find my marriage certificate. Unfortunately, the marriage certificate was in a safety deposit box at a bank that I haven’t visited for over twenty year. Neither Cindy nor I could find the keys for the safety deposit box. So after paying to have the lock drilled out, we retrieved our marriage certificate. And we bought a fire box so that we could securely store all of these documents in the house. As of now, all of the older and newer documents that need to be protected against calamity are now safety tucked away in a hiding place that can survive fires or tornadoes. With this done, I got all of the ‘dependent’ information bundled together and sent to my employer.
In addition to this, I’ve finally finished all of the retirement consolidations that I’ve been doing over the last few months. It’s nice to have all of the administration in one place. And it is good to have my retirement savings properly invested in a diverse number of well-managed funds. I can’t wait to do my next quarterly review in order to see how well (or poorly) we’ve done with my new plans. I certainly can’t do any worse than I did when almost everything was vested in (and through) only one corporation.
But these things aren’t what prompted me to write this post. Yes, all of these things were woefully overdue. But this morning, I got a chance to ‘geek out’ – just a little. My classes have focused on information security. And I have always been an idiot-savant in this area. I’ve never had any formal training in the subject – even though I was a senior security engineer about twenty-five years ago. I’ve always learned by doing. And I have a passing familiarity with the subject. [Note: If you don’t believe that last statement, just read some of my posts over the years. You’ll see that I am wholly entranced by security and privacy matters.]
With the purchase of my Android phone, I’ve had to confront a whole lot of privacy issues. I use my phone to securely connect to my home computers. To do this, I tunnel VNC through SSH. I also store some fairly important documents on my phone. So I use Truecrypt (on my PC) to create and store a secure backup of a small number of important files.
But I’ve always had to encrypt the data myself. Or I’ve had to use other tools on my phone and/or PC. Basically, all of these tools were file-oriented solutions. At the same time, there were very few options to securely encrypt streams of data between the phone and other computers. Yes, I could use https to build a secure tunnel to the site I was interacting with. But if I wanted to secure all traffic, I was out of luck – until now.
The folks at the Tor project have released an Android tool named Orbot. I had a little trouble downloading the tool OTA. But I finally got it by transferring the package to my SD card. Over the next few days, I’ll be testing this tool to see how it works. I am pretty darned psyched that this tool is now available – and it’s about time that phones could participate on the Tor network.
-Roo
It's About Time – In So Many Ways
This week was quite surreal. I’ve spent almost thirty-five years working with computers. [Note: That includes a few years as a teenager.] I’ve built computers from scratch. I’ve held practically every job you can imagine in the software industry. But I have never been officially certified in anything. So I’ve been confronted with one of my own personal boogeymen: I must take a test that I must pass in order to keep my job. What’s up with that?
I have chaffed at the utter indignity of it all. And I’ve been more than a little bit apprehensive about the upcoming test. [Note: I’m taking my test on December 27th. So I would really appreciate your prayers.] And I’ve also laughed at the ridiculousness of such tests. As a senior leader, I recognize the importance of such things. And as an individual contributor, I recognize the fact that such tests are really poor predictors of performance. But as a man called by God to set an example, I must set any and all of these other considerations aside. I must prepare as if I were doing this for the Lord – as indeed, I am. And I must demonstrate my faith with my gentle attitude. So I am soldiering on.
So after a long week of staring at LCD monitors, I was so glad to get home and just relax. Of course, that didn’t happen. Things have just kinda stacked up at home. So I finally got some time to attend to some overdue items.
I finally got my revised taxes submitted to my state’s department of revenue. This is always arduous, frustrating and altogether soul-rending. But I just needed to set aside a few hours to pull all the pieces together. Hopefully, the state will understand what I have submitted. But if they don’t, this will take a whole lot more time to iron out. But I’ve taken the first few steps in the journey. So I have a smile on my face.
I also had to assemble all of my ‘dependent’ verification documents for my employer. BTW, I’ve never had to provide so much data before. I had to get birth certificates for everyone. I even had to find my marriage certificate. Unfortunately, the marriage certificate was in a safety deposit box at a bank that I haven’t visited for over twenty year. Neither Cindy nor I could find the keys for the safety deposit box. So after paying to have the lock drilled out, we retrieved our marriage certificate. And we bought a fire box so that we could securely store all of these documents in the house. As of now, all of the older and newer documents that need to be protected against calamity are now safety tucked away in a hiding place that can survive fires or tornadoes. With this done, I got all of the ‘dependent’ information bundled together and sent to my employer.
In addition to this, I’ve finally finished all of the retirement consolidations that I’ve been doing over the last few months. It’s nice to have all of the administration in one place. And it is good to have my retirement savings properly invested in a diverse number of well-managed funds. I can’t wait to do my next quarterly review in order to see how well (or poorly) we’ve done with my new plans. I certainly can’t do any worse than I did when almost everything was vested in (and through) only one corporation.
But these things aren’t what prompted me to write this post. Yes, all of these things were woefully overdue. But this morning, I got a chance to ‘geek out’ – just a little. My classes have focused on information security. And I have always been an idiot-savant in this area. I’ve never had any formal training in the subject – even though I was a senior security engineer about twenty-five years ago. I’ve always learned by doing. And I have a passing familiarity with the subject. [Note: If you don’t believe that last statement, just read some of my posts over the years. You’ll see that I am wholly entranced by security and privacy matters.]
With the purchase of my Android phone, I’ve had to confront a whole lot of privacy issues. I use my phone to securely connect to my home computers. To do this, I tunnel VNC through SSH. I also store some fairly important documents on my phone. So I use Truecrypt (on my PC) to create and store a secure backup of a small number of important files.
But I’ve always had to encrypt the data myself. Or I’ve had to use other tools on my phone and/or PC. Basically, all of these tools were file-oriented solutions. At the same time, there were very few options to securely encrypt streams of data between the phone and other computers. Yes, I could use https to build a secure tunnel to the site I was interacting with. But if I wanted to secure all traffic, I was out of luck – until now.
The folks at the Tor project have released an Android tool named Orbot. I had a little trouble downloading the tool OTA. But I finally got it by transferring the package to my SD card. Over the next few days, I’ll be testing this tool to see how it works. I am pretty darned psyched that this tool is now available – and it’s about time that phones could participate on the Tor network.
-Roo
War-strolling With Bailey
One of the biggest blessings each holiday is having all of my kids at home. And this holiday is no exception. Bailey was here for almost a week. And while she spent much of her time with her beau, she also spent time with her father. And for the past couple of days, she and I have had a chance to stroll through the neighborhood.
Today, we made it a point to go to the neighborhood public library. And the weather was quite accommodating. Today, we walked +4 miles. And we also just chatted. We chatted about life, about long-term love and about our Savior. It was quite a refreshing and adult stroll – and I got a chance to walk down some streets that I don’t ride on.
So I took the opportunity to run the Wigle WiFi war-driving app on my Droid 2. And what to my wondering eyes did appear but a few hundred more access points as we strolled around the neighborhood.
I also got a chance to check out some mapping functions and use some real estate apps (like Zillow). It’s always good when my location-based tool chest get a little bigger. But while all of these technologies are very cool, the best part of the stroll was the time that I spent with my daughter. I am truly blessed to have children that are still willing to talk to me!
-Roo
DoubleTwist = Android Sync + Markets
A few years ago, a fellow named Jon Johansen (aka, DVD Jon) exploded onto the scene with some really cool technology: he released DeCSS as a means to “liberate” DVD films from onerous copy protection. I don’t want to go through the legal and moral arguments that his actions provoked. But later, he became more legit when he helped to form DoubleTwist.
When DoubleTwist first hit the market, it was a means of decrypting iTunes music files for use by other applications on your PC. This meant that it was a very speculative venture. First, it was taking aim at folks who were ostensibly “protecting” musicians and their copyrighted works. Second, the folks who needed decrypted versions of music (on their desktops) were a limited community: most of them were using songs that they had purchased as input to other programs (e.g., DVD authoring tools, etc). So while I tried the product, I decided to buy music from Amazon instead. So until recently, DoubleTwist was cool – but not very useful for me.
But Jon & Co. have finally pulled together a more expansive reason for DoubleTwist: syncing media with Android devices. DoubleTwist is now a free product that can sync any (or all) of your iTunes files with your Android device. The product is free to use. So DoubleTwist is making its money in a different way – it is now a distribution channel and an advertising platform. For those that have an Android device, you can buy apps from within DoubleTwist. And you can also buy music and movies from Amazon through the DoubleTwist tool.
So the way that you can legitimize a hacking tool (that decrypts protected media) is to become a media intermediary. I am sure that DoubleTwist is giving the media “market” owners a “cut” of their business. That way, a previously offensive technology is now legitimized.
But is it a good tool? After a few hours of playing with the tool, I am thrilled to have a free tool like this. Yes, you can buy tools to sync with Android phones. But I am happy to recommend this tool. It syncs the music I want to sync. It scrobbles to Last.fm. It allows you to set songs as ringtones. It also downloads and displays album art with ease. After a few more weeks, I may revise and extend the recommendation. But for now, I give DoubleTwist a qualified “thumbs up” on the Roo-meter.
-Roo