A bit more on the abstract and some <p> formatting
[dtbartle/www.git] / events.xml
1 <?xml version='1.0'?>
2
3 <!DOCTYPE eventdefs SYSTEM "csc.dtd">
4 <eventdefs>
5
6 <!-- Spring 2011 -->
7 <eventitem date="2011-07-15" time="7 PM" room="Comfy Lounge" title="Code Party 3">
8         <short>Our third and final code party of the term! As usual, there will be 
9                 code, code, and more code. Plus energy drinks.
10
11                 The theme for this code party is Open Source Collaboration. We encourage
12                 everybody to come out and participate in some open source projects.
13
14                 More details to follow!
15         </short>
16         <abstract>Our third and final code party of the term! As usual, there will be 
17                 code, code, and more code. Plus energy drinks.
18
19                 The theme for this code party is Open Source Collaboration. We encourage
20                 everybody to come out and participate in some open source projects.
21
22                 More details to follow!
23         </abstract>
24 </eventitem>
25 <eventitem date="2011-07-09" time="2 PM" room="Outdoors" title="picniCS">
26         <short>
27                 Join us in July at our picnic and campfire.  We'll have snacks, frisbees, 
28                 and kites!
29
30                 More details to follow!
31         </short>
32         <abstract>
33                 Join us in July at our picnic and campfire.  We'll have snacks, frisbees, 
34                 and kites!
35
36                 More details to follow!
37         </abstract>
38 </eventitem>
39 <eventitem date="2011-06-17" time="7 PM" room="Comfy Lounge" title="Code Party 2">
40         <short>Our second code party. This iteration's topic: Puzzles, contests, and
41                 interview questions. You can also work on whatever other code you want to.
42
43                 More details to follow!
44         </short>
45         <abstract>Our second code party. This iteration's topic: Puzzles, contests, and
46                 interview questions. You can also work on whatever other code you want to.
47
48                 More details to follow!
49         </abstract>
50 </eventitem>
51 <eventitem date="2011-06-09" time="4:30 PM" room="MC Classroom TBA" 
52         title="General Purpose Computing on Graphics Cards">
53         <short>
54                 In the first of our member talks for the term, Katie Hyatt will give a
55                 short introduction to General Purpose Graphics Processing Unit
56                 computing.  This expanding field has many applications. The primary
57                 focus of this talk will be nVidia's CUDA architecture.
58         </short>
59         <abstract>
60                 <p> This is the first of our member talks for the term, presented by
61                         CSC member and Waterloo undergraduate student Katie Hyatt
62                 </p>
63                 <p>
64                         GPGPU (general purpose graphics processing unit) computing is an
65                         expanding area of interest, with applications in physics, chemistry,
66                         applied math, finance, and other fields. nVidia has created an
67                         architecture named CUDA to allow programmers to use graphics cards
68                         without having to write PTX assembly or understand OpenGL. CUDA is
69                         designed to allow for high-performance parallel computation controlled
70                         from the CPU while granting the user fine control over the behaviour
71                         and performance of the device.
72                 </p>
73
74                 <p>
75                         In this talk, I'll discuss the basics of nVidia's CUDA architecture
76                         (with most emphasis on the CUDA C extensions), the GPGPU programming
77                         environment, optimizing code written for the graphics card, algorithms
78                         with noteworthy performance on GPU, libraries and tools available to
79                         the GPGPU programmer, and some applications to condensed matter
80                         physics. No physics background required!
81                 </p>
82         </abstract>
83 </eventitem>
84 <eventitem date="2011-06-03" time="7 PM" room="Comfy Lounge" title="Code Party 1">
85         <short>
86                 The Computer Science Club is having our first code party of the term.
87                 The theme for this week's code party is personal projects. Come show us
88                 what you've been working on! Of course, everybody is welcome, even if you
89                 don't have a project.
90         </short>
91         <abstract>
92                 The Computer Science Club is having our first code party of the term.
93                 The theme for this week's code party is personal projects. Come show us
94                 what you've been working on! Of course, everybody is welcome, even if you
95                 don't have a project.
96
97                 Personal projects are a great way to flex your CS muscles, and learn interesting
98                 and new things. Come out and have some fun!
99
100                 Two more are scheduled for later in the term.
101         </abstract>
102 </eventitem>
103 <eventitem date="2011-05-09" time="5:31 PM" room="Comfy Lounge" title="Elections Nominees List">
104     <short>
105     <p>CSC Elections, final list of nominations for Spring 2011</p>
106     </short>
107     <abstract>
108     <p>The nominations are:
109     <ul>
110     <li>President: jdonland, mimcpher, mthiffau</li>
111     <li>Vice-President: jdonland, mimcpher</li>
112     <li>Treasurer: akansong, kspaans</li>
113     <li>Secretary: akansong, jdonland</li>
114     </ul>
115     </p>
116     </abstract>
117 </eventitem>
118
119 <eventitem date="2011-05-09" time="5:30 PM" room="Comfy Lounge" title="Elections">
120     <short>
121     <p>CSC Elections have begun for the Spring 2011 term, nominations are open!</p>
122     </short>
123     <abstract>
124     <p>It's time to elect your CSC executive for the Spring 2011 term. The
125        elections will be held on Monday May 9th at 5:30PM in the Comfy Lounge
126        on the 3rd floor of the MC. Nominations can be sent to the Chief
127        Returning Officer, <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
128        Nominations will be open until 4:30PM on Monday May 9th. You can also stop by the office in
129        person to write your nominations on the white board.</p>
130
131     <p>The executive positions open for nomination are:
132     <ul>
133     <li>President</li>
134     <li>Vice-President</li>
135     <li>Treasurer</li>
136     <li>Secretary</li>
137     </ul>
138        There are also numerous positions that will be appointed once the
139        executive are elected including systems administrator, office manager,
140        and librarian.</p>
141
142     <p>Everyone is encouraged to run if they are interested, regardless of
143        program of study, age, or experience. If you can't make the election,
144        that's OK too! You can give the CRO a statement to read on your
145        behalf. If you can't make it or are out of town, your votes can be
146        sent to the CRO in advance of the elections. For the list of nominees,
147        watch the CSC website, or ask the CRO.</p>
148
149     <p>Good luck to our candidates!</p>
150     </abstract>
151 </eventitem>
152
153 <!-- Winter 2011 -->
154 <eventitem date="2011-03-17" time="04:30 PM" room="MC2034" title="Software Patents">
155   
156     <short><p><i>by Stanley Khaing</i>. What are the requirements for obtaining a patent? Should software be patentable?</p></short>
157
158 <abstract>
159         <p>Stanley Khaing is a lawyer from Waterloo whose areas of practice are software and high technology. He will be discussing software patents. In particular, he will be addressing the following questions:</p>
160         <ul>
161         <li>What are the requirements for obtaining a patent?</li>
162         <li>Should software be patentable?</li>
163         </ul>
164 </abstract>
165
166 </eventitem>
167
168 <eventitem date="2011-02-17" time="07:00 PM" room="MC2017" title="A Smorgasbord of Perl Talks">
169   
170     <short><p><i>by KW Perl Mongers</i>. These talks are intended for programmers who are curious about the Swiss Army Chainsaw of languages, Perl.</p></short>
171
172 <abstract>
173         <p>Tyler Slijboom will present:</p>
174
175         <ul>
176         <li>Prototyping in Perl,</li>
177         <li>Perl Default Variables,</li>
178         <li>HOWTO on OO Programming, and</li>
179         <li>HOWTO on Installing and Using Modules from CPAN</li>
180         </ul>
181
182         <p>Daniel Allen will present:</p>
183
184         <ul>
185         <li>Coping with Other Peoples' Code</li>
186         </ul>
187
188         <p>Justin Wheeler will present:</p>
189
190         <ul>
191         <li>Moose: a Modern Perl Framework</li>
192         </ul>
193 </abstract>
194
195 </eventitem>
196
197 <eventitem date="2011-02-09" time="04:30 PM" room="MC3003" title="UNIX 103: Version Control Systems">
198   
199     <short><p><i>by Calum T. Dalek</i>. In this long-awaited third installment of the popular Unix Tutorials the friendly experts of the CSC will teach you the simple art of version control.
200 </p></short>
201
202     <abstract><p>You will learn the purpose and use of two different Version Control Systems (git and subversion). This tutorial will advise you in the discipline of managing the source code of your projects and enable you to quickly learn new Version Control Systems in the work place -- a skill that is much sought after by employers.</p></abstract>
203
204 </eventitem>
205
206 <eventitem date="2011-02-04" time="07:00 PM" room="Comfy Lounge" title="Code Party">
207   
208     <short><p><i>by Calum T. Dalek</i>. Come one, come all to the Code Party happening in the Comfy Lounge this Friday. The event starts at 7:00PM and will run through the night.</p></short>
209
210     <abstract><p>Why sleep when you could be hacking on $your_favourite_project or doing $something_classy in great company? Join us for a night of coding and comraderie! Food and caffeine will be provided.</p></abstract>
211
212 </eventitem>
213
214 <eventitem date="2011-02-02" time="04:30 PM" room="MC3003" title="UNIX 102: Documents and Editing in the Unix environment">
215   
216     <short><p><i>by Calum T. Dalek</i>. The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
217 </p></short>
218
219     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed Unix 101 but still know your way around you should be fine. Topics covered include: "real" editors, document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing in the student environment and elsewhere. If you aren't interested or feel comfortable with these tasks, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix.</p></abstract>
220
221 </eventitem>
222
223 <eventitem date="2011-01-26" time="04:30 PM" room="MC3003" title="UNIX 101: An Introduction to the Shell">
224   
225     <short><p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!
226 </p></short>
227   
228   
229     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
230 servers and on other Unix environments. Topics covered include: using the shell, both basic
231 interaction and advanced topics like scripting and job control, the filesystem and manipulating
232 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
233 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
234 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
235 </p></abstract>
236
237 </eventitem>
238
239
240 <!-- Fall 2010 -->
241 <eventitem date="2010-11-17" time="04:30 PM" room="MC4061" title="Mathematics and aesthetics in maze design">
242   
243     <short><p><i>by Dr. Craig S. Kaplan</i>. In this talk, I discuss the role of the computer in the process of designing mazes.  I present some well known algorithms for maze construction, and more recent research that attempts to novel mazes with non-trivial mathematical or aesthetic properties.
244 </p></short>
245   
246   
247     <abstract><p>For thousands of years, mazes and labyrinths have played
248 an important role in human culture and myth.  Today, solving
249 mazes is a popular pastime, whether with pencil on paper
250 or by navigating through a cornfield.
251 </p><p>The construction of compelling mazes encompasses a variety of
252 challenges in mathematics, algorithm design, and aesthetics.
253 The maze should be visually attractive, but it should also be
254 an engaging puzzle.  Master designers balance these two goals
255 with wonderful results.
256 </p><p>In this talk, I discuss the role of the computer in the process
257 of designing mazes.  I present some well known algorithms for
258 maze construction, and more recent research that attempts to
259 novel mazes with non-trivial mathematical or aesthetic properties.
260 </p></abstract>
261   
262 </eventitem>
263 <eventitem date="2010-11-13" time="12:00 PM" room="Outside DC" title="CSC Invades Toronto">
264
265     <short><p>The CSC is going to Toronto to visit UofT's <a href="http://cssu.cdf.toronto.edu/">CSSU</a>, see what they do, and have beer with them.
266             If you would like to come along, please come by the office and sign up. The cost for the trip is $2 per member.
267
268         The bus will be leaving from the Davis Center (DC) Saturday Nov. 13 at NOON (some people may have been told 1pm, this is an error). Please show up a few minutes early so we may
269             board.</p></short>
270
271 </eventitem>
272
273 <eventitem date="2010-11-05" time="07:00 PM" room="CnD Lounge (MC3002)" title="Hackathon">
274   
275     <short><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and whatever else comes to mind. If you're interested in getting involved in free/open source development, some members will be on hand to guide you through the process.
276 </p></short>
277   
278   
279     <abstract><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be
280 in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and
281 whatever else comes to mind. If you're interested in getting involved in free/open source development,
282 some members will be on hand to guide you through the process.
283 </p></abstract>
284   
285 </eventitem>
286
287 <eventitem date="2010-10-26" time="04:30 PM" room="MC4040" title="Analysis of randomized algorithms via the probabilistic method">
288   
289     <short><p>In this talk, we will give a few examples that illustrate the basic method and show  how it can be used to prove the existence of objects with desirable combinatorial  properties as well as produce them in expected polynomial time via randomized  algorithms.  Our main goal will be to present a very slick proof from 1995 due to  Spencer on the performance of a randomized greedy algorithm for a set-packing  problem.  Spencer, for seemingly no reason, introduces a time variable into his  greedy algorithm and treats set-packing as a Poisson process.  Then, like magic,  he is able to show that his greedy algorithm is very likely to produce a good  result using basic properties of expected value.
290 </p></short>
291   
292   
293     <abstract><p>The probabilistic method is an extremely powerful tool in combinatorics that can be 
294 used to prove many surprising results.  The idea is the following: to prove that an 
295 object with a certain property exists, we define a distribution of possible objects 
296 and use show that, among objects in the distribution, the property holds with 
297 non-zero probability.  The key is that by using the tools and techniques of 
298 probability theory, we can vastly simplify proofs that would otherwise require very 
299 complicated combinatorial arguments.
300 </p><p>As a technique, the probabilistic method developed rapidly during the latter half of 
301 the 20th century due to the efforts of mathematicians like Paul Erdős and increasing 
302 interest in the role of randomness in theoretical computer science.  In essence, the 
303 probabilistic method allows us to determine how good a randomized algorithm's output 
304 is likely to be.  Possibly applications range from graph property testing to 
305 computational geometry, circuit complexity theory, game theory, and even statistical 
306 physics.
307 </p><p>In this talk, we will give a few examples that illustrate the basic method and show 
308 how it can be used to prove the existence of objects with desirable combinatorial 
309 properties as well as produce them in expected polynomial time via randomized 
310 algorithms.  Our main goal will be to present a very slick proof from 1995 due to 
311 Spencer on the performance of a randomized greedy algorithm for a set-packing 
312 problem.  Spencer, for seemingly no reason, introduces a time variable into his 
313 greedy algorithm and treats set-packing as a Poisson process.  Then, like magic, 
314 he is able to show that his greedy algorithm is very likely to produce a good 
315 result using basic properties of expected value.
316 </p><p>Properties of Poisson and Binomial distributions will be applied, but I'll remind 
317 everyone of the needed background for the benefit of those who might be a bit rusty.
318 Stat 230 will be more than enough. Big O notation will be used, but not excessively.
319 </p></abstract>
320   
321 </eventitem>
322
323 <eventitem date="2010-10-19" time="04:30 PM" room="RCH 306" title="Machine learning vs human learning - will scientists become obsolete?">
324   
325     <short><p><i>by Dr. Shai Ben-David</i>.
326 </p></short>
327   
328   
329     <abstract><p>
330 </p></abstract>
331   
332 </eventitem>
333
334 <eventitem date="2010-10-13" time="04:30 PM" room="MC3003" title="UNIX 102">
335   
336     <short><p>This installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting. 
337 </p></short>
338   
339   
340     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. 
341 If you missed Unix101 but still know your way around you should be fine. 
342 Topics covered include: "real" editors, document typesetting with LaTeX 
343 (great for assignments!), bulk editing, spellchecking, and printing in the 
344 student environment and elsewhere. 
345 </p></abstract>
346   
347 </eventitem>
348 <eventitem date="2010-10-06" time="04:30 PM" room="MC3003" title="UNIX 103">
349   
350     <short><p>Unix 103 will cover version control systems and how to use them to manage your projects. Unix 101 would be helpful, but all that is needed is basic  knowledge of the Unix command line (how to enter commands).
351 </p></short>
352   
353   
354     <abstract><p>Unix 103 will cover version control systems and how to use them to manage
355 your projects. Unix 101 would be helpful, but all that is needed is basic 
356 knowledge of the Unix command line (how to enter commands).
357 </p></abstract>
358   
359 </eventitem>
360
361 <eventitem date="2010-10-12" time="04:30 PM" room="MC4061" title="How to build a brain: From single neurons to cognition">
362   
363     <short><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing mathematical models of brain function.  It has made significant headway in understanding aspects of the neural code.  However, past work has largely focused on small numbers of neurons, and so the underlying representations are often simple. In this talk I demonstrate how the ideas underlying these simple forms of representation can underwrite a representational hierarchy that scales to support sophisticated, structure-sensitive representations.
364 </p></short>
365   
366   
367     <abstract><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing
368 mathematical models of brain function.  It has made significant
369 headway in understanding aspects of the neural code.  However,
370 past work has largely focused on small numbers of neurons, and
371 so the underlying representations are often simple. In this
372 talk I demonstrate how the ideas underlying these simple forms of
373 representation can underwrite a representational hierarchy that
374 scales to support sophisticated, structure-sensitive
375 representations.  I will present a general architecture, the semantic
376 pointer architecture (SPA), which is built on this hierarchy
377 and allows the manipulation, processing, and learning of structured
378 representations in neurally realistic models.  I demonstrate the
379 architecture on Progressive Raven's Matrices (RPM), a test of
380 general fluid intelligence.
381 </p></abstract>
382   
383 </eventitem>
384
385 <eventitem date="2010-10-04" time="04:30 PM" room="MC4021" title="BareMetal OS">
386   
387     <short><p><i>By Ian Seyler, Return to Infinity</i>. BareMetal is a new 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly,  while applications can be written in Assembly or C/C++.  High Performance Computing is the main target application.
388 </p></short>
389   
390   
391     <abstract><p><i>By Ian Seyler, Return to Infinity</i>. BareMetal is a new 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, 
392 while applications can be written in Assembly or C/C++. 
393 High Performance Computing is the main target application.
394 </p></abstract>
395   
396 </eventitem>
397
398 <eventitem date="2010-09-28" time="04:30 PM" room="MC4061" title="A Brief Introduction to Video Encoding">
399   
400     <short><p><i>By Peter Barfuss</i>. In this talk, I will go over the concepts used in video encoding (such as motion estimation/compensation, inter- and intra- frame prediction, quantization and entropy encoding), and then demonstrate these concepts and algorithms in use in the MPEG-2 and the H.264 video codecs. In addition, some clever optimization tricks using SIMD/vectorization will be covered, assuming sufficient time to cover these topics.
401 </p></short>
402   
403   
404     <abstract><p><i>By Peter Barfuss</i>. With the recent introduction of digital TV and the widespread success
405 of video sharing websites such as youtube, it is clear that the task
406 of lossily compressing video with good quality has become important.
407 Similarly, the complex algorithms involved require high amounts of
408 optimization in order to run fast, another important requirement for
409 any video codec that aims to be widely used/adopted. 
410 </p><p>In this talk, I
411 will go over the concepts used in video encoding (such as motion
412 estimation/compensation, inter- and intra- frame prediction,
413 quantization and entropy encoding), and then demonstrate these
414 concepts and algorithms in use in the MPEG-2 and the H.264 video
415 codecs. In addition, some clever optimization tricks using
416 SIMD/vectorization will be covered, assuming sufficient time to cover
417 these topics.
418 </p></abstract>
419   
420 </eventitem>
421
422 <eventitem date="2010-09-23" time="04:30 PM" room="DC1301 (The Fishbowl)" title="Calling all CS Frosh">
423   
424     <short><p>Come meet and greet your professors, advisors, and the heads of the school. Talk to the CSC executive and other upper year students about CS at Waterloo. Free food and beverages will also be available, so there is really no excuse to miss this.
425 </p></short>
426   
427   
428     <abstract><p>Come meet and greet your professors, advisors, and the heads of the school.
429 Talk to the CSC executive and other upper year students about CS at Waterloo.
430 Free food and beverages will also be available, so there is really no excuse
431 to miss this.
432 </p></abstract>
433   
434 </eventitem>
435 <eventitem date="2010-09-29" time="04:30 PM" room="MC3003" title="Unix 101">
436   
437     <short><p>Need to use the Unix environment for a course, want to overcome your fears of the command line, or just curious? Attend the first installment in the CSC's popular series of Unix tutorials to learn the basics of the shell and how to navigate the unix environment. By the end of the hands on workshop you will be able to work efficiently from the command line and power-use circles around your friends.
438 </p></short>
439   
440   
441     <abstract><p>Need to use the Unix environment for a course, want to overcome your fears of
442 the command line, or just curious? Attend the first installment in the CSC's
443 popular series of Unix tutorails to learn the basics of the shell and how to
444 navigate the unix environment. By the end of the hands on workshop you will
445 be able to work efficiently from the command line and power-use circles around
446 your friends.
447 </p></abstract>
448   
449 </eventitem>
450
451 <eventitem date="2010-09-22" time="06:00 PM" room="MC4045" title="Cooking for Geeks">
452   
453     <short><p>The CSC is happy to be hosting Jeff Potter, author of "Cooking for Geeks" for a presentation on the finer arts of food science.  Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike. We're happy to have Jeff joining us for a hands on demonstration.
454 </p></short>
455   
456   
457     <abstract><p>The CSC is happy to be hosting Jeff Potter, author of "Cooking for Geeks" for a presentation on the finer arts of food science. 
458 Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike.
459 We're happy to have Jeff joining us for a hands on demonstration.
460 </p><p>But you don't have to take our word for it... here's what Jeff has to say:
461 </p><p>Hi! I'm Jeff Potter, author of Cooking for Geeks (O'Reilly Media, 2010), and I'm doing a "D.I.Y. Book Tour" to talk 
462 about my just-released book. I'll talk about the food science behind what makes things yummy, giving you a quick 
463 primer on how to go into the kitchen and have a fun time turning out a good meal.
464 Depending upon the space, I’ll also bring along some equipment or food that we can experiment with, and give you a chance to play with stuff and pester me with questions.
465 </p><p>If you have a copy of the book, bring it! I’ll happily sign it.
466 </p></abstract>
467   
468 </eventitem>
469 <eventitem date="2010-09-21" time="04:30 PM" room="MC4061" title="In the Beginning">
470   
471     <short><p><b>by Dr. Prabhakar Ragde, Cheriton School of Computer Science</b>. I'll be workshopping some lecture ideas involving representations of 
472     numbers, specification of computation in  functional terms, reasoning about 
473     such specifications, and comparing the strengths and weaknesses of  different approaches. 
474 </p></short>
475   
476   
477     <abstract><p>I'll be workshopping some lecture ideas involving representations 
478     of numbers, specification of computation in 
479     functional terms, reasoning about such specifications, and comparing the 
480     strengths and weaknesses of 
481     different approaches. No prior background is needed; the talk should be accessible 
482     to anyone attending 
483     the University of Waterloo and, I hope, interesting to both novices and experts.
484 </p></abstract>
485   
486 </eventitem>
487 <eventitem date="2010-09-14" time="04:30 PM" room="Comfy Lounge" title="Elections">
488   <short><p>Fall term executive elections and general meeting.</p></short>
489 </eventitem>
490
491 <!-- Spring 2010 -->
492
493 <eventitem date="2010-07-20" time="04:30 PM" room="MC2066" title="The Incompressibility Method">
494 <short>
495 In this talk, we shall explore the incompressibility method---an interesting and
496 extremely powerful framework for determining the average-case runtime of
497 algorithms.  Within the right background knowledge, the heapsort question can be
498 answered with an elegant 3-line proof.
499 </short>
500 <abstract>
501 <p>Heapsort. It runs in $\Theta(n \log n)$ time in the worst case, and in $O(n)$
502     time in the best case.  Do you think that heapsort runs faster than $O(n
503     \log n)$ time on average?  Could it be possible that on most inputs,
504     heapsort runs in $O(n)$ time, running more slowly only on a small fraction
505     of inputs?</p>
506 <p>Most students would say no. It "feels" intuitively obvious that heapsort
507     should take the full $n \log n$ steps on most inputs.  However, proving this
508     rigourously with probabilistic arguments turns out to be very difficult.
509     Average case analysis of algorithms is one of those icky subjects that most
510     students don't want to touch with a ten foot pole; why should it be so
511     difficult if it is so intuitively obvious?</p>
512 <p>In this talk, we shall explore the incompressibility method---an interesting
513     and extremely powerful framework for determining the average-case runtime of
514     algorithms.  Within the right background knowledge, the heapsort question
515     can be answered with an elegant 3-line proof.</p>
516 <p>The crucial fact is that an overwhelmingly large fraction of randomly
517     generated objects are incompressible. We can show that the inputs to
518     heapsort that run quickly correspond to inputs that can be compressed,
519     thereby proving that heapsort can't run quickly on average.  Of course,
520     "compressible" is something that must be rigourously defined, and for this
521     we turn to the fascinating theory of Kolmogorov complexity.</p>
522 <p>In this talk, we'll briefly discuss the proof of the incompressibility
523     theorem and then see a number of applications.  We won't dwell too much on
524     gruesome mathemtical details.  No specific background is required, but
525     knowledge of some of the topics in CS240 will be helpful in understanding
526     some of the applications.</p>
527 </abstract>
528 </eventitem>
529
530 <eventitem date="2010-07-13" time="04:30 PM" room="MC2066" title="Halftoning and Digital Art">
531     <short><p>Edgar Bering will be giving a talk titled: Halftoning and Digital Art</p></short>
532     <abstract><p>Halftoning is the process of simulating a continuous tone image
533         with small dots or regions of one colour. Halftoned images may be seen
534         in older newspapers with a speckled appearance, and to this day colour
535         halftoning is used in printers to reproduce images. In this talk I will
536         present various algorithmic approaches to halftoning, with an eye not
537         toward exact image reproduction but non-photorealistic rendering and
538         art. Included in the talk will be an introduction to digital paper
539         cutting and a tutorial on how to use the CSC's paper cutter to render
540         creations.
541 </p></abstract>
542 </eventitem>
543
544
545 <eventitem date="2010-07-09" time="07:00 PM" room="MC Comfy" title="Code Party">
546     <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
547             until we get bored (likely in the early in morning). Come out for
548             fun hacking times.
549     </p></short>
550     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
551             until we get bored (likely in the early in morning). Come out for
552             fun hacking times.
553     </p></abstract>
554 </eventitem>
555
556 <eventitem date="2010-07-06" time="04:30 PM" room="MC2054" title="Dataflow Analysis">
557   <short><p>Nomair Naeem, a P.H.D. Student at Waterloo, will be giving a talk about Dataflow Analysis</p></short>
558   <abstract><p>
559     After going through an introduction to Lattice Theory and a formal treatment to
560     Dataflow Analysis Frameworks, we will take an in-depth view of the
561     Interprocedural Finite Distributive Subset (IFDS) Algorithm which implements a
562     fully context-sensitive, inter-procedural static dataflow analysis. Then, using
563     a Variable Type Analysis as an example, I will outline recent extensions that we
564     have made to open up the analysis to a larger variety of static analysis
565     problems and making it more efficient.
566     </p><p>
567     The talk is self-contained and no prior knowledge of program analysis is
568     necessary.
569   </p></abstract>
570 </eventitem>
571
572 <eventitem date="2010-06-22" time="04:30 PM" room="MC2066" title="Compiling To Combinators">
573   <short><p>Professor Ragde will be giving the first of our Professor talks for the Spring 2010 term.</p></short>
574   <abstract><p>
575     Number theory was thought to be mathematically appealing but practically
576     useless until the RSA encryption algorithm demonstrated its considerable
577     utility. I'll outline how combinatory logic (dating back to 1920) has a
578     similarly unexpected application to efficient and effective compilation,
579     which directly catalyzed the development of lazy functional programming
580     languages such as Haskell. The talk is self-contained; no prior knowledge
581     of functional programming is necessary.
582   </p></abstract>
583 </eventitem>
584
585 <eventitem date="2010-05-25" time="05:00 PM" room="MC2066" title="Gerald Sussman">
586   <short><p>Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas</p></short>
587   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
588 </eventitem>
589
590 <eventitem date="2010-05-26" time="03:30 PM" room="MC5136" title="Gerald Sussman">
591   <short><p>Public Reception</p></short>
592   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
593 </eventitem>
594
595 <eventitem date="2010-05-26" time="05:000PM" room="MC5158" title="Gerald Sussman">
596   <short><p>The Art of the Propagator</p></short>
597   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
598 </eventitem>
599
600 <eventitem date="2010-05-11" time="05:30 PM" room="Comfy Lounge" title="Elections">
601   <short><p>Spring term executive elections and general meeting.</p></short>
602 </eventitem>
603
604 <!-- Winter 2010 -->
605 <eventitem date="2010-04-06" time="04:30 PM" room="DC1304" title="Brush-Based Constructive Solid Geometry">
606   
607     <short><p>The last talk in the CS10 series will be presented by Jordan Saunders, in which he will discuss methods for processing brush-based constructive solid geometry.
608 </p></short>
609   
610   
611     <abstract><p>For some would-be graphics programmers, the biggest barrier-to-entry is getting data to render. This is why there exist so 
612 many terrain renderers: by virtue of the fact that rendering height-fields tends to give pretty pictures from next to no 
613 "created" information. However, it becomes more difficult when programmers want to do indoor rendering (in the style of the 
614 Quake and Unreal games). Ripping map information from the Quake games is possible (and fairly simple), but their tool-chain 
615 is fairly clumsy from the point of view of adding a conversion utility.
616 </p><p>My talk is about Constructive Solid Geometry from a Brush-based perspective (nearly identical to Unreal's and still very similar 
617 to Quake's). The basic idea is that there are brushes (convex volumes in 3-space) and they can either be additive (solid brushes) 
618 or subtractive (hollow, or air brushes). The entire world starts off as an infinite solid lump and you can start removing sections 
619 of it then adding them back in. The talk pertains to fast methods of taking the list of brushes and generating world geometry. I may 
620 touch on interface problems with the editor, but the primary content will be the different ways I generated the geometry and what I found to be best.
621 </p></abstract>
622   
623 </eventitem>
624 <eventitem date="2010-04-07" time="1:00 PM" room="MC2037" title="Windows Azure Lab">
625   
626     <short><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.   Attend this Hands-on-lab session sponsored by Microsoft. 
627 </p></short>
628   
629   
630     <abstract><p>We are in the midst of an industry shift as developers and businesses embrace the Cloud.  
631 Technical innovations in the cloud are dramatically changing the economics of computing 
632 and reducing barriers that keep businesses from meeting the increasing demands of 
633 today's customers.  The cloud promises choice and enables scenarios that previously 
634 were not economically practical.  
635 </p><p>Microsoft's Windows Azure is an internet-scale cloud computing services platform hosted 
636 in Microsoft data centers.  The Windows Azure platform, allows developers to build and 
637 deploy production ready cloud services and applications. With the Windows Azure platform, 
638 developers can take advantage of greater choice and flexibility in how they develop and 
639 deploy applications, while using familiar tools and programming languages.
640 </p><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.  
641 Attend the Hands-on-lab session sponsored by Microsoft. 
642 </p></abstract>
643   
644 </eventitem>
645 <eventitem date="2010-04-01" time="6:30 PM" room="CSC Office" title="CTRL-D">
646   
647     <short><p>Once again the CSC will be holding its traditional end of term dinner. It will be at the Vice President's house. If you don't know how to get there meet at the club office at 6:30 PM, a group will be leaving from the MC then. The dinner will be potluck style so bring a dish for 4-6 people, or some plates or pop or something.
648 </p></short>
649   
650   
651     <abstract><p>Once again the CSC will be holding its traditional end of term dinner. It will
652 be at the Vice President's house. If you don't know how to get there meet
653 at the club office at 6:30 PM, a group will be leaving from the MC then. The
654 dinner will be potluck style so bring a dish for 4-6 people, or some plates
655 or pop or something.
656 </p></abstract>
657   
658 </eventitem>
659 <eventitem date="2010-03-30" time="4:30 PM" room="DC1304" title="NUI: The future of robotics and automated systems">
660   
661     <short><p>Member Sam Pasupalak will present some of his ongoing work in Natural User Interfaces and Robotics in this sixth installment of CS10.
662 </p></short>
663   
664   
665     <abstract><p>Bill Gates in his article “A Robot in every home” in the Scientific American describes how the current 
666 robotics industry resembles the 1970’s of the Personal Computer Industry. In fact it is not just 
667 Microsoft which has already taken a step forward by starting the Microsoft Robotics studio, but robotics 
668 researchers around the world believe that robotics and automation systems are going to be ubiquitous in 
669 the next 10-20 years (similar to Mark Weiser’s analogy of Personal Computers 20 years ago). Natural User 
670 Interfaces (NUIs) are going to revolutionize the way we interact with computers, cellular phones, household 
671 appliances, automated systems in our daily lives. Just like the GUI made personal computing a reality, 
672 I believe natural user interfaces will do the same for robotics. 
673 </p><p>During the presentation I will be presenting my ongoing software project on natural user interfaces as well 
674 as sharing my goals for the future, one of which is to provide an NUI SDK and the other to provide a common 
675 Robotics OS for every hardware vendor that will enable people to make applications without worrying about 
676 underlying functionality. If time permits I would like to present a demo of my software prototype.
677 </p></abstract>
678   
679 </eventitem>
680 <eventitem date="2010-03-26" time="7:00 PM" room="MC7001" title="A Final Party of Code">
681   
682     <short><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on open source projects, doing some computational math, and other general classiness. There will be free energy drinks for everyone's enjoyment. This is the last of the term so don't miss out.
683 </p></short>
684   
685   
686     <abstract><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we
687 get bored (likely in the early in morning). Come out for fun hacking
688 times, spreading Intertube memes (optional), hacking on open source projects,
689 doing some computational math, and other
690 general classiness. There will be free energy drinks for everyone's
691 enjoyment. This is the last of the term so don't miss out.
692 </p></abstract>
693   
694 </eventitem>
695 <eventitem date="2010-03-23" time="4:30 PM" room="MC5158" title="Memory-Corruption Security Holes: How to exploit, patch and prevent them.">
696   
697     <short><p>Despite it being 2010, code is still being exploited due to stack overflows, a 40+ year old class of security vulnerabilities. In this talk, I will go over several common methods of program exploitation, both on the stack and on the heap, as well as going over some of the current mitigation techniques (i.e. stack canaries, ASLR, etc.) for these holes, and similarly, how some of these can be bypassed as well.
698 </p></short>
699   
700   
701     <abstract><p>Despite it being 2010, code is still being exploited due to
702 stack overflows, a 40+ year old class of security vulnerabilities. In
703 this talk, I will go over several common methods of program
704 exploitation, both on the stack and on the heap, as well as going over
705 some of the current mitigation techniques (i.e. stack canaries, ASLR,
706 etc.) for these holes, and similarly, how some of these can be
707 bypassed as well.
708 </p></abstract>
709   
710 </eventitem>
711 <eventitem date="2010-03-19" time="7:00 PM" room="Comfy Lounge" title="Another Party of Code">
712   
713     <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on the OpenMoko, creating music mixes, and other general classiness. There will be free energy drinks for everyone's enjoyment.
714 </p></short>
715   
716   
717     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we
718 get bored (likely in the early in morning). Come out for fun hacking
719 times, spreading Intertube memes (optional), hacking on the OpenMoko,
720 creating music mixes, and other
721 general classiness. There will be free energy drinks for everyone's
722 enjoyment.
723 </p></abstract>
724   
725 </eventitem>
726 <eventitem date="2010-03-16" time="4:30 PM" room="MC5158" title="Approximation Hardness and the Unique Games Conjecture">
727   
728     <short><p>The fifth installment in CS10: Undergraduate Seminars in CS, features CSC member Elyot Grant introducing the theory of approximation algorithms. Fun times and a lack of gruesome math are promised.
729 </p></short>
730   
731   
732     <abstract><p>The theory of NP-completeness suggests that some problems in CS are inherently hard—that is, 
733 there is likely no possible algorithm that can efficiently solve them.  Unfortunately, many of 
734 these problems are ones that people in the real world genuinely want to solve!  How depressing!  
735 What can one do when faced with a real-life industrial optimization problem whose solution may 
736 save millions of dollars but is probably impossible to determine without trillions of 
737 years of computation time?
738 </p><p>One strategy is to be content with an approximate (but provably "almost ideal") solution, and from 
739 here arises the theory of approximation algorithms.  However, this theory also has a depressing side, 
740 as many well-known optimization problems have been shown to be provably hard to approximate well.
741 </p><p>This talk shall focus on the depressing.  We will prove that various optimization problems (such as 
742 traveling salesman and max directed disjoint paths) are impossible to approximate well unless P=NP.  
743 These proofs are easy to understand and are REALLY COOL thanks to their use of very slick reductions.
744 </p><p>We shall explore many NP-hard optimization problems and state the performance of the best known 
745 approximation algorithms and best known hardness results.  Tons of open problems will be mentioned, 
746 including the unique games conjecture, which, if proven true, implies the optimality of many of the 
747 best known approximation algorithms for NP-complete problems like MAX-CUT and INDEPENDENT SET.
748 </p><p>I promise fun times and no gruesome math.  Basic knowledge of graph theory and computational 
749 complexity might help but is not required.
750 </p></abstract>
751   
752 </eventitem>
753 <eventitem date="2010-03-12" time="7:00 PM" room="Comfy Lounge" title="A Party of Code">
754   
755     <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
756 </p></short>
757   
758   
759     <abstract><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
760 </p><p>Come join us for a night of coding. Get in touch with more experianced coders,
761 advertize for/bug squash on your favourite open source project, write that personal
762 project you were planning to do for a while but haven't found the time. Don't
763 have any ideas but want to sit and hack? We can find something for you to do.
764 </p></abstract>
765   
766 </eventitem>
767
768 <eventitem date="2010-03-09" time="4:30 PM" room="DC1304" title="Software Transactional Memory and Using STM in Haskell">
769   
770     <short><p>The fourth Undergraduate Seminar in Computer Science will be presented by Brennan Taylor, a club member. He will be discussing various concurrent computing problems, and introducing Software Transactional Memory as a solution to them.
771 </p></short>
772   
773   
774     <abstract><p>Concurrency is hard. Well maybe not hard, but it sure is annoying to get right. Even the
775 simplest of synchronization tasks are hard to implement correctly when using synchronization
776 primitives such as locks and semaphores.
777 </p><p>In this talk we explore what Software Transactional Memory (STM) is, what problems STM solves,
778 and how to use STM in Haskell. We explore a number of examples that show how easy STM is to use
779 and how expressive Haskell can be. The goal of this talk is to convince attendees that STM is
780 not only a viable synchronization solution, but superior to how synchronization is typically
781 done today.
782 </p></abstract>
783   
784 </eventitem>
785 <eventitem date="2010-03-06" time="5:00 PM" room="Waterloo Bowling Lanes" title="Bowling">
786     <short><p>The CSC is going bowling. $9.75 for shoes and two games. The bowling alley serves fried food and beer. Join us for
787     some or all of the above</p></short>
788 </eventitem>
789
790 <eventitem date="2010-03-02" time="4:30 PM" room="DC1304" title="QIP=PSPACE">
791   
792     <short><p>Dr. John Watrous of the <a href="http://www.iqc.ca">IQC</a> will present his recent result "QIP=PSPACE". The talk will not assume any familiarity with quantum computing or complexity theory, and light refreshments will be provided.
793 </p></short>
794   
795   
796     <abstract><p>The interactive proof system model of computation is a cornerstone of
797 complexity theory, and its quantum computational variant has been
798 studied in quantum complexity theory for the past decade.  In this
799 talk I will discuss an exact characterization of the power of quantum
800 interactive proof systems that I recently proved in collaboration with
801 Rahul Jain, Zhengfeng Ji, and Sarvagya Upadhyay.  The characterization
802 states that the collection of computational problems having quantum
803 interactive proof systems consists precisely of those problems
804 solvable with an ordinary classical computer using a polynomial amount
805 of memory (or QIP = PSPACE in complexity-theoretic terminology).  This
806 characterization implies the striking fact that quantum computing does
807 not provide any increase in computational power over classical
808 computing in the context of interactive proof systems.
809 </p><p>I will not assume that the audience for this talk has any familiarity
810 with either quantum computing or complexity theory; and to be true to
811 the spirit of the interactive proof system model, I hope to make this
812 talk as interactive as possible -- I will be happy to explain anything
813 related to the talk that I can that people are interested in learning
814 about.
815 </p></abstract>
816   
817 </eventitem>
818 <eventitem date="2010-02-26" time="7:00 PM" room="CnD Lounge" title="Contest Closing">
819     <short><p>The <a href="http://contest.csclub.uwaterloo.ca">contest</a> is coming to a close tomorrow, so to finish it in style we will be having ice cream and code friday night.
820     It would be a shame if Waterloo lost (we're not on top of the <a href="http://csclub.uwaterloo.ca/contest/rankings.php">leaderboard</a> right now) so come out and hack for the home team.</p></short>
821 </eventitem>
822
823 <eventitem date="2010-02-25" time="4:30 PM" room="DC1302" title="CSCF Town Hall">
824   
825     <short><p>Come to a town hall style meeting with the managers of CSCF to discuss how to improve the undergraduate (student.cs) computing environment. Have gripes? Suggestions? Requests? Now is the time to voice them.
826 </p></short>
827   
828   
829     <abstract><p>Come to a town hall style meeting with the managers of CSCF to discuss how
830 to improve the undergraduate (student.cs) computing environment. Have gripes?
831 Suggestions? Requests? Now is the time to voice them.
832 </p><p>CSCF management (Bill Ince, Associate Director; Dave Gawley, Infrastructure Support; 
833 Dawn Keenan, User Support; Lawrence Folland, Research Support) will be at the
834 meeting to listen to student concerns and suggestions.  Information gathered from 
835 the meeting will be summarized and taken to the CSCF advisory committee for
836 discussion and planning.
837 </p></abstract>
838   
839 </eventitem>
840
841 <eventitem date="2010-02-23" time="04:30 PM" room="MC5136B" title="The Best Algorithms are Randomized Algorithms">
842   
843     <short><p>In this talk Nicholas Harvey discusses the prevalence of randomized algorithms and their application to solving optimization problems on graphs; with startling results compared to deterministic algorithms.
844 </p></short>
845   
846   
847     <abstract><p>For many problems, randomized algorithms are either the fastest algorithm or the simplest algorithm; 
848 sometimes they even provide the only known algorithm. Randomized algorithms have become so prevalent 
849 that deterministic algorithms could be viewed as a curious special case. In this talk I will describe 
850 some startling examples of randomized algorithms for solving some optimization problems on graphs.
851 </p></abstract>
852   
853 </eventitem>
854
855 <eventitem date="2010-02-09" time="4:30 PM" room="DC1304" title="An Introduction to Vector Graphics Libraries with Cairo">
856   
857     <short><p>Cairo is an open source, cross platform, vector graphics library with the ability to  output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as  X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes  and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids  of pixels, but rather by a collection of drawing operations. These operations detail how to  draw lines, fill shapes, and even set text to create the desired image. This has the  advantages of being infinitely scalable, smaller in file size, and simpler to express within  a computer programme. This talk will be an introduction to the concepts and metaphors used  by vector graphics libraries in general and Cairo in particular.
858 </p></short>
859   
860   
861     <abstract><p>Cairo is an open source, cross platform, vector graphics library with the ability to 
862 output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as 
863 X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes 
864 and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids 
865 of pixels, but rather by a collection of drawing operations. These operations detail how to 
866 draw lines, fill shapes, and even set text to create the desired image. This has the 
867 advantages of being infinitely scalable, smaller in file size, and simpler to express within 
868 a computer programme. This talk will be an introduction to the concepts and metaphors used 
869 by vector graphics libraries in general and Cairo in particular.
870 </p></abstract>
871   
872 </eventitem>
873
874 <eventitem date="2010-02-11" time="4:30 PM" room="MC3005" title="UNIX 101 Encore">
875   
876     <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends! The popular tutorial returns for a second session, in case you missed the first one.
877 </p></short>
878   
879   
880     <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
881 The popular tutorial returns for a second session, in case you missed the first one.
882 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
883 servers and on other Unix environments. Topics covered include: using the shell, both basic
884 interaction and advanced topics like scripting and job control, the filesystem and manipulating
885 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
886 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
887 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
888 </p></abstract>
889   
890 </eventitem>
891 <eventitem date="2010-02-10" time="4:30 PM" room="MC3003" title="UNIX 101">
892   
893     <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
894 </p></short>
895   
896   
897     <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
898 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
899 servers and on other Unix environments. Topics covered include: using the shell, both basic
900 interaction and advanced topics like scripting and job control, the filesystem and manipulating
901 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
902 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
903 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
904 </p></abstract>
905   
906 </eventitem>
907 <eventitem date="2010-01-18" time="15:30 PM" room="MC2066" title="Wilderness Programming">
908   
909     <short><p>Paul Lutus describes his early Apple II software development days, conducted  from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul  describes how he wrote a best-seller (Apple Writer) in assembly language,  while dealing with power outages, lightning storms and the occasional  curious bear.
910 </p></short>
911   
912   
913     <abstract><p>Paul Lutus describes his early Apple II software development days, conducted 
914 from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul 
915 describes how he wrote a best-seller (Apple Writer) in assembly language, 
916 while dealing with power outages, lightning storms and the occasional 
917 curious bear.
918 </p><p>Paul also describes his subsequent four-year solo around-the-world sail in a 
919 31-foot boat. And be ready with your inquiries -- Paul will answer your 
920 questions.
921 </p><p>Paul Lutus has a wide background in science and technology. He designed spacecraft 
922 components for the NASA Space Shuttle and created a mathematical model of the solar 
923 system used during the Viking Mars lander program. Then, at the beginning of the 
924 personal computer revolution, Lutus switched career paths and took up computer 
925 science. His best-known program is "Apple Writer," an internationally successful 
926 word processing program for the early Apple computers.
927 </p></abstract>
928   
929 </eventitem>
930
931 <eventitem date="2010-01-26" time="05:00 PM" room="DC1302" title="Deep learning with multiplicative interactions">
932   
933     <short><p>Geoffrey Hinton, from the University of Toronto and the Canadian Institute  for Advanced Research, will discuss some of his latest work in learning networks and artificial intelligence. The talk will be accessable, so don't hesitate to come out. More information about Dr. Hinton's research can be found on  <a href="http://www.cs.toronto.edu/~hinton/">his website</a>.
934 </p></short>
935   
936   
937     <abstract><p>Deep networks can be learned efficiently from unlabeled data. The layers 
938 of representation are learned one at a time using a simple learning 
939 module, called a "Restricted Boltzmann Machine" that has only one layer 
940 of latent variables. The values of the latent variables of one 
941 module form the data for training the next module.  Although deep 
942 networks have been quite successful for tasks such as object 
943 recognition, information retrieval, and modeling motion capture data, 
944 the simple learning modules do not have multiplicative interactions which
945 are very useful for some types of data.
946 </p><p>The talk will show how a third-order energy function can be factorized to 
947 yield a simple learning module that retains advantageous properties of a 
948 Restricted Boltzmann Machine such as very simple exact inference and a
949 very simple learning rule based on pair-wise statistics. The new module 
950 contains multiplicative interactions that are useful for a variety of 
951 unsupervised learning tasks. Researchers at the University of Toronto 
952 have been using this type of module to extract oriented energy from image 
953 patches and dense flow fields from image sequences. The new module can 
954 also be used to allow motions of a particular style to be achieved by 
955 blending autoregressive models of motion capture data.
956 </p></abstract>
957   
958 </eventitem>
959
960
961 <!-- Fall 2009 -->
962 <eventitem date="2009-12-05" time="6:30 PM" room="MC3036" edate="2009-12-05" etime="11:55 PM" title="The Club That Really Likes Dinner">
963     <short><p>Come on out to the club's termly end of term dinner, details in the abstract</p></short>
964     <abstract><p>The dinner will be potluck style at the Vice President's house, please RSVP (respond swiftly to the vice president)
965     <a href="https://csclub.uwaterloo.ca/rsvp">here</a> if you plan on attending. If you don't know how to get there meet at the club
966     office at 6:30 PM, a group will be leaving to lead you there.</p></abstract>
967 </eventitem>
968
969 <eventitem date="2009-11-27" time="7:00 PM" room="Comfy Lounge" edate="2009-11-28" etime="7:00 AM" title="Code Party!!11!!">
970   
971     <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC. Facebook will be around to bring some food and hang out.
972 </p></short>
973   
974   
975     <abstract><p>Come join us for a night of coding. Get in touch with more experianced coders,
976 advertize for/bug squash on your favourite open source project, write that personal
977 project you were planning to do for a while but haven't found the time. Don't
978 have any ideas but want to sit and hack? Try your hand at the Facebook puzzles,
979 write a new app, or just chill and watch scifi.
980 </p></abstract>
981   
982 </eventitem>
983
984 <eventitem date="2009-11-05" time="4:30 PM" room="MC2065" title="In the Beginning">
985
986     <short><p>To most CS students an OS kernel is pretty low level. But there is something even lower, the instructions that must be executed to get the CPU ready to accept a kernel.  That is, if you look at any processor's reference manual there is a page or two describing the state of the CPU when it powered on.  This talk describes what needs to happen next, up to the point where the first kernel instruction executes.
987 </p></short>
988
989
990     <abstract><p>To most CS students an OS kernel is pretty low level. But there is
991 something even lower, the instructions that must be executed to get the
992 CPU ready to accept a kernel.  That is, if you look at any processor's
993 reference manual there is a page or two describing the state of the CPU
994 when it powered on.  This talk describes what needs to happen next,
995 up to the point where the first kernel instruction executes.
996 </p><p>This part of execution is extremely architecture-dependent.  Those of
997 you who have any experience with this aspect of CS probably know the x86
998 architecture, and think it's horrible, which it is. I am going to talk
999 about the ARM architecture, which is inside almost all mobile phones,
1000 and which allows us to look at a simple implementation that includes
1001 all the essentials.
1002 </p></abstract>
1003
1004 </eventitem>
1005
1006 <eventitem date="2009-10-20" time="04:30 PM" room="MC3036" title="CSC Goes To Dooly's">
1007   
1008     <short><p>We're going to Dooly's to play pool. What more do you want from us? Come to the Club office and we'll all bus there together. We've got discount tables for club members so be sure to be there.
1009 </p></short>
1010   
1011   
1012     <abstract><p>We're going to Dooly's to play pool. What more do you want from us?
1013 Come to the Club office and we'll all bus there together. We've got
1014 discount tables for club members so be sure to be there.
1015 </p></abstract>
1016   
1017 </eventitem>
1018
1019 <eventitem date="2009-10-16" time="7:00 PM" room="Comfy Lounge" title="Code Party and Contest Finale">
1020   
1021     <short><p>Come on out for a night of code, contests, and energy drinks. Join the Computer Scinece Club for the finale of the Google AI Challenge and an all night code party. Finish up your entry, or start it (its not too late). Not interested in the contest? Come out anyway for a night of coding and comradarie with us.
1022 </p></short>
1023   
1024   
1025     <abstract><p>Come on out for a night of code, contests, and energy drinks. Join the Computer
1026 Scinece Club for the finale of the Google AI Challenge and an all night code party.
1027 Finish up your entry, or start it (its not too late). Not interested in the contest?
1028 Come out anyway for a night of coding and comradarie with us.
1029 </p><p>Included in the party will be the contest finale and awards cerimony, so if you've
1030 entered be sure to stick arround to collect the spoils of victory, or see just who
1031 that person you couldn't edge off is.
1032 </p></abstract>
1033   
1034 </eventitem>
1035
1036 <eventitem date="2009-10-08" time="4:30 PM" room="MC3003" title="UNIX 103">
1037   
1038     <short><p>In this long-awaited third installment of the popular Unix Tutorials the  friendly experts of the CSC will teach you the simple art of version control.  You will learn the purpose and use of two different Version Control Systems  (git and subversion). This tutorial will advise you in the discipline of  managing the source code of your projects and enable you to quickly learn new  Version Control Systems in the work place -- a skill that is much sought after  by employers. 
1039 </p></short>
1040   
1041   
1042     <abstract><p>In this long-awaited third installment of the popular Unix Tutorials the 
1043 friendly experts of the CSC will teach you the simple art of version control. 
1044 You will learn the purpose and use of two different Version Control Systems 
1045 (git and subversion). This tutorial will advise you in the discipline of 
1046 managing the source code of your projects and enable you to quickly learn new 
1047 Version Control Systems in the work place -- a skill that is much sought after 
1048 by employers. 
1049 </p></abstract>
1050   
1051 </eventitem>
1052
1053 <eventitem date="2009-10-14" time="2:30 PM" room="DC1304" title="UofT Graduate School Information Session">
1054     <short><p> "Is Graduate School for You?" Get the answers to your grad school questions - and have a bite to eat, our treat</p>
1055     </short>
1056     <abstract><p> Join Prof. Greg Wilson, faculty member in the Software Engineering research group in the UofT's Department of Computer Science,
1057     as he gives insight into studying at the graduate level-what can be expected, what does UofT offer, is it right for you? Pizza and pop will
1058     be served. <b>Come see what grad school is all about!</b>. All undergraduate students are welcome; registration is not required.</p>
1059     <p>For any questions about the program, visit <a href="http://www.cs.toronto.edu/dcs/prospective-grad.html">UofT's website</a>. This
1060     event is not run by the CS Club, and is announced here for the benefit of our members.</p></abstract>
1061 </eventitem>
1062
1063 <eventitem date="2009-10-03" time="10:00 AM" edate="2009-10-03" etime="3:30 PM" room="DC1301 FishBowl" title="Linux Install Fest">
1064   
1065     <short><p>Interested in trying Linux but don't know where to start? 
1066     Come to the Linux install fest to demo Linux, get help installing it 
1067     on your computer, either stand alone or a dual boot, and help setting 
1068     up your fresh install. Have lunch and hang around if you like, or just come in for a CD.
1069 </p></short>
1070   
1071   
1072     <abstract><p>Interested in trying Linux but don't know where to start?
1073 Come to the Linux install fest to demo Linux, get help installing it on
1074 your computer, either stand alone or a dual boot, and help setting 
1075 up your fresh install. Have lunch and hang around if you like, or just
1076 come in for a qick install.
1077 </p></abstract>
1078   
1079 </eventitem>
1080
1081 <eventitem date="2009-10-01" time="4:30 PM" room="MC3003" title="UNIX 102">
1082   
1083     <short><p>The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting. 
1084 </p></short>
1085   
1086   
1087     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. 
1088 If you missed Unix101 but still know your way around you should be fine. 
1089 Topics covered include: "real" editors, document typesetting with LaTeX 
1090 (great for assignments!), bulk editing, spellchecking, and printing in the 
1091 student environment and elsewhere. 
1092 </p><p>If you aren't interested or feel comfortable with these taskes, watch out for 
1093 Unix 103 and 104 to get more depth in power programming tools on Unix. 
1094 </p></abstract>
1095   
1096 </eventitem>
1097
1098 <eventitem date="2009-09-28" time="4:30 PM" edate="2009-10-09" etime="11:59 OM" room="MC3003" title="AI Programming Contest sponsored by Google">
1099   
1100     <short><p>Come learn how to write an intelligent game-playing program.   
1101       No past experience necessary.  Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online web interface</a> 
1102       to watch it battle against other people's programs.   Beginners and experts welcome! Prizes provided by google,
1103       including the delivery of your resume to google recruiters.
1104 </p></short>
1105   
1106   
1107     <abstract><p>Come learn how to write an intelligent game-playing program.  
1108         No past experience necessary.  Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online 
1109         web interface</a> to watch it battle against other people's programs.  
1110         Beginners and experts welcome!
1111     </p><p>The contest is sponsored by Google, so be sure to compete for a chance
1112          to get noticed by them.
1113     </p><p>Prizes for the top programs:
1114    <ul><li>$100 in Cash Prizes</li>
1115        <li> Google t-shirts</li>
1116        <li>Fame and recognition</li>
1117        <li>Your resume directly to a Google recruiter</li>
1118    </ul>
1119 </p></abstract>
1120   
1121 </eventitem>
1122 <eventitem date="2009-09-24" time="4:30 PM" room="MC3003" title="UNIX 101">
1123   
1124     <short><p>
1125         New to Unix? No problem, we'll teach you to power use circles around your friends!
1126     </p></short>
1127   
1128   
1129     <abstract><p>
1130         New to Unix? No problem, we'll teach you to power use circles around your friends!
1131     </p><p>
1132         This first tutorial is an introduction to the Unix shell environment, both on the student
1133         servers and on other Unix environments. Topics covered include: using the shell, both basic
1134         interaction and advanced topics like scripting and job control, the filesystem and manipulating
1135         it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1136         to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1137         for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1138     </p></abstract>
1139 </eventitem>
1140
1141 <eventitem date="2009-09-15" time="5:00PM" edate="2009-09-15" etime="6:00 PM"
1142        room="Comfy Lounge" title="Elections">
1143     <short><p>
1144      Nominations are open now, either place your name on the nominees board or
1145      e-mail <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a>
1146      to nominate someone for a position. 
1147      Come to the Comfy Lounge to elect your fall term executive. Contact
1148      <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a> if you have questions.
1149     </p></short>
1150 </eventitem>
1151
1152
1153 <!-- Spring 2009 -->
1154 <eventitem date="2009-07-23" time="4:30 PM" edate="2009-07-23" etime="6:00 PM"
1155            room="MC 3003" title="Unix 103">
1156     <short><p>
1157      In this long-awaited third installment of the popular Unix Tutorials the dark
1158      mages of the CSC will train you in the not-so-arcane magick of version control.
1159      You will learn the purpose and use of two different Version Control Systems
1160      (git and subversion). This tutorial will advise you in the discipline of
1161      managing the source code of your projects and enable you to quickly learn new
1162      Version Control Systems in the work place -- a skill that is much sought after
1163      by employers.
1164     </p></short>
1165 </eventitem>
1166
1167 <eventitem date="2009-07-17" time="7:00 PM" edate="2009-07-18" etime="4:00 AM"
1168            room="MC 3001" title="Code Party">
1169     <short><p>
1170      Have an assignment or project you need to work on? We
1171      will be coding from 7:00pm until 4:00am starting on Friday, July 17th
1172      in the Comfy lounge. Join us!
1173     </p></short>
1174 </eventitem>
1175
1176 <eventitem date="2009-07-07" time="3:00 PM" etime="5:00 PM" room="DC 1302" 
1177            title="History of CS Curriculum at UW">
1178     <short><p>
1179      This talk provides a personal overview of the evolution of the
1180      undergraduate computer science curriculum at UW over the past forty
1181      years, concluding with an audience discussion of possible future
1182      developments.
1183     </p></short>
1184 </eventitem>
1185
1186 <eventitem date="2009-06-22" time="4:30 PM" etime="6:30 PM" room="MC 4041" 
1187            title="Paper Club">
1188     <short><p> Come and drink tea and read an academic CS paper with
1189      the Paper Club.  We will be meeting from 4:30pm until 6:30pm on
1190      Monday, June 22th on the 4th floor of the MC (exact room number
1191      TBA).  See http://csclub.uwaterloo.ca/~paper
1192     </p></short>
1193 </eventitem>
1194
1195 <eventitem date="2009-06-19" time="5:30 PM" room="Dooly's" title="Dooly's Night">
1196     <short><p>
1197     The CSC will be playing pool at Dooly's. Join us for only a few dollars.
1198     </p></short>
1199 </eventitem>
1200
1201 <eventitem date="2009-06-05" time="7:00 PM" edate="2009-06-06" etime="4:00 AM"
1202            room="MC 3001" title="Code Party">
1203     <short><p>
1204      Have an assignment or project you need to work on? We
1205      will be coding from 7:00pm until 7:00am starting on Friday, June 5th
1206      in the Comfy lounge. Join us!
1207     </p></short>
1208 </eventitem>
1209
1210 <eventitem date="2009-06-02" time="4:30 PM" room="MC 2037" title="Unix 101">
1211     <short><p>
1212         Need to use the UNIX environment for a course, want to overcome your fears of
1213         the command line, or just curious? Come and learn the arcane secrets of the
1214         UNIX command line interface from CSC mages. After this tutorial you will be
1215         comfortable with the essentials of navigating, manipulating and viewing files,
1216         and processing data at the UNIX shell prompt.
1217     </p></short>
1218 </eventitem>
1219
1220 <eventitem date="2009-05-12" time="12:00 PM" room="MC 2034" title="PHP on Windows">
1221     <short><p>PHP Programming Contest Info Session</p></short>
1222     <abstract><p>
1223     Port or create a new PHP web application and you could win a prize
1224     of up to $10k. Microsoft is running a programming contest for PHP
1225     developers willing to support the Windows platform. The contest is
1226     ongoing; this will be a short introduction to it by
1227     representatives of Microsoft and an opportunity to ask questions.
1228     Pizza and pop will be provided.
1229     </p></abstract>
1230 </eventitem>
1231
1232
1233 <!-- Winter 2009 -->
1234 <eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
1235   
1236     <short><p>A talk by Craig S. Kaplan.</p></short>
1237   
1238   
1239     <abstract><p>The combination of computer graphics, geometry, and rapid
1240 prototyping technology has created a wide range of exciting
1241 opportunities for using the computer as a medium for creative
1242 expression.  In this talk, I will describe the most popular
1243 technologies for computer-aided manufacturing, discuss
1244 applications of these devices in art and design, and survey
1245 the work of contemporary artists working in the area (with a
1246 focus on mathematical art).  The talk will be primarily
1247 non-technical, but I will mention some of the mathematical
1248 and computational techniques that come into play.
1249 </p></abstract>
1250   
1251 </eventitem>
1252 <eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
1253            etime="6:00 AM" room="TBA" title="CTRL-D">
1254   <short>
1255     <p>
1256       Join the Club That Really Likes Dinner for the End Of Term
1257       party!  Inquire closer to the date for details.
1258     </p>
1259   </short>
1260   <abstract>
1261     <p>
1262       This is not an official club event and receives no funding.
1263       Bring food, drinks, deserts, etc.
1264     </p>
1265   </abstract>
1266 </eventitem>
1267
1268 <eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
1269            etime="12:00 PM" room="Comfy Lounge (MC)"
1270            title="Code Party">
1271   <short>
1272     <p>
1273       CSC Code Party!  Same as always - no sleep, lots of caffeine,
1274       and really nerdy entertainment.  Bonus:  Free Cake!
1275     </p>
1276   </short>
1277   <abstract>
1278     <p>
1279       This code party will have the usual, plus it will double as the
1280       closing of the programming contest.  Our experts will be
1281       available to help you polish off your submission.
1282     </p>
1283   </abstract>
1284 </eventitem>
1285
1286 <eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
1287            etime="12:00 PM" room="MC2061"
1288            title="Artificial Intelligence Contest">
1289     <short>
1290       <p>
1291         Come out and try your hand at writing a computer program that
1292         plays Minesweeper Flags, a two-player variant of the classic
1293         computer game, Minesweeper.  Once you're done, your program
1294         will compete head-to-head against the other entries in a
1295         fierce Minesweeper Flags tournament.  There will be a contest
1296         kick-off session on Thursday March 19 at 4:30 PM in room
1297         MC3036.  Submissions will be accepted until Saturday March 28.
1298       </p>
1299     </short>
1300     <abstract>
1301       <p>
1302         Come out and try your hand at writing a computer program that
1303         plays Minesweeper Flags, a two-player variant of the classic
1304         computer game, Minesweeper.  Once you're done, your program
1305         will compete head-to-head against the other entries in a
1306         fierce Minesweeper Flags tournament.  There will be a contest
1307         kick-off session on Thursday March 19 at 4:30 PM in room
1308         MC3036.  Submissions will be accepted until Saturday March 28.
1309       </p>
1310     </abstract>
1311 </eventitem>
1312
1313 <eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
1314            etime="6:30 PM" room="Comfy Lounge"
1315            title="SIGGRAPH Night">
1316   <short>
1317     <p>
1318       Come out and watch the SIGGRAPH (Special Interest Group on
1319       Graphics) conference video review.  A video of insane, amazing,
1320       and mind blowing computer graphics. .
1321     </p>
1322   </short>
1323   <abstract>
1324     <p>
1325       The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
1326       conference yearly in which the latest and greatest in computer
1327       graphics premier. They record video and as a result produce a
1328       very nice Video Review of the conference. Come join us watching
1329       these videos, as well as a few professors from the UW Computer
1330       Graphics Lab. There will be some kind of food and drink, and its
1331       guranteed to be dazzling.
1332     </p>
1333   </abstract>
1334 </eventitem>
1335
1336 <eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
1337            etime="9:00 PM" room="Toronto Hilton"
1338            title="Canadian Undergraduate Technology Conference">
1339   <short>
1340     <p>
1341       See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
1342     </p>
1343   </short>
1344   <abstract>
1345     <p>
1346       The Canadian Undergraduate Technology Conference is Canada's
1347       largest student-run conference. From humble roots it has emerged
1348       as a venue that offers an environment for students to grow
1349       socially, academically, and professionally. We target to exceed
1350       our past record of 600 students from 47 respected institutions
1351       nationwide. The event mingles ambitious as well as talented
1352       students with leaders from academia and industry to offer
1353       memorable experiences and valuable opportunities.
1354     </p>
1355   </abstract>
1356 </eventitem>
1357
1358 <eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
1359            title="Prabhakar Ragde">
1360     <short><p>
1361     Functional Lexing and Parsing</p></short>
1362     <abstract>
1363       <p>
1364         This talk will describe a non-traditional functional approach
1365         to the classical problems of lexing (breaking a stream of
1366         characters into "words" or tokens) and parsing (identifying
1367         tree structure in a stream of tokens based on a grammar,
1368         e.g. for a programming language that needs to be compiled or
1369         interpreted). The functional approach can clarify and organize
1370         a number of algorithms that tend to be opaque in their
1371         conventional imperative presentation. No prior background in
1372         functional programming, lexing, or parsing is assumed.
1373       </p>
1374     </abstract>
1375 </eventitem>
1376
1377 <eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
1378            title="IQC - Programming Quantum Computers">
1379     <short>
1380       <p>
1381         A brief intro to Quantum Computing and why it matters,
1382         followed by a talk on programming quantum computers.  Meet at
1383         the CSC at 4:00PM for a guided walk to the RAC.
1384       </p>
1385     </short>
1386     <abstract>
1387       <p>
1388         Raymond Laflamme is the director of the Institute for Quantum
1389         Computing at the University of Waterloo and holds the Canada
1390         Research Chair in Quantum Information.  He will give a brief
1391         introduction to quantum computing and why it matters, followed
1392         by a talk on programming quantum computers.  There will be
1393         tours of the IQC labs at the end, and pizza will be provided
1394         back at the CSC for all attendees.
1395       </p>
1396     </abstract>
1397 </eventitem>
1398
1399 <eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
1400     <short><p>
1401     Come join the CSC as we head to Dooly's.</p></short>
1402     <abstract><p>
1403     Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
1404 </eventitem>
1405
1406 <eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
1407     <short><p>
1408     Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
1409     <abstract><p>
1410     Unix 101 is an introduction to the Unix shell environment, both on the student
1411     servers and on other Unix environments. Topics covered include: using the shell, both basic
1412     interaction and advanced topics like scripting and job control, the filesystem and manipulating
1413     it, and ssh. </p><p>
1414     Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. 
1415     If you missed Unix101 but still know your way around you should be fine. 
1416     Topics covered include: "real" editors, document typesetting with LaTeX 
1417     (great for assignments!), bulk editing, spellchecking, and printing in the 
1418     student environment and elsewhere. </p><p>
1419     If you aren't interested or feel comfortable with these taskes, watch out for 
1420     Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
1421 </eventitem>
1422
1423
1424 <eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
1425     <short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
1426     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
1427         servers and on other Unix environments. Topics covered include: using the shell, both basic
1428         interaction and advanced topics like scripting and job control, the filesystem and manipulating
1429         it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1430         to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1431         for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
1432 </eventitem>
1433
1434 <eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
1435   <short>
1436     <p>
1437       There is a CSC Code Party starting at 7:00PM (19:00).  Come out
1438       and enjoy some good old programming and meet others interested
1439       in writing code!  Free energy drinks and snacks for all.  Plus,
1440       we have lots of things that need to be done if you're looking
1441       for a project to work on!
1442     </p>
1443   </short>
1444   <abstract>
1445     <p>
1446       Code Party.  Awesome.  Need we say more?
1447     </p>
1448   </abstract>
1449 </eventitem>
1450
1451 <eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
1452   
1453     <short><p>There is a CSC Code Party Tonight starting at 7:30PM
1454     (1930) until we get bored (likely in the early in morning). Come
1455     out for fun hacking times, spreading Intertube memes (optional),
1456     hacking on the OpenMoko, creating music mixes, and other general
1457     classyness. If we manage to swing it, there will be delicious
1458     energy drinks for your consumption! Alternatively, if we don't we
1459     will have each other as well as some delicious tea and
1460     coffee. Perhaps a crumpet
1461 </p></short>
1462   
1463   
1464     <abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
1465         (1930) until we get bored (likely in the early in
1466         morning). Come out for fun hacking times, spreading Intertube
1467         memes (optional), hacking on the OpenMoko, creating music
1468         mixes, and other general classyness. If we manage to swing it,
1469         there will be delicious energy drinks for your consumption!
1470         Alternatively, if we don't we will have each other as well as
1471         some delicious tea and coffee. Perhaps a crumpet
1472 </p></abstract>
1473   
1474 </eventitem>
1475
1476 <eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
1477   <short><p> The Free Software Movement and the GNU/Linux Operating System </p>
1478   </short>
1479   <abstract>
1480   <p>
1481   Richard Stallman will speak about the Free Software Movement, which
1482   campaigns for freedom so that computer users can cooperate to
1483   control their own computing activities. The Free Software Movement
1484   developed the GNU operating system, often erroneously referred to as
1485   Linux, specifically to establish these freedoms.</p>
1486   <p><b>About Richard Stallman:</b> 
1487   Richard Stallman launched the development of the GNU operating system (see
1488   <a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
1489   software: everyone has the freedom to copy it and redistribute it,
1490   as well as to make changes either large or small. The GNU/Linux
1491   system, basically the GNU operating system with Linux added, is used
1492   on tens of millions of computers today. Stallman has received the
1493   ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
1494   Electronic Frontier Foundation's Pioneer award, and the the Takeda
1495   Award for Social/Economic Betterment, as well as several honorary
1496   doctorates.</p>
1497   </abstract>
1498 </eventitem>
1499
1500 <eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
1501   <short><p> Joel Spolsky, of <a href="http://www.joelonsoftware.com">Joel on Software</a> will be giving a talk entitled "Computer Science Education and the Software Industry".</p>
1502   </short>
1503   <abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
1504   globally-recognized expert on the software development process. His
1505   website <em>Joel on Software</em>
1506   (<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
1507   is popular with software developers around the world and has been
1508   translated into over thirty languages. As the founder
1509   of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
1510   York City, he
1511   created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
1512   popular project management system for software teams. He is the
1513   co-creator of <a href="http://stackoverflow.com/">Stack
1514   Overflow</a>, a programmer Q&amp;A site. Joel has worked at
1515   Microsoft, where he designed VBA as a member of the Excel team, and
1516   at Juno Online Services, developing an Internet client used by
1517   millions. He has
1518   written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
1519   books</a>: <em>User Interface Design for Programmers</em> (Apress,
1520   2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
1521   Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
1522   Joel Spolsky's Concise Guide to Finding the Best Technical
1523   Talent </em>(Apress, 2007). He also writes a monthly column
1524   for<strong> </strong><em><a href="http://www.inc.com/">Inc
1525   Magazine</a>. </em>Joel holds a BS from Yale in Computer
1526   Science. Before college he served in the Israeli Defense Forces as a
1527   paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
1528  </abstract>
1529 </eventitem>
1530
1531 <eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
1532   <short><p>Winter Elections</p>
1533   </short>
1534 </eventitem>
1535
1536 <!-- Fall 2008 -->
1537 <eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
1538   
1539     <short><p>Organized by Queen's students, Changing the World aims to bring together the world's greatest visionaries to inspire people to innovate and better our world.  Among these speakers include Nobel Peace Prize winner, Eric Chivian. He was a recipient for his work on stopping nuclear war. 
1540 </p></short>
1541   
1542   
1543     <abstract><p>Organized by Queen's students, Changing the World
1544         aims to bring together the world's greatest visionaries to
1545         inspire people to innovate and better our world.  Among these
1546         speakers include Nobel Peace Prize winner, Eric Chivian.  He
1547         was a recipient for his work on stopping nuclear war.
1548       </p><p>The conference is modeled after TED (Technology,
1549         Entertainment, Design), an annual conference uniting the
1550         world's most fascinating thinkers and doers, and like TED,
1551         each speaker is given 18 minutes to give the talk of their
1552         lives.
1553       </p><p>Specifically for students in CS/Math, 50 tickets have
1554         been reserved (non-students: $500).  For those who would like
1555         to attend, please pick up your ticket in the Computer Science
1556         Club office.  The tickets are limited and they are first come
1557         first serve.
1558 </p></abstract>
1559   
1560 </eventitem>
1561
1562 <eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
1563   
1564     <short><p>Come join the CSC in celebrating the new releases of
1565     Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
1566     of them on your own system.
1567 </p></short>
1568   
1569   
1570     <abstract><p>Come join the CSC in celebrating the new releases of
1571         Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
1572         one of them on your own system.
1573       </p><p>This is an event to celebrate the releases of new
1574         versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
1575         available and everyone is invited to bring their PC or laptop
1576         to get help installing any of these Free operating
1577         systems. Knowledgeable CSC members will be available to help
1578         with any installation troubles, or to troubleshooting any
1579         existing problems that users may have.
1580       </p><p>This event will also promote gaming on Linux, as well as
1581         FLOSS (Free/Libre and Open Source Software) in general. We may
1582         also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
1583         fame).
1584 </p></abstract>
1585 </eventitem>
1586
1587 <eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
1588   
1589     <short><p>This talk will survey concepts, techniques, and
1590     languages for functional programming from both historical and
1591     contemporary perspectives, with reference to Lisp, Scheme, ML,
1592     Haskell, and Erlang. No prior background is assumed.
1593 </p></short>
1594   
1595   
1596     <abstract><p>This talk will survey concepts, techniques, and
1597         languages for functional programming from both historical and
1598         contemporary perspectives, with reference to Lisp, Scheme, ML,
1599 Haskell, and Erlang. No prior background is assumed.
1600 </p></abstract>
1601   
1602 </eventitem>
1603
1604 <eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
1605   <abstract><p>
1606     Come join us for a night of coding. Get in touch with more experianced coders,
1607     advertize for/bug squash on your favourite open source project, write that personal
1608     project you were planning to do for a while but haven't found the time. Don't 
1609     have any ideas but want to sit and hack? We can find something for you to do.
1610   </p></abstract>
1611   <short><p>
1612     A fevered night of code, friends, fun, free energy drinks, and the CSC.
1613   </p></short>
1614 </eventitem>
1615
1616 <eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
1617   <short><p>
1618     Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
1619     review. A video of insane, amazing, and mind blowing computer graphics.
1620   </p></short>
1621   <abstract><p>
1622     The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
1623     in which the latest and greatest in computer graphics premier. They record video
1624     and as a result produce a very nice Video Review of the conference. Come join us
1625     watching these videos, as well as a few professors from the UW Computer Graphics
1626     Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
1627   </p></abstract>
1628 </eventitem>
1629
1630 <eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
1631   <short><p>
1632     Come out and meet other CSC members, find out about the CSC, meet the executive
1633     nominees, and join if you like what you see. Nominees should plan on attending.
1634   </p></short>
1635 </eventitem>
1636
1637 <eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
1638   <short><p>
1639     Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
1640     The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
1641     sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
1642     campaigning after the nomination period has closed.
1643   </p></short>
1644 </eventitem>
1645
1646 <eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
1647   <short><p>
1648     New to Unix? No problem, we'll teach you to power use circles around your friends!
1649   </p></short>
1650   <abstract><p>
1651     This first tutorial is an introduction to the Unix shell environment, both on the student
1652     servers and on other Unix environments. Topics covered include: using the shell, both basic
1653     interaction and advanced topics like scripting and job control, the filesystem and manipulating
1654     it, and ssh. If you feel you're already familiar with these topics don't hesitate to come 
1655     to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1656     for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1657   </p></abstract>
1658 </eventitem>
1659
1660 <eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
1661   <short><p>
1662     New to Unix? No problem, we'll teach you to power use circles around your friends!
1663   </p></short>
1664   <abstract><p>
1665     This first tutorial is an introduction to the Unix shell environment, both on the student
1666     servers and on other Unix environments. Topics covered include: using the shell, both basic
1667     interaction and advanced topics like scripting and job control, the filesystem and manipulating
1668     it, and ssh. If you feel you're already familiar with these topics don't hesitate to come 
1669     to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1670     for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1671   </p></abstract>
1672 </eventitem>
1673
1674 <eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
1675   <short><p>
1676     Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
1677   </p></short>
1678   <abstract><p>
1679     This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed 
1680     Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
1681     document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
1682     in the student environment and elsewhere. If you aren't interested or feel comfortable with these
1683     taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
1684     don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
1685   </p></abstract>
1686 </eventitem>
1687
1688 <eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
1689   <short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
1690   <abstract><p>
1691       In this talk I will give an overview of the history of Relic and our
1692       development philosophy.  The Talk will then proceed to talk about work
1693       that is being pursued in the area of early game prototyping with the
1694       introduction of game sketching methodology.
1695     </p>
1696     <p>
1697       Bio:
1698
1699       Fired from his first job for playing Video Games Juancho Buchanan is
1700       currently the director of Technology for Relic Entertainment.  Juancho
1701       Buchanan Wrote his first game in 1984 but then pursued other interests
1702       which included a master's in Program Visualization, A Doctorate in
1703       Computer Graphics, a stint as a professor at the University of Alberta
1704       where he pioneered early work in Non photo realistic rendering, A stint
1705       at Electronic Arts as Director, Advanced Technology, A stint at EA as
1706       the University Liaison Dude, A stint at Carnegie Mellon University where
1707       he researched the Game Sketching idea.  His current role at Relic has
1708       him working with the soon to be released Dawn of War II.
1709   </p></abstract>
1710 </eventitem>
1711
1712
1713 <eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
1714   <short><p>
1715     The second official general meeting of the term. Items on the adgenda are CSC Merch,
1716     upcoming talks, and other possible planned events, as well as the announcement of
1717     a librarian and planning of an office cleanout and a library organization day.
1718   </p></short>
1719 </eventitem>
1720
1721 <!-- Spring 2008 -->
1722
1723 <!-- Winter 2008 -->
1724
1725 <eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
1726   <short>Tyler Lessard</short>
1727   <abstract><p>
1728 Tyler Lessard from RIM will present a brief history of BlackBerry
1729 technology and will discuss how the evolution of BlackBerry as an
1730 end-to-end hardware, software and services platform has been
1731 instrumental to its success and growth in the market.  Find out how the
1732 BlackBerry service components integrate with wireless carrier networks
1733 and get a sneak peek at where the wireless data market is going.
1734   </p></abstract>
1735 </eventitem>
1736
1737 <eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
1738   <short>Raymond Laflamme</short>
1739   <abstract><p>
1740       Information processing devices are pervasive in our society; from the 5
1741       dollar watches to multi-billions satellite network.  These devices have
1742       allowed the information revolution which is developing around us. It has
1743       transformed not only the way we communicate or entertain ourselves but
1744       also the way we do science and even the way we think. All this
1745       information is manipulated using the classical approximation to the laws
1746       of physics, but we know that there is a better approximation: the
1747       quantum mechanical laws.  Would using quantum mechanics for information
1748       processing be an impediment or could  it be an advantage?  This is the
1749       fundamental question at the heart of quantum information processing
1750       (QIP). QIP is a young field with an incredible potential impact reaching
1751       from the way we understand fundamental physics to technological
1752       applications. I will give an overview of the Institute for Quantum
1753       Computing,  comment on the effort in this field at Waterloo and in
1754       Canada and, time permitted visit some of the IQC labs.
1755   </p></abstract>
1756 </eventitem>
1757
1758 <eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
1759   <short>Yes, we know this is Valentine's Day.</short>
1760   <abstract><p>
1761       Contestants will be writing an artificial intelligence to play Risk.  The
1762       prize will be awarded to the intelligence which wins the most
1763       head-to-head matches against competing entries.  We're providing easy
1764       APIs for several languages, as well as full documentation of the game
1765       protocol so contestants can write wrappers for any additional language
1766       they wish to work in.
1767     </p>
1768     <p>
1769       We officially support entries in Scheme, Perl, Java, C, and C++.  If you
1770       would like help developing an API for some other language contact us
1771       through the systems committee mailing list (we will require that your API
1772       is made available to all entrants).
1773     </p>
1774     <p>
1775       To kick off the contest we're hosting an in-house coding session starting
1776       at 4:00PM on Thursday, February 14th in MC2061.  Members of our contest
1777       administration team will be available to help you work out the details of
1778       our APIs, answer questions, and provide the necessities of life (ie,
1779       pizza).  Submissions will open no later than 5:00PM on February 14th
1780       and will close no earlier than 12:00PM on February 17th.
1781     </p>
1782     <p>
1783       Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
1784   </p></abstract>
1785 </eventitem>
1786
1787
1788 <eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
1789   <short>Elmer Horvath</short>
1790   <abstract><p>
1791       The problem:  coordinating and communicating between multiple processors
1792       in a distributed system (possibly containing heterogeneous elements)
1793       </p><p>
1794       The open source TIPC (transparent interprocess communication) protocol
1795       has been incorporated into the Linux kernel and is available in VxWorks
1796       and, soon, other OSes.  This emerging protocol has a number of
1797       advantages in a clustered environment to simplify application
1798       development while maintaining a familiar socket programming interface.
1799       The service oriented capabilities of TIPC help in applications easily
1800       finding required services in a system.  The location transparent aspect
1801       of TIPC allows services to be located anywhere in the system as well as
1802       allowing redundant services for both load reduction and backup.
1803       
1804       Learn about the emerging cluster protocol.
1805   </p></abstract>
1806 </eventitem>
1807
1808 <eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
1809   <abstract><p>
1810     Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
1811     The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
1812     not engage in campaigning after the nomination period has closed.
1813   </p></abstract>
1814 </eventitem>
1815
1816
1817 <!-- fall 2007 -->
1818
1819         <eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
1820         <abstract>
1821         <p>
1822         There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
1823         </p>
1824         <p>
1825         This is a chance to bring out any ideas and concerns about CSC happenings into the open, as well as a chance to make sure all CSC staff is up to speed on current CSC doings. The current agenda can be found at <a href="http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007">http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007.</a>
1826         </p>
1827         </abstract>
1828         </eventitem>
1829
1830         <eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
1831          <short>Susan Abramovitch</short>
1832          <abstract>
1833         <p>
1834         This talk is run by the School of Computer Science
1835         </p>
1836         <p>
1837         How should virtual property created in games, such as weapons used in
1838 games like Mir 3 and real estate or clothing created or acquired in
1839 games like Second Life, be treated in law.  Although the videogaming
1840 industry continues to multiply in value, virtual property created in
1841 virtual worlds has not been formally recognized by any North American
1842 court or legislature.  A bridge has been taking shape from gaming's
1843 virtual economies to real world economies, for example, through
1844 unauthorized copying of designer clothes sold on Second Life for in-game
1845 cash, or real court damages awarded against deletion of player-earned
1846 swords in Mir 3.  The trading of virtual property is important to a
1847 large number of people and property rights in virtual property are
1848 currently being recognized by some foreign legal bodies.
1849 </p>
1850 <p>
1851 Susan Abramovitch will explain the legal considerations in determining
1852 how virtual property can or should be governed, and ways it can be
1853 legally similar to tangible property.  Virtual property can carry both
1854 physical and intellectual property rights.  Typically video game
1855 developers retain these rights via online agreements, but Ms.
1856 Abramovitch questions whether these rights are ultimately enforceable
1857 and will describe policy issues that may impact law makers in deciding
1858 how to treat virtual property under such agreements.
1859 </p>
1860          </abstract>
1861         </eventitem>
1862
1863         <eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
1864          <short>Brennan Taylor</short>
1865          <abstract>
1866         <p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
1867 basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI 
1868 programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can 
1869 be.</p>
1870          </abstract>
1871         </eventitem>
1872         <eventitem date="2007-10-09" time="4:45 PM" room="MC 4060" title="Join-Calculus with JoCaml. Concurrent programming that doesn't fry your brain">
1873          <short>Brennan Taylor</short>
1874          <abstract>
1875         <p>
1876         A lecture on the fundamentals of Pi-Calculus followed by an introduction
1877 to Join-Calculus in JoCaml with some great examples. Various concurrent
1878 control structures are explored, as well as the current limitations of
1879 JoCaml. The examples section will mostly be concurrent programming,
1880 however some basic distributed examples will be explored. This lecture
1881 focuses on how easy concurrent programming can be.
1882         </p>
1883          </abstract>
1884         </eventitem>
1885
1886         <eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
1887          <short>Ian Goldberg</short>
1888          <abstract>
1889 <p>
1890 Instant messaging (IM) is an increasingly popular mode of communication
1891 on the Internet.  Although it is used for personal and private
1892 conversations, it is not at all a private medium.  Not only are all of
1893 the messages unencrypted and unauthenticated, but they are all
1894 routedthrough a central server, forming a convenient interception point
1895 for an attacker.  Users would benefit from being able to have truly
1896 private conversations over IM, combining the features of encryption,
1897 authentication, deniability, and forward secrecy, while working within
1898 their existing IM infrastructure.
1899 </p>
1900 <p>
1901 In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
1902 used software tool for secure and private instant messaging.  I will
1903 outline the properties of Useful Security and Privacy Technologies that
1904 motivated OTR's design, compare it to other IM security mechanisms, and
1905 talk about its ongoing development directions.
1906 </p>
1907 <p>
1908 Ian Goldberg is an Assistant Professor of Computer Science at the
1909 University of Waterloo, where he is a founding member of the
1910 Cryptography, Security, and Privacy (CrySP) research group.  He holds a
1911 Ph.D. from the University of California, Berkeley, where he discovered
1912 serious weaknesses in a number of widely deployed security systems,
1913 including those used by cellular phones and wireless networks. He also
1914 studied systems for protecting the personal privacy of Internet users,
1915 which led to his role as Chief Scientist at Zero-Knowledge Systems (now
1916 known as Radialpoint), where he commercialized his research as the
1917 Freedom Network.
1918 </p>
1919          </abstract>
1920         </eventitem>
1921
1922
1923         <eventitem date="2007-11-20" time="4:30 PM" room="MC 4041" title="Why you should care about functional programming with Haskell *New-er Date*">
1924          <short>Andrei Barbu</short>
1925          <abstract>
1926          </abstract>
1927         </eventitem>
1928         <eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
1929          <short>Andrei Barbu</short>
1930          <abstract>
1931 Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
1932 lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
1933 software transactional memory, a new approach to concurrency, will also be discussed. Before the end we'll also see the solution to an ACM problem
1934 to get a hands on feeling for the language. Don't worry if you haven't seen the first talk, you should be fine for this one anyway!
1935
1936          </abstract>
1937         </eventitem>
1938
1939         <eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
1940          <short>Brennan Taylor</short>
1941          <abstract>
1942         <p>
1943         A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples. 
1944         Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will 
1945         mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy 
1946         concurrent programming can be.
1947         </p>
1948          </abstract>
1949         </eventitem>
1950
1951         <eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
1952          <short>David Tenty</short>
1953          <abstract>
1954         <p>
1955         With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
1956         However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
1957         PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
1958         Postponed to a later date.
1959         </p>
1960          </abstract>
1961         </eventitem>
1962
1963         <eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
1964          <short>Win Prizes!</short>
1965          <abstract>
1966         <p>
1967         The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed. 
1968         Prizes totalling in value of $75 will be distributed. You can participate online! For more information, including source files visit <a href="http://www.csclub.uwaterloo.ca/contest">http://www.csclub.uwaterloo.ca/contest</a>
1969         </p>
1970         <p>
1971         And Free Pizzaa for all who attend!
1972         </p>
1973          </abstract>
1974         </eventitem>
1975         <eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
1976          <short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
1977          <abstract>
1978         <p>
1979         Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
1980         Lots of fun! Possible Pizzaa!
1981         </p>
1982          </abstract>
1983         </eventitem>
1984
1985         <eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
1986          <short>Brennan Taylor</short>
1987          <abstract>
1988         <p>
1989         A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some 
1990         history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
1991         </p>
1992          </abstract>
1993         </eventitem>
1994
1995         <eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
1996          <short>Holden Karau</short>
1997          <abstract>
1998         <p>
1999         An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
2000         </p>
2001         <p>
2002         Holden Karau participated in Google Summer of Code 2007 as a student on the subversion team. He created a set of scheme bindings for the 
2003         subversion project.
2004         </p>
2005          </abstract>
2006         </eventitem>
2007
2008
2009
2010 <!--spring 2007-->
2011
2012   <eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
2013     <short>Bjarne Stroustrup</short>
2014     <abstract><p>
2015       A good programming language is far more than a simple collection of
2016       features. My ideal is to provide a set of facilities that smoothly work
2017       together to support design and programming styles of a generality beyond
2018       my imagination. Here, I briefly outline rules of thumb (guidelines,
2019       principles) that are being applied in the design of C++0x. Then, I
2020       present the state of the standards process (we are aiming for C++09) and
2021       give examples of a few of the proposals such as concepts, generalized
2022       initialization, being considered in the ISO C++ standards committee.
2023       Since there are far more proposals than could be presented in an hour,
2024       I'll take questions.
2025     </p></abstract>
2026   </eventitem>
2027
2028   <eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
2029     <short>Richard Stallman</short>
2030     <abstract><p>
2031       Copyright developed in the age of the printing press, and was designed 
2032       to fit with the system of centralized copying imposed by the printing 
2033       press. But the copyright system does not fit well with computer 
2034       networks, and only draconian punishments can enforce it.
2035     </p><p>
2036       The global corporations that profit from copyright are lobbying for 
2037       draconian punishments, and to increase their copyright powers, while 
2038       suppressing public access to technology. But if we seriously hope to 
2039       serve the only legitimate purpose of copyright--to promote progress, for 
2040       the benefit of the public--then we must make changes in the other 
2041       direction.
2042     </p><p>
2043       The CSC would like to thank MEF and Mathsoc for funding this talk.
2044     </p><p>
2045       <a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
2046       <a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
2047       <a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
2048       <a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
2049     </p></abstract>
2050   </eventitem>
2051
2052   <eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
2053     <short>A talk by Michael Terry</short>
2054     <abstract><p>
2055       What is the typical monitor resolution of a GIMP user? How many monitors 
2056       do they have? What size images do they work on? How many layers are in 
2057       their images? The answers to these questions are generally unknown: No 
2058       means currently exist for open source applications to collect usage 
2059       data. In this talk, I will present ingimp, a version of GIMP that has 
2060       been instrumented to automatically collect usage data from real-world 
2061       users. I will discuss ingimp's design, the type of data we collect, how 
2062       we make the data available on the web, and initial results that begin to 
2063       answer the motivating questions.
2064       </p><p>
2065       ingimp can be found at http://www.ingimp.org.
2066       </p></abstract>
2067   </eventitem>
2068
2069   <eventitem date="2007-06-22" time="4:30 PM"
2070         room="MC 4042"
2071         title="Email encryption for the masses">
2072         <short>Ken Ho</short>
2073         <abstract><p>
2074       E-mail transactions and confirmations have become commonplace and the
2075       information therein can often be sensitive. We use email for purposes as
2076       mundane as inbound marketing, to as sensitive as account passwords and
2077       financial transactions. And nearly all our email is sent in clear text;
2078       we trust only that others will not eavesdrop or modify our messages. But
2079       why rely on the goodness or apathy of your fellow man when you can
2080       ensure your message's confidentiality with encryption so strong not even
2081       the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
2082       and GNU Privacy Guard to ensure that your messages are sent, knowing
2083       that only your intended recipient can receive it.
2084       </p><p>An optional code-signing party will be held immediately 
2085       afterwards; if you already have a PGP or GPG key and wish to 
2086       participate, please submit the public key to 
2087       <a href="mailto:gpg-keys@csclub.uwaterloo.ca">
2088       gpg-keys@csclub.uwaterloo.ca</a>.
2089     </p><p>
2090       Laptop users are invited also to participate in key-pair sharing 
2091       on-site, though it is preferable to send keys ahead of time.
2092     </p></abstract>
2093  </eventitem>
2094
2095   <eventitem date="2007-06-18" time="4:30 PM"
2096         room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
2097         <short>Peter Macdonald</short>
2098         <abstract><p>
2099       The purpose of the talk is to address how students interact with the
2100       internet, and possibilities for how they could do so more efficiently. 
2101       Information on events and happenings on UW campus is currently hosted 
2102       on a desperate, series of internet applications. Interactions with 
2103       WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a 
2104       Facebook group, campus information at large comes from 
2105       <a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There 
2106       has been historical pressures from various bodies, including some 
2107       thinkers in feds and the administration, to centralize these issues. To 
2108       create a one stop shop for students on campus.
2109     </p><p>
2110       It is not through confining data in cages that we will finally link all 
2111       student activities together, instead it is by truly freeing it. When 
2112       data can be anywhere, then it will be everywhere students need it. This 
2113       is the underlying concept behind metadata, data that is freed from the 
2114       confines of it's technical imprisonment. Metadata is the extension of 
2115       people, organizations, and activities onto the internet in a way that is 
2116       above the traditional understanding of how people interact with their 
2117       networks. The talk will explore how Metadata can exist freely on the 
2118       internet, how this affects concepts like Web 3.0, and how the university 
2119       and the federation are poised to take advantage of this burgeoning new 
2120       technology through adoptions of portals which will allow students to 
2121       interact with a metaverse of data.
2122     </p></abstract>
2123   </eventitem>
2124
2125 <!-- Winter 2007 -->
2126
2127   <eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
2128     <short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
2129     <abstract><p>
2130       Richard Stallman has cancelled his trip to Canada.
2131     </p></abstract>
2132   </eventitem>
2133
2134   <eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
2135     <short>A talk by Simina Branzei</short>
2136     <abstract><p>
2137       Abstract coming soon!
2138     </p></abstract>
2139   </eventitem>
2140
2141   <eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
2142     Bill Gates Visit">
2143    <abstract>
2144    <p>
2145    While reading Slashdot, Bill came across the recently digitized audio
2146    recording of his 1989 talk at the Computer Science Club. As Bill has always
2147    had a soft-spot for the Computer Science Club, he has decided to pay us a
2148    surprise visit.
2149    </p><p>
2150    Bill promises to give away free copies of Windows Vista Ultimate, because
2151    frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
2152    to bring your resumes kids, because Bill will be recruiting for some 
2153    exciting new positions at Microsoft, including Mindless Drone, Junior Code
2154    Monkey, and Assistant Human Cannonball.
2155    </p>
2156    </abstract>
2157  </eventitem>
2158
2159   <eventitem date="2007-03-28" time="5:30 PM"
2160    room="MC 1056" title="Computational Physics Simulations">
2161    <short>A talk by David Tenty and Alex Parent</short>
2162    <abstract>
2163    <p>
2164         Coming Soon!
2165     </p>
2166     </abstract>
2167   </eventitem>
2168
2169
2170
2171   <eventitem date="2007-03-29" time="4:30 PM"
2172    room="MC 1056" title="All The Code">
2173    <short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
2174    <abstract>
2175    <p>
2176 Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find 
2177 pre-existing code. So if you were writing some code and you wanted to find a csv library, for example, you could search for csv. 
2178 <a href="http://www.allthecode.com/">All The Code</a> is a 
2179 next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine 
2180 relevance of code.
2181 </p>
2182 <p>
2183 The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>, 
2184 along with a brief discussion of some of the technology behind it.
2185     </p>
2186     </abstract>
2187   </eventitem>
2188
2189
2190   <eventitem date="2007-04-04" time="4:00 PM"
2191    room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
2192    <short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
2193    circumstances</short>
2194    <abstract>
2195    <p>
2196 I am going to take an intuitive, CS-style approach to a discussion about the
2197 use of kernels in modern data analysis.  This approach often lends us
2198 efficient ways to consider a dataset under various choices of inner product,
2199 which is roughly comparable to a measure of "similarity".  Many new tools in
2200 AI arise from kernel methods, such as the infamous Support Vector Machines for
2201 classification, and kernel-PCA for nonlinear dimensionality reduction.  I will
2202 attempt to highlight, and provide visualization for some of the math involved
2203 in these methods while keeping the material at an accessible, undergraduate
2204 level.
2205     </p>
2206     </abstract>
2207   </eventitem>
2208
2209
2210
2211   <eventitem date="2007-02-26" time="4:30 pm"
2212    room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
2213    <short>A talk by Alex Ionescu</short>
2214    <abstract>
2215    <p>
2216 The ReactOS operating system has been in development for over eight years and aims to provide users
2217 with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
2218 its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
2219 identical to Windows, both visually and internally.
2220 </p><p>
2221 More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
2222 students to learn a variety of skills useful to software testing, development and management, as well as
2223 providing a rich and clean implementation of Windows NT, with a kernel compatible to published
2224 internals book on the subject.
2225 </p><p>
2226 This talk will introduce the ReactOS project, as well as the various software engineering challenges
2227 behind it. The building platform and development philosophies and utilities will be shown, and
2228 attendees will grasp the vast amount of effort and organization that needs to go into building an
2229 operating system or any other similarly large project. The speaker will gladly answer questions related to
2230 his background, experience and interests and information on joining the project, as well as any other
2231 related information.
2232 </p><p>
2233 <strong>Speaker Bio</strong>
2234 </p><p>
2235 Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
2236 and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
2237 and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
2238 world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
2239 providing hands-on workshops and lectures on Windows NT internals and security to various companies.
2240     </p>
2241     </abstract>
2242   </eventitem>
2243
2244
2245   <eventitem date="2007-02-15" time="4:30 PM"
2246    room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
2247    <short>A talk by James deBoer</short>
2248    <abstract>
2249    <p>
2250
2251 This talk will introduce the Haskell programming language and and walk
2252 through building a recognizer for regular languages. The talk will
2253 include a quick overview of regular expressions, an introduction to
2254 Haskell and finally a line by line analysis of a regular language
2255 recognizer.
2256     </p>
2257     </abstract>
2258   </eventitem>
2259
2260   <eventitem date="2007-02-09" time="4:30 PM"
2261    room="MC 4041" title="Introduction to 3-d Graphics">
2262    <short>A talk by Chris "The Prof" Evensen</short>
2263    <abstract>
2264    <p>
2265  A talk for those interested in 3-dimensional graphics but unsure of where to
2266  start.  Covers the basic math and theory behind projecting 3-dimensional
2267  polygons on screen, as well as simple cropping techniques to improve
2268  efficiency.  Translation and rotation of polygons will also be discussed.
2269    </p>
2270    </abstract>
2271   </eventitem>
2272
2273   <eventitem date="2007-02-09" time="8:30 PM"
2274    room="DC 1351" title="Writing World Class Software">
2275    <short>A talk by James Simpson</short>
2276    <abstract>
2277    <p>
2278 A common misconception amongst software developers is that top quality software 
2279 encompasses certain platforms, is driven by a particular new piece of 
2280 technology, or relies solely on a particular programming language.  However as 
2281 developers we tend to miss the less hyped issues and techniques involved in 
2282 writing world class software.  These techniques are universal to all 
2283 programming languages, platforms and deployed technologies but are often times 
2284 viewed as being so obvious that they are ignored by the typical developer.  The 
2285 topics covered in this lecture will include:
2286 </p><p>
2287 - Writing bug-free to extremely low bug count software in real-time<br/>
2288 - The concept of single-source, universal platform software<br/>
2289 - Programming language interoperability<br/>
2290 <br/>
2291 ... and other less hyped yet vitally important concepts to writing
2292 World Class Software
2293    </p>
2294     </abstract>
2295   </eventitem>
2296
2297   <eventitem date="2007-02-08" time="4:30 PM"
2298    room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
2299    <short>A talk by Larry Smith</short>
2300    <abstract>
2301    <p>
2302  A discussion of software start-ups founded by UW students and what they did 
2303  that helped them grow and what failed to help.  In order to share the most 
2304  insights and guard the confidences of the individuals involved, none of the 
2305  companies will be identified.
2306    </p>
2307     </abstract>
2308   </eventitem>
2309
2310
2311   <eventitem date="2007-02-07" time="4:30 PM"
2312    room="MC 4041" title="Riding The Multi-core Revolution">
2313    <short>How a Waterloo software company is changing the way people program computers. 
2314      A talk by Stefanus Du Toit</short>
2315    <abstract>
2316    <p>
2317         For decades, mainstream parallel processing has been thought of as
2318 inevitable. Up until recent years, however, improvements in
2319 manufacturing processes and increases in clock speed have provided
2320 software with free Moore's Law-scale performance improvements on
2321 traditional single-core CPUs. As per-core CPU speed increases have
2322 slowed to a halt, processor vendors are embracing parallelism by
2323 multiplying the number of cores on CPUs, following what Graphics
2324 Processing Unit (GPU) vendors have been doing for years. The Multi-
2325 core revolution promises to provide unparalleled increases in
2326 performance, but it comes with a catch: traditional serial
2327 programming methods are not at all suited to programming these
2328 processors and methods such as multi-threading are cumbersome and
2329 rarely scale beyond a few cores. Learn how, with hundreds of cores in
2330 desktop computers on the horizon, a local software company is looking
2331 to revolutionize the way software is written to deliver on the
2332 promise multi-core holds.
2333     </p>
2334     <p>
2335         Refreshments (and possible pizza!) will be provided.
2336     </p>
2337     </abstract>
2338   </eventitem>
2339
2340 <!--  <eventitem date="2007-01-24" time="4:00 PM"
2341    room="TBA" title="TBA">
2342    <short>A talk by Reg Quinton</short>
2343    <abstract>
2344    <p>
2345         To be announced
2346     </p>
2347     </abstract>
2348   </eventitem>
2349 -->
2350   <eventitem date="2007-01-31" time="4:00 PM"
2351    room="MC 4041" title="Network Security -- Intrusion Detection">
2352    <short>A talk by Reg Quinton</short>
2353    <abstract>
2354    <p>
2355  IST monitors the campus network for vulnerabilities and scans
2356  systems for security problems.
2357  This informal presentation will look behind the scenes to show the
2358  strategies and technologies used and to show the problem magnitude. We
2359  will review the IST Security web site with an emphasis on these pages
2360  </p><p>
2361  <a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
2362  <a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
2363  <a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
2364     </p>
2365     </abstract>
2366   </eventitem>
2367 <!--
2368   <eventitem date="2007-01-31" time="4:30 PM"
2369    room="TBA" title="An Brief Introduction to Projection Graphics">
2370    <short>A talk by Christopher Evensen</short>
2371    <abstract>
2372    <p>
2373         To be announced
2374     </p>
2375     </abstract>
2376   </eventitem>
2377 -->
2378
2379 <!-- Fall 2006 -->
2380 <!-- Nothing happened :( -->
2381
2382 <!-- Spring 2006 -->
2383
2384
2385 <eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
2386  <short>Come out for the Club that Really Likes Dinner</short>
2387  <abstract>
2388  <p>
2389 Summer: the sparrows whistle through the teapot-steam breeze.  The
2390 ubiquitous construction team tears the same pavement up for the third
2391 time, hammering passers-by with dust and noise: our shirts, worn for
2392 the third time, noisome from competing heat and shame.  As Nature
2393 continues her Keynesian rotation of policy, and as society decrees yet
2394 another parting of ways, it is proper for the common victims to have
2395 an evening to themselves, looking both back and ahead, imagining new
2396 opportunities, and recognising those long since missed.  God fucking
2397 damn it.
2398 </p>
2399 <p>
2400 This term's CTRL-D end-of-term dinner is taking place tomorrow
2401 (Saturday) at 7:00 P.M. at East Side Mario's, in the plaza.  Meet in
2402 the C.S.C. fifteen minutes beforehand, so they don't take away our
2403 seats or anything nasty like that.
2404 </p>
2405 <p>
2406 A lot of people wanted to go to the Mongolian Grill, but I'm pretty
2407 sure this place has a similar price-to-tasty ratio; what's more,
2408 they'll actually grant us a reservation more than four nights a week.
2409 I've confirmed that the crazy allergenic peanuts no longer exist
2410 (sad), and they have a good vegetarian selection, which is likely
2411 coincides with their kosher and halal menus.
2412 </p>
2413 <p>
2414 Come out for the tasty and the awesome!  If you pretend it's your
2415 birthday, everyone's a loser!  Tell your friends, because I told the
2416 telephone I wanted to reserve for 10 to 12 people, and I don't wish to
2417 sully Calum T. Dalek's good name!
2418  </p>
2419  </abstract>
2420
2421 </eventitem>
2422
2423
2424 <eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
2425  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
2426  <abstract>
2427  <p>
2428  Does being in CS make you feel like a lemming?  Is linear algebra driving you
2429  into walls?  Do you pace back and forth, constantly, regardless of whatever's
2430  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
2431  playing the pseudo-sequel:  Oh No! More Lemmings!
2432  </p>
2433  <ul>
2434   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
2435   <li>Projector screen: the pixels are man-sized!</li>
2436   <li>Enjoy classic Lemmings tunes</li>
2437  </ul>
2438  </abstract>
2439
2440 </eventitem>
2441 <eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
2442         <short>A part of Linux Awareness Week</short>
2443         <abstract>
2444         <p>
2445         The Computer Science Club is once again stepping forward to fulfill its ancient duty to the people-this time by installing one of the many 
2446 fine distributions of Linux for you. 
2447         </p>
2448         <p>
2449         Ubuntu? Debian? Gentoo? Fedora? We might not have them all, but we seem to have an awful lot! Bring your boxen down to the D.C. Fishbowl for 
2450 the awesome!
2451         </p>
2452         <p>
2453         Install Linux on your machine-install fear in your opponents!
2454         </p>
2455 </abstract>
2456 </eventitem>
2457
2458
2459 <eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
2460         <short>or How communities of interest drive modern software development.</short>
2461         <abstract>
2462         <p>
2463                 Simon Law leads the Quality teams for Ubuntu, a free-software operating
2464                 system built on Debian GNU/Linux.  As such, he leads one of the largest
2465                 community-based testing efforts for a software product.  This does get a
2466                 bit busy sometimes.
2467         </p>
2468         <p>
2469                 In this talk, we'll be exploring how the Internet is changing how
2470                 software is developed.  Concepts like open source and technologies like
2471                 message forums are blurring the lines between producer and consumer.
2472                 And this melting pot of people is causing people to take note, and
2473                 changing the way they sling code.
2474         </p>
2475         <p>
2476                 Co-Sponsored with CS-Commons Committee
2477         </p>
2478 </abstract>
2479 </eventitem>
2480
2481   <eventitem date="2006-07-21" time="5:30 PM"
2482    room="MC1085" title="March of the Penguins">
2483    <short>The Computer Science Club will be showing March of the Penguins</short>
2484    <abstract>
2485         <p>
2486         <a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
2487 by some guy with a funny voice is being shown by the Computer Science club because penguins are cute and were bored [that and the
2488 whole Linux awareness week that forgot to tell people about].
2489         </p>
2490    </abstract>
2491   </eventitem>
2492
2493
2494   <eventitem date="2006-07-20" time="5:30 PM"
2495    room="MC4041" title="Cool Stuff to do With Python">
2496    <short>Albert O'Connor will be introducing the joys of programming in python</short>
2497    <abstract>
2498         <p>
2499         Albert O'Connor, a UW grad,  will be giving a ~30 minute talk on introducing the joys of programming python. Python is an open source 
2500 object-oriented programming language which is most awesome. 
2501         </p>
2502    </abstract>
2503   </eventitem>
2504
2505   <eventitem date="2006-07-20" time="4:30 PM"
2506    room="MC4041" title="Simulating multi-tasking on an embedded architecture">
2507    <short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
2508    <abstract>
2509         <p>
2510 In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must 
2511 respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence 
2512 crazy hacks must be used to get the benefits without paying the high costs. This talk will look at the common hack used to simulate multi-processing 
2513 in a real time embedded environment.
2514         </p>
2515    </abstract>
2516   </eventitem>
2517
2518
2519 <eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
2520         <short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
2521         <abstract>
2522         <p>
2523 Could you write a good image recognizer for a 100 MHz mobile phone
2524 processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
2525 stack? It needs to locate and read two-dimensional barcodes made up of
2526 square modules which might be no more than a few pixels in size. We
2527 had to do that in order to establish Semacode, a local start up
2528 company that makes a software barcode reader for cell phones. The
2529 applications vary from ubiquitous computing to advertising. Simon
2530 Woodside (founder) will discuss what it's like to start a business and
2531 how the imaging code works.
2532         </p>
2533 </abstract>
2534 </eventitem>
2535
2536
2537
2538
2539
2540   <eventitem date="2006-07-17" time="11:59 PM"
2541    room="MC3036" title="Midnight Madness, Alpha Edition">
2542    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
2543    <abstract>
2544         <p>
2545         The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
2546 together, solder, and eat free food (probably pizza).
2547         </p>
2548    </abstract>
2549   </eventitem>
2550
2551
2552   <eventitem date="2006-06-21" time="4:30 PM"
2553    room="MC4042" title="CSC General Meeting">
2554    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
2555    <abstract>
2556         <p>
2557         The venue will include:</p>
2558                 <p><ul>
2559                 <li><p>Computer usage agreement discussion (Holden has some changes he'd like to propose)</p></li>
2560                 <li><p>Web site - Juti is redesigning the web site (you can see <a href="beta/">a beta here</a> - ideas are welcome.</p></li>
2561                 <li><p>Frosh Linux cd's that could be put in frosh math faculty kits.</p></li>
2562                 <li><p>VoIP "not phone services" ideas.</p></li>
2563                 <li><p>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</p></li>
2564                 <li><p>Ideas for books.</p></li>
2565                 <li><p>General improvements/comments for the club.</p></li>
2566                 </ul></p>
2567         <p>
2568         If you have ideas, but can't attend, please email them to <a href="mailto:president@csclub.uwaterloo.ca">president@csclub.uwaterloo.ca</a> and they will be read them at the meeting.
2569         </p>
2570    </abstract>
2571   </eventitem>
2572
2573
2574 <eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
2575  <short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
2576  <abstract>
2577   <p>
2578   Rico Mariani, (BMath CS/EEE 1988) now an (almost) 18 year Microsoft veteran but then a CSC president comes to talk to us about the 
2579 evolution of software tools for microcomputers.  This talk promises to be a little bit about history and perspective (at least from 
2580 the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what 
2581 it's like to try to make the software industry more effective at what it does, and sometimes succeed!
2582   </p>
2583 <p>
2584 A video of the talk is available for download in our <a href="media/">media</a> section.
2585 </p>
2586  </abstract>
2587 </eventitem>
2588
2589 <eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
2590  <short>Unix 101 and 102 recording</short>
2591  <abstract>
2592   <p>
2593   Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try 
2594   and put them on the web. This Sunday we will be doing a first take.
2595   At the same time, we're going to be looking at adding new material
2596   that we haven't covered in the past. </p>
2597   <p>
2598   Why should you come out? Not only will you get to hang out with a wonderful group of people,
2599   you can help impart your knowledge to the world. Don't know anything about Unix? That's cool too,
2600   we need people to make sure its easy to follow along and hopefully keep us from leaving something
2601   out by mistake. 
2602   </p>
2603   </abstract>
2604 </eventitem>
2605
2606 <eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
2607  <short> We don't know enough about V4L</short>
2608  <abstract>
2609   <p>
2610   We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which 
2611 could benefit from a better understanding of Video 4 Linux. So, this Saturday a number of us will be trying to learn 
2612 as much as possible about Video 4 Linux and doing weird things with webcam(s).
2613   </p>
2614   </abstract>
2615 </eventitem>
2616
2617 <eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
2618 Elections">
2619  <short>Come out and vote for the Spring 2006 executive!</short>
2620  <abstract>
2621   <p>
2622   The Computer Science Club will be holding its elections for the Spring 2006
2623   term on Monday, May 8th.  The elections will be held at 4:30 PM in the
2624   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
2625   vote!
2626   </p>
2627   <p>
2628   We are accepting nominations for the following positions: President,
2629   Vice-President, Treasurer, and Secretary. The nomination period continues
2630   until 4:30 PM on Sunday, May 7th. If you are interested in running for
2631   a position, or would like to nominate someone else, please email
2632   cro@csclub.uwaterloo.ca before the deadline. 
2633   </p>
2634  </abstract>
2635 </eventitem>
2636
2637 <!-- Winter 2006 -->
2638
2639   <eventitem date="2006-03-06" time="4:45 PM"
2640    room="Physics 145" title="Creating Killer Applications">
2641    <short>A talk by Larry Smith</short>
2642    <abstract>
2643    <p>
2644         A discussion of how software creators can identify application opportunities
2645         that offer the promise of great social and commercial significance. Particular
2646         attention will be paid to the challenge of acquiring cross domain knowledge
2647         and setting up effective collaboration.
2648     </p>
2649     </abstract>
2650   </eventitem>
2651
2652
2653   <eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
2654     <short>Come out and meet your professors. Free food provided!</short>
2655     <abstract>
2656     <p>Come out and meet your professors!  This is a great opportunity to
2657     mingle with your professors before midterms or find out who you might
2658     have for future courses.  All are welcome!</p>
2659
2660     <p>Best of all, there will be <strong>free food!</strong></p>
2661
2662     <p>You can pick up invitations for your professors at the Computer Science
2663     Club office in MC 3036.</p>
2664
2665     <p>Pints with Profs will be held this term on Thursday, 9 February 2006
2666     from 5:30 to 8:00 PM in the Bombshelter.</p>
2667     </abstract>
2668   </eventitem>
2669
2670 <!-- Fall 2005 -->
2671
2672   <eventitem date="2005-11-29" time="5:30 PM"
2673    room="TBA" title="Programming Contest">
2674    <short>Come out, program, and win shiny things!</short>
2675    <abstract>
2676    <p>
2677         The Computer Science club is holding a programming contest open to all students on Tuesday the 29th of November at 5:30PM. C++,C,Perl,Scheme* are allowed. Prizes totalling in value of $75 will be distributed. 
2678
2679    </p>
2680
2681    <p>And best of all... free food!!!</p>
2682    </abstract>
2683   </eventitem>
2684
2685
2686   <eventitem date="2005-10-17" time="5:30 PM"
2687    room="Fishbowl" title="Party with Profs!">
2688    <short>Get to know your profs and be the envy of your
2689    friends!</short>
2690    <abstract>
2691    <p>
2692      Come out and meet your professors!!  This is a great opportunity to
2693      meet professors for Undergraduate Research jobs or to find out who
2694      you might have for future courses.  One and all are welcome!
2695    </p>
2696
2697    <p>And best of all... free food!!!</p>
2698    </abstract>
2699   </eventitem>
2700
2701
2702 <eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
2703  <short>You Too Can Be a Unix Taskmaster</short>
2704  <abstract>
2705   <p>
2706   This is the third in a series of seminars that cover the use of the
2707   UNIX Operating System. UNIX is used in a variety of applications, both
2708   in academia and industry. We will provide you with hands-on experience
2709   with the Math Faculty's UNIX environment in this tutorial.
2710   </p><p>
2711   Topics that will be discussed include:
2712   <ul>
2713   <li>Shell scripting</li>
2714   <li>Searching through text files</li>
2715   <li>Batch editing text files</li>
2716   </ul>
2717   </p><p>
2718   If you do not have a Math computer account, don't panic; one will be lent to
2719   you for the duration of this class.
2720   </p>
2721  </abstract>
2722 </eventitem>
2723
2724
2725 <eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
2726  <short>Fun with Unix</short>
2727  <abstract>
2728  <p>
2729  This is the second in a series of seminars that cover the use of the
2730  Unix Operating System. Unix is used in a variety of
2731  applications, both in academia and industry. We will provide you with hands-on
2732  experience with the Math Faculty's Unix environment in this tutorial.
2733  </p>
2734  <p>
2735  Topics that will be discussed include:
2736  <ul>
2737  <li>Interacting with Bourne and C shells</li>
2738  <li>Editing text using the vi text editor</li>
2739  <li>Editing text using the Emacs display editor</li>
2740  <li>Multi-tasking and the screen multiplexer</li>
2741  </ul>
2742  </p>
2743  <p>
2744  If you do not have a Math computer account, don't panic; one will be lent to
2745  you for the duration of this class.
2746  </p>
2747  </abstract>
2748 </eventitem>
2749
2750 <eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
2751  <short>First UNIX tutorial</short>
2752  <abstract>
2753   <p>
2754   The CSC UNIX tutorials are intended to help first year CS and other
2755   interested learn UNIX and the CS UNIX environment.
2756   </p>
2757   <p>
2758   This is the first in a series of two or three tutorials. It will cover basic shell
2759   use, and simple text editors.
2760   </p>
2761  </abstract>
2762 </eventitem>
2763
2764
2765 <!-- Summer 2005 -->
2766 <eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
2767  <short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
2768 <abstract>
2769 <p>
2770 Server-side Web applications have grown increasingly common, sometimes
2771 even replacing brick and mortar as the principal interface of
2772 corporations.  Correspondingly, Web browsers grow ever more powerful,
2773 empowering users to attach bookmarks, switch between pages, clone
2774 windows, and so forth.  As a result, Web interactions are not
2775 straight-line dialogs but complex nets of interaction steps.
2776 </p>
2777 <p>
2778 In practice, programmers are unaware of or are unable to handle these
2779 nets of interaction, making the Web interfaces of even major
2780 organizations buggy and thus unreliable.  Even when programmers do
2781 address these constraints, the resulting programs have a seemingly
2782 mangled structure, making them difficult to develop and hard to
2783 maintain.
2784 </p>
2785 <p>
2786 In this talk, I will describe these interactions and then show how
2787 programming language ideas can shed light on the resulting problems
2788 and present solutions at various levels.  I will also describe some
2789 challenges these programs pose to computer-aided verification, and
2790 present solutions to these problems.
2791 </p>
2792 </abstract>
2793 </eventitem>
2794 <eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
2795 <short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
2796 <abstract>
2797 <p>
2798 I'll survey the evolution of our computer science curriculum over the
2799 past thirty-five years to try to convey the reasons (not always entirely
2800 rational) behind our current mix of courses and their division into core
2801 and optional. After some remarks about constraints and opportunities in
2802 the near future, I'll open the floor to discussion, and hope to hear
2803 some candid comments about the state of CS at UW and how it might be
2804 improved.
2805 </p>
2806 <p>
2807 About the speaker:
2808 </p>
2809 <p>
2810 Prabhakar Ragde is a Professor in the School of Computer Science at UW.
2811 He was Associate Chair for Curricula during the period that saw the
2812 creation of the Bioinformatics and Software Engineering programs, the
2813 creation of the BCS degree, and the strengthening of the BMath/CS degree.
2814 </p>
2815 </abstract>
2816 </eventitem>
2817
2818 <!-- Winter 2005 -->
2819 <eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
2820  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
2821  <abstract>
2822  <p>
2823  Does being in CS make you feel like a lemming?  Is linear algebra driving you
2824  into walls?  Do you pace back and forth, constantly, regardless of whatever's
2825  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
2826  playing the pseudo-sequel:  Oh No! More Lemmings!
2827  </p>
2828  <ul>
2829   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
2830   <li>Projector screen: the pixels are man-sized!</li>
2831   <li>Live-Action Lemmings (the rules are better this time)</li>
2832   <li>Lemmings look-alike contest</li>
2833   <li>Enjoy classic Lemmings tunes</li>
2834  </ul>
2835  </abstract>
2836 </eventitem>
2837
2838 <eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
2839  <short>Fun with Unix</short>
2840  <abstract>
2841  <p>
2842  This is the second in a series of seminars that cover the use of the
2843  Unix Operating System. Unix is used in a variety of
2844  applications, both in academia and industry. We will provide you with hands-on
2845  experience with the Math Faculty's Unix environment in this tutorial.
2846  </p>
2847  <p>
2848  Topics that will be discussed include:
2849  <ul>
2850  <li>Interacting with Bourne and C shells</li>
2851  <li>Editing text using the vi text editor</li>
2852  <li>Editing text using the Emacs display editor</li>
2853  <li>Multi-tasking and the screen multiplexer</li>
2854  </ul>
2855  </p>
2856  <p>
2857  If you do not have a Math computer account, don't panic; one will be lent to
2858  you for the duration of this class.
2859  </p>
2860  </abstract>
2861 </eventitem>
2862
2863
2864 <eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
2865  <short>First UNIX tutorial</short>
2866  <abstract>
2867   <p>
2868   The CSC UNIX tutorials are intended to help first year CS and other
2869   interested learn UNIX and the CS UNIX environment.
2870   </p>
2871   <p>
2872   This is the first in a series of two or three tutorials. It will cover basic shell
2873   use, and simple text editors.
2874   </p>
2875  </abstract>
2876 </eventitem>
2877
2878
2879 <eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
2880 Elections">
2881  <short>Come out and vote for the Winter 2005 executive!</short>
2882  <abstract>
2883   <p>
2884   The Computer Science Club will be holding its elections for the Winter 2005
2885   term on Thursday, January 13.  The elections will be held at 4:30 PM in the
2886   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
2887   vote!
2888   </p>
2889   <p>
2890   We are accepting nominations for the following positions: President,
2891   Vice-President, Treasurer, and Secretary. The nomination period continues
2892   until 4:30 PM on Wednesday, January 12. If you are interested in running for
2893   a position, or would like to nominate someone else, please email
2894   cro@csclub.uwaterloo.ca before the deadline. 
2895   </p>
2896  </abstract>
2897 </eventitem>
2898
2899
2900 <!-- Fall 2004 -->
2901
2902 <eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
2903 title="CTRL-D">
2904  <short> This semesters CTRL-D (or the club that really likes
2905 dinner) is going to be at Mongolian grill. Be there or be square</short>
2906  <abstract>
2907         <p>
2908 Come to the end of term CTRL-D (club that really likes dinner) meeting.
2909 Remember : food is good 
2910 </p>
2911  </abstract>
2912 </eventitem>
2913
2914
2915 <eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
2916  <short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
2917 interesting examples that can or cannot be straightened out</short>
2918  <abstract>
2919         <p>
2920  In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
2921 interesting examples that can or cannot be straightened out</p>
2922
2923  </abstract>
2924 </eventitem>
2925
2926
2927 <eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
2928  <short>How I Stopped Worrying and Learned to Love the IDE</short>
2929  <abstract>
2930   <p>
2931         How I stopped worrying and Learned to Love the IDE
2932   </p>
2933   <p>
2934         Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like 
2935 the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs. 
2936   </p>
2937
2938   <p>
2939         I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or 
2940 "Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
2941   </p>
2942
2943  </abstract>
2944 </eventitem>
2945
2946
2947 <eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
2948  <short>Wiki software in PHP+MySQL</short>
2949  <abstract>
2950   <p>
2951    GracefulTavi is an open source wiki programmed by Net Integration
2952    Technologies Inc. It is used internally by more than 25 people, and is
2953    the primary internal wiki for NITI's R&amp;D and QA.
2954   </p>
2955   <p>
2956    I'll start with a very brief introduction to wikis in general, then
2957    show off our special features: super-condensed formatting syntax,
2958    hierarchy management, version control, highlighted diffs, SchedUlator,
2959    the Table of Contents generator. As part of this, we'll explain the
2960    simple plugin architecture and show people how to write a basic wiki
2961    plugin.
2962   </p>
2963
2964   <p>
2965    As well, I will show some of the "waterloo specific" macros that have
2966    been coded, and explain future plans for GracefulTavi.
2967   </p>
2968
2969   <p>
2970    If time permits, I will explain how gracefulTavi can be easily used
2971    for a personal calendar and notepad system on your laptop.
2972   </p>
2973  </abstract>
2974 </eventitem>
2975
2976
2977
2978 <eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
2979  <short>Everyone else is doing it!</short>
2980  <abstract>
2981   <p>
2982         Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
2983 regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
2984   </p><p>
2985   <ul>
2986   <li>Play some old-skool Lemmings, Amiga-style</li>
2987   <li>Live-action lemmings</li>
2988   <li>Lemmings look-alike contest</li>
2989   <li>Enjoy classic Lemmings tunes</li>
2990   </ul>
2991   </p><p>
2992         Everyone else is doing it!
2993   </p>
2994  </abstract>
2995 </eventitem>
2996
2997
2998 <eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
2999         <short>CSC Programming Contest</short>
3000         <abstract>
3001         <p>
3002         The Computer Science Club will be hosting a programming competition.
3003         You have the entire afternoon to design and implement an AI for a simple
3004         game. The competition will run until 5pm.
3005         </p>
3006         </abstract>
3007 </eventitem>
3008
3009
3010 <eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
3011  <short>You Too Can Be a Unix Taskmaster</short>
3012  <abstract>
3013   <p>
3014   This is the third in a series of seminars that cover the use of the
3015   UNIX Operating System. UNIX is used in a variety of applications, both
3016   in academia and industry. We will provide you with hands-on experience
3017   with the Math Faculty's UNIX environment in this tutorial.
3018   </p><p>
3019   Topics that will be discussed include:
3020   <ul>
3021   <li>Shell scripting</li>
3022   <li>Searching through text files</li>
3023   <li>Batch editing text files</li>
3024   </ul>
3025   </p><p>
3026   If you do not have a Math computer account, don't panic; one will be lent to
3027   you for the duration of this class.
3028   </p>
3029  </abstract>
3030 </eventitem>
3031
3032 <eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
3033  <short>Fun with Unix</short>
3034  <abstract>
3035  <p>
3036  This is the second in a series of seminars that cover the use of the
3037  Unix Operating System. Unix is used in a variety of
3038  applications, both in academia and industry. We will provide you with hands-on
3039  experience with the Math Faculty's Unix environment in this tutorial.
3040  </p>
3041  <p>
3042  Topics that will be discussed include:
3043  <ul>
3044  <li>Interacting with Bourne and C shells</li>
3045  <li>Editing text using the vi text editor</li>
3046  <li>Editing text using the Emacs display editor</li>
3047  <li>Multi-tasking and the screen multiplexer</li>
3048  </ul>
3049  </p>
3050  <p>
3051  If you do not have a Math computer account, don't panic; one will be lent to
3052  you for the duration of this class.
3053  </p>
3054  </abstract>
3055 </eventitem>
3056
3057 <!-- Spring 2004 -->
3058
3059 <eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
3060  <short>First UNIX tutorial</short>
3061  <abstract>
3062   <p>
3063   The CSC UNIX tutorials are intended to help first year CS and other
3064   interested learn UNIX and the CS UNIX environment.
3065   </p>
3066   <p>
3067   This is the first in a series of three tutorials. It will cover basic shell
3068   use, and simple text editors.
3069   </p>
3070  </abstract>
3071 </eventitem>
3072 <eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
3073 Elections">
3074  <short>Come out and vote for the Fall 2004 executive!</short>
3075  <abstract>
3076   <p>
3077   The Computer Science Club will be holding its elections for the Fall 2004
3078   term on Friday, September 17. The elections will be held at 4:00 PM in the
3079   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
3080   vote!
3081   </p>
3082   <p>
3083   We are accepting nominations for the following positions: President,
3084   Vice-President, Treasurer, and Secretary. The nomination period continues
3085   until 4:30 PM on Thursday, September 16. If you are interested in running
3086   for a position, or would like to nominate someone else, please email
3087   cro@csclub.uwaterloo.ca before the deadline. 
3088   </p>
3089  </abstract>
3090 </eventitem>
3091
3092 <eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
3093 title="Game Complexity Theorists Ponder, by Jonathan Buss">
3094 <short>Attention AI buffs: Game Complexity presentation</short>
3095 <abstract>
3096 <p>
3097 Why are some games hard to play well?  The study of computational
3098 complexity gives one answer: the games encode long computations.</p>
3099
3100 <p>Any computation can be interpreted as an abstract game.  Playing the
3101 game perfectly requires performing the computation.  Remarkably, some
3102 natural games can encode these abstract games and thus simulate
3103 general computations.  The more complex the game, the more complex the
3104 computations it can encode; games that can encode intractable problems
3105 are themselves intractable.</p>
3106
3107 <p>
3108 I will describe how games can encode computations, and discuss some
3109 examples of both provably hard games (checkers, chess, go, etc.) and
3110 games that are believed to be hard (hex, jigsaw puzzles, etc.).
3111 </p>
3112 </abstract>
3113 </eventitem>  
3114
3115 <eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
3116    title="Case Modding Workshop!">
3117    <short>Come and learn how to make your computer 1337!</short>
3118    <abstract>
3119     <p>
3120 Are you bored of beige?<br />
3121 Tired of an overheating computer?<br />
3122 Is your computer's noise level on par with a jet engine?
3123     </p>
3124     <p>
3125 Got a nifty modded case?<br />
3126 Want one?
3127     </p>
3128     <p>
3129 The Computer Science Club will be holding a Case Modding Workshop
3130 to help answer these questions.
3131     </p>
3132     <p>
3133 There will be demonstrations on how to make a case window, how
3134 to paint your case, managing cables and keeping your computer
3135 quiet and cool.
3136     </p>
3137     <p>
3138 The event is FREE and there will be FREE PIZZA.  All are welcome!
3139     </p>
3140     <p>
3141 To help you on your way to getting a wicked computer case, we have a limited
3142 number of "Case Modding Starters Kits" available.  They come with an LED fan,
3143 a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more!  They're
3144 only $10 and will be on sale at the event.  Here's a <a
3145 href="redkit.jpg">picture</a>.
3146     </p>
3147     <p>
3148 If you already have a modded case, we encourage you to bring it out
3149 and show it off!  There will be a prize for the best case!!
3150     </p>
3151     <p>
3152 We hope to see you there!
3153     </p>
3154     <p>
3155 This event is sponsored by Bigfoot Computers.
3156     </p>
3157    </abstract>
3158   </eventitem>
3159
3160   <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
3161    title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
3162    <short>A talk by Richard Mann; School of Computer Science</short>
3163    <abstract>
3164     <p>
3165 When an observer moves through a 3D scene, nearby surfaces move faster in the
3166 image than do distant surfaces.  This effect, called motion parallax, provides
3167 an observer with information both about their own motion relative the scene,
3168 and about the spatial layout and depth of surfaces in the scene.
3169     </p>
3170     <p>
3171 Classical methods for measuring image motion by computer have concentrated on
3172 the cases of optical flow in which the motion field is continuous, or layered
3173 motion in which the motion field is piecewise continuous.  Here we introduce a
3174 third natural category which we call ``optical snow''.  Optical snow arises in
3175 many natural situations such as camera motion in a highly cluttered 3-D scene,
3176 or a passive observer watching a snowfall.  Optical snow yields dense motion
3177 parallax with depth discontinuities occurring near all image points.  As such,
3178 constraints on smoothness or even smoothness in layers do not apply.
3179     </p>
3180     <p>
3181 We present a Fourier analysis of optical snow.  In particular we show that,
3182 while such scenes appear complex in the time domain, there is a simple
3183 structure in the frequency domain, and this may be used to determine the
3184 direction of motion and the range of depths of objects in the scenes.  Finally
3185 we show how Fourier analysis of two or more image regions may be combined to
3186 estimate heading direction.
3187     </p>
3188     <p>
3189 This talk will present current research at the undergraduate level.  All are
3190 welcome to attend.
3191     </p>
3192    </abstract>
3193   </eventitem>
3194   
3195
3196   <eventitem date="2004-05-26" time="5:30 PM"
3197    room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
3198    <short>A talk by Larry Smith</short>
3199    <abstract>
3200    <p>
3201      Larry will challenge conventional assumptions about the directions of           
3202      computing and software. The role of AI, expert systems, communications          
3203      software and business applications will be presented both from a                
3204      functional and commercial point of view.  The great gaps in the                 
3205      marketplace will be highlighted, together with an indication of how             
3206      these vacant fields will become home to new empires.                            
3207     </p>
3208     </abstract>
3209   </eventitem>
3210   <eventitem date="2004-05-12" time="4:30 PM"
3211    room="The Comfy Lounge" title="CSC Elections">
3212    <short>Come out and vote for the Spring 2004 executive!</short>
3213    <abstract>
3214    <p>
3215      The Computer Science Club will be holding its elections for the Spring
3216      2004 term on Wednesday, May 12.  The elections will be held at 4:30 PM in
3217      the Comfy Lounge, on the 3rd floor of the MC.  Please remember to come out
3218      and vote!
3219    </p>
3220    <p>
3221      We are accepting nominations for the following positions: President,
3222      Vice-President, Treasurer, and Secretary.  The nomination period continues
3223      until 4:30 PM on Tuesday, May 11.  If you are interested in running
3224      for a position, or would like to nominate someone else, please email
3225      cro@csclub.uwaterloo.ca before the deadline.
3226    </p>
3227    </abstract>
3228   </eventitem>
3229
3230 <!-- Winter 2004 -->
3231
3232   <eventitem date="2004-03-29" time="6:00 PM"
3233    room="MC 4058" title="LaTeXing your work report">
3234    <short>A talk by Simon Law</short>
3235    <abstract>
3236    <p>
3237      The work report is a familiar chore for any co-op student. Not only is
3238      there a report to write, but to add insult to injury, your report is
3239      returned if you do not follow your departmental guidelines.
3240    </p>
3241
3242    <p>
3243      Fear no more! In this talk, you will learn how to use LaTeX and a
3244      specially developed class to automatically format your work reports.
3245      This talk is especially useful to Mathematics, Computer Science,
3246      Electrical &amp; Computer Engineering, and Software Engineeering co-op
3247      students about to go on work term.
3248    </p>
3249    </abstract>
3250   </eventitem>
3251
3252   <eventitem date="2004-03-30" time="5:30 PM"
3253    room="The Grad House" title="Pints with Profs!">
3254    <short>Get to know your profs and be the envy of your
3255    friends!</short>
3256    <abstract>
3257    <p>
3258      Come out and meet your professors!!  This is a great opportunity to
3259      meet professors for Undergraduate Research jobs or to find out who
3260      you might have for future courses.  One and all are welcome!
3261    </p>
3262
3263    <p>And best of all... free food!!!</p>
3264    </abstract>
3265   </eventitem>
3266
3267   <eventitem date="2004-03-23" time="6:00 PM"
3268    room="MC4058" title="Extending LaTeX with packages">
3269    <short>A talk by Simon Law</short>
3270    <abstract>
3271    <p>
3272      LaTeX is a document processing system.  What this means is you describe
3273      the structure of your document, and LaTeX typesets it appealingly.
3274      However, LaTeX was developed in the late-80s and is now showing its age.
3275    </p>
3276
3277    <p>
3278      How does it compete against modern systems?  By being easily extensible,
3279      of course.  This talk will describe the fundamentals of typesetting in
3280      LaTeX, and will then show you how to extend it with freely available
3281      packages.  You will learn how to teach yourself LaTeX and how to find
3282      extensions that do what you want.
3283    </p>
3284
3285    <p>
3286      As well, there will be a short introduction on creating your own
3287      packages, for your own personal use.
3288    </p>
3289    </abstract>
3290   </eventitem>
3291
3292   <eventitem date="2004-03-16" time="6:00 PM"
3293    room="MC4058" title="Distributed programming for CS and Engineering
3294    students">
3295    <short>A talk by Simon Law</short>
3296    <abstract>
3297    <p>
3298      If you've ever worked with other group members, you know how difficult
3299      it is to code simultaneously.  You might be working on one part of your
3300      assignment, and you need to send your source code to everyone else.  Or
3301      you might be fixing a bug in someone else's part, and need to merge in
3302      the change.  What a mess!
3303    </p>
3304
3305    <p>
3306      This talk will explain some Best Practices for developing code in a
3307      distributed fashion.  Whether you're working side-by-side in the lab, or
3308      developing from home, these methods can apply to your team.  You will
3309      learn how to apply these techniques in the Unix environment using GNU
3310      Make, CVS, GNU diff and patch.
3311    </p>
3312    </abstract>
3313   </eventitem>
3314
3315   <eventitem date="2004-03-15" time="5:30 PM"
3316    room="MC4040" title="SPARC Architecture">
3317    <short>A talk by James Morrison</short>
3318    <abstract>
3319    <p>
3320      Making a compiler?  Bored?  Think CISC sucks and RISC rules?
3321    </p>
3322
3323    <p>
3324      This talk will run through the SPARC v8, IEEE-P1754, architecture.
3325      Including all the fun that can be had with register windows and the
3326      SPARC instruction set including the basic instructions, floating
3327      point instructions, and vector instructions.
3328    </p>
3329    </abstract>
3330   </eventitem>
3331
3332   <eventitem date="2004-03-09" time="6:00 PM"
3333    room="MC4062" title="Managing your home directory using CVS">
3334    <short>A talk by Simon Law</short>
3335    <abstract>
3336    <p>
3337      If you have used Unix for a while, you know that you've created
3338      configuration files, or dotfiles.  Each program seems to want its own
3339      particular settings, and you want to customize your environment.  In a
3340      power-user's directory, you could have hundreds of these files.
3341    </p>
3342
3343    <p>
3344      Isn't it annoying to migrate your configuration if you login to another
3345      machine?  What if you build a new computer?  Or perhaps you made a
3346      mistake to one of your configuration files, and want to undo it?
3347    </p>
3348
3349    <p>
3350      In this talk, I will show you how to manage your home directory using
3351      CVS, the Concurrent Versions System.  You can manage your files, revert
3352      to old versions in the past, and even send them over the network to
3353      another machine.  I'll also discuss how to keep your configuration files
3354      portable, so they'll work even on different Unices, with different
3355      software installed.
3356    </p>
3357    </abstract>
3358   </eventitem>
3359
3360   <eventitem date="2004-03-02" time="6:00 PM"
3361    room="MC4042" title="Graphing webs-of-trust">
3362    <short>A talk by Simon Law</short>
3363    <abstract>
3364    <p>
3365      In today's world, people have hundreds of connexions.  And you can
3366      express these connexions with a graph.  For instance, you may wish to
3367      represent the network of your friends.
3368    </p>
3369
3370    <p>
3371      Originally, webs-of-trust were directed acyclic graphs of people who had
3372      identified each other.  This way, if there was a path between you and
3373      the person who want to identify, then you could assume that each person
3374      along that path had verified the next person's identity.
3375    </p>
3376
3377    <p>
3378      I will show you how to generate your own web-of-trust graph using Free
3379      Software.  Of course, you can also use this knowledge to graph anything
3380      you like.
3381    </p>
3382    </abstract>
3383   </eventitem>
3384
3385   <eventitem date="2004-02-18" time="7:00 PM"
3386    room="DC2305" title="KW Perl Mongers">
3387    <short>Perl Modules: A look under the hood</short>
3388    <abstract>
3389
3390    <p>In Perl, a module is the basic unit of code-reuse.  The talk will be
3391    mostly a look into GD::Text::Arc, a module written to draw TrueType text
3392    around the edge of a circle.  The talk will consider:</p>
3393
3394    <ul>
3395    <li>using and writing object-oriented perl code</li>
3396    <li>the Virtue of Laziness: or, reusing other peoples' code.</li>
3397    <li>writing tests while coding</li>
3398    <li>beer coasters</li>
3399    </ul>
3400
3401    </abstract>
3402   </eventitem>
3403
3404   <eventitem date="2004-02-05" time="3:30 PM"
3405    room="MC4041" title="Constitutional Change">
3406    <short>Vote to change the CSC Constitution</short>
3407    <abstract>
3408
3409    <p>During the General Meeting on 19 January 2004, a proposed constitution
3410    change was passed around.  This change is in response to a change in the
3411    MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>
3412
3413    <p>This general meeting is called to vote on this proposed change.  We must
3414    have quorum of 15 Full Members vote on this change.  The following text was
3415    presented at the CSC Winter 2004 Elections.</p>
3416
3417 <pre>We propose to make a Constitutional change on this day, 19 January 2004.
3418 The proposed change is to section 3.1 of the constitution which
3419 currently reads:
3420
3421     In compliance with MathSoc regulations and in recognition of the
3422     club being primarily targeted at undergraduate students, full
3423     membership is open to all undergraduate students in the Faculty of
3424     Mathematics and restricted to the same.
3425
3426 Since MathSoc has changed its requirements for club membership, we
3427 propose that it be changed to:
3428
3429     In compliance with MathSoc regulations and in recognition of the
3430     club being primarily targeted at undergraduate students, full
3431     membership is open to all Social Members of the Mathematics Society
3432     and restricted to the same.</pre>
3433    </abstract>
3434   </eventitem>
3435
3436   <eventitem date="2004-01-12" time="3:00 PM"
3437    room="DC1301" title="InstallFest">
3438    <short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
3439    <abstract>
3440
3441    <p>An Installfest is an opportunity to install software on your computer.
3442    People come with computers. Other people come with experience. The people
3443    get together and (when all goes well) everybody leaves satisfied.</p>
3444
3445    <p>You are invited to our first installfest of the year. Come to get some
3446    software or to learn more about Open Source Software and why it is relevant
3447    to your life. The event is free, but you may want to bring blank CDs and/or
3448    money to purchase some open source action for your computer at home.</p>
3449
3450    <p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
3451    website</a> for more details.</p>
3452
3453    </abstract>
3454   </eventitem>
3455
3456 <!-- Fall 2003 -->
3457
3458   <eventitem date="2003-12-01" time="7:00 PM"
3459    room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
3460    <short> Free and Open Source software has been around for a long
3461    time, even longer then shrink-wrapped code.</short>
3462    <abstract>
3463  <p>Free and Open Source software has been around for a long time, even   
3464 longer then shrink-wrapped code.  It has a long and noble history in the annals
3465 of education.  Even more than ever, due to the drop of hardware prices and the
3466 increase of worldwide communications, Free and Open Source can open new   
3467 avenues of teaching and doing research, not only in computer science, but in
3468 other university fields as well.</p>
3469  <p>Learn how Linux as an operating system can
3470 run on anything from a PDA to a supercomputer, and how Linux is reducing the
3471 cost of computing dramatically as the fastest growing operating system in the
3472 world.  Learn how other Free and Open Source projects, such as office suites,
3473 audio and video editing and playing software, relational databases, etc. are
3474 created and are freely available.</p>
3475
3476 <p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
3477  <h3>Speaker's Biography</h3>
3478  <p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
3479 a non-profit association of computer vendors who wish to support and promote
3480 the Linux Operating System.  During