This is a colection of programs, libraries, chunks of code, scripts, and kluges, I have written, built, or simply been involved with. Either for work or for play; some polished, some rough; some completed, some left unfinished; some working most of the times, others rarely, if at all. Published here for others to use, play with, study, modify, and extend. Comments, fixes, extensions, suggestions, and questions are welcome. Send them to:
| xmlmp |
A small Python
package (and a couple of simple scripts using it), that
facilitates the authoring of unix man-pages
(the ugly groff things), using XML. It defines the xmlmp 1.1 DTD, and
provides filters that convert documents complying with it to
either unix man-pages, or HTML documents.
version 1.1 |
| mu0 |
A simulator for the MU0 (Manchester University 0) processor
written in Python, using the MyHDL module. MU0 is an abstract
machine, used for educational
purposes by the Manchester University. It is modeled after the
SSEM
computer, which was one of the first computers ever built. MyHDL
is a python module that takes advantage of generators
(a feature introduced in Python 2.2) to provide HDL-like
parallel-execution features to Python programs.
version 0.2 |
| ppgplot |
Python bindings for the PGPLOT library. PGPLOT is a
scientific visualization (graphics) library written in Fortran by
T. J. Pearson. C
bindings for PGPLOT are also available. ppgplot makes the
library usable by Python
programs. It uses the Numeric Python module,
to efficiently represent and manipulate vectors and matrices.
version 1.3 |
| ianjtag |
"ianjtag tools" is a collection of code and a set of tools for
using the JTAG interface (present in most modern microprocessors)
to perform hardware tests, and for programming Flash Memory
Devices connected to the processor's bus. It is especially useful
in embedded systems development projects for performing initial
system tests and for bootstrapping the prototype systems. "ianjtag
tools" run on a "host system" (e.g. a desktop computer with Linux)
and access the "target system" (e.g. the embedded system's CPU
board) through a simple 5-lines hardware interface. In the present
implementation the host system's parallel port is used as the
hardware interface, though other arrangements can very easily be
supported. "ianjtag tools" is an inAccess Networks
project.
version 1.2 |
| picocom |
As its name suggests, picocom is a minimal dumb-terminal
emulation program. It is, in principle, very much like minicom,
only it's pico instead of mini! It was designed
to serve as a simple, manual, modem configuration, testing, and
debugging tool. It has also served (quite well) as a low-tech
"terminal-window" to allow operator intervention in PPP connection
scripts (something like the ms-windows "open terminal window
before / after dialing" feature). It could also prove useful in
many other similar tasks.
version 1.4 |
| tstflow.c | This is a small program that helps test a Linux / Unix serial port. It was written mainly to help debug RS232 flow-control related problems, while developing a UART driver. It either emits or receives a continuous stream of 0,1,2...255,0,1,2... bytes on the selected serial device. On reception mode, it checks to see that the bytes received are indeed in-sequence, and reports an error otherwise. "tstflow" can also (optionally) delay for a few milliseconds every "n" bytes in order to help create congestion phenomena and test the flow-control machinery. The status of the hardware flow-control lines (RTS and CTS) is also constantly reported. |
| kmemdis |
"kmemdis" is a crude tool I have written that disassembles parts of
a running kernel, by reading directly from "/dev/kmem". All the
actual disassembler intelligence is taken (almost verbatim) form
GNU binutils. "kmemdis" has only been used on StrongARM-based
systems running Linux. It has helped me debug strange module
crashes, where I could not trust that the code actually running was
identical to that in the object file.
version 1.0 |
| grksup | "grksup" contains a simple EMACS-lisp module that allows modern (monotoniko) Greek input in pre-Mule EMACSen. If, for any reason, you are using an EMACS version older than 20, you cannot upgrade, and you want to type Greek in it, then this package might help you. It also contains a couple of (rather crude) greek display fonts (bitmaps), and installation instructions. |