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