This is a public announcement to everyone who have seen the opening and closing ceremonies of the 2010 Winter Olympics in Vancouver: Canada is still inhabited by French speakers.
Despite all the criticism the Vancouver Organizing Committee received after the opening ceremonies, little changed in the closing one. Yes, the VANOC’s CEO made an effort to speak in French but that’s about the only change you could see. That and the fact that Canada’s Olympic Broadcast Media Consortium added a live translator on French TV so that the less “fortunate” can understand the ceremonies in their own country.
Would have it been too much to ask for one of the monologues to have been in French? After all, I am sure there are Francophones outside Québec ready to do such a creed for Canada. They probably just didn’t try to find one but I personally believe finding one could also have been a hard job, considering that doing such a creed, even if it’s a caricature, could mean professional suicide for a Québec comedian in Québec’s French market (where such creeds on any side isn’t popular these days).
In short, we still exist. What you have witnessed is a sad image for a country with 2 official languages. It is reminiscent of old English-French frictions which we all would like to believe were long gone. As it has been pointed out on this blog (a post worth reading) and in the professional press (in French!), denying French Canadians such visibility has done more for the sovereignty movement of Québec than the current leaders of the movement themselves. And that’s quite a job, considering the health of the movement at the moment (the leading party not being the ruling government for 7 years now).
This is also reminiscent of West-East frictions. The (mostly English) West feels bilingualism is being wrongly imposed on them. They feel too much power is given to the central provinces (where 60 % of the population lives). They probably also feel (rightfully) they are paying for our social wealth services considering the thriving west economy of tar sands and, I have to admit, their just efficient administrations. Those frictions may never disappear, after all British Colombia was almost part of the United States of America if it were not of the Canadian rails built in 1870s. My point of view on the subject is that parts of Canada and United States are being unnecessarily separated on political reasons. Vancouver’s economy is probably more active with Seattle’s than the rest of Canada. The same applies with the province of Québec and state of New York. Politically enforcing an horizontal relationship where the natural flow of business is vertical. This argument has been mentioned in the latest High Speed Trains plans of Québec–Windsor and Montréal–New York. I am going to stop here but this could lead to interesting debates on history and politics.
In conclusion, just don’t forget we still exist. We have a thriving musical culture (among other) as you can see here, here, here and here (my personal favourite local artists these years). Its absence from the Olympics is an anecdotal abnormality.
After touring FOSS events all around the world, I decided to see what’s happening on the local software scene. I met with the guys from Montreal-Python, the Ubuntu Québec local team guys (after all Montréal is the home of Canonical’s Global Support Services) and the local start-ups at DemoCamp.
They convinced me I should give a talk at Confoo.ca. In fact I decided to submit 2 talks and both were accepted. Confoo.ca is a new conference building on the famous PhpQuébec conferences but gathering much more communities together: .Net, Python, Ruby and Web developers. The conference will cover technical topics as well as project management, marketing and social medias.
Based on my personal knowledge and the experiments I’ve been doing lately with Web + Desktop apps combinations, I’ve submitted the following talks.
Application servers are the central part of data applications. They are responsible for mission critical activities of businesses and yet have to be cost effective. Django offers a lot of flexibility by providing rapid application development. Django-piston makes it easy to add RESTful APIs to existing Django apps. Web servers are very common and rather cheap to rent or host in house.
Once your application has a RESTful API, nothing is keeping desktop applications to access your web services. For example, using librest on the desktop, Emerillon accesses on-line databases such as Geonames. Librest simplifies accessing RESTful web services and makes parsing XML fun again (that’s a Robert Bradford quote if I am not mistaken).
When thinking of online maps, Google Maps is often mentioned as a reference. But you can’t use their data in all the exciting ways you could ever imagine. Enters OpenStreetMap: community built openly licensed map data. You are virtually free to do anything with the data, short of not giving proper attribution of its origins.
With this gained freedom, you can explore and create unique maps adjusted to your needs. You can also simply reuse the default one available on OpenStreetMap.org, in some locations it is way more complete than any other maps anyway.
Come and attend Confoo.ca!
What a big release week!
First, a quick update to MapBuddy:
Then, a bigger update for libchamplain 0.4.4:
Then, a huge update for libchamplain 0.5:
It’s now an established tradition at my mother’s Christmas Eve party, we all gather for a good meal, exchange gifts and then play a game. Not any game, an home made game built for this occasion only. For example, in the last 2 years, we played a giant Snakes and ladders game on my mom’s wall and an adaptation of Deal or No Deal. During the game, each player wins little gifts. Usually the games include special rules so that everyone finishes with the same amount of gifts.
The Snakes and Ladders game of 2008 (the ladder is 20 cm long)
But 2009 was special. I was going to host the party. I was going to be the one to build a game for this occasion. My mother is creative and resourceful when comes the time to use whatever materials are at hand, but I am not. I decided to build a computer game instead! Noël de fortune was born.
Splash screen of the game
After consulting with my co-host, we elaborated the basic rules of the game: a turn-based game where players have to guess an expression. They would be able to give letters that would then be revealed. If the letter is not in the expression, the player loses one point and it is then to the next player to play. The players can try to solve but if they fail it costs them 5 points. Each player have their own expression to find. When he finds his expression, he wins a gift. There should be 3 rounds. To help the players, during the first round the whole alphabet is displayed with the letters he already said highlighted. During the second round, only the given letters are displayed, and nothing during the last round. It makes it harder The player who finds his expression with the less tries wins an extra gift at the end of the game. These rules probably remind you of The Wheel of Fortune without the wheel, or of Hangman.
During the game
We built a list of 400 possible expressions for the game so that we could also play with everyone. There were 3 themes, one per round: Christmas, Things to do and Famous People. Not unexpectedly, the first theme was quite easy to guess, but the 2 others were more challenging.
To create the game, I decided to go with Python as I wanted to have a language with rich built-in types such as lists, sets and dictionaries. They came handy in the implementation. A game has to be exciting to the eye and considering I already had a fair amount of experience with Clutter, it was an obvious choice. The graphics are simple: everything is an image (except text!) and is animated using Clutter. When the player says a letter, all the cards bounce as if something passed under to read them and they turn around if the letter matches. A nice magic sound is played out. There are error dialogs (the letter was previously given or the letter is not found) and solution dialogs too! When the turn is over, the score is displayed using vertical bars that show up one by one (adding a little stress hehe).
The solution dialog
The bad solution dialog
The score screen (not actual game scores ;-)
It took quite over 80 hours to create the game. Overall, it was a great success Our guests liked it and fun lasted for hours!
Gabriel explaining the rules. You can see all the gifts surrounding the LCD screen.
I will not be releasing the game. Quite honestly, the code is a mess: it was my first game, my first Python application from scratch and in the end I was just fixing bugs without fixing core issues. But hey it works: I am sure there are worst proprietary apps out there
Some of the graphics are composed of images available under Creative Common such as the background. Unfortunately, I did a lazy job keeping track of my sources and I lost the link/name of the author of the nice graphics I used. If you find it, I’ll link it!
Oh by the way, since my mom got her hands free of creating a game, she invested herself in the packaging of the gifts. Has anyone of your ever received a gift wrapped like a Bûche de Noël or a drummer boy’s drum?
My gift was wrapped like a Bûche de Noël. I won this gift by finding the word "meat ball stew".
In order to help people, free and widely available maps are a good tool to rescue parties. Many users of OpenStreetMap have organized a wiki page to manage the work that needs to be done to quickly improve OpenStreetMap for this part of the world. Thankfully, Yahoo has high resolution imagery of the region making it possible to trace the streets. Note: remember that only Yahoo imagery can be used, as OpenStreetMap has a signed derivative work permission with Yahoo.
If you know how to edit maps, maybe you can land a hand! CrisisCommon also has other resources.
Follow-up: Mikel Maron has before and after images along with more info.
Well, I finaly got my hands on a N900 (given as a Christmas gift by Collabora to Gabriel). This gave me the occasion to observe first hand that the Ovi Maps, while having a lot of features, is slow and that the Hildon Emerillon port is less than perfect. It is hard to use with fingers and feels alien to the platform.
To solve this, I created Map Buddy: a map application specifically designed for Maemo 5. It is quite simple to use and works out of the box (no configuration or selection of plug-ins required!). It also has something other apps don’t: it uses web-services to provide business search capabilities.
Here’s the use case I built Map Buddy upon: you just arrived in Montréal and want to find a sushi restaurant.
It’s that simple!
Map Buddy includes a place search so that if you are looking for Pizza in New York, you don’t have to scroll from San Francisco to New York to get there. Select the Place search mode, enter New York in the search field and press enter. A picker dialog will be opened to let you select the correct New York.
To switch to other maps, click on the layer icon, it will bring up the list of possible maps to display.
I hope you like it! Try it today! WARNING: Installing Map Buddy in this early stage requires adding the extras-devel repository which might install unstable software on your device. Try it at your own risk or if you are a professional
NB: Praized Media only has strong data sets for Canada and United States. They plan to sign business partnerships to get data for Europe in 2010. In the mean time, you can directly add businesses using this form.
NB: Help is appreciated to translate it!
Yes! Libchamplain now has a scale! It was long overdue. In fact, I first started to work on it way before libchamplain 0.2.2 was even released (1.25 year ago). It got impeded by more important features and bug fixes. Two or three months ago Tollef Fog Heen took over the branch and added the magic required maths to compute the scale. I then took over his work (as he was quite busy and I wanted this too) to provide the final result.
Since all the changes are backward compatible, I’ll soon release a libchamplain 0.4.3 with the scale disabled by default (to ensure the same visual behaviour as before upgrade). To display a scale, an application just has to change the show-scale property to TRUE.
#if CHAMPLAIN_CHECK_VERSION (0, 4, 3) g_object_set (champlain_view, "show-scale", TRUE, NULL); #endif
The scale also supports other exotic units than the SI/metric ones. It can display miles and feet, if you’re into that. By the way, the scale will automatically switch from kilometres to metres when it makes more sense. That was quite more complex to do with miles and feet as they are not simply a power of 10. Set the scale-unit property to CHAMPLAIN_UNIT_MILES to get miles.
You can limit the width (in pixels) of the scale with the max-scale-width property. If you watch closely, the scale will adjust itself right away when you move the map.
In the last weeks I (among other things) worked on a new plugin repository (vastly inspired by EOG’s) for third party plug-ins for Emerillon. There are currently 4 plugins being worked on and not all of them should be distributed with the base Emerillon application. Enters emerillon-plugins.
It currently has 1 plug-in. This plugin is one that will be useful to Montréalers: it displays the status of the Bixi network. Bixi is Montréal’s self-serve public bike system. Apparently its design is so good — the bike system, not the plug-in — that it’ll be implemented in both London (UK) and Boston (USA) very soon.
So the plug-in is quite simple: you have a drop down list where you select to see available bikes in stations near you or available docking stations. The map is updated instantly to display the new values. The markers on the map change in size depending on the available bikes/docks. The information is automatically updated every 5 minutes.
After all the legal verifications, this plug-in is now free for everyone to share. It should serve as a good example of what you can do with Emerillon and libchamplain. It is the first piece of code (that I am aware of) to demonstrate ChamplainMarker sub-classing to implement unique look & feel.
Disclaimer: This plug-in has been independently developed by Novopia Solutions and is not in anyway related to or endorsed by Bixi, the operator of Montréal’s public bike system. Bixi is a trade mark of Société de vélo en libre-service.
Dear knowledgeable(lazy)web,
I have a friend who’s looking for a free software application to draw pipeline networks using the Piping and Instrumentation Diagram Standard Notation such as this example:
He didn’t find any and resorted to draw each possible elements in svgs he later intend to import as symbols in Dia. Does such a thing already exist? or is there another specialized tool that comes with such symbols?
Answer in comments to this post. Thanks!
When I realized Gnome Bugzilla passed the 600 000th bug mark, I went to see which project got the “honours”. Turns out GnuCash is the big winner! I had never started GnuCash before and I though it was a good moment to try it!
First of all, the learning curve is high. That’s to be expected, after all GnuCash is a complete accounting application. While the UI is quite simple and lean, there’s terminology and procedures to learn. That where the documentation comes handy.
The documentation covers many topics: terminology, accounting principles and howtos for many specific uses. In about 2 hours, I was setup: I had setup my accounts (based on their very well localized presets: it even included Québec’s taxes and perceptions accounts), I had imported transactions from my bank account and credit cards. Now if only Desjardins also provided retirement savings (RRSP) details in a computer readable format beside their brochure PDFs… I’ll have to wait ’till I get my detailed printed report (once every 3 months) before I can manually enter the data in GnuCash.
All in all, I’d like to kudo the GnuCash contributors. Somehow I didn’t expect so much polish on a 12 years old application (and don’t get me wrong, but sometimes apps get stuck in time). The ledger view comes with handy keyboard shortcuts designed to speed up data entry and I like it. Custom reports? that even more awesome.
I’ll submit some localization bugs (or request a fr_CA version) because somehow it looks like French and Québécois accountants didn’t agree on all the words (ie. conciliation).