Russell D. Fish -------------------------------------------------------------------------------- 1618 East Meadow Moor Road, Holladay, Utah, 84117 Phone: (801) 274-2834 home, (801) 953-3778 cell, E-mail: fish@cs.utah.edu, Web: http://www.cs.utah.edu/~fish This resume is available in HTML and Word Doc format from my Web page. SUMMARY: I am an experienced system designer, developer, and problem-solver. My highest skill is leading a technical team in developing and refining systems designs, detailing and producing implementations, and evolving software systems from rapid prototypes to mature products. I strongly support good team process, communication, and mentoring. EDUCATION: . Graduate studies in Computer Science, 1975-1977, University of Utah, Salt Lake City, Utah. . B.S. 1973, Mathematics and Computer Science, The Lindenwood Colleges, St. Charles, Missouri. COMPUTER KNOWLEDGE: . Languages: Python, OpenGL/GLSL, Trolltech Qt, PHP/HTML, Perl, SQL, C++, C, C#(C-Sharp).NET, Visual Basic, shell/AWK, TCL/TK, Lisp, APL, Fortran, assembly. . Databases: MySQL, Oracle, SQL Server, Access, DBASE3/Clipper, IDMS, IMS. API's: ADO, OCI, ODBC, JDBC, VDBC, Python-DB. . Systems: MacOS/FreeBSD/Linux/UNIX (15 varieties), Emacs, Windows XP/2000/NT/98, embedded, cross-platform: Cygwin/XFree, VNC, VMWare, Citrix WinDD/Terminal Server. EXPERIENCE: . Senior Software Engineer, Verio, Inc., Orem, Utah. November 2009 - present Verio is a large virtual web hosting company. I am a member of the Cloud9 development team that is creating Verio's new cloud hosting product for small-to-medium-sized businesses, using Python, Django, and MySQL, together with a proprietary mix of cluster software components. . Embedded Software Engineer, Systronix, Inc., Salt Lake City, Utah. October - November, 2009 Systronix is a small contract electronic engineering firm led by Bruce Boyes, an electrical and computer engineer and entrepreneur. I contracted with with Bruce supporting early phases of software design and development for an embedded ZigBee Pro (802.15.4) wireless control network. In this product, a color touch-screen handheld unit controls rapidly reconfiguring sports facilities such as gymnasiums. . Independent Software Developer, Salt Lake City, Utah. June - September, 2009. I began architecting, designing, and implementing "Gem", my own geometric modeler in Python and OpenGL. Gem is a cross-platform aid to making precise, 2D and 3D diagrams, CAD drawings, and models of objects for engineering and manufacturing. Gem is also designed to work as a remote collaboration "design whiteboard", for example while diagramming software or designing mechanical parts. The Python "GemCore" geometry library is a new implementation, quite similar in design to the Alpha_1 "Shape_edit" basic geometry library. . Software Engineer in Computer Aided Design and Modeling, Nanorex, Inc., Bloomfield Hills, Michigan. January 2008 - March 2009 Worked from my home in Holladay, Utah designing and implementing the NanoEngineer-1 molecular CAD software, in Python with the Trolltech Qt GUI toolkit and OpenGL/GLSL. My major project involved *speeding up the real-time interactive 3D graphics display* of molecular "ball and stick" models by a *factor of 50 times faster*, drawing 50 frames per second for single DNA Origami tiles. Assemblies of 10 tiles, which were previously impossible to design interactively, now display at 10 FPS, so a *factor of 100 times faster*. . Computer Science Researcher, Flux Research Group, School of Computing, University of Utah. March 2004 - December, 2007 Worked as a research staff programmer in a networking and operating systems research group. Extended the Emulab.net network emulation testbed system, used by over 1500 researchers in hundreds of organizations worldwide. Emulation means each experiment has repeatable access to hundreds of real physical computers and network VLANs, with controlled network link characteristics. My work included porting the Emulab experiment node software to Windows XP, implementing a complete automated testing framework and SQL injection scanner for the Emulab web interface, and improving the accuracy of robot location-sensing on a mobile wireless sensor-net testbed. . Software Engineer, Think3 Inc. R&D group, Salt Lake City, Utah. May, 2003 - February 2004 Worked as both the local system integrator and a software developer, contributing to Think3's Computer-Aided Industrial Design software product. . Software Engineer, Stabro Laboratories, Inc., Salt Lake City, Utah. September, 2001 - December, 2002 Worked with a small I.S. team to create Web-enabled calibration laboratory work-flow software based on C# client apps, XML-RPC/SOAP, and Linux servers with Apache, Zope, Python, MySQL and Samba. . Systems Programmer, Halosoft, Inc., Pittsburgh, Pennsylvania. January-August, 2001 Created extensions and server benchmark demonstration applications for the "Viva" multi-language distributed OS as part of a small core team in a start-up company. . Co-founder and Project Technical Lead, GDC (Graphics, Design, and Computation) Project, School of Computing, University of Utah. 1980 to 2000 - Served as the chief system architect and a lead implementer of the "Alpha_1" 3D sculptured-surface engineering CAD and computer graphics software project. - Personally advised the software portions of at least thirty M.S. and Ph.D. research projects, as well as the continuous software evolution work of a staff of up to eight full-time programmers. - Led research in NURBS algorithms, parametric and geometric design, automated mechanical engineering and CNC manufacturing processes, telecollaboration, and portable object-oriented systems. . Scientific Applications Programmer, Envirotech Information Systems Division, Envirotech Corporation. 1977 to 1980 - Developed and implemented projects in support of engineering and manufacturing. - Co-authored "Sketch", a graphical editor/front-end for structural engineering analysis programs. - Developed a computer-numerically-controlled machining (CNC) programming environment. - Evaluated CAD/CAM systems for engineering design and NC programming. - Architected, designed, and implemented all software for a new process control microcomputer. . Graduate student, teaching assistant, and research assistant, DARPA 3D Computer Graphics Project, Computer Science Department, University of Utah. 1975 to 1977 Research Area: Portable, object-oriented architectures for geometric modeling systems. . Computer Center Operations Manager and Systems Programmer, Parks College of Aeronautical Technology, Cahokia, Illinois. 1973 to 1975 Responsible for all administrative and engineering data processing of a small college.