I was the VP of Engineering at Intellinote, a team communication and collaboration platform for the web, desktop and mobile. Intellinote features: video conferencing, screen sharing, real-time messaging (chat), note taking, task management, file sharing, dozens of built-in integrations and an extensive REST API.
BroadSoft was in turn acquired by Cisco in February of 2018. Team-One remains a key component of the BroadCloud platform.
See Rod's resume (PDF) for more detailed information but be warned that that document may not be up-to-date.
Recent Open Source Stuff
Some public repositories and other things I've worked on relatively recently:
dust-engine - a Dust.js template processor that can be run from the command-line, invoked from code, or registered with Express.js as a rendering engine. (Via DocumentAlchemy.)
SwaggerDSL - a CoffeeScript-based domain-specific language for generating JSON documents for Swagger. At Team-One (formerly Intellinote) we use SwaggerDSL to generate the documentation for our REST API. (Via Intellinote/Team-One.)
sql-client - a dirt-simple SQL-client abstraction for Node.js supporting PostgreSQL, MySQL and SQLite. (Via Intellinote/Team-One.)
Common Dust.js Helpers - a small library of "standard" helper functions for the Dust.js web templating framework. (Personal project.)
gvpr-lib - a small library of common functions for gvpr, Graphviz's awk-like language for transforming and processing graphs. It includes gvpr-mode, a simple emacs lisp major mode for working with gvpr. gvpr-mode is available on the Marmalade and MELPA package repositories. In modern versions of emacs you can run
M-x package-install <RET> gvrp-mode <RET>`to install it. (Personal project.)
FATpick - the guitar tab player that listens (Personal project.)
paper-forms - a set of printable forms, templates and worksheets. (Personal project.)
Apache Software Foundation
I used to be quite active in the Java corners of the Apache Software Foundation. I had a pretty big role the creation of Jakarta-Commons (which eventually morphed into Apache-Commons) and a lesser role in the founding of the Apache DB project. A fair bit of my code can still be found in the Apache Commons, Apache-Tomcat, and (through a number of migrations of HttpClient) in HttpComponents, among other places.
The Graphviz Cookbook
The Graphviz Cookbook, like a regular cookbook, is meant to be a practical guide that shows you how to create something tangible and, hopefully, teaches you how to improvise your own creations using similar techniques. You can find out more information and download sample chapters here.
I've been experimenting with DocumentAlchemy, a document-processing-as-a-service platform. DocumentAlchemy provides REST APIs for parsing, writing, processing and transforming documents in many formats, including Microsoft Word, Excel and PowerPoint, OpenOffice Writer, Calc and Impress, PDF, HTML, Markdown and other text formats, and PNG, JPEG, GIF and WebP image formats.
The Axion RDMS
Once upon a time I created a fully-functional relational database from scratch (with more than a bit of help from collaborators). I was a major developer behind Axion, a small, fast, open source relational database system written in and for Java. Axion has been dormant for quite a while, but it was and still is a fairly robust and complete system. Axion had and as far as I know still has some features no other RDBMS provides. Axion...
- is embedded (it runs in-process within the same JVM as the client code),
- supports both persistent (on-disk) and transient (in-memory) modes,
- supports both ANSI SQL and several extensions from Oracle's SQL dialect (circa 10g or whatever was released at the time),
- is fully transactional,
- is fully ACID (providing Atomicity, Consistency and Isolation and Durability),
- can be easily extended with custom "pluggable" table, index, column (field) and function types.
- can be found in commercial products containing millions of rows and gigabytes of data, processing thousands of transactions per second (while not a toy database by any standards, this certainly isn't "big data" volumes, but bear in mind that this was 10-15 years ago on what even then were low-end consumer models).
- was nominated as a Program to Read on the venerable C2 Wiki (a.k.a. "Ward's Wiki" or, notably, "the original wiki").
Building this wasn't as impractical as it might sound. The first version of Axion was created by a tiny team in less than 5 months in support of a top-selling, award-winning, shrink-wrapped retail CD/DVD-ROM product, and was successfully used in support of that product for nearly a decade.