Preventing laptop hard drive from overheating

Six months ago, I replaced the failing hard drive in my Linux laptop, and already, the SMART tools are telling me that I should back up and replace the hard drive — a high number of sectors have gone bad.

Hmmm. What’s this? SMART also reported that the hard drive had reached “overheating” temperature ranges. Why would that be? I did some Google searching, and came up with the following advice:

  1. Don’t close the laptop lid while it is powered up! This is how I had normally run my Linux laptop — it’s a server, and I leave the lid closed. Oops! I’ve changed the power settings so that when the laptop lid is closed, it sleeps.
  2. Edit /etc/grub.conf and add acpi_osi=Linux or try acpi=off to seee if apm (automatic hardware control) will take over. I’ve just started trying the former. UPDATE 8 Feb 2011: Using this prevented my laptop from waking up from sleep, so I stopped using it.
  3. Vacuum the dust off the fan screen (to prevent airflow blockage)
  4. Monitor the temperature with ‘smartclt’

Based on a tip from my father (a long time Linux expert), I ran “smartctl -H /dev/sda”, and it says “SMART overall-health self-assessment test result: PASSED”. I assume it means the hard drive is still okay, but I had better not forget to make regular backups, and monitor the status of the hard drive.

iPod Touch: what’s great, and what’s not

Janice gave me an iPod Touch, 4th generation, for my birthday. Here’s my take on it, compared to a Palm T|X and a Nexus One.

I’m going to take a list of features that I claimed I wanted, and recast it in terms of the iPod Touch. Next, I’m going to describe what pleases me about the iPod Touch, followed by what is annoying.

  1. Quick access. For some reason, I can forgive this omission with the iPod Touch, while I couldn’t with the Nexus One. Maybe the Nexus One prepared me so that I wasn’t disappointed.
  2. Bluetooth Keyboard support. Excellent. My Palm Bluetooth keyboard (3245ww) works like a charm with iOS 4. No Android devices do, that I know of.  This is a “killer feature” for me. Taking notes on a touch screen is vastly inferior to using a real keyboard.
  3. CalenGoo Calendar. Apple’s default calendar isn’t too bad, but CalenGoo is vastly superior, and worth more than the $6.99 that the author charges for the application. CalenGoo includes local alarms (on iOS 4), and snooze buttons. It lets me integrate my Google tasks into my calendar. CalenGoo isn’t quite as good as DateBk5 for Palm, but it’s close.
  4. Configurable alarm snooze length. With CalenGoo, I can configure the snooze length. Hooray!
  5. Contacts. With iOS, I can configure it to sort by last name, then by first name — unlike Android. I find that I usually use the search feature to look up contacts.
  6. Copy-and-paste in email, etc. Copy and paste on iOS 4 is outstanding, and works in nearly every app including email and the web browser. Copy and paste is better than on Android, and far superior to Palm, where I was limited to, at most, copying two paragraphs of text.
  7. Camera with good auto focus. I don’t particularly care about the camera in the iPod Touch, but it does do a good job with auto-focus.
  8. Standard headphone jack that isn’t finicky. What a relief! The iPod Touch headphone jack works as expected when I connect it to a variety of headphone jacks (my stereo), whereas the Nexus One would go into random shuffle preview mode.
  9. Record audio to a standard, ubiquitous format such as wav, ogg vorbis or mp3. Nope. Oh well. That’s what my Sansa Clip is for, I suppose.
  10. Full backup and restore. iTunes reportedly backs up my device.
  11. FM radio receiver. Nope. Good thing I have a Sansa Clip.

Things I love about the iPod Touch:

  1. Cost effective. It’s more cost effective than iPhone and Android because there’s no expensive monthly plan.
  2. The Retina display is outstanding and pleasing to look at, far better and more crisp than either the Nexus One or the Palm TX.
  3. The Safari web browser works very well. The browser on my Palm TX barely hobbled along, and often, that was too much, and it would crash, rebooting the Palm. So I never used that feature. Android’s browser is also excellent. It’s based on the same code: WebKit.
  4. When apps crash, it doesn’t take down the entire OS like on Palm.
  5. Slim and small. It fits in my pocket much better than my Palm TX.
  6. The Note Pad app lets me email notes to others. It also syncs the notes to my Google email.
  7. Availability. Purchase it from any Wal Mart, Target, or other department store.
  8. Accessories. The local Wal Mart had dozens of protector cases, alarm clocks, stereos, and other gear designed for iPod Touch. Try finding accessories for an Android device. They’re going to be sparse, and available online only. In its heyday, Palm had a variety of accessories (not nearly as much), but Palm is history.

