The University of Arizona / Computer Science / UAScience
The University of Arizona

Gregg M. Townsend

Staff Scientist

I design and build software packages. I now work almost exclusively on Unix systems, but I've also worked extensively with the IBM 1401, CDC 6600, PDP-10, Poly-88, and Arduino.

My interests include software tools, languages, code generation, virtual machines, optimization, image processing, watermarking, compression, cryptography, calligraphy, cartography, recreational mathematics, heuristics, visualization, and music.

I joined the Department of Computer Science in 1984 after receiving an M.S. degree from the University of Arizona. Before that I worked as a CDC systems programmer at the Computer Center. I retired in 2009 with a total of 36 years of university service but have more recently been lured back on a part-time basis.

I belong to ACM and IEEE and support the EFF.

Current Software

The Icon programming language
The Goaldi programmiing language

Older Software

Jcon, a Java implementation of Icon
The SR and MPD languages
Regular expression experiments

TopoVista, an interactive terrain viewer
sdts2dem, a translator for SDTS DEM files
dlgvu, a USGS topo map viewer
tgrmap, a TIGER map viewer

Animated bin packing and traveling salesman


Graphics Programming in Icon


The Arizona Webcam, which I developed
Other time-lapse videos

The CDC-compatible Illinois Zephyr CPU
Genealogy: Townsend, Killam, Celley...

Test Patterns