This page contains software released by Spineless Software (i.e. by
Photo : JPEG Annotation GUI
Photo uses the comment field available in the JPEG image format to
store supplemental information about an image. This information can
then be used to build presentations such as slideshows or web pages.
RDP2VNC : RDP to VNC Protocol Adaptor
RDP2VNC allows machines running Windows Terminal Services to be
accessed remotely using VNC. This is achieved by placing a proxy
between the two different protocols. This release of RDP2VNC builds
on the work done originally by Tim Edmonds. It contains several
annoying rendering bugs, partly because the source tree is a little
out of sync with the more actively developed RDesktop project.
You can download a precompiled RDP2VNC binary for Win32, which
includes the required cygwin32 library, or the source code, which may
be compiled using GCC under both Linux and Cygwin.
MoPy : Python for Psion 5/5mx/Revo
MoPy is a rudimentary port of the Python programming language to the
EPOC32 operating system. Unlike the existing console based
Epoc-tailored ports, MoPy provides thread, socket and serial modules.
||Does not include standard C library - you
must get this from the PsiWin CD if you have a Psion 5.
- thread - Full thread & mutex implementations.
Semaphores are not yet implemented natively.
- socket - Most features supported. Possibility of
operating system deadlock if closing MoPy from the System
menu with two MoPy threads connected via a socket. All
other socket configurations seem to work correctly.
- serial - Very basic open(), read(), write(), close() API.
Designed for multithreaded operation. Defaults to 9600-8-N-1
setting. Configuration options will be added in a future
NEWS: Further development of Python for the Psion will take
place in the "epocpython" project at http://www.sourceforge.net/
and will include patches from all the available ports, including
Spineless Software is responsible for a number of packages in the
Familiar Linux distribution for palmtop computers. These packages
|Foal||A dockable application launcher|
|Notepaq||A simple notepad application|
|Toad||A to-do list application|
|Chronicle||An appointment manager|
|People||A VCard-compatible contact manager|
|APMinfo||A dockable battery indicator|
|MEMinfo||A dockable free memory indicator|
|PyTime||A dockable clock|
|PyLau||A module allowing multiple Python apps to
co-exist in a single process|
|GtView||An image viewer|
EchoLogo : Minimal Logo interpreter
EchoLogo is a very basic implementation of
the Logo programming language, a Lisp-based turtle-drawing
language used in schools to teach computer skills back when the
BBC Micro was big news. Sadly, I can't find the
documentation for it, so the only way to work out what it does is
to have a look at the accompanying Logo demonstration source code
(the .log files).
This implementation will deal with functions and numeric
variables but won't do the more advanced Lisp features. It's
pretty basic and not very fast. It was implemented by a group of
six second-year Computer Science students at
Cambridge University as part of our course - please don't
take any of the programming style as representative of the course's
quality, or of good programming practice, because it's not!
In particular, the way in which the interpreter executes the
programs is incredibly daft...
Armadillo : A 3D Turtle-Drawing Language
Armadillo is a programming language I designed myself. It's
a 3D, pseudo-distributed turtle-drawing language. The language
was originally based on Logo, Modula-3 and ML, which, if you've
ever used them, you'll know is a very odd combination. The
system is split into three parts. Programs (.arm files) are compiled
into a special intermediate code format (.acf files) which is then run
on an interpreter. Any graphical output from the interpreter is
channelled to one or more displays. The compiler, interpreter and
displays can all run on different machines across a network.
The language features a structural type system, typed
variables, typed functions and function closures, reference (pointer)
variables, threads, mutexes, condition variables and, of course,
graphics commands. I'm afraid the only documentation is in
the form of my final-year dissertation, which is included in the
If you have Modula-3 then you can download full source code using
the link above. You'll need to
edit the m3makefiles to adjust the hard-coded paths and you'll
need to comment out AnimVR and replace it with Anim3D if you
haven't got AnimVR. The order to compiler the six parts is:
armacode, armturtle, armanet, compiler, interp, display.
If you don't have Modula-3 and are running a Windows NT
variant (including Windows 2K) then you can download executables using
the link above. They won't run
under Windows 9x without crashing stuff, I don't think. You'll
need to run netobjd (part of the Modula-3 distribution) if you
want to run an interactive interpreter or display graphics.
Netobjd isn't currently part of the distribution because I
think that'd breach their copyright.