Apps I love:

  1. Pandora music. I love being able to pick a music genre, and have it play excellent music that I’m not familiar with. http://www.pandora.com/
  2. LDS Gospel Library.
  3. LDS Hymns and LDS Children’s Songbook.
  4. Dictionary.com free dictionary.
  5. CoderCalc RPN calculator with four lines of stack on the display. With a clumsy touch screen, I find it vital to know that what I entered was correct, and with the four lines of stack, the problem is solved. A calculator with real, physical keys still beats a touch screen calculator.
  6. Mint.com app to keep me up to date on my finances.
  7. AIM Free, for when I need to send free SMS messages. Yes, AIM supports SMS.
  8. Kindle. The Kindle reader includes the New Oxford American dictionary.  Simply tap on a word in a book, and a definition pops up.
  9. iBooks. iBooks also supports pop-up definitions of words.
  10. Google. This app launches various Google services online. Google has made its web apps customized to work very well on iPhone. The google email web app is better than the iOS email app.
  11. Password Manager. I’ve chosen MyKeePass, not because it’s the best, but because it allows me to manage, store, and retrieve my passwords on Linux, Windows and the iPod Touch. I also figured out how to translate my Palm GNU Keyring password database into a format that Linux keepassx could import.

Annoyances:

  1. No standard menu button in apps. Both Palm and Android got it right.
  2. Apple’s email configuration wizard misled me to sync with Google Mail instead of Exchange. This meant that I didn’t get my Google Contacts synchronized to my iPod Touch until coworkers told me that Google supports an exchange connector. Instructions for setting it up are at http://www.google.com/mobile/sync/
  3. The music app didn’t show me a “seek in track” option. A friend helpfully showed me that by single-tapping on the (non-existent) album art, it would pop up a previously-hidden slider.
  4. No ogg vorbis support. I know this thing is billed as an iPod, but in my opinion, the Sansa Clip is a far better iPod. My music collection is in ogg vorbis format. The Clip supports vorbis, and it has an FM radio tuner, clips to my shirt, and is more convenient for outdoor activities.  For me, the iPod Touch is a Personal Digital Assistant, not an iPod. On the other hand, the Sansa Clip doesn’t have Pandora.
  5. Tethered to iTunes. When first unpackaged, it won’t do anything without first being connected to iTunes on Windows or Mac. I’m not sure whether Linux gtkpod would do the trick or not.
  6. Touch screen interfaces are inferior to stylus interfaces. The stylus on Palm was far more precise for selecting text, tapping on hyperlinks in Plucker e-books, etc. On the other hand, with a fat-finger interface, there’s no stylus to misplace. I love pinch-and-zoom.
  7. No way to send contacts to other devices via bluetooth. Palm had peer-to-peer networking down ten or more years ago, first with InfraRed, and then with Bluetooth. I suppose that in an always-connected iPhone world, people email things to each other. I’m not always connected.

I’ve never owned an Apple device until now. They’ve created an excellent device with the iPod Touch. It’s not perfect, but it’s adequate to replace my Palm TX as a personal digital assistant, and in many ways, it’s far superior.

“In 1976, the basic computational power of a $200 iPod would have cost one billion dollars, while the full set of capabilities would have been impossible at any price, much less in a shirt pocket.”  — Erik Brynjolfsson, Paul Hofmann, and John Jordan, Communications of the ACM, May 2010, p 33.

UTOSC: Small scale outsourcing

In early October, I attended the Utah Open Source Conference. I’m not sure what outsourcing has to do with Open Source, but it was one of the more interesting presentations I attended.

Outsourcing, by Scott Lemon of HumanXtensions L.L.C.

Scott worked for Novell, and they had a development center in India, which is what got him into outsourcing. That was back in 2000. Since then, he’s refined his personal model of outsourcing.

Q: You suck! Are you taking our jobs offshore?
A: No. You are in control of your own destiny. You are in control of the value you create in an organization. People in other countries want the American dream that we’ve “pimped” to them. Those people are educated, hard working, etc.

Leveraging…

  • Multiply your value by building a team
  • Multiply productivity and output
  • Increase your capabilities and income.
  • Scott + 3 locale developers and 7 offshore developers.
  • They run 2-3 projects in parallel.
  • They do $500K of revenue per year.

Communications…

  • are the most critical aspect of a distributed team. Most people “suck” at communicating.
  • to make outsourcing work, you have to communicate daily or more.
  • they use Basecamp, Acunote, SVN and Skype group chat.

