Patrick Rose

I write software: full stack web apps, backend services, robotics, and ML.

Some of my software writes itself.

Projects

ProjectDescription
WIP! AutoML-NEvolutionary search for local online learning rules in sparse graphs with primitives. No gradients. No backprop. Embrace the Bitter Lesson.
Spectacles to UnitreeTeleoperate a Unitree G1 humanoid robot from Snapchat Spectacles AR glasses. Copy hand movements with inverse kinematics, locomotion via virtual joystick and raycast. Simulated visualization HUD.
Passed the Future by Breakjoint GamesA retro-themed racing game. I contributed to AI development with Godot-RL PPO and GOFAI.

Technologies I’ve Worked With

I’m tech-agnostic – any language or framework works for me, as long as it’s the right tool for the job.

That being said, I’ve bolded the ones I particularly enjoy.

Résumé

📄 PDF

Work History


  1. Fantastic. ↩︎

  2. if err != nil isn’t that bad, just press Tab to let your LLM of choice autocomplete it. ↩︎

  3. Best kept locked up in a container for ML workloads or data analysis. I use uv for package management, and conda mostly when I don’t want to build my own C++. Jupyter is fun for scratchpad work. ↩︎

  4. Solid, batteries included. LINQ is underrated. ↩︎

  5. Makes web development tolerable. The type system is excellent, even if it inherits JS’ “pecularities”. ↩︎

  6. I generally eschew ORMs in my own projects, although I understand the utility for dev velocity in line-of-business applications; I prefer plain SQL and query building. I use sqlx in Rust. ↩︎

  7. Solid for web apps. I reach for this if I want any interactivity. Vite is my current build tool. ↩︎

  8. Open source game engine, used with Passed the Future. Godot-RL used when training PPO agents (although I failed to converge to a decent policy and ended up writing a PID and heuristic-based controller). ↩︎

  9. I do all of my development in devcontainers and deploy basically everything in containers. Eventually I’ll check out Nix… ↩︎

  10. Wordy but absolutely better than hand-configuring infra. Used to deploy ~all of my infrastructure, including this site. ↩︎

  11. ACID of choice. ↩︎

  12. Temporal tables are a secret weapon for business data auditing and I wish more databases supported them natively. ↩︎

  13. Labyrinthine, but I run everything there. Best managed entirely through Terraform. I typically work with ECS, EKS, Lambda, S3, Route53, CloudFront, RDS, etc. ↩︎

  14. Used to run PPO training workloads in containers. ↩︎

  15. In practice I almost always use Ubuntu, or Debian derivatives. I’ve worked with ext4 and ZFS via TrueNAS. I daily drove Arch + KDE for a few years – I miss AUR and Dolphin, but don’t miss nonfree NVIDIA + Wayland conflicts. ↩︎