An interesting post from Carleton’s Prof. Nick Rowe about the economics of prof/student ratios (and other things). His exclusive use of male pronouns grates a bit, but the points he makes are good ones.
Professors Leiserson and Amarasinghe teach a course called “Performance Engineering of Software Systems” at MIT. According to this article, they bring in experienced programmers from industry to do code reviews on students’ projects. Why didn’t I think of that?
Random Hacks of Kindness 2.0 is in Toronto on December 4-5, 2010, and we’d like you to take part. As Heather Leson says:
RHoK is a community of developers, geeks and tech-savvy do-gooders around the world, working to develop software solutions that respond to the challenges facing humanity today. RHoK is all about using technology to make the world a better place by building a community of innovation. RHoK brings software engineers together with disaster relief experts to identify critical global challenges, and develop software to respond to them. A RHoK Hackathon event brings together the best and the brightest hackers from around the world, who volunteer their time to solve real-world problems.
RHoK Toronto will run from 9:00 am on December 4, 2010 to 8:00 pm on December 5 (yes, overnight), in Rooms 2015, 2016, 2019, and 2020 of the Sidney Smith building at 100 St. George Avenue on the University of Toronto’s downtown campus. Registration is now open: we need hackers, storytellers, software engineers, programmers, university students, marketers, web content creators, emergency planners,international policy and development students, teachers, librarians, videographers, event planners, organizers, project managers, and someone who knows how to calm Miles down after his fourth cup of coffee. I know the timing isn’t great for students, who will be in the middle of the death march leading up to final projects and exams, but come on, it’ll be fun, and we’ll make the world a slightly better place.
I am pleased to announce that Volume 1 of my father’s book An Uncertain Thing: A History of Childhood in the Western World is now available, and that Volumes 2 and 3 should appear shortly. Many thanks to Amy Brown for all her editorial work.
Later: Volume 2 is now available as well.
Still later: and Volume 3 is now up.
I am pleased to announce that ComputerWorld Canada has named me the 2010 IT Educator of the Year for “…recognizing the application of innovative techniques and development of new curriculum and delivery of programs that stimulate learning.” My thanks to Prof. Karen Reid and Prof. Marsha Chechik for nominating me; to the faculty, staff, and students of the Dept. of Computer Science at the University of Toronto; and most especially, to my mum and dad, who taught me the things that matter most.
New catchphrase (with apologies to Theodosius Dobzhansky):
Nothing in software engineering makes sense except in the light of human psychology.
The Great Beyond has a post today about Canadian scientists creating a web site to get their side of the story across in the face of repeated attempts by our government to muzzle them. It’s good to see this starting up, but as GB notes, the site:
…hosts some (unfortunately rather dry) video testimonials by scientists explaining the importance of their work—a worthy project, but sadly one unlikely to ignite a public rally to support the cause…The ‘Take action!’ section of the site is currently blank…
I wonder if they could use some help…
I enjoyed reading this “literate” version of the backbone.js source (I put “literate” in quotes because—oh, never mind, it doesn’t matter for the purposes of this post). But I was also kind of amused: as a young programmer, I was taught that two-column commenting, like this:
mov @R1, R2 # load hash table base add R2, R3 mov @R2, R2 # load hash table cell lda #WIDTH, R3 add R2, R3
and then later told it was a Bad Thing, and that comments ought to go inline. Feels kind of hipster-retro to see two-column come back into style…
Interesting article: I’d never heard of patron-driven acquisition before, but the basic idea is one that other services could borrow:
[L]ibraries will load a selection of records for potential titles into the library’s catalog. When a user discovers an item of interest, they’ll be able to explore the title at no initial cost to the library. After a certain amount of use, however, a purchase is triggered, and that title is added to library’s collection, charged as either a single-user access price (usually list price for an ebook), or the higher multi-user access price, depending on the preference of the library and on the availability restrictions put in place by the publishers. Crucially, the process is automated and seamless to the user, who is unaware of the transaction.
Peter Norvig, the author of one of the standard textbooks on AI, and now at Google, has this to say about Python:
I came to Python not because I thought it was a better/acceptable/pragmatic Lisp, but because it was better pseudocode. Several students claimed that they had a hard time mapping from the pseudocode in my AI textbook to the Lisp code that Russell and I had online. So I looked for the language that was most like our pseudocode, and found that Python was the best match. Then I had to teach myself enough Python to implement the examples from the textbook. I found that Python was very nice for certain types of small problems, and had the libraries I needed to integrate with lots of other stuff, at Google and elsewhere on the net.
I think Lisp still has an edge for larger projects and for applications where the speed of the compiled code is important. But Python has the edge (with a large number of students) when the main goal is communication, not programming per se.
In terms of programming-in-the-large, at Google and elsewhere, I think that language choice is not as important as all the other choices: if you have the right overall architecture, the right team of programmers, the right development process that allows for rapid development with continuous improvement, then many languages will work for you; if you don’t have those things you’re in trouble regardless of your language choice.