Email isn’t any good. You have to use good project and task management tools. There are delays in email. You can’t track tasks via email.

Acunote is good for larger scale projects than Basecamp, but they do use Basecamp for smaller projects. Their projects are anywhere between $20K to $150K.

Where to outsource…

  • Scott stopped using India because the people there do a ton of job jumping. Training goes out the window. No notice. No notification. They simply vanish and are gone.
  • Now he uses people from the Philippines for many reasons: 0. Based on the recommendation of people he knew — people that were familiar with the country 1. They’re fluent in English and don’t have heavy accents. 2. Their education system is excellent. Sun Microsystems took over their educational system by giving schools a ton of Computer Science curriculum. The students have a C/Java background, and they can convert easily to PHP, Ruby, etc. The people are very smart. However, they don’t understand the American social context as well as we do. E.g. they don’t do coupon clipping like we do. E.g. they don’t have loyalty cards.
  • Their wages: minimum wage is $1.11/hour. He starts his trainees at $1.30/hour. Then he bumps it up for the next six months. If they stay on longer than 6 months, he pays them double minimum wage. He tells his people he will increase their wages by 10 percent per year, or more if they really excel.

An audience member said: One thing to remember is that some countries devalue their currency. So, if you an overseas employee $1 per hour, that dollar has more buying power than we realize, in their own country, compared to our own.

Scott met with attorneys in the Philippines to write up legal contracts, and because he wants not to be arrested — he wants to abide by the law. He hires his people as contractors, because it’s so difficult to fire employees.

He found a real deal with Wells Fargo that makes it free for him to transfer payroll to a bank in the Philippines — because he already has a bank account and a mortgage through Wells Fargo. He uses WF for payroll as well.

He’s not saying that you have to outsource to the Philippines. Pick a place that works for you.

Who does he hire?

He picks recent graduates. He didn’t want the rent-a-coder model, but someone that works for him, and is committed to him or his company. He hires people outside of major cities! It’s far cheaper that way, and easier to find people. He has a lot less risk of losing that employee. Recent graduates are trainable.

He recently hired 5 guys. He told the candidates what tech he was hiring for. The candidates went out and learned the tech, and wrote demo programs in the technology that they could show up at the interview.

With recent graduate new hires, he can lay out a wage growth plan over ten years.

How did he do it?

He didn’t sit on Google trying to figure it out. He flew to the Philippines. He listed jobs in local job boards two weeks in advance. While there, he met with university professors, scheduled interviews and made offers.

Standardized tools…

  • Specific tools (he’s flexible about programming editors), and instructions on how to install them.
  • Coding style document. They enforce this.
  • Specific frameworks and languages.
  • Process is defined for writing and testing code in a specific test environment.
  • They define communication channels. This is critical.

Patterns of operation…

  • He pairs 2-3 offshore developers with one local developer.
  • He points his developers to past consulting projects to learn from — as templates.
  • Most of his new hires are productive in 6 to 12 months — meaning that they can get much of the work done without him having to architect the initial setup — because the devs are familiar with the pattern from previous projects.

A day in his life…

  • Wake up, code review
  • Respond, new tasks
  • Client meetings, coding
  • Write tasks
  • Dinner break
  • On line interaction
  • Go to sleep around midnight

He takes breaks on weekends. He does do things Sunday night, because that’s Monday morning in the Philippines.

His business doesn’t do the graphic design of websites — just the system and the infrastructure.

Scott seemed to think that Objective-C is a dead-end one-trick pony. He leverages Titanium to let his guys do JavaScript to develop iPhone and Android apps.

They do the testing of the apps. Customers pay for new features and maintenance. Customers get to hammer on a test server as well before deployment.

His contractors have to do their own taxes. He reminds them of this.

Q: What about the Philippine employees ripping off his intellectual property?

A: He worries about it just as much as he would with American employees. This is what contracts are for, and the legal system.

He uses Balsamic to prototype things. His offshore devs build his prototype into a product, and make it far better than his mockup. His devs are very capable and skilled.

Linux rdesktop, sound and Fedora

I use ‘rdesktop’ from my Linux box to connect to a Windows machine. rdesktop can forward sound using the “-r sound” option, but it stopped working in Fedora 11, when PulseAudio made its appearance.

The reason is because:

  1. rdesktop uses the obsolete OSS sound device /dev/dsp
  2. Fedora/RedHat disables OSS sound support so that it doesn’t conflict with PulseAudio

