I am an enterprise software developer focused especially on backend technologies, distributed services, and data modeling, experienced with diverse data technologies including relational (SQL) databases, Apache Cassandra, graph databases, and search indexing engines such as Elasticsearch and Solr.
I currently live and work out of Montréal, Québec.
Contributed bugfixes and patches towards compatibility with Python 3.
During the early development of the new Python Gremlin Language Variant (GLV), contributed an API for the raw expressions for the groovy translator, to allow the use of vendor-specific APIs. (The groovy translator was later superseded by Gremlin Bytecode.)
Contributor and reviewer for Goblin, the new python object graph mapper (OGM) for TinkerPop3-compliant database systems.
Django REST Framework JSON API
This project, an extension for the popular Django REST Framework Package, provides tools to build REST services which conform to the JSON API Specification. I made several contributions to this project in the winter of 2014 to 2015, most notably adding features to automate the generation of links to related resources.
Django PostgresSQL Netfields
Netfields adds support to Django for PostgresSQL's INET and CIDR field types, allowing Django application developers to efficiently query IP address and CIDR access data. I contributed a new query operator, '_family', which makes it possible to filter IP address records by family (i.e., IPv4 or IPv6) seamlessly from Django's QuerySet API.
Search Indexing Engines:
Redis (in-memory cache database)
Django web framework
Flask web framework
Developed an authentication and access control system for a client-facing service.
The system restricts content depending on a client's subscription and limits the number of devices a client can use to access the service.
Also wrote a key management server for DRM and an HTTP API for user management operations by staff.
Worked on development of a Network Operations and Business Support System.
Led the development of a scalable, asynchonous RPC system built on the ZeroMQ messaging library so that workers can be added dynamically to scale to load without necessitating any changes to client configurations. The python implementation leverages the new asynchronous programming tools available with recent versions of Python, including the new async/await syntax and the asynchronous iterator protocol. Assisted a developer who implemented a client for the RPC system in Node.
Designed data models for the DataStax Enterprise database, especially the new DataStax Enterprise Graph.
Contributed to, and reviewed pull requests for, the Goblin project.
Adapted a web API that provides an endpoint for sending SMS via a cellular modem; customized it to work with existing monitoring software as a notification delivery mechanism; added endpoints to monitor the health of the modem and its signal strength.
Developed a web backend using the Django framework.
In 2014 I visited classrooms in Montréal public schools to help share critical technology skills. Volunteering organized by the Montréal-based NGO Kids Code Jeunesse.