Graham Greve

Atomic physicist, programmer, woodworker, shantyman

Select projects follow:

Ricochet Robots

A multiplayer, web-based implementation of the board game Ricochet Robots.

  • Frontend written in Elm, a pure functional language that compiles to Javascript and promises "zero run-time errors"
  • Backend written in Elixir, another functional language, built for concurrency and fault tolerance
  • Supports dozens of simultaneous connections, with chat, polls, server settings, and more
  • Asynchronous solver compares human solutions against an optimal search

Mainsail Café

A catalogue of sea shanties, historic and modern.

  • Built upon Craft CMS, a flexible content management system
  • Populated with hundreds of hand-collected songs, albums, books, and references
  • Integrated melodies from the Digital Tradition database with ABCjs
  • Preliminary attempts to use Python's tensorflow for optical music recognition (OMR)
  • Built a basic recommendation engine using tf-idf.

Digital Codenames

A portable, personal use version of the team-based board game Codenames.

  • Play near a computer or cast to a large screen television — no shuffling cards!
  • Decode the board with the Android app (unreleased) or the web-based spymaster decryptor
  • Select from diverse, alternate language, or custom wordlists
  • Scan the QR code in app to quickly find the corresponding decrypted key

Planting Calendar

Garden-planning based around NOAA-reported frost dates.

  • Dynamic SVG calendar written in Elm, exportable as a PDF
  • Simply input your ZIP Code and select species to create a calendar
  • Use the pre-computed closest weather stations to each ZIP Code to query NOAA for frost dates
  • See recommended planting dates & practices based around these frost dates

Forest Inventory API Demo

County-level chloropleths to display data from the USDA Forest Service FIADB.

  • Identify geographic information through prominence of tree species
  • Data obtained using a Python API wrapper for the EVALIDator HTTP API
  • Visualization provided by Leaflet, a Javascript library for interactive maps

Microcontroller-based PID Relocker

Automatically re-engage interrupted PID controller feedback systems.

  • Controlled by Sparkfun's FreeSoC2 development board
  • Monitor calibration and lock status via serial communication and a Python GUI
  • Re-engage interrupted locks on a millisecond timescale
  • Custom printed circuit board with Gerber files for robust reconstruction

PhD Thesis

The culmination of my years of atomic physics research at JILA.

  • Strong light-matter interactions in a high-finesse cavity
  • Large amounts of quantum entanglement created with quantum non-demolition measurements
  • Operating the first entanglement-enhanced matterwave interferometer
  • Bonus: a laser-cooling protocol based on Landau-Zener adiabatic passage and Raman transitions