↑ Home ↑

GEONius.com
18-Feb-2024
 E-mail 

Putting Pen to Paper
and
Fingers to the Keyboard

Articles
Other
Milstar
TPOCC
X-SAR
Code 521
EPOCH

 

Articles

These are articles that I submitted or had planned to submit to magazines. The text of the articles is as-submitted, not as-published; a couple of them were edited by the magazines, much to my distress!

"Farmer Brown on a 6800", incomplete and unpublished.
An article I wrote about KIM-1-like subroutines for keyboard input and LED display output on a Motorola MEK6800D2 Evaluation Kit—512 bytes of memory! I had planned on submitting the article to one of the early microprocessor magazines: Byte, Kilobaud, who knows ...

[TI-58/Printer]
"Permutations on a TI-58 Programmable Calculator", nonexistent and unpublished.
An article I wrote about a recursive, alphanumeric permutation generator—for a TI-58 programmable calculator with printer! I had planned to submit it to Byte, back when Byte might have published an article like that. Although I don't know what I did with the article, I still have the program itself.

"You've Got a Tin Ear!", incomplete and unpublished.
Playing the blues on a Commodore VIC 20!

"Faster than Run-Time: An Optimized ASCII-to-Binary Floating Point Conversion Routine", The DEC Professional, March 1985.
A VAX assembly language function that reduced the daily CPU time required by one of our programs from 2 hours to 20 minutes.

"F$USEFUL: A Look at Some Mundane VMS Utilities", VAX Professional, April 1988.
FORTRAN implementations of the VMS lexical functions, F$PARSE() and F$SEARCH().

"Put the Power of DCL into Your Programs", VAX Professional, August 1989.
Spawning a CLI subprocess and feeding it commands.

"Turning a Tree Upside Down: Automatic Structure Chart Generation", unpublished.
Generating cflow(1)-like structure charts from VMS object modules.

"Enhanced Command Line Processing", The C Users Journal, June 1991.
Enhancing the getopt(3) function.

"C Packages", The C Users Journal, June 1992.
Implementing Ada-style packages in C. (Based on a memo I wrote.)
 

Other

TPOCC and Object-Oriented Programming: A Tutorial/Proposal
This unfinished document started out as a proposal to use Eiffel on our satellite control system, but ended up being an organized memory dump of what I knew (at the time) about object-oriented programming.

Primality Testing
A lengthy discussion of how I independently "discovered" a long- and widely known optimization when determining if a number is prime. I should get out more, figuratively speaking.

Fast Integer Square Roots
Another lengthy discussion, this time about how I implemented a borrowed algorithm for quickly computing the integer square root of an integer, along with performance comparisons with other algorithms. I needed this fast square root function for the "Primality Testing" software I developed.

Integer/Prime Factorization
I happened to come across in Wikipedia a C++ program for reducing an integer into the product of its prime factors, a process called integer factorization. I wondered if the C++ program was subject to overflow errors and, lo and behold, it was. I pored over the program trying to figure out how it worked and then I began developing a slightly different algorithm that would eliminate any overflows.

Forget Crazy Earth, Look to the Future: Voyager and Fortran 5
Were the Voyager spacecraft which flew by Jupiter, Saturn, Neptune, and Uranus programmed in Fortran 5? No.
 

Milstar

On this project, we built racks of equipment to automatically test Milstar satellite (Wikipedia) components. I wrote the systems firmware that ran on the embedded 80286 single-board computers; i.e., the core firmware used by the application-specific tasks to communicate with each other and the outside, off-rack world. This project was FUN!

Universal Firmware Design
Universal Firmware User's Manual
 

TPOCC

Jumping on the UNIX workstation bandwagon early, we developed a generic, satellite control center for NASA called TPOCC (Transportable Payload Operations Control Center). I wrote numerous how-to memos, a sampling of which follow. These were informal, internal memos that left our second manager aghast at my lack of professionalism.

Networking for Netwits! (1989?)
Written when I was much younger than today; read with a grain of salt.
TSTOL Issues and Answers (02/08/1990)
Fending off attacks on my ego!
Hashing Out XDR and Miscellaneous Other Topics (04/02/1990)
A look at XDR on the network.
Naming Conventions (02/05/1991)
Fending off attacks on our code by folks not knowledgeable about C!
Second-Hand RPC Timeout Code Considered Harmful (07/26/1991)
The "not-invented-here" syndrome has some advantages!
TPOCC Configuration Monitor Design (1991)
Object-based design in C.
Non-Blocking I/O, One Way or Another (10/28/1991)
VMS-like queued I/O under UNIX.

I also wrote:

TSTOL Reference Manual
The reference manual for TSTOL, the TPOCC version of NASA's Systems Test and Operations Language (STOL).
 

X-SAR

A joint venture of the United States and European space agencies, the Spaceborne Imaging Radar-C/X-Band Synthetic Aperture Radar (SIR-C/X-SAR) was flown on two shuttle missions in 1994. We built the "one-shot" (or two-shot) operations control center based on TPOCC (see above). We ported the TPOCC Unix/C software to VAX/VMS and developed our own GUIs. The port went smoothly, in large part due to VMS's relatively complete implementation of the C Library and the BSD socket library—and in small part due to my in-depth knowledge of TPOCC and my extensive experience with VMS! Let me take a bow! Despite the project being on a very tight schedule (which we met), it was a lot of fun and I got to work with a great group of people. A few employees had travelled to Italy to work out the requirements with our Italian customer (Agenzia Spaziale Italiana) and, when they returned, they established a daily "brewing of the espresso" ritual every afternoon!

XSAR and the TPOCC Display Subystem (05/21/1992)
A proposal to use Tcl/Tk as the basis for the XSAR GUI.
A Prototype XSAR Menuing System (07/07/1992)
Tcl in action: a rapidly prototyped, scripted, Motif menuing system.
An XSAR Forms Library (07/10/1992)
A Forms Management System for X Windows?
Static X/Y Plot Hardcopies and PRINT Buttons (09/04/1992)
Generating screen dumps from within an X application.
Solving the History Replay Problem
A generic telemetry decommutation library?
 

Code 521

Extensible I/O (03/14/1994)
A proposal for an extensible I/O package that dynamically loads application-specific, user-level device drivers.
Generic Card Debugger
Proposes a script-programmable card debugger designed to exercise and monitor in-house-designed VLSI ASICs mounted on VME cards; see gentle.
C'est Moi! (02/16/1995)
Shows how an early version of gentle was coupled with a Tk-based GUI, moi, for the purpose of monitoring and controlling our VxWorks systems. I subsequently developed a Motif equivalent to moi, called plum, which resulted in a reworking of the display classes so that the same status page definitions could be used by both the Tk and Motif versions of the GUI.
SCTGEN Scripting Language (02/23/1995)
The advantages of using Tcl scripts in place of application-specific configuration files.
You're an 8-Track Kind of Guy (03/15/1995)
A proposed, Tcl-based design for the ETS Tape Recording Subsystem software.
 

EPOCH

The TPOCC, X-SAR, and Code 521 memoranda above were printed and distributed in hard-copy form to the intended audiences. In late 1996, I began working in an environment in which E-mail was widely available and heavily used. Consequently, self-contained writings like those above were replaced by the back and forth of E-mail discussions.

GLoC's DECnet Interface to EPOCH (09/30/1997)
Proposes and evaluates three methods of linking a customer's legacy application (DECnet, VMS) with EPOCH (TCP/IP, UNIX).

Alex Measday  /  E-mail