Ubuntu+Wine vs Rosetta Stone

I recently received a copy of Rosetta Stone 4 and had the joy of trying to install it on Linux.  Rosetta Stone 4 (which they call “TOTALe” for reasons that are beyond me) is built on Adobe AIR; however, they don’t make a Linux version available (despite the availability of Adobe AIR).  So, here are the steps I took to get a working Rosetta Stone install on my Linux box.

  • Ubuntu 10.10 (x86_64)
  • Wine 1.2.2
  • Rosetta Stone TOTALe 4.0.12

First, install Rosetta Stone via wine.

fowles@morbo$ wine /media/cdrom/setup.exe

During the installation I was twice prompted to tell xcopy where something was a file or a directory.  I have no clue which it really is, so I just guessed directory.  The install seemed to finish successfully, so I tried running Rosetta Stone.  It ran, checked for an update, and told me that it wanted to update to 4.0.17.  I clicked the go ahead button.  It downloaded the update, claimed to install it, and then politely informed me that it had to restart.  Unfortunately, the easy victories stopped here.  Rosetta Stone did not automatically restart, moreover, when I restarted it manually, it told me that it wanted to update to 4.0.17.

At this point, I went though several hours of dead ends that I will spare you.  Eventually I borrow my roommates Windows laptop, installed Rosetta Stone on his laptop, updated it, and copied the install from his laptop to mine.

scp 'C:\Program Files\Rosetta*' 'fowles@morbo:~/.wine/drive_c/Program Files/'

When I ran Rosetta Stone again on my machine, it passed the version check and asked me to add a language CD. I tried to install the language CD, but this install errored out along the way. So I went back to my roommate’s laptop, installed the language CD and then let it download an update for that language. Then I copied the language data from his laptop to mine (note the lack of a space in the directories below).

scp 'C:\ProgramData\Rosetta*' 'fowles@morbo:~/.wine/drive_c/ProgramData/'

At this point, Rosetta Stone started on my laptop and allowed me to create a profile for a new learner. It then hung indefinitely while attempting to load that profile. Almost ready to throw in the towel, I closed Rosetta Stone and ran it one last time. Miraculously, it started and everything worked this time. Rosetta Stone politely informed me that the speech recognition would not function. I spent a while tweaking settings on Wine and Rosetta Stone trying to get it to work without success, but all the other parts of the program work fine, and now I can say things like “the man eats a sandwhich” or “the bicycle is red” in Spanish. I look forward to continuing to practicing until the next update for Rosetta Stone comes out, then I will probably have to pester my roommate again.

International Android Internet

I figured I should probably provide a single post to summarize the APN settings I have found necessary to use Android phones in the various places that I have traveled.  If I were a person with graphic design skill or something, I would make a small graphic depicting the android robot on a beach somewhere drinking a mohito under the shade of a cabana.  Instead you will just have to imagine it here.  Don’t worry, I’ll wait.

All of this assumes that you have a US T-Mobile based phone.  If your phone isn’t on those frequencies, your mileage may vary.  You will of course have to get an unlock code from T-Mobile so that your phone will work with non-TMobile sim cards.  I just called T-Mobile and asked for one.  They happily emailed it to me along with directions for how to use it.

All of these directions assume that you have purchased a SIM card with a data plan from the relevant carrier and installed the SIM into your phone.

  1. Open the Wireless Controls (home screen -> menu -> settings -> wireless controls)
  2. Click “Mobile networks”
  3. Click “Access Point Names”
  4. At this point I spent a while waiting for the list to load before I realized that the screen was empty because the list was blank…
  5. Add a new APN (menu  -> New APN)
  6. Use the table below to fill in the fields for your new APN.  Leave blank items blank.
  7. Save the new APN (menu -> Save)
South Africa
Vodafone
Peru
Claro
Ghana
Vodafone
Name: Vodafone Claro Vodafone
APN: internet claro.pe browse
Proxy:
Port: 8080
Username: claro
Password: claro
Server:
MMSC:
MMS proxy:
MMS port:
MCC: 620
MNC: 02
Authentication type: pap
APN type:

G1 Wandering Ghana

Delia went to Ghana again to continue pursuing her work on ground nut threshers.  But this year, she brought a G1 with her.  When she first arrived at Accra, she tried to get a sim card from MTN, but the guy at the store told her it wouldn’t work with a T-Mobile phone and suggested she tried Vodafone.  At the Vodafone store, she was lucky enough to get an extremely competent person who told her exactly what settings she needed.

You will of course have to get an unlock code from T-Mobile so that your phone will work with off-network sim cards.  I just called T-Mobile and asked for one.  They happily emailed it to me along with directions for how to use it.

First find a Vodafone store and buy a sim with a data plan.  Shutdown the phone, pop the back off, and slip the new sim card in.  I found that there is enough space behind the back of the phone to store your old sim card too (so you won’t lose it).  Close up the phone with the new sim and power it on.  Follow the directions that T-Mobile gave you to unlock the sim card.  Now you need only add a new APN for Vodafone’s data network.

  1. Open the Wireless Controls (home screen -> menu -> settings -> wireless controls)
  2. Click “Mobile networks”
  3. Click “Access Point Names”
  4. At this point I spent a while waiting for the list to load before I realized that the screen was empty because the list was blank…
  5. Add a new APN (menu  -> New APN)

