Skip to content

Instantly share code, notes, and snippets.

@jchris
Last active October 13, 2016 17:19
Show Gist options
  • Save jchris/3be2d1c533a80300c62ba8d0ece2c9d4 to your computer and use it in GitHub Desktop.
Save jchris/3be2d1c533a80300c62ba8d0ece2c9d4 to your computer and use it in GitHub Desktop.
Code Portfolio

This is a non-exhaustive list of (mostly) open source work in roughly chronological order. Most of my production code is in Erlang, JavaScript, and Go, with application code in JavaScript, Objective-C, and C#. The theme that emerges is a focus on developer experience, and on pushing the envelope for edge compute.

Ruby on Rails

Apache CouchDB _users database

Apache CouchDB show and list APIs

  • Allow developers to inject JavaScript functions into the database definition, which can render JSON documents as HTML, XML, or any other string format for consumption by REST clients.
  • Applications include providing RSS or ATOM feeds directly from the database, as well as hosting single-page “CouchApp” applications.

Apache CouchDB update API

  • Developer provided JavaScript function stored in the database, allows applications to convert arbitrary PUT / POST data to JSON.
  • Applications include pointing web hooks at the database, as well as updating some fields without passing the whole document over the network

Couchbase Mobile

  • Chief architect for implementations of Apache CouchDB compatible databases on iOS and Android
  • At first we actually got the Erlang VM running on the phone, but then rewrote it in Objective-C, Java and C#.
  • Implemented initial version of geo query on iOS.
  • Authored developer quick start docs

Couchbase Server document format

PouchDB

  • Initial sponsor of Dale Harvey's work at Couchbase
  • Contributed core implementation and compatility patches
  • I also wrote a from-scratch JavaScript implementation of a Couch compatible database for the browser, but it remains closed source and browser bug evolution suggests it'd be better to do it again than resurrect the old code.

Couchbase Sync Gateway

Couchbase Lite Phonegap Plugin

  • Scripts generate PhoneGap plugin from latest Couchbase Lite cross platform builds
  • Plugin used by application developers to add local database support

Todo Lite Demo App

  • Demo app to teach developers basics of Couchbase Mobile CRUD, Authentication, Query, and Sync APIs.
  • Corresponds with documentation and other content.
  • Implemented in PhoneGap, iOS, Android, and C#

IoT Demo for Intel Developer Forum 2015

  • Worked with Couchbase engineers to use a 3D printed GE jet turbine model with handcrank and optical RPM sensor as the driver for an airplane takeoff simulator.
  • Research implemention of new edge compute capabilities: distributed materialized map reduce with filtered sync, so only relevant data is synchronized to other devices and handsets, while the full data stream is stored locally.
  • In the demo app, this corresponds to red / yellow / green: is the engine RPM fast enough to reach takeoff velocity by the end of the runway?
  • C# code not open but the Golang server implementation of materialized reduce is here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment