Adam L. Beberg
Email: beberg@mithral.com
Resume: https://www.linkedin.com/in/beberg
Curriculum vitae: http://cs.stanford.edu/people/beberg/
Last update: October 2016
Overview
- 20 years of business and project management, 25 years of professional software engineering, and over three decades of programming experience.
- Stories covering my projects by Forbes, Fortune, CNN, Wired, Scientific American, and many press articles on both distributed.net and Folding@home.
- Invited speaker at computer security and distributed computing lectures and conferences.
- Honored as one of the MIT Technology Review's TR100 top young innovators of 1999, Distinction in Teaching 2010, Stanford Computer Science Student Service Award.
Education
Stanford University
Computer Science PhD Program, 2004-present. Currently on leave.
Stanford University
Master of Science, Computer Science, 2010.
Illinois Institute of Technology
Bachelors of Science, Computer Engineering, 1996.
Experience
Advisor - Sentient Technologies
August 2016 to present.
Principal Architect Distributed Computing, - Sentient Technologies
Architect of Sentient's DarkCycle platform, a distributed computing system spanning over 1M CPU cores and 4K GPUs for Artificial Intelligence workloads. Designed for massive scale and throughput while using high latency networks and low reliability hardware. Product and team manager, including roadmap, hiring, and budgeting for a team of software, QA, and DevOps engineers, while still hands-on with code. DarkCycle is built with Go, Docker, Apache Thrift, PostgreSQL, ELK, Vagrant, VirtualBox, Salt, AWS, SDK with native APIs in Python/C++/Java/Go.
December 2014 to August 2016.
Director of Software Engineering - Apple Inc.
Worked on Apple Watch, HealthKit, and another project.
May 2013 to August 2014.
Senior Software Engineer - Google Inc.
Worked on Google's Spanner project, a globally-distributed and synchronously-replicated database.
March 2012 to April 2013.
Founder and CTO - Mithral Inc.
Architect of Cosm, Mithral's open source distributed computing products which have been deployed on over 20 million machines. Developing the next generation compute, storage, identity, and networking protocols for building efficient and reliable planetary-scale systems. Consulted with hundreds of clients, advising them through the process of designing, constructing, and deploying new distributed systems. Managed teams of employees, independent contractors, and volunteers spread around the world.
June 1995 to present.
Cofounder and Advisor - Folding@home
Folding@home allowed 500,000(peak) volunteer machines to coordinate and perform fundamental research on protein folding/misfolding, computational chemistry, and drug discovery, resulting in 130+ research papers. Cofounder, volunteer computing advisor, distributed computing guru, client/screensaver/GPU programmer, Mac client maintainer, and portability janitor. Based on Cosm through version 6.x, the software ran on Windows, Mac OS 9, OS X, Linux, PlayStation 3, and AMD/Nvidia GPUs.
October 1999 to August 2011.
Research Assistant - Stanford University
Research continuing 14 years of work in distributed systems and focused on: extending volunteer distributed computing systems such as distributed.net and Folding@home with a distributed file system, portable software development and run-time deployment for GPUs with OpenCL and CUDA, development and deployment on unreliable heterogeneous systems, deterministic checkpointing for distributed systems, and reducing the power consumption of active systems. Consult CV for details.
September 2004 to July 2011.
Teaching Fellow & Assistant - Stanford University
12 quarters of lecturing, developing course material, and learning to teach. Taught the summer 2006 Operating Systems course. Co-developed the now institutionalized Future Faculty Seminar which educates students in the realities of an academic career. TA for a variety of courses including distributed systems, cryptography, web technologies, and head TA for a course for non-engineering undergrads teaching both HTML and Python. Distinction in Teaching awarded in 2010. Consult CV for details.
January 2005 to July 2011.
Software Engineer - Identix
Maintenance and development for the Live Scan line of biometric fingerprint scanning systems. Engineering roles involved bug fixing, customer feature additions, GUI development, new hardware integration, and migration to a new .NET architecture. C, C++, .NET, REXX, biometrics.
February 2004 to December 2004.
Software Engineer - Network Appliance
Implemented testing infrastructure and testing tools for the development and verification of company products. One tool allowed the remote execution of a process using local resources. These tools were then rolled out company-wide for all development and QA testing. Perl, C, Perforce, NAS, Clustering, Solaris, OSF/1.
November 2000 to April 2001
Software Engineer - StorageTek
Worked on the design and implementation of an on-demand disk allocation system for servers in a Storage Area Network, integrated across Windows, Linux, and Solaris platforms. The project resulted in a fully fault-tolerant system for dynamic enterprise storage deployments, allowing for a large reduction in administrative overhead. Python, Java, XML, PostgreSQL, Solaris, Linux, SAN, Volume Managers, Veritas, ISO 9000.
August 1999 to November 1999
Founder and President - Distributed Computing Technologies Inc.
Management and direction of distributed.net - a non-profit 50,000 member, 80,000 node global network of people and computers. The organization's goal was the promotion of distributed computing technologies and government removal of export restrictions on the use of strong encryption. The restrictions were removed successfully. Design of the software architecture, and coordination of approximately 30 developers and core volunteers.
May 1997 to May 1999
Software Engineer - Peterson Electro-musical Products Inc.
Developed a real-time embedded system for pipe organs designed to control the organ as well as act as a fully functional MIDI device. Design was based on the Motorola 68k family of processors and the Nucleus real-time OS. C, C++, MS-Project, 68k and HC11 assembly, real-time kernel, inline emulators, circuit and board layout tools.
June 1997 to April 1998
Webmaster - Illinois Institute of Technology
Maintenance and redesign of the IIT web site. Managed the web servers and related resources on the campus and helped in the development of university usage policies. Web servers ran NT and IRIX. C, C++, Perl, SQL, Windows NT, IRIX, Solaris, Linux, Apache, IIS.
August 1996 to August 1997
Software Engineer - Educational Technology Center
Design and conversion from an MSDOS based student quizzing system to a Windows GUI based one with a Paradox backend. Assisted in the maintenance of the Novell network (v. 2.2 to 3.11) and oversaw daily server operations. C, C++, Borland, Windows 3.1, Novell, Paradox.
September 1992 to October 1994
Keywords & Skills
C, C++, Java, Python, Perl, REXX, SQL, HTML, XML, VB, ASP, PHP, RPC, IIS, ColdFusion, SAN, NAS, TCP/IP, IPv6, Cocoa, OpenGL, OpenCL, CUDA, 68K and x86 ASM, Shell script, PKI, PKCS, PGP, Unicode, UML, n-tier, ISO 9000, MS Project, CVS, Perforce, MS SQL, PostgreSQL, Oracle, Windows, NT, OS X, Linux, SunOS, Solaris.