05|28 Summer of Code - Day 03
I spent the better part of yesterday formalizing the protocol to be used for sending notifications to the ietfnotify service. I also read up on UNIX domain sockets and played with some implementation in python.
I've been working this morning on getting a public subversion repository up and running to comply with Google's requirement for all development to happen in the open.
I will be offline for most of the day tomorrow as I will be traveling to Phoenix, AZ for the summer. Sorry for the short post today, I've been busy trying to get packed and ready to leave for the summer. I expect to get to doing some real coding on Tuesday.
05|26 Summer of Code - Day 02
I spent most of the morning talking to my mentor, Henrik Levkowetz about various project details. We've decided on a notification format loosely based on RFC2822. I'll be writing up a detailed specification in the next few days, then it's time to start in on implementation.
There are suggestions of Summer of Code meetups floating around the Summer-Accepted-2006 list. At this point, it looks like the closest one to me will be at the Googleplex in Mountain View, CA. Not sure if I'll be able to get there, but we'll see.
I also got my Jabber server up and running this afternoon. Feel free to IM me at xmpp:synack >at< neohippie.net. If you're still on AIM, I have a transport setup so that people that already have my screenname can contact me, but I will no longer be giving this out as a form of contact. This is my way of saying "Get a real messenger."
has also inspired me to build a seven-segment hex editor for an EEPROM. I plan to then connect the EEPROM to an older microcontroller (perhaps a 6800) and learn the instruction set. Unfortunately, I have neither the time or money to implement such a project right now, so this project has been effectively shelved.
05|25 More random code
Forgot to mention in the other post... As I was waiting for the Summer of Code acceptance to be announce, I wrote a few small scripts to generate a page that looks like a newspaper using content from RSS feeds. It has quickly become my favorite way to read the news. I've posted a tarball of the source and support files for generating such a page. You need to have feedparser installed and of python 2.4.
Edit the feeds list at the top of newspaper.py (or read my feeds) and run ./buildpaper.sh. When it has finished, you should have a shiny new news.html. Just open it in the nearest web browser and enjoy. The titles of all of the articles are linked to their sources and everything is sorted by date, starting with the most recent in the top left, articles following down the page.
05|25 Summer of Code - Day 01
Yesterday was an interesting day. Mailing lists, IRC channels, google groups, all came to life as the Summer of Code began. It's quite an amazing feat when so many technically minded people are thinking around the term "collaboration". In the flurry of activity, I somehow got subscribed to Jabber's Summer of Code mailing list. Initially, I had submitted applications for both Jabber and Internet2 but according to Google's Summer of Code page, only the Internet2 project was accepted.
As I investigated the Jabber mailing list a bit more, I came across a list of Jabber's accepted students, with my name at the top! Severely confused, I sent an email to Chris DiBona as I could not find any other contact information for Google's Summer of Code team. I hopped on my jabber.org account and started talking with the SoC mentor that had added me to the list. He's not quite sure what happened either, but we agreed that it'd be best to see just what Google says.
When I woke up this morning, my mailbox had 240+ messages from various Summer of Code mailing lists. The general content of most of the messages was "OMG! I can't believe I'm in!" I have to admit, I spent a few hours in this state after finding out that I was accepted, but I tend to avoid needlessly cluttering other peoples' mailboxes. I instead, bugged every online contact on my buddy list (which at 3am amounted to about four people).
I spent about two hours sorting through the messages and building procmail rules to keep the lists confined to their own folders. Finally, I found the needle in the haystack: an email from Chris DiBona. Unfortunately, it was just a form letter stating that I must submit my request to the Summer of Code support address. No problem, apparently this address was listed in the acceptance mail, I just skimmed over it.
So, as I'm waiting to hear back about my confusing acceptance to the Jabber project, I am beginning my work on my Internet2 project. One of the first tasks I have assigned to myself is to figure out the big picture view of the project. Here is what I've come up with so far:
- An event is sent to the server using a simple XML or RFC 2822 based protocol (To be decided)
- The server parses the event and adds it to the database along with a timestamp
- The server creates a new notifier object with a reference to the entry in the database
- The notifier sends out emails and updates static content on the web server. I'd like to use some sort of listener API to keep this open to new implementation formats
As far as the event protocol, I've tossed out a couple of ideas. In terms of Web 2.0 trends, everybody seems to be using SOAP/WebServices but I think this is overkill and something that HTTP was never designed for. For this reason, I think the underlying protocol should just be TCP, preferably SSL encrypted. The XML/RFC2822 object will be sent back and forth. My mentor, Henrik, wants to use UNIX domain sockets instead of TCP. I agree that this makes sense, I'm just a little unsure of the implementation. It looks like I'll be spending a few hours digesting man pages :)
I've posted this information about my Summer of Code project because I believe the spirit of this project is to spark interest in open source software. If I don't talk about it in public view, it's not very open, is it? I'm pretty sure the mailing list archives will be public, but I think that in blog format, I have a bit more freedom to be overly verbose in explaining how things work. I've found that by explaining the simple parts of a program, I often have an opportunity to simplify the complicated parts too so this is as much for my benefit as anybody else's. Finally, this will make great documentation in the future.
If you have any comments, ideas, suggestions, or rants about the way I'm writing this program, by all means, contact me.
05|24 Summer of Code
program. I'm really excited to have this opportunity and am looking forward to writing some great code. I'll post further updates here as things get rolling.
Now that I'm back in Corning, I face a problem that was never an issue at RIT... I no longer have ubiquitous access to the internet via wifi. Instead, I am relegated to no more than three (legal) public access points in town. For this reason, I've been researching prepaid cell phones and their data capabilities. I've come to the conclusion that Boost Mobile will fit the bill. They offer unlimited data at $0.20 USD a day and you only get charged on days you use it.
Their cheapest phone, a Motorola i415 also has builtin GPS that could allow me to do some nifty stuff in the future. The phone goes for $49.99 USD and Amazon lists multiple resellers that have a USB data cable for $4.73 USD. Boost puts $10 on your account at activation so if I only use the phone for data, I'll be able to use it for 50 days. Not a bad deal.
I finally got around to putting my code repository back online. I've pulled a fresh copy of all my release worthy scripts and programs out of CVS for your enjoyment. Let me know if you have trouble getting something to work; I'll do my best to help out. I'll be putting more of my code online after I clean it up a bit.