Nelson Minar
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
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.