Uncategorized

Numeric Keypad Weirdness

This morning, I was typing something in and accidentally hit a key or keys near the Insert and Print Screen keys.  The num-lock light went off and using the numeric keypad stopped working.  When I turn num-lock back on, rather than entering numbers, my cursor jumped around.  I’m not sure how I did this, but to fix it, I did this (on Ubuntu 10.04):

  1. Start Keyboard Preferences (System -> Preferences -> Keyboard)
  2. Select Mouse Keys tab
  3. Uncheck “Pointer can be controlled using the keypad”

Uncategorized

Comments (0)

Permalink

New CyanogenMod 9 Download Site

For Samsung Galaxy Nexus on Verizon (toro):
http://download.cyanogenmod.com/?device=toro&type=nightly

Uncategorized

Comments (0)

Permalink

Android Emulator Won’t Start

The Android SDK has a device emulator.  I use it in Eclipse with the Android JUnit test framework.  A few days ago, the emulator refused to start.

From Window -> AVD Manager, I started one of the devices.  A dialog titled “Starting Android Emulator” came up.  Inside it, a progress bar ticked off ten seconds.  Then, nothing.  This behavior was the same for all my devices, from Android version 1.5 through version 4.0.3.

To see if the problem was related to Eclipse, I started the emulator from the command line.  To do this, you need the name of the AVD:

android list avd

Using my Android 1.5 virtual device, I tried to start it:

emulator -avd OldAndroid

And the result was “Segmentation fault”.  I turned on “verbose” and ran again:

emulator -verbose -avd OldAndroid

This prints out what’s happening.  The last line before the seg fault was:  “emulator: Initializing hardware OpenGLES emulation support”.  Next, I tried to see which system call failed:

strace emulator -avd OldAndroid

The last line there is a futex call with operation FUTEX_WAIT and no timeout.  This call was unfinished, resulting in the seg fault.  From the manual page for futex:  “This operation atomically verifies that the futex address uaddr still contains the value val, and sleeps awaiting FUTEX_WAKE on this futex address.”  The address appears in the lines above.

A bug report was filed today about this issue:  http://code.google.com/p/android/issues/detail?id=34233

Uncategorized

Comments (3)

Permalink

Android Phone Finder with Google Voice

Apps such as Where’s My Droid can help you find a lost phone.  They work by listening to incoming text messages and, when they see a keyword in the text, performing commands such as turning on the ringer at full volume or turning on the GPS and texting the phone’s location.  This is very cool, until you try to use it with Google Voice instead of your carrier’s SMS.  In short, they don’t support Google Voice.  However, all is not lost.  There are two apps that might be able to work around this.  They are Tasker and Locale.

While the phone finder apps are tailored to automating tasks to find your phone, Tasker and Locale are general purpose automation apps.  They can turn on the GPS, set the volume and send text messages.  My goal is to see if I can get them work work with Google Voice.  Currently, in the Google Play store, Tasker is $6.49 and has 9,424 reviews and a 4.5 star rating.  Locale is $4.99 and has 4,190 reviews and a 4 star rating.

Earlier this week, I downloaded Tasker and set it up to turn on WiFi when I get home and turn off Bluetooth when I get to work.  That’s pretty neat, and might be worth the price of admission, but I still need to be able to find my phone.  What I’ve figured out so far is that you can work with Google Voice by using the Notification Event.  This works by reading the notifications that show up on the status bar.  When Google Voice receives a text, it issues a notification with the content of the text.  Try this:  Set up a profile called “GPS On”.  In the context, choose Event->UI->Notification.  Click the icon to the right of Owner Application and select Google Voice.  In the Title field, enter a pattern to match your keyword, such as “*gps on*”.  It’s probably a good idea to include a keyword so that the task doesn’t accidentally get triggered by a text; so use something like “*xyz gps on*”.  Then create the task to turn on GPS.  There’s some extra set-up to get notifications working.  Read about the Notification Title in the documentation to do this.  Also, on android 2.3 and above, Tasker can’t directly control the GPS.  To make this work, you’ll need the Secure Settings plug-in and a rooted phone.  For the task, select Plugin -> Secure Settings.  Next to Configuration, select Edit.  Scroll down to GPS and select it.  Make sure the radio button is set to On and tap the save button (the disk icon in the lower left).

At this point, if you’ve got Google Latitude set up, you’ll be able to remotely turn on the GPS and track down your phone from another computer.  There’s more to do, but I’ll save that for another post.