Name: vodafone
Apn: browse
Port: 8080
Mcc: 620
Mnc: 02
Auth type: pap

Connections are unsurprisingly spotty in the rural areas, but Delia reports that everything works well.

Nexus One meets Peru

Earlier this year, I went to Peru to hike the Inca Trail.  So naturally, I brought the Nexus One that Google was kind enough to give me.  While in Cusco, I picked up a Claro SIM card with unlimited data for 10 soles/day (about $3.50/day when I was there).  Unfortunately my Spanish was not good enough to get the necessary APN details at the Claro store, so I had to wander the internet looking for the details from the hostel.  I eventually found my way to a site with enough nerd that I could decipher the Spanish and figure out what I needed.

You will of course have to get an unlock code from T-Mobile so that your phone will work with off-network sim cards.  I just called T-Mobile and asked for one.  They happily emailed it to me along with directions for how to use it.

Once you get to Peru, find a Claro store (there is one in the airport) and buy a sim with an unlimited data plan.  Shutdown the phone, pop the back off, and slip the new sim card in.  I found that there is enough space behind the back of the phone to store your old sim card too (so you won’t lose it).  Close up the phone with the new sim and power it on.  Follow the directions that T-Mobile gave you to unlock the sim card.  Now you need only add a new APN for Claro’s data network.

  1. Open the Wireless Controls (home screen -> menu -> settings -> wireless controls)
  2. Click “Mobile networks”
  3. Click “Access Point Names”
  4. At this point I spent a while waiting for the list to load before I realized that the screen was empty because the list was blank…
  5. Add a new APN (menu  -> New APN)
  6. Set the Name field to “internet”
  7. Set the APN field to “claro.pe”
  8. Set the Username field to “claro”
  9. Set the Password field to “claro”
  10. leave everything else blank and save it (menu -> Save)

Return to the home screen and wait a minute or so.  You should see a data connection icon appear in the notification bar.  I had great data connectivity around Cusco and surrounding towns, although there was none on the Inca Trail itself.

When taking your phone on a trip where conserving battery is key, remember to leave the camera app after you are done with it.  The camera app leaves the GPS on and that can be a serious drain.

Tethering Your Android Phone

On occasion, I have found the need to access the internet on my laptop through my G1.  Lately, people have been asking me how they do it too.  Let me start out by saying that my approach is not for the technically faint of heart and it requires you to have an account on a unix machine somewhere that you can remotely log on to.  If you don’t have a shell acount anywhere, try one of these.

One time setup

There is a fair amount of one time setup that goes into this process.  First you will need to download and install the Android SDK.  Then,

Phone Setup

Configure your phone for USB debugging.

  1. From the home screen, menu -> settings -> Applications -> Development -> USB debugging

Install and configure ConnectBot on your phone.

  1. Install “ConnectBot
  2. Open it
  3. SSH to your shell account (that is usually  username@hostname.com)

Add a port forward to this account in ConnectBot.

  1. menu -> port forwards
  2. menu -> add port foward
  3. Configure it with the following settings

Nickname: internet
Type: Dynamic (SOCKS)
Source port: 12345

Android SDK Setup

  1. Download and install the Android SDK (mentioned above).
  2. Make sure you can access your phone over USB.

To check that everything is setup correctly,

  1. plug-in your phone via USB.
  2. open a terminal or command window
  3. run adb devices

You should see output like:

fowles@morbo:~$ adb devices
List of devices attached
HT850GZ01807	device

Configure Firefox

While it is possible to do this with other browsers, I am only going to explain it for Firefox.

  1. Download and Install Firefox
  2. Start firefox
  3. Go to about:config
  4. Set the network.proxy.socks_remote_dns to true

Setting network.proxy.socks_remote_dns in Firefox

Making Firefox use a SOCKS proxy

You will need to switch this setting between “Auto-detect” (when you are tethering) and “Manual” (when you are not), but it will remember the values for the field you fill in after the first time.

  1. Open the preferences
  2. Go to the Advanced section
  3. Click on the “Network” tab
  4. Click the “Settings…” button
  5. Select “Manual proxy configuration”
  6. Set “SOCKS Host:” to “localhost” and “Port:” to “12345″

Configure SOCKS proxy in Firefox

Actually Tethering Your Phone

Hopefully you are still with me, cause the hard part is over.

  1. Plug Your phone in via USB
  2. Start ConnectBot on your phone
  3. Connect to your shell acount using the existing shortcut
  4. Open a terminal or command window on your computer
  5. Run the command adb forward tcp:12345 tcp:12345 in the terminal
  6. Configure your web browser to use a socks proxy (see above)
  7. Surf the internet

The technically advanced will notice that this only provides a way to surf the internet on your phone.  To use arbitrary programs like svn, which weren’t necessarily built to proxy, you can use ProxyChains.

Next Page »