Saturday, October 15, 2011

Long Overdue Update

This has been a long overdue update.  Since my last post, quite a lot has been going on.  I have an apartment in New Jersey with a full time job at Verizon Wireless.  My free time may be limited, but I haven't abandoned my opensource personal projects.

Web2Py Symposium Registration System
My major project that I started at the beginning of the summer is my Symposium Registration System.  This project is still going on, my development speed has decreased but is continuing.  Currently I have been working on two major improvements.

The first enhancement I have been working on adding an accessible api.  The api will be able to return xml and json data.  The goal of the api is to be able to give as much control over the data available as possible.  My long term of this api will be to make it generic enough that it could be dropped into any web2py application.  The api has seems to work pretty well, the only issues I am currently facing is how to expand list of references.  I could simply loop over the data but I would like to keep the data processing by the database layer.

While working on the api, I started an overhaul of the entire scheduling system.  This overhaul includes breaking up the schedule into blocks of time, rooms, and sessions that are attached to a room and time block.  This overhaul also adds support for people to be added to a session as a judge.  The agenda screen has been updated to handle this new scheduling scheme as well as the symposium administration pages.  This update is still being worked on, specifically scheduling papers.

I started the GrooveBot a while back in the FossBox.  GrooveBot was a simple IRC bot that was using the Grooveshark api to allowed us to have a jukebox controlled by anyone through IRC.  Well recently I have started a rewrite on github.  While this shares the same name, it is being completely rewritten.  The new GrooveBot is being designed as more of a framework.  At the moment it is broken up into three parts: a master hub, media sources, and media controllers.

The design of this system allows there to be mutile front-ends and back-ends with the hope to be able to interface with many music services and api's. I plan on implementing a few basic sources like  filesystem, URL Stream, and maybe even an FTP and http upload source to name a few.  I would also like to find a free or fairly cheep music streaming source as well.  A few controllers may also include an  IRC bot, http web service, and even a terminal curses client would be fun.

This new GrooveBot is a very in-progress project that I hope to be spending some serious time on in the near future.