Montreal is soon going to become the city of geeks! On March 5 and 6, sanitary the Geekfest 2011 is going to take place and Carlitos’ contraptions is going to be present. I hope to see all of you fellow geeks at our table.
Carlitos' Contraptions at the Geekfest
What is the Montreal Geekfest?
The Montreal Geek Festival (or Geekfest) is an enjoyable festival that brings all sorts of geeks together. Non-geeks are also welcome.
The festival’s mission is to:
Target all the different types of geeks and bring them all together.
Teach the public about geek culture while deconstructing the stereotypes.
The main goal is for all participants to have a good time and make new discoveries while enjoying the pleasant atmosphere.
- geekfestmtl.com
What is Carlitos’ Contraptions doing at the Geekfest?
I am a geek, it is no secret, and I love geeky stuff so the Geekfest is a very good place to be for me. Beyond that, I would like to share with the Montreal community my latest developments with the Nao, some of my previous contraptions and promote my upcoming gadgets design service. See the message below form Nao 1337.
Ever since the implementation of the new Opus Card system by the Montreal’s Public Transportation (STM), internist there have been lots of malfunctions and bugs.
Crashed STM Ticket Vending Machine
The malfunctions were mainly caused by the poor build quality of the smartcards, healthful the poor wireless reader range, this web the easy demagnetization of the paper tickets, etc. Slowly (very slowly) these malfunctions are being addressed and (sometimes) solved. The unsolved bugs become a part of the daily routine and we Montrealers learn to accept them.
On last weekend, I witnessed a bug that I would have never thought possible in a professional widespread software application that involves so many money transactions: what I usually call a boundary condition bug.
The Bug
Quick note on the STM’s fares (for those who do not live it day-to-day):
There are mainly two transportation systems: the bus and the metro (subway) and the fare pricing is governed by a (somewhat) simple set of rules:
There are monthly passes that allow unlimited fares within the month in both the metro and the bus. They are more expensive for adults than for students or elders.
There are weekly cards that are similar to the monthly cards by work for a given week.
There are tickets (either as a magnetic paper card or as some information on a smartcard) which allow for one fare that allow to take the metro, the bus, or both within a two-hour time limit. Should the time period be elapsed, or should you take the metro or the same bus more than once, you will need another ticket.
Since the Opus Card implementation, one of the first things that came into my mind was the attention required to compute the fare price when a month ends (i.e. at 12:00 on the 31th, 30th, 29th, or 28th), or when a week or a day ends. Everyone who has programed at least a little bit (like me) knows that these boundary conditions are usually exceptions to the normal behaviour of a program and need to be taken into account. I, of course, assumed that such mundane exceptions would be addressed by professional programmers swiftly and painlessly. I was wrong.
On last Saturday, my girlfriend and I took the metro after going to the movies and she swept her card (loaded with tickets) at exactly midnight (00:00 as reported by the STM records) at the metro reader. Around 20 minutes later, we walked into a bus and surprise! another ticket was charged instead of using a transfer from the previous ticket.
The conclusion to this is that when a day ends, there STM fare algorithm fails and defaults to charge you an extra ticket. Unfortunately, It is unlikely that this bug is noticed by the STM any time soon since they are not loosing any profit from it and they do not accept bug reports. Even the lady at the reclamations booth had a hard time to understand what the problem was.
In the end, instead of a full refund she got a “courtoisie” ticket which expires on next Sunday (instead of a regular ticket that which expires in around two years). So much for costumer service.
The poor programming quality is also reflected by the poor choice of OS for their vending machines. Let’s just say that using Windows Embedded is the equivalent to eating a faulty grenade: it will rather sooner than later get ugly.
This is a very simple and quick hack that anybody can do. The objective is to build a holder that will keep all the precision screwdrivers in one place and facilitate the access to them (i.e. it should be easy to see which one is which and they should be easy to take).
Drill or cut a big hole on the top of the cap. This hole will be used to suspend the screwdriver holder.
Punch in the Screwdrivers in the rim of the cap. If you do not trust your screwdrivers to pierce your cap, doctor you may use a nail. Keep in mind that the screwdrivers have to be very snug in the holes since they are only being held-in by friction.
Celebrate! you are done.
Google Wave
I finally got a Google Wave account and I decided to do something for the community. More precisely, about it the hacker/tinkerer/DIY community.
I think it would be rather interesting to have a place where to share, showcase and discuss projects and hacks with local people (from Montreal).
If you want to join the wave you can find it here.
I hope this will result in a stronger more connected Montreal Hacker community.
Cheers, and see you on the wave!
I have a few Wave invites left so if any geeky Montrealer would like one, please leave a comment and I’ll see what I can do.