Connie's Blabber

Saturday, July 19, 2008

iPhone 3G

When Apple released the original iPhone last June, I was disappointed to hear that we wouldn't be getting one in Canada. Since then, rumours had it that we'd get it at Christmas time, then spring time, but all turned out to be false. Some of the more hardcore Canadian geeks, like my friend Mel, went over to Buffalo to buy the iPhone, and then have the phone unlocked, therefrom losing the warranty. Being a conservative kind of person, I wasn't about to do that.

Now I'm rather glad at the delay because the new iPhone 3G is better and cheaper. Friday, July 11 was the release date. Some geeks camped outside Rogers and Fido stores at 2 a.m. the night before. Well, I wasn't about to do that, either. So I waited out the weekend, and ordered my 16GB White iPhone on Monday, the 14th. The Fido salesperson said that, due to high demand, the iPhone wouldn't be delivered "until August 1" -- a two-and-half-week wait. Oh well.

So imagine my surprise when a UPS guy knocked on the door yesterday (Friday, the 19th), with my shiny new iPhone. It took only four days. I'm wondering whether all this "out of stock", "high demand" talk is just hype.

I carefully unpacked My Precious and spent the next few hours setting it up. It was straightforward. I took out the SIM card from my cellphone, and inserted it into the iPhone. Syncing is done through iTunes, which is fine. I had to first export my addresses and date book from the Palm OS Desktop, and then import them into the corresponding Mac OS X programs, which are Contacts and iCal. There was a small glitch when iCal entries were synced to the iPhone Calendar due to the fact that the factory default timezone is set to US West. Once I changed my timezone to East, everything was good. Getting Wi-Fi to work was a breeze. One other crucial program I needed was SplashID, which I purchased from Apple Apps Store, installed on the iPhone and on the iMac, and synced without any problems.

Today when we were out, I tried out the iPhone Maps program which uses GPS, Wi-Fi Hotspots and cell towers to locate the current position. It worked very well. The initial triangulation process is much faster than my Garmin GPS, and the graphics much better too.

So far, the iPhone has lived up to my high expectations. I do, however, have a few small complaints.

One is that the soft-keyboard is rather small for typing with thumbs. Maybe I'll get more used to it down the road.

A more serious problem has to do with the Notes program on the iPhone -- it does not offer the sync functionality. What is the point of a PIM program that doesn't sync? Also, a todo program is missing on the iPhone. These tools are not mere bells and whistles. They are the heart and soul of a PDA. I noticed in the Apple Apps Store a slew of Todo- and Notes- clones are out there. I suppose I can always write my own.

Finally, a major grievance: where is the string search tool, like the one offered by every Palm Pilot, which allows one to search for a calendar entry or a contact by supplying a string? Without this functionality, the Calendar program is next to useless, and the Contact program a pain to use.

Labels:

Monday, July 7, 2008

A Death in Vienna, by Frank Tallis

A Death in Vienna by Frank Tallis

This is a whodunit murder mystery written by a real-life psychiatrist. In the story, a detective and his doctor friend try to solve a seemingly impossible murder using psycho analysis as well as old-fashion detective methods. The story took place in Vienna in 1902, so predictably, Sigmund Freud made a few appearances.

I spent a week in Vienna in the summer of 1991, and have vivid memories of that gorgeous city. Jeff and I will be there this coming fall. That was how this Vienna-based novel caught my eye. Tallis writes in a pleasant prose; the story is absorbing; and I was happy to read about the familiar places in Vienna. However, I have never been one to have a great deal of faith in the psychiatry profession. Some of the described symptoms in the book, such as multiple personalities, repressed memories, are so passé. And am I to believe that hypnosis can be used to solve crimes? Please. Nevertheless, it was a fun read, and a harmless diversion.

Labels:

Thursday, July 3, 2008

Hard Rain, by Tony Hoagland

Hard Rain by Tony Hoagland

I loved the poems in What Narcissism Means to Me, Tony Hoagland's last collection of poetry. Recently, I bought his latest one, Hard Rain.

What hasn't changed is Hoagland's sharp wit, keen observation, and fearlessness. The poems in Hard Rain are as biting and dark as ever, except that, compared to those in What Narcissism Mean to Me, the language is more, hmm, profane?, and these poems have taken on a more political tone, presumably because they were written after 9/11. While reading, I was in turn laughing, fidgeting and shaking my head. Ultimately, I am deeply envious of a man who has such a way with words. Here is a snippet from the mildest of the bunch, Forty-Year Old Wine -- naturally, I'm not keen on quoting profanity here:

On tv a guy named Franklin Meriwether is opening
a bottle of two-hundred dollar, forty-year old Bordeaux
to see if it's still good.
[...]
"How much did it cost?" asks Ryan,
who just came into the room.
"Three hundred dollars," says Shiela, and Mike says, "Be quiet,"
as if there was something to hear
as the camera zooms in and we all grow silent
to watch the smallest muscles of Franklin's face
flicker with joy or disapproval
at the moment the wine steps onto his tongue
like a pilgrim entering the holy city
where the story ends
and the judgment begins.

