...
[mspang/www.git] / events.xml
1 <eventdefs>
2
3 <!-- Spring 2006 -->
4
5
6   <eventitem date="2006-06-21" time="3:30 PM"
7    room="TBA" title="CSC General Meeting">
8    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
9    <abstract>
10         <p>
11         The venue will include:<br />
12                 <ul>
13                 <li>Computer usage agreement discussion (Holden has some changes he'd like to propse)</li><br />
14                 <li>Web site - Juti is redisigning the web site (you can see <a href="/beta/">a beta here</a> - ideas are welcome.</li><br />
15                 <li>Frosh linux cd's that could be put in frosh math faculty kits.</li><br />
16                 <li>VoIP "not phone services" ideas.</li><br />
17                 <li>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</li><br />
18                 <li>Ideas for books.</li><br />
19                 <li>General improvements/comments for the club.</li><br />
20                 </ul>
21         </p>
22         <p>
23         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.
24         </p>
25    </abstract>
26   </eventitem>
27
28
29 <eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
30  <short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
31  <abstract>
32   <p>
33   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 
34 evolution of software tools for microcomputers.  This talk promises to be a little bit about history and perspective (at least from 
35 the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what 
36 it's like to try to make the software industry more effective at what it does, and sometimes succeed!
37   </p>
38 <p>
39 Expect a video of the talk next week!
40 Yarr!
41 </p>
42  </abstract>
43 </eventitem>
44
45 <eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
46  <short>Unix 101 and 102 recording</short>
47  <abstract>
48   <p>
49   Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try 
50   and put them on the web. This sunday we will be doing a first take.
51   At the same time, we're going to be looking at adding new material
52   that we haven't covered in the past. </p>
53   <p>
54   Why should you come out? Not only will you get to hang out with a wonderful group of people,
55   you can help impart your knowledge to the world. Don't know anything about unix? Thats cool too,
56   we need people to make sure its easy to follow along and hopefully keep us from leaving something
57   out by mistake. 
58   </p>
59   </abstract>
60 </eventitem>
61
62 <eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
63  <short> We don't know enough about V4L</short>
64  <abstract>
65   <p>
66   We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which 
67 could benefit from a better understanding of Video 4 Linux. So, this saturday a number of us will be trying to learn 
68 as much as possible about Video 4 Linux and doing wierd things with webcam(s).
69   </p>
70   </abstract>
71 </eventitem>
72
73 <eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
74 Elections">
75  <short>Come out and vote for the Spring 2006 executive!</short>
76  <abstract>
77   <p>
78   The Computer Science Club will be holding its elections for the Spring 2006
79   term on Monday, May 8th.  The elections will be held at 4:30 PM in the
80   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
81   vote!
82   </p>
83   <p>
84   We are accepting nominations for the following positions: President,
85   Vice-President, Treasurer, and Secretary. The nomination period continues
86   until 4:30 PM on Sunday, May 7th. If you are interested in running for
87   a position, or would like to nominate someone else, please email
88   cro@csclub.uwaterloo.ca before the deadline. 
89   </p>
90  </abstract>
91 </eventitem>
92
93 <!-- Winter 2006 -->
94
95   <eventitem date="2006-03-06" time="4:45 PM"
96    room="Physics 145" title="Creating Killer Applications">
97    <short>A talk by Larry Smith</short>
98    <abstract>
99    <p>
100         A discussion of how software creators can identify application opportunities
101         that offer the promise of great social and commercial significance. Particular
102         attention will be paid to the challenge of acquiring cross domain knowledge
103         and setting up effective collaboration.
104     </p>
105     </abstract>
106   </eventitem>
107
108
109   <eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
110     <short>Come out and meet your professors. Free food provided!</short>
111     <abstract>
112     <p>Come out and meet your professors!  This is a great opportunity to
113     mingle with your professors before midterms or find out who you might
114     have for future courses.  All are welcome!</p>
115
116     <p>Best of all, there will be <strong>free food!</strong></p>
117
118     <p>You can pick up invitations for your professors at the Computer Science
119     Club office in MC 3036.</p>
120
121     <p>Pints with Profs will be held this term on Thursday, 9 February 2006
122     from 5:30 to 8:00 PM in the Bombshelter.</p>
123     </abstract>
124   </eventitem>
125
126 <!-- Fall 2005 -->
127
128   <eventitem date="2005-11-29" time="5:30 PM"
129    room="TBA" title="Programming Contest">
130    <short>Come out, program, and win shiney things!</short>
131    <abstract>
132    <p>
133         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. 
134
135    </p>
136
137    <p>And best of all... free food!!!</p>
138    </abstract>
139   </eventitem>
140
141
142   <eventitem date="2005-10-17" time="5:30 PM"
143    room="Fishbowl" title="Party with Profs!">
144    <short>Get to know your profs and be the envy of your
145    friends!</short>
146    <abstract>
147    <p>
148      Come out and meet your professors!!  This is a great opportunity to
149      meet professors for Undergraduate Research jobs or to find out who
150      you might have for future courses.  One and all are welcome!
151    </p>
152
153    <p>And best of all... free food!!!</p>
154    </abstract>
155   </eventitem>
156
157
158 <eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
159  <short>You Too Can Be a Unix Taskmaster</short>
160  <abstract>
161   <p>
162   This is the third in a series of seminars that cover the use of the
163   UNIX Operating System. UNIX is used in a variety of applications, both
164   in academia and industry. We will provide you with hands-on experience
165   with the Math Faculty's UNIX environment in this tutorial.
166   </p><p>
167   Topics that will be discussed include:
168   <ul>
169   <li>Shell scripting</li>
170   <li>Searching through text files</li>
171   <li>Batch editing text files</li>
172   </ul>
173   </p><p>
174   If you do not have a Math computer account, don't panic; one will be lent to
175   you for the duration of this class.
176   </p>
177  </abstract>
178 </eventitem>
179
180
181 <eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
182  <short>Fun with Unix</short>
183  <abstract>
184  <p>
185  This is the second in a series of seminars that cover the use of the
186  Unix Operating System. Unix is used in a variety of
187  applications, both in academia and industry. We will provide you with hands-on
188  experience with the Math Faculty's Unix environment in this tutorial.
189  </p>
190  <p>
191  Topics that will be discussed include:
192  <ul>
193  <li>Interacting with Bourne and C shells</li>
194  <li>Editing text using the vi text editor</li>
195  <li>Editing text using the Emacs display editor</li>
196  <li>Multi-tasking and the screen multiplexer</li>
197  </ul>
198  </p>
199  <p>
200  If you do not have a Math computer account, don't panic; one will be lent to
201  you for the duration of this class.
202  </p>
203  </abstract>
204 </eventitem>
205
206 <eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
207  <short>First UNIX tutorial</short>
208  <abstract>
209   <p>
210   The CSC UNIX tutorials are intended to help first year CS and other
211   interested learn UNIX and the CS UNIX environment.
212   </p>
213   <p>
214   This is the first in a series of two or three tutorials. It will cover basic shell
215   use, and simple text editors.
216   </p>
217  </abstract>
218 </eventitem>
219
220
221 <!-- Summer 2005 -->
222 <eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
223  <short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
224 <abstract>
225 <p>
226 Server-side Web applications have grown increasingly common, sometimes
227 even replacing brick and mortar as the principal interface of
228 corporations.  Correspondingly, Web browsers grow ever more powerful,
229 empowering users to attach bookmarks, switch between pages, clone
230 windows, and so forth.  As a result, Web interactions are not
231 straight-line dialogs but complex nets of interaction steps.
232 </p>
233 <p>
234 In practice, programmers are unaware of or are unable to handle these
235 nets of interaction, making the Web interfaces of even major
236 organizations buggy and thus unreliable.  Even when programmers do
237 address these constraints, the resulting programs have a seemingly
238 mangled structure, making them difficult to develop and hard to
239 maintain.
240 </p>
241 <p>
242 In this talk, I will describe these interactions and then show how
243 programming language ideas can shed light on the resulting problems
244 and present solutions at various levels.  I will also describe some
245 challenges these programs pose to computer-aided verification, and
246 present solutions to these problems.
247 </p>
248 </abstract>
249 </eventitem>
250 <eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
251 <short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
252 <abstract>
253 <p>
254 I'll survey the evolution of our computer science curriculum over the
255 past thirty-five years to try to convey the reasons (not always entirely
256 rational) behind our current mix of courses and their division into core
257 and optional. After some remarks about constraints and opportunities in
258 the near future, I'll open the floor to discussion, and hope to hear
259 some candid comments about the state of CS at UW and how it might be
260 improved.
261 </p><br></br>
262 About the speaker:<br></br>
263 <p>
264 Prabhakar Ragde is a Professor in the School of Computer Science at UW.
265 He was Associate Chair for Curricula during the period that saw the
266 creation of the Bioinformatics and Software Engineering programs, the
267 creation of the BCS degree, and the strengthening of the BMath/CS degree.
268 </p>
269 </abstract>
270 </eventitem>
271
272 <!-- Winter 2005 -->
273 <eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
274  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
275  <abstract>
276  <p>
277  Does being in CS make you feel like a lemming?  Is linear algebra driving you
278  into walls?  Do you pace back and forth, constantly, regardless of whatever's
279  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
280  playing the pseudo-sequel:  Oh No! More Lemmings!
281  </p>
282  <ul>
283   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
284   <li>Projector screen: the pixels are man-sized!</li>
285   <li>Live-Action Lemmings (the rules are better this time)</li>
286   <li>Lemmings look-alike contest</li>
287   <li>Enjoy classic Lemmings tunes</li>
288  </ul>
289  </abstract>
290 </eventitem>
291
292 <eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
293  <short>Fun with Unix</short>
294  <abstract>
295  <p>
296  This is the second in a series of seminars that cover the use of the
297  Unix Operating System. Unix is used in a variety of
298  applications, both in academia and industry. We will provide you with hands-on
299  experience with the Math Faculty's Unix environment in this tutorial.
300  </p>
301  <p>
302  Topics that will be discussed include:
303  <ul>
304  <li>Interacting with Bourne and C shells</li>
305  <li>Editing text using the vi text editor</li>
306  <li>Editing text using the Emacs display editor</li>
307  <li>Multi-tasking and the screen multiplexer</li>
308  </ul>
309  </p>
310  <p>
311  If you do not have a Math computer account, don't panic; one will be lent to
312  you for the duration of this class.
313  </p>
314  </abstract>
315 </eventitem>
316
317
318 <eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
319  <short>First UNIX tutorial</short>
320  <abstract>
321   <p>
322   The CSC UNIX tutorials are intended to help first year CS and other
323   interested learn UNIX and the CS UNIX environment.
324   </p>
325   <p>
326   This is the first in a series of two or three tutorials. It will cover basic shell
327   use, and simple text editors.
328   </p>
329  </abstract>
330 </eventitem>
331
332
333 <eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
334 Elections">
335  <short>Come out and vote for the Winter 2005 executive!</short>
336  <abstract>
337   <p>
338   The Computer Science Club will be holding its elections for the Winter 2005
339   term on Thursday, January 13.  The elections will be held at 4:30 PM in the
340   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
341   vote!
342   </p>
343   <p>
344   We are accepting nominations for the following positions: President,
345   Vice-President, Treasurer, and Secretary. The nomination period continues
346   until 4:30 PM on Wednesday, January 12. If you are interested in running for
347   a position, or would like to nominate someone else, please email
348   cro@csclub.uwaterloo.ca before the deadline. 
349   </p>
350  </abstract>
351 </eventitem>
352
353
354 <!-- Fall 2004 -->
355
356 <eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
357 title="CTRL-D">
358  <short> This semesters CTRL-D (or the club that really likes
359 dinner) is going to be at mongolian grill. Be there or be square</short>
360  <abstract>
361         <p>
362 Come to the end of term CTRL-D (club that really likes dinner) meeting.
363 Remember : food is good 
364 </p>
365  </abstract>
366 </eventitem>
367
368
369 <eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
370  <short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
371 interesting examples that can or cannot be straightened out</short>
372  <abstract>
373         <p>
374  In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
375 interesting examples that can or cannot be straightened out</p>
376
377  </abstract>
378 </eventitem>
379
380
381 <eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
382  <short>How I Stopped Worrying and Learned to Love the IDE</short>
383  <abstract>
384   <p>
385         How I stopped worrying and Learned to Love the IDE
386   </p>
387   <p>
388         Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like 
389 the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs. 
390   </p>
391
392   <p>
393         I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or 
394 "Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
395   </p>
396
397  </abstract>
398 </eventitem>
399
400
401 <eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
402  <short>Wiki software in PHP+MySQL</short>
403  <abstract>
404   <p>
405    GracefulTavi is an open source wiki programmed by Net Integration
406    Technologies Inc. It is used internally by more than 25 people, and is
407    the primary internal wiki for NITI's R&amp;D and QA.
408   </p>
409   <p>
410    I'll start with a very brief introduction to wikis in general, then
411    show off our special features: super-condensed formatting syntax,
412    hierarchy management, version control, highlighted diffs, SchedUlator,
413    the Table of Contents generator. As part of this, we'll explain the
414    simple plugin architecture and show people how to write a basic wiki
415    plugin.
416   </p>
417
418   <p>
419    As well, I will show some of the "waterloo specific" macros that have
420    been coded, and explain future plans for GracefulTavi.
421   </p>
422
423   <p>
424    If time permits, I will explain how gracefulTavi can be easily used
425    for a personal calendar and notepad system on your laptop.
426   </p>
427  </abstract>
428 </eventitem>
429
430
431
432 <eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
433  <short>Everyone else is doing it!</short>
434  <abstract>
435   <p>
436         Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
437 regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
438   </p><p>
439   <ul>
440   <li>Play some old-skool Lemmings, Amiga-style</li>
441   <li>Live-action lemmings</li>
442   <li>Lemmings look-alike contest</li>
443   <li>Enjoy classic Lemmings tunes</li>
444   </ul>
445   </p><p>
446         Everyone else is doing it!
447   </p>
448  </abstract>
449 </eventitem>
450
451
452 <eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
453         <short>CSC Programming Contest</short>
454         <abstract>
455         <p>
456         The Computer Science Clib will be hosting a programming competition.
457         You have the entire afternoon to design and implement an AI for a simple
458         game. The competition will run until 5pm.
459         </p>
460         </abstract>
461 </eventitem>
462
463
464 <eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
465  <short>You Too Can Be a Unix Taskmaster</short>
466  <abstract>
467   <p>
468   This is the third in a series of seminars that cover the use of the
469   UNIX Operating System. UNIX is used in a variety of applications, both
470   in academia and industry. We will provide you with hands-on experience
471   with the Math Faculty's UNIX environment in this tutorial.
472   </p><p>
473   Topics that will be discussed include:
474   <ul>
475   <li>Shell scripting</li>
476   <li>Searching through text files</li>
477   <li>Batch editing text files</li>
478   </ul>
479   </p><p>
480   If you do not have a Math computer account, don't panic; one will be lent to
481   you for the duration of this class.
482   </p>
483  </abstract>
484 </eventitem>
485
486 <eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
487  <short>Fun with Unix</short>
488  <abstract>
489  <p>
490  This is the second in a series of seminars that cover the use of the
491  Unix Operating System. Unix is used in a variety of
492  applications, both in academia and industry. We will provide you with hands-on
493  experience with the Math Faculty's Unix environment in this tutorial.
494  </p>
495  <p>
496  Topics that will be discussed include:
497  <ul>
498  <li>Interacting with Bourne and C shells</li>
499  <li>Editing text using the vi text editor</li>
500  <li>Editing text using the Emacs display editor</li>
501  <li>Multi-tasking and the screen multiplexer</li>
502  </ul>
503  </p>
504  <p>
505  If you do not have a Math computer account, don't panic; one will be lent to
506  you for the duration of this class.
507  </p>
508  </abstract>
509 </eventitem>
510
511 <!-- Spring 2004 -->
512
513 <eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
514  <short>First UNIX tutorial</short>
515  <abstract>
516   <p>
517   The CSC UNIX tutorials are intended to help first year CS and other
518   interested learn UNIX and the CS UNIX environment.
519   </p>
520   <p>
521   This is the first in a series of three tutorials. It will cover basic shell
522   use, and simple text editors.
523   </p>
524  </abstract>
525 </eventitem>
526 <eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
527 Elections">
528  <short>Come out and vote for the Fall 2004 executive!</short>
529  <abstract>
530   <p>
531   The Computer Science Club will be holding its elections for the Fall 2004
532   term on Friday, September 17. The elections will be held at 4:00 PM in the
533   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
534   vote!
535   </p>
536   <p>
537   We are accepting nominations for the following positions: President,
538   Vice-President, Treasurer, and Secretary. The nomination period continues
539   until 4:30 PM on Thursday, September 16. If you are interested in running
540   for a position, or would like to nominate someone else, please email
541   cro@csclub.uwaterloo.ca before the deadline. 
542   </p>
543  </abstract>
544 </eventitem>
545
546 <eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
547 title="Game Complexity Theorists Ponder, by Jonathan Buss">
548 <short>Attention AI buffs: Game Complexity presentation</short>
549 <abstract>
550 <p>
551 Why are some games hard to play well?  The study of computational
552 complexity gives one answer: the games encode long computations.</p>
553
554 <p>Any computation can be interpreted as an abstract game.  Playing the
555 game perfectly requires performing the computation.  Remarkably, some
556 natural games can encode these abstract games and thus simulate
557 general computations.  The more complex the game, the more complex the
558 computations it can encode; games that can encode intractable problems
559 are themselves intractable.</p>
560
561 <p>
562 I will describe how games can encode computations, and discuss some
563 examples of both provably hard games (checkers, chess, go, etc.) and
564 games that are believed to be hard (hex, jigsaw puzzles, etc.).
565 </p>
566 </abstract>
567 </eventitem>  
568
569 <eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
570    title="Case Modding Workshop!">
571    <short>Come and learn how to make your computer 1337!</short>
572    <abstract>
573     <p>
574 Are you bored of beige?<br />
575 Tired of an overheating computer?<br />
576 Is your computer's noise level on par with a jet engine?
577     </p>
578     <p>
579 Got a nifty modded case?<br />
580 Want one?
581     </p>
582     <p>
583 The Computer Science Club will be holding a Case Modding Workshop
584 to help answer these questions.
585     </p>
586     <p>
587 There will be demonstrations on how to make a case window, how
588 to paint your case, managing cables and keeping your computer
589 quiet and cool.
590     </p>
591     <p>
592 The event is FREE and there will be FREE PIZZA.  All are welcome!
593     </p>
594     <p>
595 To help you on your way to getting a wicked computer case, we have a limited
596 number of "Case Modding Starters Kits" available.  They come with an LED fan,
597 a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more!  They're
598 only $10 and will be on sale at the event.  Here's a <a
599 href="redkit.jpg">picture</a>.
600     </p>
601     <p>
602 If you already have a modded case, we encourage you to bring it out
603 and show it off!  There will be a prize for the best case!!
604     </p>
605     <p>
606 We hope to see you there!
607     </p>
608     <p>
609 This event is sponsored by Bigfoot Computers.
610     </p>
611    </abstract>
612   </eventitem>
613
614   <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
615    title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
616    <short>A talk by Richard Mann; School of Computer Science</short>
617    <abstract>
618     <p>
619 When an observer moves through a 3D scene, nearby surfaces move faster in the
620 image than do distant surfaces.  This effect, called motion parallax, provides
621 an observer with information both about their own motion relative the scene,
622 and about the spatial layout and depth of surfaces in the scene.
623     </p>
624     <p>
625 Classical methods for measuring image motion by computer have concentrated on
626 the cases of optical flow in which the motion field is continuous, or layered
627 motion in which the motion field is piecewise continuous.  Here we introduce a
628 third natural category which we call ``optical snow''.  Optical snow arises in
629 many natural situations such as camera motion in a highly cluttered 3-D scene,
630 or a passive observer watching a snowfall.  Optical snow yields dense motion
631 parallax with depth discontinuities occurring near all image points.  As such,
632 constraints on smoothness or even smoothness in layers do not apply.
633     </p>
634     <p>
635 We present a Fourier analysis of optical snow.  In particular we show that,
636 while such scenes appear complex in the time domain, there is a simple
637 structure in the frequency domain, and this may be used to determine the
638 direction of motion and the range of depths of objects in the scenes.  Finally
639 we show how Fourier analysis of two or more image regions may be combined to
640 estimate heading direction.
641     </p>
642     <p>
643 This talk will present current research at the undergraduate level.  All are
644 welcome to attend.
645     </p>
646    </abstract>
647   </eventitem>
648   
649
650   <eventitem date="2004-05-26" time="5:30 PM"
651    room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
652    <short>A talk by Larry Smith</short>
653    <abstract>
654    <p>
655      Larry will challenge conventional assumptions about the directions of           
656      computing and software. The role of AI, expert systems, communications          
657      software and business applications will be presented both from a                
658      functional and commercial point of view.  The great gaps in the                 
659      marketplace will be highlighted, together with an indication of how             
660      these vacant fields will become home to new empires.                            
661     </p>
662     </abstract>
663   </eventitem>
664   <eventitem date="2004-05-12" time="4:30 PM"
665    room="The Comfy Lounge" title="CSC Elections">
666    <short>Come out and vote for the Spring 2004 executive!</short>
667    <abstract>
668    <p>
669      The Computer Science Club will be holding its elections for the Spring
670      2004 term on Wednesday, May 12.  The elections will be held at 4:30 PM in
671      the Comfy Lounge, on the 3rd floor of the MC.  Please remember to come out
672      and vote!
673    </p>
674    <p>
675      We are accepting nominations for the following positions: President,
676      Vice-President, Treasurer, and Secretary.  The nomination period continues
677      until 4:30 PM on Tuesday, May 11.  If you are interested in running
678      for a position, or would like to nominate someone else, please email
679      cro@csclub.uwaterloo.ca before the deadline.
680    </p>
681    </abstract>
682   </eventitem>
683
684 <!-- Winter 2004 -->
685
686   <eventitem date="2004-03-29" time="6:00 PM"
687    room="MC 4058" title="LaTeXing your work report">
688    <short>A talk by Simon Law</short>
689    <abstract>
690    <p>
691      The work report is a familiar chore for any co-op student. Not only is
692      there a report to write, but to add insult to injury, your report is
693      returned if you do not follow your departmental guidelines.
694    </p>
695
696    <p>
697      Fear no more! In this talk, you will learn how to use LaTeX and a
698      specially developed class to automatically format your work reports.
699      This talk is especially useful to Mathematics, Computer Science,
700      Electrical &amp; Computer Engineering, and Software Engineeering co-op
701      students about to go on work term.
702    </p>
703    </abstract>
704   </eventitem>
705
706   <eventitem date="2004-03-30" time="5:30 PM"
707    room="The Grad House" title="Pints with Profs!">
708    <short>Get to know your profs and be the envy of your
709    friends!</short>
710    <abstract>
711    <p>
712      Come out and meet your professors!!  This is a great opportunity to
713      meet professors for Undergraduate Research jobs or to find out who
714      you might have for future courses.  One and all are welcome!
715    </p>
716
717    <p>And best of all... free food!!!</p>
718    </abstract>
719   </eventitem>
720
721   <eventitem date="2004-03-23" time="6:00 PM"
722    room="MC4058" title="Extending LaTeX with packages">
723    <short>A talk by Simon Law</short>
724    <abstract>
725    <p>
726      LaTeX is a document processing system.  What this means is you describe
727      the structure of your document, and LaTeX typesets it appealingly.
728      However, LaTeX was developed in the late-80s and is now showing its age.
729    </p>
730
731    <p>
732      How does it compete against modern systems?  By being easily extensible,
733      of course.  This talk will describe the fundamentals of typesetting in
734      LaTeX, and will then show you how to extend it with freely available
735      packages.  You will learn how to teach yourself LaTeX and how to find
736      extensions that do what you want.
737    </p>
738
739    <p>
740      As well, there will be a short introduction on creating your own
741      packages, for your own personal use.
742    </p>
743    </abstract>
744   </eventitem>
745
746   <eventitem date="2004-03-16" time="6:00 PM"
747    room="MC4058" title="Distributed programming for CS and Engineering
748    students">
749    <short>A talk by Simon Law</short>
750    <abstract>
751    <p>
752      If you've ever worked with other group members, you know how difficult
753      it is to code simultaneously.  You might be working on one part of your
754      assignment, and you need to send your source code to everyone else.  Or
755      you might be fixing a bug in someone else's part, and need to merge in
756      the change.  What a mess!
757    </p>
758
759    <p>
760      This talk will explain some Best Practices for developing code in a
761      distributed fashion.  Whether you're working side-by-side in the lab, or
762      developing from home, these methods can apply to your team.  You will
763      learn how to apply these techniques in the Unix environment using GNU
764      Make, CVS, GNU diff and patch.
765    </p>
766    </abstract>
767   </eventitem>
768
769   <eventitem date="2004-03-15" time="5:30 PM"
770    room="MC4040" title="SPARC Architecture">
771    <short>A talk by James Morrison</short>
772    <abstract>
773    <p>
774      Making a compiler?  Bored?  Think CISC sucks and RISC rules?
775    </p>
776
777    <p>
778      This talk will run through the SPARC v8, IEEE-P1754, architecture.
779      Including all the fun that can be had with register windows and the
780      SPARC instruction set including the basic instructions, floating
781      point instructions, and vector instructions.
782    </p>
783    </abstract>
784   </eventitem>
785
786   <eventitem date="2004-03-09" time="6:00 PM"
787    room="MC4062" title="Managing your home directory using CVS">
788    <short>A talk by Simon Law</short>
789    <abstract>
790    <p>
791      If you have used Unix for a while, you know that you've created
792      configuration files, or dotfiles.  Each program seems to want its own
793      particular settings, and you want to customize your environment.  In a
794      power-user's directory, you could have hundreds of these files.
795    </p>
796
797    <p>
798      Isn't it annoying to migrate your configuration if you login to another
799      machine?  What if you build a new computer?  Or perhaps you made a
800      mistake to one of your configuration files, and want to undo it?
801    </p>
802
803    <p>
804      In this talk, I will show you how to manage your home directory using
805      CVS, the Concurrent Versions System.  You can manage your files, revert
806      to old versions in the past, and even send them over the network to
807      another machine.  I'll also discuss how to keep your configuration files
808      portable, so they'll work even on different Unices, with different
809      software installed.
810    </p>
811    </abstract>
812   </eventitem>
813
814   <eventitem date="2004-03-02" time="6:00 PM"
815    room="MC4042" title="Graphing webs-of-trust">
816    <short>A talk by Simon Law</short>
817    <abstract>
818    <p>
819      In today's world, people have hundreds of connexions.  And you can
820      express these connexions with a graph.  For instance, you may wish to
821      represent the network of your friends.
822    </p>
823
824    <p>
825      Originally, webs-of-trust were directed acyclic graphs of people who had
826      identified each other.  This way, if there was a path between you and
827      the person who want to identify, then you could assume that each person
828      along that path had verified the next person's identity.
829    </p>
830
831    <p>
832      I will show you how to generate your own web-of-trust graph using Free
833      Software.  Of course, you can also use this knowledge to graph anything
834      you like.
835    </p>
836    </abstract>
837   </eventitem>
838
839   <eventitem date="2004-02-18" time="7:00 PM"
840    room="DC2305" title="KW Perl Mongers">
841    <short>Perl Modules: A look under the hood</short>
842    <abstract>
843
844    <p>In Perl, a module is the basic unit of code-reuse.  The talk will be
845    mostly a look into GD::Text::Arc, a module written to draw TrueType text
846    around the edge of a circle.  The talk will consider:</p>
847
848    <ul>
849    <li>using and writing object-oriented perl code</li>
850    <li>the Virtue of Laziness: or, reusing other peoples' code.</li>
851    <li>writing tests while coding</li>
852    <li>beer coasters</li>
853    </ul>
854
855    </abstract>
856   </eventitem>
857
858   <eventitem date="2004-02-05" time="3:30 PM"
859    room="MC4041" title="Constitutional Change">
860    <short>Vote to change the CSC Constitution</short>
861    <abstract>
862
863    <p>During the General Meeting on 19 January 2004, a proposed constitution
864    change was passed around.  This change is in response to a change in the
865    MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>
866
867    <p>This general meeting is called to vote on this proposed change.  We must
868    have quorum of 15 Full Members vote on this change.  The following text was
869    presented at the CSC Winter 2004 Elections.</p>
870
871 <pre>We propose to make a Constitutional change on this day, 19 January 2004.
872 The proposed change is to section 3.1 of the constitution which
873 currently reads:
874
875     In compliance with MathSoc regulations and in recognition of the
876     club being primarily targeted at undergraduate students, full
877     membership is open to all undergraduate students in the Faculty of
878     Mathematics and restricted to the same.
879
880 Since MathSoc has changed its requirements for club membership, we
881 propose that it be changed to:
882
883     In compliance with MathSoc regulations and in recognition of the
884     club being primarily targeted at undergraduate students, full
885     membership is open to all Social Members of the Mathematics Society
886     and restricted to the same.</pre>
887    </abstract>
888   </eventitem>
889
890   <eventitem date="2004-01-12" time="3:00 PM"
891    room="DC1301" title="InstallFest">
892    <short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
893    <abstract>
894
895    <p>An Installfest is an opportunity to install software on your computer.
896    People come with computers. Other people come with experience. The people
897    get together and (when all goes well) everybody leaves satisfied.</p>
898
899    <p>You are invited to our first installfest of the year. Come to get some
900    software or to learn more about Open Source Software and why it is relevant
901    to your life. The event is free, but you may want to bring blank CDs and/or
902    money to purchase some open source action for your computer at home.</p>
903
904    <p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
905    website</a> for more details.</p>
906
907    </abstract>
908   </eventitem>
909
910 <!-- Fall 2003 -->
911
912   <eventitem date="2003-12-01" time="7:00 PM"
913    room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
914    <short> Free and Open Source software has been around for a long
915    time, even longer then shrink-wrapped code.</short>
916    <abstract>
917  <p>Free and Open Source software has been around for a long time, even   
918 longer then shrink-wrapped code.  It has a long and noble history in the annals
919 of education.  Even more than ever, due to the drop of hardware prices and the
920 increase of worldwide communications, Free and Open Source can open new   
921 avenues of teaching and doing research, not only in computer science, but in
922 other university fields as well.</p>
923  <p>Learn how Linux as an operating system can
924 run on anything from a PDA to a supercomputer, and how Linux is reducing the
925 cost of computing dramatically as the fastest growing operating system in the
926 world.  Learn how other Free and Open Source projects, such as office suites,
927 audio and video editing and playing software, relational databases, etc. are
928 created and are freely available.</p>
929
930 <p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
931  <h3>Speaker's Biography</h3>
932  <p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
933 a non-profit association of computer vendors who wish to support and promote
934 the Linux Operating System.  During his career which spans over thirty years,
935 Mr. Hall has been a programmer, systems designer, systems administrator,
936 product manager, technical marketing manager and educator.  He has
937 worked for such companies as Western Electric Corporation, Aetna Life and
938 Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems,
939 and is currently funded by SGI.</p>
940
941 <p>He has taught at Hartford State Technical College, Merrimack College and
942 Daniel Webster College.  He still likes talking to students over pizza and beer
943 (the pizza can be optional).</p>
944
945 <p>Mr. Hall is the author of numerous magazine and newspaper articles, many
946 presentations and one book, "Linux for Dummies".</p>
947
948 <p>Mr. Hall serves on the boards of several companies, and several non-profit
949 organizations, including the USENIX Association.</p>
950
951 <p>Mr. Hall has traveled the world speaking on the benefits of Open Source
952 Software, and received his BS in Commerce and Engineering from Drexel
953 University, and his MSCS from RPI in Troy, New York.</p>
954
955 <p>In his spare time maddog is working on his retirement project:</p>
956
957 <center>maddog's monastery for microcomputing and microbrewing</center>
958
959    </abstract>
960   </eventitem>
961
962   <eventitem date="2003-11-05" time="4:30 PM - 8:30 PM"
963    room="Grad House Pub (Green Room)" title="CS Pints With Profs">
964    <short>Come have a pint with your favourite CS profs!</short>
965    <abstract>
966    <p>Come meet CS profs in a relaxed atmosphere this Wednesday at
967    the Grad House (by South Campus Hall). This is your chance to meet those CS profs
968    you enjoyed in lectures in person, have a chat with them
969    and find out what they're doing outside the lecture halls.</p>
970
971    <p>We'll be providing free food, including hamburgers and nachos,
972    and the Grad House offers a great selection of drinks.</p>
973
974    <p>If you'd like to invite a particular prof, stop by on the third
975    floor of the MC (outside of the Comfy) to pick up an invitation.</p>
976
977    <p>Persons of all ages are welcome!</p>
978    </abstract>
979   </eventitem>
980
981
982   <eventitem date="2003-10-21" time="4:30 PM - 5:30 PM" room="MC2065"
983    title=".NET &amp; Linux: When Worlds Collide">
984   <short>A talk by James Perry</short>
985   <abstract>
986
987   <p>.NET is Microsoft's new development platform, including amongst
988   other things a language called C# and a class library for various
989   operating system services. .NET aims to be portable, although it is
990   currently mostly only used on Windows systems.</p>
991
992   <p>With the full backing of Microsoft, it seems unlikely that .NET
993   will disappear any time soon. There are several efforts underway to
994   bring .NET to the GNU/Linux platform. Hosted by the Computer Science
995   Club, this talk will discuss a number of the issues surrounding .NET
996   and Linux.</p>
997
998   </abstract>
999   </eventitem>
1000
1001   <eventitem date="2003-10-22" time="4:30 PM - 5:30 PM" room="MC4061"
1002    title="Real-Time Graphics Compilers">
1003   <short>Sh is a GPU metaprogramming language developed at the UW
1004   Computer Graphics Lab</short>
1005   <abstract>
1006
1007   <p>Sh is a GPU metaprogramming language developed at the University of
1008   Waterloo Computer Graphics Lab. It allows graphics programmers to
1009   write programs which run directly on the GPU (Graphics Processing
1010   Unit) using familiar C++ syntax. Furthermore, it allows
1011   metaprogramming of such programs, that is, writing programs which
1012   generate other programs, in an easy and natural manner.</p>
1013
1014   <p>This talk will give a brief overview of how Sh works, the design of
1015   its intermediate representation and the (still somewhat simplistic)
1016   optimizer that the current reference implementation has and problems
1017   with applying traditional compiler optimizations.</p>
1018
1019   <p>Stefanus Du Toit is an undergraduate student at the University of
1020   Waterloo.  He is also a Research Assistant for Michael McCool from the
1021   University of Waterloo Graphics Lab. Over the Summer of 2003 Stefanus
1022   reimplemented the Sh reference implementation and designed and
1023   implemented the current Sh optimizer.</p>
1024   </abstract>
1025   </eventitem>
1026
1027   <eventitem date="2003-10-17" time="3:00 PM" room="MC3001 (Comfy)"
1028    title="Poster Team Meeting">
1029   <short>More free pizza from the Poster Team</short>
1030   <abstract>
1031   <p>Are you interested in getting involved in the Computer Science
1032   Club?</p>
1033
1034   <p>Come on out to the second meeting of our Poster Team, a bunch of
1035   students helping out with promotion for our events. The agenda for
1036   this meeting will include painting posters, designing event
1037   invitations, and organizing poster runs. Once again, we will be
1038   serving free pizza!</p>
1039
1040   <p>See you there!</p>
1041   </abstract>
1042   </eventitem>
1043
1044   <eventitem date="2003-10-16" time="4:00 PM - 5:30 PM" room="MC2037"
1045    title="UNIX 103: Development Tools">
1046   <short>GCC, GDB, Make</short>
1047   <abstract>
1048   <p>This tutorial will provide you with a practical introduction to GNU 
1049   development tools on Unix such as the gcc compiler, the gdb debugger
1050   and the GNU make build tool.</p>
1051
1052   <p>This talk is geared primarily at those mostly unfamiliar with these
1053   tools.  Amongst other things we will introduce:</p>
1054
1055   <ul>
1056   <li>gcc options, version differences, and peculiarities</li>
1057   <li>using gdb to debug segfaults, set breakpoints and find out what's
1058     wrong</li>
1059   <li>tiny Makefiles that will compile all of your 2nd and 3rd year CS
1060     projects.</li>
1061   </ul>
1062
1063   <p>If you're in second year CS and unfamiliar with UNIX development it
1064   is highly recommended you go to this talk. All are welcome, including
1065   non-math students.</p>
1066
1067   <p>Arrive early!</p>
1068   </abstract>
1069   </eventitem>
1070
1071   <eventitem date="2003-10-02" time="4:00 PM - 5:30 PM" room="MC2037"
1072    title="UNIX 101: Text Editors">
1073   <short>vi vs. emacs: The Ultimate Showdown</short>
1074   <abstract>
1075 <p>
1076 Have you ever wondered how those cryptic UNIX text editors work? Have you
1077 ever woken up at night with a cold sweat wondering "Is it  CTRL-A, or CTRL-X
1078 CTRL-A?" Do you just hate pico with a passion?</p>
1079
1080 <p>Then come to this tutorial and learn how to use vi and emacs!</p>
1081
1082 <p>Basic UNIX commands will also be covered. This tutorial will be especially
1083 useful for first and second year students.</p>
1084
1085   </abstract>
1086   </eventitem>
1087
1088   <eventitem date="2003-10-06" time="4:00 PM" room="MC3001 (Comfy)"
1089    title="Poster Team Meeting">
1090   <short>Join the Poster Team and get Free Pizza!</short>
1091   <abstract>
1092     <ul>
1093     <li>Do you like computer science?</li>
1094     <li>Do you like posters?</li>
1095     <li>Do you like free pizza?</li>
1096     </ul>
1097     <p>If the answer to one of these questions is yes, then come
1098 out to the first meeting of the Computer Science Club Poster Team! The
1099 CSC is looking for interested students to help out with promotion and
1100 publicity for this term's events. We promise good times and free
1101 pizza!</p>
1102   </abstract>
1103   </eventitem>
1104
1105   <eventitem date="2003-09-17" time="4:30 PM" room="MC3001 (Comfy)"
1106    title="CSC Elections">
1107   <short>CSC Fall 2003 Elections</short>
1108   <abstract>
1109    <p>Elections will be held on Wednesday, September 17, 2003 at 4:30 PM in the
1110
1111    Comfy Lounge, MC3001.</p>
1112
1113    <p>I invite you to nominate yourself or others for executive positions,
1114    starting immediately. Simply e-mail me at cro@csclub.uwaterloo.ca 
1115    with the name of the person who is to be nominated and the position
1116    they're nominated for.</p>
1117
1118    <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
1119
1120    <p>Positions open for elections are:</p>
1121
1122    <ul><li>President: Organises the club, appoints committees, keeps everyone busy.
1123    If you have lots of ideas about the club in general and like bossing
1124    people around, go for it!</li>
1125
1126    <li>Vice President: Organises events, acts as the president if he's not
1127    available. If you have lots of ideas for events, and spare time, go
1128    for it!</li>
1129
1130    <li>Treasurer: Keeps track of the club's finances. Gets to sign cheques
1131    and stuff. If you enjoy dealing with money and have ideas on how to
1132    spend it, go for it!</li>
1133
1134    <li>Secretary: Takes care of minutes and outside correspondence. If you
1135    enjoy writing things down and want to use our nifty new letterhead
1136    style, go for it!</li></ul>
1137
1138    <p>Nominations will be accepted until Tuesday, September 16 at 4:30 PM.</p>
1139
1140    <p>Additionally, a Sysadmin will be appointed after the elections. If you
1141    like working with unix systems and have experience setting up and
1142    maintaining them, go for it!</p>
1143
1144    <p>I hope that lots of people will show up; hopefully we'll have a great
1145    term with plenty of events. We always need other volunteers, so if you
1146    want to get involved just talk to the new exec after the
1147    meeting. Librarians, webmasters, poster runners, etc. are always
1148    sought after!</p>
1149
1150    <p>There will also be free pop.</p>
1151
1152    <p>Memberships can be purchased at the elections or at least half an hour
1153    prior to at the CSC. Only undergrad math members can vote, but anyone can
1154    become a member.</p>
1155
1156   </abstract>
1157   </eventitem>
1158 <!-- Spring 2003 -->
1159
1160   <eventitem date="2003-07-31" time="4:30 PM" room="MC4064"
1161    title="LaTeX and Work Reports">
1162   <short>Writing beautiful work reports</short>
1163   <abstract> 
1164
1165   <p>The work report is a familiar chore for any co-op student.  Not only is
1166   there a report to write, but to add insult to injury, your report is
1167   returned if you do not follow your departmental guidelines.</p>
1168
1169   <p>Fear no more!  In this talk, you will learn how to use LaTeX and a
1170   specially developed class to automatically format your work reports.
1171   This talk is especially useful to Mathematics, Computer Science,
1172   Electrical &amp; Computer Engineering, and Software Engineeering co-op
1173   students about to go on work term.</p>
1174
1175   <p><a
1176   href="http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/">http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/</a></p>
1177
1178   </abstract>
1179   </eventitem>
1180
1181   <eventitem date="2003-07-24" time="4:30 PM" room="MC2037"
1182    title="vi: the visual editor">
1183   <short>It's not 6.</short>
1184   <abstract> 
1185
1186   <p>In 1976, a University of California Berkeley student by the name of
1187   Bill Joy got sick of his text editor, ex.  So he hacked it such that
1188   he could read his document as he wrote it.  The result was "vi", which
1189   stands for VIsual editor.   Today, it is shipped with every modern
1190   Unix system, due to its global influence.</p>
1191
1192   <p>In this talk, you will learn  how to use vi to edit documents
1193   quickly and efficiently.  At the end, you should be able to:</p>
1194
1195   <ul>
1196   <li>Navigate and search through documents</li>
1197   <li>Cut, copy, and paste across documents</li>
1198   <li>Search and replace regular expressions</li>
1199   </ul>
1200
1201   <p>If you do not have a Math computer account, don't panic; one will be lent
1202   to you for the duration of this class.</p>  
1203
1204   </abstract>
1205   </eventitem>
1206
1207   <eventitem date="2003-07-24" time="3:00 PM" room="CSC Office" title="July 
1208   Exec Meeting">
1209   <short> See Abstract for minutes </short>
1210   <abstract>
1211   <pre>
1212 --paying Simon for Sugar
1213 -Unanimous yea.
1214 -ACTION ITEM: Mark
1215         Expense this to MathSoc in lieu of foreign speaker.
1216
1217 --We currently have (including CD-R and pop-income not 
1218 currently in safe) $972.85
1219 -We have $359.02 on budget that we can expense to MathSoc.
1220
1221 --We got MEF money for books and video card. Funding for 
1222 wireless microphone is dependent on whether MFCF is 
1223 willing to host it.
1224 -Funding for casters was denied.
1225 -Shopping for the Video card.
1226 -Expecting it after auguest (Stefanus shopping for it.)
1227 -Will have to hear back regarding the microphone, best to 
1228 delay that now, discuss it with MEF.
1229         -Better to do it this term, so it doesn't get lost.
1230         -Let MFCF know about this concern.
1231 -Regarding books, can be done anytime before September.
1232
1233 --Events feedback
1234         -Generally, Jim Eliot talk when really well.
1235                 -Apparently he was generally offensive.
1236         -When was the LaTeX talk? End of the month.
1237         -Kegger at Jim's place on the 16th.
1238
1239 --Getting people in on the 6th, 7th, 8th for csc commercials
1240 filmed by Jason
1241         -Hang out in here, and he'll make a CSC commercial.
1242         -Co-ordinate when everyone should be in here, so we can email Jason.
1243
1244 --CEO progress
1245         -CEO needs it's database changed to use ISBN as a primary key.
1246         -Needs functionality to take out/return books.
1247
1248 --Mark just entered financial stuff into GNUcash
1249
1250 --Choose CRO for next term.
1251 -Stefanus has expressed desire not to be CRO.
1252 -Gary Simmons was suggested (and he accepted)
1253 -Unanimous yea
1254
1255 --Mike Biggs has to get here naked.
1256         -Four unanimous votes.
1257         -Nakedness only applies to getting here, not being here.
1258
1259
1260 From last meeting:
1261 ACTION ITEM: Biggs and Cass
1262 -get labelmaker tape, masking tape
1263 whiteboard makers, coloured paper, CD sleeves
1264 -keep reciepts for CSC office expenses.
1265
1266 How is the progess on allowing executives and voters to be non-math
1267 members?
1268 -The vote is coming up Monday.
1269 -Proposal: Anyone who is a paying member can be a member
1270         -So you can either do two things:
1271         Pay MathSoc fees, or
1272         Get your faculty society to recognize CSC as a club.
1273
1274 Stefanus wanted to mention that we shoudl talk to Yolanda, 
1275 Craig or Louie about a EYT event for frosh week.
1276 -Organized by Meg.
1277 -Sugar Mountain trying to hook all the Frosh
1278 ACTION ITEM: Jim
1279 -Email Meg
1280
1281 Reminder for Next Year's executive.
1282 -September 16th @ 5:00pm, get a table for Clubs day, and 17th 
1283 and 18th, maintain the booth (full day events).
1284 -Update pamphlets.
1285 ACTION ITEM: Gary
1286 -There should be executive before then 
1287
1288 Note: There needs to be a private section in the CSC Procedures Manual.
1289 (Only accessible by shell)
1290 ACTION ITEM: Simon
1291 -Do it.
1292
1293 ACTION ITEM: Mike
1294 -Talk to Plantops about:
1295 -Locks on doors
1296 -Mounting corkboard.
1297 -Talk about CSC Sign
1298   </pre>
1299   </abstract>
1300
1301   </eventitem>
1302   <eventitem date="2003-06-27" time="2:30 PM" room="DC1302"
1303    title="Friday Flicks">
1304   <short> SIGGRAPH Electronic Theatre Showing </short>
1305   <abstract>
1306   <p>
1307    SIGGRAPH is the ACM's Special Interest Group for Graphics and
1308    simultaneously the world's largest graphics conference and
1309    exhibition, where the cutting edge of graphics research is presented
1310    every year.
1311    </p><p>
1312     With support from UW's Computer Graphics Lab, the CSC invites you to
1313     capture a glimpse of SIGGRAPH 2002. We will be presenting the
1314     Electronic Theatre showings from 2002, demonstrating the best of the
1315     animated, CG-produced movies presented at SIGGRAPH.
1316     </p><p> Don't miss this free showing!</p>
1317   </abstract>
1318   </eventitem>
1319   <eventitem date="2003-07-08" time="4:00 PM" room="MC2065"
1320    title="Mainframes and Linux">
1321   <short>A talk by Jim Elliott. Jim is responsible for IBM's in Open Source
1322   activities and IBM's mainframe operating systems for Canada and the 
1323   Carribbean.</short>
1324   <abstract>
1325   <p>
1326   Linux and Open Source have become a significant reality in the
1327   working world of Information Technology. An indirect result has been a
1328   "rebirth" of the mainframe as a strategic platform for enterprise
1329   computing. In this session Jim Elliott, IBM's Linux Advocate, will provide
1330   an overview of these technologies and an inside look at IBM's participation
1331   in the community. Jim will examine Linux usage on the desktop, embedded
1332   systems and servers, a reality check on the common misconceptions that
1333   surround Linux and Open Source, and an overview of the history and current
1334   design of IBM's mainframe servers.</p>
1335   <p>
1336   Jim Elliott is the Linux Advocate for IBM Canada. He is responsible
1337   for IBM's participation in Linux and Open Source activities and IBM's
1338   mainframe operating systems in Canada and the Caribbean. Jim is a popular
1339   speaker on Linux and Open Source at conferences and user groups across the
1340   Americas and Europe and has spoken to over 300 organizations over the past
1341   three years. Over his 30 years with IBM he has been the co-author of over
1342   15 IBM publications and he also coordinated the launch of Linux on IBM
1343   mainframes in the Americas. In his spare time, Jim is addicted to reading
1344   historical mystery novels and travel to their locales.
1345   </p>
1346   <p><a href="http://www.vm.ibm.com/devpages/jelliott/events.html">Slides</a>
1347   </p>
1348   </abstract>
1349   </eventitem>
1350   <eventitem date="2003-07-04" time="3:30 PM" room="University of Guelph"
1351    title="Guelph Trip">
1352   <short>Come Visit the University of Guelph's Computer Science Club</short>
1353   <abstract><p>
1354    The University of Waterloo Computer Science Club is going to visit the
1355    University of Guelph Computer Science Club.  There will be a talk given
1356    as well as dinner with a fun social atmosphere.</p><p>Drivers Wanted</p>
1357    <p>Cancelled -- sorry Guelph cancelled on us.</p>
1358   </abstract>
1359   </eventitem>
1360   <eventitem date="2003-07-17" time="4:30 PM" room="MC4064"
1361    title="Sh">
1362   <short>Metaprogramming your way to stunning effects.</short>
1363   <abstract>
1364   <p>
1365   Modern graphics processors allow developers to upload small "shader
1366   programs" to the GPU, which can be executed per-vertex or even
1367   per-pixel during the rendering. Such shaders allow stunning effects to
1368   be performed in real-time, but unfortunately aren't very easy to
1369   program since one generally has to write them at the assembly level.
1370   </p><p>
1371   Recently a few high-level languages for shader programming have become
1372   available. Sh, a result of research at UW, is one such language. It
1373   allows programming powerful shaders in simple and intuitive ways. Sh
1374   is particularily interesting because of the way it is
1375   implemented. Instead of coming up with a language grammar and writing
1376   a full-fledged compiler, Sh is implemented as a C++ library, and
1377   shader programs are effectively written in C++. The actual compilation
1378   then takes place in a manner similar to JIT (Just-in-time)
1379   compilers. This has many advantages over the traditional approach,
1380   including C++'s familiar syntax for users, and much less work for the
1381   Sh implementers.
1382   </p><p>
1383   In this talk I will give an overview of GPUs and the Sh language as
1384   well as some interesting details on how Sh was implemented.
1385   </p><p> <!-- Is there a bio tag -->
1386   Stefanus Du Toit is a research assistant at the University of
1387   Waterloo. He has implemented the current version of Sh from scratch
1388   and is actively developing it under supervision of Michael McCool, the
1389   original designer of the language.
1390   </p>
1391   </abstract>
1392   </eventitem>
1393   <eventitem date="2003-06-19" time="4:30 PM" room="MC2037"
1394    title="vi: the visual editor">
1395   <short>It's not 6.</short>
1396   <abstract> 
1397
1398   <p>In 1976, a University of California Berkeley student by the name of
1399   Bill Joy got sick of his text editor, ex.  So he hacked it such that
1400   he could read his document as he wrote it.  The result was "vi", which
1401   stands for VIsual editor.   Today, it is shipped with every modern
1402   Unix system, due to its global influence.</p>
1403
1404   <p>In this talk, you will learn  how to use vi to edit documents
1405   quickly and efficiently.  At the end, you should be able to:</p>
1406
1407   <ul>
1408   <li>Navigate and search through documents</li>
1409   <li>Cut, copy, and paste across documents</li>
1410   <li>Search and replace regular expressions</li>
1411   </ul>
1412
1413   <p>If you do not have a Math computer account, don't panic; one will be lent
1414   to you for the duration of this class.</p>  
1415
1416   </abstract>
1417   </eventitem>
1418
1419   <eventitem date="2003-06-12" time="3:30 PM" room="MC3036 CSC Office" title="June 12 Exec Meeting">
1420   <short>Have an issue that should be brought up? We'd love to hear it!</short>
1421   <abstract>
1422   <pre>
1423   
1424 Budget: All the money we requested
1425         --No money from Pints from Profs
1426         --MathSoc has promised us $1250
1427         
1428 Feedback from Completed Events
1429         UNIX Talks: 17 people for first
1430                         --12 people for second
1431                         --Things going well
1432                         --Last talk today
1433                         --VI next week
1434         IPsec
1435         --Sparse crowd
1436         --People Jim didn't know talked to him for 1/2 hour
1437
1438         History of CSC talk went well
1439         --Good variety of people
1440
1441         Pints with Profs
1442         --NO CS Profs
1443         --Only 1 E&amp; CE prof
1444         --Only 2 Math profs
1445         --Jim will harrass the profs at the School of CS Council meeting.
1446         
1447         We're starting to fall behind in planning
1448         
1449         RoShamBo rules
1450         --Got a web site up
1451         --Might have to move RSB back
1452         --International site has a few test samples
1453         --Stefanus had some ideas
1454         --Coding will probably take an afternoon/evening
1455         --We need volunteers to run the competition
1456         --We have volunteers to code: Phil and Stefanus
1457         
1458         ACTION ITEM: Phil and Stefanus
1459         --code whatever you volunteered to code for.
1460         
1461         --Mike intends to visit classes and directly advertise
1462         --Email Christina Hotz 
1463
1464         --GH guy: Mike has an abstract, will have posters by tomorrow
1465         
1466         CSC Movie Night
1467         --Mathnet, Hackers, Wargames, Tron
1468         --Mike will get a room
1469         --Will be closed member
1470
1471         Mike McCool is offering rooms for showing SIGGRAPH 
1472         ACTION ITEM: Jim
1473         -check with Mike McCool.
1474         
1475         ACTION ITEM: Mike 
1476         -Make posters for Movie Nights
1477
1478         When is other movie night? (Will plan some time in July)
1479
1480         Who is our foreign speaker?
1481         Action Item: jelliot@ca.ibm.com (Check name first) about 
1482         getting a foreign speaker -- Note: Has already been contacted.
1483
1484         Simon got money from Engsoc
1485
1486         Cass meeds coloured paper (CSC is out)
1487
1488         ACTION ITEM: Cass and Mark 
1489         --get labelmaker tape, masking tape, 
1490         whiteboard makers, coloured paper 
1491         --keep reciepts for CSC office expenses
1492
1493         NOTICE: Mike is now Imapd
1494
1495         Simon distibuted budget list
1496         Mark got the money from Mathsoc for last budget, deposited it.
1497
1498         ACTION ITEM:Mark
1499         --Get MEF funding by July 4th (equipment)
1500         ACTION ITEM: Simon
1501         --Get WEEF funding by June 27th (book)
1502
1503         Jim still working on allowing executives and voters to be 
1504         non-math members
1505
1506         We get free photocopying from MathSoc
1507         ACTION ITEM: Mike 
1508         --write down code for free photocopying from MathSoc
1509         
1510         Simon has been able to get into the cscdisk account, still 
1511         looking into getting into the cscceo account.
1512
1513         Damien got an e-mail stating that the files for cscdisk are 
1514         out of date.
1515         
1516         ACTION ITEM: Simon
1517         --provide SSH key to Phil for getting into cscdisk, cscceo, etc...
1518         --Renumber bootup scripts for sugar and powerpc so that they 
1519         boot up happily.
1520
1521         ACTION ITEM: Mike needs to do all the plantops stuff again.
1522
1523         ACTION ITEM: Mike -- &quot;Stapler if you say please&quot; sign.
1524
1525         CVS Tree for CEO has been exported.
1526         Damien has volunteered to finish CEO (found by Cass)
1527
1528         All books with barcodes have been scanned
1529         All books without barcodes need to be bar-coded.
1530
1531         ACTION ITEM: Mark
1532         --Find a Credit-card with a $500 or less limit.
1533
1534         Note: There needs to be a private section in the 
1535         CSC Procedures Manual. (Only accessible by shell)
1536
1537         Stefanus Wanted to mention that we should talk to 
1538         Yolanda, Craig or Louie about a EYT event for Frosh Week.
1539   </pre>
1540   </abstract>
1541   </eventitem>
1542
1543   <eventitem date="2003-06-10" time="4:30 PM" room="MC2066"
1544    title="A Brief History of Computer Science">
1545   <abstract>
1546
1547 <p>War, insanity, espionage, beauty, domination, sacrifice, and tragic
1548 death... not what one might associate with the history of computer
1549 science. In this talk I will focus on the origin of our discipline in
1550 the fields of engineering, mathematics, and science, and on the
1551 complicated personalities that shaped its evolution. No advanced
1552 technical knowledge is required.</p>
1553
1554   </abstract>
1555   </eventitem>
1556
1557   <eventitem date="2003-06-09" time="5:00 - 9:00 PM" room="The Grad House"
1558    title="Pints with Profs!">
1559   <short>Get to know your profs and be the envy of your friends!</short>
1560   <abstract>
1561
1562 <p>Come out and meet your professors!!  This is a great opportunity to
1563 meet professors for Undergraduate Research jobs or to find out who you might
1564 have for future courses.  One and all are welcome!</p>
1565
1566 <p>Best of all... free food!!!</p>
1567
1568   </abstract>
1569   </eventitem>
1570
1571   <eventitem date="2003-05-29" time="4:30 PM" room="MC2037"
1572    title="Unix 101: First Steps With Unix">
1573   <short>Learn Unix and be the envy of your friends!</short>
1574   <abstract> 
1575
1576   <p>This is the first in a series of seminars that cover the use of the
1577   Unix Operating System.  Unix is used in a variety of applications, both
1578   in academia and industry. We will provide you with hands-on experience
1579   with the Math Faculty's Unix environment in this seminar.</p> 
1580
1581   <p>Topics that will be discussed include:</p>
1582
1583   <ul>
1584   <li>Navigating the Unix environment</li>
1585   <li>Using common Unix commands</li>
1586   <li>Using the PICO text editor</li>
1587   <li>Reading electronic mail and news with PINE</li>
1588   </ul>
1589
1590   <p>If you do not have a Math computer account, don't panic; one will be lent
1591   to you for the duration of this class.</p>  
1592
1593   </abstract>
1594   </eventitem>
1595
1596   <eventitem date="2003-06-05" time="4:30 PM" room="MC2037"
1597    title="Unix 102: Fun With Unix">
1598   <short>Talking to your Unix can be fun and profitable</short>
1599   <abstract> 
1600
1601   <p>This is the second in a series of seminars that cover the use of the
1602   Unix Operating System.  Unix is used in a variety of applications, both in
1603   academia and industry.  We will provide you with hands-on experience with
1604   the Math Faculty's Unix environment in this tutorial.</p>
1605
1606   <p>Topics that will be discussed include:</p>
1607
1608   <ul>
1609   <li>Interacting with Bourne and C shells</li>
1610   <li>Editing text with the vi text editor</li>
1611   <li>Editing text with the Emacs display editor</li>
1612   <li>Multi-tasking and the screen multiplexer</li>
1613   </ul>
1614
1615   <p>If you do not have a Math computer account, don't panic; one will be
1616   lent to you for the duration of this class</p>
1617
1618   </abstract>
1619   </eventitem>
1620
1621   <eventitem date="2003-06-12" time="4:30 PM" room="MC2037"
1622    title="Unix 103: Scripting Unix">
1623   <short>You too can be a Unix taskmaster</short>
1624   <abstract> 
1625
1626   <p>This is the third in a series of seminars that cover the use of the
1627   Unix Operating System.  Unix is used in a variety of applications, both in
1628   academia and industry.  We will provide you with hands-on experience with
1629   the Math Faculty's Unix environment in this tutorial.</p>
1630
1631   <p>Topics that will be discussed include:</p>
1632
1633   <ul>
1634   <li>Shell scripting</li>
1635   <li>Searching through text files</li>
1636   <li>Batch editing text files</li>
1637   </ul>
1638
1639   <p>If you do not have a Math computer account, don't panic; one will be
1640   lent to you for the duration of this class</p>
1641
1642   </abstract>
1643   </eventitem>
1644
1645 <eventitem date="2003-05-22" time="4:30 PM" room="MC3036 CSC Office" title="May 22 Exec Meeting">
1646 <short>The execs discuss what needs discussion</short>
1647 <abstract>
1648 <pre>
1649
1650 Minutes for CSC Exec Meeting
1651 May 22, 2003
1652
1653
1654 * Add staff to burners group.
1655         -- Only office staff (people who do stuff) on burners list
1656         -- No objections from executives
1657
1658 * We still need a webmaster, imapd
1659         -- Action Item: Mike
1660                 --Check for pop delivery services (Like Grocery Gateway)
1661                 so that we can replace imapd with an automated cronjob
1662                 -- If this gets implemented, we must make sure that 
1663                 someone is around to receive the pop whenever it is 
1664                 delivered. 
1665
1666 * Budgets
1667         Action Item: Simon
1668                 -- Make sure execs receive a copy of the proposed budget
1669         Action Item: Mark
1670                 -- Look into claiming money from Mathsoc for the last 
1671                 term.
1672         --Will be looked over the week after next Monday at the Mathsoc
1673         Budget meeting.
1674         --June 27th is the WEF (Engineering Endowment Fund) deadline
1675         --EngSoc proposal for donations by the end of the month
1676         -- Around 15 events planned
1677                 --Foreign Speaker
1678                         --CS Departmant will pay for flight
1679                         -- We can pay local expenses
1680                 --Pints with Profs
1681                 --Ro-Sham-Bo
1682                 
1683 *Changes in the MathSoc Clubs Policy
1684         Action Item: Jim and Stefanus
1685                 --Bring thus up with MathSoc
1686                 --Might be good to talk to Bioinformatics about this, as 
1687                 they have science faculty members to take care of as well. 
1688         --Major issue: People who revoke their Mathsoc fees can still be
1689         voting  members
1690         --We want it so that only people who have paid dues to Mathsoc 
1691         can vote.
1692         --Execs should not take back fees, as that is bad form.
1693         --All execs unanimously agreed with this proposal
1694
1695 *Confirming that we have free printing and photocopying
1696         Action Item: Mark
1697                 --Does Faculty of Math billing code apply to CSC 
1698                 (as Faculty of Math department?)
1699                 -- Procedures manual has a billing code, but it should 
1700                 be confirmed.
1701                 -- Ask MUO, then Shirley after that.
1702         Action Item: Simon
1703                 --Apparently there is a special Watcard that provides 
1704                 free printing from MFCF
1705                 --We do not know what account it is mapped to, 
1706                 or the password.
1707
1708 * Getting csc_disk, csc, csc_ceo accounts on undergrad to work again.
1709         Action Item: Phil
1710                 -- Get csc-disk back up for student use.
1711                 -- What group permissions do we need?
1712                 -- CSC-Disk should be used as a repository for custom 
1713                 window managers, Mozilla, etc... (selling factor for
1714                 CSC accounts)
1715                 -- We should also have an announcement (MOTD, perhaps?) 
1716                 that we are providing and supporting this software.
1717                         --Consider: Having university-wide accessible 
1718                         binaries might be a pain, as different machines
1719                         might require different compilations.
1720                 -- CSC-Disk is full of user data. Should that be blown away?
1721
1722 *Getting locker #7 from MathSoc (Don't we already have lockers 788 and 
1723 789?)
1724         --Why were the locks snipped? (Bring up at council meeting)
1725         --We would prefer one combo-lock and one key-lock.
1726
1727 * Review of the CSC office organization
1728         Action Item: Damien
1729                 --Give Mike sudo access for shutdown
1730                         --Will be rewiring stuff on Saturday
1731                                 --involves re-plugging machines
1732         Action Item: Simon
1733                 --Get rubber wheels for chairs
1734         
1735         Action Item: Mike
1736                 -- Ask PlantOps about:
1737                         --Waxing floors
1738                         --Installing Electronic Lock (asap)
1739                                 --According to Faculty of Math, 
1740                                 we shouldn't need keys.
1741                                 --Currently, we still need keys
1742                                 --It is kosher to install Electronic lock
1743                                 --This provides access right control as 
1744                                 compared to key-control.                
1745                                 --Might be long term project.
1746                                 --Will green men do it?
1747                         --Steam-clean chairs (at least once a term)
1748                         --Cork-board
1749                         --Making ugly wall prettier
1750                                 --PlantOps knows about office 
1751                                 organization, making environment better.
1752         --Whiteboards need to be put up
1753         --Proposal: Cork-board on pillar (no objections)
1754         --Metal frames on Whiteboard will be in least annoying place
1755
1756 *Do we provide public stapler access?
1757         --People are often unappreciative and rude
1758         --Sign -  "Stapler if you say please" -- Unanimously voted 
1759                                                  stapler policy
1760         
1761 *MathSoc Sign
1762         --Action Item: Jim
1763                 --Find out where to get CSC sign before Monday so we 
1764                 can claim it in old budget. 
1765
1766 * Librarian's Report
1767         --Action Item: Jim
1768                 --Find perl volunteer to finish CEO
1769                 --Force Stefanus to export CVS tree and put onto Peri
1770         
1771         --Books were scanned into system with help of Mark
1772         --All books with valid barcodes entered into system on 
1773         May 20th
1774         --Books without valid barcodes are not in system
1775                 --Someone needs to do it
1776         --Plan is to implement Dewey decimal system
1777                 --May be inefficient as all books are about CS
1778                 --We will figure out a system later
1779         --No plans to purchase new books
1780         --Librarian's Request:  Office Staff should not lend out books 
1781         that do not have barcodes (No objects to request) 
1782         --We are still using /media/iso/request to track books
1783         --Should be charge late fees for books?
1784         --We should have money in budget for repairing,maintaining books
1785         --Before spending money on maintaining books, check if DC will 
1786         do it
1787                 --will it be cheaper/easier/better?
1788
1789 *Setting up extra quota for fun and profit.
1790         -- We don't implement quota properly right now
1791         -- Low demand for extra quota
1792         -- Counterpoint: Old CSC made tons of money
1793         -- Counter-counter-point: It's not that necessary for extra 
1794         quota nowadays. 
1795         -- Executives voted against proposal.
1796
1797 *Jim will spam with an update about the term
1798         --Consider making it opt-in
1799         --One email from a service you are using should be considered 
1800         reasonable mass mailing
1801
1802 *Should Jim bring anything up at the MathSoc meeting?**
1803         -- Has a list
1804
1805 * Student branches for ACM and IEEE
1806         Action Item: Gaelan
1807                 --Contact IEEE Computing Society in UW and ask if they want 
1808                 to merge or transfer society to us
1809         --Simon volunteers to be put down as exec for ACM
1810                 --ACM rules state requirement that exec is a ACM member
1811         --Do we renew Calum's ACM membership?
1812                 --Yes (3 Yes; 1 No; 1 Abstention)
1813         --ACM membership money in budget
1814         --ACM Student chapter form has not come in
1815
1816 * What to do with the donated Procedures Manual?
1817         --Term Task for webpage:
1818                 --Put procedures manual on web-page.
1819                 --Merge with current manual
1820         --We don't have a hard copy
1821         --Would be a good thing to read.
1822         --Many parts need updating
1823
1824 </pre>
1825 </abstract>
1826 </eventitem>
1827
1828 <eventitem date="2003-05-14" time="4:30 PM" room="MC3001 Comfy Lounge"
1829  title="Spring 2003 Elections">
1830  <short>Come on out and vote for your exec!</short>
1831  <abstract>
1832 <p>Elections will be held on Wednesday, May 14, 2003 at 4:30 PM in the
1833 Comfy Lounge, MC3001.</p>
1834
1835 <p>I invite you to nominate yourself or others for executive positions,
1836 starting immediately. Simply e-mail me at sjdutoit@uwaterloo.ca or
1837 cro@csclub.uwaterloo.ca with the name of the person who is to be
1838 nominated and the position they're nominated for.</p>
1839
1840 <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
1841
1842 <p>Positions open for elections are:</p>
1843
1844 <ul>
1845 <li>
1846 President: Organises the club, appoints committees, keeps everyone busy.
1847 If you have lots of ideas about the club in general and like bossing
1848 people around, go for it!
1849 </li>
1850
1851 <li>
1852 Vice President: Organises events, acts as the president if he's not
1853 available. If you have lots of ideas for events, and spare time, go
1854 for it!
1855 </li>
1856
1857 <li>
1858 Treasurer: Keeps track of the club's finances. Gets to sign cheques
1859 and stuff. If you enjoy dealing with money and have ideas on how to
1860 spend it, go for it!
1861 </li>
1862
1863 <li>
1864 Secretary: Takes care of minutes and outside correspondence. If you
1865 enjoy writing things down and want to use our nifty new letterhead
1866 style, go for it!
1867 </li>
1868 </ul>
1869
1870 <p>Nominations will be accepted until Tuesday, May 13 at 4:30 PM.</p>
1871
1872 <p>Additionally, a Sysadmin will be appointed after the elections. If you
1873 like working with unix systems and have experience setting up and
1874 maintaining them, go for it!</p>
1875
1876 <p>I hope that lots of people will show up; hopefully we'll have a great
1877 term with plenty of events. We always need other volunteers, so if you
1878 want to get involved just talk to the new exec after the
1879 meeting. Librarians, webmasters, poster runners, etc. are always
1880 sought after!</p>
1881
1882 <p>There will also be free pop, and if I remember, timbits :).</p>
1883
1884 <p>Memberships can be purchased at the elections. Only undergrad math
1885 members can vote, but anyone can become a member.</p>
1886
1887 <p>Don't forget! Mark it on your calendar/wrist watch/PDA/brain implant!</p>
1888
1889  </abstract>
1890 </eventitem>
1891
1892 <!-- Winter 2003 -->
1893
1894   <eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
1895    title="Unix 101 Tutorial">
1896   <short>Learn Unix and be the envy of your friends!</short>
1897   <abstract> 
1898
1899   <p>This is the first in a series of seminars that cover the use of the
1900   UNIX Operating System.  UNIX is used in a variety of applications, both
1901   in academia and industy. We will provide you with hands-on experience
1902   with the Math Faculty's UNIX environment in this seminar.</p> 
1903
1904   <p>Topics that will be discussed include:</p>
1905
1906   <ul>
1907   <li> Navigating the UNIX environment</li>
1908   <li> Using common UNIX commands</li>
1909   <li>Using the PICO text editor</li>
1910   <li>Reading electronic mail and news with PINE</li>
1911   </ul>
1912
1913   <p>If you do not have a Math computer account, don't panic; one will be lent
1914   to you for the duration of this class.</p>  
1915
1916   </abstract>
1917   </eventitem>
1918
1919   <eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
1920    title="Unix 102 Tutorial">
1921   <short>Learn more Unix and be the envy of your friends!</short>
1922   <abstract> 
1923
1924   <p>Abstract to come soon.</p>
1925
1926   </abstract>
1927   </eventitem>
1928
1929   <eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
1930    title="Unix 103 Tutorial">
1931   <short>Learn more Unix and be the envy of your friends!</short>
1932   <abstract> 
1933
1934   <p>Abstract to come soon. </p>
1935
1936   </abstract>
1937   </eventitem>
1938
1939   <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
1940     title="W03 Elections">
1941     <short>Come out and vote for the new exec!</short>
1942    <abstract>
1943
1944 <p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
1945 MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
1946 January 2) until 4:30 PM of the day before elections (Sunday, January 12).
1947 In order to nominate someone you can either e-mail me directly, by depositing
1948 a form with the required information in the CSC mailbox in the Mathsoc office
1949 or by writing the nomination and clearly marking it as such on the large
1950 whiteboard in the CSC office. E-mail is probably the best choice.
1951 Please include the name of the person to be nominated as well as the position
1952 you wish to nominate them for.</p>
1953
1954 <p>Candidates must be full members of the club. This means they must have paid
1955 their membership for the given term and (due to recent changes in the
1956 constitution) must be full-time undergraduate math students.
1957 The same requirements hold for those voting. Please bring your Watcard to
1958 the elections so that I can verify this. I will have a list of members with
1959 me also.</p>
1960
1961 <p>The positions open are:</p>
1962
1963 <p><b>President</b> -- appoints all commitees of the club, calls and presides at all
1964 meetings of the club and audits the club's financial records. Really, this
1965 is the person in charge.</p>
1966
1967 <p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
1968 plans and coordinates events with the programmes committee and assumes any
1969 other duties delegated by the President.
1970 This is a really fun job if you enjoy coordinating events!</p>
1971
1972 <p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
1973 A fairly light job, good choice if you just want to see what being an exec
1974 is all about.</p>
1975
1976 <p><b>Treasurer</b> -- maintains all the finances of the club.
1977 If you like money and keeping records, this is the job for you!</p>
1978
1979 <p>Additionally a Systems Administrator will be picked by the new executive.</p>
1980
1981 <p>Last term was a great term for the CSC -- many events, some office renovations
1982 and a much improved image were all part of it. I hope to see the next term's
1983 exec continue this. If you're interested in seeing this happen, do consider
1984 going for a position, or helping out as office staff or on one of the
1985 committees.</p>
1986
1987 <p>Anyways, hopefully I'll see many of you at the elections.
1988 Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
1989
1990 <p>If you have any further questions don't hesitate to contact the CRO,
1991       Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
1992     </abstract>
1993   </eventitem>
1994
1995   <eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
1996     title="Regular Expressions">
1997     <short>Find your perfect match</short>
1998     <abstract>
1999
2000     <p>Stephen Kleene developed regular expressions to describe what he
2001     called <q>the algebra of regular sets.</q>  Since he was a pioneering
2002     theorist in computer science, Kleene's regular expressions soon made
2003     it into searching algorithms and from there to everyday tools.</p>
2004
2005     <p>Regular expressions can be powerful tools to manipulate text.
2006     You will be introduced to them in this talk.  As well, we will go
2007     further than the rigid mathematical definition of regular
2008     expressions, and delve into POSIX regular expressions which are
2009     typically available in most Unix tools.</p>
2010
2011     </abstract>
2012   </eventitem>
2013
2014   <eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
2015     title="sed &amp; awk">
2016     <short>Unix text editing</short>
2017     <abstract>
2018
2019     <p><i>sed</i> is the Unix stream editor.  A powerful way to
2020     automatically edit a large batch of text.  <i>awk</i> is a
2021     programming language that allows you to manipulate structured data
2022     into formatted reports.</p>
2023
2024     <p>Both of these tools come from early Unix, and both are still
2025     useful today.  Although modern programming languages such as Perl,
2026     Python, and Ruby have largely replaced the humble <i>sed</i> and
2027     <i>awk</i>, they still have their place in every Unix user's
2028     toolkit.</p>
2029
2030     </abstract>
2031   </eventitem>
2032
2033   <eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
2034     title="LaTeX: A Document Processor">
2035     <short>Typesetting beautiful text</short>
2036     <abstract>
2037
2038     <p>Unix was one of the first electronic typesetting platforms.  The
2039     innovative AT&amp;T <i>troff</i> system allowed researches at Bell
2040     Labs to generate high quality camera-ready proofs for their papers.
2041     Later, Donald Knuth invented a typesetting system called
2042     T<small>E</small>X, which was far superior to other typesetting
2043     systems in the 1980s.  However, it was still a typesetting language,
2044     where one had to specify exactly how text was to be set.</p>
2045
2046     <p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
2047     for the T<small>E</small>X system that allows an author to describe
2048     his document's function, thereby typesetting the text in an
2049     attractive and correct way.  In addition, one can define semantic
2050     tags to a document, in order to describe the meaning of the
2051     document; rather than the layout.</p>
2052
2053     </abstract>
2054   </eventitem>
2055
2056   <eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
2057     title="LaTeX: Reports">
2058     <short>Writing reports that look good.</short>
2059     <abstract>
2060
2061     <p>Work term reports, papers, and other technical documents can be
2062     typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
2063     effect.  In this session, I will provide examples on how to typeset
2064     tables, figures, and references.  You will also learn how to make
2065     tables of contents, bibliographics, and how to create footnotes.</p>
2066
2067     <p> I will also examine various packages of 
2068     L<sup><small>A</small></sup>T<small>E</small>X that can help you 
2069     meet requirements set by users of inferior typesetting systems.  
2070     These include double-spacing, hyphenation and specific margin 
2071     sizes.</p>
2072
2073     </abstract>
2074   </eventitem>
2075
2076   <eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
2077     title="LaTeX: Beautiful Mathematics">
2078     <short>LaTeX =&gt; fun</short>
2079     <abstract>
2080
2081     <p>It is widely acknowledged that the best system by which to
2082     typeset beautiful mathematics is through the T<small>E</small>
2083     typesetting system, written by Donald Knuth in the early 1980s.</p>
2084
2085     <p>In this talk, I will demonstrate
2086     L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
2087     elegant mathematical expressions.</p>
2088
2089     </abstract>
2090   </eventitem>
2091
2092   <eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
2093     title="The BSD License Family">
2094     <short>Free for all</short>
2095     <abstract>
2096
2097     <p>Before the GNU project ever existed, before the phrase
2098     "Free Software" was ever coined, students and researchers
2099     at the University of California, Berkeley were already
2100     practising it.  They had acquired the source cdoe to a
2101     little-known operating system developed at AT&amp;T
2102     Bell Laboratories, and were creating improvments at a
2103     ferocious rate.</p>
2104
2105     <p>These improvements were sent back to Bell Labs, and
2106     shared to other Universities.  Each of them were licensed
2107     under what is now known as the "Original BSD license".  Find
2108     out what this license means, its implications, and what are
2109     its decendents by attending this short talk.</p>
2110
2111     </abstract>
2112   </eventitem>
2113
2114   <eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
2115     title="The GNU General Public License">
2116     <short>The teeth of Free Software</short>
2117     <abstract>
2118
2119     <div style="font-style: italic"><blockquote>
2120       The licenses for most software are designed to take away your
2121       freedom to share and change it. By contrast, the GNU General
2122       Public License is intended to guarantee your freedom to share and
2123       change free software---to make sure the software is free for all
2124       its users.
2125       <br />
2126       <div style="text-align:right">--- Excerpt from the GNU GPL</div>
2127     </blockquote></div>
2128     
2129     <p> The GNU General Public License is one of the most influencial
2130     software licenses in this day.  Written by Richard Stallman for the
2131     GNU Project, it is used by software developers around the world to
2132     protect their work.</p>
2133
2134     <p>Unfortunately, software developers do not read licenses
2135     thoroughly, nor well.  In this talk, we will read the entire GNU GPL
2136     and explain the implications of its passages.  Along the way, we
2137     will debunk some myths and clarify common misunderstandings.</p>
2138
2139     <p>After this session, you ought to understand what the GNU GPL
2140     means, how to use it, and when you cannot use it.  This session
2141     should also give you some insight into the social implications of
2142     this work.</p>
2143
2144     </abstract>
2145   </eventitem>
2146
2147   <eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
2148     title="XML">
2149     <short>Give your documents more markup</short>
2150     <abstract>
2151
2152     <p>XML is the <q>eXtensible Markup Language,</q> a standard
2153     maintained by the World Wide Web Consortium.  A descendant of IBM's
2154     SGML.  It is a metalanguage which can be used to define markup
2155     languages for semantically describing a document.</p>
2156
2157     <p>This talk will describe how to generate correct XML documents,
2158     and auxillary technologies that work with XML.</p>
2159
2160     </abstract>
2161   </eventitem>
2162
2163   <eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
2164     title="XSLT">
2165     <short>Transforming your documents</short>
2166     <abstract>
2167
2168     <p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
2169     a language for transforming XML documents into other XML
2170     documents.</p>
2171
2172     <p>XSLT is used to manipulate XML documents into other forms: a sort
2173     of glue between data formats.  It can turn an XML document into an
2174     XHTML document, or even an HTML document.  With a little bit of
2175     hackery, it can even be convinced to spit out non-XML conforming
2176     documents.</p>
2177
2178     </abstract>
2179   </eventitem>
2180
2181   <eventitem date="2003-03-24" time="8:00 PM" 
2182     room="Humanities Theatre, Hagey Hall"
2183     title="Judy, or What Is It Like To Be A Robot?">
2184     <short>Held in co-operation with the UW Cognitive Science Club</short>
2185     <abstract>
2186
2187     <p>A lot of claims have been made lately about the intelligence of 
2188     computers.  Some researchers say that computers will eventually attain 
2189     super-human intelligence.  Others call thse claims... um, poppycock.  
2190     Oddly enough, in the search for the truth of the matter, both camps 
2191     have overlooked an obvious strategy: interviewing a computer and asking 
2192     her opinion.</p>
2193
2194     <p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and 
2195     lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>
2196
2197     <p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
2198     imagination stretcher that delights while it exercises your mind.  If you
2199     think you can't imagine a conscious robot, you're wrong---you can,
2200     especially once you've met Judy." --- Daniel C. Dennett,
2201     author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
2202     &amp;c.</p>
2203
2204     <p>"...an engrossing evening...  Real questions about 
2205     consciousness, freedom to act, the relationship between the creator 
2206     and the created are woven into a bravura performance." --- Will 
2207     Stackman, <i>Aislesay.com</i></p>
2208
2209     <p>Sponsored by the Mathematics Society, the Federation of Students, the
2210     Arts Student Union, the Graduate Student Association, and the Department of
2211     Philosophy. Tickets available at the Humanities box office (888-4908) and
2212     the offices of the Psychology Society and the Computer Science Club for
2213     $5.50.  For
2214     more information: <a
2215     href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>
2216
2217     </abstract>
2218   </eventitem>
2219
2220   <eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
2221     title="Stream Processing">
2222     <short>A talk by Assistant Professor Michael McCool</short>
2223     <abstract>
2224
2225     <p>Stream processing is an enhanced version of SIMD processing that
2226     permits efficient execution of conditionals and iteration.  Stream
2227     processors have many similarities to GPUs, and a hardware prototype,
2228     the Imagine processor, has been used to implement both OpenGL and
2229     Renderman.</p>
2230
2231     <p>It is possible that GPUs will acquire certain properties
2232     of stream processors in the future, which should make them easier
2233     to use and more efficient for general-purpose computation that includes
2234     data-dependent iteration and conditionals.</p>
2235
2236     </abstract>
2237   </eventitem>
2238
2239   <eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
2240     title="Abusing the C++ Compiler">
2241     <short>Abusing template metaprogramming in C++</short>
2242     <abstract>
2243
2244     <p>Templates are a useful feature in C++ when it comes to writing
2245     type-independent data structures and algorithms.  But that's not all
2246     they can be used for.  Essentially, it is possible to write certain
2247     programs in C++ that execute completely at compile-time rather
2248     than run-time.  Combined with some optimisations this is an interesting
2249     twist on regular C++ programming.</p>
2250
2251     <p>This talk will give a short overview of the features of templates
2252     and then go on to describe how to "abuse" templates to perform complex
2253     computations at compile time. The speaker will present three programs of
2254     increasing complexity which execute at compile time. First a factorial
2255     listing program, then a prime listing program will be presented. Finally
2256     the talk will conclude with the presentation of a <i>Mandelbrot
2257     generator running at compile time.</i></p>
2258
2259     <p>Some basic knowledge of C++ will be assumed.</p>
2260
2261     </abstract>
2262   </eventitem>
2263
2264   <eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
2265     title="SSH and Networks">
2266     <short>Once more into the breach</short>
2267     <abstract>
2268
2269     <p>The Secure Shell (SSH) has now replaced traditional remote login
2270     tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
2271     <i>telnet</i>.  It is used to provide secure, authenticated,
2272     encrypted communications between remote systems.  However, the SSH
2273     protocol provides for much more than this.</p>
2274
2275     <p>In this talk, we will discuss using SSH to its full extent.  Topics
2276     to be covered include:</p>
2277     <ul>
2278       <li>Remote logins</li>
2279       <li>Remote execution</li>
2280       <li>Password-free authentication</li>
2281       <li>X11 forwarding</li>
2282       <li>TCP forwarding</li>
2283       <li>SOCKS tunnelling</li>
2284     </ul>
2285
2286     </abstract>
2287   </eventitem>
2288
2289   <!-- Fall 1994 -->
2290         <eventitem
2291          date="1994-09-13" time="9:00 PM"
2292          room="Princess Cinema"
2293          title="Movie Outing: Brainstorm">
2294                 <short>
2295                         No description available.
2296                 </short>
2297                 <abstract>
2298                         <p>
2299                         The first of this term's CSC social events, we will be going to see
2300                         the movie ``Brainstorm'' at the Princess Cinema. This outing is
2301                         intended primarily for the new first-year students.
2302                         </p>
2303                         <p>
2304                         The Princess Cinema is Waterloo's repertoire theatre. This month
2305                         and next, they are featuring a ``Cyber Film Festival''. Upcoming
2306                         films include:
2307                         </p>
2308                         <ul>
2309                                 <li>Brazil</li>
2310                                 <li>Bladerunner (director's cut)</li>
2311                                 <li>2001: A Space Odyssey</li>
2312                                 <li>Naked Lunch</li>
2313                         </ul>
2314                         <p>
2315                         Admission is $4.25 for a Princess member, $7.50 for a non-member.
2316                         Membership to the Princess is $7.00 per year. 
2317                         </p>
2318                 </abstract>
2319         </eventitem>
2320         <eventitem
2321          date="1994-09-16" time="4:30 PM"
2322          room="MC 4040"
2323          title="CSC Elections">
2324                 <short>No description available</short>
2325                 <abstract>No abstract available</abstract>
2326         </eventitem>
2327         <eventitem
2328          date="1994-09-19" time="4:30 PM"
2329          room="MC 3022"
2330          title="UNIX I Tutorial">
2331                 <short>No description available</short>
2332                 <abstract>No abstract available</abstract>
2333         </eventitem>
2334         <eventitem
2335          date="1994-09-21" time="6:30 PM"
2336          room="DC 1302"
2337          title="SIGGRAPH Video Night">
2338                 <short>No description available</short>
2339                 <abstract>No abstract available</abstract>
2340         </eventitem>
2341         <eventitem
2342          date="1994-09-22" time="4:30 PM"
2343          room="MC 3022"
2344          title="UNIX I Tutorial">
2345                 <short>No description available</short>
2346                 <abstract>No abstract available</abstract>
2347         </eventitem>
2348         <eventitem
2349          date="1994-09-26" time="4:30 PM"
2350          room="MC 3022"
2351          title="UNIX II Tutorial">
2352                 <short>No description available</short>
2353                 <abstract>No abstract available</abstract>
2354         </eventitem>
2355         <eventitem
2356          date="1994-10-13" time="5:00 PM"
2357          room="DC 1302"
2358          title="Prograph: Picture the Future">
2359                 <short>No description available</short>
2360                 <abstract>
2361                         <p>
2362                         What is the next step in the evolution of computer languages?
2363                         Intelligent agents? Distributed objects? or visual languages?
2364                         </p>
2365                         <p>
2366                         Visual languages overcome many of the drawbacks and limitations
2367                         of the textual languages that software development is based on
2368                         today. Do you think about programming in a linear fashion? Or do
2369                         you draw a mental picture of your algorithm and then linearize it
2370                         for the benefit of your compiler? Wouldn't it be nice if you could
2371                         code the same way you think?
2372                         </p>
2373                         <p>
2374                         Visual C++ and Visual BASIC aren't visual languages, but Prograph
2375                         is. Prograph is a commercially available, visual, object-oriented,
2376                         data-flow language. It is well suited to graphical user interface
2377                         development, but is as powerful for general-purpose programming as
2378                         any textual language.
2379                         </p>
2380                         <p>
2381                         The talk will comprise a discussion of the problems of textual
2382                         languages that visual languages solve, a live demonstration of
2383                         Prograph, and some of my observations of the applications of
2384                         Prograph to software development.
2385                         </p>
2386                 </abstract>
2387         </eventitem>
2388         <eventitem
2389          date="1994-10-15" time="10:00 AM"
2390          room="MC 3022"
2391          title="ACM-Style Programming Contest">
2392                 <short>No description available</short>
2393                 <abstract>
2394                         <h3>Big Money and Prizes!</h3>
2395                         <p>
2396                         So you think you're a pretty good programmer? Pit your skills
2397                         against others on campus in this triannual event! Contestants will
2398                         have three hours to solve five programming problems in either C or
2399                         Pascal.
2400                         </p>
2401                         <p>
2402                         Last fall's winners went on to the International Finals and came
2403                         first overall! You could be there, too!
2404                         </p>
2405                 </abstract>
2406         </eventitem>
2407         <eventitem
2408          date="1994-10-20" time="4:30 PM"
2409          room="MC 3009"
2410          title="Exploring the Internet">
2411                 <short>No description available</short>
2412                 <abstract>
2413                         <h3>Need something to do between assignments/beers?</h3>
2414                         <p>
2415                          Did you know that your undergrad account at Waterloo gives you
2416                          access tothe world's largest computer network? With thousands
2417                          of discussion groups, gigabytes of files to download, multimedia
2418                          information browsers, even on-line entertainment?
2419                         </p>
2420                         <p>
2421                         The resources available on the Internet are vast and wondrous, but
2422                         the tools for navigating it are sometimes confusing and arcane. In
2423                         this hands-on tutorial you will get the chance to get your feet wet
2424                         with the world's most mind-bogglingly big computer network, the
2425                         protocols and programs used, and how to use them responsibly and
2426                         effectively. 
2427                         </p>
2428                 </abstract>
2429         </eventitem>
2430         <eventitem
2431          date="1994-11-02" time="4:30 PM"
2432          room="MC 2038"
2433          title="Game Theory">
2434                 <short>No description available</short>
2435                 <abstract>
2436                         <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
2437                         <p>
2438                          This will be a descussion of the pitfalls of using mathematics and
2439                          algorithms to play classical board games. Thorough descriptions
2440                          shall be presented of the simple techniques used as the building
2441                          blocks that make all modern computer game players. I will use
2442                          tic-tac-toe as a control for my arguements. Other games such as
2443                          Chess, Othello and Go shall be the be a greater measure of progress;
2444                          and more importantly the targets of our dreams.
2445                          </p>
2446                         <p>
2447                          To enhance the discussion of the future, Barney Pell's Metagamer
2448                          shall be introduced. His work in define classes of games is
2449                          important in identifying the features necessary for analysis. 
2450                          </p>
2451                 </abstract>
2452         </eventitem>
2453
2454   <!-- Fall 1999 -->
2455
2456   <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
2457   title="Living Laboratories: The Future Computing Environments at
2458   Georgia Tech">
2459     <short>By Blair MacIntyre and Elizabeth Mynatt</short>
2460     <abstract>
2461       <p>by   Blair MacIntyre and Elizabeth Mynatt</p>
2462       <p>The Future Computing Environments (FCE) Group at Georgia Tech
2463         is a collection of faculty and students that share a desire to
2464         understand the partnership between humans and technology that
2465         arises as computation and sensing become ubiquitous.  With
2466         expertise covering the breadth of Computer Science, but
2467         focusing on HCI, Computational Perception, and Machine
2468         Learning, the individual research agendas of the FCE faculty
2469         are grounded in a number of shared "living laboratories" where
2470         their research is applied to everyday life in the classroom
2471         (Classroom 2000), the home (the Aware Home), the office
2472         (Augmented Offices), and on one's person.  Professors
2473         MacIntyre and Mynatt will discuss a variety of these projects,
2474         with an emphasis on the HCI and Computer Science aspects of
2475         the FCE work.
2476       </p>
2477       <p>
2478         In addition to their affiliation with the FCE group,
2479         Professors Mynatt and MacIntyre are both members of the
2480         Graphics, Visualization and Usability Center (GVU) at Georgia
2481         Tech.  This interdisciplinary center brings together research
2482         in computer science, psychology, industrial engineering,
2483         architecture and media design by examining the role of
2484         computation in our everyday lives.  During the talk, they will
2485         touch on some of the research and educational opportunities
2486         available at both GVU and the College of Computing.
2487       </p>
2488     </abstract>
2489   </eventitem>
2490
2491   <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
2492   title="GDB, Purify Tutorial">
2493     <short>No description available.</short>
2494     <abstract>
2495       <p>
2496        Debugging can be the most difficult and time consuming part of
2497        any program's life-cycle. Far from an exact science, it's more
2498        of an art ... and close to some kind of dark magic. Cryptic
2499        error messages, lousy error checking, and icky things like
2500        implicit casts can make it nearly impossible toknow what's
2501        going on inside your program.
2502       </p>
2503       <p>
2504          Several tools are available to help automate your
2505          debuggin. GDB and Purify are among the most powerful
2506          debugging tools available in a UNIX environment. GDB is an
2507          interactive debugger, allowing you to `step' through
2508          aprogram, examine function calls, variable contents, stack
2509          traces and let you look at the state of a program after it
2510          crashes. Purify is a commercial program designed to help find
2511          and remove memory leaks from programs written inlanguages
2512          without automatic garbage collection.
2513       </p>
2514       <p>
2515         This talk will cover how to compile your C and C++ programs
2516         for use with GDB and Purify, as well as how to use the
2517         available X interfaces. If a purify license is available on
2518         undergrad at the time of the talk, we will cover how to use it
2519         during runtime.
2520       </p>
2521     </abstract>
2522   </eventitem>
2523
2524   <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
2525     title="Homebrew Processors and Integrated Systems in FPGAs">
2526     <short>By Jan Gray</short>
2527     <abstract>
2528       <p>by Jan Gray</p>
2529       
2530       <p> With the advent of large inexpensive field-programmable gate
2531       arrays and tools it is now practical for anyone to design and
2532       build custom processors and systems-on-a-chip. Jan will discuss
2533       designing with FPGAs, and present the design and implementation
2534       of xr16, yet another FPGA-based RISC computer system with
2535       integrated peripherals.</p>
2536
2537       <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
2538       compilers, tools, and middleware at Microsoft from 1987-1998. He
2539       built the first 32-bit FPGA CPU and system-on-a-chip in
2540       1995. </p>
2541     </abstract>
2542   </eventitem>
2543
2544   <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
2545     title="Ctrl-D">
2546     <short>End-of-term dinner</short> 
2547     <abstract>
2548       No abstract available.
2549     </abstract>
2550   </eventitem>
2551
2552   <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
2553     title="Calculational Mathematics">
2554     <short>By Edgar Dijkstra</short>
2555     <abstract>
2556       <p> By Edgar Dijkstra</p>
2557
2558       <p> This  talk will use  partial orders, lattice theory,  and, if
2559       time permits,  the Galois  connection as carriers  to illustrate
2560       the use of  calculi in mathematics. We hope  to show the brevity
2561       of  many calculations  (in order  tofight the  superstition that
2562       formal  proofs  are  necessarily  unpractically long),  and  the
2563       strong   heuristic  guidance   that  is   available   for  their
2564       design. </p>
2565
2566       <p> Dijkstra is known for early graph-theoretical algorithms,
2567       the first implementation of ALGOL 60, the first operating system
2568       composed of explicitly synchronized processes, the invention of
2569       guarded commands and of predicate transformers as a means for
2570       defining semantics, and programming methodology in the broadest
2571       sense of the word. </p>
2572
2573       <p> His current research interests focus on the formal
2574       derivation of proofs and programs, and the streamlining of the
2575       mathematical argument in general.</p>
2576      
2577       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
2578       Sciences at The University of Texas at Austin until retiring in
2579       October. </p>
2580
2581     </abstract>
2582   </eventitem>
2583
2584   <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
2585   St Jerome's" title="Proofs and Programs">
2586     <short>By Edsger Dijkstra</short>
2587     <abstract>
2588       <p> This talk will show the use of programs for the proving of
2589       theorems. Its purpose is to show how our experience gained in
2590       the derivations of programs might be transferred to the
2591       derivation of proofs in general. The examples will go beyond the
2592       (traditional) existence theorems. </p>
2593
2594       <p> Dijkstra is known for early graph-theoretical algorithms,
2595       the first implementation of ALGOL 60, the first operating system
2596       composed of explicitly synchronized processes, the invention of
2597       guarded commands and of predicate transformers as a means for
2598       defining semantics, and programming methodology in the broadest
2599       sense of the word. </p>
2600
2601       <p> His current research interests focus on the formal
2602       derivation of proofs and programs, and the streamlining of the
2603       mathematical argument in general.</p>
2604      
2605       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
2606       Sciences at The University of Texas at Austin until retiring in
2607       October. </p>
2608
2609     </abstract>
2610   </eventitem>
2611
2612   <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
2613     title="Open Q&amp;A session">
2614     <short>By Edsger Dijkstra</short>
2615     <abstract>No description available.</abstract>
2616   </eventitem>
2617
2618   <!-- Winter 2000 -->
2619
2620   <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
2621   title="Enterprise Java APIs and Implementing a Web Portal">
2622     <short>No description available.</short>
2623     <abstract>
2624       <h3>by Floyd Marinescu
2625       </h3>
2626       
2627       <p>
2628         The first talk will be an introduction to the Enterprise Java
2629         API's: Servlets, JSP, EJB, and how to use them to build
2630         eCommerce sites.
2631       </p>
2632
2633       <p>
2634         The second talk will be about how these technologies were used
2635         to implement a real world portal.  The talk will include an
2636         overview of the design patterns used and will feature
2637         architectural information about the yet to be release portal
2638         (which I am one of the developers) called theserverside.com.
2639       </p>
2640     </abstract>
2641   </eventitem>
2642
2643   <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
2644     title="Enterprise Java APIs and Implementing a Web Portal (1)">
2645     <short>No description available.</short>
2646     <abstract>
2647       <p>Real World J2EE - Design Patterns and architecture behind the
2648         yet to be released J2EE portal: theserverside.com</p>
2649
2650       <p>This talk will feature an exclusive look at the architecture
2651         behind the new J2EE portal: theserverside.com.  Join Floyd
2652         Marinescu in a walk-through ofthe back-end of the portal,
2653         while learning about J2EE and its real world patterns,
2654         applications, problems and benefits.</p>
2655     </abstract>
2656   </eventitem>
2657
2658   <!-- Spring 2000 -->
2659
2660   <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
2661   House, 130 King Street S, Waterloo" title="Ctrl-D">
2662     <short>End-of-term dinner</short>
2663     <abstract>No abstract available.</abstract>
2664   </eventitem>
2665
2666   <!-- Fall 2000 -->
2667
2668   <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
2669     title="CSC Elections">
2670     <short>Fall 2000 Elections for the CSC.</short>
2671     <abstract>
2672       <p>
2673         Would you like to get involved in the CSC? Would you like to have a
2674         say in what the CSC does this term?  Come out to the CSC Elections!
2675         In addition to electing the executive for the Fall term, we will be
2676         appointing office staff and other positions.  Look for details in
2677         uw.csc.
2678       </p>
2679
2680       <p>Nominations for all positions are being taken in the CSC office, MC
2681         3036.</p>
2682     </abstract>
2683   </eventitem>
2684
2685   <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
2686     title="SIGGraph Video Night">
2687     <short> SIGGraph Video Night Featuring some truly awesome computer
2688     animations from Siggraph '99. </short>
2689     <abstract>
2690       <p> Interested in Computer Graphics?
2691       </p>
2692       
2693       <p> Enjoy watching state-of-the-art Animation?
2694       </p>
2695       
2696       <p> Looking for a cheap place to take a date?
2697       </p>
2698       
2699       <p> SIGGraph Video Night -
2700         Featuring some truly awesome computer animations from Siggraph '99.
2701       </p>
2702
2703       <p>Come out for the Computer Science Club general elections at 6:00
2704         pm, right before SIGGraph!</p>
2705       </abstract>
2706   </eventitem>
2707
2708  <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
2709     title="Realising the Next Generation Internet">
2710     <short>By Frank Clegg of Microsoft Canada</short>
2711     <abstract>
2712 <h3>Vitals</h3>
2713 <dl>
2714 <dt>By</dt>
2715 <dd>Frank Clegg</dd>
2716 <dd>President, Microsoft Canada</dd>
2717 <dt>Date</dt>
2718
2719 <dd>Monday, September 25, 2000</dd>
2720 <dt>Time</dt>
2721 <dd>14:30 - 16:00</dd>
2722 <dt>Place</dt>
2723 <dd>DC 1302</dd>
2724 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
2725
2726 <dt>Cost</dt>
2727 <dd>$0.00</dd>
2728 <dt>Pre-registration</dt>
2729 <dd>Recommended</dd>
2730 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
2731 <dd>(519) 888-4004</dd>
2732
2733 </dl>
2734
2735 <h3>Abstract</h3>
2736 <p>The Internet and the Web have revolutionized our communications, our access
2737 to information and our business methods. However, there is still much room 
2738 for improvement. Frank Clegg will discuss Microsoft's vision for what is 
2739 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a 
2740 new platform, user experience and set of advanced software services planned 
2741 to make all devices work together and connect seamlessly. With this next 
2742 generation of software, Microsoft's goal is to make Internet-based 
2743 computing and communications easier to use, more personalized, and more 
2744 productive for businesses and consumers. In his new position of president 
2745 of Microsoft Canada Co., Frank Clegg will be responsible for leading the 
2746 organization toward the delivery of Microsoft .NET. He will speak about 
2747 this new platform and the next generation Internet, how software developers 
2748 and businesses will be able to take advantage of it, and what the .NET 
2749 experience will look like for consumers and business users.</p>
2750
2751 <h3>The Speaker</h3>
2752 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month. 
2753 Prior to his new position, Mr. Clegg was vice-president, Central Region, 
2754 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for 
2755 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined 
2756 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996. 
2757 During that time, Mr. Clegg was instrumental in introducing several key 
2758 initiatives to improve company efficiency, growth and market share. Mr. 
2759 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
2760
2761 <h3>For More Information</h3>
2762 <address>
2763 Shirley Fenton<br />
2764 The infraNET Project<br />
2765 University of Waterloo<br />
2766 519-888-4567 ext. 5611<br />
2767 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
2768 </address>
2769       </abstract>
2770   </eventitem>
2771
2772
2773  <!-- Winter 2001 -->
2774
2775  <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
2776     title="Executive elections">
2777   <short>Winter 2001 CSC Elections.</short>
2778   <abstract>
2779       <p>Would you like to get involved in the CSC? Would you like to
2780         have a say in what the CSC does this term? Come out to the CSC
2781         Elections! In addition to electing the executive for the
2782         Winter term, we will be appointing office staff and other
2783         positions. Look for details in uw.csc.
2784       </p>
2785       <p>
2786         Nominations for all positions are being taken in the CSC
2787         office, MC 3036.
2788       </p>
2789     </abstract>
2790  </eventitem>
2791   <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
2792     title="Meeting #2">
2793     <short>Second CSC meeting for Winter 2001.</short>
2794     <abstract>
2795       <h3>Proposed agenda</h3>
2796       <dl>
2797         <dt>Book purchases</dt>
2798         <dd>
2799           <p>They haven't been done in 2 terms.
2800             We have an old list of books to buy.
2801             Any suggestions from uw.csc are welcome.</p>
2802         </dd>
2803         <dt>CD Burner</dt>
2804         
2805         <dd>
2806           <p>For doing linux burns. It was allocated money on the budget
2807             request - about $300. We should be able to get a decent 12x
2808             burner with that (8x rewrite).</p>
2809           <p>The obvious things to sell are Linux Distros and BSD variants.
2810             Are there any other software that we can legally burn and sell
2811             to students?</p>
2812         </dd>
2813         <dt>Unix talks</dt>
2814         <dd>
2815           <p>Just a talk of the topics to be covered, when, where, whatnot.
2816             Mike was right on this one, this should have been done earlier
2817      in the term.  Oh well, maybe we can fix this for next fall term.</p>
2818           
2819         </dd>
2820         <dt>Game Contest</dt>
2821         <dd>
2822           <p>We already put a bit of work into planning the Othello contest
2823             before I read Mike's post. I still think it's viable. I've got
2824             at least 2 people interested in writing entries for it. This
2825             will be talked about more on monday. Hopefully, Rory and I will
2826             be able to present a basic outline of how the contest is going
2827             to be run at that time.</p>
2828         </dd>
2829         <dt>Peri's closet cleaning</dt>
2830         <dd>
2831           
2832           <p>Current sysadmin (jmbeverl) and I (kvijayan) and
2833             President (geduggan) had a nice conversation about this 2
2834             days ago, having to do with completely erasing all of
2835             peri, installing a clean stable potato debian on it, and
2836             priming it for being a gradual replacement to calum. We'll
2837             probably discuss how much we want to get done on this
2838             front on Monday.</p>
2839         </dd>
2840       </dl>
2841       
2842       <p>Any <a HREF="nntp://news.math.uwaterloo.ca/uw.csc/8305">comments</a> from <a HREF="news:uw.csc">the newsgroup</a> are welcome.</p>
2843     </abstract>
2844   </eventitem>
2845
2846   <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
2847     title="ACM-Style programming contest">
2848     <short>Practice for the ACM international programming
2849     contest</short>
2850     <abstract>
2851 <p>Our ACM-Style practice  contests involve answering five questions in three
2852 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
2853 Waterloo's teams  have been in  the top ten  at the world  finals.
2854 For more information, see
2855 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
2856
2857 <h3>Easy Question:</h3>
2858 <p>A palindrome is a sequence of letters that reads the same backwards and
2859 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
2860 only letters are important). Your task is to find the longest palindrome in
2861 a line of text (if there is a tie, print the leftmost one).</p>
2862 <pre>
2863 Input:                              Output:
2864
2865 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
2866 abcbabCdcbaqwerewq                  abCdcba
2867 </pre>
2868
2869 <h3>Hard Question:</h3>
2870 <p>An anagram is a word formed by reordering the letters of another word.
2871 Find all sets of anagrams that exist within a large dictionary.  The
2872 input will be a sorted list of words (up to 4000 words), one per line.
2873 Output each set of anagrams on a separate line.  Each set should be
2874 in alphabetical order, and all lines of sets should be in alphabetical
2875 order.  A word with no anagrams is a set of anagrams itself, and should
2876 be displayed with no modifications.</p>
2877
2878 <pre>
2879 Input:      Output:
2880
2881 post        post pots stop
2882 pots        start
2883 start
2884 stop
2885 </pre>
2886     </abstract>
2887   </eventitem>
2888
2889   <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
2890     title="Meeting #3">
2891     <short>No description available.</short>
2892     <abstract>No abstract available.</abstract>
2893   </eventitem>
2894
2895   <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
2896     title="Meeting #4">
2897     <short>No description available.</short>
2898     <abstract>No abstract available.</abstract>
2899   </eventitem>
2900
2901   <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
2902     title="Meeting #5">
2903     <short>No description available.</short>
2904     <abstract>No abstract available.</abstract>
2905   </eventitem>
2906
2907   <!-- Spring 2001 -->
2908
2909   <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
2910     title="ACM-Style programming contest">
2911     <short>Practice for the ACM international programming
2912     contest</short>
2913     <abstract>
2914 <p>Our ACM-Style practice  contests involve answering five questions in three
2915 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
2916 Waterloo's teams  have been in  the top ten  at the world  finals.
2917 For more information, see
2918 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
2919
2920 <h3>Easy Question:</h3>
2921 <p>A palindrome is a sequence of letters that reads the same backwards and
2922 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
2923 only letters are important). Your task is to find the longest palindrome in
2924 a line of text (if there is a tie, print the leftmost one).</p>
2925 <pre>
2926 Input:                              Output:
2927
2928 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
2929 abcbabCdcbaqwerewq                  abCdcba
2930 </pre>
2931
2932 <h3>Hard Question:</h3>
2933 <p>An anagram is a word formed by reordering the letters of another word.
2934 Find all sets of anagrams that exist within a large dictionary.  The
2935 input will be a sorted list of words (up to 4000 words), one per line.
2936 Output each set of anagrams on a separate line.  Each set should be
2937 in alphabetical order, and all lines of sets should be in alphabetical
2938 order.  A word with no anagrams is a set of anagrams itself, and should
2939 be displayed with no modifications.</p>
2940
2941 <pre>
2942 Input:      Output:
2943
2944 post        post pots stop
2945 pots        start
2946 start
2947 stop
2948 </pre>
2949     </abstract>
2950   </eventitem>
2951
2952
2953  <!-- Winter 2002 -->
2954
2955  <eventitem date="2002-01-26" time="2:00 PM"
2956   room="Comfy Lounge MC3001" 
2957   title="An Introduction to GNU Hurd">
2958   <short>Bored of GNU/Linux? Try this experimental operating
2959   system!</short>
2960   <abstract>
2961 <p>GNU Hurd is an operating system kernel based on the microkernel
2962 architecture design. It was the original GNU kernel, predating Linux,
2963 and is still being actively developed by many volunteers.</p>
2964 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
2965 Science Club, is hosting an afternoon to show the Hurd to anyone
2966 interested. Jeff Bailey, a Hurd developer, will give a presentation on
2967 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
2968 James Morrison, also a Hurd developer, will be hosting a Debian
2969 GNU/Hurd installation session.</p>
2970 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
2971 and mail your key to sjdutoit@uwaterloo.ca with the subject
2972 ``keysigning'' (see separate announcement).</p>
2973 <p>Questions? Suggestions? Contact <a
2974 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
2975   </abstract>
2976  </eventitem>
2977  <eventitem date="2002-01-26" time="2:30 PM"
2978   room="Comfy Lounge MC3001" 
2979   title="GnuPG/PGP Keysigning Party">
2980   <short>Get more signatures on your key!</short>
2981   <abstract>
2982   <p>
2983    GnuPG and PGP provide public-key based encryption for e-mail and
2984    other electronic communication. In addition to preventing others
2985    from reading your private e-mail, this allows you to verify that an
2986    e-mail or file was indeed written by its perceived author.
2987   </p>
2988   <p>
2989    In order to make sure a GnuPG/PGP key belongs to the respective
2990    person, the key must be signed by someone who has checked the
2991    user's key fingerprint and verified the user's identification.
2992   </p>
2993   <p>
2994    A keysigning party is an ideal occasion to have your key signed by
2995    many people, thus strengthening the authority of your key. Everyone
2996    showing up exchanges key signatures after verifying ID and
2997    fingerprints. The Computer Science Club will be hosting such a
2998    keysigning party together with the Hurd presentation by THUG (see
2999    separate announcement). See
3000    <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
3001    keysigning party homepage</a> for more information.
3002   </p>
3003   <p>
3004    Before attending it is important that you mail your key to
3005    sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
3006    sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
3007    a sheet of paper to the event.
3008   </p>
3009   </abstract>
3010  </eventitem>
3011  <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
3012   title="UNIX 101: First Steps With UNIX">
3013   <abstract>
3014     This is the first in a series of seminars that cover the use of
3015     the UNIX Operating System. UNIX is used in a variety of
3016     applications, both in academia and industy. We will be covering
3017     the basics of the UNIX environment, as well as the use of PINE, an
3018     electronic mail and news reader.
3019   </abstract>
3020  </eventitem>
3021  <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
3022   title="DVD-Video Under Linux">
3023   <short>Billy Biggs will be holding a talk on DVD technology
3024   (in particular, CSS and playback issues) under Linux, giving some
3025   technical details as well as an overview of the current status of
3026   Free Software efforts. All are welcome.</short>
3027   <abstract>
3028    <p>DVD copy protection: Content Scrambling System (CSS)</p>
3029    <ul>
3030     <li>A technical introduction to CSS and an overview of the ongoing
3031     legal battle to allow distribution of non-commercial DVD
3032     players</li>
3033     <li>The current Linux software efforts and open issues</li>
3034     <li>How applications and Linux distributions are handling the
3035     legal issues involved</li>
3036    </ul>
3037    <p>DVD-Video specifics: Menus and navigation</p>
3038    <ul>
3039     <li>An overview of the DVD-Video standard</li>
3040     <li>Reverse engineering efforts and their implementation status</li>
3041     <li>Progress of integration into Linux media players</li>
3042    </ul>
3043   </abstract>
3044  </eventitem>
3045  <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
3046   title="Unix 102: Fun With UNIX">
3047   <short>This the second in a series of UNIX tutorials. Simon Law and
3048   James Perry will be presenting some more advanced UNIX
3049   techniques. All are welcome. Accounts will be provided for those
3050   needing them.</short>
3051   <abstract>
3052    <p>
3053     This is the second in a series of seminars that cover the use of
3054     the UNIX Operating System. UNIX is used in a variety of
3055     applications, both in academia and industry. We will provide you
3056     with hands-on experience with the Math Faculty's UNIX environment
3057     in this tutorial.
3058    </p>
3059    <p>Topics that will be discussed include:</p>
3060    <ul>
3061     <li>Interacting with Bourne and C shells</li>
3062     <li>Editing text using the vi text editor</li>
3063     <li>Editing text using the Emacs display editor</li>
3064     <li>Multi-tasking and the screen multiplexer</li>
3065    </ul>
3066    <p>
3067      If you do not have a Math computer account, don't panic; one will
3068      be lent to you for the duration of this class.
3069    </p>
3070   </abstract>
3071  </eventitem>
3072  <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
3073   title="Computer Go, The Ultimate">
3074   <short>Thomas Wolf from Brock University will be holding a talk on
3075   the asian game of Go. All are welcome.</short>
3076   <abstract>
3077    <p>
3078     The asian game go is unique in a number of ways. It is the oldest
3079     board game known. It is a strategy game with very simple
3080     rules. Computer programs are very weak despite huge efforts and
3081     prizes of US$ &gt; 1.5M for a program beating professional
3082     players. The talk will quickly explain the rules of go, compare go
3083     and chess, mention various attempts to program go and describe our
3084     own efforts in this field. Students will have an opportunity to
3085     solve computer generated go problems. Prizes will be available.
3086    </p>
3087   </abstract>
3088  </eventitem>
3089
3090   <!-- Spring 2002 -->
3091
3092   <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
3093     elections">
3094     <short>Come and vote for this term's exec</short>
3095     <abstract>
3096       <p>
3097         Vote for the exec this term. Meet at the CSC office.
3098       </p>
3099     </abstract>
3100   </eventitem>
3101
3102
3103   <!-- Fall 2002 -->
3104
3105   <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
3106   title="F02 elections">
3107     <short>Come and vote for this term's exec</short>
3108     <abstract>
3109       <p>
3110         Vote for the exec this term. Meet at the comfy
3111         lounge. There will be an opportunity to obtain or renew
3112         memberships. This term's CRO is Siyan Li
3113         (s8li@csclub.uwaterloo.ca).
3114       </p>
3115     </abstract>
3116   </eventitem>
3117
3118   <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
3119   title="Business Meeting">
3120     <short>Vote on a constitutional change.</short>
3121     <abstract>
3122       <p>
3123          The executive has unanimously decided to try to change our
3124 constitution to comply with MathSoc policy.  The clause we are trying
3125 to change is the membership clause.  The following is the proposed new
3126 reading of the clause.
3127       </p>
3128       <p><i>
3129         In compliance with MathSoc regulations and in recognition of
3130 the club being primarily targeted at undergraduate students, full
3131 membership is open to all undergraduate students in the Faculty of
3132 Mathematics and restricted to the same.</i>
3133       </p>
3134
3135       <p>
3136         The proposed change is illustrated <a
3137         href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
3138         a web page</a>.
3139       </p>
3140
3141       <p>
3142         There will be a business meeting on 30 Sept 2002 at 18:30 in
3143         the comfy lounge, MC 3001. Please come and vote
3144       </p>
3145     </abstract>
3146   </eventitem>
3147
3148   <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
3149   title="UNIX 101">
3150     <short>First Steps with UNIX</short>
3151     <abstract>
3152       <p>
3153            Get to know UNIX and be the envy of your friends!
3154       </p>
3155       <p>
3156         This is the first in a series of seminars that cover the use
3157         of the UNIX Operating System.  UNIX is used in a variety of
3158         applications, both in academia and industy. We will provide
3159         you with hands-on experience with the Math Faculty's UNIX
3160         environment in this seminar.
3161       </p>
3162       <p>
3163         Topics that will be discussed include:
3164       </p>
3165       <ul>
3166         <li>Navigating the UNIX environment</li>
3167         <li>Using common UNIX commands</li>
3168         <li>Using the PICO text editor</li>
3169         <li>Reading electronic mail and news with PINE</li>
3170       </ul>
3171       <p>
3172     If you do not have a Math computer account, don't panic; one will be 
3173 lent to you for the duration of this class.
3174       </p>
3175     </abstract>
3176   </eventitem>
3177
3178   <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
3179   title="Pints with the Profs">
3180     <short>Get to know your profs and be the envy of your friends!</short>
3181     <abstract>
3182     <p>Come out and meet your professors.  This is a great opportunity to
3183 meet professors for Undergraduate Research jobs or to find out who you might
3184 have for future courses.</p>
3185
3186     <p>Profs who have confirmed their attendance are:</p>
3187     <ul>
3188       <li>Troy Vasiga, School of Computer Science</li>
3189       <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
3190       <li>Michael McCool, School of Computer Science, CGL</li>
3191       <li>Martin Karsten, School of Computer Science, BBCR</li>
3192       <li>Gisli Hjaltason, School of Computer Science, DB</li>
3193     </ul>
3194
3195     <p>There will also be...</p>
3196     <ul>
3197       <li>Free Food</li>
3198       <li>Free Food</li>
3199       <li>Free Food</li>
3200     </ul>
3201     </abstract>
3202   </eventitem>
3203
3204   <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
3205   title="UNIX 102">
3206     <short>Talking to your UNIX can be fun and profitable.</short>
3207     <abstract>
3208 <p>This is the second in a series of seminars that cover the use of
3209 the UNIX Operating System. UNIX is used in a variety of applications,
3210 both in academia and industry. We will provide you with hands-on
3211 experience with the Math Faculty's UNIX environment in this
3212 tutorial.</p>
3213
3214 <p>Topics that will be discussed include:</p>
3215 <ul><li>Interacting with Bourne and C shells</li>
3216 <li>Editing text using the vi text editor</li>
3217 <li>Editing text using the Emacs display editor</li>
3218 <li>Multi-tasking and the screen multiplexer</li>
3219 </ul>
3220
3221 <p>If you do not have a Math computer account, don't panic; one will be
3222 lent to you for the duration of this class.</p>
3223
3224 </abstract>
3225   </eventitem>
3226
3227   <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
3228   title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
3229     <short>A talk by Filip Spacek, KGI developer</short>
3230     <abstract>
3231     Linux has proven itself as a reliable operating system but arguably,
3232     it still lacks in support of high performance graphics
3233     acceleration. This talk will describe basic components of a PC video
3234     card and the design and limitations the current Linux display driver
3235     architecture.  Finally a an overview of a new architecture, the Kernel
3236     Graphics Interface (KGI), will be given.  KGI attempts to solve the
3237     shortcomings of the current design, and provide a lightweight and
3238     portable interface to the display subsystem.
3239     </abstract>
3240   </eventitem>
3241
3242   <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
3243   title="UNIX 103">
3244     <short></short>
3245     <abstract>No abstract available yet.</abstract>
3246   </eventitem>
3247
3248   <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
3249   title="The Evil Side of C++">
3250     <short>Abusing template metaprogramming in C++; aka. writing a
3251     Mandelbrot generator that runs at compile time</short>
3252     <abstract>
3253       <p>Templates are a useful feature in C++ when it comes to writing
3254     type-independent data structures and algorithms. Relatively soon
3255     after their appearance it was realised that they could be used to
3256     do much more than this. Essentially it is possible to write
3257     certain programs in C++ that execute <i>completely at compile
3258     time</i> rather than run time. Combined with constant-expression
3259     optimisation this is an interesting twist on regular C++
3260     programming.</p>
3261     <p>This talk will give a short overview of the features of
3262     templates and then go on to describe how to &quot;abuse&quot;
3263     templates to perform complex computations at compile time. The
3264     speaker will present three programs of increasing complexity which
3265     execute at compile time. First a factorial listing program, then a
3266     prime listing program will be presented. Finally the talk will
3267     conclude with the presentation of a <b>Mandelbrot generator running
3268     at compile time</b>.</p>
3269
3270     <p>If you are interested in programming for the fun of it, the C++
3271     language or silly tricks to do with languages, this talk is for
3272     you. No C++ knowledge should be necessary to enjoy this talk, but
3273     programming experience will make it more worthwile for you.</p>
3274
3275     </abstract> </eventitem>
3276
3277   <eventitem date="2002-11-02" time="11:00AM-3:00PM"
3278     room="MC3002 (Math Coffee and Donut Store)"
3279     title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
3280     <short>Bring over your computer and we'll help you install GNU/Linux</short>
3281     <abstract>
3282       <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
3283       href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
3284       href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
3285       are jointly hosting a GNU/Linux InstallFest.  GNU/Linux is a
3286       powerful, free operating system for your computer.  It is mostly
3287       written by talented volunteers who like to share their efforts
3288       and help each other.</p>
3289
3290       <p>Perhaps you have are you interested in installing GNU/Linux.
3291       If so, bring your computer, monitor and keyboard; and we will
3292       help you install GNU/Linux on your machine.  You can also find
3293       knowledgable people who can answer your questions about
3294       GNU/Linux.</p>
3295
3296       <hr />
3297
3298       <h3>Frequently Asked Questions</h3>
3299
3300 <p><b>Q: </b>What is GNU/Linux?<br />
3301 <b>A: </b>GNU/Linux is a free operating system for your computer.  It is mostly
3302    written by talented volunteers who like to share their efforts.
3303 </p>
3304
3305 <p><b>Q: </b>Free?<br />
3306 <b>A: </b>GNU/Linux is available for zero-cost.  As well, it allows you such
3307    freedom to share it with your friends, or to modify the software to
3308    your own needs and share that with your friends.  It's very friendly.
3309 </p>
3310
3311 <p><b>Q: </b>What is an InstallFest?<br />
3312 <b>A: </b>An InstallFest is a meeting where volunteers help people install
3313    GNU/Linux on their computers.  It's also a place to meet users, and
3314    talk to them about running GNU/Linux.
3315 </p>
3316
3317 <p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
3318 <b>A: </b>Almost any recent computer will do.  If you have an old machine
3319    kicking around, you can install GNU/Linux on it as well.  If it is
3320    at least 5 years old, it should be good enough.
3321 </p>
3322
3323 <p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
3324 <b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
3325    disk space to spare; then it should be possible.
3326 </p>
3327
3328 <p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
3329 <b>A: </b>You will want to bring:</p>
3330 <ol>
3331 <li>Computer</li>
3332 <li>Monitor and monitor cable</li>
3333 <li>Power cords</li>
3334 <li>Keyboard and mouse</li>
3335 </ol>
3336
3337     </abstract>
3338   </eventitem>
3339
3340   <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
3341   title="The GNU General Public License">
3342     <short>The teeth of Free Software</short>
3343     <abstract>
3344 <p>
3345 <blockquote>
3346 <i>
3347 The licenses for most software are designed to take away your freedom
3348 to share and change it. By contrast, the GNU General Public License
3349 is intended to guarantee your freedom to share and change free
3350 software---to make sure the software is free for all its users.
3351 </i><br/>--- Excerpt from the GNU GPL
3352 </blockquote>
3353 </p>
3354 <p>The GNU General Public License is one of the most influencial
3355 software licenses in this day.  Written by Richard Stallman for the
3356 GNU Project, it is used by software developers around the world to
3357 protect their work.
3358 </p>
3359 <p>
3360 Unfortunately, software developers do not read licenses thoroughly, nor
3361 well.  In this talk, we will read the entire GNU GPL and explain the
3362 implications of its passages.  Along the way, we will debunk some myths
3363 and clarify common misunderstandings.
3364 </p>
3365 <p>
3366 After this session, you ought to understand what the GNU GPL means, how
3367 to use it, and when you cannot use it.  This session should also give
3368 you some insight into the social implications of this work.
3369 </p>
3370     </abstract>
3371   </eventitem>
3372
3373   <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
3374    title="Metaprogramming GPUs">
3375    <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
3376    <abstract>
3377 <p>
3378 Modern graphics accelerators, or "GPUs", have embedded high-performance 
3379 programmable components in the form of vertex and fragment shading units. 
3380 Recently, these units have evolved from 8-bit computations to floating-point,
3381 and other operations provide array gather, scatter, and summation.
3382 These capabilities make GPUs akin to array processors of the 
3383 past, but with a difference: every PC now has one!  I am interested 
3384 in finding the best way to exploit this computational capacity for not
3385 only graphics but for general-purpose computation.
3386 </p><p>
3387 Current APIs permit specification of the programs for GPUs
3388 using an assembly-language level interface.  Compilers for high-level 
3389 shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and 
3390 DirectX will also include standardized shading languages.  This talk will 
3391 review these.  However, compilers for these languages read in an external 
3392 string specification, which can be inconvenient.   
3393 </p><p>
3394 However, it is possible, using standard C++, to define a high-level
3395 shading language directly in the API.  Such a language can be nearly
3396 indistinguishable from a special-purpose programming language, yet  
3397 permits more direct interaction with the specification of textures 
3398 (arrays) and parameters, simplifies implementation, and enables
3399 on-the-fly generation, manipulation, and specialization of shader programs.
3400 A shading language built into the API also permits the lifting of
3401 C++ host language type, modularity, and scoping constructs into the shading
3402 language without any additional implementation effort.   Such an
3403 embedded language could be used to program other embedded processors
3404 (such as DSP chips in sound cards) or even to generate machine language
3405 on the fly for the host CPU.
3406 </p>
3407     </abstract>
3408   </eventitem>
3409
3410   <eventitem date="2002-11-16" time="1:30pm" room="York University"
3411   title="Trip to York University">
3412     <short>Going to visit the York University Computer Club</short>
3413     <abstract><p>YUCC and the UW CSC have having a join meeting at York 
3414 University.  Dave Makalsky, the President of YUCC, will be giving a talk on 
3415 Design-by-constract and Eiffel.  Stefanus Du Toit, Vice-President of the UW 
3416 CSC, will be giving a talk on the evil depths of the black art known as C++.
3417 </p><p>Schedule</p>
3418 <ul><li>1:30pm: Leave UW</li>
3419 <li>3:00pm: Arrive at York University.</li>
3420 <li>3:30pm: The Evil side of C++</li>
3421 <li>4:30pm: Design-by-Contract and Eiffel</li>
3422 <li>6:00pm: Dinner</li>
3423 <li>9:00pm: Arrive back at UW</li>
3424 </ul>
3425 </abstract>
3426   </eventitem>
3427
3428   <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
3429   title="Perl 6">
3430     <short>A talk by Simon Law</short>
3431     <abstract>
3432       <p>
3433         Perl, the Practical Extraction and Reporting Language can only
3434         be described as an eclectic language, invented and refined by
3435         a deranged system administrator, who was trained as a
3436         linguist.  This man, however, has declared:
3437       </p>
3438       <blockquote>
3439         <i>
3440           Perl 5 was my rewrite of Perl.
3441           I want Perl 6 to be the community's rewrite of Perl and of the
3442           community.
3443         </i><br/>--- Larry Wall
3444       </blockquote>
3445       <p>
3446         Whenever a language is designed by a committee, it is common
3447         wisdom to avoid it.  Not so with Perl, for it cannot get
3448         worse.  However strange these Perl people seem, Perl 6 is a
3449         good thing coming.  In this talk, I will demonstrate some Perl
3450         5 programs, and talk about their Perl 6 counterparts, to show
3451         you that Perl 6 will be cleaner, friendlier, and prettier.
3452       </p>
3453     </abstract>
3454   </eventitem>
3455
3456   <eventitem date="2002-11-21" time="4:30pm" room="MC2066"
3457    title="Samba and You">
3458     <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
3459     <abstract><p>
3460 Samba is a free implementation of the Server Message Block (SMB)
3461 protocol. It also implements the Common Internet File System (CIFS)
3462 protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
3463 printers. </p><p>
3464 SMB was originally developed in the early to mid-80's by IBM and was
3465 further improved by Microsoft, Intel, SCO, Network Appliances, Digital
3466 and many others over a period of 15 years. It has now morphed into CIFS,
3467 a form strongly influenced by Microsoft. </p><p>
3468 Samba is considered to be one of the key projects for the acceptance of
3469 GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
3470 corporate world: a traditional Windows NT/2000 stronghold. </p><p>
3471 We will talk about interfacing Samba servers and desktops with the
3472 Windows world.  From a simple GNU/Linux desktop in your home to the
3473 corporate server that provides collaborative file/printer sharing,
3474 logons and home directories to hundreds of users a day. </p>
3475     </abstract>
3476   </eventitem>
3477
3478   <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
3479   title="GNU/Linux on HPPA">
3480     <short>Carlos O'Donnell talks about &quot;the last of the legacy processors to fall before the barbarian horde&quot;</short>
3481     <abstract>
3482 <p>This whirlwind talk is aimed at providing an overview of the
3483 GNU/Linux port for the HP PARISC processor. The talk will focus on
3484 the &quot;intricacies&quot; of the processor, and in particular the
3485 implementations of the Linux kernel and GNU Libc. After the talk
3486 you should be acutely aware of how little code needs to be written
3487 to support a new architecture! Carlos has been working on the port
3488 for two years, and enjoying the fruits of his labour on a 46-node
3489 PARISC cluster.</p>
3490
3491 <hr />
3492 <p>
3493 Carlos is currently in his 5th year of study at the University
3494 of Western Ontario. This is his last year in a concurrent
3495 Computer Engineering and Computer Science degree. His research
3496 interest range from distributed and parallel systems to low
3497 level optimized hardware design. He likes playing guitar and
3498 just bought a Cort NTL-20, jumbo body, solid spurce top with
3499 a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
3500 GNU Debugger, GNU Binutils and various Debian packages.
3501 </p>
3502
3503
3504 </abstract>
3505   </eventitem>
3506
3507   <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
3508   title="The Hurd Interfaces">
3509     <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
3510     <abstract>
3511 <p>The Hurd server interfaces are at the heart of the Hurd system.  They
3512  define the remote procedure calls (RPCs) that are used by the servers, the
3513  GNU C library and the utility programs to communicate with the Hurd system
3514  and to implement the POSIX personality of the Hurd as well as other
3515  features.</p>
3516
3517 <p>This talk is a walk through the Hurd RPCs, and will give an overview of how
3518  they are used to implement the system.  Individual RPCs will be used to
3519  illustrate important or exciting features of the Hurd system in general,
3520  and it will be shown how those features are accessible to the user at the
3521  command line, too.</p>
3522
3523  <hr />
3524
3525  <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
3526  Germany.  He is one of maintainers of the GNU Hurd project and the
3527  initiator of the Debian GNU/Hurd binary distribution.  He designed and
3528  implemented the console subsystem of the Hurd, wrote the FAT filesystem
3529  server, and fixed a lot of bugs, thus increasing the stability and
3530  usability of the system.</p>
3531
3532     </abstract>
3533   </eventitem>
3534
3535   <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
3536   title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
3537     <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
3538     <abstract>
3539 <p>Virtual memory management is one of the cornerstones of multiuser
3540 operating systems.  Most systems available today place all of the
3541 policy in a monolithic virtual memory manager, VMM, isolated from the
3542 rest of the system.  Although secure and lightweight, users have no
3543 way to communicate their anticipated memory needs and usage to the
3544 system pager.  As a result, the VMM can only implement a global paging
3545 policy (typically, an approximation of LRU) which may be good on
3546 average but is best for nobody.</p>
3547
3548 <p>With the port of Hurd to the L4 microkernel, this situation is being
3549 readdressed.  Due to its more distributed nature, a centralized
3550 resource manager is not only more difficult to implement efficiently
3551 but also contrary to the philosophy of the rest of the system.  We are
3552 currently exploring a model whereby each program is fully self-paged
3553 and all compete for memory from a physical memory server.  This talk
3554 will first discuss how paging currently works in Mach and other
3555 systems.  An argument for an external paging policy will then be
3556 presented followed by the requirements of such a design and the design
3557 itself.</p>
3558
3559 <hr />
3560
3561 <p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
3562 Lowell.  Neal spent the summer of 2002 at University of Karlsruhe working
3563 on porting the GNU Hurd to L4.</p>
3564
3565     </abstract>
3566   </eventitem>
3567
3568   <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
3569   title="Debian in the Enterprise">
3570     <short>A talk by Simon Law</short>
3571     <abstract>
3572 <p>The Debian Project produces a &quot;Universal Operating System&quot; that is
3573 comprised entirely of Free Software.  This talk focuses on using Debian
3574 GNU/Linux in an enterprise environment.  This includes:</p>
3575 <ul>
3576   <li>Where Debian can be deployed</li>
3577   <li>Strategic advantages of Debian</li>
3578   <li>Ways for business to give back to Debian</li>
3579 </ul>
3580    </abstract>
3581   </eventitem>
3582
3583   <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
3584   title="Automatic Memory Management and Garbage Collection">
3585     <short>A talk by James A. Morrison</short>
3586     <abstract>
3587 <p>
3588   Do you ever wonder what java is doing while you wait?  Have you ever used
3589 Modula-3?  Do you wonder how lazily you can Mark and Sweep?  Would you like to
3590 know how to Stop-and-Copy?
3591 </p><p>
3592  Come out to this talk and learn these things and more.  No prior knowledge of
3593 Garbage Collection or memory management is needed.
3594 </p>
3595    </abstract>
3596   </eventitem>
3597
3598 </eventdefs>
3599