Corey's Home Page

The online home of Corey Minyard

This is a pretty lame web page, but I need something to put information on for others to use.


Ada Structured Library (ASL) - Current Version 1.0

I have a long-term dream to build a nice set of general containers, mathematical libraries, and even a generic graphical interface for Ada95.  That's quite a big job, but I have a pretty good set of container classes (lists, queues, stacks, heaps, trees, btrees, hash tables, sets, bags, etc.) with a lot of different modes.  I also have some semaphores and a leak detection storage manager.  You can read the overview of the containers here.  The containers themselves are available in zip and tar archives.  A krunched (short filename) zip version is also available here for those of you using weak operating systems :-). These containers are licensed under the LGPL.

These containers compile under gnat-3.11a and Rational Apex (tested by Gene Ouye at Rational).  They may or may not compile with other compilers, although several compiler vendors have worked with me to make the containers more portable.  They will not compile with gnat-3.10p.  Hopefully they will compile with gnat-3.11p when it is released, I'll work hard with ACT to make this happen, if necessary.  The containers should be fully conformant to the RM.  I make use of some pretty esoteric stuff (generic children with inheritance, inherited discriminants, and others) so some compilers may have trouble.  If someone wants to use the containers and has trouble, I'll be glad to work with them.

A Short Overview of the Containers

The container classes consist of the main container types: Containers come in three flavors: All containers come in all flavors, except a few do not have dynamic flavors because it doesn't make sense and Btrees are only dynamic.  Actually, some other combinations don't seem to make much sense, but someone might use them so they are provided.

All containers come in versions that use the default storage management or allow the user to specify the storage management.

The containers are quite functional, each has a rich set of functions.  Tests and example programs are provided as well as some reasonable documentation.


The ASL contains several semaphore objects implemented using protected types:

Leak Detection Storage Manager

A storage manager that tracks all the allocated data and lets the user iterate over it.  Useful for finding memory leaks.  It has found a few for me :-).

I'm Looking For A Job

I'm currently in a casual job search, meaning I'm not looking extremely hard but if the right job comes along I'll jump.  I want to work for a small company with management that can think clearly.  For instance, I want all the engineers to have offices (read Peopleware, then you will understand).  I want to design software using Ada95.  I want to work on free software.  The actual products being produced are not so important, but attitude of the company itself is.

If you are still interested after all that, here is my resume in pdf and postscript form.

Schedule for reading the Bible in one year

I put together a list of what to read every day to read the Bible in a year.  I also have a Psion Series 5 agenda file that has each entry as an anniversary.   This can be used  as a standalone agenda or merged in to another agenda.  Obviously, there are 365 entries, so it will clutter up an agenda, but I like having it in my normal agenda to remind me.  The schedule was taken from an American Tract Society tract called "Through the Bible in a Year"

Alphanumeric Pager Program in Ada

Here is a program to page an alphanumeric pager using the IXO protocol.  It can use a Hayes modem on a POSIX serial port or a telnet connection.