Labels:

Wednesday, July 2, 2008

Android SDK

Having just installed Apple's iPhone SDK, I thought I'd get Google's Android, which is "an Open Handset Alliance project" and branded to be "the first complete, open, and free mobile platform." Here is a log of what I had to do to install the Android SDK version m5-rc15 on Linux (kernel 2.6.24-19, Ubuntu Hardy 8.04).

I used the installation instructions at http://code.google.com/android/intro/installing.html as my main reference. Downloading the SDK from the Google site was a breeze. I unzipped the ZIP file into /opt, and added /opt/$AndroidDir/tools to my PATH environment variable.

First, I tried to run the Android Emulator on its own, and got a nasty error about the program not being able to read some file. It turned out that two files in /opt/$AndroidDir/tools/lib/images, system.img & userdata.img, needed to have read-access-for-others added. After that, the emulator program started successfully. (What an ugly-looking device though. Oh well, not the most important thing...)

Although an IDE is not necessary, and I personally prefer the terminal window and the command line, it's not a bad idea to have an IDE around for GUI programming. Google recommends Eclipse. Why not? I went to Ubuntu's Synaptic Package Manager, and installed Eclipse 3.2 from there. Afterwards, with some difficulty, I installed the Android Development Tools plugin in Eclipse.

Next, I created a test program by following the instructions at http://code.google.com/android/intro/hello-android.html. No problem with the files, etc., but when I tried to run the test program, I got an error in Eclipse: "Could not find /bin/HelloAndroid.apk!".

After much digging on the Net, I learnt that I must (1) install Sun's Java JDK first; and (2) install Eclipse from www.eclipse.org because the one from Ubuntu is no good. There is a nice little Howto at http://flurdy.com/docs/eclipse/install.html. Note that the part about installing Apache Tomcat can be ignored. I ended up installing Sun's Java JDK 6, and the latest version of Eclipse, Ganymede 3.4. As an aside, for some strange reason, the Eclipse installation package does not contain an icon file, so I found one on Google Images, and used it during the Ubuntu application menu setup.

After all this, I tried to run my test program HelloAndroid, again. This time, everything worked!

Labels:

Tuesday, July 1, 2008

iPhone SDK

The iPhone will be released on July 11 in Canada. I'm getting one, of course. In the meantime, I thought I'd get the iPhone SDK first.

Downloading the latest iPhone SDK beta was straightforward. Installing the package appeared to be easy too, except that the installation program would not allow me to install the iPhone components, without which nothing works. This is because the SDK ostensibly only supports Intel-based Macs whereas mine runs on a PowerPC processor. There is no reason for the restriction from the technical angle. My only guess is that Apple wants to force people to buy new Macs.

Fortunately, clever people on the Net have discovered ways to get around this evil hurdle. Thanks to tips by Mike Rundle at http://3by9.com/85/, I was able to install the iPhone-related tools manually from the installation package. Now, all the useful things: header files, lib files, compiler, linker, the iPhone Emulator, etc., are all in place for Xcode.

Next, when I tried to compile a test program, I got this error: "No architectures to compile for (ARCHS=ppc, VALID_ARCHS=i386)." To fix this nasty bit -- another hurdle thrown at PowerPC-based Macs, I must do the following (thanks to Tom Bradford's instructions at http://www.tbradford.org/2008/03/iphone-sdk-beta-2-possible-ppc-fix.html):

- Go to /Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications/.

- Find a file called "iPhone Simulator Architectures.xcspec"; make a backup of it and open the original.

- Notice in this file that the 'RealArchitectures' variable only defines i386 as a valid architecture; change that to "(i386, ppc)".

- Add the following just before the Intel section:

// G3
{ Type = Architecture;
Identifier = ppc;
Name = "Minimal (32-bit PowerPC only)";
Description = "32-bit PowerPC";
PerArchBuildSettingName = "PowerPC";
ByteOrder= big;
ListInEnum = No;
SortNumber = 201;
},

// G4
{ Type = Architecture;
Identifier = ppc7400;
Name = "PowerPC G4";
Description = "32-bit PowerPC for G4 processor";
ByteOrder= big;
ListInEnum = NO;
SortNumber = 202;
},

// G5 32-bit
{ Type = Architecture;
Identifier = ppc970;
Name = "PowerPC G5 32-bit";
Description = "32-bit PowerPC for G5 processor";
ByteOrder= big;
ListInEnum = NO;
SortNumber = 203;
},

- Restart Xcode.

Now I've got Xcode on my iMac to compile programs to run on the iPhone SDK. All I need next is an actual program that does something useful or fun!

Labels: