Technical Work

Recent Coursework

Maths

  • Probability measures and martingales
  • Continuous martingales and stochastic calculus
  • Information theory
  • Financial derivatives (self-study)

Comp Sci

  • Artificial intelligence
  • Physics-informed neural networks
  • Deep learning in healthcare
  • Concurrency
  • Lambda calculus

Hard C Demo Image

Hard C

Hard C is my personal crossword engine designed to create New York Times-style themeless puzzle grids. Free crossword software is available online, but they can take crazy amounts of RAM and battery, and grid-filling operations can take hours to complete if my grid is very wide open. I created Hard C to counter those weaknesses in speed and power.

Filling a crossword is an NP-complete problem, so my saves in efficiency came from exploiting domain-specific patterns. I developed a heuristic called "proximity" which outperforms other standard choices for CSPs when applied to themeless grids. Hard C gives me greater control of the number of concurrent threads and how much they interact, so I can control how lightweight my engine is if I plan to just let it run in the background. Hard C is built off of an open-source Rust project called Ingrid, by Ryan Fitzgerald.


Project Two Placeholder Image

Foornal

Short for "food journal", this mobile app lets users track their nutrition just by taking pictures of their meals.