First up: we have a new design! You can see it in its full green glory at the usual place,

Our two meetups last week accomplished a lot. Some little things, some bigger (like the design). We’re continuing to struggle with our iCalendar & hCalendar tools, mofo and vPim. Mofo had a bug that was preventing postal codes from being read accurately. We now have a one-line patch that fixes this. A note to other open source developers: make it easy for people to find out about known bugs and send you patches when we encounter one! It’s very frustrating to lose half a day of work to something like this. We want to keep the ‘many eyes’ principle working.

All event pages now have a “Add to Google Calendar” link in the right sidebar, in addition to the previous iCal download link. This way you can send individual events to your personal calendar. There’s still also several ways to consume the entire events feed from the main events page.

We did more work on our duplicate event and venue management pages. You can get a sneak peek: events page & venues page. Help us out by spending a few minutes gardening duplicate entries.

You can see the full list of squashed bugs and other work on our wiki:
Keep reporting any bugs you find to the issue tracker:

Update: One thing I left off—we started re-importing sources that have been flagged to request that. You can tell us to do this for your group’s calendar by checking the “re-import” box when you submit the url at

We’re going to meet twice this week. Wednesday we’ll do another mini-sprint at Backspace (downtown on NW 5th), starting at noon. Come have lunch and work on bugs. Then on Saturday, we’ll meet at CubeSpace for our regularly scheduled code sprint at 10AM. We need to get the duplicate-entry management tools polished and ready for public use, and start importing and updating events on a recurring basis so users spend less time manually importing everything.

As a reminder, our meetings are open to everyone. Programmers (at any level of Ruby experience) and web designers are especially needed, but anyone can test the site, write documentation, and work on figuring out what’s left to do so we’re importing all calendar events for groups in the Portland tech community.

Adopting hCal

February 2, 2008

We’re using hCalendar (or hCal) for importing events. If you would like to share your events with right away, here’s an example, followed by a short explanation of the markup needed.

<div class="vevent">  
   <a class="url" href=""></a>
   <abbr class="dtstart" title="20080216T10:00">February 16, 2008, 10am</abbr>-
   <abbr class="dtend" title="20080216T18:00">6pm</abbr>
   <span class="summary">Calagator Codesprint</span> -  at
   <span class="location">Cubespace</span>, 622 SE Grand Ave. Portland, OR 97214
   <div class="geo">:
      <span class="latitude">45.51845</span>
      <span class="longitude">-122.66056</span>For more information, check with:
      <span class="contact">Audrey Eschright</span>
   </div><!-- end geo -->

   <span class="category">calendaring</span>
   <span class="category">aggregation</span> 
   <span class="category">alligators </span>

   <div class="description">
The Calagator Development Team is meeting every 2 weeks to create a calendar aggregator for local technical events. We're working with Ruby On Rails, writing documentation, gathering information about standards, and trying to increase the use of calendar standards like hCalendar.
</div><!-- end vevent -->

Today, Calagator recognizes the following classes:

  • vevent
    • dtstart (without timezone information)
    • summary
    • url

The import routine also recognizes multiple events on a single page.

Venues can be added through the web interface. The hackers will be working on recognition of the ‘location’ class soon.


To make a valid hCal markup, you need to define three classes at a minimun:

  • vevent
    • summary
    • dtstart

These classes can be added to any HTML tag and do not need to be styled. Once you’ve added these basic tags, Calagator will recognize the event.

Other tags you might consider using include:

Once you’ve done that, you can test our import at If there’s a bug, click the Bugs link in the upper right hand corner and let us know what went wrong.

If you’d like to test your hCal before submitting to the Calagator, there is a Firefox plugin called Operator. Operator detects many different microformats in a webpage.

If you’re interested in learning more about what hCal has to offer, have a look at the hcalendar explanation. There’s also a cheatsheet, and a list of hCalendar implementations.

Our next codesprint will be on February 2, 2008, 10am6pm. We’ll meet at Cubespace, 622 SE Grand Ave, Portland, OR.

You can RSVP on the wiki. Instructions for logging in to modify the wiki are on the front page of the site.

We’ll be working on Calagator, and all are welcome to join. The coders are using Rails for the development environment. If you’d like to code, please come with current versions of Ruby (1.8.6), Rails (2.0.2), and RSpec (1.1.2) installed.

If you’d like to work on research, documentation, UI design or graphical work, just bring yourself. If you have notecards for jotting down tasks and sharing with everyone, those are always useful!

Our 1/19 Codesprint!

January 19, 2008

From Audrey:

Today several of us met during the Code Sprint gathering at CubeSpace to talk and work on the calendar.

Participants: Audrey Eschright, Selena Deckelmann, Igal Koshevoy, Reid Biels, Paige Saez, Daniel Etra, Anselm Hook, and Bill Burcham.

We spent the first part of our gathering discussing our goals for the project. We focused on our reasons for creating a new calendar system, and the user communities we intend for this to serve. We determined that many existing calendar services have barriers to entry such as required registration that limit usage in our community. Current calendars can also lack the quality of details we would like to provide. We felt that creating a model for aggregating events around a specific interest area is important, and something that existing calendars only partially succeed at.
Read the rest of this entry »

We’re creating a calendar tool that solves a few problems:

  1. Create a master calendar of tech events in Portland, OR.
  2. Make it really easy for all the event schedulers to opt into the aggregation service.
  3. Get the juicy details of what’s actually going to happen at each event in the same place.

Calagator is our name for the calendar aggregator software we’re writing.

You can find the google code project at

Our mailing list is at

We’re just getting started, but through this blog you’ll be able to find summaries of our meetings, details about our master plan and our discoveries about what’s happening in Portland.