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