My Programming Interests
restore from wayback machine: March16/09
added the teaching board: Aug30/11
Demo board for teaching
I am scheduled to teach a programming course at Carleton this fall, and I am
designing a MTS2 CPU board to give to each student.
Comments are welcome. This board is
an Open Source Hardware project.
There are also some notes on the orginal version of this project: MTS
Python
Currently, my favourite language; get more done in less time. Here's a couple
of utilities.
- Mat
- A little python script which reads a directory (default=the current dir)
and sorts the contents by extension, then prints a summary to stdout.
Try it; there's all kinds of uses. Seperates code from backup files,
images from html, pngs from bmps.
- Pretty Align
- Another python app to modify source code to align small clusters of
statements. It affects member declarations, member initializers and short
assignment statements. It makes a backup of all files before it touches
them. Works on Java, C/C++ and Python source, although it's blind to
comments and strings, so it may clobber those if they fit the parser
rules. Note: Ver 1.1 handles files that have mixed space/tab indents.
Both of these are GNU. To install, drop them into an PATH directory
(like /usr/local/bin) and "chmod a+x filename".
Help for both is "filename --help"
Linux
-
My Linux FAQ.
This is just supplementary information that some people asked about.
-
Notes from the Ottawa
Linux Symposium 2000, July 21. These slides accompany a lecture
on dynamic loading in Linux. I have also written a paper
to go with it.
-
Notes from
the Ottawa Linux Symposium, July 23/99
-
Notes from the
Corel internal course
-
Things about getting Linux to run on my
Thinkpad 600x [June 2004] Since then, I've moved on to an X32.
Graphics Programming
Here's a little write-up on Bezier curves in 2D
Integer ratio programming
Here's a web page to help you calculate
integer ratios, used to create frations without using floating point. Also
used in the design of digital phase locked loops.
Pilot --- old old old
-
The Generic Conduit
System is available. HotSync 1.1 now has its own version of GCM. Hotsync
2.0 has a test version available.
-
.The FAQ for
HotSync is here now.
-
The MakeDocJ
for Java is here now. The DOS version is here
as well. This new version does categories.
-
For developers, here
is a .prc/.pdb file dumper.
-
A viewer for JFile
is ready for testing, with its help
file. It is 75% done. This is not ready for release, but is
ready for testing. Thnx.
Compression
-
Recently, I've been involved in the PilotDOC project, and developed a tiny-decompressor
algorithm. Read about it here.
-
The ZLIB compression library is a wonderful resource for programmers. I've
developed a Visual Basic interface, available
here.
JTAG
-
JTAG programming is described elsewhere, but these descriptions always
seem to leave out the extereme detail that one needs to program a JTAG
sequence. This detail is summarized here.
STL
Flash
I played around a little with some Flash code, using SWFTools. Here are
some notes on some small projects I did for my ID students.