Psion Series 5mx: Software
Additional software
The Psion supports a number of software development environments
including:
- OPL: A basic like language
- C++
- Java
The Java environment is currently the most accessible environment for
my use as most of my development is carried out under Unix (either
Solaris or FreeBSD).
One of the deficiencies I have found with the Psion is the lack of an
FTP client, causing me to write my own.
Native FTP clients have recently been addressed by a shareware author
distributing through Neuon
(nftp), and another
through RMR (RMRFTP).
This is a text mode client which resembles those found under Unix.
This makes it easy for Unix users to transfer groups of files using
familiar commands.
Like most of my work this was developed under Unix.
To use it you will require the Java VM. There are 2 ways of installing and
running the program:
- The command
make
will build pjftp.java
and all the *.class
files.
All the *.class
files must
be transfered to the target machine. Selecting the pjftp.class
class twice will cause the client to start.
- Build
pjftp.SIS
by issuing the command make build
(or download it from pjftp.SIS). Note: The build environment
uses Epoc C++ and Java JDKs and several Cygwin tools. Download the file
to psion and select pjftp.SIS
.
NB: it is viatally important that you create the file
C:\System\java\console
or you will not get any output.
Please note:
- There is no warranty for this code either expressed or implied by
either myself or my employers
- The code is distributed under terms and conditions which closely
resemble a subset of the BSD licence
- There is no documentation other than the example usage provided by
the user interface (
main/pjftp.java
) and the test code
(ftp/test.java
)
Files:
Psions are great portable document readers. However, reading web pages can
pose a problem as they tend to need an Internet connection to get all
the parts of the saved pages. Snaffle solves this problem by bulk downloading
a page and all the things linked to it (this process is limitted by a
user settable number of levels and a set of strategies for accepting pages).
This allows the inbuild Psion web browser to display pages without needing
an active internet connection.
A particular advantage of this program is that it leaves references to pages
that it did not download active. This allows the user to connect at a later
date to the referenced location if they so choose.
To use the program:
- Enter the URL of the page which you wish to download in the `Base URL' field
- Enter the maximum number of pages of connectedness that is allowed
in the `Depth' field
- Select the page recovery strategy in the `Recover' field
- Enter the destination in which to store the recovered pages in the
`Destination' field
Pressing `Fetch' will start recovering pages. The status field displays the
operations performed. Recovered files are named in sequence from 1 and
stored in destination directory. In typical use, a user will click on
the `1.html' file in the destination directory to view the pages.
Two `File' menu options `Load' and `Save' are provided to allow settings to be
used and stored in text files. This allows regularly used sites to be
easily reloaded.
A third `File' menu option `Exec' will take a set of concatenated settings files
and download the pages specified in the directories specified. This is useful
for automating regular downloads.
The `Proxy' `Set Proxy' option brings up a dialog box which allows the
user to set the name of the proxy server to be used. This name is in
the form of a URL with protocol `http', and the hostname and port of the
proxy server. For example http://proxy.my.isp:8080/
Note: You must set the proxy before attempting to retrieve any page
as Java remembers the unsuccessful access and displays an error
each time an attempt is made to retrieve the page, regardless of the problem
being fixed.
The recovery strategy is used in addition to the depth to limit the number
of pages recovered. The recovery strategies are:
- Strict Tree - This strategy only recovers URLs which have the same
protocol, host, port and path as the referring page.
- Named Host Only - This strategy only recovers URLs which have the same
host as the refering page
- Any - This strategy imposes no limitations
Embedded images are handled specially. All the embedded images referenced in
an HTML file are downloaded at the same time the file is downloaded (provided
the images match the recovery strategy).
Like most of my work this was developed under Unix.
To use it you will require the Java VM.
Files:
Please note:
- There is no warranty for this code either expressed or implied by
either myself or my employers
- The code is distributed under terms and conditions which closely
resemble a subset of the BSD licence
Portable devices like the Psion 5mx are hard to backup if you are not
a regular user of a PC. This program addresses this problem in part by
providing a mechanism that takes a list of files and and generates a
zip file on a specified ftp site. The program remembers its last settings
when the program is closed.
To use the program:
- Enter the Username and Password you wish to use for the host
specified in the `Host' field. Please note that the Username and Password
are not remembered or stored by AutoBack to assist in security.
- The `Files' field is selectable.
- Files can be added and deleted using the buttons at the right of the
screen.
- The `Add' button will produce a file dialog which allows
a file to be added to the `Files' field
- The `Add Dir' button will produce a directory dialog which allows
a directory to be added to the `Files' field
- The `Delete' button will delete all selected entries from the
`Files' field
- Note: Due to limitations in the Java file selection box,
files in the system directory must be added by editing the text file
produced when the settings are saved.
- The `Execute' starts the backup operation
- The `Status' area is broken into 2 fields:
- Error and informational messages are displayed in the larger
field. Some of the error messages are cryptic Java exceptions.
- The approximate size of the last zip file generated is
displayed in the right field.
- The `Target' field contains the base name of the backup zip files to
be created and maintained on the ftp server.
AutoBack supports several modes of operation the action of the
`Execute' key depends on several factors.
- If any files or directories are selected in the `Files' field
then operations will only apply to the selected files or directories.
If there are no selected entries in the `Files' field then all the
operation will apply to all the entries in the field.
- If the `Dump Level' field is blank then pressing the `Execute' key
will zip all the files and the files in named directories specified in
the `Files' field and create the zip file named in the `Target' field
on the ftp server named in the `Host' field.
- If the `Dump Level' contains `0' then all the files and files in
directories specified will be zipped into a file on the server named in
the host field. The file name is made by taking the contents of the
target field and appending `_0.zip'. Also the current date is stored
in the settings file.
- If the `Dump Level' contains any other value then only the files
and files in directories specified that have changed since the dump
at a lower level will be zipped into a file on the server named in
the host field. The file name is made by taking the contents of the
target field and appending `_', the dump level and `.zip'. Also the
current date is stored in the settings file.
The `Dump Level' feature allows users to backup only changed files. Please
note that if you reduce the dump level, AutoBack will delete higher
valued dump files as they contain out of date information.
The `Dump Level' is selected by pressing the `+' and `-' buttons.
The dump level can only be incremented by one level over the
level of the last dump. However, the dump level can always be
reduced. Pressing the `-' button when `0' is displayed will clear
`Dump Level'
A typical use of AutoBack would be to perform a level `0' dump once
a week and then level `1' dumps daily. If the level `1' dumps become
too large then level `2' dumps would be used as level `2' dumps
only contain files that have been changed since the level `1' dump
was completed.
To restore your files simply unzip the dumps in order from least to
greatest. Please note that files deleted afer the level `0' dump are
not detected by this dump strategy and will reappear in the recovered
file set.
Three `File' menu options are provided: `Open' allows the user to select
a file other than the default settings file. This could allow a user
to have several different archive sites with different subsets of the
system stored on them. `Load From' and `Save As' are provided to
allow settings to be used and stored in text files. Note that the files
loaded and saved overwrite the contents of the open settings file. The
open settings file is saved when the program is exitted or when a new
settings file is openned.
Like most of my work this was developed under Unix.
To use it you will require the Java VM.
Files:
- Source code in autoback.tar.gz can be
built following the instructions in the README file.
- An installable SIS file: AutoBack.SIS AutoBack.zip (Users of version 1.00, and 1.01 note that the
format of the settings file has altered slightly. This may result in the
first file in the `Files' field having to be added again)
Please note:
- There is no warranty for this code either expressed or implied by
either myself or my employers
- The code is distributed under terms and conditions which closely
resemble a subset of the BSD licence
This program is a tool for creating and extracting zip files on
Epoc devices. It was written mainly for my own convenience and hence
the user interface leaves much to be desired. It is written in Java.
Please note that there are other programs released which solve at least
part of the problem that this program addresses: Zippy and RMR Zip.
The program has 2 modes selected via the function menu:
In `UnZip' mode files are extracted into the `Destination Directory'.
If the `Destination Directory' field is blank files are extracted
absolutely. In `Zip' mode the value of `Base Directory' is removed from the
front of the file names given in the `List of Files to be Zipped' list
before adding the files to the zip archive. For files which do not have the
value of `Base Directory' as a prefix the file is added to the archive with its
absolute path name.
There are a few known problems with this program:
- Some open files cannot be added to a zip archive resulting in an
incomplete archive and an error
- The user interface is far from ideal
- The `.' field found in the directory dialogs is present only to get
around a bug in the implementation of Java on a Psion. An event that should
be sent by the List box is not sent in the Psion implementation when the
first element of a list box is selected.
Like most of my work this was developed under Unix.
To use it you will require the Java VM.
Files:
Please note:
- There is no warranty for this code either expressed or implied by
either myself or my employers
- The code is distributed under terms and conditions which closely
resemble a subset of the BSD licence
S/Key is a one time password generation system available on several platforms.
This system was later expanded to cover other hashing algorithms as described
in RFC 2289.
SKey is an EPOC native program for computing responses to S/Key and OTP
challenges.
This allows users to access remote systems easily over insecure links without
sending their actual passwords in the clear.
Shots of the user interface are provided below:
Further information can be found in:
- N. Haller, C. Metz, P. Nesser, M.Straw, RFC 2289: A One-Time Password
System
- Haller, The S/Key One-Time Password System, Bellcore
ftp://thumper.bellcore.com/pub/nmh/docs/ISOC.symp.ps
- Phil Karn, Neil M. Haller, John S. Walden, Scott Chasin,
S/KEY v1.1b S/KEY One-Time Password System (Version 1.1
11-01-03) thumper.bellcore.com:/pub/nmh crimelab.com:/pub/skey
- R. Rivest, The MD4 Message-Digest Algorithm, RFC 1186, April 1992
- R. Rivest, The MD5 Message-Digest Algorithm, RFC 1321, April 1992
- Federal Information Processing Standards Publication 180-1, SECURE HASH STANDARD.
The program has been implemented following the Epoc development model
provided by Symbian in the SDK. An engine (in C) is interfaced with
an Eikon UI. An active view and help have been provided. The standard EPOC
development tools have been used.
This program has been built and tested for a Psion Series 5MX. I
have received reports that it works correctly for the Revo as well.
Please note:
- There is no warranty for this code either expressed or implied by
either myself or my employers
- The code is distributed under terms and conditions which closely
resemble a subset of the BSD licence
Miscelaneous
UIDs used by programs I have authored
- 0x10005F72: pjftp (Java App)
- 0x10005F73: skey - skeyeng (C Dll)
- 0x10005F74: skey - ikskey (Eikon App)
- 0x10005F75: Snaffle (Java App)
- 0x10005F76: EZipM (Java App)
- 0x10005F77: AutoBack (Java App)
Maurice Castro / SERC / maurice@serc.rmit.edu.au