Archive for June, 2007

Solution to prc-tools on AMD64 and other 64-bit machines

Tags: , , ,

If you’re like me, moving to the latest 64-bit hardware has made an ENORMOUS difference in my productivity. I’ve moved all of my personal machines and servers to AMD64/4600+ machines with a minimum of 4gb of RAM.

The problem is that not everything moves over so seamlessly; case in point: prc-tools. The problem with prc-tools not functioning on AMD64 has nothing to do with John Marshall, the maintainer of prc-tools… John is a great person, once you get used to how he works and how he expects bug reports and submissions <ducking from johnm’s swing>

I use prc-tools in several-dozen hourly cron jobs to build Palm software for projects like Plucker and several others, and I wanted to decommission the existing AMD32 machine that was doing those builds up to this point to migrate everything to the faster, less power-hungry AMD64 machines.

I didn’t really want to have to move everything to the new AMD64 machines EXCEPT this one AMD32 machine powered up @400W 24×7 just to build Palm software. That would cost me too much money each month in power costs for a server which isn’t really being used for anything other than cranking out hourly builds of Palm software.

prc-tools is a series of patches to the mainline gcc compiler that we’re all used to using on Linux and other POSIX systems like BSD and Solaris. The problem is that the prc-tools patches are mated to gcc-2.95, which was released back in July 31 of 1999. 64-bitness didn’t even exist back in 1999, 8 years ago.

I’m also not the only one with this problem.

I started patching up gcc’s configuration files to detect 64-bit procs a bit better, but it dead-ended quite early. The autoconfiscation process doesn’t even detect the architecture via config.guess. Dropping in a more-recent config.guess and rewrapping helped a little bit, but it died further on in the process. Iterative fixes got it quite far, but eventually I had to dive into gcc itself to patch it, and that’s an area I leave to more-seasoned experts than myself.

Read the rest of this entry »

Why the iPhone Failed

Tags: , , ,

I love gadgets. I have lots of them.

My role as pilot-link maintainer has me thinking about devices, data, synchronization and plenty of other things on a daily basis. Not a day goes by when I’m not trying to mentally redesign some portion of the datapath between devices.

That being said, the iPhone has created a lot of buzz in the industry. It’s a neat looking device, and has plenty of eye-candy to please the masses, for a short while. I’m sure it’ll do great as a device in the industry.

Apple iPhone

