Nelson Minar
San Francisco, CA 94127
USA
http://www.media.mit.edu/~nelson/
Skills
Design, architecture, and early implementation of complex computer systems, particularly using the Internet. Working with teams of engineers, sharing skills and solutions. Public communication, writing and speaking.
Operating systems: Unix, Linux, Windows. Distributed systems: Internet, TCP/IP, HTTP, RMI, XML/RPC, SOAP, WSDL, etc. Programming languages: Java, .NET, C#, Perl, C, Objective C, C++, etc. Peer to peer, web services technologies.
Education
M.S
. in Media Arts and Sciences, MIT Media Lab, August 1998. Master's thesis: Designing an Ecology of Distributed Agents.
B.A
. in Mathematics, Reed College, May 1994. Commended for Excellence in Scholarship all years. Phi Beta Kappa. Undergraduate thesis: Relaxation Dynamics of a Lattice Spin System.
Work Experience
Software Engineer, Google (November 2001 - December 2005
)
Designing, building and advocating a variety of Google projects.
Independent contracting
(September 2001 - November 2001)
Short term projects with a variety of companies to help explain and evaluate their distributed systems technologies. Duties have included writing sample code, articles, and tutorials. Details on request.
Contractor
for Clip2 (May 2001 - August 2001)
Researched peer-to-peer and web services technology to identify strategic opportunities for Clip2. Worked with Project JXTA, writing a tutorial article with sample source code as well as contributing to the JXTA core. Worked with SOAP, WSDL, and XML Schema.
CTO and Co-founder of Popular Power
(January 2000 - March 2001)
Designed, implemented, and deployed Popular Power, a commercial distributed computing system designed to scale to millions of computers. Coordinated technology strategy. Prepared and presented investment presentations. Spoke extensively to journalists and at conferences. Worked with customers to find technology matches. Mentored engineering staff.
Research Assistant, MIT Media Lab (August 1996 - December 1999)
Member of the Software Agents group, working full time on agent-based projects. Java design and development, research planning, managing several undergraduates. Many other part-time tasks such as Unix system administration, web development, Perl programming, etc.
Research Programmer, The Santa Fe Institute (May 1994 - May 1996)
Worked with a small team to design and develop Swarm, an object oriented platform for simulation. System design and development, Objective C programming, technical user support.
NSF Undergraduate Intern, The Santa Fe Institute (June 1993 - August 1993)
Developed, researched, and studied an abstract computer-science based simulation investigating the origin of life. C software development and research experiment design.
Programmer and Technical Consultant, Reed Software Development Lab (June 1990 - May 1994)
Acquired, tested, installed, and maintained Unix services, especially GNU and X software. Systems administration for a network of forty Unix hosts on the Internet. Provided general technical support for the diverse needs of an academic institution, particularly finding and developing software to satisfy research and educational requirements. Examples include setting up the first Reed web server and extensive work developing and interpreting an artificial life simulation for a faculty member.
Major Projects
Google AdWords API
(2004-2005)
A SOAP interface to Google's AdWords product.
Google Web APIs (2002)
A SOAP interface to Google search, cache, and spell correction. Extensive user base, developer community, and media exposure.
Popular Power
(2000-2001)
See above for details.
Hive (
1997
-2000, while employed at the MIT Media Lab)
Lead designer and implementor of Hive, a distributed object framework for networking software services and embedded devices. Hive consists of 20,000 lines of Java code, including a mobile agent system, an XML-based ontology of agent capabilities, and numerous application-specific modules. Hive is open source software. I remain involved as a user, contributor, and advisor.
Swarm
(1994-1996, while employed at the Santa Fe Institute)
Lead designer and implementor of Swarm, an object oriented simulation toolkit. Challenges included developing an object model for agent based simulation, designing and implementing a scheduler for the simulator, and building a suite of useful tools for researchers. Swarm is open source software and currently has over 300 active users, I remain involved as an advisor to the project.
html-helper-mode
(
1994-current, independent project while at Reed College)
Sole author of an emacs editor mode for editing HTML documents. Preferred by many as a lightweight editing tool, used for tens of thousands of web pages. Open source software.
Papers, Contributions
For a full list, please see my home page at http://www.media.mit.edu/~nelson/. Highlights include:
Nelson's Weblog: a combination of personal and technical topics.
Test Networked Code the Easy Way, article and sample code on Javaworld (July 2002).
Distributed Systems Topologies (part 1, part 2). Article on OpenP2P, the O'Reilly Network (January 2002)
O'Reilly P2P and Web Services Conference: session talk Peer-to-Peer is Not Always Decentralized: When Centralization is Good and tutorial Project
JXTA:
Introduction and Development (November 2001)
JXTA Chat, Sans Server, tutorial article + code for JXTA at the O'Reilly Network. (June 2001).
"A Network of Peers: Peer-to-Peer Models Through the History of the Internet", first chapter in "Peer-to-Peer: Harnessing the Power of Disruptive Technologies" (2001).
Security Issues Surrounding Distributed and Peer-to-Peer Systems, O'Reilly P2P Conference (February 2001).
"Hive: Distributed Agents for Networking Things", presented at ASA/MA (1999)
"A Survey of the NTP Network" (1999).
"Cooperating Mobile Agents for Dynamic Network Routing", a chapter in the book Software Agents for Future Communications Systems (1999).
"Visualizing the Crowds at a Web Site", a late-breaking paper for CHI '99 (1999).
Designing an Ecology of Distributed Agents, master's thesis (1998).
Hosting three mailing lists: dist-obj, for forward-thinking discussion of distributed objects; mobility, for researchers studying mobile agents, active networking, and mobile code; and javares, discussing resource accounting and limitation for Java.
Nelson Minar
Updated: November 13, 2007