You can find all of my projects at GitHub. I work primarily on the Salesforce platform and in Python.
Amaxa is a multi-object ETL tool/data loader for Salesforce. It’s designed to extract and load whole networks of records, like a selected set of Accounts with all of their Contacts, Opportunities, Contact Roles, and Campaigns, in a single repeatable operation while preserving the relationships between those records.
Core use cases for Amaxa include sandbox seeding, data migration, and retrieving connected data sets.
A SEPTA Regional Rail train tracker for Salesforce Lighting. Why? Because it’s an interesting test-bed for new development tools and techniques, including Salesforce DX, Codecov.io Apex support, and continuous integration with SFDX and CircleCI.
Note and attachment importing support for Salesforce - add rich-text notes with the Data Loader. This package abstracts the complex content preparation required and helps to avoid unpredictable
A tool to compare and deduplicate divergent file trees, especially with different organization or hierarchy levels.
A Python tool to convert 15-character Salesforce Ids in a CSV file to 18-character Ids.
A repository of examples showing how to apply CircleCI and Salesforce DX in a continuous integration workflow for Salesforce, including demonstrations of testing against multiple org shapes, using PMD static analysis, and applying the Lightning Testing Service.
A demonstration of using Salesforce DX to execute integration tests against Salesforce scratch orgs for a Salesforce API client written in Python.
These Python-based tools are designed to facilitate the manipulation and combination of record data in tabular form - in particular, CSV files containing database output. Trapeza-Import is designed to streamline the importing of large amounts of records into a database by matching duplicates in user-configurable ways. Originally designed for use with Blackbaud Raiser’s Edge.
This C library implements a simulation and solver for the board game Ricochet Robots. Included are the library, a command-line tool and a rudimentary Mac OS X interface. Supply a board layout, in a fairly simple
text format or using the GUI tool, and
bouncingbots will offer a list of solutions.