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