Archive

Archive for August, 2011

AOSA Volume 2 Roster

August 25th, 2011
Comments Off

Volume 2 is going to be another great book:

  1. Apache Derby: Tiago Espinha
  2. Diaspora: Sarah Mei
  3. Distributed Systems: Kate Matsudaira
  4. Erlang/OTP: Elise Huard
  5. FreeRTOS: Christopher Svec
  6. GDB: Stan Shebs
  7. GPSD: Eric Raymond
  8. Git: Susan Potter
  9. Glasgow Haskell Compiler: Simon Peyton-Jones and Simon Marlow
  10. ITK: Brad King and Luis Ibanez
  11. Inkscape: Jon Cruz
  12. Iron Languages: Jeff Hardy
  13. K-9 Mail: Jesse Vincent
  14. Linux distro: Allison Randal
  15. Mailman: Barry Warsaw
  16. MediaWiki: Guillaume Paumier, Sumana Harihareswara, Erik Möller, and Brion Vibber
  17. Moodle: Tim Hunt
  18. Mozilla build and release: John O’Duinn and others
  19. OSCAR: Jennifer Ruttan
  20. Open MPI: Jeff Squyres
  21. OpenStreetMap: Harry Wood
  22. Parrot: Christoph Otto
  23. PostgreSQL: Selena Deckelmann
  24. Processing.js: Mike Kamermans
  25. Puppet: James Turnbull, Luke Kanies, and Nigel Kersten
  26. PyPy: Benjamin Peterson
  27. SQLAlchemy: Michael Bayer
  28. Sakai: Ian Boston
  29. ScummVM: Eugene Sandulenko
  30. Twisted: Jessica McKellar
  31. Yesod: Michael Snoyman
  32. Yocto: Flanagan Elizabeth
  33. ZeroMQ: Martin Sustrik
  34. database evolution: Sheeri Cabral
  35. jQuery: Addy Osmani
  36. matplotlib: John Hunter
  37. nginx: Andrey Alexeev

Architecture of Open Source Applications

Three Paradigms (or, Why LLC Should Teach Javascript)

August 25th, 2011

Mark Guzdial recently posted another thought-provoking piece on computing education that has some direct implications for a project here in Toronto called Ladies Learning Code (and for other projects Software Carpentry). In his post, Mark summarizes a 1996 paper by Greeno, Collins, and Resnick that summarizes three views of education:

  1. Behaviorist: education is a matter of stimulus and response.
  2. Cognitive: education is about building and applying knowledge structures.
  3. Situated: education is about making people more successful members of a community of practice.

All three views are valid: they all provoke useful questions, make testable predictions, and so on. #2 (which is associated with people like Piaget) is probably the dominant paradigm today, but Mark’s point is that #3 is equally important. Real-world problems are rarely solved by hermits working in complete isolation; instead, we go through apprenticeships, share sub-problems with colleagues, and hang out on Stack Overflow.

So what’s this got to do with LLC? Well, if you’re going to teach people to program, you have to pick a programming language. As a computer scientist, I’m drawn to elegant little languages like Scheme—but that’s paradigm #2 talking. “We must use language X, so that we can focus on fundamental principles that students will use for the rest of their lives” isn’t useful if those students are going to be interacting with people who speak a different language, just as teaching the fundamental principles of grammar and composition in Latin isn’t useful if people are going to work in English or Mandarin.

Mark knows better than anyone that Java is a bad language to use with novice programmers—he and his group have been studying the broader question for years. Despite that, he accepts that computer science students have to learn Java at some point in order to take part in the community of practice that is professional programming. It’s an echo of Joel Spolsky’s argument that every serious programmer has to learn C: other than examples in class, I haven’t written any C (or C++) in almost ten years, but I simply couldn’t take part in some discussions with my peers without knowing what structs and pointers are.

I personally think that Javascript is a less-than-ideal language for teaching novices: it violates the Principle of Least Astonishment almost as often as Inglish speling. Despite that, I think it’s the only sensible choice for something like LLC: like it or not, it’s the lingua franca of the web. If the goal of LLC is to get participants to the point where they can bootstrap themselves in the time they can actually spare for this (remember, they all have jobs and families—they’re doing this on the side), then Javascript’s flaws are less significant than its community and utility.

This still leaves a lot of questions, of course. Should it be taught language-first, or should libraries like jQuery be introduced right from the start? What about things like Processing.js: after all, Guzdial’s research shows that a media-first approach attracts and retains a wider range of people. I think trial and error is the only solution, but even the “errors” will be useful and fun, and how often can you say that with a straight face?

Learning

And We’ll Change The World

August 24th, 2011


“…love is better than anger. Hope is better than fear. Optimism is better than despair. So let us be loving, hopeful and optimistic. And we’ll change the world.”
– Jack Layton

Uncategorized

Jack Layton: 1950-2011

August 23rd, 2011
Comments Off

When people say, “The world needs more Canada,” I think Jack Layton is the kind of Canada they mean.

Uncategorized

Code Coverage in Lernanta

August 22nd, 2011
Comments Off

Percentage of statements covered by tests as a function of module size. Yes, I know, statement coverage isn’t a good way to assess the quality of testing, but it’s easy to do, and gives an idea of the hill we have to climb. #feelsgoodtobedoingopensourceagain

Uncategorized

First Draft

August 21st, 2011
Comments Off

I have posted a much longer version of my story Still, which ran in On Spec last summer. It’s intended for young adult readers, but feedback from readers of any age would be welcome.

Later: no comments came in, so I’ve taken the story down.

Writing

Indivica is Hiring

August 21st, 2011
Comments Off

Indivica is looking for developers and support engineers to help extend and deploy OSCAR, an open source electronic medical record system used in small and medium-sized medical practices. They’re a distributed company—most people work from a home office (or a coffee shop, if they’re young and hip)—so applicants from anywhere in Canada are welcome to apply.

Developer: Java (J2EE preferably), Web experience (JavaScript/jQuery/CSS), Python (plus Django if possible, but not necessary), MySQL, Subversion and/or Git experience; iOS experience a plus; would also be good to have experience with server development. Duties will be to fix bugs in OSCAR, new software/feature development, convert new customers’ old system databases to OSCAR’s schema, and to interact with the support side of the business to address customer concerns.

Solutions Engineer: Doesn’t need to be a strong coder (very little development will be required), but will need to understand Java, JavaScript, and MySQL, know how to administer a Linux-based system, and know how to use a debugger. Duties will include interacting with customers to address their issues with the system, training, installation, and acting as a liaison between customers and the development team.

For more information, please contact Jennifer Ruttan.

Employment

Today Was a Good Day

August 21st, 2011
Comments Off

Sadie and I went out to Table 17 for our anniversary last night while Dee babysat Madeleine. The food was delicious, and afterward, we walked home along Queen Street, stopping off at Film Buff for ice cream (Sadie) and key lime soda (me). I woke up around 5:30 (damn that internal alarm clock), worked on Lernanta for half an hour, then went downstairs and started sorting out the basement (which has been on my to-do list since Christmas).

Sadie and Maddie woke up around 8:00; we left the house a bit before 9:00 to get cranberry rolls, almond croissants, coffee, and lemonade (for Maddie) at Voulez Vous, then headed downtown so that I could collect the last of my stuff from the Scimatic office on Spadina. Once the car was loaded we walked up to Kensington Market to pick up some groceries; the high point for Maddie was roaring up and down the purple accessibility ramp at The Fairies Pyjamas.

It was already 30° by the time got home, having stopped at the Paint Depot on Queen St. to pick up a half gallon of pale yellow and another half of pale purple, plus some brushes and rollers. I went back downstairs (the basement really was a mess) while Sadie and Maddie went up to the study to tarp, tape, and paint. Two hours and a hasty lunch later, I started on the garage, which was in even worse shape than the basement. We had a bit of a scare mid-afternoon when Maddie took a tumble on the stairs, but other than a couple of bruises and a bit lip it turned out to be nothing that a cuddle from mummy, a freezie, and some TV couldn’t fix.

We wrapped up around four o’clock. I called my sister while Sadie was showering: her oldest son heads back to RMC early tomorrow morning. She probably won’t see him again (even though the oncologist is now saying she could make it to the end of October), so of course we talked about everything else1. Afterward, Sadie, Maddie, and I ambled up to Regency for dinner around 5:00 for some of Toronto’s best chana masala. We got home in time to watch a Tinker Bell movie before bed, which, considering that it portrays TB as a bit of a nerd, was a pretty good end to the day for all three of us.  And yeah, the study needs its second coat, we need to find someone to paint the trim (I’m incompetent, and Sadie hates doing it), the chest of drawers that’s half-blocking the basement hall needs to come up and go out, I still haven’t figured out where to put the bike hangers in the garage, and life is so short it’s all I can do sometimes not to weep, but it was still a really, really good day.

1)We’ve been kicking all kinds of questions back and forth, like, “What’s your earliest memory of ice cream?” and, “What do you think your kids will remember most about you?” The most recent was, “OK, so assuming you make it, what would you like Saint Peter to say to you when you reach the Pearly Gates?” The best answer so far has been, “Hi, boss.”

Family, Uncategorized

You’re Going to Show This to People When I’m Grown Up, Aren’t You?

August 19th, 2011

As Excited as a Bumble Bee in a Squash Patch

August 19th, 2011
Comments Off

Two weeks ago Hot Yam! (a sustainable food co-op at the University of Toronto) submitted a proposal to the Graduate Student Union to operate a full-time, student-organised cafe and student space in their building.  Today, they heard that it has been accepted—congratulations! But as Jon Pipitone says in his blog post, it’s going to take a lot of work to get off the ground, and they could use your help. You can reach them at hottestyam@gmail.com, or come by the GSU (16 Bancroft Avenue) at 6:00 pm on Monday, August 22 for a quick meeting about who, what, when, and how to make the world just a little bit better. Hope to see you there!

View Larger Map

Uncategorized