About Me
I am a computer science status at the University of New Hampshire
in Durham. I enjoy programming and have been studying software development for some time. I also enjoy creating and playing music. I play most woodwinds
and some percussion. I was a member of the University of Hartford's GHYWE group for three years, where I
played Alto Saxophone and Bb Clarinet.
Software Skills
I have experience with many programming languages, including C, C++, Java, Python, Go, Rust, and
JavaScript. I've worked with some frameworks such as React and Django, and can create full-stack web
apps from scratch, using only the language-provided libraries for most non-niche tasks. I have
experience with SQL and structured databases, including using MySQL, SQLite, PostgreSQL, and MongoDB. I
have used tools like Docker, Bamboo, Bitbucket, GitHub, and GitLab for CI/CD and version control. I have
a lot of experience with both Linux and Windows as desktop OSes and server OSes.
Hardware & Networking Skills
I got into hardware in high school by repairing old laptops and desktop computers. After that, I picked
up a Raspberry PI to run linux on and that's how I got into home labbing. More information on what's in
my lab, check out the projects section. I have experience in networking, through
my homelab and through my work. I have experience with MikroTik, Cisco, Ubiquiti UniFi, and Mellanox
networking equipment. I really enjoy the security aspect of both software and hardware, and I think that
running my own lab is a good way of learning practically.
Projects
Homelab
I am an enthusiast of homelabbing. I have a server rack in my room with a few servers and some
networking equipment. This lab also provides internet to my desktop and other devices I have via
ethernet. Currently, I am running bare-metal Ubuntu 24.04 LTS on my servers. I am mainly running a
private Minecraft server and working on training CERSE, a project listed below. I have plans to
start a cluster using Proxmox on my servers, and implement proper infrastructure soon.
I am considering using LDAP and IPA for user management, as well as writing an Ansible playbook to
automate the setup of new virtual machines and servers. I will also run my own DNS server and a VPN
server for remote access into the lab. I still plan on running a minecraft server for friends and
maybe some other game servers, since it's a good way to bring people together for some fun.
Hardware
Device |
Processors |
Memory |
Storage |
Networking |
IBM System x3550 M3 |
2x Intel Xeon X5450 = 8 (12) |
32GB DDR2 |
2x 76GB 10k SAS |
8x 1GbE RJ45 |
DELL PowerEdge R420 |
2x Intel Xeon E5-2430 = 12 (24) |
192GB DDR3 |
2x 1TB 7.2k SATA |
2x 1GbE RJ45 |
DELL PowerEdge R730xd |
2x Intel Xeon E5-2680 v3 = 24 (48) |
128GB DDR4 |
5x 1TB SAS SSD |
4x 1GbE RJ45, 2x 10Gb SFP+ |
DELL PowerEdge R740xd |
2x Intel Xeon Gold 6154 = 36 (72) |
512GB DDR4 |
12x 4TB 7.2K SAS |
2x 1GbE RJ45, 2x 10Gb SFP+ |
Raspberry Pi 4B |
1x ARM Cortex-A72 = 4 |
8GB LPDDR4 |
64GB microSD |
1x 1GbE RJ45 |
Raspberry Pi 5 |
1x ARM Cortex-A76 = 4 |
8GB LPDDR4 |
64GB microSD |
1x 1GbE RJ45 |
MikroTik CRS326 |
N/A |
N/A |
N/A |
24x 10Gb SFP+, 2x 40Gb QSFP+ |
MikroTik CRS354 |
N/A |
N/A |
N/A |
48x 1GbE RJ45, 4x 10Gb SFP+, 2x 40Gb QSFP+ |
CERSE
CERSE, Central Engine for Resource and System Efficiency, is a modern datacenter management tool. It
is designed to manage anything from a simple homelab to a large scale cluster of datacenters. Built
in Go, CERSE is lightweight and efficient. The core of CERSE is a simple app that collects
information from systems via IPMI, SSH, and BMC tools and stores it in a compressed format in a
database. This data is then interpreted both by algorithms and a custom written machine learning
model to provide insights into the efficiency of the datacenter, and to catch potential issues
before they become problems. Results can be accessed via a CLI interface and a web panel which is
neately designed to fit on all types of devices. The web panel also comes with a fancy panel
slideshow design for quick-glance metrics to put on a large screen. Additionaly CERSE can be
accessed through voice control, and can interpret basic sentences into questions and in some cases,
instructions. CERSE can also perform basic tasks on machines in your lab through its connected
tools. You can organize your resources into groups, which can have recursive subgroups. CERSE is the
perfect tool to connect your infrastructure.
Velox
I've always been interested in how compilers work, so I decided to create my own programming
language. Velox is a C-like programming language in its early stages of development. It's designed
to be a low-level language that can run in embedded systems, and be used for HPC. Velox will have
the capability to run programs on an Intel Xeon Phi Coprocessor, and on a simple microcontroller.
It will also have fun features that may seem out of place in a low-level language, such as pre-built
functions for matrix math and other scientific computing tasks, which will be optimized for both
running on CPU, GPU, and other accelerators. Velox will have a synchronous networking library, and
will be able to communicate with multiple instances of a program running on different machines. I
think that Velox will be a great language for scientific computing, and for general low-level
programming.
This project is less high priority, and will continue to take shape as I go through college.
Cog
Performance is a big deal in software development. Cog is a virtual environment built in Go that
simulates a basic 32-bit machine, including the CPU, RAM, storage, and networking (between other
machines only). Programs can be written in a custom assembly language as well as a subset of C which
gets compiled to this custom assembly language. There will be many ways to optimize code you write,
and you can see the effects of your optimizations in real time. Cog will also have a built-in
performance metrics, and you can measure your performance down to the clock-cycles. There will be
many "problems" which have a set solution that you can try your hand in to make the fastest solution.
There will also be accounts and leaderboards for these problems. Cog will also simulate basic threads
and processes, which allows for benchmarking in different contexts.
This project is less high priority, and will continue to take shape as I go through college.
Graphical/Demo Projects
Physics Simulation
Demo coming soon.
WebGL Water Simulation
Demo coming soon.