A functional language

Listened to the latest This Developer’s Life yesterday. “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‘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.


Inaugural Address

During our AGM last month, Kwartzlab elected a new Board of Directors for 2011-2012. The new Board begins its term today. I figure it’s a good time to look forward on the year ahead, so I gave my “inaugural address” to the Kwartzlab mailing list this morning as the Board’s new President. (Reposted from kwartzlab.ca)

Hi, Kwartzlabbers!

It is a great honour to have been elected to the Board of this fine and noble institution, and it is also humbling and a teensy bit terrifying to be appointed President. I am told by previous presidents, however, that the job is a doddle and that I have nothing to worry about. The fact that you are all awesome leads me to believe this is almost certainly true. But I do feel there’s a certain weightiness and austerity that comes with a title like “President” that means I really ought to get better at making speeches.

Speeches aside, I’d like to see the Board do a better job involving the membership in what’s going on. It’s the board’s responsibility to make sure we stay solvent and nobody gets killed, but after that, we all have a stake in making Kwartzlab better. When there’s something that needs to get done, any one of us can and should do it. The Board can, I think, do a better job letting people know what needs to be done so that those with the time, skill or enthusiasm can see it through.

Read the rest of this entry »Collapse )


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. That’s why I favour Option 1A, 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 said* her one regret 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


Pink wristbands

I used to volunteer at the Royal Medieval Faire, usually working gates: taking money and welcoming people to the Faire. One year the Faire tried giving people wristbands instead of hand stamps to let them back in. For no discernible reason, the wristbands were pink.

One little boy worked his way up to us in the line with his parents. Dad paid the admission and we got out the wristbands.

“You’re not putting that on my son.”

He was, we thought, unnecessarily forceful. We explained that they were meant to let people back into the park.

“I won’t have him wearing that. It’s a girl’s colour. My son isn’t a girl.”

We actually got a few people like that. None quite as aggro as the one father, but it had us shaking our heads.

Really? Parents were really willing to push their preconceived notions of gender on their kids that hard? I had to feel sorry for the little boy. What if he turned out to be gay? Or just secretly liked flowers? I can’t imagine what it would be like living with a father like that.

I read the Parents Keep Child’s Gender a Secret story and thought “Huh, I can kinda see their point.” But then I read the comments (more on Facebook) and my heart sank. And I thought about that little boy and realized there are a lot of people out there like his dad.


Vote. Please.

I have the start of four other posts about the current Canadian parliamentary election in my drafts folder. I’ve been having a hard time collating my thoughts into something novel or interesting.

This election scares me and makes me profoundly sad for my country. That’s made it hard for me to get my thoughts together. Fortunately, Canadian constitutional expert Peter Russell does a better job than I could.

I’ve got an Ubuntu release party this weekend, but I’m hoping I get pull together some sort of substantial election post before the actual election.


Ubuntu Global Jam, April 2

[I"m going to Ubuntu Global Jam!]Ubuntu Waterloo is hosting our third Ubuntu Global Jam, Saturday, April 2 at Kwartzlab.

The Global Jam is a worldwide event to make Ubuntu better. Ubuntu 11.04, the Natty Narwhal will be released in a little over a month and the Global Jam give the community (that’s us) a chance to help find bugs, triage them and fix them.

Starting at 2pm, we’ll have an informal open space conference on the theme of contributing to Ubuntu (and open source in general) in the afternoon. If you have experience or questions, please bring them. In the evening, we can embark on whatever exciting project we were inspired to do in the afternoon.

Join us and help make Ubuntu better!


A couple days ago, I gave a presentation on Clutter (the API for building animated graphical user interfaces for touchscreens and the like) to KWLUG. Here’s a shorter, screencast version of the presentation:

The slides themselves were created in python with Clutter. You can pull the source down from launchpad with bzr branch lp:~dscassel/+junk/clutter-presentation/ if you have bzr.

Product Sashimi

I wrote this post for the Communitech blog. It’s cross-posted here.

Say you’re about to start designing a software product. You’ve got a few ideas and a blank whiteboard. You’ve gathered together people who understand the problem you’re trying to solve and the people who will value the solution.

You could brainstorm a bunch of features and start building them, but how do you know which features will actually be used and which will end up buried in some menu, untouched?

To avoid that, you need to get your product into the hands of users in order to get feedback (and revenue) as soon as possible. “Product Sashimi” is the term coined by JB Rainsberger for a set of techniques that help you thinly slice your product to deliver the simplest thing that could possibly work. Delivering a simple product early means you can find out directly from your users what additional features they would find valuable so you don’t have to build the ones they won’t.

Read the rest of this entry »Collapse )


The Illusionist

I mentioned at Con-G yesterday that The Illusionist is playing at the Princess this week, and I'd like to see it tomorrow night. 7pm.

Here's the trailer. It looks lovely.

Edited because I'm an idiot. The movie starts at 7pm.

Tenth Anniversary

Ten years ago today, I posted my first blog post.

Okay, technically, that was on my old, hand-coded blog, and I’m lame even after almost 4 years, I haven’t imported my old blog into this one, but woo! 10 years!

Equally technically, I was posting something like blog posts on my old homepage, starting around 1998 or so. They weren’t archived or anything, I’d just insert a couple paragraphs between <hr> tags on whatever I happened to feel like writing about at the time, replacing whatever was there before. No, not a blog, but my blog was an extension of that.

My ideas about blogging have changed quite a bit. I originally wanted a place I could write anonymously about whatever I felt like. Then I decided that blogging anonymously was horribly pretentious and nobody actually cared. Now I’ve got Twitter satiating most of what used to drive me to blog. That’s my current excuse for why I don’t hang out here quite as much, anyway.

Ten years. That’s a long time.

Neil Gaiman beat me by a week.


Latest Month

July 2011



RSS Atom
Powered by LiveJournal.com