Uncategorized

Comments (1)

Permalink

Google Apps

The Google applications, including GMail and the Play Store, don’t come with CyanogenMod.  If you need them or they get broken by a CyanogenMod upgrade, you can install them with the Goo-Inside.me app.  Once you install it, for the Verizon Galaxy Nexus, download gapps-ics*.zip.  If you don’t want to use their OpenRecoveryScript, after you download the Zip you can use ClockworkMod Recovery to install the Zip.  The file downloads to /mnt/sdcard/goomanager/.

Uncategorized

Comments (0)

Permalink

Upgrading Radio on Verizon Galaxy Nexus

Use the RootzWiki instructions.

After copying each img file, create a file with the same name and append an .md5sum extention to it.  In this file, copy the MD5sum number from the web site, followed by two spaces and the img file name.  Save the file, then run md5sum -c radio.img.md5sum.

If fastboot sits at the <waiting for device> prompt forever, make sure your phone is in fastboot mode (power off, hold volume up and down and hold power until the phone vibrates–could be 20 seconds or so; in the lower left of the screen it’ll say “FASTBOOT MODE” in red). If you still get the <waiting for device> prompt while in fastboot mode, your permissions probably aren’t set up correctly.  In that case run fastboot with sudo.

Uncategorized

Comments (1)

Permalink

Upgrading CyanogenMod on Verizon Galaxy Nexus

  1. Start ROM Manager
  2. Boot into recovery
  3. Select Backup and Restore, then Backup
  4. Copy the backup to your computer
  5. Download CyanogenMod
  6. Run adb push update-cm-9-20120510-NIGHTLY-toro-signed.zip /sdcard/.
  7. On the phone, select “wipe cache”
  8. On the phone, select “install zip from sdcard”, “choose zip from sdcard”, select update.zip above.

Uncategorized

Comments (0)

Permalink

Installing ClockworkMod Touch Recovery on Verizon Galaxy Nexus

  • Download the appropriate ClockworkMod Touch Recovery.
  • Open a terminal and cd to the folder where adb and fastboot are (e.g., android-sdk/platform-tools)
  • Run ./adb reboot bootloader to enter Fastboot. You might need to run this using sudo if your permissions aren’t set up.
  • Run ./fastboot flash recovery recovery-clockwork-touch-5.8.0.2-toro.img
  • After a successful flash, run ./fastboot reboot

Uncategorized

Comments (0)

Permalink

TiVo Premier Elite Initial Impressions

The new TiVo has been installed for a few weeks now (since March 29th).  It’s been a huge improvement over the FiOS DVR which exasperated me daily with its poor user interface.  So what’s so great about the TiVo?  For me, it’s the response time.  When you press the controls to fast forward, rewind or pause, they act in a predictable manner.  Which is to say, they work.  Everything beyond that is gravy.  Really.

The four tuners eliminate the conflicts of multiple shows airing at the same time.  You’d think there wouldn’t be more than two things you wanted to see on at the same time, and if you were the sole user of the DVR, you’d be right.  But when there are two kids, a mommy and a daddy using the same DVR, it happens frequently.  I love to watch all four tuners recording at once.

Another benefit of the TiVo is the recording capacity.  It’s got a 2 TB drive, which TiVo says is enough for 300 hours of HD.  I haven’t checked that, but right now, there are 383 recordings, 202 of which are in HD and it’s using 8% of the drive.  Keep in mind, my TV is 720p not 1080p.

One of the things I enjoyed about my series 2 TiVo (the new one does this, too) was that it found shows I didn’t know existed.  It tracks what you like (you can vote on shows, 1-3 thumbs up or down) and, when one of its tuners isn’t busy recording something you’ve asked for, it records shows it thinks you’ll like based on your votes.  It calls this a “TiVo Suggestion” and it works really well.  For the first week we had the TiVo, I didn’t have all of our recordings set up, but the TiVo started to record our favorite shows without being asked.  Of course, you can tell it to always record your favorites, just as any DVR does–this is called a Season Pass.  To give you an idea of how useful  Suggestions are, at the moment the TiVo has 314 suggestions.  This is far more than the 42 recordings I’ve asked for.

