Ryan Welch
  • Home
  • Blog
  • Projects
  • About
Mar 06, 2025 · in engineering

Port forward with Tailscale

Learn how to expose self-hosted services to the internet using a cloud-based Tailscale VPN gateway.

Nov 01, 2021 · in engineering

Using External DNS instead of a Load Balancer for Kubernetes

Replace costly load balancers with External DNS in Kubernetes to reduce costs, support UDP traffic, and simplify node-level routing.

Sep 21, 2021 · in engineering

Deploying Unifi Controller on Kubernetes

Instead of using a Ubiquiti Cloud Key, I opted to run the UniFi controller on my existing Kubernetes cluster. This setup keeps everything self-hosted and avoids extra hardware. Here’s how I did it.

Jan 30, 2016 · in engineering

QMUL Programming Competition 2016

Three of us took on the Queen Mary University Programming Competition—and won! Competing against 19 teams, we tackled six tough problems. Here’s a look at the challenges we faced and how we solved them.

Nov 14, 2015 · in engineering

Optimising Tail Recursion and Performance

Tail recursion is a form of recursion where the final operation is a self-call, allowing optimization into a loop. This reduces stack overhead and improves performance. Learn how it works and why it matters.

  • Previous
  • 1
  • 2
  • Next

© 2012-2026 Ryan Welch