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