Do you approach your life thinking you are always correct? Why? To think you are always correct in my mind means you either intentionally or (maybe worse) blindly delude yourself. It also makes me wonder what else about your perception of reality is warped. There are countless examples about the imperfections of human memory and in the human senses in general. An example are optical illusions, or as Neil deGrasse Tyson* calls them, “brain failures”. Yet, I constantly run into people who do not accept criticism or correction well because they know they are correct.
I do not take pleasure in telling you, you are wrong. This is true especially because given my profession when I am doing so it usually means more work for me. If there is anything I do not want more of in my life it is more work. If I tell you, you are wrong, it is not an insult. This should be obvious if you were able to comprehend what I have already written. I think everyone is going to be wrong which includes myself, so just accept what I am telling you, especially after you make me prove to you that you are wrong with multiple examples of why (some people are more stubborn than others).
*The youtube link is a little before the optical illusion reference to provide context.
So… it has been a long time since I actually took the time to post. Mainly due to various games and just laziness. In any case, I finally feel like getting back to this blog. I just started to read a stack of Linux Journal magazines I never got around to reading and came across an article written by Kyle Rankin in the July 2010 issue. He talks about a couple of ssh tricks and one I should have been using a lot in particular.
Basically, as an admin you often have to transfer files from your machine to a customer’s machine but there’s a pesky firewall in between. So you end up copying them to an intermediate box, and then again from there to your customer box. Well you can skip the intermediate copy by creating a ssh tunnel on the box that has access to both your and the customer’s boxes.
From the intermediate box:
ssh -R 2222:yourbox:22 customerbox
This creates a tunnel from your machine port 2222 to the customer box. So then you can scp like so from your machine:
scp -r -P 2222 destdir localhost:sourcedir
So easy that I shouldn’t have wasted countless hours copying the hard way.
So back in April I decided to leave my job for a long extended vacation (in other words I quit). Since then I have been recovering from burn out and I took up learning Android development.
The past three months (For the previous three months I kind of did nothing. Burn out is evil.) has been interesting in learning all the things you can do with rooted devices and Android in general. Even went to the BigAndroidBBQ and attended most of the sessions. As luck would have it though, apparently, the phone I have, Droid X, doesn’t have quite as much support in the root and ROM community. Cyanogenmod recently added Droid X as one of their devices, but it doesn’t rate as stable. For example, it doesn’t appear to enable tethering like it does for other devices. The CM nighly builds also seem to not include the correct software camera so you have to flash a fix for that too. This software camera also doesn’t respond to the hardware camera button. I have never felt the need to try the HDMI out so unsure if that works. Even with these issues, it runs so much faster than the stock Motorola/Verizon Android that it’s still well worth using if only to get rid of the bloatware. Then of course there’s a possible Verizon security issue I heard about on xda developers (around 8 min point in video) that supposedly will allow a malware application free reign to most of your crucial phone information and if app has has internet permissions upload your data to its server of choice. Anyway on to the rooting.
*** NOTE ***
There’s supposed to be a new way to one click root that does not require you to downgrade first and do all of the following, but I did not try it. The methods below have worked successfully on two devices.
Rooting your phone using the methodology does require the Android SDK to be installed and you can just go to android.com and follow instructions there to get the SDK working. First I started off using CM’s instructions from their wiki for Droid X which you should have open for this article to make sense,
- 1 Before you do anything — Make a backup
- 2 Rooting the Motorola Droid X
- 3 Installing the Droid 2 Recovery Bootstrap with the ClockworkMod Recovery
- 4 Flashing CyanogenMod
Okay, so here’s one of the annoyances of the internet. Outdated or incomplete documentation and the community isn’t maintaining it (actually, this reminds me of work too). Well, several of the utilities they list requires your phone to already have been rooted. So the only backup I made was to sync my contacts to my gmail account. Nothing else really mattered since everything else was being stored on my sdcard and all apps can just be downloaded again.
I have performed both of the subsections 2.1.1 / 2.1.2 for the Windows and Linux sides. The Linux side was much easier of course as shown with the fewer steps. There’s at least one gotcha in these steps. Steps 11 or 8 (Windows or Linux methods respectively) are a bit unclear. If your phone reacts like mine after doing the initial flash, it gets stuck in a boot loop with the Droid X eye logo. After some Googling I came up with this much clearer set of instructions from here (rewritten again by me):
Turn off phone ( by taking the battery out). Power on phone. As it is powering on, first hold power button and also the home button. When the Motorola M logo displays, release the power button but don’t release the home button. If you get an android bot with an exclamation point, then press the search button. Do a factory reset and you can boot again.
After that it’s fairly simple to finish the section and gain root. Now there’s instructions for using rageagainstthecage to gain root, but there seems to be a problem with it and it doesn’t quite work. As they do give the source code, I could probably debug it and figure it out why it dies, but instead I installed z4root.1.3.0.apk. Root achieved. You should also install SUperuser.apk at this point. Since I did not write this right away, you may have some additional small issues.
From there on, you can continue to install ClockworkMod Recovery and CyanogenMod, the instructions are straight forward if slightly misnamed here and there. One additional thing if you do plan on using CM is to find CM4DXfix2.zip and flash it after flashing the latest CM nightly to correct the camera issue.
I had been searching for an idea for a first post that wouldn’t be too much effort until I get into the rhythm of writing these when it occurred to me that a quick one about Synergy wouldn’t be a bad start.
I first came across this awesome utility years ago at work when some of my team started to use it. As we were working on both Windows and linux servers some of them preferred to keep separate workstations with both OSs loaded. As consumer level KVMs always seem to be more pain than benefit they looked for an alternative and Synergy was it.
Synergy allows a user to share a keyboard and mouse for multiple computers over the network. There’s a client and a server and you simply configure where your monitors are relative to each other and then you can move your mouse pointer across to the other system like you would for a single machine with dual monitors. It also has some clipboard support so you can copy and paste across your systems.
I never had an occasion to use it, since at work I always preferred a dual monitor linux workstation (Gentoo back in those days), but had kept it filed away in the back of my mind. I finally loaded it up recently as I now I keep two boxes. One for being useful (linux, now I am using Arch) and one for games (Windows). In any case, Synergy makes life so much better.