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