Monday, December 23, 2013

Change Units to Inches in LibreOffice

This option is a little buried but I finally found it:

Tools --> Options --> LibreOffice Writer --> General

Sunday, October 27, 2013

Auto-Refresh Any Webpage Every Five Minutes (useful for Fantasy Football scores?)

Here is a script I put together tonight because I wanted my laptop to sit on the coffee table and display my two Fantasy match-ups, refreshing the scores every five minutes or so.

Here is what the script looks like in action:

You'll see a floating yellow box at the upper left corner of the browser window, telling you how many seconds remain until the page is reloaded. 

Firefox with the  Greasemonkey Add-On
Chrome with Tampermonkey

Go to here and click the install button.

By default the script will refresh every five minutes, but if you add any other URL to the include list, it should also work.

This script and others I've written are also on github.

Sunday, August 4, 2013

2010 Ford Flex Power Liftgate Won't Open or Close, SYNC Stops Working

If you have the following symptoms with the power liftgate:
  • With liftgate closed, try to open it with the liftgate buttons or the keyfob.  The gate will open about six inches, and then give up, slamming shut.
  • When open (manually), the gate will refuse to close from any of the liftgate buttons or the keyfob.
  • When closed (manually), the gate will refuse to latch completely.  (You will not hear the latching sound you normally hear when the gate is closed).
  • Driver information center indicates that liftgate is open when it is in fact closed.
  • Interior lamps stay on when all doors are closed because it thinks the rear liftgate is open.  (The lamps will shut off after driving away.)
    • Workaround:  Rotate the instrument cluster dimmer to the lowest position, until it clicks -- this will force all of the interior lamps off.  This is also useful if you're tailgating and you don't want the interior lamps on.
It seems that it's possible that the liftgate can forget the learned open and closed points.  It even mentions this in the manual.  See this post on the Ford Flex forum.

At the same time this issue happened, the voice command button on the steering wheel (the button for SYNC) stopped responding.  My phone would not detect the SYNC Bluetooth connection and for all practical purposes it seemed that SYNC was not working at all. 

The solution to both problems:
  • Close the liftgate manually.  
  • Disconnect the battery for 20 seconds.  
  • Reconnect the battery.  
  • Make sure the power liftgate is enabled in the vehicle setup.  
  • Start the vehicle.
  • Open the liftgate with the keyfob or any of the liftgate buttons.
  • Wait at least one minute for SYNC to boot up, and see if the voice command button starts working again.

I may have gotten lucky, but this solved both the SYNC issue and the liftgate issue in my vehicle.

Monday, May 6, 2013

USB to Serial (Prolific 2303) Device Cannot Start (Code 10) in Windows 8/8.1/10

Is this a rare situation where a piece of legacy hardware works fine in Linux and is broken in Windows??

The Prolific 2303 works perfectly fine in Linux Mint.  Yet, for some reason, Prolific says that some of these chips have reached the end of life and won't be 'supported' under Windows 8.  Prolific suggests that you purchase their updated chipset (PL2303HX Rev D):

So, what is different about the newer chips that they *can* be supported in Windows 8, while the older ones can't?  What has changed in Windows 8 that makes this support different?

Here's the yellow triangle with exclamation point that you'll see:

And here is the "Code 10" error:

Fixing it:  Some clever people have figured out workarounds for this issue.

Get this file:   (Google Drive link here.)

Extract the contents of this file somewhere and examine the contents:

Right click the .inf file, and select "Install".

I didn't notice that anything happened when I ran it.  Probably because I've tried so many different drivers and installations; maybe it was already installed, I don't know.

Got back to the device manager and right click the Prolific USB to Serial comm port, and click "Update Driver Software".

In the resulting dialog, click "Browse my computer for driver software":

Select "Let me pick from a list of device drivers on my computer":

Select the Prolific driver version 3.3.2 from 2008:


If all went well, you'll no longer see the yellow triangle:

h/t to the original post at Microsoft's Technet forum by user drtedrted.

Saturday, May 4, 2013

