Compaq iPAQ
Obviously this page has become a bit old. Familiar has progressed
far beyond V0.4. I have no idea if this stuff still works. I did
have fun making pyglines, but unfortunately it is a gtk 1 app, and
probably doesn't work with gtk 2 (or beyond).
Home-brew packages to augment Familiar V0.4. These are definitely
not official. I use them on my iPAQ, you're welcome to use them on
yours at your own risk. Note that an .ipk is just a gzip'd tarball,
so you can always extract stuff without installing it using
the command (if you have GNU's tar): tar -zxvf file.ipk. Before
you do this, you probably want to cd into a scratch directory made
just for this purpose because the ipkg format doesn't allow the
tarball to have a nice single directory.
Other People's Stuff, Packaged By Me
- jed:
jed-common_0.99.9-14_all.ipk and
jed_0.99.9-14_arm.ipk.
Jed is an editor which emulates emacs, brief, word perfect, ....
Has modes for python, tex, C, ..., including syntax highlighting!
These aren't the skinniest
packages (all told, they consume around 440KB on a JFFS2 partition)
because they include a full jed dist. However, lots of modes could
be removed to save space. Requirements slang1, libgpmg1, libncurses5.
Also works as a mail reader, according to the (scarce) documentation.
After a few minutes with jed, I wiped out ae and iv -- just think,
ctrl-k, ctrl-y, and ctrl-s will do what you think they should!
(if you're an emacs user =-)
- dc: dc_1.05a-11_arm.ipk,
arbitrary precision RPN (reverse Polish notation) (i.e. postfix
notation with a stack) desktop
calculator, from the earliest days of Unix. Use ctrl-D or q
followed by enter to exit it if you don't know how to use it.
- itsy-fonts:
itsy-fonts_1.01_arm.ipk, this has the legendary Itsy
fonts for X from the itsy project. The package includes
postinstall scripts to run mkfontdir and update fonts.aliases
(though this stuff doesn't get removed when you uninstall...).
In this version, the postinstall script is better at identifying
whether you already have aliases installed (the last one had
a stupid bug and always added aliases).
- wget 1.7: wget_1.7_arm.ipk,
this is an updated version of wget over what comes with
Familiar V0.4, and supports a couple extra switches.
- minicom 1.82:
minicom_1.82.1-1_arm.ipk, I haven't really made this work
well at all. It needs libncurses4 (below).
- libncurses4 4.2-9:
libncurses4_4.2-9_arm.ipk, this is here for minicom (above).
- strip: strip_1.0_arm.ipk,
unpacks strip and libbfd library to /tmp.
My Stuff
- PyGlines 0.20:
pyglines_0.20_arm.ipk, this is my clone of the Gnome
Project's Glines game, which is an implementation of the
"five-in-a-row" game. Here are instructions for
the game. This version is built in Python and uses pygtk and
libglade, but does not use Gnome. There are some missing
features, for instance the high scores file. Currently all help
messages are output to the tty (for instance, "game over"). If
you don't have an iPAQ or aren't using ipkg, you might be
interested in a tarball or
zipfile of the game. The
program should be fully functional on any platform with Python
and the pygtk stuff installed (uses Python modules gtk, GDK, and
libglade).
Notes for 0.20: Version 0.20 dynamically loads it's
interface, landscape or portrait, just like previous verions.
However, it now chooses the appropriate interface definition
according to the screen geometry -- no long do you need to set
a symlink. There are many command line options that let you
change almost every parameter of the game, including how many
marbles you need in a row and how large the screen is.
Finally, I'd like to apologize for the long delay between
version 0.11 and 0.20. I finished 0.20 on a plane in late
August 2001, but it has taken me four months(!) to get around
to packaging it. Also, there are some screen refresh bugs I
haven't cared enough to fix yet.
PyGlines screenshots in portrait and landscape mode
- I was asked by someone on the handhelds.org IRC channel to
try some signal handling in Python. Here are my experiments.
Be careful to download these in such a way that the formatting
is not changed (I don't think there are any tab characters).
- sig.py: Waiting for and catching
signals. Also contains a method for mapping signal numbers
to mnemonic signal names using the signal module's __dict__
object.
- sig2.py: Catching a signal,
executing our own signal handler, then the original handler,
then our own handler again.