FaceBook Apps
jGigCal
This is a calendar of events. It is built upon an old calendar and uses a flat-file
database. I wrote a back-end to read and write to this database. The app communicates
with the back-end via ajax and xml.
By making this a FaceBook app, I was able to utilize FaceBook's oauth security system,
insuring that only those who registered an event would be able to modify it. There is
also an iOS app which provides a view into the same data.
There is also a companion iOS app.
Click here to view jGigCal.
Jazz Alley
This is a musicians' referral service. It is a LAMP application as data is kept in a mySql
database. It's a FaceBook app to take advantage of FaceBook's oauth services, as well as
their profile pictures.
Jazz Alley uses geolocation to determine where you are (if permitted). It uses geocasting
from Google to determine distances between you and a potential musician you're attempting
to reach.
I also created the artwork using Adobe Illustrator.
There is also a companion iOS app.
Click here to view Jazz Alley.
PHP Apps
MinorDomo
A replacement for majordomo, this php script reads an xml config file at startup, then
opens a socket to the configured pop socket (default 110) and checks for mail. If it finds
any, it remails a copy to the configured smtp socket (default 587) for each configured
member of the list.
MinorDomo was written for web hosts without majordomo and only ezmlm. Ezmlm doesn't really
work all that well unless you're a trusted user, and on the cheaper web hosts that may be
hard to get.
MinorDomo simply requires a cron job running at short intervals to curl its url.
Paperboy
This utility was written for the Jazz Society of Santa Cruz County, and it was necessitated
by the fact that they insisted on doing their newsletter in Thunderbird, an open-source
mail reader. So instead of creating a web page and mailing it out, or better yet, mailing a
link to it out, I devised this system.
One of the recipients on the mailing list is paperboy, who periodically checks his mail and
if any is found, opens a pop socket and reads the mail. He then creates a temporary html
file from the html component of the email (the
plaintext is ignored). Email attachments are encoded and identified as cids in the email,
so he decodes the attachemts, saves them as files, and makes a table to corellate the cids
with the files. When they're all processed, he goes back through the temporary html file
and replaces the cids with the file names.