Donnie Cameron
1538 Terracina Circle, Manteca, CA 95336
+1 919-429-9377 (919-HAXXERS)
root@sinistercode.com
https://sinistercode.com/public/donnie/contact
To design, implement, and deploy systems that host trillions of unstructured or loosely-structured records and that support millions of users.
To gravitate toward expressive programming languages with Lisp-like features, including simplicity, uniformity, support for interactive development, production of fast code, support for multi-paradigm programming, rich arithmetic, conditions/restarts (exceptions with no stack unwinding), metaprogramming, and proper lexical closures.
To go beyond the neural network framework I've developed and become proficient with the latest machine-learning frameworks, such as Flux, TensorFlow/Keras, and PyTorch, with the ultimate goal of being able to easily develop neural networks that can paint, make music, write original text, and navigate the world. I'd love to be attached, in any way, to the team that ultimately develops the first system to pass the Turing Test.
- Common Lisp
- Java
- Python
- Elisp
- SQL
- Linux Shell Scripting
- Perl
- PHP
- XQuery and XPath
- LiveScript, JavaScript, JQuery
- Racket
- 6502/6510 Assembly Language
- Many others in the distant past, including C, C++, TCL, and Scheme
- Linux (Ubuntu, Kubuntu, Mint, Red Hat, Debian, Mandrake, SuSE, and many more)
- FreeBSD, Solaris, and SCO Unix
- AWS (Including EC2, ALB, Auto Scaling, Lambda, S3, Glacier, VPC, Route 53, IAM, RDS, DynamoDB, Redshift, Snowball, CloudFront, and API Gateway)
- Some Kubernetes experience in GCP and Azure
- Docker
- PostgreSQL (my favorite)
- MySQL
- RocksDB
- Mark Logic Server (native XML database)
- Berkeley DB XML (native XML database)
- Oracle
- DynamoDB
- Apache, Apache Virtual Hosts, and many other Web servers
- Socialtext, TWiki, Confluence, Drupal, WordPress, Wiki.js, and many other wikis and CMSs
- Git, Subversion, and other revision control systems
- Sendmail, Postfix, Exim, Dovecot, and other server-side mail software
- Docker, Virtual Machines, VMWare, VirtualBox, QEMU
Fluent in English and Spanish. Outstanding communication skills in both languages. Can write and assemble large complex documents such as specifications and requirements that are organized, detailed, and clear. Prolific Wiki contributor.
Never had a break in employment
December 2019 - Present
Sight Machine wires up manufacturing facilities to continuously transform and analyze all plant data, to help manufacturers improve throughput, quality, flexibility, cost, and sustainability. The Sight Machine tools allow us to configure data pipelines that consist of a directed graph of operators that transform streaming data into structured data that can be analyzed for recommendations, predictions, optimization, and troubleshooting. I've been involved in the development of the system that runs those pipelines as well as the development of some of the pipeline operators, including the Apply Expression operator and its Operator Expressions programming language.
January 2015 - November 2019
Eros Now is a global service with tens of millions of active users and aims to be the Netflix of Bollywood. I’ve been at the center of all major architectural changes since I joined the company, including many changes to improve the scalability and security of our Web site and API services. For example, I moved us to Akamai and then to Verizon Edgecast, moved our production environment into a AWS VPC (including migration to the second-generation machine types), integrated our systems with a DRM provider, and paved the way for auto scaling. I worked on the back end to provide new features, including Recently Watched, Continue Watching, DRM Download, and 14-day Trial. I developed a test framework for the APIs, with continuous integration, and a dockerized development environment. Programmed extensively in Python, PHP, Perl, Common Lisp, and to a lesser degree, JavaScript and NodeJS. Configured services of all types, including MySQL, Apache, HAProxy, Varnish, Memcached, EC2, ELB, S3, Route 53, DynamoDB, Redshift, Lambda, CloudFront, Akamai, Edgecast, Uplynk, Jenkins, and New Relic. I’m the technical backstop at Eros Now.
November 2012 - December 2014
Developed new features for Socialtext, the most advanced wiki software in the world. Most of my programming was in LiveScript (like CoffeeScript) with JQuery, Modern Perl, and PostgreSQL. All new features were build as RESTful Web services with front end code that uses those Web services. Extensive use of JSON. Began a move to slowly replace the Perl back end with Node.js, so we could use LiveScript on the back end. Iterative, agile, test-driven development using GitLab, a Kanban board, and daily stand-up meetings.
October 2010 - October 2012
Developed software to implement new features for CashBox, Vindicia’s flagship product. Worked with Oracle and Perl. Deployed 6 major new features. Deployed dozens of minor features and bug fixes. Crafted hundreds of scripts. Led migration of production systems from RPath to RedHat Linux.
October 2004 - October 2010
- Developed systems that manage tens of millions of records and that handle millions of requests per day.
- Developed a Web application that uses advanced techniques including artificial intelligence, text-vectorization, and word-relevance techniques to extract meta data from the full text of books. (Perl Catalyst, SBCL Common Lisp, Mark Logic XQuery.)
- Was the lead programmer and designer for the BIP-2 (Books In Print 2) Query Service, which powers the Books In Print 2 Web site and other products.
- Was the lead programmer and architect for migration of Global Books In Print product to a native XML database. Global Books in Print is the standard catalog of all books in print. (modperl, Java, XQuery, XSLT, CSS.)
- Was the lead programmer for the development of the BBAS product, which is a complex product that allows libraries to evaluate their book collections. (Perl, SQL.)
- Architect and lead programmer for RESTful web services for book meta data, including an dynamic image service. (Perl, XQuery, JavaScript, ImageMagick.)
- Contributed code for rclweb.net: all browsing areas, all My Account and settings areas, all interfaces to the Oracle and Mark Logic databases, database design. (PHP, Perl, XQuery, SQL.)
- Developed hundreds of utilities and modules to accomplish various administrative tasks. (Perl, PHP, XQuery, C, C#, ASP, SQL, others.) * Configured many Linux hosts that are currently in production and many more that currently serve as development and staging platforms.
- Instituted a wiki that the entire company uses as a knowledge base, and as a planning and collaboration platform.
- Introduced a Subversion revision control repository and helped move all project development to this repository.
¶ Technical Editor and Programmer at Microsoft Corporation (Contractor)
March 1997 - January 2002
Edited (and, in some cases, contributed code) for the following publications:
- Programming Windows with Visual Basic .NET (Charles Petzold)
- Microsoft Visual C# (Core Reference) (Mickey Williams)
- Programming Microsoft .NET XML Web Services (Damien Foggon et al)
- Microsoft .NET Compact Framework (Core Reference) (Andy Wigley et al)
- 101 Microsoft Visual Basic .NET Applications
- Advanced Windows, 3rd Edition (Jeffrey Richter)
- Network Programming for Windows (Ted Pattison)
- Inside Direct3D (Peter Kovach)
- Programming Bots, Spiders and Intelligent Agents in Visual C++ (David Pallmann)
- Programming Distributed Applications with COM and Microsoft Visual Basic 6.0 (Jones and Ohlund)
- Microsoft Visual J++ 6.0 Developer’s Workshop (Shannon Dunn)
¶ Director of Operations and Lead Developer at NetStar, S.A., Argentina
1994 - 1996
- Designed and built a working prototype of an intelligent multipurpose terminal based on an Intel 486 chip using DesignCAD 3D and later AutoCAD.
- Located and contracted a manufacturer; had 2000 of those terminals built and shipped to Argentina.
- Successfully planned, developed, scheduled, and executed the education of over 9000 computer-illiterate operators.
- Using Visual Basic and C++, I developed a proprietary GIS system (Cordoba, Argentina) to keep track of the points of sale.
- Planned and developed (making heavy use of Microsoft Access, Visual Basic, and Microsoft Office) an integrated system that tracked or managed the following operations: Inventory, Training, Hardware and Software Testing, Inter-Office and Inter-Corporate Communications, Operator/User Database (10 operators, 9000 users).
- Located a buyer and negotiated the sale of NetStar for $6.2 million dollars.
1988 - 1992
- Responsible for maintaining the proper nuclear water chemistry of ship’s propulsion plant and for radiological controls.
- Computerized work lists, forms design, and other paperwork, automating a significant number of processes in the optometry lab at the U.S. Naval Hospital in Naples, Italy.
- Computerized the inventory and tracking of radiological controls instruments utilizing a natural language system. The database could be queried and updated in simple English sentences.
- Served in the Red Sea during the Gulf War.
1988 - 1990
- Mechanical Operator, Nuclear Propulsion
- Engineering Laboratory Technician (Nuclear Water Chemistry and Radiological Controls)
1986
Computer Science
¶ University of Maryland
1985
Computer Science
References available upon request.