Bruce K. Smith


Senior Software Engineer. Prefer Python or other high-level languages, but will delve lower-level when needed (e.g. C, GLSL). Wide experience with programming languages and systems. Strong interests and good general knowledge in math, graphics, nanotechnology, and other sciences.


personal projects (2009 - present; see also blog and github):

software engineer & lead architect, Nanorex (Bloomington, IL, working remotely; 2004 - 2009). Extended architecture and features of NanoEngineer-1 (an open-source molecular CAD program implemented in Python, C, OpenGL, and GLSL), spearheading its extension to DNA nanotechnology. Designed and implemented numerous features, bugfixes, and optimizations.

consultant and programmer, various client projects (2001 - 2003), including a graphical editor in Python.

cofounder, Molecubotics (a nanotechnology startup, now defunct; 2000 - 2001). Primary inventor of its ideas for assembling nanostructures using biotechnology. Did preliminary lab demos in Erik Winfree's DNA nanotechnology lab at Cal Tech.

software engineer & manager of language development, Wolfram Research (Champaign, IL; makers of Mathematica; 1989 - 2000, some remote). Designed various new features and improvements to Mathematica, especially to its user programming language, for versions 1.2 through 3.0, including major new features for debugging and local variables, and over a hundred other improvements. Fully implemented most changes; managed the implementation of others. Helped document new features. Wrote and presented tutorial lectures on using new features at Mathematica Conferences in San Francisco and Boston. Trained new employees in internal structure of the existing code. Diagnosed and fixed bugs in preexisting code. Designed and managed implementation of a system for automatically transforming the C code into a working program with a specified subset of features from the original program. Helped rewrite interpreter in C++. Represented Wolfram Research on WWW Consortium Math Working Group and coauthored the first version of the MathML standard for display of mathematical expressions on the Web.

consultant and programmer, Shaman Pharmaceuticals (South San Francisco; part time 1994 - 1996, with approval of concurrent employment above). Designed and implemented Mathematica-based system for data analysis and presentation after interviewing researchers to determine needs. Added new features to this system as requested.

programmer, Smith-Kettlewell Eye Research Foundation, San Francisco (1982 - 1989). Designed, implemented, and documented "RTR" (a C-like language, compiler, and microcoded interpreter for real-time experiment control), as well as many other programs for data input, analysis and graphical display. Ported 3D graphics source code to new computer system. Wrote printer driver for equation typesetter "neqn". Installed and maintained UUCP and USENET connections. Trained other employees in FORTH and C. Performed UNIX system administration.

programmer for Carter Collins, Ph.D., Senior Scientist, Smith-Kettlewell Eye Research Foundation (1977, part time). Programmed a microcomputer to detect and plot successive positions of an ultrasonic transmitter in a room; wrote machine language routines for multiply, divide, and square root.


Princeton University (1980-1982)


1981, best at Princeton in William Lowell Putnam college math competition.
1979, one of 2nd prizes at International Math Olympiad, London.

Publications and talks:

1998 MathML WWW Consortium Recommendation for display of math on World Wide Web (coauthor).
1997 DNA-Guided Assembly of Proteins as a Pathway to an Assembler (coauthor with Markus Krummenacker), presented at The 1997 Albany Conference: Biomolecular Motors and Nanomachines.


Last updated 8/31/2016.