But the iPhone is absolutely useless to me and to anyone but the ENTRY LEVEL Apple customer and userbase. Before you reach for that tomato to throw at me, hear me out…

  1. It has less storage for music than an iPod, and is twice as large.
  2. It does not sync to anything BUT an Apple OS X machine and onboard applications. Can I sync this with Linux? No. Windows? No. FreeBSD? No.
  3. It doesn’t upgrade any existing device (i.e. getting data into it is manual re-entry, which is prone to lots of errors and mistakes
  4. It has a VERY fragile face. Can you stick this in your pocket with your bluetooth headset and keys? Not likely. Can you put it in your bag and not have it scratched/crushed/cracked? No.
  5. Can I share data on it with a non-iPhone user by “beaming” business cards or other datafiles back and forth? No.
  6. Can it run another operating system, other than OS X? Can I run Linux on it? No. (at least not yet, but that doesn’t erase the issues in 1,4 and 5 above.)

While its a neat looking device, so are plenty of gadgets that went exactly nowhere. My Treo680 has more storage, more features, more functions, more stability and more flexibility with support for at least 5 separate operating systems out of the box than the iPhone.

My colleagues who know I love gadgets are asking me when I’ll be getting an iPhone (probably so they can play with it). The answer is a resounding never, until all of the above issues are addressed. This isn’t a Linux statement, this isn’t an anti-Apple statement, this is a usability statement.

My wife has a 20″ iMac that I bought her last Christmas, and she loves it. She also has a 4-gig Nano I bought her the previous Christmas. The two work great together. She also has a flip phone I bought her for Mother’s Day a few years ago.

She admits that her phone has more features than she’ll ever use, and the iPhone isn’t even interesting to her… and she has the optimum environment to use it within.

I’m not sure who they’re targeting, and without any clear, open path to development on the device, I can’t see developers being their target audience.

I think the only people who will covet and buy an iPhone are those who “Just Gotta Have One™”, without really looking at how it misses the target on almost every issue.


  • No replaceable battery. This IS 2007, right? (there are plenty of links describing how to replace it yourself though, but you void the warrantee by doing so.)
  • It has a camera, but can’t record video (my Treos have all done both)
  • Custom headphone jack; can’t use your normal headphones with it.
  • Stereo bluetooth ONLY with the Apple-branded headset(s)
  • AT&T’s “unlimited” plan is not unlimited (read the fine print; you’re limited to 5 gigabytes per-month)
  • Requires switching to an alternate keyboard to get things like commas and other meta keys. By contrast, my Treo has a series of ‘shift’ keys that do the same thing, depending on whether you want numbers, letters, punctuation and so on. MUCH faster with the meta keys than popping up an alternate keyboard.
  • No Flash support (but there is a way around that)
  • No support for non-iPhone headphones (those expensive studio earphones you have? Forget it.)
  • No support for memory expansion cards (SD/MicroSD/CF), when it takes nearly no space to implement it
  • No non-Safari SDK available
  • Capacitive touchscreen, not resistive; no using it with gloves on in colder climates. (Treo wins again here)

And the list goes on. While I think lots of “Must Have It” gadget people will love the device, for real productive or business users, its a lemon.

Treo 680 Battery Life Solutions

I’ve upgraded my Treo 650 to a Treo 680 fairly recently, thanks in part to cracking my very first Palm screen by dropping my phone on a hard, concrete airport floor. Oops!

I’ve been using Cingular (now AT&T) for my mobile service for several years, and their coverage is stellar. Previously, my wife and I had Verizon, and their coverage is a joke. We’d get dropped calls dozens of times per-day, with full signal and towers nearby, and then we’d go hours without any signal, for no reason. Avoid Verizon if you can.

I had a $5.99/month “Insuranace” plan on my phone for a few years, to protect me in the case where something was damaged or my phone was stolen. As it turns out, Cingular doesn’t support the Insurance plan for “PDA Phones” like the Treo. After some heated arguing with them, they back-credited me about 3 years of $5.99/month charges, which I then applied to upgrade my 650 to the 680.

Shortly after using it, I realized the battery life was HORRIBLE on the device, with the standard 1200mAh battery (shown here):

Stock Treo 680 Battery

There are a few tricks to fixing this however! The first thing to do is reduce the amount of power being consumed.

  1. Disable Bluetooth if you aren’t using a Bluetooth headset or synchronizing over Bluetooth
  2. Turn off the screen during phone calls using an application called Phone Technician
  3. Disable the keyboard lights with an application called KBLightsOff from LilApps.

Check your Power settings:

  1. Navigate to Prefs -> Power
  2. Set your brightness down to the bottom 10-20% of the scale (left-most side of the slider)
  3. Set “Auto-off after” to 15 seconds
  4. Set “On a call, dim backlight after..” to 1 minute
  5. Set “Beam Receive” to OFF

Palm Power Settings

Install the latest Treo 680 firmware update. As I type this, the update is v1.09. The list of fixes is shown to be:

  • Improved power management for better battery life.
  • Camera update for improved battery life (available previously as a standalone update).
  • Helps correct distorted characters that can occur in the title bar of the Phone application.
  • Helps fix device “freezing” that may occur under certain conditions.
  • System Lockout improvement for increased security.
  • Support for the new Daylight Saving Time legislation (available previously as a standalone update).
  • Provides better support for networks unique to some Caribbean, Latin American, and Asian countries.
  • Updates Cingular branding, replacing it with the new AT&T branding.

The next thing to do is “power-reset” your Treo battery. To do this, do the following:

  1. Connect your Treo to the standard wall charger (NOT the usb charging cable).
  2. Remove the battery from the back of the Treo and wait for three full minutes.
  3. Remove the SIM card from the device and wait for another full minute.
  4. Put the battery back into the Treo (without the SIM card) then let your Treo charge until completely full (about 6 hours).
    • Do NOT press any keys on your Treo after reinserting the battery.
    • Do NOT switch your TREO ON or OFF, just leave it alone.
    • Do NOT enter the SIM card PIN if prompted to do so, just wait!
  5. Once your Treo is fully charged, you may reinsert the SIM card in the back and replace the battery. You should now see proper battery utilization from your Treo.

Another option is the Seidio 2400mAh “Extended Life” battery. I bought one of these for my 680, and I couldn’t be happier.

The best part about the extended battery, is the extended battery cover that comes with it. I still have my Treo 650 and its larger battery, and with the Seidio cover, I can now use that older battery in my 680 as well, giving me 3 full batteries to work with!

Treo 680 Extended Battery

I also purchased the Multi-function Charger from Seidio as well. This charger works on AC power as well as over USB if you were on the road. Since I now have 2x2400mAh batteries and 1x1200mAh battery, I needed a way to rotate the charging across all three of them. While I’m using one battery in my Treo, I’m charging another, and it works out perfectly.

Multi-function Treo Charger

If you don’t want the “bump-out” cover making your Treo ugly, you can also get the 1300mAh battery that is 7-8% more capacity than the stock 1200mAh battery, and fits in the same physical slot, using the same OEM cover. A few of these and the multi-function charger, and you’re good for several days of offline-talk time.

After combining these techniques, the battery life on my Treo 680 is much more tolerable than it was when I first received it. I almost sent it back, it was so bad, and now I can’t imagine parting with it.

Bad Behavior has blocked 1800 access attempts in the last 7 days.