You may find some of the material below useful. Please help yourself.
The files are provided as is, however. No support or warranty.
Handling mail arrivals
Look here for how I decided to handle the
recording of new mail arrivals on a mail server and alerting me about them on
another machine.
OQO and Puppy Linux
The OQO Model 01 is small and slow; Puppy Linux is small and fast. It's a
good match. This is a tarball archive that
contains files and instructions for getting Puppy Linux to work on the OQO.
Reading PDF files on a small screen
Many of the PDF files I read are two-column conference proceeding papers. On
a small screen, like on an ebook reader, or on the OQO, or on a video player
that can handle PDF files (like the ipod
touch or the Archos 404), you spend a
lot of time scrolling down, up, and across a zoomed page. So I wrote a small
script that converts two-column PDF files (in the
AAAI proceedings format) into narrow single-column PDF files whose width
better suits the screen. Here is an example
file and a converted file.
I have also included a script
that converts the file and mails it to a given email address, useful for
viewing on the ipod touch.
Moving pictures to a web page
I wrote a small bash script that takes a directory of
JPG files, creates thumbnails of all of them, and outputs an index.html page
for the directory that will display the thumbnails. A thumbnail can be clicked
to view or download the original JPG.
Multiple-choice web quizzes
I wrote a very simple script to produce
equally simple web quizzes. You edit the text in a file and you get an HTML
file that shows questions and answers. If a user clicks on a correct answer, a
green checkmark is shown; if the answer is incorrect, a red cross is shown.
-
Even after all this time, converting a DVD movie into a form suitable for an
iphone or ipod touch is still not easy. Handbrake is quite good. But despite a
somewhat daunting set of parameters and options, the most versatile tool for
creating good looking video files is mencoder, part of the MPlayer package. I have done a bit of
experimenting and come up with a bash script that
generates a suitable call to mencoder for an iphone. An mencoder compiled
with the x264 and faac libraries must already be installed for this to
work. For those on a Mac with MacPorts
installed, mencoder can be installed in one step with "sudo port install
mplayer-devel +x264 +faac".
There are a still a few options left in this script worth knowing about,
notably one to adjust the frame rate for non-progressive scan movies, and one
to leave the given brightness and contrast of the DVD as is. (A movie on the
iphone looks better with the brightness and contrast adjusted.)
A simulated world
This archive contains the code and
documentation for a simulated world inhabited by four squirrels (squirrel-like
software agents). Squirrels have both effectors (to do things in the world)
and sensors (to gather information). Everything is known to the squirrels at
the outset except for the locations of some acorns and wall obstacles. This
can be thought of as a game where the goal is to be the first squirrel to
gather 5 acorns.
The world was implemented in PLT Scheme which is now called Racket Scheme,
and so references in the documentation to "mred" and "mzscheme" should be
replaced by "racket". Although the server is written in Scheme (which needs
to be installed for it to run), programs to control the behaviour of the
squirrels can be written in any language (like Python or Prolog) that supports
TCP communication.
Research software: Generating plans with loops
This paper
describes a planner that is able to generate plans that contain loops. A
version of the planner written in Eclipse Prolog with a few examples was
posted here. A
more recent port to the freely available SWI Prolog is here.
A much better implementation in SWI Prolog based on finite-state automata
is here.
Enjoy!