An operating system bootloader and kernel for Intel and Arm architectures, written in Rust.
Malaria cell classification
Experimenting with machine learning models to classify pre-segmented red blood cell images as uninfected or infected with P. falciparum. Demonstrates both convolutional neural network and random forest approaches.
A toy Prolog interpreter/compiler written in Haskell. Interprets a subset of Prolog and compiles to Warren Abstract Machine code.
2D Wave Equation
An interactive animation integrating the 2D wave equation, with calculations and drawing done in WebGL.
An exploration of the CIE XYZ, Lab, and Luv color spaces with WebGL. Also illustrates the math to convert between these spaces and sRGB.
Interactive diagram of the relationship between the spacetime coordinates of two observers moving at different velocities, illustrating the effects of special relativity.
A web-based teaching interface for Hadoop with extensive documentation and easy AWS setup. Interfaces for Python, Java, C++, Scheme, and more. Developed for the CS in Parallel project.
- Designed significant aspects of next-generation policy management system, adaptable to numerous jurisdictions and insurance offerings
- Created scalable, cloud-native billing system with robust testing infrastructure
- Assisted several teams with configuring and troubleshooting serverless architecture
- Added substantial features to web-based work order scheduling system used across wind fleet
- Worked with data scientists and stakeholders to optimize work assignments and crew sizes
- Maintained AWS-based JVM microservices and Angular/Vue web UIs for desktop & mobile
- Developed efficient storage & querying system for lightning strikes across U.S. & Canada
- Redesigned and expanded web portal for Garmin’s aviation customers
- Championed usability-focused enhancements to subscription and data management products
- Architected and guided development of flexible services used by web, desktop, mobile, and embedded clients
- Wrote cross-platform C++ libraries and managed development of companion desktop applications
- Coordinated with internal and external teams to meet needs for diverse projects
- Introduced Scrum and drove adoption of Scala, TypeScript, Electron, and other tools to enhance productivity and improve code quality
CS in Parallel
- Designed tools, examples, and documentation for hands-on introductions to parallelism
- Developed WebMapReduce, a teaching interface for Hadoop
- Created example simulations to illustrate design patterns for concurrent programming
R&D Systems, Inc.
- Applied a naïve Bayes classifier to double F1 score in an experimental data mining application for scientific abstracts
- Presented methods & results to non-engineer audience at company-wide symposium
- Modernized parts of an experiment & asset management application and ported to Ruby on Rails
- Adapted interface for web environment, meeting with end-users to clarify requirements and gather feedback on usability
St. Olaf Beowulf Project
- Maintained & improved 3 clusters used regularly in classroom & interdisciplinary research
- Worked on team to manage day-to-day operations and implement long-term changes in program
- Expanded documentation for users and future administrators
St. Olaf College
- Studied computer science along with a strong emphasis on biology and other natural sciences
- Taught class sessions on parallel algorithms analysis, POSIX threading, and networking
WebMapReduce: an accessible and adaptable tool for teaching map-reduce computing
WebMapReduce (WMR) is a strategically simplified user interface for the Hadoop implementation of the map-reduce model for distributed computing on clusters, designed so that novice programmers in an introductory CS courses can perform authentic data-intensive scalable computations using the programming language they are learning in their course. The open-source WMR software currently supports Java, C++, Python, and Scheme computations, and can readily be extended to support additional programming languages, and configured to adapt to the practices at a particular institution for teaching introductory programming. Potential applications in courses at all undergraduate levels are indicated, and implementation of the WMR software is described.
Proceedings of the 42nd ACM technical symposium on Computer science education, New York, NY, USA, 2011, pp. 183–188. http://doi.org/10.1145/1953163.1953221.