Summer of Code 2007

Summer of Code

Well, it happened… I got accepted into the Google Summer of Code with the Mono Project! This summer, I’ll be working on a FastCGI bridge for the XSP ASP.NET server. For those of you unfamiliar with the acronyms, XSP is the Mono Project’s implementation of the ASP.NET website system. If ever you see a URL with “.aspx” in it, that’s what this is. Unlike PHP, Phython, PERL, and what-have-you, an ASP.NET implementation really needs a processing daemon/server which holds on to session objects, caches compiled page objects, garbage collects, etc. As such, XSP comes in two flavors, a standalone web server which processes ASP.NET and plain documents, and a server designed to work with an Apache module, mod-mono-server.

The problem is that these two flavors limit you to two server options, Apache or XSP, and since you’re probably not going to use XSP as your full web server, you’re basically limited to Apache. There is a protocol called FastCGI which was designed to speed up CGI programs by keeping them as a running server and creating a fake CGI environment. It is also supported directly or indirectly by a large number of web servers, so using it as a communication bridge for an ASP.NET server like XSP is like a match made in heaven. My project is to make that bridge.

That, plus some configuration stuff (mod_mono is super confusing to configure), is pretty much the gist of what I’m planning. You can check out my abstract for more info.


Considering that this post is going to appear on Monologue, I should probably introduce myself. I’m Brian Nickel a Chemical Engineering Computer Systems Engineering major at Arizona State University. I’ve been using Linux for about 8 years, started working with .NET writing plugins for Muine, and now develop and maintain TagLib#, a library for reading and writing tags to audio (and soon video) files. Outside of computing, I’m currently the president of my fraternity Theta Tau at ASU (I also wrote their website entirely in C, if you can believe it); I’ve got a girlfriend of over two years, Edith; I really want to move out of Phoenix; some of my favorite places to eat are Byblos, Capistranos, Ivan’s Tacos, Long Wongs, and the Chuckbox; and I seriously can’t believe Scott Peterson made a CIL brainfuck compiler, that’s seriously giving my flashbacks to junior year of high school.

I’m seriously looking forward to this summer.


3 thoughts on “Summer of Code

  1. Hi, Brian.
    Is your FastCGI going to be a pure .NET implementation, that is, with no bindings to the C/C++ FastCGI library?
    Apart from configuring and running XSP, is your FastCGI implementation is going to be available as a library which can be tapped independently from XSP?
    It would be useful to have a general FastCGI server implementation, like the one in the FastCGI “Development Kit”, but implemented in pure .NET.

  2. The plan as is a pure .NET implementation of the protocol. Originally, I was planning on a full FastCGI library, but it’s more important for the project to have a FastCGI ASP.NET server than a complete FastCGI library, so the initial goal is just a few classes to be compiled into the main source. However, the code should be fairly modular and after all the primary targets are taken care of, I would like to create a separate library.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s