(Update – Cloudsafe is no longer running and I’ve sold the App Engine sub-domain to the fine folks at CloudSafe.com)
I just put the finishing touches on my first substantial Google App Engine project called Cloudsafe. Cloudsafe is a safe and easy way to backup the data you’ve accumulated with all the web applications you use. By giving it your account details for various web applications like Delicious, Google Reader, and LibraryThing, Cloudsafe will create a single downloadable archive of all the data you have on those sites, whether it’s your bookmarks, blog feeds or your book collection.
I started working on it a week ago as a weekend project but it evolved into a week-long battle to get App Engine to conform to my needs. Google has built an impressive service with App Engine but it takes some getting used to because it lacks the standard cron interface and they’ve also removed some of the default python libraries and there are lots of rules about space and time quotas you have to adhere to. But even with those hurdles I found it to be a perfect fit for Cloudsafe because in the end I get a very responsive application with free SSL and built-in pycrypto support which are integral features in a security concious application like Cloudsafe.
Lest I be continually berated by my peers and security afficionados, I must admit that Cloudsafe is far from optimal as a secure backup solution. Even though I’ve built the site with SSL, AES encryption, XSS, SQL injection, cookie hijacking, and other security concerns in mind, the fact remains that it is a web application being developed by someone you likely don’t know or trust (me) and it is running on someone elses computers (Google’s).
I’ve tried to add features to make the site more palatable for wary users such as the default behavior which runs one backup and then instantly forgets user account details but if you’re like me (ironically) you will never trusty a 3rd party site with your passwords. Though I do trust it because I wrote it and because I’m not using it to backup anything I consider confidential. My online data (bookmarks, book collection, etc) is already public (you can find some of it showing up in my lifestream on the right side of this page) but the sites storing the data require account verification to access the backup functionality.
If people find Cloudsafe useful, I’d love to add backup support for additional sites that people use and build a desktop version that the more security concious users could use. So give Cloudsafe a try and drop me some feedback here or on the Cloudsafe Uservoice page on how I could improve it.
(Update – Pubfeed was running on a machine at the University of Toronto and sadly came to an end when I graduated)
My final project in Greg Wilson’s Topics in Software Engineering class this semester is a web application called Pubfeed. Pubfeed is a tool that allows researchers in academia and industry to keep track of research in any areas that they are interested in. All you have to do is tell it what research publications you like and it will generate a news feed of related research that is constantly updated. All the feeds created on Pubfeed are public so you can view and subscribe to other peoples feeds. You can monitor all your subscriptions via RSS or you can just check the website every now and then.
The idea behind Pubfeed was Greg’s originally, I just took it and ran with it. It is essentially a meta-search tool that just re-queries search engines periodically to check for new results based on user’s favorite publications. The current implementation uses the DBLP and Google Scholar databases but I hope to add other data sources in the future. In a sense, Pubfeed is actually quite dumb because all the heavy lifting in finding relevant publications is done by DBLP and Google Scholar and Pubfeed just aggregates their results with some basic filters.
There are already a number of interesting feeds on Pubfeed ranging from topics in computer science, medicine, music and economics. Check out my subscriptions on Pubfeed and go create your own feeds!
The last of my summer projects just recently went live. It’s built on the idea that one man’s trash is another man’s treasure. trash nothing! as I’ve called it is a site that allows you to find free stuff that other people in your community are giving away for free and makes it easy for you to give away the things you don’t need anymore.
It’s built on top of the already thriving Freecycling, ReUseIt, and FreeSharing groups that have thousands of members. But trash nothing! provides more than just access to your existing recycling groups, it makes interacting with the groups quicker and easier. You can view all your groups in one place with automatic message categorization that allows you to see at a glance which items are still available and which ones aren’t. There is even a simple message composer with free picture galleries for the items you give away.
I’m aiming for a broader market as compared to Comic Gopher and Click 4 Obama. If you like free stuff or recycling then trash nothing! is right for you. Currently it only supports a few Atlanta and Toronto area recycling groups but more should be added soon.
I’ve officially left the country. I flew into Toronto today with two huge pieces of luggage stuffed with pretty much everything I’ll need to get through the Master’s program at the University of Toronto. The city is surprisingly warm given that the last time I came here it was covered in 3 feet of snow but at least it isn’t as hot as Atlanta.
I’m looking forward to jumping into the Master’s program and finding an interesting research project to work on. I’m joining the HCI group (part of the DGP) at Toronto under Khai Truong, a fellow Georgia Tech alumn who was actually at Tech at the same time as I was. It’s going to be interesting trying to balance my side projects with my graduate studies – maybe I’ll even find a way to combine the two. Ah well, time to go explore my new city!
I just got the news that the research paper I wrote from my senior research project was accepted at the Fourth Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE-08)! I guess this means I’m a real scientist now. Too bad I’ll be busy starting grad school in Toronto when the conference takes place at Stanford.
The work was a continuation of my involvement in the Cognitive Computing Lab (CCL) at Georgia Tech. Building on my previous experience with the and the CCL’s case based reasoning system, Darmok, and the Stratagus game engine, I developed an offline plan adaptation algorithm under the direction of Santi Ontañón and Ashwin Ram. If you’re interested you can read the full paper – Stochastic Plan Optimization in Real-Time Strategy Games.
Actually, I hear he is pretty bad at bowling but not too bad at basketball and poker. These are just a few of the thousands of interesting facts I have stumbled across while working on my latest endeavor. I don’t usually follow politics very closely until after the conventions are over and there are less candidates to study but this election has caught my interest more than most. It is a heated race between the first viable woman candidate, the first viable non-caucasian candidate, and one of the oldest candidates. So I’ve decided to throw my talents into the race behind the candidate I’m leaning towards (you get one guess who that is).
So I’ve gone and built a free online political education game for Obama, completely un-official and un-endorsed (so far). The name of the game is Click 4 Obama. The tagline is “You play, Obama wins!” and the premise behind it is pretty simple. As people answer quiz questions about US history, politics, and government, the site generates ad revenue which is used to buy ads for Obama. There is a bit more detail to it that you can read about in my official introduction of Click 4 Obama and more details are on the Frequently Asked Questions page.
I could talk about Click 4 Obama all day long but you should really just go check it out and give it a spin. I think I’ve actually managed to make politics fun and educational; my high school teachers would be so proud.