Name: Donald Edward Hopkins Address: 5819 Ruatan St. Berwyn Heights, MD 20740 Phone: Home: (301) 474-8027, 474-7232 Work: (301) 454-1517 Programming languages: Forth, Lisp, Scheme, PostScript, Logo, C, LEX, YACC, Macsyma, Prolog, OPS-5, 6502 assembly, 6809 assembly, 68000 assembly, Z80 assembly, SPARC assemble, C-shell, Awk, Pascal, Fortran, BASIC, Image/Query. Machines / Operating Systems: Apple ][+, //e, //c / DOS 3.3, UCSD Pascal, CP/M, ProDOS Apple Macintosh; MacOS, A/UX Apple LaserWriter AT&T 3B20 / System V Unix Commodore Pet; Commodore 64 Data General MV 10000 / System V Unix HP2000; HP3000 / MPE IBM-PC / MS-DOS; IBM-PC/AT / Xenix MicroVax Workstation / Ultrix PDP-10 / ITS; PDP-11/24 / RT-11; PDP-20 / Twenex Pyramid / OSx (4.2BSD, System V Unix) Radio Shack TRS-80 Model I, Level I and II, Color Computer Silicon Graphics Iris 4D / System V Unix Sun-1, -2, -3, -4 and 386i Workstations / 4.1, 4.2BSD Unix Symbolics Lisp Machine VAX 11/750, 11/780, 11/785, 8600 / 4.1, 4.2, and 4.3BSD Unix Xerox 8010 Workstation / Star, Viewpoint, XDE ZMOB Parallel Processor / Forth Schooling: Graduated from Parkdale High School. Currently attending the University of Maryland. Expected graduation: May 1990 (BS Computer Science). Classes: Mobile Robot Project Participated in the design of a mobile robot that navigates using Polaroid sonar sensors. Wrote a robot simulation on a Symbolics Lisp Machine to test out robot algorithms. Data Structures Wrote a Lisp interpreter in C, with macros, closures, a garbage collector, a debugger, I/O redirection, and other amenities. Implemented a memory allocator in Forth. Image Processing Wrote an image processing tool for plotting points on a geodesic sphere (a tessellated icosahedron), and determining the location with the most points. Computer Graphics Wrote a library of graphics device drivers for the Sun monochrome frame buffer, and the Sun "cg1" color frame buffer, a rasterop package, and a program to stretch, shrink, and shear bitmap images. Computer Speech Artificial Intelligence Operating Systems Systems Architecture Experienced with: Forth: 6502 (Apple), Z80 (ZMob), 68000 (Sun), SPARC (Sun), C (Vax), device drivers, terminal programs, graphics, animation, porting software, embedded extension languages, rapid prototyping Networking: Local area networking, Internet, USENET, TCP/IP, RPC, NFS, electronic mail, electronic mailing list administration Text editors: ITS Emacs, Gosling Emacs (Maryland, UniPress), Gnu Emacs, Zmacs, Micro Emacs Window systems: NeWS, 4Sight, X11/NeWS, X10, X11, SunView, Mac, Lisp Machine, Xerox Star (Viewpoint), XDE, Software Express Videotex Interests: Computers, art, music, science fiction, electronic mail, visual languages, cellular automata, hypertext, public domain software, bicycling, electronics, bad puns, legos. Achievements: Won first place in 1981 Greenbelt Junior High School Science Fair for a project written in Apple Pascal that simulated a mouse's learning process with negative and positive reinforcement. The behavior was based interactive user input, and reactions were displayed on the screen. Won honorable mention in the county science fair, and a NOAA/NESS award for mathematics. Letter of Commendation for outstanding performance on the Preliminary Scholastic Aptitude Test / National Merit Scholarship Qualifying test in 1982. Member of Phi Eta Sigma. On the team representing the University of Maryland, winning first place in the 1984 ACM Capitol Regional programming contest at John Hopkins University, and fourth place in the International ACM Scholastic Programming Contest in New Orleans in March 1985. Won a trophy, an Apple Macintosh, a $1000 scholarship from Borland International, and a $300 scholarship from Upsilon Pi Upsilon. Won third place in a preliminary programming contest at the University of Maryland on September 7, 1985, qualifying to be on the team that went to the contest at Drew University. Took third place at the Drew University contest, winning a $250 prize from Epson of America, and plaques. Member of the team winning third place at the 1985 ACM Capitol Regional programming contest at William and Mary College on November 2, 1986. Member of the team winning fourth place in a programming contest at George Mason College, in 1986. Designed and implemented pie menus for the X10 window system, as an extension to the "uwm" window manager. Interfaced a 68000 Forth system to the pie menu window manager. Used it to gather data for an empirical study comparing circular pie menus with traditional linear menus, the results of which were presented at CHI '88. Created, and presently maintain and participate in an electronic mailing list for the discussion of the NeWS window system, which is distributed worldwide over USENET and the Internet. Implemented pie menus for the NeWS window system in PostScript, on top of the "Lite" toolkit, using an object-oriented programming package. Gave a work-in-progress talk about pie menus at the 1987 Summer Usenix Conference in Phoenix, Arizona. Presented a video tape and talked about pie menus at the 1987 Usenix Graphics Workshop in Cambridge, Massachusetts. Gave a live demonstration of pie menus under the NeWS window system for the NeWS special interest group, at the 1987 national Sun Users Group meeting in San Jose, California. Presented a paper and video tape, talked about pie menus, and gave a live demonstration at CHI '88, in Washington D.C. Organized and talked at a NeWS special interest group meeting at CHI '88. Gave a talk and a live demonstration of pie menus, HyperTIES, and UniPress Emacs for the NeWS window system, at the Sun User Group Southwest Regional Conference, in Albuquerque, New Mexico. Gave demonstrations at the EduCom conference in Washington D.C., at the Sun Microsystems booth. Gave a talk and live demonstration of NeWS at the Sun Users Group meeting in Miami, Florida. Organized and gave a live demonstration at the NeWS birds of a feather meeting at Usenix in San Diego, California. Demonstrated the NeWS window system in the Open Vistas booth at the Uniform trade show in Baltimore, Maryland. Organized and talked at the NeWS birds of a feather meeting at Usenix in Baltimore. Organized and distribute a 10 megabyte collection of public domain NeWS software, via anonymous ftp, the Sun Users Group contributed software tape, and by mail to anyone who sends me a tape. Presented a paper and video tape at the 1989 Usenix Graphics Workshop in Monterey, California, describing the PSIBER Space Deck, an interactive debugger, data structure editor, and visual extension to the PostScript programming language in NeWS. Work experience: Parkdale High School Attendance Office: Worked as a student assistant. Helped with the attendance, wrote programs to manipulate the student database on an HP3000 using Image/Query, and assisted people in the use of the computer. Computer Challenges: Implemented a Forth programming environment for the Apple computer, including a graphics and animation package. Wrote a promotional animated graphics demo with it. Designed some computer games that used the package, and wrote some utilities in 6502 assembly language. Terrapin: Wrote an adventure program in Logo which is now distributed on the utilities disk with Commodore Logo. K.L. Ginter and Associates: Worked on the port of the Software Express Videotex interface program, from the IBM-PC to the Apple //e. Software Express Videotex, written in Aztec C, is a menu-driven window based communication package that talks to a central computer over a modem, providing file transfer, electronic mail, and other services. Rooted out system dependencies, and wrote screen, keyboard, printer, and modem drivers in 6502 assembly, and an interface to them in C. UniPress Software: Evaluated and tested Ubiquitous Systems "u4th", a Forth system for Unix written in C. Selfware: Ported TypeRite, a menu driven intelligent electric typewriter program, written in Forth, from the IBM-PC to the Apple ][, using my Apple ProDOS Forth system. Wrote screen, keyboard, and printer drivers, and worked on the file system interface. Talked with customers who had difficulties with different hardware configurations, and provided work-arounds and bug fixes. University of Maryland Computer Science Department: Ported Z-80 FIG-Forth to the ZMob parallel processor, and performed tape dumps and restores for the Parallel Processing Lab. Hacked and learned Unix, Emacs, Sun and Xerox workstations, window systems, networking, electronic mail, system installation and administration, and software maintenance and support, for the Computer Science Department systems staff. Experimented with window systems and user interfaces, and developed and implemented pie menus, for the Heterogeneous Systems Lab. Sun Microsystems: Replaced the user interface of CADroid, a schematic CAD system for system and board design. Interfaced a Forth system written in C to the CADroid code, and designed and implemented a command processor in Forth that executes CADroid commands. Added higher level CADroid statements, loops, conditionals, variables, expressions, macros, and a mouse interface. University of Maryland Human Computer Interaction Lab: Designed and implemented the NeWS interface to the HyperTIES hypermedia browser, and a hypertext and graphics authoring system based on UniPress Emacs. Designed and implemented the PSIBER Space Deck, an interactive visual user interface to the PostScript programming environment in the NeWS window system. UniPress Software: Worked on the UniPress Emacs NeWS window system interface. Optimized PostScript code for fast interaction. Implemented a popup menu interface, a menu description language compiler, a control panel interface, and a control panel description language compiler. Cooked up specialized pie menus for font and color selection. Created a text selection interface, with interactive "rubber band" feedback. Made a class of "tab window" specially suited for multi-window editing tasks. Ported the Emacs NeWS interface to the 4Sight window system on the Silicon Graphics Iris 4D. Grasshopper Group: Ported the PSIBER Space Deck to the MacNeWS, NeWS on the Mac II running A/UX. Wrote documentation. Modified and extended the debugger to be more powerful, easier to use, and device independent. Papers: Directional Selection is Easy as Pie Menus! By Don Hopkins ;login: The USENIX Association Newsletter Volume 12, Number 5; September/October 1987; Page 31 Summary of the Work-in-Progress talk given at the 1987 Summer Usenix Conference in Phoenix. Pies: Implementation, Evaluation, and Application of Circular Menus By Don Hopkins, Jack Callahan, and Mark Weiser (Paper in preparation. Draft available from authors.) A Comparative Analysis of Pie Menu Performance By Jack Callahan, Don Hopkins, Mark Weiser, and Ben Shneiderman Proc. CHI'88 conference, Washington D.C.: available from ACM, NY. A Pie Menu Cookbook: Techniques for the Design of Circular Menus By Don Hopkins (Paper in preparation. Draft available from author.) The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines By Don Hopkins Proc. 1989 Usenix Graphics Conference, Monterey California.