Home

Projects

March 11th, 2007 9:08 pm
Uncategorized

Firefox Extensions

Google Calendar Notifier

Mozilla Add-ons



This extension provides robust notifications and display of your Google Calendars for today, as well as showing any upcoming all day events for tomorrow.

Technical Details: This involved lots and lots of work. It was basically my first extension for Firefox! I had an idea, and I knew my target platform - I just needed to quickly learn how to do it.

So as I studied the XML output of Google Calendar, and the Google API I learned how to code extensions for Firefox. All of this was fine and dandy until I started getting feedback from users around the world.

Surprisingly, my largest hurdle was handling timezones!

Total Downloads as of Feb 05, 2007: 59830

Digg.com Comment Spotlight

Mozilla Add-ons


Digg Comment Spotlight does exactly what its name hints, it spots comments that other readers have taken the time to Digg, allowing you to easily wade through 100’s of comments in an article.

Technical Details: I am a big fan of the social-news website Digg.com. Being such a fan, I was often frustrated by how comments in the current Digg system work, or rather don’t work.

Once an article gets so many comments it becomes almost impossible to find those worth reading, so I developed a programmatic approach to “pointing out” which comments I should read.

I took the following assumptions: Good comments get dugg up, better comments will have higher then the average amount of diggs. Great comments will have an even higher count then the previous assumption.

Digg.com Comment Spotlight will calculate the average score of all the comments on the page, and “spotlight” comments that have a score higher then the article average. If this isn’t good enough, then you can also specify a threshold (Defaulted at 20 diggs) that comments must reach in order to be spotlighted

I think it works out great, Instead of spending all my time scrolling and looking for “high digged comments” I can just easily spot them

RIT SIS (Student Information System) Pumper

Screenshot

Every quarter RIT requires us to register for new courses for the following quarter, but we must use the most antiquated system possible.

Thanksgiving of 2006 I set out to correct a few of its short comings, and not having direct access to change SIS features them selfs, I wrote a greasemonkey script to accomplish what I need.

The RIT SIS Pumper (Dedicated to my CS Theory Professor who taught us about the Pumping Lemma..) does the following to the antiquated RIT Student Information System:

  • Grey’s out closed courses (Im only interested in open courses afterall!)
  • Corrects some words on SIS..
  • Optionally hide non upper level courses (400+)
  • Highlight or bold open courses
  • and most importantly.. automatically link the name of the professor teaching the course to their professorevaluations.net profile

Firefox Greasemonkey Scripts

Digg.com Display Friends

Screenshot and Script

This script was written to solve another inconvenience on the popular social-news website Digg.com. When a “friend” has dugg an article, the http://blog.npike.net/projects# of Diggs box gains a slight green strap with a star on it. Hovering over this strap reveals which of your “friends” have dugg the article.

This was simply too much work for me to do everytime I saw the green strap, so I wrote a quick script that parses the information out of the page and attaches it below the articles title automatically.


OS X Related

Del.icio.us AddOn for Safari

Download

Del(icio.us) Again is my 4th attempt to incorporate a Del.icio.us menu populated with YOUR tags and bookmarks into Safari. (As well as letting you post things to Del.icio.us)

Currently supported features:

* Listing Del.icio.us bookmarks inside of safari, using the first tag to categorize bookmarks into folders

* Posting the current open page in Safari to Del.icio.us ( will pre-populate the del.icio.us form with the page URL and title)

* Automatically retrieves your Del.icio.us bookmarks after opening Safari, at the moment only re-updates when you tell it to do so manually.

* Limiting menu item display length ( some bookmark titles are way to long and make the menu look rather large.
Technical information: This project was actually a great experience for me, as it was one of my very first interactions with Objective-C and Cocoa in general. I have been a long time OS X user, and off and on Safari hater/lover - but one of the things that really irks me about Safari is its lack of extensibility by non Apple developers.(Especially with my new found love for extending Firefox to do what I want)

Originally I had set out to make a Safari Add-on to interface with Google Bookmarks, to pull in the bookmarks from my PC to my laptop. Unfortunately this provided troublesome, and a friend (Jason) recommended the services of Del.icio.us - a popular social bookmarking website with a very open API.

My next hurdle was to overcome hacking Safari. Luckily enough this area has been explored before, and I made use of this research. SIMBL, Smart InputManager Bundle Loader, basically allows me to load code into any OS X program and override or swizzle any of its internal methods. So once my code is loaded into Safari, it was just a matter of attaching its interface to the Safari Menubar, and retrieving a little XML!

Google Calendar Dashboard Widget (Not finished)

More information

In my never ending quest to intergrate life and Google Calendar….. This was started during a RIT break while I was home in NH visiting my family. Unfortunately I did not have enough free time to finish it, and lacked any design ability to make it not look ugly.

I did get a few things working though:

* Multiple Calendars with different colors

* Updates itself every 5 minutes

* Doesn’t do updates when widget/dashboard is hidden

* Immediately does an update when dashboard is show

* Add/Edit URLs in back side

* Due to the widget having a fixed (small) size, it will only show events that haven’t occurred yet

Google Calendar (gCal?) (Cocoa) (Not finished)

Screenshot not available!

This was another brief side project that I have not had time to entertain much yet. Basically a program that mimics the looks of Apple’s iCal for use with Google Calendar (along with integration of GROWL of course)


Windows Related

Google Calendar Sidebar Gadget for Windows Vista (in progress)

More information

At the moment this is actually my most current project. I have had Vista Business installed for two weeks now (once it was released to MSDNAA I installed it immediately), and have been enjoying the addition of Gadgets/Widgets/etc.

As a developer I pride myself in being able to create fun but useless things, and on occasion something that is truly useful.

The Gadget is basically working at the moment, and my goals for it are:

  • I want to keep it small, theres not much space in the sidebar to work with
  • I would like it to handle multiple calendars, as identified by the different colored events
  • Ideally I would like it to show 7 days from Todays date

Technical Details: There really weren’t any significant technical hurdles for this project. The only thing worth note is that parsing XML and debugging Javascript in Internet Explorer is incredibly more frustrating then in Firefox.

A large majority of the code is reused straight from my Google Calendar Notifier Firefox extension, and the prerequisite research has already been done several times for each of my other “Google Calendar *” projects. (Such as retrieving XML feeds, parsing them sorting them, displaying them, etc)

Java Google Calendar Notifier (Not finished)

(Screenshot not available)

This was meant to be a standalone version of the Firefox extension using Googles Data API Java classes.

This was a project worked on during my free time at a previous job, and since then I seem to have misplaced the original source code..


School Projects


SE1 - Fireword

CS4 - Generic Problem Solving Framework

PLC - Block/Pike Programming Language for Lego Mindstorms

Database Concepts 1 - RajTunes

Data Communications ant Networking - Networked Multiplayer Checkers

Database Systems Implementation - Adding MP3 media support to PostgreSQL (In progress)


Work Projects

EnSky Skybase

RIT Financial Database (In Progress)

Comments are closed.