Just wanted to drop a quick line to let you know about two changes on MTBcalendar.com:
- We added some new race formats into the database (it’s the drop down menu when you add an event). These include Duathlon (running and mtb) and Clinics (for teaching). Just drop us a line (on the new feedback page) if you need any more added.
- We completely redesigned the event detail page. It’s more colorful, better layed out and is a little more interactive. Here’s this year’s Sea Otter Classic as an example. HINT: click on the (i) next to the race names to see more information about each race.
- You can edit your own events. Just click on the pencil icon next to the event name (but you can only edit your events, so you need to be signed in).
- We’ve temporarily removed the “Export to Google Calendar” button. It will be back very shortly, just needed to redesign it and added buttons for Yahoo! and Outlook.
Here’s the new Event page (click to make it larger):
We’ve only got one more major features to add: Results. Hopefully before the end of the month, you will be able to enter your results and show them on your blogs.
Late last night, I deployed revision 497 (”Collapse”) to the website. It’s the second to last deployment before we launch next week. A shortened version of the changelog:
- Added website tour for new/unregistered users
- Added very primitive ability for users to enter results for their races
- Added hometown field to user profile. This will be used later to allow users to search around their hometown for races.
- Added site search via Google Search
- Added hover styling for links, especially for the tags page (where we have multi-word tags)
- Added iPhone/Touch icons
- Added a lot of formating cleanups (sigh)
We’ve got just one more set of changes to deploy before we call this thing “one dot oh.” Unfortunately, I need a short restart to do that. So sometime just before midnight Pacific Standard Time on January 31st, I’ll be rebooting the server and we will be off the air for 5 minutes (assuming everything goes well).
After a week of furious coding and bug squashing, I think we are getting pretty close to have a official ONE DOT ZERO release.
Last night, I deployed revision 405 to the site. This release centered on:
- Better instructions and usability for the adding events page.
- Added terms of use, privacy policy and other static pages.
- Upgraded the acts_as_commentable plugin to the newest version. This allows me to streamline the code and add times to the comments.
- A lot of testing, bugs and formatting clean ups
The last things on the TODO list before the launch are:
- Allow users to record race results
- Add a website tour for new users
- Create a contact form for user support
I hope to have these done this weekend.
Tags: acts_as_commentable, git
Sorry for the lack of updates over the past three weeks, but I’ve been very busy coding. When I last blogged, I had deployed revision 217 (”blue hawaii”) to the site. Last night, I deployed revision 323 (”snakes on a plane”). And if you’ve been watching the website, it looks vastly different (hopefully better).
Here are the major changes:
- Comments for everyone ! Well, maybe not everyone. But people with accounts on mtbcalendar.com can now add comments (with textile formatting) to any event now.
- Rounded corners ! (except for IE 6). And hopefully better formating throughout the site (even for IE 6 users). While I will be continuing to support IE 6 (making sure it at least works), you will be looking at a very basic version of the site if you aren’t on a modern browser (IE 7+, Safari 3+ or Mozilla 3+). Seriously, upgrade please.
- Better iCal exporting. We now correctly export to iCal and Google calendar with Yahoo! calendar coming soon. And all events validate correctly.
- Personal Calendars. When logged in, you can click the “My Calendar” button on the top right to see past and future races that you’ve added to your personal calendar. And you can subscribe to your calendar via iCal or RSS.
- Microformats. I’ve revamped the microformat support to include geo markup. However, it is hidden so you will need to make sure “show hidden microformats” are enabled if you are using Operator in firefox.
This brings most of the changes that I wanted before the 2009 MTB race season. However, I will be working diligently over the next few days to add the ability for racers to record their race results (and hopefully display it on their blogs). Look for something this weekend or early next week.
Tags: chrome, css3, ie6, microformats, safari
Just a quick update on some development activity here at MTBcalendar headquarters:
Dashboard Widget
I’ve upgrade the Mac Dashboard widget to version 0.43 and created a dedicated documentation page to it on this site and at GitHub. The newest version fixes some bandwidth / request issues and adds a little more polish.
Grab the newest version here.
Oh, it also has a new icon. Thanks Pixelmator.
Javascript Widget
I didn’t really announce this here, but I now have a basic javascript badge that will put regional races on your blog/website. I described the process for this on my NorCal MTB Racing blog but I also have put up a page here about it. I’ll update the page here with more details later this week.
I have a lot of ideas for badges, especially ones that show your personal race schedule. However, I am short on design experience so these might have to wait.
Website
I’m slowly putting the final touches on the website to officially launch around January 1st, 2009 (yes, that means I have been in beta for about 1 year). However, this has let me get to a point where everything basically works and I can work more on user experience than just hoping the site stays up.
Top on my list of todos:
- clean up account page
- add more documentation to event entry page
- add tour of features/documentation to site (so people actually know how to use the features
Since I am off work for until next year, you’ll probably read here a lot more about this.
Tags: dashboard, javascript, mac os x, widget
I’ve done a bit of tweaking on the MTB Calendar widget for Mac OS X Dashboard and uploaded it to release directory on my github repository. Go here to see all of the releases or just download the 0.41 version from this link:
The only really obvious change is that I’ve put it on a diet and it now takes up a fraction of the screen real estate:


You can see the entire instructions and changes in the README file.
As always, you can check out the source code at my GitHub repository (mtb-calendar-widget). For those of you down with git, the public clone URL is git://github.com/slashk/mtb-calendar-widget.git and I am certainly cool with patches.
Tags: dashboard, dashcode, github, javascript, mac, mac os x, widget
Just a quick note about the downtime that we experienced this week …
We ran into a strange interaction between Ubuntu 07.04, RubyGems and Rails. I kicked off this chain-reaction train wreck by updating my code to use the new Rails 2.0 feature for gem dependency checking in environments.rb:
Rails::Initializer.run do |config| # Gem Dependencies config.gem 'icalendar', :version => '>= 1.0.2' #any version >= to 2.0.1 config.gem 'mislav-will_paginate', :lib => 'will_paginate', :version => '>=2.3.6' config.gem 'RedCloth', :version => '>= 4.1.1' config.gem 'timcharper-CalendarDateSelect', :lib => 'calendar_date_select' , :version => '>=1.11.1' end
This allows me to more easily verify that I have the correct gems and gem versions on my production box. And it works. At least it worked fine on my MacBook in development. So I went ahead and deployed it into production with my capistrano script.
And everything came crashing down.
Well, not really crashing down, but certainly to a complete halt. That is, Rails wouldn’t start because RubyGems was complaining about “too many arguments” in it’s load routines. A few minutes of debugging and comparison with my MacBook showed that I was several versions back on RubyGems in production (version 1.2 instead of 1.3.1). After much gnashing of teeth and RTFG’s I discovered the following nugget of wisdom (#293 gem dependencies broken in 2.1.0 - Ruby on Rails - rails):
“What I discovered running an upgrade from ubuntu 7.04 to 8.04 was that there was two versions of rubygems installed somehow. Rails ended up choosing and older version of Gem::DependencyList. This was causing the wrong number of arguments error for me.To solve this, I removed the old version of rubygems from apt-get, reinstalled rubygems from source, and updated my path. Once I did this, the newer version of DependencyList was loaded, and I didn’t get any more errors.”
Of course, this was much easier said than down. In the end, it required uninstalling the the apt-get gems package, reinstalling gems from source and then eliminating the rogue gems library directory with prejudice. However, it certainly fixed the problem and forced me to look harder at maintaining the production environment.
For any of you following at home, the website is currently running revision 235 (”re-education through labor”) which boasts some slight performance improvements, a few bug fixes for the entry forms and some new functionality for widgets (both dashboard and blogs).
Tags: gem, ruby on rails, Ruby on Rails, rubygems, ubuntu
UPDATE (12:52 PM): And we are back. Sorry for the interruption folks but we ran into a strange rubygems versus Ubuntu 7.10 issue. I’ll post something on it later. We will try not to do this again.
Woof. Decided to slip a small update to the code into production this morning (11:43 PT) and my mongrels have gone all higgly-piggly on me.

We should be back online in a little bit.
For the better part of the last week (and much of my Thanksgiving vacation), I have struggled mightily with the beasts known as Javascript and Dashcode to bring you (well … mostly me) an easy way to always have your local MTB racing calendar at the touch of a button. And while the battle was long, I have bested the Apple-ian beast and bring you … MTB Calendar on your Mac OS X dashboard.


If you would like some of this action, download the widget:
Uncompress it and add it to your dashboard. If you click the (i) button in the lower right corner, you can choose which region’s races you would like to view. It updates about every 15 minutes and only shows upcoming races. If you need more info on any race, just click on it’s name.
Sadly, as you can probably already guessed by the description above, this is Mac only. However, I am looking at creating a clone of this in Yahoo! widgets when I get some free time. Also, I have a version of this almost ready for your website (blogger, myspace, etc.) but I need to add a few more options. Expect it later this month.
I’ll be posting more about the coding aspects of my journey later this week (I’ve learned a lot of lessons about Apple’s Dashcode). In the meantime, you can check out the source code at my GitHub repository (mtb-calendar-widget). For those of you down with git, the public clone URL is git://github.com/slashk/mtb-calendar-widget.git and I am certainly cool with patches.
While you weren’t looking, I slipped a new release of the website online (For those of you following at home, this is version 217 - “blue hawaii”). It was mostly born of a vacation (and attached air travel) to Oahu early this month.
It boasts some new YUI Library CSS Tools, which have somewhat cleaned up the mess that I called a website design. The most helpful part of the toolkit was the YUI Grids CSS which provided me with a fairly bombproof layout with a minimum of effort. Thank you Yahooligans.
There are also quite a few usability and bug fixes. Gone are the broken URLs in the “add to google calendar” button. No more strange google maps shenanigans. Even some of the geocoding has been improved (but is still problematic).
Overall, I think this has taken quite a few steps to become a beta product. Enjoy — and don’t forget to comment or send an email if you find something b0rk3d.
