About
I’m Jacob McDonnell. I have been interested in computers since I was young. My father has been in the technology field since before I was born, so I guess that interest came from him. Currently, I am a 7th semester student at Penn State studying computer science.
My interests, with respect to computers, are programming, UNIX/Plan9, and electronics/hardware. Thanks to AP Computer Science A, I have a good understanding of Java. In college, I picked up Python, C, and most recently C++. I would like to write my own unix-like operating system one day.
I do not know what I will do with this website just yet, maybe I will write articles about projects that I am working on.
Projects
This Website
is written in Go using the standard net/http package. It is hosted on VPS running Red Hat Linux using NGINX as a proxy.
Quick and Dirty MIPS Assembler
is a MIPS assembler written in Go. QDMA supports the Executable and Linkable Format for binary executables. It is a two pass assembler where the first pass tracks the labels for functions and data and the second pass assembles the instructions.
Quick and Dirty MIPS Emulator
is a MIPS emulator written in C. It supports 32-bit ELF binaries and emulates a simple MIPS processor.
Class Projects
Dynamic Memory Allocator:
This is my implementation of the malloc, free, and realloc functions in C. This project leverages a segregated free list for fast allocation and boundary tag coalescing for better memory utilization. This is one of the course projects for Penn State’s CMPSC 473 Operating Systems Design & Construction.
MIPS Implementation:
This is an implementation of a pipelined 32-bit MIPS processor in Verilog. This project was the course project for Penn State’s CMPEN 331 Computer Organization and Design.
JBOD Server:
This is a C server that provides an interface for a user to connect to a remove JBOD (Just a Bunch of Disks) server. It implements a fully associative cache for faster reads and writes. This was the course project for Penn State’s CMPSC 311 Introduction to Systems Programming.
Penn State Advanced Vehicle Team (AVT)
Penn State AVT is a club competing in the AutoDrive Challenge II, working to build a self driving car. I join the club in the Fall of 2024, working in the Guidance Navigation and Controls team. Currently I am working on some software to help score the car after each test run.