Wireless Home Networking Game Programming

Ethernet Networking







MIT Class Projects

[ My MIT Home | MEng Thesis | Projects | MIT Admissions | Pictures | Quotes | Schedule | Simmons Hall | Timpani ]

MSMMOS - A Graphical Operating System
6.828 Fall 2005

Named the Martijn Stevenson and Michael Matczynski Operating System, MSMMOS is an x86 operating system developed in 6.828, the MIT Operating Systems class. Most of the work was done during the labs of that class, which encompassed memory management, environment creation, a file system, and a text shell. MSMMOS is an extension of the 6.828 JOS microkernel operating system.

For the final project (objective: impress the staff), we developed a full window system and several user mode applications. We implemented a mouse driver, VGA driver, and window manager. We also defined a windowing interface consisting of keyboard events, mouse events and refresh requests that user applications use to interact with the window manager. Applications include a paint program, eyes, a bouncing ball, and a full text shell interface (using a font). The final product looks and feels like Microsoft Windows 3.1.

MSMMOS image file available upon request

MORRIS - A Distributed File System for Read-Intensive Applications
6.824 Spring 2005

MORRIS is a distributed file system that was built on top of the 6.824 NFS 3 file system developed in class. This project aimed to increase performance, specifically when serving large amounts of data to read-intensive applications. Data stored on our servers was striped across a number of different block servers, allowing for a server solution that is highly scalable.

One thing I learned from this project is that the audience needs to be considered carefully when choosing a final class project. Building a distributed file system is great, but presenting it during class was difficult when competing against other sexier projects.

Read the report

Global Illumination, Caustics, and Animated Water
6.837 Fall 2004

I've always been fascinated by caustics caused by moving water. Thus, for my final project in 6.837, Computer Graphics, I decided to implement moving water and caustics using global illumination. To begin, I first wrote a program to create a sequence of scene files that would be used by the image renderer to create each frame of motion. I programmed equations for both linear and circular waves, using these forms to deform a mesh of hundreds of triangles.

Next, I needed to add global illumination to create the caustics, which are areas of bright, focused light. I used concepts from the book "Realistic Image Synthesis Using Photon Mapping" by Henrik Wann Jensen. Photon Mapping is a brilliant technique used to produce global illumination and caustics. The basic premise is that a light source in the scene emits thousands of photons in the direction of the light. These photons bounce around the scene until they hit a diffuse surface. This photon is stored and later used to calculate brightness during the final image render.

In addition to the moving water, I also created scene that changes the index of refraction of a glass sphere.

Watch changing index of refraction (5MB)

Watch animated water with circular waves (2MB)

Watch animated water with linear waves (2MB)

View the presentation

PaintDude - Painting LEGO Robot
6.115 Spring 2004

In the Spring of 2004 I created an electronically controlled painting robot as my final project in 6.115, Microcontroller Project Laboratory. I began the project by creating a painting structure out of Legos. I then mounted stepper motors, servos, and sensors. These components were interfaced to an 8051 microcontroller and connected to a computer via USB. I wrote code in assembly to control the robot's motion and wrote a program in Java to convert an arbitrary bitmap file to a format readable by PaintDude. The results speak for themselves.

Watch PaintDude in action (30MB)

Read the report




<< Back to My MIT Home

Questions? Comments? Share your thoughts on the Discussion Forums...

Web zingtech.com
Unless otherwise noted, all contents are copyright 1997 through 2007 Zingtech Computer Solutions and Michael Matczynski (). All rights reserved. If you have any questions or comments regarding this site, contact the webmaster or consult the legal disclaimer.

Check out wineries at Catch Wine.com:
Alabama Wineries - Alaska Wineries - Arizona Wineries - Arkansas Wineries - California Wineries - Colorado Wineries - Connecticut Wineries - Delaware Wineries - Florida Wineries - Georgia Wineries - Hawaii Wineries - Idaho Wineries - Illinois Wineries - Indiana Wineries - Iowa Wineries - Kansas Wineries - Kentucky Wineries - Louisiana Wineries - Maine Wineries - Maryland Wineries - Massachusetts Wineries - Michigan Wineries - Minnesota Wineries - Mississippi Wineries - Missouri Wineries - Montana Wineries - Nebraska Wineries - Nevada Wineries - New Hampshire Wineries - New Jersey Wineries - New Mexico Wineries - New York Wineries - North Carolina Wineries - North Dakota Wineries - Ohio Wineries - Oklahoma Wineries - Oregon Wineries - Pennsylvania Wineries - Rhode Island Wineries - South Carolina Wineries - South Dakota Wineries - Tennessee Wineries - Texas Wineries - Utah Wineries - Vermont Wineries - Virginia Wineries - Washington Wineries - West Virginia Wineries - Wisconsin Wineries - Wyoming Wineries