Curriculum Vitae

David M. Beazley

Name: David M. Beazley
Location: Chicago, Illinois


Professional Experience

Personal Statement

I am a computer scientist with approximately 30 years of programming experience. My primary areas of expertise are in systems programming, programming languages, software development tools, and software engineering. Although I am most well known for my work in scientific computing, I most enjoy working on problems related to the interface between hardware and software. For example, operating systems, device drivers, embedded systems, and programming tools.

I currently own and operate Dabeaz LLC, a consulting company that primarily focuses on the development and use of open-source software development tools. I am the creator of several well known programming libraries and also offer professional training on the use of dynamic programming languages such as Python. From time to time, I also offer technical consulting related to software engineering, systems analysis, and reverse engineering.

Career Highlights

Academic Publications

Refereed Journals and Conferences

  1. D.M. Beazley, "SWIG: An Extensible Compiler for Creating Scriptable Scientific Software", in Future Generation Computer Systems (FGCS) 19. Elsevier, (2003). p. 599-609. (Note: this is an expanded version of the ICCS'02 paper submitted by invitation).

  2. S. Lampoudi and D.M. Beazley, "SWILL: A Simple Embedded Web Server Library", in USENIX'02 FREENIX Track, Monterey, CA, June 13, 2002. p. 19-27. (Awarded Best Student Paper)

  3. D.M. Beazley, "An Extensible Compiler for Creating Scriptable Scientific Software", In ICCS'02, LNCS 2330, P.M.A. Sloot et al. (Eds). Springer-Verlag, 2002. p. 824-833.

  4. D.M. Beazley, "An Embedded Error Reporting and Debugging Mechanism for Scripting Language Extensions", USENIX Technical Conference, Boston, June 25-30, (2001). p. 147-160.

  5. D.M. Beazley, "WAD: A Module for Converting Fatal Extension Errors into Python Exceptions", 9th International Python Conference, Long Beach, March 5-7, (2001). (Awarded Best Paper)

  6. D.M. Beazley, "Scientific Computing with Python", in ASP Conf. Ser., Vol. 216, Astronomical Data Analysis Software and Systems IX, eds. N. Manset, C. Veillet, D. Crabtree (San Francisco:ASP), 49. (2000).

  7. S.J. Zhou, D.L. Preston, P.S. Lomdahl, D.M. Beazley, "Large-scale Molecular Dynamics Simulations of Dislocation Intersection in Copper", in Science, Vol 279 (6).(1998). p.1525-1527.

  8. D.M. Beazley and P.S. Lomdahl "Feeding a Large-scale Physics Application to Python", 6th International Python Conference, San Jose, October 14-17. USENIX (1997). p. 21-28.

  9. D.M. Beazley and P.S. Lomdahl, "Controlling the Data Glut in Large-Scale Molecular Dynamics Simulations", Computers in Physics, Vol. 11, No. 3. (1997), p. 230-238.

  10. D.M. Beazley and P.S. Lomdahl, "Building Flexible Large-Scale Scientific Computing Applications with Scripting Languages", 8th SIAM Conference on Parallel Processing for Scientific Computing, March 14-17, Minneapolis, Minnesota. (1997). CD-ROM.

  11. D.M. Beazley and P.S. Lomdahl, " Extensible Message Passing Application Development and Debugging with Python", Proceedings of IPPS'97, April 1997, Geneva Switzerland.(1997). IEEE Computer Society. p. 650-655.

  12. S.J. Zhou, D.M. Beazley, P.S. Lomdahl, A.F. Voter, and B.L. Holian, "Dislocation Emission From A Three-Dimensional Crack --- A Large-Scale Molecular Dynamics Study", in the Ninth International Conference on Fracture, Sydney, April 1-5, 1997, B.L. Karihaloo et al., eds., Pergamon, p. 3085.

  13. S.J. Zhou, D.M. Beazley, P.S. Lomdahl, "Large-Scale Molecular Dynamics Simulations of Three-Dimensional Fracture.", Physical Review Letters 78, No. 3 (1997). p. 479-482.

  14. S.G. Parker, C.R. Johnson, and D.M. Beazley, "Computational Steering Software Systems and Strategies," IEEE Computational Science and Engineering, Vol. 4, No. 4 (1997). p. 50-59.

  15. P.S. Lomdahl, D.M. Beazley, S.J. Zhou, and B.L. Holian, "Large-Scale Molecular Dynamics on MPPs," In proceedings of Physics Computing '96, Krakow, Poland, September 1996, p. 462-466.

  16. D.M. Beazley and P.S. Lomdahl, "Lightweight Computational Steering of Very Large Scale Molecular Dynamics Simulations," Supercomputing'96, November 17-22, Pittsburgh, PA. IEEE Computer Society (1996). (CD-ROM).

  17. D.M. Beazley, "Using SWIG to Control, Prototype, and Debug C Programs with Python." 4th International Python Conference, June 1996.

  18. D.M. Beazley, "SWIG : An Easy to Use Tool for Integrating Scripting Languages with C and C++", Proceedings of the 4th USENIX Tcl/Tk Workshop, July 1996, p. 129-139.

  19. B.L. Holian, S.J. Zhou, P.S. Lomdahl, N. Gronbech-Jensen, D.M. Beazley, and R.Ravelo, "Molecular-Dynamics Simulations of Fracture : An Overview of System Size and Other Effects," MRS Symposium Proceedings : Fracture--Instability Dynamics, Scaling, and Ductile/Brittle Behavior, Vol. 409. Materials Research Society, Pittsburgh (1996).

  20. S.J. Zhou, D.M. Beazley, P.S. Lomdahl, B.L. Holian, "Large-Scale Molecular Dynamics Simulations of Fracture and Deformation", Journal of Computer-Aided Materials Design,3 183 (1996).

  21. P.S. Lomdahl and D.M. Beazley, "Multi-Million Particle Molecular Dynamics on MPPs,", Second International Workshop, PARA'95, Lyngby, Denmark, August 1995. In Lecture Notes in Computer Science, vol 1041. Springer-Verlag. p. 391-407.

  22. D.M. Beazley and P.S. Lomdahl, "A Practical Approach to Portability and Performance Problems on Massively Parallel Supercomputers." Proceedings of the Workshop on Debugging and Tuning for Parallel Computer Systems, Chatham, MA, 1994. IEEE Computer Society (1996). pg. 337-351.

  23. D.M. Beazley and P.S. Lomdahl, "Message-Passing Multi-Cell Molecular Dynamics on the Connection Machine 5," in Parallel Computing 20, 1994. p. 173-195.

  24. D.M. Beazley, P.S. Lomdahl, P. Tamayo, and N.G. Jensen, "A High Performance Communications and Memory Caching Scheme for Molecular Dynamics on the CM-5." Proceedings of 8th International Parallel Processing Symposium, IEEE Computer Society (1994), p. 800-809.

  25. P.S. Lomdahl, P. Tamayo, N.G. Jensen, and D.M. Beazley, "50 Gflops Molecular Dynamics on the CM-5." Proceedings of Supercomputing 93, IEEE Computer Society (1993), p. 520-527. (IEEE Gordon Bell Prize).

  26. P.S. Lomdahl, D.M. Beazley, P. Tamayo, N.G. Jensen, "Multi-million Particle Molecular Dynamics on the CM-5," International Journal of Modern Physics C. World Scientific (1993), p. 1075-1084.


  1. D.M. Beazley, "A Wrapper Generation Tool for the Creation of Scriptable Scientific Applications," University of Utah. August, 1998.

Technical Reports

  1. D.M. Beazley, "SWIG Users Manual", University of Utah Technical Report UUCS-98-012 (1998), 300 pages.

  2. D.M. Beazley and P.S. Lomdahl, "Beyond the CM-5 : A Case Study in Performance Analysis for the CM-5, T3D, and High Performance RISC Workstations," Los Alamos Technical Report LA-UR 95-1127 (1995).

  3. D.M. Beazley and P.S. Lomdahl, " Optimizing Large-Scale Molecular Dynamics Simulations for RISC-based MPPs and Workstations," Los Alamos Technical Report LA-UR 95-3410. (1995).

  4. W.C.Kerr, P.S.Lomdahl, D.M. Beazley, "Hysteresis in Constant Temperature Simulations of a Model for First-Order Structural Transformations," Los Alamos Technical Report LA-UR-94-3818 (1994).

Popular Press


  1. D.M. Beazley, "Python Essential Reference, 3rd Edition", Sams Publishing, ISBN 0-672-32962-3 (March, 2006). 625 pages.

  2. D.M. Beazley, "Python Essential Reference." New Riders Publishing, ISBN 0-7357-0901-7 (October, 1999). 350 pages. Also published in German, Japanese, Traditional Chinese, Russian, and Polish translation.

Book Chapters

  1. S. Holden, "Python Web Programming", New Riders Publishing (2002). I wrote the three chapters in section IV on "XML and Python".

  2. D.M. Beazley, P.S. Lomdahl, N.G. Jensen, R. Giles, P. Tamayo, "Parallel Algorithms for Short-Range Molecular Dynamics." World Scientific's Annual Reviews in Computational Physics, vol 3. (1995). p. 119-175.

  3. D.M. Beazley and P.S. Lomdahl, "Large-Scale Molecular Dynamics on MPPs", Applications on Advanced Architecture Computers, ed. Greg Astfalk. SIAM Press, (1996). p. 75-92.


  1. D.M. Beazley, "Python 3: The Good, The Bad, The Ugly", USENIX ;Login:, Volume 34, No. 2 (2009). p. 40-53.

  2. D.M. Beazley, B.D. Ward, I.R. Cooke, "The Inside Story on Shared Libraries and Dynamic Loading", IEEE Computing in Science and Engineering, Vol. 3(5), (2001). p. 90-97.

  3. D.M. Beazley, "SWIG and Automated C/C++ Scripting Extensions", Dr. Dobb's Journal, No. 282, February, 1998. p. 30-36,

  4. D.M. Beazley, "Wrappercode erzeugen mit SWIG", German Linux Magazine, vol. 07/1996. p. 47-55. (translated by Tom Schwaller).

  5. D.M. Beazley, P.S. Lomdahl, "High Performance Molecular Dynamics Modeling on MPPs (Part 1 and Part 2)." In SIAM News, Vol. 28, No. 2/3, February/March 1995. (Later updated and republished in "Applications on Advanced Architecture Computers," SIAM Press).

  6. N.G. Jensen, T. Germann, P.S. Lomdahl, and D.M. Beazley, "Molecular Reconnaissance." IEEE Computational Science and Engineering, Vol 2. No. 2 (1995). p. 4-5.

  7. P.S. Lomdahl and D.M. Beazley, "Molecular Dynamics on the Connection Machine." In Los Alamos Science. LA-UR 94-2660. p. 44-57.

Other Publications

  1. D.M. Beazley, D. Fletcher, D. Dumont, "Perl Extension Building with SWIG", O'Reilly Perl Conference 2.0, San Jose, California, August 17-20, 1998.

  2. D.M. Beazley, "Tcl and SWIG as a C/C++ Development Tool", Appears as an electronic chapter on the CD-ROM accompanying "Tcl/Tk for Real Programmers" by Clif Flynt, Morgan Kaufmann Publishers, ISBN 0122612051, (1998).

Invited Presentations

  1. Why Extension Programmers Should Stop Worrying About Parsing and Start Thinking About Type Systems, Lightweight Languages 2 (LL2) workshop, MIT, November 9, 2002.

  2. Scientific Computing and Scripting Language Extension Programming, at ONERA, Paris, France. April 18, 2002.

  3. Scientific Computing and Scripting Language Extension Programming, Stanford University, April 10, 2002.

  4. New Features in Python 2, O'Reilly Open Source Conference, San Diego, California, July 26, 2001.

  5. Scientific Computing with Python, ADASS'99, Hawaii, October 4, 1999.

  6. SWIG and the Creation of Scriptable Scientific Software, NASA Ames Research Center, Mountain View, California, August 25, 1999.

  7. C/C++-Perl Integration with SWIG. O'Reilly Open Source Software Conference. Monterey, California. August 24, 1999.

  8. Commodity Supercomputing with Python. 7th International Python Conference, Houston, Texas, November, 1998. (Keynote Address).

  9. Scripting, SWIG, and the Creation of High Performance Scientific Applications, Corporation for National Research Initiatives (CNRI), Reston, Virginia, January 29, 1998.

  10. Scripting, SWIG, and the Creation of High Performance Scientific Applications, NASA Goddard Space Flight Center, January 28, 1998.

  11. Using Scripting Languages to Build Extensible High Performance Scientific Computing Applications, Sandia National Laboratory, Albuquerque, New Mexico, February 4, 1997.

  12. Remote Visualization and Data Analysis of Very Large Scale Molecular Dynamics Simulations, Lawrence Livermore National Laboratory, June 7. 1996.

  13. Lightweight Steering Approaches for Large-scale Physics Applications, Lawrence Livermore National Laboratory, July 9. 1996.

  14. High Performance Molecular Dynamics Modeling, Thinking Machines Corporation, Cambridge, MA. April, 1994.

  15. High Performance Multi-million Particle Molecular Dynamics on the CM-5, Boston University Center for Computational Science Seminar, November, 1993.


I taught the following courses at the University of Chicago: At the University of Utah, I was a teaching assistant for the following courses. In Fall 1995, I received the College of Engineering Outstanding Teaching Assistant Award for my work in the undergraduate hardware sequence (Architecture, Digital Logic Design, and Computer Organization).

At the University of Oregon, I taught courses in college algebra, analytic geometry (pre-calculus), and calculus.

Conference Tutorials and Short Courses

I have occasionally given tutorials at conferences or by invitation. The following list includes some of these short courses:

Service and Recognition


Referee for:


Book Reviewing

Honors and Awards


Expert Witness


Available upon reference.