jdcsen Portfolio, projects, and other work by Joshua David Christensen
Projects with the tag microservices

gRPC Bidirectional Streaming for a C++ Node-Graph Framework

  • Nova Sonic needed the speech framework’s pipelines delivered as a containerized gRPC service: audio and system prompts streaming in, inference requests streaming out. The team’s code had only ever been called through JNI.
  • Mapped gRPC C++’s bidirectional-streaming reactor onto the framework’s pipe abstraction once, as a reusable layer covering session setup and teardown, signal handling, graceful error handling and logging.
  • A new service needs under 300 lines of integration code: which pipe input receives request messages, and which pipe outputs become response messages. Adopted org-wide as the standard way to deploy a pipeline.
  • Established Protobuf and gRPC generated code as first-class CMake libraries in the framework’s build, so the same generated types are consumed by the pipeline’s nodes and by the server without duplicate-symbol conflicts.

L3Dockerize: Python-based containerization tool

  • Python-based Docker container builder.
  • Dynamically resolves and fetches software component dependencies to build Docker images.
  • Intended to serve as a low/zero cost tool for developers to convert existing software installs to more easily monitorable, scalable, and extensible docker-based installations.
  • Concept evaluated in a system-wide CIT test of an L3Harris hardware product.

DRAGLINE: Dynamic RAcinG LINE

  • Augmented Reality Racing Line System running on an NVidia Jetson TX2.
  • Microservice-based architecture comprised of Python, C++, Javascript, and MySQL components.
  • Winner of 2019 Graduating Class Senior Design Competition.
  • Honors Thesis was an attempt at replacing L-BFGS-B Gradient Descent optimizer with a more reliable, machine-learning based approach.