Windows 8 + Linux Mint UEFI Dual Boot Follow Up: When things go wrong.

Your BIOS setup may look different from this, but this is what mine looks like when it works the way I want (dual boot via Grub):

My BIOS "Boot" Configuration
Notice the first item called "mint".  This guy disappeared once after a Windows update.  In order to get it back, you may have to add it again.  Notice the option "File Browser Add Boot Option" in the screen above?  Select that option and you should get something that looks like this:

Dell file chooser
This is just a primitive file picker.  Above is a list of partitions on my machine.  You can select any one you want and see what is in there.  Then one you're looking should have contents like this:

Under <linuxmint> you should see this:

The grubx64.efi file is the one you want, this one will start Grub on boot.  Once you've selected this file, you will probably be asked to name the new boot configuration.  You can call it whatever you want.  Once you've given it a name (I called it "mint"), you will want to make it the first boot priority as in the first photo of this article.

Another problem I ran into once (again after a Windows 8 'update') was messed up partition flags.  Here is what my "working" partitions look like:

I've highlighted the partition flags at right.  You will of course need to know what you're doing if you start messing with these.  The important flags are "boot", which is on /dev/sda1 here, and the "msftres" flag which is on an 'unknown' chunk of the disk.  Make sure these are set properly.

Finally, when things really go wrong and you can't boot into Windows 8 anymore, you may need a Windows 8 rescue image.  This can be generated from a working copy of Windows -- even a working copy from a friend that has Windows 8.  If you can't find a friend that has it, maybe you can go to a local computer store and get one made...  You just need an 8GB USB memory stick.  I had to borrow one one from a friend of mine in order to use the utility called "bootrec".  The general procedure was something like:
  1. Boot Windows 8 recovery from USB drive. 
  2. Get to a command prompt and run the following:
  3. bootrec /fixmbr
  4. bootrec /fixboot
  5. bootrec /rebuildbcd
I am not sure which of the last three commands was most effective in fixing my problem, but I ran all of them.

So that's it.  For any problem you may have, I think you've got the information here to solve it.

Monday, April 15, 2013

Search Transactions by Date with Firefox or Chrome

 If you're a user, you've probably noticed that the search interface isn't all that great.  For one thing, you can't search your transactions by date.  When tax season rolls around, it is absolutely necessary to search and display only the transactions from the previous year.

It seems I'm not the only one to have noticed this oversight.  Look at the discussion on the help blog here.  At that time (2009!) Mint representative Matt Snider posted the following response:

You can, but currently only by modifying the URL directly. We intend to someday expose this functionality in the user interface, but have not been able to agree on a minty enough design. Anyway, go to the transaction page, and you should see "" in the URL. Add the following "?startDate=06/01/2009&endDate=06/30/2009" at the end of the URL and hit enter. Change the start and end date to the dates you want to search. The complete URL should look something like this:

Here Mint admits that they've been unable to come up with a "Minty enough" design in four years time!  In addition, this post reveals a semi-official interface to do this filtering yourself.  With this information, at least we are somewhat equipped to fix this problem ourselves.
  • If you use the Chrome browser, check out this extension in the Chrome Web Store.  I'm not a Chrome user so I can't comment more on this solution but it looks pretty sweet.
  • If you use Firefox, you can use my Greasemonkey script.
The basic interface.  Both dates are OK, so they're colored mint green.
Using the script:
  • Load the "Transactions" view on
  • Two input fields will appear below the search box. 
  • Set the start date and end date.  
  • If both dates are valid dates the page should reload automatically click the "Go" button.
  • If either of the dates are invalid the invalid date will be marked as pink.
  • You can get pretty crazy with the input date.  Try "Jan 1 2013" or "12-Jan-13" or whatever you want.  This functionality comes from the awesome datejs library.  Read more about that here.
  • It is possible that you get into a situation where the dates aren't updating, in this case you may need to start from "Transactions" again.
Here are some more clips of what the interface looks like:

Hover over either date to get more information.  Note "yesterday" works fine.

...just using a different entry format.

