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