Hero to Optimus S

So why did I switch to an Android phone with the name like an old Radio Shack speaker brand? My brother likes to get new phones especially since we’re on a two-year family plan contract from other phones, so he grabbed one of the LG Optimus phones. He played with it for a few days, then dumped it on me, and I kinda like it.

The LG Optimus S is about the same size as the Hero, same screen, slightly different buttons and no roller pad which I never really used any way except to activate the Hero camera. The HTC sense interface is much fancier and has much better eye candy, but I like lots of space for apps and a clean look, and with the new android 2.2 I can now install apps on to the SD card. the hero has a 5.0 megapixel camera, the LG only 3.2 megapixel. Better not forget my camera. The Optimus also seems much zippier, menus open and close faster, and the phone just seems more responsive. Not sure if that’s the 2.2, or better processor. It also has the Swype keyboard, with which I played with a little bit and am still trying to get used to. Battery life seems reasonable; I am not a power caller, but it will hold a charge with a few calls for a day or day and a half, and I just plug it into the computer.

So now I have to take inventory of the apps on the Hero.

Airhorn, Dan’s Blocks, SoundHound, Graffiti and 8pen keyboards, Dex Mobile, Barcode Scanner, KeePassDroid, Google Maps, Wi-fi Ruler, Dog Whistler, Skype, Instant Heart Rate (finger on the camera – neat trick), Dictionary.com, Twitter (unused), Compass, Dolphin Browser, Yelp, Pandora radio, Whoopie Cushion, My Tracks, Color Flashlight, GPS test, Bluetooth on/off, Advanced Task Killer (not needed, I guess, especially for android 2.2), Any Cut, ASTRO File Manager, Ringer Toggle Widget, WBEZ radio, and Curvefish GPS on/off. Holy cow, I guess one of those backup utilities would be a good idea. Yesterday when I started replacing the apps I’ve found that a lot of them were not compatible with Android 2.2. This included the Graffiti keyboard by Access, which I enjoy, except now I’m starting to see advertisements on the finger pad. Just charge me already. Also, some of the apps that I bought are on a different e-mail address. One is the London Journey app, which was really nice, but is only useful in London, and then only with a wi-fi connection because my phones are CDMA, not GSM. And I just went with the stock power control widget, and left a few out, since I did not use them.

Google account sync went flawlessly, contacts are imported from two different Google accounts, manually entered from phone contacts on the Hero, and calendars are ready to go. they use the navigation app from Google, and I do like the way it works much better than Sprint one, except the Sprint may have voices are much clearer and easier to understand. So far, so good.

Windows 7 Start Menu

So where are the Start Menu shortcuts stored?

In XP, C:\Documents and Settings\me\Start Menu was where mine lived, and C:\Documents and Settings\All Users\Start Menu was where the shortcuts for all lived. It seems to have changed in Vista and Windows 7. Where have I been?

Actually I like the way the new dir structure is in Windows Vista and 7. Much more sensible, with no spaces in pathnames. Now if we could get rid of C:\Program Files (x86) to something like /usr/bin or even better /Applications/MyApp 🙂

Sniffing around I found “All Users”

C:\Users>dir "All Users" /a
07/13/2009 11:08 PM <SYMLINKD> All Users [C:\ProgramData]
08/16/2010 12:19 PM <DIR> Dave
07/14/2009 01:12 AM <DIR> Default
07/13/2009 11:08 PM <JUNCTION> Default User [C:\Users\Default]
07/13/2009 10:54 PM 174 desktop.ini
11/09/2010 11:31 AM <DIR> notadmin
07/14/2009 01:45 AM <DIR> Public

What’s in C:\ProgramData?

C:\ProgramData>dir /a
07/13/2009 11:08 PM <JUNCTION> Application Data [C:\ProgramData]
07/13/2009 11:08 PM <JUNCTION> Desktop [C:\Users\Public\Desktop]
07/13/2009 11:08 PM <JUNCTION> Documents [C:\Users\Public\Documents]
07/13/2009 11:08 PM <JUNCTION> Favorites [C:\Users\Public\Favorites]
08/12/2010 02:02 PM <DIR> Microsoft
08/13/2010 09:29 AM <DIR> Microsoft Help
07/13/2009 11:08 PM <JUNCTION> Start Menu [C:\ProgramData\Microsoft\Windows\Start Menu]
08/16/2010 08:33 AM <DIR> Sun
08/17/2010 10:42 AM <DIR> TEMP
07/13/2009 11:08 PM <JUNCTION> Templates [C:\ProgramData\Microsoft\Windows\Templates]
08/04/2010 11:32 AM <DIR> VMware

So my shortcuts are in
C:\Users\notadmin\AppData\Roaming\Microsoft\Windows\Start Menu

