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