Toronto Technology Week is a new initiative to showcase just how much innovation is happening ’round here. Their announcement is below, minus the dozens of mis-matched font tags put into the origina by at least two different versions of Word.
Toronto Technology Week (TTW) will host a series of activities to showcase the depth and breadth of Toronto’s high technology sector. These will include seminars and business networking functions, job fairs, collaboration demonstrations, an ICT business open-door program, school projects, educational seminars, special exhibits showcasing innovation and excellence and more. For more information on how you can participate, please contact:
Dave Forde, Chair, Toronto Technology Week, 416-760-3344.What is Toronto Technology Week?Toronto has some 3,300 ICT (Information and Communication Technology) businesses and 150,000 people that make up the sector here in the city. We have very talented workforce and our city is responsible for a lot of the world’s innovation but we need a way to tell the story of Toronto’s technology community a lot better. The
Foreign Affairs and International Trade Canada, the
Greater Toronto Marketing Alliance, and the
City of Toronto have come together on an initiative called “Toronto Technology Week”. This year I have the privilege to be the Chair and Alicia I. Bulwik, Toronto Economic Development as Co-Chair. We also have a powerful organizing committee including:
- Marie-Jose Crete, Centennial College
- Joey de Villa, Tucows Inc.
- Terri Joosten, CareerDoor Inc.
- John Jung, Greater Toronto Marketing Alliance
- Ian Kelso, New Media Business Alliance
- Mark Kuznicki, Remarkk Consulting
- Brad McBride, IT Business
- Dave Paolini, Lenovo Canada
- Marine Perran, City of Toronto IT
- Joy Peters, IMaps
- Elaine Pratt, KPMG
- Carla Tsambourlianos, Ministry of Economic Development
- Kathleen Webb, CASO
http://profectio.com/toronto-technology-week-may-28-to-june-1-2007/
http://www.urisaoc.ca/images/uploaded/Toronto%20Technology%20Week-Overview%20May%2028%2007.pdf
Announcements
Via Bruce Schneier comes BitFrost, a radically different take on computer security being developed for the One Laptop Per Child project. I have serious reservatios about OLPC — is internet connectivity really more deserving of money than clean water or immunization? — but its emphasis on reliability and usability could upset a lot of first-world apple carts. If you’re young, idealistic, and ambitious, there aren’t many better projects to get involved in right now…
Uncategorized
The University of Toronto wants to hire two Java developers to work on Blackboard, the learning management system it bought last year. Plugins need writing, there’s integration to be done — if you’re interested, please apply.
Feb 21: I’ve updated the link to the announcement. Closing date is March 1; please pass it around.
Uncategorized
I’m using Google Calendar to organize [sic] my life, and have stumbled across an annoying bug. I maintain two calendars: one for work-related events, and one for my personal life. I have set sharing on the latter to “Share only my free / busy information (hide details)”, but if you view my calendar at:
http://www.google.com/calendar/embed?src=gvwilson%40cs.utoronto.ca
all you see is items from the first (work) calendar. I had expected to see the times from the second blocked out as well, without event names or details. Is this a “feature”, or…?
Uncategorized
Jason Haley’s most recent post includes a picture of the tables that make up a .NET Assembly’s manifest. I’ll reproduce it here to save you clicking on the link:

I don’t think there’s any way a human being could keep track of this, or fix it if it was broken. On the other hand, I don’t believe human beings could make sense of an assembler-level trace of a modern Java application. The difference, of course, is that we have high-level debuggers for the latter…
Uncategorized
I posted a picture of DrProject‘s database schema a while ago. Last week, I found myself drawing its architecture on the blackboard in class, so I figured I should post that too. (It would have been up two hours ago, but my Mac died again…)

Here are the key elements:
- Apache forwards HTTP requests for DrProject pages to SCGI; it also handles traffic from other Subversion clients (such as the command line or Eclipse).
- SCGI runs the Python that makes up DrProject. This is a long-running process, so that we don’t pay the cost of repeated forking and loading.
- A command-line tool called drproject-admin uses the same Python code; administrators can use it in shell scripts, or in other Python programs, to do batch operations (like setting up one project for each pair of students in a course).
- (Almost) everything that isn’t in a Subversion repository is stored in a PostgreSQL database.
- When mail intended for a DrProject project lands on the machine, Postfix drops it in a spool directory. Whenever DrProject runs, it pulls messages out of that directory, archives them in the database, indexes them, and forwards them to project members.
- The “mail strobe” was written because DrProject only forwards mail when it runs. This means that if no-one visits the site for three days, mail will just pile up in the spool directory. The strobe is just a cron job that pokes the server every minute or so. DrProject 2.0 will pull mail handling out of the CGI, and have it run every time mail is delivered (or alternatively, have Postfix poke SCGI — we haven’t decided yet).
- The “service check” is another small program that polls all of the DrProject installations on a machine every few minutes to make sure they’re still up, and sends the admins email if they’re not. We’ve always had occasional lockups, but they’ve been growing more common as load on the server increases; the folks at Engenuity are looking into this right now.
- A program called validate, which checks user IDs and passwords against a password file. We took user management out of the PostreSQL database so that we could piggyback on top of the departmental lab’s user provisioning system; since we don’t want a process running as www-data (the dummy user set up for Apache) to have access to password information, we use an external program that runs under setuid.
- The password file that validate checks, which is stitched together periodically from (a) the server’s own password file, (b) a subset of the user information from the departmental lab’s password file, and (c) a mock password file for external users who don’t have shell accounts, but who need access to projects.
- DrProject’s own configuration files. I say “files” because each installation of DrProject has its own configuration (although they all share code). Again, we’ll fix this by the time 2.0 comes out…
(I left out the Apache and Postfix configuration files, both of which have to be edited as well as part of an installation.)
I have two observations about this diagram:
- DrProject is actually a fairly simple system compared to many in widespread use today. An equivalent diagram for SourceForge would probably have three times as many boxes on it; Indigo’s order tracking system wouldn’t fit onto your screen (I don’t care how big your screen is, it wouldn’t fit). While we’re making progress on debugging programs (even multithreaded ones — see Zeller’s book), I haven’t seen any substantive work on debugging configurations: if you don’t get it write, all you can do is tweak and pray. Anyone who wants to be rich, famous, and popular should consider tackling this problem.
- This diagram combines several of Kruchten’s 4+1 views into one: it shows a logical view of the system’s components, a process-level view of the system’s concurrency, and a development view of which code relies on which. It equally shows elements from all the major divisions in John Reekie’s system (which I’ve been using in class, and have been finding very useful). I see this whenever I try to explain any system’s architecture to anyone: I always want to mix entities of different types in my pictures, because every sensible narrative about the system incorporates them all.
I’d be interested in seeing pictures of other applications’ architectures if anyone has pointers — I rather suspect that everyone else is making up notations on the fly to fit their needs as well.
DrProject
The carpet-layers are hammering away upstairs, so I figured I’d distract myself by pulling up a few links from my del.icio.us collection:
Uncategorized
This (from Brian Hayes) is very cool: railroads can perform computations.
Uncategorized
Really wish I could go to this — Eclipse, like Linux and Apache, has transformed itself from a tool into an excuse for people doing technically innovative things to hang out and swap ideas. Or maybe “lingua franca” would be a better analogy, or the early days of Unix, when anything that could consume and produce lines of text could play with so many other tools. Anyone want to adapt Mylar for DrProject?
Uncategorized
Recent Comments