National Day of Calendar Hacking

I went solo for National Day of Civic Hacking. I attempted to run an unofficial event at the Elgin Technology Center but I put off the marketing and partnerships too long. Summer seems to be tough for suburban groups – several of the meetups go on hiatus.

Project 1: Elgin Area Chamber calendar

This may have been a little bit of stretch for civic hacking, but having to browse to the Elgin Area Chamber events page every week to see if there were any events that fit into may schedule was kind of a pain. So I built a program that scrapes the chamber events page and produces an iCalendar file which allows you to download elgin chamber events or subscribe to elgin chamber events

This took about half of Saturday.

Project 2: Farmers Market calendar

I had been wondering if tracking local farmer’s markets would be an appropriate activity. My fears were put to rest when I saw that an official challenge to hack farmer’s markets had been posted.

I originally wanted to do something with Disk Clock‘s week view, but the USDA Farmer’s Market Directory API didn’t have any affordances for cross-origin requests – presumably the javascript examples were only tested on their own site.

Since I’d just been working with iCalendar, I decided to try and rework the chamber project into a market feed. I actuality, I was able to reuse very little of the code – a little on the iCalendar side, but the API parsing was completely different, and since it’s a dynamic search I needed to present a form and immediately generate the calendar file – the chamber calendar is a singular artifact, so I was able to generate it once a day and upload to S3.

Farmer's Market Calendar

The information in the API isn’t as complete as the information available on the main site, and even produces invalid JSON with a trailing comma. But that was an easy fix, so now you can go get a Farmers Market Calendar for your area and never forget your local market again.

Posted Thursday, June 6th, 2013 under Uncategorized.

Comments are closed.