2011 Year in Review

Wow. 2011, eh?

* **Back to school (sort of)**: I [sat in on](http://www.flyingsquirrel.ca/index.php/2011/02/07/cs444/) the two UW computer science compiler courses over the winter and spring terms. This has become rather useful at work, as I’m now on OpenText’s compiler team. I also helped recruit my CS444 instructor to help us out.
* **Speaking of work**: it was a happy change for me to move teams so that I no longer work *with* OScript and started working *on* OScript to make it better for developers. OScript is OpenText’s proprietary programming language–something of a twist of history that was probably a great idea at the time is was conceived twenty-some yeas ago, but the developer experience of which has been sadly neglected over the years. We’re looking at rectifying that. The nice thing for *me*, is I’m doing fun and interesting things with Eclipse and with the language design, and I’m looking forward to getting the beginnings of that work in front of other developers in the next month or two.
* **Clutter**: I gave my first [KWLUG](http://kwlug.org/) talk in 2011 on [Clutter](http://www.flyingsquirrel.ca/index.php/2011/03/09/clutter/). I gave it again at [Dev House Waterloo](http://groups.google.com/group/waterloo-dev-house?pli=1) as well. I’ll be giving my second KWLUG presentation a week from Monday, this time on [Unity](http://kwlug.org/node/847).
* **#LRTAwesome**: Following on from 2010’s involvement in [Northdale](http://www.flyingsquirrel.ca/index.php/2010/01/13/my-delegation-to-waterloo-city-council/), [I gave a delegation to the Waterloo Regional Council](http://www.flyingsquirrel.ca/index.php/2011/06/01/waterloo-lrt/) in favour of the region’s LRT project. It was gratifying to me to feel part of a community effort that, in spite of opposition from the local media, was able to get that back on track. As it were.
* **Hail to the chief**: Somewhat unexpectedly, I became [President](http://www.flyingsquirrel.ca/index.php/2011/07/01/inaugural-address/) of [[Kwartzlab]]. It’s been a great experience, really. We pulled off a pretty amazing [Hacky Halloween](http://www.kwartzlab.ca/2011/10/hackyhalloween-2011-photos-posted/) event, and brought in a grant to buy an awesome new [laser cutter](http://www.kwartzlab.ca/2011/12/laser-cutter-preview/). But it has meant that I’ve had to prioritize my time a bit more than I’m used to. It has meant that I’ve had to pull back a little bit on Ubuntu stuff.
* **Circle of friends**: However, [[Ubuntu]] Canada hasn’t suffered all that much from my being distracted with Kwartzlab. In fact, we now have *two* monthly Ubuntu Hours hosted by [Charles](http://charlesmccolm.com/) and [Bob](http://sobac.com/bjonkman/) on the first Friday and third Wednesday of the month respectively. And we had the usual Global Jams and release parties. And I even finally got my [Ubuntu membership](http://www.flyingsquirrel.ca/index.php/2011/08/19/hi-planet/).
* **FSOSS**: And, I went to [FSOSS](http://fsoss.ca) in October to give a talk about Ubuntu Canada, the Ubuntu community and how people can get involved.
* I’ve been doing a lot of public speaking lately.
* **Ellen**: Continues to be awesome. She really inspires me by being able to remain positive in spite of everything. We got to spend a whole bunch of time together doing some pretty amazing things: concerts, Perimeter lectures, Stratford plays, a trip to Montreal, her cousin’s wedding… I’m quite pleased with myself that I was able to get some of our friends down from Ottawa to jam with Ellen at her house for her birthday. We made sweet music together. Literally!
* **A surfeit of blogs**: One thing that really fell off the map this year was this blog. With all the things I’m doing, it just hasn’t been as much of a priority. You’d think that would mean I’d have lots of things I’d be eager to talk about. And it does! But with [Twitter](http://twitter.com/flying_squirrel), a weekly coffee meetup with friends where I can just tell them things, Ellen being very patient with me as I work out problems or tell stories on the phone where I might have otherwise done that here, I don’t feel the need to take the time to compose something. And I feel bad about that, but I acknowledge that the blog has become an unfortunate victim of prioritization. One thing that I really do feel guilty about is that I feel like I’m shirking my responsibilities and should be blogging more about Kwartzlab, Ubuntu Canada and the Agile P2P (especially after I’d agreed to blog about sessions for Communitech. I only did [one of those](http://www.flyingsquirrel.ca/index.php/2011/02/25/product-sashimi/); I’d have done more, but I’ve had to miss nearly all the sessions since the summer). For Ubuntu Canada, I have actually done of few of those, more than anything else this year.
* **Agile Book Club**: Was a fantastic experience, but unfortunately now seems to be in the past tense. The principle members have either gone off and started a consulting company, [Lean Intuit](http://leanintuit.com) (I love the name), got [themselves](http://annalear.ca/) elected moderators of [Stack Overflow](http://stackoverflow.com) or [they’ve](http://twitter.com/az1) been whizzing around the world giving talks at Agile conferences. So the book club becomes another sad victim of prioritization. My one real regret is I’d just brought [Eric](http://eric.gerlach.ca/) on board just before it faded. He always has great insights and I’m sad he couldn’t have been a part of the club as it was in 2010 and early 2011.

All in all, I think this was another pretty fantastic year in a whole bunch of areas. I’m looking forward to 2012, but (hopefully, if I get my slides done for the KWLUG presentation), I’ll talk about that later.

Hey guys!

You know, I kinda feel bad for not posting as much personal stuff. Most of what I end up posting is Ubuntu or Kwartzlab-related. I know there are at least one or two of you who might like to hear a little bit about *me*.

How do you feel about bullets? Maybe in reverse-chronological order.

* I dressed up as The Blue Screen of Death for Hallowe’en. [Blurry MySpace shot](https://picasaweb.google.com/lh/photo/LyXn7pEaAJqS6vt6HQFlcVcronFdHSbP-DFsMLhVdgU?feat=directlink).
* I spent a chunk of the weekend at [FSOSS](http://fsoss.ca). Yeah, that’s Ubuntu-related. See the previous post. But it was cool and I got to hang out with some really interesting people, like one of the engineers working on the [Raspberry Pi](http://www.raspberrypi.org/?p=106). I also made some contacts and got some ideas for future Ubuntu things, if I ever have the time.
* [Hacky Hallowe’en was awesome](http://makebright.com/2011/10/kwartzlab-rocks-hacky-halloween/) apparently. I’m sad I wasn’t there. Wait, that’s about Kwartzlab, not me…
* I got a cold a couple of weeks ago and have been mostly quarantined from seeing Ellen. This makes me sad.
* I’ve become mildly obsessed with Dragon Age. I got the game because a bunch of co-workers liked it and figured it would be a modest distraction, but I ended up getting sucked in. I’ve played Origins and all the DLC. I haven’t played Dragon Age II yet. I’ve been too busy to afford resurrecting the time vampire. I have, however, bought the first volume of the tabletop role-playing game (which was a little disappointing) and I’ve just finished reading the first novel. I started the second last night.
* Speaking of obsessions, have you seen [the Doctor Who toys they’ve announced recently](http://merchandise.thedoctorwhosite.co.uk/enemies-of-the-third-doctor-collectors-set/)?! My most recent order (including Idris, River and Scaroth, last of the Jaggaroth) should be arriving soon.
* I should write about what I’m doing at work sometime. I’ve become a language designer as well as an IDE developer. It’s all pretty cool. My employer encourages us to blog about what we’re working on, but I still feel weird about it (hence not referring to said employer by name; not that it’s a secret or anything).
* I didn’t get to do nearly as much gardening as I wanted to do this year. Nearly every weekend was booked up with *something*: Ubuntu release parties, Stratford plays with Ellen, SoOnCon, Toronto International Film Festival, Ubuntu Global Jam, our trip to Montreal, Car Free Sundays, Kwartzlab cottage weekend… If not one of those, I was most likely spending time with Ellen or playing Dragon Age. I did a little bit to enact my gardening plans, but I’d hoped I’d be further ahead.
* Still, it was a pretty awesome summer. I can’t say I really regret all the stuff I’ve been doing.

Another election

It’s a provincial election time. I hate it when people say “Oh, there’s an election, but I just can’t bring myself to care.” But this time, I can kinda relate.

Thing is, I *do* care. There’s a lot of provincial stuff I care about. It’s just that from what I can tell, my local race is a foregone conclusion, I don’t think any of the candidates are awesome enough for me to feel like I should be personally sticking my neck out for any of them, and I’m a little bit annoyed with every one of them for one reason or another.

I actually mostly like the Liberal government’s record. I think the HST is a fantastic idea. I like green energy and I think they’ve been doing a reasonably good job of investing infrastructure. They’re taking credit for uploading services off of municipalities, which I think is a very good thing, but it’s taken them an awfully long time to do it, and they’re only just getting started at the end of their second term.

I also don’t like aspects of the campaign they’re running, but it’s not like any of the rest are much better. I’m really annoyed about the G20, but it’s not been an election issue, other than some noises from the NDP, and as there’s been no inquiry, I have no idea how much of that to lay at the feet of the province.

I would like to see people talking about building a new deal for cities, creating a sustainable funding model to get them less dependent on property taxes, which create perverse incentives and disproportionately hurt the elderly, of whom there will be many more in the near future. Other than talk of uploading and downloading, we aren’t getting any of that. And that’s thinking way too small.

I’d like to hear more about public transit infrastructure than just the Liberals patting themselves on the back for things like the LRT and the NDP promising to freeze fares (with no discernible plan to fund ridership growth).

I’d like to hear actual *innovative* ideas about how to solve Ontario’s problems. That’s probably too much to hope for.

So I don’t know. I’ll probably vote Liberal. I’m not a huge fan of the candidate, but I’m not a huge fan of any of the candidates. Not even the Greens. That just leaves me with my [algorithm](http://www.flyingsquirrel.ca/index.php/2008/09/08/ugh-election/).

A functional language

Listened to the latest This Developer’s Life yesterday. “[Education](http://thisdeveloperslife.com/post/2-0-3-education)”. I enjoyed especially the Seth Juarez interview.

Along with a bunch of useful advice and insight on how to think about school, Seth recommends every programmer should learn 3 languages: a strongly-typed compiled language, a dynamic language and a functional language.

I’ve got the first two well covered with multiple languages for each, but besides a bit of Scheme in school (nothing more than the usual trivial toy problems they give you to supposedly learn anything), I’ve never really delved into functional languages.

So learning one might be a good goal to set for myself. That leaves me with two questions to get started: what language? and what project?

I can kinda learn a language by reading books or whatever, but that’s a pretty shallow surface understanding. I need a project to really get into it. Now I don’t particularly *need* more projects to get into, but maybe it’s something I can putter around with when I’m just hanging out at [[Kwartzlab]] making myself accessible to people.

The problem is what project? I actually understand why and how functional languages are useful these days, but none of the half-dozen or so project ideas I have backburnered jump out as screaming for a functional implementation. So what to do will require a bit of thought.

The more fun problem is picking a language. I can hear [Eric](http://eric.gerlach.ca/)’s voice screaming “Haskell!” right about now. I’ve also heard good things about Scala. And Erlang. Then there’s OCaml and Lua and good ol’ Lisp.

Have to think about it. I have a Python project I’ve been slowly getting started on that would really help me out at work when it’s done. After that, I’ll look at functional a bit more, I think.

Delegation to Regional Council In Favour of LRT

I love living in Waterloo Region.

I love living in the City of Waterloo.

One of the things I love is that I can start walking from my house in Lakeshore–a 40-year-old suburb–and find myself in cow pastures in about 20 minutes.

I worry that if our current growth patterns and planning continue, we will lose that agricultural heritage. What we get in exchange are more car-dependent neighbourhoods, more traffic, more infrastructure that will need to be maintained and need to be replaced in the future.

I don’t want the Region of Waterloo to become another Mississauga.

Something needs to change, and I applaud regional council for moving forwards with an initiative to make that change.

Waterloo region is growing fast. In order to accommodate that growth, we need to intensify. The people who will move to those intensified neighbourhoods in our cores will not want to own a car. Because if they do–if they all do–they’ll see nothing but gridlock. It won’t work. We need rapid transit. And we need rapid transit on a dedicated right of way so that it is not held up by traffic.

Should we choose buses or trains? About 15 years ago, I lived in Ottawa and rode on what was at the time an excellent bus rapid transit system. Just a few decades after it was built, however, Ottawa is replacing its BRT system with light rail, at great expense to avoid disrupting existing ridership.

But what I find particularly telling is that there’s no discernible intensification around Ottawa’s Transitway stops since I lived there 15 years ago. BRT doesn’t meet our goals for intensification. People don’t want to live near buses. People don’t want to build near buses.

People *do* want to live next to rail. Developers want to build next to rail. In cities with rail transit, people organize their lives around rails.

In 2009, regional council chose light rail by an overwhelming majority. The provincial government, however, failed to come through with their promised share of the capital cost. So here we are.

As much as I favour light rail, I would prefer not to have to raise property tax rates significantly, nor do I believe we should slow implementation of the excellent [Regional Transportation Master Plan](http://www.movingforward2031.ca/). That’s why I favour [Option 1A](http://rapidtransit.region.waterloo.on.ca/pdfs/2011_May_Handout.pdf), with its shortened LRT route to Ottawa St. A shortened route still encourages growth in our cores.

I also believe we should aggressively pursue development charges and tax increment financing to fund LRT, as Rob Ford proposes for his subway project in Toronto. But if that’s not possible, I do believe we need to bite the bullet and build light rail.

If you vote against the LRT proposal I would expect to hear how your proposed alternative encourages intensification and can help to halt sprawl.

When asked if she had any regrets over her long career as mayor of Mississauga, [Hazel McCallion](http://en.wikipedia.org/wiki/Hazel_McCallion) said* her one [regret](http://www.thestar.com/news/mississauga/article/937684–hazel-mccallion-oversaw-mississauga-s-transformation-from-rural-to-urban) was not investing in transit and using it to shape development of her city. I urge you not to repeat the mistakes of the past and the mistakes of other cities. I urge you to invest in a fast, convenient and attractive rapid transit system. I urge you to hold the line against urban sprawl and protect our natural landscape. I urge you to invest in LRT.

Thank you.

* And I’m paraphrasing here, since i didn’t have internets in the meeting when I wrote this