and All Users are in
C:\Users\All Users\Microsoft\Windows\Start Menu

Migrating to Mercurial

I have been wrestling with converting my old source code projects to a modern source control system and in some cases source control at all. At one point, I tried using a converter from CVS to Subversion, with lousy results. Fast-forward to today, where, armed with a new installation of Mercurial and some experience working with Mercurial transferring bin folder from machine to machine, I felt ready to give it another go.

First Google. I found that the latest Mercurial (TortoiseHg) has built-in support for conversions from many popular source control systems. The trick error was turning it on as by default the conversion plug-ins are not active. So I opened global options in TortoiseHg and activate the convert plug-in. this modifies the mercurial.ini/.hgrc file with the correct settings and then the command line hg convert returns conversion options.

The CVS conversion requires a checked out repository, not the source CVS files. So my first problem was checking out the repository which had not been refreshed from a recent disc crash. on the new machine I did not have CVS, so I had to upgrade Cygwin setup, then add the CVS command line client. I use after struggling with the Windows tortoise CVS checkout and the Windows CVS checkout, I open the seat Cygwin bash shell and performed the check out there.

First I was able to look in the D:\Data\cvsrepos\ dir and get the list of modules. The first was the dev module.

In bash:
$ export CVSROOT=:local:/cygdrive/d/data/cvsrepos
$ cvs co dev

> hg init
> hg convert -s cvs -d hg C:\cygwin\home\Dave\cvsco\dev
assuming destination dev-hg
initializing destination dev-hg repository
connecting to :local:/cygdrive/d/data/cvsrepos
scanning source...
collecting CVS rlog
100 CDCompare/FileItem.cpp
200 CDCompare/winsub/res/winsub.ico
300 PSA/PSAPrint/res/PSAPrint.ico
2953 log entries
creating changesets
100 This is work done on a branch from the original code. I think I was tryin...
200 update from p2.1.dll.all.zip
205 changeset entries
204 Source for CDCompare project
203 Add CancelDlg module
C:\Users\Dave\cvsco> 1 [main] cvs 6128 C:\cygwin\bin\cvs.exe: *** fatal err
or - cmalloc would have returned NULL
Stack trace:
Frame Function Args
0022B4F8 6102749B (0022B4F8, 00000000, 00000000, 00000080)
0022B7E8 6102749B (61177B80, 00008000, 00000000, 61179977)
0022CC08 61116E6A (00000000, 00000000, 0022CD18, 610C01A5)
0022CC18 61004C8B (00000000, 10438204, 00000001, 0048C300)
End of stack trace (more stack frames may be present)

Let me just say aargh here…I seem to remember trying this before and getting the same result. I also remember firing up a Linux VM, copying the repository, checking out there, and then trying the conversion. Of course, I don’t know where the repository is so I think I might get to do it all over again. No wonder I never can finish anything. It’s so hard to get there from here.

Anyway, fire up ubuntu. Start small. Share the cvsrepos folder on the Windows side, connect via “Connect to Server…” on Ubuntu to the SMB by IP. Now what is the CVSROOT? When you attach to an SMB server, where is it mounted. Sensibly, in Mac OSX, /Volumes/sharename. Here, found by dragging link from FileBrowser onto terminal, and it coughed up a link.
$ export CVSROOT='/home/dave/.gvfs/cvsrepos on'
$ cvs co lib
$ hg convert -s cvs -d hg ./lib
$ cd lib-hg/
$ hg push http://provider.org/username/lib

Repeat five more times. I am now done with CVS.

Laura’s 50th at Pinstripes

Our old neighbor had her 50th birthday party last night at Pinstripes, a trendy bowling alley/restaurant/bocce court in a new mall in South Barrington. We had round banquet tables set up along the bocce courts in a back room with gas heaters overhead. The food was excellent, starting with crostini with mozzarella & tomato appetizers and various wine selections that the host of honor and her husband had picked. Family style dinner started with two salads & bread sticks. Then there was a stuffed chicken dish and then a beef roast dish and all were very good. The meal was finished off with coffee and ice cream cake.

In the meantime, we managed to get a couple of bocce games in. We are used to playing on grass, with a bit of friction to slow down the ball. In these courts, it is a hard surface covered with Astroturf and very fast. The slightest bounce is enough to shoot you well past the pallino. Our old neighbor Geno proved that he was the old Italian guy by stomping us with his short range precision.

They also rented out three bowling lanes and these are very nice bowling lanes with leather couches and TVs and really modern equipment.we do not bowl but it was a nice place. Outside, there were was a fire pit where a group from a different party was keeping warm.

A great evening, good food, and fun to catch up with the kids from the hood. Happy birthday Laura!

Pinstripes, South Barrington, IL