Here is an invalid entry.

It isn't perfect, but better than nothing!  Check out the source at github, change it, and push it back to me!

Saturday, April 13, 2013

Linux Tweaks (Mint 13)

This is just a list of simple tweaks I've made to my Mint system.  This post has been sitting as draft for some time and I thought I'd post it tonight -- I'll add more to it as I go. 

Default low display brightness setting on boot:

Keyboard brightness key skips brightness steps:

Install updated kernel (in my case 3.4) to address freeze-ups with my Intel Ivy Bridge video card (this worked):

Adjust wireless mouse sensitivity:

Enable CPU scaling for better laptop battery life

Get HDMI audio output to work

Synopsis: Check 'alsamixer' and make sure the HDMI device isn't muted.  Then, try to test the output:

wskellenger@marquette ~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Cirrus Analog [Cirrus Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

wskellenger@marquette ~ $ speaker-test -c 2 -t sine -f 261 -D hw:0,3

After running the above test, it suddenly started working.  Prior to this it was not working so I have no idea what changed.  Maybe just *running* alsamixer was what fixed it.

Emulate middle button click on touchpad

Thursday, April 11, 2013

Will the Real Dukes of Hazzard Theme Please Stand Up?

With streaming as common as it is today, you can easily watch all of your old favorites.  From Mr. Wizard's World to MacGyver to Knight Rider, all of my faves from the 80s are just a click and maybe two bucks away.

Seriously, a Coke from the vending machine at work is $1.50, so I won't sweat paying $1.99 to watch a favorite show from my childhood.

My son Ian is crazy about anything with an engine in it.  Since I have fond memories of the Dukes when I was a kid and played with my General Lee Matchbox car in the sandbox, I thought it was time to introduce Ian to this and see what he thought of it.

I mean, what's not to like about a couple of guys sliding across a car hood and climbing through the windows?  What's not to like about awesome CGI-free car jumping in almost every episode?  I knew this tire-smoking show would get my son's gears turning.  And really, even COMMERCIALS on TV today aren't kid-friendly.

TV of 2013 pretty much bites if you're a kid.

Well, after one viewing he loved it.  We've watched two episodes so far.  There was gratuitous car jumping and tire spinning in both shows.  I loved watching it as much as (probably more than) he did.  We were about 3/4 of the way through the first show and he goes and grabs one of his toy trucks and starts racing it around on the floor with one hand -- the other hand is maneuvering another truck that was a 'police car' in hot pursuit.

Awesome.  :-)

So, I can't get enough of it now, and I wanted to add the theme song to my Google Play library.  Well, there are lots of options and some of them bad.  First off, you'll probably encounter this one, plunk down $1.29 and think you're done:

C'mon, the Ultimate Waylon Jennings compilation album...  This has to be what I want.  Well, it isn't.  This song sounded totally different.  I couldn't put my finger on it, but this was not the same as the theme from the show.  I listened to it a few times and I realized that besides a verse at the end that I've never heard before, I was missing the lyric about "fightin' the system like a true modern-day Robin Hood" (or something like that -- I find out later this is wrong).

Hm.  Well I'm a little disappointed but I wasn't about to give up that easily.  I came across this one:

Okay, here we go.  We've got the high-ish premium of a popular song ($1.29 instead of $0.99).  We've got the entire cast on the album cover, including the General.  This has to be the 'official' theme.  We've even got a 1982 date on the album in the Play Store.

Oh my word.  This sucked.  What you've got here is the entire cast of the show singing their interpretation of the opening theme.  We've got the music fading into the background while J.D. Hogg makes a little commentary.  This was enough for me.  I pressed stop and actually DELETED the song from my music collection, thereby blowing $1.29 out the window.

Now, I guess I should have previewed the song first, but I was on my phone and it wasn't really convenient.  Later on, from my laptop, I did some more investigation.  I found this version on the same album.  Now with my laptop, I previewed the song a few times.  It was exactly the same as the one from the Ultimate Waylon Jennings collection!

