1. About

    My name is Alex Crichton, and I'm a student at Carnegie Mellon University earning a Bachelor's degree in both Computer Science and Electrical and Computer Engineering.

    I'm currently a TA for 15-410, Operating Systems, and plan on becoming a TA for 15-411, Compilers. I've worked for Facebook and Google, and will work with Mozilla this summer on the JS team.

    I work on many side projects outside my classes, and some of them are described on this site. More information about me can be found via my email or resume:

  2. Joule

    Joule is an LLVM-based JIT for Lua. Developed with a friend of mine, this was an independent-study project for CMU.

    Developed from the ground-up, joule performs optimizations based on runtime-information, as well as using LLVM's built-in optimizations. Joule outperforms the default lua interpreter on most benchmarks.

  3. JBA

    JBA is a javascript gameboy written from scratch. It was implemented as a side project that I was interested in, and turned out quite well.

    The current emulator supports original Gameboy games and Gameboy color games. I plan on looking into getting sound to work with the new APIs available at some point.

    This project enabled me to work with fun new HTML5 technologies like the canvas, local storage, and opening local files. The nitty-gritty can be found with the source code.

  4. The Tartan Online

    The Tartan is CMU's student newspaper, and I am currently their Systems Manager. This means that I run and maintain the website, as well as adding improvements as necessary.

    The side is implemented in Rails and runs on our own Xen-powered virtualization. Our other VM images serve as a file server, mail servers, and various other web servers.

  5. Other Projects

    • Hermes — an application to natively play Pandora on OSX.
    • Twocan — collaborative crosswords that can be played with a friend.
    • Oddit — an auditing application for organizing requirements for a major at CMU.
    • Cohort Radio — an application which serves as a radio for a group of friends to collaboratively add songs to a playlist. Also allows downloads of arbitrary songs through the DC protocol via fargo.