Drexel University's College of Computing and Informatics
April 2021 - June 2022
Plan 9, Raspberry Pi4, Rasbian
In 2012, Richard Miller wrote a port of Plan9 for the Raspberry Pi. The Pi has become an increasingly popular platform for Plan9. I spent the spring and summer doing miscellaneous minor projects to get comfortable with the operating system. This work transitioned into my undergraduate senior thesis in the fall. My thesis defense is scheduled for late May 2022.
Most recently, I've implemented interactive scaling wallpaper for rio
, the
windowing system for Plan9. I used the wallpaper support provided by
Devine Lu Linvega as a starting point,
then added scaling based on the window size and interaction with the wctl
files to change the wallpaper while running. The source code is posted on
GitHub.
I've now transitioned this work to my undergraduate thesis. The Pi port of Plan9 does not support the use of the Raspberry Pi 7" Touch Display. The primary goal of my work is to get the screen working as a monitor. Once this is implemented, I'll be looking into the unique way the mouse and all three buttons are used in Plan9 in order to find the best way to implement the touch screen. While adding this functionality, I'll also be exploring the techniques used to write the operating system and implementing these values when writing my additions.
On December 10th, I successfully proposed my thesis to my committee. I wrote a more comprehensive blog post about the proposal experience. They didn't require me to write up a formal proposal document. I did present a [slide deck] of my initial research and literature review for about an hour. I did the slides based on the Plan 9 editor, acme, in Google Docs. I really like how they came out, so I'm working on making a proper beamer template for them. I'm almost finished and I'll post it when I'm done.
Drexel University's College of Computing and Informatics
June 2019 - September 2019
Python
NASA HUNCH Program, Holland, PA
September 2016 - June 2017
Arduino Uno
In high school, I participated in the NASA HUNCH (High school students United with NASA to Create Hardware) program. When astronauts go to the International Space Station, they create two lists. One is a list of things they need. These include things like water and electricity repairs that NASA engineers need to prioritize. The other is a list of things they want. This is a list that aren't important enough to dedicate engineers to, but would make life on the ISS easier. The list of things they want is sent to the HUNCH program. Students then choose a project they want to work on, form a team, go through the research and development process, then present to NASA representatives to see if their work will be implemented.
My group's project was the Mass Indication Calculation Experiment (MICE). On earth, whether it feels like it or not, we are constantly exercising against gravity. On the ISS, we lose this constant motion and our bodies deteriorate. To examine how this affects us, there are mice on the ISS that are being massed frequently to check for osteoporosis. In a zero gravity environment, it's not possible to use a scale to weigh things. In order to mass the mice, rotational motion is utilized. This means the mice are placed in a container, which is then rotated around a point. This creates centrifugal force and allows the mouse to be massed. However, this induces a lot of stress on the mouse. The stress causes the mouse to vomit and use the restroom, which creates inaccurate measurements. Another level of inaccuracy is added just through the structure of rotation. If a directly equal counterweight is not placed on the direct opposite end of the mouse and the center post isn't strong enough, the center of rotation will be lost. This causes more inaccuracies in measurements.
Our group lead proposed using linear motion instead of rotational. If we
accelerate the mouse linearly, calculate the acceleration and the force, we can
find the mass using F = ma
. This is an over simplification of the math and
physics that went into the actual project. Our group was split into two teams.
We had the theoretical team looking to find a proof of concept and the
implementation team working on the development of the prototype. I was the head
of the implementation team. I was in charge of researching different types of
hardware to create the acceleration needed and lead prototype development on an
Arduino UNO.
By the end of the project, which lasted the duration of a school year, we had achieved proof of concept. However, we did not have to tools to create a prototype to reflect this. Our major limiting factor is the existence of gravity and friction. We achieved proof of concept through a six foot frictionless track and a weight dropped to pull the cart to create a quick acceleration. Our prototype needed to be under a 12 inches and much slower. Despite achieving proof of concept, the project was not picked up by NASA. I visited the high school in my freshmen year to talk on behalf of the program. I learned from our NASA contact that our project was picked up where we left off by an independent contracting company and is now in use on the ISS.