Programming at 2ub Labs


Here is a Grid Square Calculator I wrote in Java.


Tcl/Tk (pronounced Tickle Tee Kay) is a scripting language that is portable to just about every kind of computer (except maybe the VIC-20). To use Tcl/Tk, you need to download the interpreter first. It is free and can be downloaded from I have written and actively maintain a few programs in Tcl/Tk:

*      RoverLog is a contest logging program for amateur radio microwave contests.

*      My Digital Multi-Meter interface program connects to the Tenma 72-7750 for local or remote data logging.  I intend on running this meter over a radio link to monitor and log the temperature in my attic.

*      My Grid Square Calculator calculates Maidenhead Grid Square from Latitude and Longitude (and vice versa).

*      My Bearing and Distance Calculator calculates bearing and distance between you and another radio station.

*      TrialRpt is a program I wrote to allow fitness instructors at a local health club to log their trial appointments. It is very similar to RoverLog.


VHDL (Very High Speed Integrated Circuit Hardware Description Language)

VHDL is a language used to design digital logic. I use it in my job quite a bit. Maybe it's the software designer in me screaming to get out. Here are a few good links:

*      VHDL International - dedicated to cooperatively and proactively promoting VHDL as a standard worldwide language for the design and description of electronic systems

* - The Electronic Design Automation (EDA) and Electronic Computer-Aided Design (ECAD) one-stop standards resource on the World Wide Web

*      The Hamburg VHDL Archive - providing a collection of free, i.e. public-domain or shareware, VHDL documentation, models, and tools

*      Free Model Foundry - providing functional simulation models (with timing) of off-the-shelf digital components in VHDL and Verilog

* - a repository of open source, free IP synthesizable blocks and supplemental prototype boards

*      RASSP - the DARPA Rapid Prototyping of Application Specific Signal Processors (RASSP) program


My Master's Thesis, Converting State Diagrams into Synthesizable VHDL, involved writing a utility called brusey20 which is available for download.


PICA is an event-driven VHDL 1076 simulator. It is text-based, and comes in source code form. It was written at the University of Pittsburgh by Alan R. Martello. Here is the source code: PICA-src.tgz. Please be sure to read the copyright notice. You will need to patch the source code using my diff file pica.diff to get it to compile under Linux. NEW: Compiling now works under Red Hat 6.0. Put the archive and the diff file in /usr/local/src and run "tar xzvf PICA-src.tgz" from there. Then cd to PICA and run "patch -p1 -s < ../pica.diff". Run "make" to compile.


C and C++ Programming

I enjoy programming in the C and C++ Languages.

Here is a little C program I wrote to illustrate an “interrupt-driven” Morse Code sender.

C and C++ Compiler

Here is DJGPP, an excellent DOS port of the GNU C and C++ compiler. Remember to strip your executables after you compile to get a fair size comparison with other PC compilers. Also note that this is a 32-bit compiler.

C++ Class

I taught a C++ Class at Berkshire Community College this past Spring: C++ Programming - An Introduction

The zip file (28kB) contains all of the class material I generated for teaching a five-week non-credit workshop on C++ at Berkshire Community College.

The course builds on your knowledge of the "C" programming language. It provides a working knowledge of data abstraction and object-oriented programming in C++. Lectures, hands-on exercises and homework allow you to learn and practice planning, writing, and running original C++ programs on a personal computer. The course balances theory and practice. Required text: The C++ Programming Language, Bjarne Stroustrup, 2nd Edition, Addison- Wesley, 1991. ISBN 0-201-53992-6.

The class was originally scheduled to be six two-hour classes, but instead became three two hour and two three hour classes.

To get started, see 0415\0415.txt in the zip file.


Written by tmayo1 at