Welcome

Ryan Pek (b. 2001) | Final Year Undergraduate SUTD | Canned food enjoyer

About Me

Hi there! I'm Ryan, a student who loves to tinker with code and explore new ideas. When I'm not diving into my latest project (or the dustbin for electronics - I'm serious, these University skip tanks embody the one man's trash is another's treasure), you can find me learning something new or figuring out creative/silly ways to solve problems. This site is a little peek into my world of coding and fun projects!

More →

Homelab

I run self-hosted services in my homelab as a long term side project. At this point it is less of "one old PC running Docker" and more of a small internal infrastructure stack: Proxmox, Terraform, Ansible, internal DNS, reverse proxying, monitoring, media services, GPU passthrough, and enough YAML to make me question my life choices.

The current main compute node is a Supermicro H12SSL-I system with an EPYC 7542, ECC memory, local NVMe, a 10G uplink, IPMI, an RTX 3090 for AI experiments, and a Quadro P2200 dedicated to Jellyfin transcoding. The older Z640 is now more of a proof-of-concept / spare Proxmox box rather than the centre of the lab.

The network is split into VLANs for services, VMs, NAS, management, DNS/infra, torrents, and IoT. Core DNS is no longer a random docker container I pray stays alive: I now run separate resolver VMs using AdGuard Home + Unbound, separate BIND9 authoritative DNS VMs for the internal peky zone, and a Caddy reverse proxy VM with an internal CA for HTTPS inside the lab.

Most new infrastructure is defined from Terraform and then configured with Ansible. Jenkins, Gitea, a Terraform controller VM, Prometheus/Grafana, and a K3s/Rancher/AWX experiment are all part of the current automation direction. Some parts are working cleanly, some parts are in the "I understand why this broke, but I am still mildly offended" stage.

This is still my playground for learning networking, Linux, service operation, backups, and systems design. It has broken my internet, eaten a ZFS partition once, taught me DNS the hard way, and generally paid back the pain by making abstract infra concepts feel very real.

Full List of Homelab stuff: current architecture, devices, network layout, automation state, and what I still need to clean up.

What I'm Currently Working On

Some snippets of my ongoing projects.

Completed/Archived Projects

A few things I’ve finished and I thought were cool.

Full List of projects →

About this site

This site is intentionally simple — no frameworks, no dark patterns, no extra JavaScript. Just good old HTML, some light CSS and Vim's auto indent to keep me sane.

No fancy graphics, no latest trends, just what I hope is easy to access and read.

The structure is inspired by Bjarne Stroustrup’s website. I also borrowed some ideas from McMaster-Carr.

More about the Site →

Setup

I built my own custom PC to handle everything from programming and simulations to hardware tinkering. It’s powered by a 5950X, 32GB, and a 7900 XTX.

I mostly work in Debian 13 on my workstation and T480, most of my homelab vms are running some Debian 12/13 cloud image and the occasional Ubuntu Server. Some windows for my school work (so I can take the exam), to access acrobat to sign off documents.

Check out the full details of my setup here →

Other stuff

Comfort Languages:

C, Python 3, Go

Functional enough knowledge Languages:

C++, Java

I can do it with loads of googling/docs Languages:

Javascript, Typescript

Software stuff:

Git, Vim, tmux

Infra stuff:

Ansible, Terraform

Hardware stuff:

ESP32, Arduino, Raspberry Pi, 3D Printing