The workaround, for now, is to, run this, as root:

sudo modprobe snd-pcm-oss

Backup and Incomplete Restore

It’s a pain to recover from a failing hard drive, even months after the fact. The hard drive in my Linux server (a laptop), started going bad in May or June. Since it was still under warranty, HP replaced it.

Before I sent the drive back to HP, I copied what I could recover from it, and I restored the other files from backup. Or at least, so I thought. Tonight, I discovered that my music collection is missing. The file folders are there, but the mp3 and vorbis files aren’t. Not a big deal, since I have the CDs, except for the few albums that I purchased as mp3s. “What else is missing?”, I wondered.

find $HOME/Photos -depth -type d -empty

It turns out that some of my photos are missing as well. It’s a good thing I didn’t delete my backups once I thought I’d completely restored from them.

Miscellaneous Linux tips and tricks

Gnome Key Bindings and IntelliJ IDEA

IntelliJ IDEA key bindings conflict with Gnome’s window manager. In IDEA, I can type CTRL-B to jump to a symbol definition. Normally, I’d type CTRL-ALT-LEFTARROW to navigate back to where I had come from. Gnome’s MetaCity intercepts that key mapping before IDEA sees it, and tries to move my desktop to the left. There are several other Gnome/Metacity key bindings that conflict with IntelliJ IDEA. Rather than remap the keys in Gnome, I found that on Fedora, I could add the Windows key to the mix, and Gnome would ignore it, and pass it along to IDEA. This means that I can type CTRL-ALT-WINDOWS-LEFTARROW to navigate backward, and so forth.

Unfortunately, this doesn’t work in RHEL 5 and CentOS 5. The solution is to Go to the Gnome menu bar and select System > Preferences > Keyboard (not Keyboard Shortcuts). Then select the “Layout Options” tab, and expand the “Alt/Win key behavior”. Then I select “Super is mapped to the Win-keys”.

Every time I log in after that, Gnome tells me that my X keyboard settings conflict with my Gnome Keyboard settings, and it asks which I want to use. Selecting the Gnome settings is what I want.

Bandwidth limiting downloads with ‘curl’ or ‘wget’

When downloading a large file, it’s nice to be polite to others on the network, so I use the --limit-rate option for curl and wget:

* curl -O --limit-rate 20k http://server.com/linux.iso
* wget --limit-rate=20k http://server.com/linux.iso

GDB TUI (text user interface)

After starting gdb, it’s possible to switch to its text user interface with CTRL-X, CTRL-A. Typing it a second time exits TUI mode.

Vim C++ Auto completion with ctags

I appreciate full blown IDEs in Linux, but I like the quick start up time of vim. Until recently though, I didn’t have C++ auto completion (also known as vim omni completion).

This got me up and running, and was a great resource:
http://vim.wikia.com/wiki/C%2B%2B_code_completion

This would have been useful if I was a new comer to vim and ctags:
http://www.justlinux.com/nhf/Programming/Introduction_to_C_Programming.html

xdg-open, gnome-open, start, cygstart

How to easily open files and URLs from the command line
http://www.dwheeler.com/essays/open-files-urls.html

  • Linux: xdg-open filename_or_URL
  • Linux: gnome-open filename_or_URL
  • Mac: open filename_or_URL
  • Windows: cmd /c start filename_or_URL
  • Cygwin: cygstart filename_or_URL

Nomachine NX and ALT-TAB

I use the Nomachine NX client from time to time to get a remote-desktop like connection to a remote Linux machine. It’s faster than VNC, but it suffers from not forwarding all of my keyboard shortcuts to the remote end of the connection.

Usually, I start the nxlcient from within a Gnome login session. Gnome happily grabs ALT-TAB before the NX client gets to see it. That’s not what I want. To work around this limitation, I log into a virtual terminal, and start X manually as follows:

Type CTRL-ALT-F2
Login
Run: startx -- :1 gnome-terminal

From the gnome-terminal, run: nxclient

And then I connect to the remote machine in full screen mode. There’s no local window manager to interfere with my keyboard shortcuts.

Remote desktop and dual screens

I’ve been using Remote Desktop to connect to Windows XP, Vista and 7 machines. Until Windows 7, there was no way for a local computer having dual monitors to connect and have the remote end display across both monitors.

So I used linux’s ‘rdesktop’ program to do it:

rdesktop -0 -a16 -f -rdisk:CLIENT=/home/jared/Desktop -r sound remote.host.com