Hm.  Time to dig a little further.  Can you believe that Wikipedia actually has an entry for this song?  Yep.  Theme from The Dukes of Hazzard (Good Ol' Boys)

The article explains pretty clearly what I'd discovered:

As the narrator for the 1975 movie, Moonrunners, Jennings was tapped to serve in the same capacity for The Dukes of Hazzard which premiered on CBS in 1979 and was based on Moonrunners. Jennings wrote the theme song for the show and recorded two versions: the television theme version and a slightly different version made commercially available on both single and album which received radio airplay.[1]
The television show version features a banjo which the commercially available version does not. Additionally, the TV version's third verse contains the lyric, "Fightin' the system like two modern-day Robin Hoods", which is accompanied by a "Yee-haw!" said by characters, Bo Duke (John Schneider) and Luke Duke (Tom Wopat), though it is in fact Schneider's vocal used twice.

The article also says:

Most of Jennings' greatest hits albums and various compilation releases containing the "Theme From The Dukes of Hazzard (Good Ol' Boys)" feature the commercially available version.

Well, I see the word "Most" there so that means I've got to find the real version.  The banjo version.  The version with the Robin Hood mention.  I'd even appreciate the yee-haw at the end but I won't get too picky.

Google Play has live versions, karaoke versions, instrumental versions, covers, you name it.   I previewed many and didn't find the original.  I've got to have the original.

Without stretching this on much longer, I found it.  Amazon has it.  At $0.89 it didn't pass the popularity test.  It failed the album cover test miserably.  There's no mention of Waylon.  But trust me, this is the original TV version.  The banjo is there.  The lyrics are there.  It's all there.  (Bummer, we don't get to hear Schneider's 'yee-haw').

Saturday, March 16, 2013

Make Gmail the Default Mail Application in Firefox

Every time I set up a new computer or installation of Firefox I have to Google how to do this.  So here it is again, as short and sweet as possible:

The short description:

Edit --> Preferences --> Applications
Content Type: mailto --> Select "Use Gmail" from dropdown

The graphical description:

Edit --> Preferences

Applications --> mailto --> Use Gmail

Saturday, March 9, 2013

Easily Annotate Images in Linux

My last post about filtering Craigslist search results was created with the help of a program called Shutter.

Shutter is a billed as a feature-rich screenshot program, which it is.  But I'm just taking my screenshots with the Print Screen key.  What I'm after is a quick way to add annotations (arrows, blurs, circles, etc.) to the resulting images.  Under Windows I use Irfanview for this and it works great.

But Shutter is MUCH better at this task than Irfanview and I'll tell you why:

The editing tools produce vector-based graphics and they 'float' above your image until you save it.  This is really a nice feature, since in the bitmap-based Irfanview, once you've made the edit you're pretty much done, unless you use the undo button.

With Shutter you can move your edits around to position them or resize them before saving, and there is no clutter to the tools, just the features you need right at your fingertips.

Here is the editing view of Shutter:

Shutter's edit view with the tools at left.
I've only used it for about an hour now and I am not sure how I missed this gem of a program in many years of using the Linux desktop.  This is a great piece of software for quickly and easily editing images.

Regex Filter Craigslist Search Results

How much does it suck to search for something on Craigslist (especially when looking for cars) only to get a bunch of completely irrelevant results?

In the automotive postings there are a bunch of jackasses who feel that they need to list their vehicle with a bunch of 'keywords' so that their vehicle is displayed to people who MIGHT be interested in it. 

Consider this lovely F-150.  The owner thought that someone interested in a Ford Probe might consider buying a pickup:

This guy was really clever to add all of these keywords to his ad.

Because of these people, your search results will often look like this:

I'm trying to find Jeep Wranglers for sale and I don't care about this crap.
I thought, "Gee, it would be sweet if I could use regex to filter these results." 

Well, fortunately if you have Greasemonkey, there is a way to do this.  I searched and found the Craigslist Live Filter by Sam Rawlins.  Sam has posted the source at Github also, which is awesome as I'll explain in a minute.

