We are strong believers in the power of open models, data, and code to more rapidly advance the state of the art. We do produce proprietary software for customers in certain cases, but whenever possible we prefer to produce open source code, host any data we collect, and publish interesting findings at conferences and in journals.
Below are some examples of our work products that we have have developed for public or open source dissemination. When a project is hosted on GitHub, a link is provided.
This project was started by Dr. Marca as a way to organize research during graduate school. Originally the project used simple web forms and a MySQL backend to annotate, link, and cross-reference resources. Version 2 used node.js and CouchDB to solve the problem, and Version 3 is being planned as a way to learn Elixir and GraphQL.
While developing course content for Caltrans hosted on the Sakai platform, we developed and open-sourced a CAS client for node.js. The client allows for single sign on and listens for single sign off messages from the central CAS server.
The Open Source Routing Machine (OSRM) project is an incredibly useful project that leverages OpenSteetMap (OSM) data to generate a fast network routing service. Because our clients can be located anywhere, we developed this package to facilitate downloading and populating an OSRM server for any state or metropolitan area. This project uses npm scripts and a Dockerfile to make setting up or updating an OSRM service as painless as possible.
This small utility library was developed to generate salted SHA passwords for use with OpenLDAP from within a node.js web server.
We developed a work zone information concept in a proposal to tackle the problem of managing the disparate information sources about a roadside work zone area. The approach leveraged the CouchDB eventually consistent, highly available data model in order to maintain and distribute work zone information. As the proposal was not funded, this project exists only in preliminary form. However we often revisit it to explore the impact of new techniques and technologies, such as the Kafka message bus, and most recently using blockchain data storage to provide authentication guarantees.