Samuel P. Leeman-Munk
***********@*****.***
Carrboro, NC 27510
EDUCATION
Chapel Hill High School, Chapel Hill, North Carolina
Academy of Information Technology Spring 2006
Earlham College, Richmond, IN
Bachelor of Arts, college and departmental honors, Spring 2010
Major: Computer Science Minor: Japanese Language and Linguistics
Spent a semester in Japan studying Japanese and assistant teaching English at a public
middle school.
COMPUTER SKILLS
Languages: C, C++, Objective C, Java, Perl, PHP, SQL, HTML, CSS, XML, Haskell, Prolog,
Python, UNIX shell scripts
Systems: Linux (Debian & Arch), Windows, Mac OSX
Software: MS Office & OpenOffice suites, Maple, Adobe Web Suite CS3, GNU utilities,
Schedulers (LoadLeveler, LSF, PBS), Source Code Control (CVS, SVN, Git), LaTeX
Parallelism: Experience in both shared and distributed parallel architecture at various scales
WORK EXPERIENCE
August 2011-Present: Research Assistant
North Carolina State University, Raleigh, NC
June 2010-August 2011: Curriculum and Software Developer
The Shodor Foundation, Durham, NC
Duties and Projects
Maintain and manage software suites
Revamp and redesign Petascale data harvester for education, allowing students to easily
see how a program's runtime decreases with increasing numbers of computing cores.
Create an educational module to explain the Petascale data harvester and how to use it.
Explore the educational opportunities afforded by multi-touch interfaces such as the
iPhone and lead development in this area.
Develop modular, automated testing system to the Bootable Cluster Compact Disc (see
projects)
Lead and assist classes in various subjects - Java programming, structural engineering,
parallel programming and agent modeling.
May 2009-June 2010: Petascale Project Engineer
Blue Waters Petascale Computing Facility
Earlham College, Richmond, Indiana
Duties and Projects
Modify parallel programs to output performance data.
Design and implement a Perl-based data harvester for running multi-threaded programs,
collecting performance statistics and sending them over SSH to a Postgres database.
Work with local clusters and large-scale supercomputers to run parallel programs and
collect statistics for a variety of parallelization styles.
2008 - May 2009: Web Administrator
Earlham College Computer Science Department
Earlham College, Richmond, Indiana
Duties and Projects
Identified and fixed errors and security flaws in the Computer Science Department
website.
Added new content and redesigned existing content using Perl, PHP and HTML
scripting.
August 2007 - August 2008: Web Applications Designer
Shodor Intern Program
The Shodor Foundation, Durham, NC
Duties and Projects
Designed and implemented Internet-based Science and Mathematics applications in
Java.
Identified repeated patterns in code and consolidated them into generalized modules.
Taught students and apprentices the skills they needed to complete their projects.
Summer 2007: System Administrator
Shodor Intern Program System Administrator Intern
The Shodor Foundation, Durham, NC
Duties and Projects
Designed an end-user manual for LittleFe, a portable mini-cluster. (www.LittleFe.net)
Set up software on and taught classes with LittleFe.
Helped with general maintenance of computer software and hardware.
PROJECTS
Blog Engine: Designed, implemented, and continue to maintain and upgrade a blog using PHP,
CSS, HTML and XML.
Jeopardy review game creator: Using Adobe Flash, PHP, CSS, HTML, JavaScript and XML,
created a jeopardy game that enables Japanese Teachers to make question sets with a user-
friendly web form.
Senior Project: Designed a conceptual Natural Language Queriable Database in Prolog using
Definite Clause Grammars, an extension of Context Free Grammars. System learns vocabulary
by refactoring user queries to see what in its database could match the unknown term and
prompting the user for a synonym.
PetaKit: Worked with a small team to create a portable system to run various programs on
arbitrary clusters and collect performance data for different styles and degrees of parallelism.
StatKit and PlotKit: Improvement to PetaKit's main harvester. StatKit provides a well-
documented, easy-to-use interface to benchmarking any command-line program, and PlotKit
quickly graphs the output to make meaningful visualizations. Independent project, continuing to
improve.
NXT Python: Extended the open-source Python Library for Lego's Mindstorms's NXT to
support HiTechnic's Compass hardware.
BCCD: The Bootable Cluster Computing Distribution, an operating system designed to allow
any group of networked computers to temporarily become an impromptu cluster. I am one of a
number of developers helping with this project. Lately I've focused on an automated testing
suite based in Perl that identifies errors via regression analysis, comparing test results on a test
machine to the results of the same test on a known working machine .
iPhoneActivate: Working with a single colleague and two interns to explore techniques for
converting a large existing framework of STEM education web-applications written in Java into
formats that will be accessible via iPhone. Also considering how to use our work to get funds
for Shodor. For instance, converting our app Multi-Function Flyer to Math Flyer (currently on
the app store). Currently making the simpler free version, Slope Slider.
ACCOLADES
TeraGrid '09 Parallel Programming Competition First Place (part of team)
2009 National Cyber Defense Competition Third Place (part of team)
Invited to run a parallel computing workshop at National Center for Supercomputing
Applications at University of Illinois Urbana Champaign in 2010 (part of a group)
Invited again to teach at the parallel computing workshop in 2011.
RESEARCH PRESENTATIONS
Parallel Performance Over Different Paradigms
TeraGrid Conference 2009
SuperComputing Conference 2009
Earlham College Annual Research Conference 2009
Collecting Performance Statistics on Varying Cluster Implementations (PetaKit)
SIGCSE Conference 2010
Earlham College Annual Research Conference 2010
Undergraduate Petascale Education Program Institute 2010
PUBLICATIONS
S. Leeman-Munk A. Weeden. An automated approach to multidimensional benchmarking on
large-scale systems. Journal of Computer Science Education, 2010.
http://jocse.org/currentIssue/.
M. Edlefsen, A. Fitz Gibbon, B. Johnson-Stalhut, D. Joiner, S. Leeman-Munk, A. Weeden, and
C. Peck, Poster. Parallel performance over different paradigms. Poster TeraGrid Conference,
SuperComputing Conference, 2009.
M. Edlefsen, A. Fitz Gibbon, B. Johnson-Stalhut, D. Joiner, S. Leeman-Munk, G. Schuerger, A.
Weeden, and C. Peck, Poster. Collecting Performance Statistics on Various Cluster
Implementations. Special Interest Group on Computer Science Education, Undergraduate
Petascale Education Institute, 2010.
Undergraduate Petascale Education Program (internet resource)
Multidimensional Benchmarking with PetaKit
EDUCATIONAL WORKSHOPS
Note that in each of these I had a planning and educating role
Undergraduate Petascale Education Program Institute
University of Illinois at Urbana Champaign National Center for Supercomputing
Applications
Intermediate Parallel and Cluster Computing
University of Oklahoma, Norman, OK