Software for the Sharp Zaurus

Imagine that Cray computer decides to make a personal
computer. It has a 150 MHz processor, 200 megabytes of RAM, 1500 megabytes
of disk storage, a screen resolution of 4096 x 4096 pixels, relies entirely
on voice recognition for input, fits in your shirt pocket and costs $300.
What's the first question that the computer community asks?

Changelog

Rend - the RENice Daemon

About

Rend is a small, lightweight daemon that watches the processes running
on a machine and will renice those specified by the user automatically,
whenever they are run.

Why is this important? If you are doing multiple things on a machine and
it's getting pushed pretty hard, the system looks at the requested nice
levels for guidance to the priority of the process. By changing the nice
levels for the running processes, we can assure that the things that we
think are more important than others (say playing music) will be given more
processor time than those that can afford to wait (like your game of
solitaire)

I wrote rend with my Zaurus (running Embedix Linux) in mind, but it will
compile and run on just Linux by default, but can be easily modified for
others. The reason for this is that each system is slightly different wrt
where process information is stored. (And the renice command, too. AIX, I'm
looking at you...)

Download

rend_0.3_arm.ipk - IPK installation
file for the Sharp Zaurus, or any other ARM-based system.

Links

Autonice - This
one is different from rend in that it automatically lowers the nice level
of longer lived processes, giving priority to shorter ones. Designed to
boost the useability of user-interactive programs over longer 'research'
or long-term runners.

A different Autonice with the
same name. This one marks down processes using extensive amounts of
processor time after a certain amount of time has elapsed.

ARD, the Auto Renice Daemon.
Similar in working to the 'second' autonice above.

HNB

About

I'm going to cheat and steal a blurb from the hnb homepage:

hierarchical notebook(hnb) is a curses program to structure many kinds of
data in one place, for example addresses, to-do lists, ideas, book
reviews or to store snippets of brainstorming [including] [w]riting
structured documents and speech outlines.

HNB is an outliner, similar in style to IQNotes for the Z or the many
dozens of others out there. It's fast and easy to use, with a built-in
scripting language for extensions. It can import from XML and ASCII and
export in XML, ascii, HTML, OPML.

To port it to the Zaurus, I had to make a few minor code and cosmetic
changes, mostly pointing it to the Zaurus's ~/Applications/hnb/ data dir
and ~/settings/hnb.conf settings file (was .hnbrc.). The cosmetic changes
were just ones that make it easier to fit on the Z's small terminal window
and it's "helpful" theft of the CTRL-[zxcv] keys.

cplay

About

This is a port of the audio player cplay to the Sharp
Zaurus. "Port" is a rather strong word, since it was in Python and ran just
as soon as I loaded it onto my Z.

The only difference between the Zaurus version and the 'official' one is
that the Zaurus leaves out the optional 'whrandom' package and keeps the
regular 'random' package. So, I had to change all instances of 'whrandom'
to 'random'. What does this mean for you? Nothing. 8^)

The only 'gotcha' that you have to be aware of is that the requirements
for using this are Python and whatever command-line players that you'd like
to play. Cplay is merely a 'front-end' for these programs, making it easy
for you to switch between formats and playlists in a quick, convenient way.
See the Links for links to players that can be used...

Warnings

Since I started packaging this player, the various Zaurus Linux flavors
have begun including Python in their core distributions. This is good,
however, many do not include the 'curses' module. This causes errors
during startup that say something like Module not found: curses
and stops. This is not a cplay problem, it's a Python problem. You can
fix it two ways:

Installing a whole new Python distribution, like the one featured
in the 'Links' section. This is a very complete, well assembled
Python that will fill in all those other gaps that the 'normal' one
misses.

Install only the 'curses' module from the aforementioned link. Your
success with this will vary - mostly it works perfectly the first time.
If you run into problems, you'll probably have to install the
whole thing.

You can also safely ignore any 'Warning' messages that get printed - it's
just Python's way of telling developers (and users) that future releases
may break some pieces of a running program.

Screenshots

Screenshot 1 - cplay in playlist mode
with the progress meter at the bottom.

Screenshot 2 - cplay browsing through the
files and marking them for addition to the playlist.

Links

I run OpenZaurus on my Z. It's
a better all-around system than the one that is provided by Sharp.

Meta

I'm a programmer and a father (not necessarily in that order) - in my
spare time I serve on the local library board, am president
of the local LUG, and I try and explain
Free Software to people. (They never get it - I'm terrible at it...) More
info? Go up a level to my
homepage...