I notice that in Windows 7, there are some new options in the Remote Desktop client (mstsc.exe): /multimon and /span. Or run mstsc /? to list all possible options.

Editing windows registry files on Linux

Use Gedit: gedit --encoding=UTF-16LE myfile.reg

Gvim: LANG=UTF-16LE gvim myfile.reg

If already in gvim: :e! ++enc=utf-16le
or :e ++enc=utf-16le myfile.reg

Convert, edit, convert:

iconv -f UTF-16LE -t utf-8 myfile.reg > myfile.reg.utf8

Edit myfile.reg.utf8, then convert it back

iconv -f utf-8 -t UTF-16LE myfile.reg.utf8 > myfile.reg


How Firefox opens files and mime types

I needed to give Firefox some extra help knowing how to open a custom file type with a custom application. Here’s some helpful information.

https://developer.mozilla.org/en/How_Mozilla_determines_MIME_Types

Firefox uses mime.types on Linux, as well as other things. I helped Firefox by the mime type to the link in the generated HTML file. Either one of the following seems to work:

* <a href=”file:subdir/file1.cst” type=”application/octet-stream”> open file </a>
* <a href=”file:subdir/file1.cst” type=”application/x-extension-cst”> open file </a>

Independence Day

Today, it’s Independence Day in the United States of America. I associate it with parades, balloons, children laughing, family reunions, and a time to rejoice in our freedom. Freedom to worship God, according to the dictates of my own conscience. Freedom to speak of ideals, without fear of imprisonment. Representation to form our own laws, instead of having the laws dictated by a distant and unaccountable king. The rule of law — a republic, instead of rule by mob majority — a democracy.

As a member of the Church of Jesus Christ of Latter Day Saints, I endorse our beliefs regarding the role of government:

“We believe that governments were instituted of God for the benefit of man; and that he holds men accountable for their acts in relation to them, both in making laws and administering them, for the good and safety of society. . . .

“We believe that all men are bound to sustain and uphold the respective governments in which they reside, while protected in their inherent and inalienable rights by the laws of such governments; and that sedition and rebellion are unbecoming every citizen thus protected, and should be punished accordingly; and that all governments have a right to enact such laws as in their own judgments are best calculated to secure the public interest; at the same time, however, holding sacred the freedom of conscience.

“We believe that every man should be honored in his station, rulers and magistrates as such, being placed for the protection of the innocent and the punishment of the guilty; and that to the laws all men show respect and deference, as without them peace and harmony would be supplanted by anarchy and terror; human laws being instituted for the express purpose of regulating our interests as individuals and nations, between man and man; and divine laws given of heaven, prescribing rules on spiritual concerns, for faith and worship, both to be answered by man to his Maker” (D&C 134:1, 5–6).

Article: Vegetable gardening 101

I enjoy gardening, even if I’m just a beginner after ten years of doing it. Here’s an article on gardening by the host of the Greenhouse Show.

