SJSU CS Systems Group
this is a brief description of the projects going on in the systems group in the computer science department at SJSU. please contact ben reed if you would like to get involved. some students work on projects for a master's project or capstone project, while others get involved just for fun.
i highly recommend watching this video from julia evans (that i found on mastodon :) ) https://www.youtube.com/watch?v=30YWsGDr8mA . she presents a lot of ideas that align with my approach for working on hard problems.
future projects (love to find people interested in)
actively looking for people
wildfire storage management
https://github.com/SJSU-CS-systems-group/wildstore
we developed a tool to crawl our scientific datafiles NetCDF and share them with external researchers. looking for people interested in SpringBoot, storage, and security.
disconnected data distribution
https://github.com/SJSU-CS-systems-group/DDD
we live in a connected world, and we have come to count on connectivity to do even the most basic things in life. unfortunately, much of the world lacks connectivity. even in locations with good connectivity, natural disasters can knock out critical infrastructure. this project explores how to use intermittently connected transports to provide needed data connectivity. this project helps students gain experience in network protocols and file formats.
java based mastodon server
https://github.com/SJSU-CS-systems-group/moth
we are implementing a java based (spring boot) mastodon server that is compatible with mastodon clients. the mastodon server is written in ruby, which students aren't familiar with. by implementing the server in java, we can do future research project with mastodon in a familiar environment.
paused
canvas integration tools
https://github.com/SJSU-CS-systems-group/canvas_tool
https://github.com/SJSU-CS-systems-group/CodEval
tools for helping to manage courses in Canvas. CodEval gives students immediate feedback on their submissions. text2qti is an excellent tool for generating Canvas exams. we need to extend it to generate paper exams from the same spec.
wrapping up
write-ahead transaction log performance
write-ahead logs are key to the reliability of data management systems. they are designed to use dedicated storage systems. unfortunately, they don't always get deployed that way. this project explores how we can improve the performance of write-ahead logs on shared devices. this project helps students gain experience in storage system and the linux kernel.
ZooKeeper historical performance
this project tracks the performance of ZooKeeper over time. we use a local cluster made up of raspberry pis and intel servers to run benchmarks. this project helps students gain experience in distributed systems and performance analysis.
finished
realtime linux on pi's to drive 3D printers
hard realtime used to be something that people wanted from linux, but over the years
hardware has become so fast and operating systems so efficient that responsiveness
is good enough. however, we still have devices, such as 3D printers, that need hard
realtime to drive hardware, such as 3D printer motors. today, rather than trying to
make something like linux drive the motors directly, microcontrollers are used with
dedicated firmware to drive the motors. i'd love to work with some students to experiment
with realtime extensions to drive 3D printing directly from a raspberry pi running
linux.
cat tracks
in california, the biggest killer of mountain lions is cars. we would like to collect
more data on where lions, and animals in general, are being killed. we are developing
an app and data collection backend to collect information on animal activity near
roads to allow researchers to better understand where wildlife is coming into contact
with roads and what kind of wildlife is being affected. this project helps students
gain experience in mobile app development, network protocols, and cloud development.
(we are in great need of students interested in android and iOS development!)