Archive for the ‘Urban Nomad Computing’ Category

Duty Cycle isn’t Panacea

Tuesday, July 22nd, 2008

I wrote Duty Cycle to throttle back CPU intensive programs that boost my laptop’s temperatures beyond what I was comfortable with.  It works fine for kernel builds and most other things I tried it on.

Lately I’ve been making some changes to Amethyst, a Ruby on Rails app, that require significant changes to the database — changing the primary key of some tables, merging all uppercase/lowercase versions of a word into a single record, etc.  Guess what, some of the table have 1/3 million records and the changes take time and CPU power, i.e., the laptop heats up.  So I killed the conversion program, and restarted it with Duty Cycle’s default 50% duty cycle.  The CPU usage drops from 99% to 98%!  Huh!  Oh, the conversion program is being throttled by Duty Cycle, but it’s mostly making calls to the MySQL database server which is doing most of the CPU intensive work.  Cutting the duty cycle back to 5% still loads the system significantly, but the temperature stays under 70°C.

Installing Garnet VM apps via Web Server.

Monday, May 19th, 2008

The recommended way to install applications in the Garnet VM (Palm Pilot virtual machine) is with an SD card. I don’t have one, am cheap and don’t want to buy one, and don’t have an SD card reader. So I tried another way that works. Downloading the application files (.prc and .pdb file) from a Web server. In my case I just down loaded them from a Web site such as Freeware Palm, uncompressed or unzipped as needed, and moved the files to the public directory of a Web server on my laptop. From there I just plugged in the URL into the browser on the Nokia and downloaded them. The installation in Garnet VM is just like applications installed via an SD card, just from a different location in the Nokia.

Nokia N810 and Garnet VM

Monday, May 19th, 2008

I was a bit surprised how few applications there are for the N810.  My plan was to replace an aging Handspring Visor.  There just aren’t the apps to do that yet.  I’m going to write some Real Soon Now, just as soon as I wrap up some Ruby on Rails app releases.

There is a Palm Pilot Virtual Machine, Garnet VM.  It is in beta and supports only some Palm OS applications.  I am digging through the apps I have on the Handspring, but most won’t install.  So I’m trying to find free/cheap equivalents that will.  So far Teapot seems to be an acceptable replacement for Toast Timer to time meditation sessions and watering sessions.

Nokia N810 – GPS

Wednesday, February 13th, 2008

The GPS receiver in the Nokia N810 isn’t very strong.  I have yet to get a position fix indoors or even in a car.  Outdoors it does acquire position fixes, but there is a fair amount of uncertainty/jitter.  Standing still my “position” wanders about.  It is good enough to figure out which block in a city your are on and even which end if it isn’t a tiny block.  The maps in the database are low resolution, i.e., line segments, not smooth curves.  The Points of Interest (POI) are sometimes out of date (e.g., restaurants that have closed).  Only roads are included, no footpaths, so not very useful for hiking with the included maps.  (Is there a source somewhere for the USGS topographic maps?)

DutyCycle on SourceForge.net

Thursday, January 31st, 2008

DutyCycle is now feature complete and is a SourceForge.net project. There is a source tarball in the download section and all files are checked into version control (CVS). Today I added signal propagation so interrupting dutycycle interrupts the controlled program and switched from usleep() to nanosleep() for finer time slices.

City of Austin WiFi mesh blocks outgoing mail

Tuesday, January 29th, 2008

The City of Austin has a free WiFi mesh network around City Hall, Republic Square, and East Austin. Fine for browsing reading e-mail via IMAP or Webmail, but it blocks outgoing connections to an SMTP server on port 26. Boo. Port 25 is standard but frequently blocked. My Web & e-mail hosting company also makes the SMTP server available on port 26 to work around this.  Several other WiFi hotspots downtown do this also.

The e-mail client on the Nokia N810 is turning out to be less useful than expected.

DutyCycle options complete

Tuesday, January 29th, 2008

DutyCycle is ready for release.  It now has command line options to set the duty cycle percentage and the cycle time.  I’ve applied for a project on SourceForge.  Approval is pending.

Duty Cycle Core Functionality Complete

Thursday, January 24th, 2008

With a little help for my (e-mail list) friends, I’ve completed the core functionality of Duty Cycle.  It runs a program with an fixed on/off cycle, including any spawned children.  On my laptop kernel builds run the CPU temperature up to the mid 70Cs.  With dutycycle, the temperature peaks in the mid 50Cs, approximately half the temperature increase (and takes twice as long).  Currently it is running with a fixed 50% duty cycle (10s on/10s off).  Makes sense.

Now that the core functionality is there, all that is left is options for the dutycycle and the cycle times.

Nokia N810 – First Impressions

Monday, January 14th, 2008

I’ve had my Nokia N810 for 3 days now. The first things I setup were the laptop like things, e-mail, Web bookmarks, etc. It is not the idea platform for dealing with large amounts of e-mail (100-300/day). Not surprise here. I do want to use it for e-mail on short trips where I don’t need to do serious work and so don’t want to drag along the laptop, but am not willing to be totally out of touch. I have multiple e-mail accounts and am now moving all the high volume mailing lists (OpenSuSE and RubyOnRails-Talk) to one account. The laptop when on and connected to the Internet moves all accounts onto itself (with fetchmail, a very nice utility). When traveling, the laptop is off and the N810 accesses the non-high volume incoming e-mail server via IMAP. I can reply, delete, write, etc. Adequate for low volume. The stuff I don’t need to deal with immediately can wait until I am home on the laptop.

Web browsing is problematic. It requires young eyes and/or a lot of scrolling up/down and sideways. Adequate to check the weather and news headlines, but not for heavy Web surfing.

Yesterday and today I started setting up the PDA type things. The included Nokia apps are very weak but the GPE suite is adequate. For the moment I am running both my Handspring Visor (PalmOS) and the N810 in parallel. Using the N810 as a PDA requires leaving it booted up all day. The approximately 30 second boot time is too much for adding an appointment, one thing to the grocery list, a todo item, etc.

Doom has been ported to the N810. The demo runs full speed. However, I didn’t find the way to configure the keystroke shortcuts. And without a mouse, I’m not quite sure how to begin to play it. I could see playing it with a both hands on a (Bluetooth) keyboard. However, with just two thumbs, I’m dead meat. No fun.

While unpacking during our move, I plugged in some headphones and listened to an Internet radio station. The wireless access point was never more than 50 feet away. Reception was excellent with no breaks in audio.

It is going to take some time to figure where it fits. It is a mediocre very small laptop and a clumsy PDA. That is kind of what I am using it for, but I’m sure there is a better way.

Dutycycle Progress

Tuesday, January 8th, 2008

After following and then hacking tutorials on forking child processes and communicating through pipes, reading dozens of man pages on fork(), signal(), waitpid(), kill(), etc., I have a sort of working first cut. There are some limitations: fixed 10s on/10s off, only works with programs that don’t fork (i.e., doesn’t work on kernel builds – make forks at least three levels deep, probably one for each level of subdirectory), etc. The big cycle time makes it obvious in GKrellm that it is working.  It’s not done, but progress.  And forward.