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