Lastly, there was one feature I hadn’t thought about before I started looking at the Elite–it can use MoCA, which is Multimedia over Coax, your cable company’s cable.  This means you don’t need an Ethernet cable or a wireless Ethernet adapter.  The TiVo uses the Internet to get TV listings and to stream shows.  Wireless isn’t really fast enough for this, so having MoCA means you don’t have to run a network cable to the TiVo.  Streaming works between TiVos and also from Netflix, Hulu Plus, YouTube and my NAS.  I don’t have Hulu, so I can’t comment there.  Netflix works well, but has a quirk that it only streams from you queue.  You can’t pick shows from the TiVo.  You have to pick out what you want on your computer.  I’ve only watched a few things from my NAS.  One item refused to transfer, but I don’t know if that’s the TiVo’s fault or not.

Another improvement that could be made is in the tuner scheduling.  If we’re watching live TV, the TiVo will sometimes ask to change the channel to record a show even if there are other unused tuners.  Of course, you can tell it to do so, switch to an unused tuner and change the channel, but you shouldn’t have to.  And if you’re watching behind live (the TiVo buffers a 1/2 hour of TV so you can pause for a while and catch back up), you’ll lose the buffered part of the show.

So, to sum, it’s not perfect, but it’s close and I love it.

Uncategorized

Comments (0)

Permalink

HTPC Project Update

The HTPC project (a.k.a. get rid of cable) has been going on for almost a year now, so I thought I’d post an update.  The original intent was to see if cable TV service could be replaced with internet and broadcast TV.  My requirements for a solution were:

  • Usable by the whole family
  • Content obtained legally
  • No loss of content
  • Run on Linux machines (or at least not Windows)

So can it be done?  Not exactly.  At least I couldn’t make it work.  Here’s what I found out:

  • Audio/Video retailers won’t touch this space.  They don’t know it, they don’t want to know it.  All they do know is that this stuff isn’t turnkey and they don’t want to support a computer.  And they’re right.  This means setting this up without computer skills is probably not a good idea.
  • The cable TV experience has been refined over the years.  As petty as it sounds, you need a traditional remote control.  No one wants to have to sit with a keyboard and type in a URL, log in and push a “full screen” button to switch channels.
  • Some networks are only available only on cable.  Sports, for instance, are not always available.  If they’re not broadcast (i.e. carried by a major network), you can’t get them without buying a subscription.  This was a problem for Phillies and Eagles games.
  • Streaming services like Netflix, Hulu and Amazon video don’t run natively on Linux.  To use them requires inconvenient steps.  See this discussion of Netflix on Linux.

Could I have done more to make this work?  Yeah.  I didn’t install a TV tuner in the HTPC. This would have let us fast-forward and rewind through live TV.  Once you’ve gotten used to this, it’s jarring to watch TV without it.   (Heck, sometimes I try to rewind the radio in my car.)   I didn’t try any subscriptions to replace cable content. But those subscriptions still require use of a web site, which, as I mentioned, scores low on ease of use.  I could have canceled cable to force myself to dig deeper for a replacement.  And, lastly, I did this project in the basement, which isn’t as comfortable as the family room.  If the kids were watching their shows in the family room (even ones I would never watch myself), I found I’d rather watch that in the family room than go down to the basement to watch something I enjoyed.  Insane, yes.  Lazy, yes.  But that’s what happened.

The experiment wasn’t a total loss.  The HTPC gets content automatically loaded on the NAS by Sickbeard.  I watch those shows while on the treadmill or bike trainer, which means I exercise more.  The kids use the HTPC to watch YouTube on the big screen.  I use the big screen to preview video I take with my DSLR.  The NAS has made back-ups a breeze.  There’s an extra computer in the house as a back-up.  And I was inspired to get a TiVo!

Although we’re not giving up cable, one thing that was a constant irritation about cable was the usability of the FiOS DVR.  In addition to being buggy (switching tuners unpauses a show, fast forwarding to the end of a show is tricky, recordings sometimes don’t work right), the user interface is unresponsive.  Frequently the DVR doesn’t respond to a button press.  What’s worse is there’s no user feedback when the DVR is busy.  So you can’t tell if it got your command or not.  Do I push the button again?  Wait a while?  Ugh.  After living with this for three years, I replaced it with a TiVo.  I had considered getting the TiVo Premiere because it records broadcast TV.  What the HTPC experiment taught me is that I can’t replace cable just yet.  So if I’m going to use cable, I don’t need broadcast.  The Premiere Elite has four cable tuners, but no broadcast tuner.  It’s only been in the house for a day–I’ll post more on that later.

Uncategorized

Comments (0)

Permalink