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