I am one of those odd folks who truly believes that each challenge you face is an opportunity to grow and become more than you were before. Yeah, it’s trite. And worse still, I’m not always a consistent example of this “life lesson.” But this weekend has been a cool example of how a challenge can yield some unexpected (and welcome) changes.
Over the past week, I’ve run into quite a few problems with hard disk drives. We’ve had some trouble at work. And we’ve had some trouble here at home. And this is not altogether unexpected as hard drives are the largest source of moving parts in any computer. So they are the most likely components to fail. And this week proved that point.
At home, we’ve had a hard drive fail in my wife’s old laptop. When she had a power supply fail on the device last month, we quickly replaced the whole laptop. And the new laptop runs very well. But what about the old laptop? Well, I’ve finally gotten around to trying to extract Cindy’s data from off of her old laptop. And the results have been singularly unimpressive. After pulling the drive out, I got some USB-to-SATA cables and hooked up the drive to my main system. Unfortunately, all I am getting is a clicking sound and no recognition of the drive when it is attached to my system. After confirming this with someone else at work, I’m coming to the realization that when we had the power supply problem, it zorched both the motherboard and the hard drive. I’ll try a few more things this week [including the freezer trick]. But unless I want to send the hard drive off to a clean room, we may have substantial data loss (since the last backup).
And the situation got worse when I started to have serious problems on my own external hard drive. I had a three-year old external, USB-attached hard drive. And I started to get some seek errors on the unit. After about four hours of fiddling with the device, I got it back to a “limping along” state. But I knew that such states rarely last. So I began the process of researching a replacement unit.
After a lot of research, I finally decided not to buy the NAS system with a RAID-5 infrastructure. I didn’t have the cash for that kind of expenditure. Rather, I got a simple, single disk NAS system at Best Buy. And as of this moment, I am singularly impressed by the Western Digital MyBook Live device that I purchased.
This device is simple and solid. It plugs into an AC outlet. And you connect it to your network with an Ethernet cable. In my case, I plugged it into the main router/switch that I have in my office. And the good news is that this device will migrate to my gigabit Ethernet network – whenever I put that in place.
Once I plugged it in, the setup was utter simplicity. Within a few minutes, I had a device that could act as external storage for every computer connected to our network. And the performance seems reasonable – even for systems connected via WiFi (including our smartphones). So within a few minutes, the core mission was accomplished.
Then came the fun.
The enclosure for this 1TB drive came with sufficient ROM and RAM to place real functionality within the chassis. Obviously, there is a Linux kernel running Samba. And there is also an instance of Twonky Media server. So this device provides DLNA/UPnP services on the home network.
This means that I can have all sorts of devices consume the content – including my HDTV and my phone. But at a minimum, every Windows device in the household can get streaming content from the NAS.
And the music and videos will stream directly through Windows Media Player.
At this moment, I have all sorts of content that I used to source from my desktop system (running TVersity) which can now be streamed from a purpose-built applicance.
All of this proves that cool capabilities can now be plugged right into the network. Last year, I plugged a printer directly into the network. Yesterday, I plugged disk storage ad a streaming media server directly into the network. Before this, every desktop and laptop in the house depended upon my desktop system to be available. I can now stop worrying about whether I am impacting other people’s work when I do some CPU-intensive or some disk-intensive task. I can schedule desktop downtime during prime-time hours. W00t!
Finally, all of this new stuff makes me realize just how far we’ve come in such a short time. When I built my first computer system (i.e., a Heathkit H89), I had the option of installing one of the very first “Winchester” drives into the system enclosure. I declined the option. I knew how important disks would be for personal computers. But I couldn’t justify spending over $600 for 10MB of storage. And how could I ever use that much storage. Yesterday, I installed a system with 100,000 times the capacity for 1/4 the price. Times really have changed.
-Roo
Category: Technology
Liberty: An Ideal and a ROM
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
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
I'm Like a Kid at Christmas!
I love Christmas for so many reasons:
- Today is a reminder that God is with us. He emptied himself (Philippians 2) to dwell among us.
- Today is a reminder that there is always a home where we belong. I loved the pastor’s homily last night. He spoke of the prodigal son. This really IS the true Christmas story. God allows us to choose a path that leads to ruination. But He is always waiting for us to return. And He rushes to meet us upon our return. The birth of Jesus is testament to God rushing to meet His children.
- I really do love the gifting process. I love buying and making gifts for others. I am thrilled to see joy as someone opens a surprise or when a deep desire (or unmet need) is realized.
- And I love kids at Christmas – cuz I am really a kid at heart.
So when the Christmas hubbub finally began to subside, I decided to give myself a little Christmas cheer: I decided to treat myself to ApeX 1.3.1 for the holidays. Once I had secured root access, I couldn’t wait very long – and it only took four days for my resolve to waver. I pulled down Rom Manager, installed a bootstrap recovery tool (i.e., ClockworkMod) and got to work.
The process was oh so simple. There are dozens of “howto” guides on the Net. So I won’t reinvent them here. But I will say that the process is not nearly as daunting as the first few WinMo cookers I deployed a few years ago. If you are cautious, then you can do this with confidence. And there is so much assistance that you can obtain. I won’t be a link farm for these kinds of things – especially as there are legal implications. But I can say that all you need can be found on Google.
-Roo
I’m Like a Kid at Christmas!
I love Christmas for so many reasons:
- Today is a reminder that God is with us. He emptied himself (Philippians 2) to dwell among us.
- Today is a reminder that there is always a home where we belong. I loved the pastor’s homily last night. He spoke of the prodigal son. This really IS the true Christmas story. God allows us to choose a path that leads to ruination. But He is always waiting for us to return. And He rushes to meet us upon our return. The birth of Jesus is testament to God rushing to meet His children.
- I really do love the gifting process. I love buying and making gifts for others. I am thrilled to see joy as someone opens a surprise or when a deep desire (or unmet need) is realized.
- And I love kids at Christmas – cuz I am really a kid at heart.
So when the Christmas hubbub finally began to subside, I decided to give myself a little Christmas cheer: I decided to treat myself to ApeX 1.3.1 for the holidays. Once I had secured root access, I couldn’t wait very long – and it only took four days for my resolve to waver. I pulled down Rom Manager, installed a bootstrap recovery tool (i.e., ClockworkMod) and got to work.
The process was oh so simple. There are dozens of “howto” guides on the Net. So I won’t reinvent them here. But I will say that the process is not nearly as daunting as the first few WinMo cookers I deployed a few years ago. If you are cautious, then you can do this with confidence. And there is so much assistance that you can obtain. I won’t be a link farm for these kinds of things – especially as there are legal implications. But I can say that all you need can be found on Google.
-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
Why Use Tor?
So why should you use Tor?
That’s a good question. First, you need to know what Tor does. I find that simple descriptions are often the best. So here is my simple version of what Tor is: Tor is a means of tunneling specific messages (i.e., traffic) through an anonymous (and reasonably secure) network. Wikipedia describes it here.
Many people look at Tor and ask why is such a thing needed? Their questions presuppose that they trust the networks that they communicate across. Most folks think Tor is just for copyright violators, organized criminals or other unsavory netizens. But that is both too simplistic and too trusting. Tor is for anyone who needs to ensure that their communications across the network remain anonymous and/or secured.
Let’s consider a real-world example. There are many nations that do not allow for the Bible to even be carried . Further, many countries routinely persecute and prosecute people that publicly proclaim the gospel of Jesus Christ. But the gospel cannot be silenced by mere mortals. There are men and women who have always been willing to share the Word of God regardless of the cost to themselves.
And throughout the world, tyrannical governments seek to squelch opposition by monitoring the communications of their citizens. Indeed, you could easily argue that the majority of people in the world are being “watched” by the very governments that should defend their liberties.
Like the early Christians in ancient Rome, there will always be those who stand for truth and justice rather than simply obey corrupt civil authorities. And in these nations, tools that help maintain the anonymity of persecuted citizens are very important tools indeed.
If you don’t believe that this was true for our nation, then ask yourself why so many of our founding fathers used pseudonyms for their writings. Indeed, even the authors of the Federalist papers used pseudonyms – although not just for the sake of anonymity.
-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