Name: Donald Edward Hopkins Address: 5819 Ruatan St. Berwyn Heights, MD 20740 US Citizen 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, various assembler languages, C-shell, Awk, Pascal, Fortran, BASIC, Image/Query. Software experience: Systems: Apple ][ (DOS 3.3, UCSD Pascal, CP/M, ProDOS) Macintosh (MacOS, A/UX) Commodore Pet, Commodore 64, TRS-80 HP2000, HP3000 (MPE) PDP-10 (ITS), PDP-11/24 (RT-11), PDP-20 (Twenex) Pyramid (OSx) Silicon Graphics Iris 4D (System V Unix) Sun-1, -2, -3, -4 and 386i (4.1, 4.2BSD Unix) Symbolics Lisp Machine VAX 11/780, 8600, Microvax (4.1, 4.2, and 4.3BSD Unix, Ultrix) Xerox 8010 Workstation (Star, Viewpoint, XDE) ZMOB Parallel Processor (Forth) 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 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. Implemented pie menus for the NeWS window system in PostScript, on top of the "Lite" toolkit, using an object-oriented programming package. 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. Organized and distribute a 10 megabyte collection of public domain NeWS software, via anonymous ftp and the Sun Users Group contributed software tape. Education: Graduated from Parkdale High School, 1984. Currently attending the University of Maryland. Grade Point Average: 3.025 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 Design and Analysis of Computer Algorithms Artificial Intelligence Operating Systems Organization of Programming Languages Computer Organization Computer System Architecture Independent Study (for Mark Weiser) Interests: Computers, art, music, science fiction, electronic mail, visual languages, cellular automata, hypertext, public domain software, bicycling, electronics, bad puns, legos. Honors and awards: Member of Phi Eta Sigma. Programming competitions: 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 third place in a preliminary programming contest at the University of Maryland on September 7, 1985, qualifying to be on the team sent to the contest at Drew University. Took third place at the Drew University contest. 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. Work experience: 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. University of Maryland Computer Science Department: Ported Z-80 FIG-Forth to the ZMob parallel processor. Performed software installation and maintenance for 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 control 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 MacNeWS, NeWS 1.1 on the Mac II running A/UX. Wrote documentation. 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. Presentations: 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. Gave a talk about the PSIBER Space Deck to the tNt group at Sun Microsystems in Mountain View. 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. Gave an "Empowered" performance at the CHI'90 conference, of the PSIBER Space Deck. Showed the expert operation of a highly customized gestural user interface using pie menus with mouse ahead.