After installing Sam's script, the first thing I noticed was that it was written to EXCLUDE results.  That is, what you are searching for can be minimalized in one of two ways:

1.  The script will make it gray and in a smaller font
2.  The result will simply be hidden from view.

This *will* do what I want but it makes my search a little more tedious.  In this case I'd need to have a regex to get rid of the crap above, something maybe like:


In this case what I'm searching for will be REMOVED from the results by Sam's script.

Instead, I want the tool to show me only what I WANT and exclude the other crap.  So, I've added an 'invert' checkbox to his script and I checked in the result at Github.

Now, since I'm interested in only 1997+ Jeep Wranglers, I can enter a regex like this:


If you're not familiar with regular expressions, I could go on for another hour about how cool this little meta language is...  Instead I'll just explain that the above awesomeness means that I want to look for the text "199" followed by a 7, 8, or 9.  This means the following will produce a positive hit:


Further, the pipe (|) means OR, and I continue by saying that I'm also interested in the text "20" followed by two digits (\d means any digit character).  Then I say that the script is allowed to match ANYTHING (.) as MANY TIMES AS IT WANTS (*).

So at the end of the day, I'm looking for 1997-1999 OR 20xx with the word wrangler somewhere in the title.

Here is what the script looks like in action:

Sam's script in action, with my "invert" feature added but not used yet.

Now let's "invert" the search results and only show what we WANT:

Invert feature in use.

So how do you get this awesomeness?  You need:
I think Chrome can support userscripts also but I'm not a Chrome user, so you'll need to investigate that on your own.  

Saturday, February 9, 2013

GoogleTV Failed to Boot Today (NSZ-GT1)

