Tuesday, May 30, 2006

Palm Video

I'm having trouble nailing down which video formats are supported by the native video viewer. One important issue I've discovered so far: the movie dimensions are limited to the screen resolution of 320x320. Given that most videos are shot in the 5x4 aspect ratio (as opposed to HDTV's 16x9) this means that we need to pay special attention to the width versus height. Furthermore, there is not an option to scale the image, say to double size, as as you might expect to do with a video sized at 160x112. Oddly, it will scale JPG images.

Some websites are reporting that the TE will display several different file formats, but the only one that has worked thus far is MPG. Notable failures include AVI, RM, and MOV. Some MPGs also will not display, presumedly due to an incorrect codec. Unfortunately, failures are always reported with the same generic error message.

Ideally, we should be able to pull programs off a DVR, like MythTV, drop them on the SD ram card, and use the Palm as a portable video player. As with many of the other features of our present consumer devices, it seems that it is not meant to be. A quick look at the an hour long episode of Star Trek seems to indicate an AVI size of 105MB, captured at 320x240, using a Divx Codec. Another episode, captured in MPEG, took 445MB. Given the cost of the media, initial indications do not look promising.

Monday, May 29, 2006

Palm Bluetooth Cache Editor

In working with my New Palm Tungsten E2's bluetooth system, I noticed another anomalous behavior. I had bought a USB Bluetooth dongle (plug-in adapter), and had been using it for wireless hotsync to my XP desktop. I also, however, wanted to use it the connect to my Red Hat laptop. Unfortunately, the Palm would always discover it as the XP hostname.

Turns out, the Palm has a cache were it logs the dongle's MAC and the system's hostname. It assumes that any time it sees the dongle, the same system is behind it. There was no obvious way to clear the cache. Luckily, a game developer called 3Division created a Palm Bluetooth Cache Editor (BTcahcED) to solve the problem.

Thursday, May 25, 2006

Lost, But Not Forgotten

Last night's episode of Lost created quite a few new questions to ponder. Are John, Eko, and Desmond dead? Surely not-- they wouldn't kill off any of the characters. Are Micheal and Walt really headed for rescue? That boat is not an ocean going vessel. Will we hear from Jack, Kate, and Sawyer next season? Once someone is captured, we typically don't see the story through their eyes anymore.

(Sawyer may be the exception: We learned about the Tailies from either Sawyer, Micheal, or Jin's point of view. It couldn't be Micheal, since he was gone two weeks, without a clue as to what was happening to him. It probably wasn't Jin, because we've heard the story through his ears, and it sounded like gibberish.)

Here's what we need to think about:

* Desmond asked John when the plane crashed on the island. "Sixty three days ago," was his response. "No, what was the date of the crash?" insisted Desmond. "September 22nd," offered John. Desmond's printout indicated the date of the system failure to be 09222004-- the date of the crash. By pressing the button too late, did Desmond cause the crash? It's not important. What is important is that the year is 2004. The show is happening in the past. Furthermore, the last night's episode happened on the day before Thanksgiving.

* We would not have seen the foot of the giant statue if it wasn't important. Sayid would not have made his comment about the foot having only four toes if it wasn't important.

* The pier where the Henry did the prisoner exchange with Micheal was not that of a rag-tag group of castaways. It was sturdy, and long. Much larger than that little tug needed. And why would Henry give away their only boat?

* Why didn't Kelvin explain to Desmond why they didn't build an automated system to press the button? Ah... I got you on this one. It turns out there is a precedent for such a system. It's called failsafe: When you send the bombers to attack, they don't wait for the Go order, they wait for the Recall order. If no recall order, they drop the bomb. This is the thing about the button. Give the code, or the bomb goes off. If the Others kill you, the bomb goes off. If you die from the plague, the bomb goes off. John breaks the computer, the bomb goes off.

But the single most important question, is the one you've forgotten about:

What happened to the mecahnical, smoke breathing, dinosaur that killed the pilot?

Tuesday, May 23, 2006

Howto Hack SprintPCS / Palm (pt3)

The moment of truth: Configure the Palm for network access via a paired SprintPCS phone.

At this point, our Palm has a trusted connection to the phone via Bluetooth, but no way to tell the phone to get it online. We need to establish a Network Service over which we can connect. The fastest way to configure the connection is from the Preferences screen, and selecting Network.

Tap New and change the name from "Untitled" to "SprintPCS" (the name is arbitrary). The username will be the device phone number. The password is the same password used to access the SprintPCS account management website. If you do not know the website password, you can do another human engineering hack: Call Customer Service and tell them you can need to know how to access your phone's e-mail account via your browser. The password will get reset in the process.

It is best to save the password in the device, as the connection will only give you a few seconds to respond to the prompt. Tap the word "Prompt", enter the password in the window, and tap OK. For connection type, select "Edit Connections...".

We will need to couple the Network Service to the Trusted Device. Tap New and select a new name-- perhaps the phone's model number. Change "Connect To" to "Phone" and "Via" to "Bluetooth". Now we will identify our Trusted Device, by selecting Tap to Find. In the new window, select the Trusted Device configured in the previous section. Tap OK to return. The model will remain "Standard GSM".

Next tap Details, and change the speed to 115,200. A tap of OK returns to the Edit Connections screen and another tap of OK will prompt for a confirmation. Tap Yes to make this the default connection. Tapping Done will return to the Network screen. Clicking Connection should now show us the option we just defined. Highlighting the option will select it.

The box labeled "Tap to enter phone" will open a new window. First try the number #777. (Yes, the pound symbol is part of the phone number.) Tap OK to save the number. If #777 does not work, you may need to use #999. To test the settings, tap Connect.

If the connection is properly defined, the phone will open a window indicating "Connected as data modem". The Palm will display a window indicating "Connecting", "Signing On", and lastly "Established". Once the connection has been tested, tap Disconnect. This should return the phone to the service screen.

Now lets test the system in production. Tap the Home Icon and select Web to launch Blazer. Input the URI http://wap.oa.yahoo.com and tap Go. The Palm should connect to the phone, and load the page.


1. The phone will not remain connected. This is correct-- and good, as it will allow incoming calls.
2. IT is normal for the Palm to take up to a minute to establish a connection.
3. When done, it is best to turn Bluetooth off. This prevents an application from trying to bump you off a call, and makes your device more secure.

So... Is it worth $959.76? Probably not.

I do, however, have one more trick up my sleeve. Before we go that route, we need to get a laptop running Red Hat Enterprise Linux on the network. Stay tuned.

Howto Hack SprintPCS / Palm (pt2)

Today's mission: Interface the Palm Tungsten E2 with the Samsung MM-A940 via Bluetooth.

We will focus more on the Palm device than the phone, as it is actually the Palm, which is the weak link. The first step is going to be to assign a unique device name. From the Preferences menu, selectBluetooth, and tap Device Name. Input a unique name and tap OK.

Ensure Bluetooth is set to On and the phone is "discoverable". On the Samsung MM-A940, click Menu, Bluetooth, Options, Settings, and adjusting Visibiltiy. To pair the Palm to the phone, execute a search from the Bluetooth menu by clicking Options, Add New, and Search. Highlight the device with the Palm's unique name, and click Add to list.

It is important that the Palm be on and ready. A new window will open asking for the phone's passkey. The default passkey value is 0000. A window will appear on the Palm asking for the phone's passkey. Enter the same code and tap the Trust Device checkbox before clicking OK. On the phone, confirm the pairing in the Bluetooth menu. Return the phone to the service screen (sometimes called the "Time And Date Screen" or "Sceen Saver".

On the Palm, click Setup Devices and Trusted Devices. The phone should be listed. It would seem that we could have tapped Phone Setup instead of Trusted Devices, but that leads to a dead end... if you do not have a preapproved Verizon phone.

The phone and Palm are now paired. There is an option in Communcations on the Preferences page for phone integration, but this is leads back to the same dead end as before. Without a Bluetooth initialization string, the Palm can not access the keypad for contact dialing.

That's okay, however, because our next step is to connect to the Sprint data network.

Monday, May 22, 2006

Howto Hack SprintPCS for Palm Network Access

The Problem: Use a Bluetooth enabled SprintPCS phone and Palm computer to access the Internet.

In a perfect world, this should be easy-- seemless, in fact. As I have previously stated, it is not. So what went wrong? First, it turns out that Bluetooth is not as platform independant as I had anticipated. Second, when I bought my Samsung cell phone from Sprint, I was miss informed as to the base capabilities of the Power Vision (EV-DO) Network.

As a result, we will have to approach this hack from three fronts. We will need to hack the Palm to talk to the Samsung, via Bluetooth (it only knows Motorola and Ericson). We will need to hack the Samsung to connect the Palm to the network (the default config only allows the phone to access the Internet). We will need to authenticate on the network.

The toughest part is the network. Sprint has made the brilliant decision that a customer must pay an extra fee to run data across the network. When they first introduced high speed data, around 2000, data was billed both as minutes and as kilobytes. They soon dropped the minutes fee, as it is cheaper for them to carry data than voice. (Data is not time sensative or prone to collision, which means they can carry it in between voice conversations. Effectively, this allows them to get use of idle voice channels.) With the introduction of the 3g Vision Service, they charged a flat fee for unlimited data.

With EV-DO Power Vision, they decided to take a step backwards, and charge both for megabytes, and a fee. Furthermore, their operators (the bane of SprintPCS) are being told that users must commit to a 2 year Phone As Modem plan at $39.99 per month to get external data service. That's $959.76... but who's counting.

Luckily, a simple human engineering hack can get us around this problem. By visiting the SprintPCS store, I was able to get a sales rep to grant me access to the service for one month, in order to evaluate its potential. He was willing to do this, because I'm still under contract, and the brochures do not actually state that you have to agree to the feature for 2 years, just that you must have a 2 year contract.

The good news: In theory, we now have a valid authentication on the Sprint network. The bad news: We can not contact Tech Support, because Sprint does not realize that any data systems exist other than Microsoft Windows XP. Therefore, any other system will be summerily dismissed as non-usable.

Part Two: Get the Palm and Samsung talking.

Friday, May 19, 2006

Bluetooth Disappointment

On paper, Bluetooth sounds like a wonderful idea. Once you actually apply it to a real product, the luster of this wonderfully technology quickly fades from the limelight. At the beginning of the year, I upgraded my cell phone, an ended up with Bluetooth. How wonderful, I thought, dreaming of seamless integration.

So, I bought a Nokia Bluetooth headset. It beeped... constantly. Every three minutes, it would play the Nokia jingle. Whenever I would get a call, I'd click the connect button, but I couldn't answer the phone, because I had to wait for the jingle to finish. I called Nokia, and they said their headsets were only designed to work with Nokia phones.

I though Bluetooth was a platform independent protocol?

So, I bought another headset Scala. The good news is: the Scala jingle is shorter than the Nokia jingle. Then it occurred to me, two brands of headsets, same problem-- the common factor was the phone.

So, I called Samsung. No, they explained, Bluetooth is extremely particular about whom it will talk. They were surprised that either headset worked. They suggested a change that would decrees the frequency with which the tone played, but couldn't silence the tone.

As if I didn't have enough headaches in the world... I bought a Palm Tungsten E2 with Bluetooth. It won't exchange data with the phone, because it only understands the Bluetooth dialects spoken by Motorola, Nokia, and Siemens. Even if it could, it doesn't know how to access the internet via SprintPCS... only Verizon.

So, I bought a Bluetooth USB dongle. The Windows XP desktop recognized the device. It paired with the Palm, Samsung, and even the Scala headset. In the end, however, the only thing it let me do was sync the Palm via Bluetooth. Unfortunately, it has to be reconfigured every time the system gets booted.

Bluetooth, schmoo tooth.

Tuesday, May 09, 2006

Wired News: Airlines Try Smarter Boarding

Here's and interesting article about how Wired News: Airlines Try Smarter Boarding. What I found humorous is that their example of efficentcy was American West Airline, which I just flew to San Jose. I found them to be no more efficent than my preferred airline, Southwest (who was also mentioned).

American West was using a new boarding process they called "reverse pyramid". Southwest uses chaos theory. Pyramid says load back seats first, starting at the windows. The Southwest system is based upon the theory that if you tell a hundred people to get on the plane, as fast as possible, that they will adjust their movements to accomplish the task. As long as everyone's goal is the same (fly), everyone will work collectively (think ants).

What distressed me is that no one identified the actual problem with boarding, which is passengers loading carry on luggage in the overhead storage. The good news is that many airlines are beginning to enforce carry on regulations: one item, limited size. Before long, they take a page from the cargo services-- all carry on must be in a uniform box, of a specified size. No more fumbling in the aisles, as the box will fit in your alloted space.