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?
"Is it PC compatible?" - /usr/games/fortune (circa 1989)
Changelog | Rend | HNB | cplay | Links | Meta
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...)
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.
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...
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:
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.
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...