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