Evan Parker

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.