code and games
Built with Hugo and Hyde-Y.

Portfolio

Creations

chrisbot

A Slack bot that can receive photo uploads and perform an automatic face replacement.

  • go
  • opencv

gopkg

A plugin for the Caddy web server that enables vanity URLs for Go package imports.

  • go
  • caddy

Kubernetes Controller for ORY Hydra

A Kubernetes controller for the ORY Hydra product, which allows for the management of OAuth2 clients via Custom Resource Definitions.

  • go
  • kubernetes

Kubernetes Ingress Controller for Caddy

A Kubernetes Ingress Controller for the Caddy web server. Originally intended to greatly simplify the automatic provisioning of TLS certificates for sites hosted in a Kubernetes cluster, but now deprecated as cert-manager has become vastly easier to deploy.

  • go
  • kubernetes
  • caddy

vellum-selectbox

A selectbox web component created with Polymer.

  • javascript
  • polymer
  • web components

vellum-chip

A "chip" web component created with Polymer.

  • javascript
  • polymer
  • web components

vellum-pager

An accessible pagination web component created with Polymer.

  • javascript
  • polymer
  • web components

multistatus

Use the terminal to show the status of multiple concurrent processes in Go.

  • go

rql

A Go library to parse a subset of RQL, a URL-friendly data query language.

  • go

skills

A stack chart made in d3 representing the accumulation of skills.

  • javascript
  • d3.js

animated chrono.gg logo

An animated version of the chrono.gg logo I made to practice shapes and animations with d3.js.

  • javascript
  • d3.js


Contributions

ORY Oathkeeper

Proposed and contributed the code for two new credentials issuers for ORY Oathkeeper, an access control proxy.

  • go

ORY Ladon

Refactored the SQL Manager interface to make it easier to create third-party managers for other database types.

  • go

powerlevel9k

Made improvements to the golang segment of the Powerlevel9k ZSH prompt theme.

  • zsh

Caddy - Optional 'ca' tls directive

Implemented an optional 'ca' directive for TLS, which allows users to choose which ACME compatible Certificate Authority they wish to use to acquire their TLS certificates.

  • go
  • caddy

Caddy - New 'header' proxy policy

Implemented a new 'header' proxy policy, which allows the hash value of a given header to be used to determine which upstream the proxy should route to.

  • go
  • caddy