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