[Vegetable gardening 101: Larry Sagers tells you how to grow your garden](http://www.deseretnews.com/article/print/700022022/Vegetable-gardening-101-Larry-Sagers-tells-you-how-to-grow-your-garden.html)

My grandfather inspired my to like gardening. I lived with him and my grandmother during my freshman year of college. He had a good sized garden, and there was nothing as sweet as fresh picked raspberries or as crisply delicious as his cucumbers.

I enjoy gardening because I like being outside, and I like seeing things grow. It gives me a thrill to work and prepare the soil, to plant a seed, and to see it emerge from the soil. It’s rewarding to see my children wander through the garden and pick beans, peas, tomatoes and peppers.

Nearly two years ago, we moved to a new home, and had to start our garden and fruit trees from scratch. This Spring, I’ve planted bare root concord grapes, strawberries, and raspberries.

As a family, we drew a map of our yard, and assigned planter boxes and the children picked something to grow. In the coming month or so, Janice and I will help them plant, water, weed and grow their vegetable. I look forward to it.

Rewinding from immature Android to mature PalmOS

I like seeing new developments in technology, like the game-changing [memristor from HP](http://en.wikipedia.org/wiki/Memristor). At times, I get frustrated with new technology because it introduces complication without delivering improved quality of life. Case in point: Google’s Android operating system and the Nexus One.

In February, I fast forwarded from using a [Palm TX](www.palm.com/us/products/handhelds/tx/) to a shiny new [Nexus One](http://www.google.com/phone), due to the failure of the digitizer in the former device. I was excited about the Nexus One — reportedly the best Android device to date. As I began to use the Nexus One, I found several areas that were less productive than the Palm TX. I grew frustrated, and searched for add-on apps that would smooth out the bumps in the calendar and give me a task list.

I found three excellent apps that helped: Pure Calendar Widget, gTasks, and Calendar Pad. I put two 2×2 Pure Calendar widgets on my home screen, side by side: one for my calendar, and the other for my tasks (Pure Calendar displays data from Google Calendar, gTasks and/or Astrid). As I continued to use the Nexus One, I determined what I want in a PDA/smartphone, in order of priority:

1. Quick access. I want a quick, easy way turn on the device, and I want instant access to my most important data: calendar, and tasks. With Android, it’s too cumbersome. I want a calendar button, and if I can’t have that, then I want additional unlock gestures, one of which will drop me directly into my calendar — at today’s date. Same for tasks. I’d like a physical phone button to _quickly_ make phone calls.
2. Bluetooth keyboard Support. If I’m going to invest into a PDA or a smartphone, I want a keyboard. It makes it easier to take notes, and it makes it far easier to use SSH. I don’t want a keyboard all of the time, but I will us it frequently. Android may well support this in the future (See [this](http://pdk.android.com/online-pdk/guide/bluetooth.html) and [this]( http://source.android.com/projects/bluetooth-faq)). The Palm TX supported it years ago.
3. Better calendar. I want it to have most of the features of [DateBk5](http://www.pimlicosoftware.com/datebk5.htm) for the Palm including 1. collapsed day view (don’t show me wide swaths of time when there are no appointments). 2 floating appointments, 3. a compact “Calendar Pad” like view for month and week (with text), 4. a better built-in agenda-style widget, somewhat comparable to Pure Calendar Widget, 5. easier touch-screen editing and configuration of appointments and 6. I want calendar search built-in.
4. Configurable alarm snooze length and snooze response. DateBk5 is fantastic in this regard. When an alarm appears on my screen, I want to be able to snooze for any length of time I specify, and I want to be able to specify it for each and every one that may be pending — not all at once.
5. Contacts: I want to be able to sort by last name.
6. Email: I want copy and paste in the email apps.
7. Camera with good auto-focus. The Nexus One was so close, but ultimately, it failed to focus for 80 percent of my pictures. It would have been more satisfied without a camera.
8. Standard headphone jack that isn’t [finicky](http://www.google.com/support/forum/p/android/thread?tid=1fb5ef9a5c667d18&hl=en).
9. Record audio to a standard, ubiquitous form out-of-the-box, such as wav, ogg vorbis or mp3.
10. Full backup and restore.
11. FM radio receiver. I like listening to the radio, and if I’m going to have a device that does it all, why not have an FM radio too? But if it costs too much extra, then no thanks.

A few weeks after I purchased the Nexus One, a coworker told me I could buy a replacement digitizer for my Palm TX for $35, which I did. I followed the [instructions at instructables.com](http://www.instructables.com/id/Replace-the-Touch-Screen-Digitizer-on-a-Palm-TX/) to do the replacement, and have been very pleased with the result. So pleased, in fact, that I considered selling the Nexus One. I like the precision of a stylus better than a fat finger. I like the ability to write, using Graffiti, without having to look at an on-screen touch-keyboard to jot down notes. If only I could have a keyboard for the Nexus One, then maybe it would be more productive.

I bought a foldable bluetooth keyboard (Palm 3245ww), on the (incorrect) [recommendation](http://www.nexusoneforum.net/forum/nexus-one-general-discussion/3246-bluetooth-keyboard-support-works-flawlessly.html) that it would work with the Nexus One. It didn’t, but that was okay, because it works beautifully with the Palm TX.

I continued to use the Nexus One, but I found myself frustrated when I read email but had no physical keyboard to compose a reply — instead, I had to settle for a slow touch-screen alternative. I had a general purpose computer in the palm of my hand, but I felt crippled with it. My expectations exceeded the capacity for it to deliver. The Nexus One is a fantastic mobile internet device, and a great platform for consuming content, but not for creating content.

I found myself using the Nexus One to check email or read Facebook when I was sitting at the dinner table, when I really wanted to be focused on my family. I found myself updating apps to the latest version, instead of doing more productive things. I found myself distracted by the Nexus One to the point that it was reducing the quality of my life.

So I sold the Nexus One, and now I’m satisfied with mature, capable, legacy technology in the form of my Palm TX. I’ll continue to watch Android as it matures — after all, I like seeing new developments in technology.