[caption id="" align=“alignright” width=“240” caption=“How a Facebook hackathon looks like”]The crew at last night’s facebook developers hackathon at Iridesco’s offices[/caption]

I have always been so jealous of cool tech companies and startups (e.g. Facebook) that organize events in which many coders sit together and code their project ideas for all-day long or so– usually called hackathon.

Hack at Microsoft

First you might think that Microsoft is a juggernaut company but usually that is not the case. Microsoft is a company full of hacker-spirited coders (maybe not as much as Facebook or Google) and there are many Microsoft employees do side projects in their spare times and sometimes they open-source these. In fact, Microsoft even has an internal group called The Garage organization that has “thousands” of members and organizes many social coding events that project ideas can find contributors and new projects are incubated there. It is not always coders but marketing and program manager guys are also interested in contributing these projects with their skills in their fields.

This year I’m organizing an intern hackathon day which is going to be held at Microsoft campus starting 10pm today and will end tomorrow (Saturday) 10pm (24 hours!) with the help of The Garage.

(event is only for Microsoft employees.) As many Microsoft interns have finished their internship and only a few hundred of us are still in Redmond, probably the event will not be so crowded but I’m very sure that it will be a huge fun! (For those who don’t know, this summer I’m doing my internship at Windows Azure.)

My project idea: azurefs

I’ve always been interested in Linux/UNIX technologies and I’m pretty sure that Microsoft’s cloud product, Windows Azure, cares about interoperability with other systems.

Therefore I came up with the idea that we can mount Azure Blob Storage as a file system in Linux using by writing a FUSE (file system in user space) wrapper. By this way, your Azure Blob Storage account will just look like a folder in your computer and you’ll be able to copy your files there and read your files on the cloud like as they are on your computer.

Quick fact: You get 50 GB of storage from Dropbox by paying $100 annually. If you mount azurefs to your computer and store files there (on the cloud!) it will cost about $80-90 annually for 50 GB. We are currently 4 people (actually, young ninjas) will be dedicated to this project tomorrow night (believe me this number is awesome). This project is really difficult to finish in 24 hours but we’ll try to come up with an implementation that demonstrates it is do-able. Therefore we might not implement everything because probably we need to use C (I’m not very good at this), libcurl (not so difficult),  Azure Storage REST API (not really easy to understand), FUSE (almost has no documentation at all) and code our own C implementation of HMAC-SHA1 (thank God somebody in the team has already done before), Azure Blob storage client. It is really huge work to come up with a complete, robust and efficient solution in such short time.

Even if we fail, we will be learning a lot about how all those protocols, computer networking and many technologies work. Maybe we’ll read a few RFCs, eat pizzas, meet new coders, establish networks and most important at all, we’ll release the source code  on GitHub! (seriously, you can watch this repository live on Saturday) I think project is going to be licensed under MIT or Apache license, we’ll announce after we discuss. Everybody is welcomed to contribute the project after hackathon.

Thanks to everyone made this event possible (the guy helped us to organize this Quinn, in this picture, thanks a lot!) and people interested in developing my idea. It’s really joyful to see I actually can come up with an idea that people also interested in. The only aim is to “learn something” and “meet new people”. Let the hack begin!