This morning my kids went downstairs as part of their usual 6:00am weekend routine.  (As a sidenote -- why aren't there Saturday morning cartoons on the major networks anymore?  When did this happen?)  My son came back up and told me that the TV wasn't working so I went down to investigate.

My GoogleTV wasn't booting.  Here are the symptoms:
  • The device had a DVD left in it.  I could hear it spinning up when the power button was pressed.  
  • The green power light would turn on, as well as the yellow eject light.  The SONY Logo would appear briefly but then disappear.  My TV would act as though there was no signal.  
  • The device would sit there as though it was still booting (DVD still spinning at high speed), but eventually the yellow eject button started flashing.
Thinking that the DVD was interfering with the boot process, the first thing I wanted to do was get the disc out of there.  But the device wouldn't let me eject it.  In this case I decided to boot into the service menu to see what options I had.
  • Unplug the power from the GoogleTV
  • Press and hold the power button, and keep it held down
  • Plug in the power while still holding the power button down
  • Continue holding the power button down until the service menu appears
Once the service menu appears, you have an option in the menu(s) to eject the DVD.  So, I tried it.  Annnnd I Got my disc out.  Now I tried to restart again.

No dice.  Back to the recovery menu.

At this point I tried the following:
  • Wipe/factory reset + reboot (didn't work)
  • Recovery (which is a reflash of the software) + factory reset + reboot (didn't work)
Now I'm getting a little concerned.  The first thing I do when I'm concerned about anything like this is turn to Google.  I came across this thread where user flavorhammer describes this process to reset the video output:
Reset the Eagle:
Turn off the power for 5 sec
Turn on the power and wait 30 second (system is rebooting)
Press and hold the Connect and eject buttons
- Connect first then eject: within 1 second of each other
- Hold both buttons until the green power light blinks
- Release both buttons
SiTV BD player will power down and reboot on its own.
SiTV BD player resolution is now set to auto; picture will be visible after splash screens.
So, I did this.  Actually I just approached the device in whatever state it was in (it may have even been off) and tried the connect + eject hold (connect first followed very shortly by eject) and waited to see what would happen.  In a few short moments the device was powering up (I was still holding the button combination down) and it started up!

Because of the several resets and reboots I had to start over with the screen calibration and carrier selection but this was not a big deal.

My GTV is back in business.

[Update Dec 2013] This "no signal" issue has happened a couple of times since.  I am not sure what triggers it or exactly what steps recover from it.  Last night I had this happen, I did a factory reset and update from recovery mode about three times and it would not boot, just showing "no signal".  In frustration, I unplugged the device and unplugged the HDMI cable and left it overnight.  I went back today to try again and it booted up fine after it was plugged in.  (??)

Wednesday, January 30, 2013

Rooting the Samsung Galaxy S3 and (Optionally) Installing CM10.1

Used without permission from:

There is a bunch of information about doing this already.  I'm just documenting what I steps I took to do this under Linux.

First, I got the Heimdall 64 bit binary.  This would not run, not sure why:

wskellenger@marquette ~/utils $ ./heimdall
bash: ./heimdall: No such file or directory

Even as root, it refused to do anything useful:

wskellenger@marquette ~/utils $ sudo ./heimdall

Okay, so I downloaded the 32 bit version.

wskellenger@marquette ~/utils $ ./heimdall
./heimdall: error while loading shared libraries: cannot open shared object file: No such file or directory

I don't really understand this either, as I have libusb:

 wskellenger@marquette ~/utils $ sudo ldconfig -v | grep libusb
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once ->
/sbin/ldconfig.real: Cannot stat /usr/lib/x86_64-linux-gnu/ ->
: No such file or directory -> ->
/sbin/ldconfig.real: Cannot stat /usr/lib32/ No such file or directory ->

After some Googling around and coming up empty, I just decided to build heimdall from source.  This was easy enough.

cd ~/Projects
git clone
cd Heimdall
git checkout v1.4.1RC2

Now you should have all of the sources you need to build.  The following instructions are from the Heimdall README.

wskellenger@marquette ~/Projects/Heimdall $ cd libpit
wskellenger@marquette ~/Projects/Heimdall/libpit $ ./configure
wskellenger@marquette ~/Projects/Heimdall/libpit $ make
wskellenger@marquette ~/Projects/Heimdall/libpit $ cd ..
wskellenger@marquette ~/Projects/Heimdall $ cd heimdall
wskellenger@marquette ~/Projects/Heimdall/heimdall $ ./configure
wskellenger@marquette ~/Projects/Heimdall/heimdall $ make

wskellenger@marquette ~/Projects/Heimdall/heimdall $ sudo make install

You'll see this message after doing the install, do what it says:

 IMPORTANT - You must reboot your machine or execute the following as root:
service udev restart

If you want the frontend, also do:

wskellenger@marquette ~/Projects/Heimdall/heimdall-frontend $ qmake-qt4
wskellenger@marquette ~/Projects/Heimdall/heimdall-frontend $ make
wskellenger@marquette ~/Projects/Heimdall/heimdall-frontend $ sudo make install

That's it.  If you type 'heimdall' at a prompt now you should see some stuff on the screen.

Now, I took a brand new SGS3, and pressed HOME (the single button), Volume DOWN, and POWER at the same time.  You will feel a small buzz of the vibrator, and then see a screen about how this is dangerous and so forth.  Press volume UP to proceed.

At this point you'll see just our little green android guy and an indication that it is "Downloading...", but we haven't done anything yet.

Let's get the recovery installed first.  First I checked to see if anything from Samsung was connected.  Indeed there was:

 wskellenger@marquette ~/Projects/Heimdall/heimdall $ sudo lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 04e8:685d Samsung Electronics Co., Ltd
Bus 001 Device 003: ID 2635:0601 
Bus 001 Device 004: ID 0a5c:21d7 Broadcom Corp.
Bus 001 Device 005: ID 0c45:6495 Microdia 

Now I just moved the clockworkmod image that I downloaded from here over to my utils directory.

wskellenger@marquette ~/utils $ mv ~/Downloads/recovery-clockwork- .

I also renamed it to recovery.img, probably isn't necessary but I did so anyway:

wskellenger@marquette ~/utils $ mv recovery-clockwork- recovery.img

Now let's try to flash it with Heimdall:

wskellenger@marquette ~/utils $ heimdall flash --recovery recovery.img --no-reboot
Heimdall v1.4 RC2

Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna

This software is provided free of charge. Copying and redistribution is

If you appreciate this software and you would like to support future
development please consider donating:

Initialising connection...
Detecting device...
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Checking if protocol is initialised...
Protocol is not initialised.

Initialising protocol...
Protocol initialisation successful.

Beginning session...

This device may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Uploading RECOVERY
RECOVERY upload successful

Ending session...
Releasing device interface...
Re-attaching kernel driver...

At this point I just tried to reboot the device into recovery to see if I had CWM installed or not.  I popped the battery out to get out of the previous download mode.  Maybe there is a better way to do this, not sure.  Now reboot into recovery.  Hold Volume UP, HOME, and POWER.  When you feel the small vibration, keep holding for a little while longer.  You will see the SGS3 logo and then hopefully boot into CWM recovery.

Once inside CWM, the first thing I'm going to do is a Nandroid backup of this baby.  Go to backup and recovery and select backup.  This will take a little while so be patient.  In the meantime I'll download CM10.

Edit 6-May-2013:  If you just want to root your device, and keep the stock Samsung ROM, at this point you can sideload the file available here.  After this, reboot, check to see if the SuperSU app is installed, and you're done.

Okay, back to installing CM 10.  I went with one of the 10.1 monthly release snapshots, available at

Now that you've got the CM package and you've made a backup, we can sideload the CM10 .zip file onto the device.  First let's see if we can see the device or not:

wskellenger@marquette ~/utils $ adb devices
List of devices attached
3c1b4cf7    recovery

Pretty sweet.  Let's go to 'install zip  from sideload' in the Clockworkmod menu.  The screen should show:

Sideload started ...
Now send the package you want to apply
to the device with "adb sideload <filename>" ...

So, let's do that:

wskellenger@marquette ~/Downloads $ adb sideload
sending: 'sideload'  100% 

After this you'll see the phone open and install the update automatically.  This is pretty sick.  We also need gapps so let's download and install that the same way.  I got gapps from

Again, select "install zip from sideload", and adb sideload the gapps package:

wskellenger@marquette ~/Downloads $ adb sideload sending: 'sideload'  100% 

That's pretty much it folks.  I actually did a wipe data, wipe cache, wipe dalvik.  After that I feared that I perhaps undid the gapps installation so I installed gapps again after this.  Then I did "reboot system now" and unplugged the USB cable.

Booyah, I'm seeing the familiar CyanogenMod bootscreen.

Sunday, January 13, 2013

Ericsson T39 "Increasing" Ringtone (retro)

Buying my first cellphone was an ugly experience.  The year was about 2000 or maybe 2001 (I was pretty late to the party) and I *had* to have this baby -- the Ericsson T39.

Still today, I am still stunned by the design of this little Swedish beauty, with it's stubby little antenna and dot matrix LCD.

I purchased the phone on eBay for somewhere around $400, because it was no longer available at the cell carriers around here.  When I received the phone, I ran down to T-Mobile and activated my phone and got my first (and still current) cell number.

Things were great for about a month or so, and then one day the LCD simply displayed "NO NETWORK".  I tried everything to get the phone back into working order, including sending it to a company in California that flashed the latest and greatest firmware onto the phone for me, but to no avail.  From what I read on the interwebs at the time, the "NO NETWORK" bug was pretty common and it could be handled under warranty.  The problem was that, having purchased the phone on eBay, I could not prove that I was the original purchaser and thus I was not entitled to any warranty.

Well, that was that.  I ended up getting a crappy little Motorola candy-bar phone on eBay to replace this one, it worked fine enough for me though.

In the meantime, my favorite ringtone from the T39 was one called "Increasing".  Before I auctioned the phone on eBay as 'broken' for about $50, I recorded the ringtone as .wav and I still use it to this day on my Android smartphone.

Here it is.  Enjoy it.  It definitely would be considered 'retro' by today's standards, but you can hear this ringtone even when your phone is in your pocket.