new exec
[www/www.git] / events.xml
1 <eventdefs>
2
3 <!-- Spring 2003 -->
4
5 <eventitem date="2003-05-14" time="4:30 PM" room="MC3001 Comfy Lounge"
6  title="Spring 2003 Elections">
7  <short>Come on out and vote for your exec!</short>
8  <abstract>
9 <p>Elections will be held on Wednesday, May 14, 2003 at 4:30 PM in the
10 Comfy Lounge, MC3001.</p>
11
12 <p>I invite you to nominate yourself or others for executive positions,
13 starting immediately. Simply e-mail me at sjdutoit@uwaterloo.ca or
14 cro@csclub.uwaterloo.ca with the name of the person who is to be
15 nominated and the position they're nominated for.</p>
16
17 <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
18
19 <p>Positions open for elections are:</p>
20
21 <ul>
22 <li>
23 President: Organises the club, appoints committees, keeps everyone busy.
24 If you have lots of ideas about the club in general and like bossing
25 people around, go for it!
26 </li>
27
28 <li>
29 Vice President: Organises events, acts as the president if he's not
30 available. If you have lots of ideas for events, and spare time, go
31 for it!
32 </li>
33
34 <li>
35 Treasurer: Keeps track of the club's finances. Gets to sign cheques
36 and stuff. If you enjoy dealing with money and have ideas on how to
37 spend it, go for it!
38 </li>
39
40 <li>
41 Secretary: Takes care of minutes and outside correspondence. If you
42 enjoy writing things down and want to use our nifty new letterhead
43 style, go for it!
44 </li>
45 </ul>
46
47 <p>Nominations will be accepted until Tuesday, May 13 at 4:30 PM.</p>
48
49 <p>Additionally, a Sysadmin will be appointed after the elections. If you
50 like working with unix systems and have experience setting up and
51 maintaining them, go for it!</p>
52
53 <p>I hope that lots of people will show up; hopefully we'll have a great
54 term with plenty of events. We always need other volunteers, so if you
55 want to get involved just talk to the new exec after the
56 meeting. Librarians, webmasters, poster runners, etc. are always
57 sought after!</p>
58
59 <p>There will also be free pop, and if I remember, timbits :).</p>
60
61 <p>Memberships can be purchased at the elections. Only undergrad math
62 members can vote, but anyone can become a member.</p>
63
64 <p>Don't forget! Mark it on your calendar/wrist watch/PDA/brain implant!</p>
65
66  </abstract>
67 </eventitem>
68
69 <!-- Winter 2003 -->
70
71   <eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
72    title="Unix 101 Tutorial">
73   <short>Learn Unix and be the envy of your friends!</short>
74   <abstract> 
75
76   <p>This is the first in a series of seminars that cover the use of the
77   UNIX Operating System.  UNIX is used in a variety of applications, both
78   in academia and industy. We will provide you with hands-on experience
79   with the Math Faculty's UNIX environment in this seminar.</p> 
80
81   <p>Topics that will be discussed include:</p>
82
83   <ul>
84   <li> Navigating the UNIX environment</li>
85   <li> Using common UNIX commands</li>
86   <li>Using the PICO text editor</li>
87   <li>Reading electronic mail and news with PINE</li>
88   </ul>
89
90   <p>If you do not have a Math computer account, don't panic; one will be lent
91   to you for the duration of this class.</p>  
92
93   </abstract>
94   </eventitem>
95
96   <eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
97    title="Unix 102 Tutorial">
98   <short>Learn more Unix and be the envy of your friends!</short>
99   <abstract> 
100
101   <p>Abstract to come soon.</p>
102
103   </abstract>
104   </eventitem>
105
106   <eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
107    title="Unix 103 Tutorial">
108   <short>Learn more Unix and be the envy of your friends!</short>
109   <abstract> 
110
111   <p>Abstract to come soon. </p>
112
113   </abstract>
114   </eventitem>
115
116   <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
117     title="W03 Elections">
118     <short>Come out and vote for the new exec!</short>
119    <abstract>
120
121 <p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
122 MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
123 January 2) until 4:30 PM of the day before elections (Sunday, January 12).
124 In order to nominate someone you can either e-mail me directly, by depositing
125 a form with the required information in the CSC mailbox in the Mathsoc office
126 or by writing the nomination and clearly marking it as such on the large
127 whiteboard in the CSC office. E-mail is probably the best choice.
128 Please include the name of the person to be nominated as well as the position
129 you wish to nominate them for.</p>
130
131 <p>Candidates must be full members of the club. This means they must have paid
132 their membership for the given term and (due to recent changes in the
133 constitution) must be full-time undergraduate math students.
134 The same requirements hold for those voting. Please bring your Watcard to
135 the elections so that I can verify this. I will have a list of members with
136 me also.</p>
137
138 <p>The positions open are:</p>
139
140 <p><b>President</b> -- appoints all commitees of the club, calls and presides at all
141 meetings of the club and audits the club's financial records. Really, this
142 is the person in charge.</p>
143
144 <p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
145 plans and coordinates events with the programmes committee and assumes any
146 other duties delegated by the President.
147 This is a really fun job if you enjoy coordinating events!</p>
148
149 <p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
150 A fairly light job, good choice if you just want to see what being an exec
151 is all about.</p>
152
153 <p><b>Treasurer</b> -- maintains all the finances of the club.
154 If you like money and keeping records, this is the job for you!</p>
155
156 <p>Additionally a Systems Administrator will be picked by the new executive.</p>
157
158 <p>Last term was a great term for the CSC -- many events, some office renovations
159 and a much improved image were all part of it. I hope to see the next term's
160 exec continue this. If you're interested in seeing this happen, do consider
161 going for a position, or helping out as office staff or on one of the
162 committees.</p>
163
164 <p>Anyways, hopefully I'll see many of you at the elections.
165 Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
166
167 <p>If you have any further questions don't hesitate to contact the CRO,
168       Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
169     </abstract>
170   </eventitem>
171
172   <eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
173     title="Regular Expressions">
174     <short>Find your perfect match</short>
175     <abstract>
176
177     <p>Stephen Kleene developed regular expressions to describe what he
178     called <q>the algebra of regular sets.</q>  Since he was a pioneering
179     theorist in computer science, Kleene's regular expressions soon made
180     it into searching algorithms and from there to everyday tools.</p>
181
182     <p>Regular expressions can be powerful tools to manipulate text.
183     You will be introduced to them in this talk.  As well, we will go
184     further than the rigid mathematical definition of regular
185     expressions, and delve into POSIX regular expressions which are
186     typically available in most Unix tools.</p>
187
188     </abstract>
189   </eventitem>
190
191   <eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
192     title="sed &amp; awk">
193     <short>Unix text editing</short>
194     <abstract>
195
196     <p><i>sed</i> is the Unix stream editor.  A powerful way to
197     automatically edit a large batch of text.  <i>awk</i> is a
198     programming language that allows you to manipulate structured data
199     into formatted reports.</p>
200
201     <p>Both of these tools come from early Unix, and both are still
202     useful today.  Although modern programming languages such as Perl,
203     Python, and Ruby have largely replaced the humble <i>sed</i> and
204     <i>awk</i>, they still have their place in every Unix user's
205     toolkit.</p>
206
207     </abstract>
208   </eventitem>
209
210   <eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
211     title="LaTeX: A Document Processor">
212     <short>Typesetting beautiful text</short>
213     <abstract>
214
215     <p>Unix was one of the first electronic typesetting platforms.  The
216     innovative AT&amp;T <i>troff</i> system allowed researches at Bell
217     Labs to generate high quality camera-ready proofs for their papers.
218     Later, Donald Knuth invented a typesetting system called
219     T<small>E</small>X, which was far superior to other typesetting
220     systems in the 1980s.  However, it was still a typesetting language,
221     where one had to specify exactly how text was to be set.</p>
222
223     <p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
224     for the T<small>E</small>X system that allows an author to describe
225     his document's function, thereby typesetting the text in an
226     attractive and correct way.  In addition, one can define semantic
227     tags to a document, in order to describe the meaning of the
228     document; rather than the layout.</p>
229
230     </abstract>
231   </eventitem>
232
233   <eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
234     title="LaTeX: Reports">
235     <short>Writing reports that look good.</short>
236     <abstract>
237
238     <p>Work term reports, papers, and other technical documents can be
239     typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
240     effect.  In this session, I will provide examples on how to typeset
241     tables, figures, and references.  You will also learn how to make
242     tables of contents, bibliographics, and how to create footnotes.</p>
243
244     <p> I will also examine various packages of 
245     L<sup><small>A</small></sup>T<small>E</small>X that can help you 
246     meet requirements set by users of inferior typesetting systems.  
247     These include double-spacing, hyphenation and specific margin 
248     sizes.</p>
249
250     </abstract>
251   </eventitem>
252
253   <eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
254     title="LaTeX: Beautiful Mathematics">
255     <short>LaTeX =&gt; fun</short>
256     <abstract>
257
258     <p>It is widely acknowledged that the best system by which to
259     typeset beautiful mathematics is through the T<small>E</small>
260     typesetting system, written by Donald Knuth in the early 1980s.</p>
261
262     <p>In this talk, I will demonstrate
263     L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
264     elegant mathematical expressions.</p>
265
266     </abstract>
267   </eventitem>
268
269   <eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
270     title="The BSD License Family">
271     <short>Free for all</short>
272     <abstract>
273
274     <p>Before the GNU project ever existed, before the phrase
275     "Free Software" was ever coined, students and researchers
276     at the University of California, Berkeley were already
277     practising it.  They had acquired the source cdoe to a
278     little-known operating system developed at AT&amp;T
279     Bell Laboratories, and were creating improvments at a
280     ferocious rate.</p>
281
282     <p>These improvements were sent back to Bell Labs, and
283     shared to other Universities.  Each of them were licensed
284     under what is now known as the "Original BSD license".  Find
285     out what this license means, its implications, and what are
286     its decendents by attending this short talk.</p>
287
288     </abstract>
289   </eventitem>
290
291   <eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
292     title="The GNU General Public License">
293     <short>The teeth of Free Software</short>
294     <abstract>
295
296     <div style="font-style: italic"><blockquote>
297       The licenses for most software are designed to take away your
298       freedom to share and change it. By contrast, the GNU General
299       Public License is intended to guarantee your freedom to share and
300       change free software---to make sure the software is free for all
301       its users.
302       <br />
303       <div style="text-align:right">--- Excerpt from the GNU GPL</div>
304     </blockquote></div>
305     
306     <p> The GNU General Public License is one of the most influencial
307     software licenses in this day.  Written by Richard Stallman for the
308     GNU Project, it is used by software developers around the world to
309     protect their work.</p>
310
311     <p>Unfortunately, software developers do not read licenses
312     thoroughly, nor well.  In this talk, we will read the entire GNU GPL
313     and explain the implications of its passages.  Along the way, we
314     will debunk some myths and clarify common misunderstandings.</p>
315
316     <p>After this session, you ought to understand what the GNU GPL
317     means, how to use it, and when you cannot use it.  This session
318     should also give you some insight into the social implications of
319     this work.</p>
320
321     </abstract>
322   </eventitem>
323
324   <eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
325     title="XML">
326     <short>Give your documents more markup</short>
327     <abstract>
328
329     <p>XML is the <q>eXtensible Markup Language,</q> a standard
330     maintained by the World Wide Web Consortium.  A descendant of IBM's
331     SGML.  It is a metalanguage which can be used to define markup
332     languages for semantically describing a document.</p>
333
334     <p>This talk will describe how to generate correct XML documents,
335     and auxillary technologies that work with XML.</p>
336
337     </abstract>
338   </eventitem>
339
340   <eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
341     title="XSLT">
342     <short>Transforming your documents</short>
343     <abstract>
344
345     <p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
346     a language for transforming XML documents into other XML
347     documents.</p>
348
349     <p>XSLT is used to manipulate XML documents into other forms: a sort
350     of glue between data formats.  It can turn an XML document into an
351     XHTML document, or even an HTML document.  With a little bit of
352     hackery, it can even be convinced to spit out non-XML conforming
353     documents.</p>
354
355     </abstract>
356   </eventitem>
357
358   <eventitem date="2003-03-24" time="8:00 PM" 
359     room="Humanities Theatre, Hagey Hall"
360     title="Judy, or What Is It Like To Be A Robot?">
361     <short>Held in co-operation with the UW Cognitive Science Club</short>
362     <abstract>
363
364     <p>A lot of claims have been made lately about the intelligence of 
365     computers.  Some researchers say that computers will eventually attain 
366     super-human intelligence.  Others call thse claims... um, poppycock.  
367     Oddly enough, in the search for the truth of the matter, both camps 
368     have overlooked an obvious strategy: interviewing a computer and asking 
369     her opinion.</p>
370
371     <p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and 
372     lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>
373
374     <p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
375     imagination stretcher that delights while it exercises your mind.  If you
376     think you can't imagine a conscious robot, you're wrong---you can,
377     especially once you've met Judy." --- Daniel C. Dennett,
378     author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
379     &amp;c.</p>
380
381     <p>"...an engrossing evening...  Real questions about 
382     consciousness, freedom to act, the relationship between the creator 
383     and the created are woven into a bravura performance." --- Will 
384     Stackman, <i>Aislesay.com</i></p>
385
386     <p>Sponsored by the Mathematics Society, the Federation of Students, the
387     Arts Student Union, the Graduate Student Association, and the Department of
388     Philosophy. Tickets available at the Humanities box office (888-4908) and
389     the offices of the Psychology Society and the Computer Science Club for
390     $5.50.  For
391     more information: <a
392     href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>
393
394     </abstract>
395   </eventitem>
396
397   <eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
398     title="Stream Processing">
399     <short>A talk by Assistant Professor Michael McCool</short>
400     <abstract>
401
402     <p>Stream processing is an enhanced version of SIMD processing that
403     permits efficient execution of conditionals and iteration.  Stream
404     processors have many similarities to GPUs, and a hardware prototype,
405     the Imagine processor, has been used to implement both OpenGL and
406     Renderman.</p>
407
408     <p>It is possible that GPUs will acquire certain properties
409     of stream processors in the future, which should make them easier
410     to use and more efficient for general-purpose computation that includes
411     data-dependent iteration and conditionals.</p>
412
413     </abstract>
414   </eventitem>
415
416   <eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
417     title="Abusing the C++ Compiler">
418     <short>Abusing template metaprogramming in C++</short>
419     <abstract>
420
421     <p>Templates are a useful feature in C++ when it comes to writing
422     type-independent data structures and algorithms.  But that's not all
423     they can be used for.  Essentially, it is possible to write certain
424     programs in C++ that execute completely at compile-time rather
425     than run-time.  Combined with some optimisations this is an interesting
426     twist on regular C++ programming.</p>
427
428     <p>This talk will give a short overview of the features of templates
429     and then go on to describe how to "abuse" templates to perform complex
430     computations at compile time. The speaker will present three programs of
431     increasing complexity which execute at compile time. First a factorial
432     listing program, then a prime listing program will be presented. Finally
433     the talk will conclude with the presentation of a <i>Mandelbrot
434     generator running at compile time.</i></p>
435
436     <p>Some basic knowledge of C++ will be assumed.</p>
437
438     </abstract>
439   </eventitem>
440
441   <eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
442     title="SSH and Networks">
443     <short>Once more into the breach</short>
444     <abstract>
445
446     <p>The Secure Shell (SSH) has now replaced traditional remote login
447     tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
448     <i>telnet</i>.  It is used to provide secure, authenticated,
449     encrypted communications between remote systems.  However, the SSH
450     protocol provides for much more than this.</p>
451
452     <p>In this talk, we will discuss using SSH to its full extent.  Topics
453     to be covered include:</p>
454     <ul>
455       <li>Remote logins</li>
456       <li>Remote execution</li>
457       <li>Password-free authentication</li>
458       <li>X11 forwarding</li>
459       <li>TCP forwarding</li>
460       <li>SOCKS tunnelling</li>
461     </ul>
462
463     </abstract>
464   </eventitem>
465
466   <!-- Fall 1994 -->
467         <eventitem
468          date="1994-09-13" time="9:00 PM"
469          room="Princess Cinema"
470          title="Movie Outing: Brainstorm">
471                 <short>
472                         No description available.
473                 </short>
474                 <abstract>
475                         <p>
476                         The first of this term's CSC social events, we will be going to see
477                         the movie ``Brainstorm'' at the Princess Cinema. This outing is
478                         intended primarily for the new first-year students.
479                         </p>
480                         <p>
481                         The Princess Cinema is Waterloo's repertoire theatre. This month
482                         and next, they are featuring a ``Cyber Film Festival''. Upcoming
483                         films include:
484                         </p>
485                         <ul>
486                                 <li>Brazil</li>
487                                 <li>Bladerunner (director's cut)</li>
488                                 <li>2001: A Space Odyssey</li>
489                                 <li>Naked Lunch</li>
490                         </ul>
491                         <p>
492                         Admission is $4.25 for a Princess member, $7.50 for a non-member.
493                         Membership to the Princess is $7.00 per year. 
494                         </p>
495                 </abstract>
496         </eventitem>
497         <eventitem
498          date="1994-09-16" time="4:30 PM"
499          room="MC 4040"
500          title="CSC Elections">
501                 <short>No description available</short>
502                 <abstract>No abstract available</abstract>
503         </eventitem>
504         <eventitem
505          date="1994-09-19" time="4:30 PM"
506          room="MC 3022"
507          title="UNIX I Tutorial">
508                 <short>No description available</short>
509                 <abstract>No abstract available</abstract>
510         </eventitem>
511         <eventitem
512          date="1994-09-21" time="6:30 PM"
513          room="DC 1302"
514          title="SIGGRAPH Video Night">
515                 <short>No description available</short>
516                 <abstract>No abstract available</abstract>
517         </eventitem>
518         <eventitem
519          date="1994-09-22" time="4:30 PM"
520          room="MC 3022"
521          title="UNIX I Tutorial">
522                 <short>No description available</short>
523                 <abstract>No abstract available</abstract>
524         </eventitem>
525         <eventitem
526          date="1994-09-26" time="4:30 PM"
527          room="MC 3022"
528          title="UNIX II Tutorial">
529                 <short>No description available</short>
530                 <abstract>No abstract available</abstract>
531         </eventitem>
532         <eventitem
533          date="1994-10-13" time="5:00 PM"
534          room="DC 1302"
535          title="Prograph: Picture the Future">
536                 <short>No description available</short>
537                 <abstract>
538                         <p>
539                         What is the next step in the evolution of computer languages?
540                         Intelligent agents? Distributed objects? or visual languages?
541                         </p>
542                         <p>
543                         Visual languages overcome many of the drawbacks and limitations
544                         of the textual languages that software development is based on
545                         today. Do you think about programming in a linear fashion? Or do
546                         you draw a mental picture of your algorithm and then linearize it
547                         for the benefit of your compiler? Wouldn't it be nice if you could
548                         code the same way you think?
549                         </p>
550                         <p>
551                         Visual C++ and Visual BASIC aren't visual languages, but Prograph
552                         is. Prograph is a commercially available, visual, object-oriented,
553                         data-flow language. It is well suited to graphical user interface
554                         development, but is as powerful for general-purpose programming as
555                         any textual language.
556                         </p>
557                         <p>
558                         The talk will comprise a discussion of the problems of textual
559                         languages that visual languages solve, a live demonstration of
560                         Prograph, and some of my observations of the applications of
561                         Prograph to software development.
562                         </p>
563                 </abstract>
564         </eventitem>
565         <eventitem
566          date="1994-10-15" time="10:00 AM"
567          room="MC 3022"
568          title="ACM-Style Programming Contest">
569                 <short>No description available</short>
570                 <abstract>
571                         <h3>Big Money and Prizes!</h3>
572                         <p>
573                         So you think you're a pretty good programmer? Pit your skills
574                         against others on campus in this triannual event! Contestants will
575                         have three hours to solve five programming problems in either C or
576                         Pascal.
577                         </p>
578                         <p>
579                         Last fall's winners went on to the International Finals and came
580                         first overall! You could be there, too!
581                         </p>
582                 </abstract>
583         </eventitem>
584         <eventitem
585          date="1994-10-20" time="4:30 PM"
586          room="MC 3009"
587          title="Exploring the Internet">
588                 <short>No description available</short>
589                 <abstract>
590                         <h3>Need something to do between assignments/beers?</h3>
591                         <p>
592                          Did you know that your undergrad account at Waterloo gives you
593                          access tothe world's largest computer network? With thousands
594                          of discussion groups, gigabytes of files to download, multimedia
595                          information browsers, even on-line entertainment?
596                         </p>
597                         <p>
598                         The resources available on the Internet are vast and wondrous, but
599                         the tools for navigating it are sometimes confusing and arcane. In
600                         this hands-on tutorial you will get the chance to get your feet wet
601                         with the world's most mind-bogglingly big computer network, the
602                         protocols and programs used, and how to use them responsibly and
603                         effectively. 
604                         </p>
605                 </abstract>
606         </eventitem>
607         <eventitem
608          date="1994-11-02" time="4:30 PM"
609          room="MC 2038"
610          title="Game Theory">
611                 <short>No description available</short>
612                 <abstract>
613                         <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
614                         <p>
615                          This will be a descussion of the pitfalls of using mathematics and
616                          algorithms to play classical board games. Thorough descriptions
617                          shall be presented of the simple techniques used as the building
618                          blocks that make all modern computer game players. I will use
619                          tic-tac-toe as a control for my arguements. Other games such as
620                          Chess, Othello and Go shall be the be a greater measure of progress;
621                          and more importantly the targets of our dreams.
622                          </p>
623                         <p>
624                          To enhance the discussion of the future, Barney Pell's Metagamer
625                          shall be introduced. His work in define classes of games is
626                          important in identifying the features necessary for analysis. 
627                          </p>
628                 </abstract>
629         </eventitem>
630
631   <!-- Fall 1999 -->
632
633   <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
634   title="Living Laboratories: The Future Computing Environments at
635   Georgia Tech">
636     <short>By Blair MacIntyre and Elizabeth Mynatt</short>
637     <abstract>
638       <p>by   Blair MacIntyre and Elizabeth Mynatt</p>
639       <p>The Future Computing Environments (FCE) Group at Georgia Tech
640         is a collection of faculty and students that share a desire to
641         understand the partnership between humans and technology that
642         arises as computation and sensing become ubiquitous.  With
643         expertise covering the breadth of Computer Science, but
644         focusing on HCI, Computational Perception, and Machine
645         Learning, the individual research agendas of the FCE faculty
646         are grounded in a number of shared "living laboratories" where
647         their research is applied to everyday life in the classroom
648         (Classroom 2000), the home (the Aware Home), the office
649         (Augmented Offices), and on one's person.  Professors
650         MacIntyre and Mynatt will discuss a variety of these projects,
651         with an emphasis on the HCI and Computer Science aspects of
652         the FCE work.
653       </p>
654       <p>
655         In addition to their affiliation with the FCE group,
656         Professors Mynatt and MacIntyre are both members of the
657         Graphics, Visualization and Usability Center (GVU) at Georgia
658         Tech.  This interdisciplinary center brings together research
659         in computer science, psychology, industrial engineering,
660         architecture and media design by examining the role of
661         computation in our everyday lives.  During the talk, they will
662         touch on some of the research and educational opportunities
663         available at both GVU and the College of Computing.
664       </p>
665     </abstract>
666   </eventitem>
667
668   <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
669   title="GDB, Purify Tutorial">
670     <short>No description available.</short>
671     <abstract>
672       <p>
673        Debugging can be the most difficult and time consuming part of
674        any program's life-cycle. Far from an exact science, it's more
675        of an art ... and close to some kind of dark magic. Cryptic
676        error messages, lousy error checking, and icky things like
677        implicit casts can make it nearly impossible toknow what's
678        going on inside your program.
679       </p>
680       <p>
681          Several tools are available to help automate your
682          debuggin. GDB and Purify are among the most powerful
683          debugging tools available in a UNIX environment. GDB is an
684          interactive debugger, allowing you to `step' through
685          aprogram, examine function calls, variable contents, stack
686          traces and let you look at the state of a program after it
687          crashes. Purify is a commercial program designed to help find
688          and remove memory leaks from programs written inlanguages
689          without automatic garbage collection.
690       </p>
691       <p>
692         This talk will cover how to compile your C and C++ programs
693         for use with GDB and Purify, as well as how to use the
694         available X interfaces. If a purify license is available on
695         undergrad at the time of the talk, we will cover how to use it
696         during runtime.
697       </p>
698     </abstract>
699   </eventitem>
700
701   <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
702     title="Homebrew Processors and Integrated Systems in FPGAs">
703     <short>By Jan Gray</short>
704     <abstract>
705       <p>by Jan Gray</p>
706       
707       <p> With the advent of large inexpensive field-programmable gate
708       arrays and tools it is now practical for anyone to design and
709       build custom processors and systems-on-a-chip. Jan will discuss
710       designing with FPGAs, and present the design and implementation
711       of xr16, yet another FPGA-based RISC computer system with
712       integrated peripherals.</p>
713
714       <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
715       compilers, tools, and middleware at Microsoft from 1987-1998. He
716       built the first 32-bit FPGA CPU and system-on-a-chip in
717       1995. </p>
718     </abstract>
719   </eventitem>
720
721   <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
722     title="Ctrl-D">
723     <short>End-of-term dinner</short> 
724     <abstract>
725       No abstract available.
726     </abstract>
727   </eventitem>
728
729   <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
730     title="Calculational Mathematics">
731     <short>By Edgar Dijkstra</short>
732     <abstract>
733       <p> By Edgar Dijkstra</p>
734
735       <p> This  talk will use  partial orders, lattice theory,  and, if
736       time permits,  the Galois  connection as carriers  to illustrate
737       the use of  calculi in mathematics. We hope  to show the brevity
738       of  many calculations  (in order  tofight the  superstition that
739       formal  proofs  are  necessarily  unpractically long),  and  the
740       strong   heuristic  guidance   that  is   available   for  their
741       design. </p>
742
743       <p> Dijkstra is known for early graph-theoretical algorithms,
744       the first implementation of ALGOL 60, the first operating system
745       composed of explicitly synchronized processes, the invention of
746       guarded commands and of predicate transformers as a means for
747       defining semantics, and programming methodology in the broadest
748       sense of the word. </p>
749
750       <p> His current research interests focus on the formal
751       derivation of proofs and programs, and the streamlining of the
752       mathematical argument in general.</p>
753      
754       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
755       Sciences at The University of Texas at Austin until retiring in
756       October. </p>
757
758     </abstract>
759   </eventitem>
760
761   <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
762   St Jerome's" title="Proofs and Programs">
763     <short>By Edsger Dijkstra</short>
764     <abstract>
765       <p> This talk will show the use of programs for the proving of
766       theorems. Its purpose is to show how our experience gained in
767       the derivations of programs might be transferred to the
768       derivation of proofs in general. The examples will go beyond the
769       (traditional) existence theorems. </p>
770
771       <p> Dijkstra is known for early graph-theoretical algorithms,
772       the first implementation of ALGOL 60, the first operating system
773       composed of explicitly synchronized processes, the invention of
774       guarded commands and of predicate transformers as a means for
775       defining semantics, and programming methodology in the broadest
776       sense of the word. </p>
777
778       <p> His current research interests focus on the formal
779       derivation of proofs and programs, and the streamlining of the
780       mathematical argument in general.</p>
781      
782       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
783       Sciences at The University of Texas at Austin until retiring in
784       October. </p>
785
786     </abstract>
787   </eventitem>
788
789   <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
790     title="Open Q&amp;A session">
791     <short>By Edsger Dijkstra</short>
792     <abstract>No description available.</abstract>
793   </eventitem>
794
795   <!-- Winter 2000 -->
796
797   <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
798   title="Enterprise Java APIs and Implementing a Web Portal">
799     <short>No description available.</short>
800     <abstract>
801       <h3>by Floyd Marinescu
802       </h3>
803       
804       <p>
805         The first talk will be an introduction to the Enterprise Java
806         API's: Servlets, JSP, EJB, and how to use them to build
807         eCommerce sites.
808       </p>
809
810       <p>
811         The second talk will be about how these technologies were used
812         to implement a real world portal.  The talk will include an
813         overview of the design patterns used and will feature
814         architectural information about the yet to be release portal
815         (which I am one of the developers) called theserverside.com.
816       </p>
817     </abstract>
818   </eventitem>
819
820   <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
821     title="Enterprise Java APIs and Implementing a Web Portal (1)">
822     <short>No description available.</short>
823     <abstract>
824       <p>Real World J2EE - Design Patterns and architecture behind the
825         yet to be released J2EE portal: theserverside.com</p>
826
827       <p>This talk will feature an exclusive look at the architecture
828         behind the new J2EE portal: theserverside.com.  Join Floyd
829         Marinescu in a walk-through ofthe back-end of the portal,
830         while learning about J2EE and its real world patterns,
831         applications, problems and benefits.</p>
832     </abstract>
833   </eventitem>
834
835   <!-- Spring 2000 -->
836
837   <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
838   House, 130 King Street S, Waterloo" title="Ctrl-D">
839     <short>End-of-term dinner</short>
840     <abstract>No abstract available.</abstract>
841   </eventitem>
842
843   <!-- Fall 2000 -->
844
845   <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
846     title="CSC Elections">
847     <short>Fall 2000 Elections for the CSC.</short>
848     <abstract>
849       <p>
850         Would you like to get involved in the CSC? Would you like to have a
851         say in what the CSC does this term?  Come out to the CSC Elections!
852         In addition to electing the executive for the Fall term, we will be
853         appointing office staff and other positions.  Look for details in
854         uw.csc.
855       </p>
856
857       <p>Nominations for all positions are being taken in the CSC office, MC
858         3036.</p>
859     </abstract>
860   </eventitem>
861
862   <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
863     title="SIGGraph Video Night">
864     <short> SIGGraph Video Night Featuring some truly awesome computer
865     animations from Siggraph '99. </short>
866     <abstract>
867       <p> Interested in Computer Graphics?
868       </p>
869       
870       <p> Enjoy watching state-of-the-art Animation?
871       </p>
872       
873       <p> Looking for a cheap place to take a date?
874       </p>
875       
876       <p> SIGGraph Video Night -
877         Featuring some truly awesome computer animations from Siggraph '99.
878       </p>
879
880       <p>Come out for the Computer Science Club general elections at 6:00
881         pm, right before SIGGraph!</p>
882       </abstract>
883   </eventitem>
884
885  <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
886     title="Realising the Next Generation Internet">
887     <short>By Frank Clegg of Microsoft Canada</short>
888     <abstract>
889 <h3>Vitals</h3>
890 <dl>
891 <dt>By</dt>
892 <dd>Frank Clegg</dd>
893 <dd>President, Microsoft Canada</dd>
894 <dt>Date</dt>
895
896 <dd>Monday, September 25, 2000</dd>
897 <dt>Time</dt>
898 <dd>14:30 - 16:00</dd>
899 <dt>Place</dt>
900 <dd>DC 1302</dd>
901 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
902
903 <dt>Cost</dt>
904 <dd>$0.00</dd>
905 <dt>Pre-registration</dt>
906 <dd>Recommended</dd>
907 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
908 <dd>(519) 888-4004</dd>
909
910 </dl>
911
912 <h3>Abstract</h3>
913 <p>The Internet and the Web have revolutionized our communications, our access
914 to information and our business methods. However, there is still much room 
915 for improvement. Frank Clegg will discuss Microsoft's vision for what is 
916 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a 
917 new platform, user experience and set of advanced software services planned 
918 to make all devices work together and connect seamlessly. With this next 
919 generation of software, Microsoft's goal is to make Internet-based 
920 computing and communications easier to use, more personalized, and more 
921 productive for businesses and consumers. In his new position of president 
922 of Microsoft Canada Co., Frank Clegg will be responsible for leading the 
923 organization toward the delivery of Microsoft .NET. He will speak about 
924 this new platform and the next generation Internet, how software developers 
925 and businesses will be able to take advantage of it, and what the .NET 
926 experience will look like for consumers and business users.</p>
927
928 <h3>The Speaker</h3>
929 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month. 
930 Prior to his new position, Mr. Clegg was vice-president, Central Region, 
931 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for 
932 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined 
933 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996. 
934 During that time, Mr. Clegg was instrumental in introducing several key 
935 initiatives to improve company efficiency, growth and market share. Mr. 
936 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
937
938 <h3>For More Information</h3>
939 <address>
940 Shirley Fenton<br />
941 The infraNET Project<br />
942 University of Waterloo<br />
943 519-888-4567 ext. 5611<br />
944 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
945 </address>
946       </abstract>
947   </eventitem>
948
949
950  <!-- Winter 2001 -->
951
952  <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
953     title="Executive elections">
954   <short>Winter 2001 CSC Elections.</short>
955   <abstract>
956       <p>Would you like to get involved in the CSC? Would you like to
957         have a say in what the CSC does this term? Come out to the CSC
958         Elections! In addition to electing the executive for the
959         Winter term, we will be appointing office staff and other
960         positions. Look for details in uw.csc.
961       </p>
962       <p>
963         Nominations for all positions are being taken in the CSC
964         office, MC 3036.
965       </p>
966     </abstract>
967  </eventitem>
968   <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
969     title="Meeting #2">
970     <short>Second CSC meeting for Winter 2001.</short>
971     <abstract>
972       <h3>Proposed agenda</h3>
973       <dl>
974         <dt>Book purchases</dt>
975         <dd>
976           <p>They haven't been done in 2 terms.
977             We have an old list of books to buy.
978             Any suggestions from uw.csc are welcome.</p>
979         </dd>
980         <dt>CD Burner</dt>
981         
982         <dd>
983           <p>For doing linux burns. It was allocated money on the budget
984             request - about $300. We should be able to get a decent 12x
985             burner with that (8x rewrite).</p>
986           <p>The obvious things to sell are Linux Distros and BSD variants.
987             Are there any other software that we can legally burn and sell
988             to students?</p>
989         </dd>
990         <dt>Unix talks</dt>
991         <dd>
992           <p>Just a talk of the topics to be covered, when, where, whatnot.
993             Mike was right on this one, this should have been done earlier
994      in the term.  Oh well, maybe we can fix this for next fall term.</p>
995           
996         </dd>
997         <dt>Game Contest</dt>
998         <dd>
999           <p>We already put a bit of work into planning the Othello contest
1000             before I read Mike's post. I still think it's viable. I've got
1001             at least 2 people interested in writing entries for it. This
1002             will be talked about more on monday. Hopefully, Rory and I will
1003             be able to present a basic outline of how the contest is going
1004             to be run at that time.</p>
1005         </dd>
1006         <dt>Peri's closet cleaning</dt>
1007         <dd>
1008           
1009           <p>Current sysadmin (jmbeverl) and I (kvijayan) and
1010             President (geduggan) had a nice conversation about this 2
1011             days ago, having to do with completely erasing all of
1012             peri, installing a clean stable potato debian on it, and
1013             priming it for being a gradual replacement to calum. We'll
1014             probably discuss how much we want to get done on this
1015             front on Monday.</p>
1016         </dd>
1017       </dl>
1018       
1019       <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>
1020     </abstract>
1021   </eventitem>
1022
1023   <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
1024     title="ACM-Style programming contest">
1025     <short>Practice for the ACM international programming
1026     contest</short>
1027     <abstract>
1028 <p>Our ACM-Style practice  contests involve answering five questions in three
1029 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
1030 Waterloo's teams  have been in  the top ten  at the world  finals.
1031 For more information, see
1032 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
1033
1034 <h3>Easy Question:</h3>
1035 <p>A palindrome is a sequence of letters that reads the same backwards and
1036 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
1037 only letters are important). Your task is to find the longest palindrome in
1038 a line of text (if there is a tie, print the leftmost one).</p>
1039 <pre>
1040 Input:                              Output:
1041
1042 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
1043 abcbabCdcbaqwerewq                  abCdcba
1044 </pre>
1045
1046 <h3>Hard Question:</h3>
1047 <p>An anagram is a word formed by reordering the letters of another word.
1048 Find all sets of anagrams that exist within a large dictionary.  The
1049 input will be a sorted list of words (up to 4000 words), one per line.
1050 Output each set of anagrams on a separate line.  Each set should be
1051 in alphabetical order, and all lines of sets should be in alphabetical
1052 order.  A word with no anagrams is a set of anagrams itself, and should
1053 be displayed with no modifications.</p>
1054
1055 <pre>
1056 Input:      Output:
1057
1058 post        post pots stop
1059 pots        start
1060 start
1061 stop
1062 </pre>
1063     </abstract>
1064   </eventitem>
1065
1066   <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
1067     title="Meeting #3">
1068     <short>No description available.</short>
1069     <abstract>No abstract available.</abstract>
1070   </eventitem>
1071
1072   <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
1073     title="Meeting #4">
1074     <short>No description available.</short>
1075     <abstract>No abstract available.</abstract>
1076   </eventitem>
1077
1078   <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
1079     title="Meeting #5">
1080     <short>No description available.</short>
1081     <abstract>No abstract available.</abstract>
1082   </eventitem>
1083
1084   <!-- Spring 2001 -->
1085
1086   <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
1087     title="ACM-Style programming contest">
1088     <short>Practice for the ACM international programming
1089     contest</short>
1090     <abstract>
1091 <p>Our ACM-Style practice  contests involve answering five questions in three
1092 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
1093 Waterloo's teams  have been in  the top ten  at the world  finals.
1094 For more information, see
1095 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
1096
1097 <h3>Easy Question:</h3>
1098 <p>A palindrome is a sequence of letters that reads the same backwards and
1099 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
1100 only letters are important). Your task is to find the longest palindrome in
1101 a line of text (if there is a tie, print the leftmost one).</p>
1102 <pre>
1103 Input:                              Output:
1104
1105 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
1106 abcbabCdcbaqwerewq                  abCdcba
1107 </pre>
1108
1109 <h3>Hard Question:</h3>
1110 <p>An anagram is a word formed by reordering the letters of another word.
1111 Find all sets of anagrams that exist within a large dictionary.  The
1112 input will be a sorted list of words (up to 4000 words), one per line.
1113 Output each set of anagrams on a separate line.  Each set should be
1114 in alphabetical order, and all lines of sets should be in alphabetical
1115 order.  A word with no anagrams is a set of anagrams itself, and should
1116 be displayed with no modifications.</p>
1117
1118 <pre>
1119 Input:      Output:
1120
1121 post        post pots stop
1122 pots        start
1123 start
1124 stop
1125 </pre>
1126     </abstract>
1127   </eventitem>
1128
1129
1130  <!-- Winter 2002 -->
1131
1132  <eventitem date="2002-01-26" time="2:00 PM"
1133   room="Comfy Lounge MC3001" 
1134   title="An Introduction to GNU Hurd">
1135   <short>Bored of GNU/Linux? Try this experimental operating
1136   system!</short>
1137   <abstract>
1138 <p>GNU Hurd is an operating system kernel based on the microkernel
1139 architecture design. It was the original GNU kernel, predating Linux,
1140 and is still being actively developed by many volunteers.</p>
1141 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
1142 Science Club, is hosting an afternoon to show the Hurd to anyone
1143 interested. Jeff Bailey, a Hurd developer, will give a presentation on
1144 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
1145 James Morrison, also a Hurd developer, will be hosting a Debian
1146 GNU/Hurd installation session.</p>
1147 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
1148 and mail your key to sjdutoit@uwaterloo.ca with the subject
1149 ``keysigning'' (see separate announcement).</p>
1150 <p>Questions? Suggestions? Contact <a
1151 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
1152   </abstract>
1153  </eventitem>
1154  <eventitem date="2002-01-26" time="2:30 PM"
1155   room="Comfy Lounge MC3001" 
1156   title="GnuPG/PGP Keysigning Party">
1157   <short>Get more signatures on your key!</short>
1158   <abstract>
1159   <p>
1160    GnuPG and PGP provide public-key based encryption for e-mail and
1161    other electronic communication. In addition to preventing others
1162    from reading your private e-mail, this allows you to verify that an
1163    e-mail or file was indeed written by its perceived author.
1164   </p>
1165   <p>
1166    In order to make sure a GnuPG/PGP key belongs to the respective
1167    person, the key must be signed by someone who has checked the
1168    user's key fingerprint and verified the user's identification.
1169   </p>
1170   <p>
1171    A keysigning party is an ideal occasion to have your key signed by
1172    many people, thus strengthening the authority of your key. Everyone
1173    showing up exchanges key signatures after verifying ID and
1174    fingerprints. The Computer Science Club will be hosting such a
1175    keysigning party together with the Hurd presentation by THUG (see
1176    separate announcement). See
1177    <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
1178    keysigning party homepage</a> for more information.
1179   </p>
1180   <p>
1181    Before attending it is important that you mail your key to
1182    sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
1183    sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
1184    a sheet of paper to the event.
1185   </p>
1186   </abstract>
1187  </eventitem>
1188  <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
1189   title="UNIX 101: First Steps With UNIX">
1190   <abstract>
1191     This is the first in a series of seminars that cover the use of
1192     the UNIX Operating System. UNIX is used in a variety of
1193     applications, both in academia and industy. We will be covering
1194     the basics of the UNIX environment, as well as the use of PINE, an
1195     electronic mail and news reader.
1196   </abstract>
1197  </eventitem>
1198  <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
1199   title="DVD-Video Under Linux">
1200   <short>Billy Biggs will be holding a talk on DVD technology
1201   (in particular, CSS and playback issues) under Linux, giving some
1202   technical details as well as an overview of the current status of
1203   Free Software efforts. All are welcome.</short>
1204   <abstract>
1205    <p>DVD copy protection: Content Scrambling System (CSS)</p>
1206    <ul>
1207     <li>A technical introduction to CSS and an overview of the ongoing
1208     legal battle to allow distribution of non-commercial DVD
1209     players</li>
1210     <li>The current Linux software efforts and open issues</li>
1211     <li>How applications and Linux distributions are handling the
1212     legal issues involved</li>
1213    </ul>
1214    <p>DVD-Video specifics: Menus and navigation</p>
1215    <ul>
1216     <li>An overview of the DVD-Video standard</li>
1217     <li>Reverse engineering efforts and their implementation status</li>
1218     <li>Progress of integration into Linux media players</li>
1219    </ul>
1220   </abstract>
1221  </eventitem>
1222  <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
1223   title="Unix 102: Fun With UNIX">
1224   <short>This the second in a series of UNIX tutorials. Simon Law and
1225   James Perry will be presenting some more advanced UNIX
1226   techniques. All are welcome. Accounts will be provided for those
1227   needing them.</short>
1228   <abstract>
1229    <p>
1230     This is the second in a series of seminars that cover the use of
1231     the UNIX Operating System. UNIX is used in a variety of
1232     applications, both in academia and industry. We will provide you
1233     with hands-on experience with the Math Faculty's UNIX environment
1234     in this tutorial.
1235    </p>
1236    <p>Topics that will be discussed include:</p>
1237    <ul>
1238     <li>Interacting with Bourne and C shells</li>
1239     <li>Editing text using the vi text editor</li>
1240     <li>Editing text using the Emacs display editor</li>
1241     <li>Multi-tasking and the screen multiplexer</li>
1242    </ul>
1243    <p>
1244      If you do not have a Math computer account, don't panic; one will
1245      be lent to you for the duration of this class.
1246    </p>
1247   </abstract>
1248  </eventitem>
1249  <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
1250   title="Computer Go, The Ultimate">
1251   <short>Thomas Wolf from Brock University will be holding a talk on
1252   the asian game of Go. All are welcome.</short>
1253   <abstract>
1254    <p>
1255     The asian game go is unique in a number of ways. It is the oldest
1256     board game known. It is a strategy game with very simple
1257     rules. Computer programs are very weak despite huge efforts and
1258     prizes of US$ &gt; 1.5M for a program beating professional
1259     players. The talk will quickly explain the rules of go, compare go
1260     and chess, mention various attempts to program go and describe our
1261     own efforts in this field. Students will have an opportunity to
1262     solve computer generated go problems. Prizes will be available.
1263    </p>
1264   </abstract>
1265  </eventitem>
1266
1267   <!-- Spring 2002 -->
1268
1269   <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
1270     elections">
1271     <short>Come and vote for this term's exec</short>
1272     <abstract>
1273       <p>
1274         Vote for the exec this term. Meet at the CSC office.
1275       </p>
1276     </abstract>
1277   </eventitem>
1278
1279
1280   <!-- Fall 2002 -->
1281
1282   <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
1283   title="F02 elections">
1284     <short>Come and vote for this term's exec</short>
1285     <abstract>
1286       <p>
1287         Vote for the exec this term. Meet at the comfy
1288         lounge. There will be an opportunity to obtain or renew
1289         memberships. This term's CRO is Siyan Li
1290         (s8li@csclub.uwaterloo.ca).
1291       </p>
1292     </abstract>
1293   </eventitem>
1294
1295   <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
1296   title="Business Meeting">
1297     <short>Vote on a constitutional change.</short>
1298     <abstract>
1299       <p>
1300          The executive has unanimously decided to try to change our
1301 constitution to comply with MathSoc policy.  The clause we are trying
1302 to change is the membership clause.  The following is the proposed new
1303 reading of the clause.
1304       </p>
1305       <p><i>
1306         In compliance with MathSoc regulations and in recognition of
1307 the club being primarily targeted at undergraduate students, full
1308 membership is open to all undergraduate students in the Faculty of
1309 Mathematics and restricted to the same.</i>
1310       </p>
1311
1312       <p>
1313         The proposed change is illustrated <a
1314         href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
1315         a web page</a>.
1316       </p>
1317
1318       <p>
1319         There will be a business meeting on 30 Sept 2002 at 18:30 in
1320         the comfy lounge, MC 3001. Please come and vote
1321       </p>
1322     </abstract>
1323   </eventitem>
1324
1325   <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
1326   title="UNIX 101">
1327     <short>First Steps with UNIX</short>
1328     <abstract>
1329       <p>
1330            Get to know UNIX and be the envy of your friends!
1331       </p>
1332       <p>
1333         This is the first in a series of seminars that cover the use
1334         of the UNIX Operating System.  UNIX is used in a variety of
1335         applications, both in academia and industy. We will provide
1336         you with hands-on experience with the Math Faculty's UNIX
1337         environment in this seminar.
1338       </p>
1339       <p>
1340         Topics that will be discussed include:
1341       </p>
1342       <ul>
1343         <li>Navigating the UNIX environment</li>
1344         <li>Using common UNIX commands</li>
1345         <li>Using the PICO text editor</li>
1346         <li>Reading electronic mail and news with PINE</li>
1347       </ul>
1348       <p>
1349     If you do not have a Math computer account, don't panic; one will be 
1350 lent to you for the duration of this class.
1351       </p>
1352     </abstract>
1353   </eventitem>
1354
1355   <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
1356   title="Pints with the Profs">
1357     <short>Get to know your profs and be the envy of your friends!</short>
1358     <abstract>
1359     <p>Come out and meet your professors.  This is a great opportunity to
1360 meet professors for Undergraduate Research jobs or to find out who you might
1361 have for future courses.</p>
1362
1363     <p>Profs who have confirmed their attendance are:</p>
1364     <ul>
1365       <li>Troy Vasiga, School of Computer Science</li>
1366       <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
1367       <li>Michael McCool, School of Computer Science, CGL</li>
1368       <li>Martin Karsten, School of Computer Science, BBCR</li>
1369       <li>Gisli Hjaltason, School of Computer Science, DB</li>
1370     </ul>
1371
1372     <p>There will also be...</p>
1373     <ul>
1374       <li>Free Food</li>
1375       <li>Free Food</li>
1376       <li>Free Food</li>
1377     </ul>
1378     </abstract>
1379   </eventitem>
1380
1381   <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
1382   title="UNIX 102">
1383     <short>Talking to your UNIX can be fun and profitable.</short>
1384     <abstract>
1385 <p>This is the second in a series of seminars that cover the use of
1386 the UNIX Operating System. UNIX is used in a variety of applications,
1387 both in academia and industry. We will provide you with hands-on
1388 experience with the Math Faculty's UNIX environment in this
1389 tutorial.</p>
1390
1391 <p>Topics that will be discussed include:</p>
1392 <ul><li>Interacting with Bourne and C shells</li>
1393 <li>Editing text using the vi text editor</li>
1394 <li>Editing text using the Emacs display editor</li>
1395 <li>Multi-tasking and the screen multiplexer</li>
1396 </ul>
1397
1398 <p>If you do not have a Math computer account, don't panic; one will be
1399 lent to you for the duration of this class.</p>
1400
1401 </abstract>
1402   </eventitem>
1403
1404   <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
1405   title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
1406     <short>A talk by Filip Spacek, KGI developer</short>
1407     <abstract>
1408     Linux has proven itself as a reliable operating system but arguably,
1409     it still lacks in support of high performance graphics
1410     acceleration. This talk will describe basic components of a PC video
1411     card and the design and limitations the current Linux display driver
1412     architecture.  Finally a an overview of a new architecture, the Kernel
1413     Graphics Interface (KGI), will be given.  KGI attempts to solve the
1414     shortcomings of the current design, and provide a lightweight and
1415     portable interface to the display subsystem.
1416     </abstract>
1417   </eventitem>
1418
1419   <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
1420   title="UNIX 103">
1421     <short></short>
1422     <abstract>No abstract available yet.</abstract>
1423   </eventitem>
1424
1425   <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
1426   title="The Evil Side of C++">
1427     <short>Abusing template metaprogramming in C++; aka. writing a
1428     Mandelbrot generator that runs at compile time</short>
1429     <abstract>
1430       <p>Templates are a useful feature in C++ when it comes to writing
1431     type-independent data structures and algorithms. Relatively soon
1432     after their appearance it was realised that they could be used to
1433     do much more than this. Essentially it is possible to write
1434     certain programs in C++ that execute <i>completely at compile
1435     time</i> rather than run time. Combined with constant-expression
1436     optimisation this is an interesting twist on regular C++
1437     programming.</p>
1438     <p>This talk will give a short overview of the features of
1439     templates and then go on to describe how to &quot;abuse&quot;
1440     templates to perform complex computations at compile time. The
1441     speaker will present three programs of increasing complexity which
1442     execute at compile time. First a factorial listing program, then a
1443     prime listing program will be presented. Finally the talk will
1444     conclude with the presentation of a <b>Mandelbrot generator running
1445     at compile time</b>.</p>
1446
1447     <p>If you are interested in programming for the fun of it, the C++
1448     language or silly tricks to do with languages, this talk is for
1449     you. No C++ knowledge should be necessary to enjoy this talk, but
1450     programming experience will make it more worthwile for you.</p>
1451
1452     </abstract> </eventitem>
1453
1454   <eventitem date="2002-11-02" time="11:00AM-3:00PM"
1455     room="MC3002 (Math Coffee and Donut Store)"
1456     title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
1457     <short>Bring over your computer and we'll help you install GNU/Linux</short>
1458     <abstract>
1459       <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
1460       href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
1461       href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
1462       are jointly hosting a GNU/Linux InstallFest.  GNU/Linux is a
1463       powerful, free operating system for your computer.  It is mostly
1464       written by talented volunteers who like to share their efforts
1465       and help each other.</p>
1466
1467       <p>Perhaps you have are you interested in installing GNU/Linux.
1468       If so, bring your computer, monitor and keyboard; and we will
1469       help you install GNU/Linux on your machine.  You can also find
1470       knowledgable people who can answer your questions about
1471       GNU/Linux.</p>
1472
1473       <hr />
1474
1475       <h3>Frequently Asked Questions</h3>
1476
1477 <p><b>Q: </b>What is GNU/Linux?<br />
1478 <b>A: </b>GNU/Linux is a free operating system for your computer.  It is mostly
1479    written by talented volunteers who like to share their efforts.
1480 </p>
1481
1482 <p><b>Q: </b>Free?<br />
1483 <b>A: </b>GNU/Linux is available for zero-cost.  As well, it allows you such
1484    freedom to share it with your friends, or to modify the software to
1485    your own needs and share that with your friends.  It's very friendly.
1486 </p>
1487
1488 <p><b>Q: </b>What is an InstallFest?<br />
1489 <b>A: </b>An InstallFest is a meeting where volunteers help people install
1490    GNU/Linux on their computers.  It's also a place to meet users, and
1491    talk to them about running GNU/Linux.
1492 </p>
1493
1494 <p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
1495 <b>A: </b>Almost any recent computer will do.  If you have an old machine
1496    kicking around, you can install GNU/Linux on it as well.  If it is
1497    at least 5 years old, it should be good enough.
1498 </p>
1499
1500 <p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
1501 <b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
1502    disk space to spare; then it should be possible.
1503 </p>
1504
1505 <p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
1506 <b>A: </b>You will want to bring:</p>
1507 <ol>
1508 <li>Computer</li>
1509 <li>Monitor and monitor cable</li>
1510 <li>Power cords</li>
1511 <li>Keyboard and mouse</li>
1512 </ol>
1513
1514     </abstract>
1515   </eventitem>
1516
1517   <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
1518   title="The GNU General Public License">
1519     <short>The teeth of Free Software</short>
1520     <abstract>
1521 <p>
1522 <blockquote>
1523 <i>
1524 The licenses for most software are designed to take away your freedom
1525 to share and change it. By contrast, the GNU General Public License
1526 is intended to guarantee your freedom to share and change free
1527 software---to make sure the software is free for all its users.
1528 </i><br/>--- Excerpt from the GNU GPL
1529 </blockquote>
1530 </p>
1531 <p>The GNU General Public License is one of the most influencial
1532 software licenses in this day.  Written by Richard Stallman for the
1533 GNU Project, it is used by software developers around the world to
1534 protect their work.
1535 </p>
1536 <p>
1537 Unfortunately, software developers do not read licenses thoroughly, nor
1538 well.  In this talk, we will read the entire GNU GPL and explain the
1539 implications of its passages.  Along the way, we will debunk some myths
1540 and clarify common misunderstandings.
1541 </p>
1542 <p>
1543 After this session, you ought to understand what the GNU GPL means, how
1544 to use it, and when you cannot use it.  This session should also give
1545 you some insight into the social implications of this work.
1546 </p>
1547     </abstract>
1548   </eventitem>
1549
1550   <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
1551    title="Metaprogramming GPUs">
1552    <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
1553    <abstract>
1554 <p>
1555 Modern graphics accelerators, or "GPUs", have embedded high-performance 
1556 programmable components in the form of vertex and fragment shading units. 
1557 Recently, these units have evolved from 8-bit computations to floating-point,
1558 and other operations provide array gather, scatter, and summation.
1559 These capabilities make GPUs akin to array processors of the 
1560 past, but with a difference: every PC now has one!  I am interested 
1561 in finding the best way to exploit this computational capacity for not
1562 only graphics but for general-purpose computation.
1563 </p><p>
1564 Current APIs permit specification of the programs for GPUs
1565 using an assembly-language level interface.  Compilers for high-level 
1566 shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and 
1567 DirectX will also include standardized shading languages.  This talk will 
1568 review these.  However, compilers for these languages read in an external 
1569 string specification, which can be inconvenient.   
1570 </p><p>
1571 However, it is possible, using standard C++, to define a high-level
1572 shading language directly in the API.  Such a language can be nearly
1573 indistinguishable from a special-purpose programming language, yet  
1574 permits more direct interaction with the specification of textures 
1575 (arrays) and parameters, simplifies implementation, and enables
1576 on-the-fly generation, manipulation, and specialization of shader programs.
1577 A shading language built into the API also permits the lifting of
1578 C++ host language type, modularity, and scoping constructs into the shading
1579 language without any additional implementation effort.   Such an
1580 embedded language could be used to program other embedded processors
1581 (such as DSP chips in sound cards) or even to generate machine language
1582 on the fly for the host CPU.
1583 </p>
1584     </abstract>
1585   </eventitem>
1586
1587   <eventitem date="2002-11-16" time="1:30pm" room="York University"
1588   title="Trip to York University">
1589     <short>Going to visit the York University Computer Club</short>
1590     <abstract><p>YUCC and the UW CSC have having a join meeting at York 
1591 University.  Dave Makalsky, the President of YUCC, will be giving a talk on 
1592 Design-by-constract and Eiffel.  Stefanus Du Toit, Vice-President of the UW 
1593 CSC, will be giving a talk on the evil depths of the black art known as C++.
1594 </p><p>Schedule</p>
1595 <ul><li>1:30pm: Leave UW</li>
1596 <li>3:00pm: Arrive at York University.</li>
1597 <li>3:30pm: The Evil side of C++</li>
1598 <li>4:30pm: Design-by-Contract and Eiffel</li>
1599 <li>6:00pm: Dinner</li>
1600 <li>9:00pm: Arrive back at UW</li>
1601 </ul>
1602 </abstract>
1603   </eventitem>
1604
1605   <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
1606   title="Perl 6">
1607     <short>A talk by Simon Law</short>
1608     <abstract>
1609       <p>
1610         Perl, the Practical Extraction and Reporting Language can only
1611         be described as an eclectic language, invented and refined by
1612         a deranged system administrator, who was trained as a
1613         linguist.  This man, however, has declared:
1614       </p>
1615       <blockquote>
1616         <i>
1617           Perl 5 was my rewrite of Perl.
1618           I want Perl 6 to be the community's rewrite of Perl and of the
1619           community.
1620         </i><br/>--- Larry Wall
1621       </blockquote>
1622       <p>
1623         Whenever a language is designed by a committee, it is common
1624         wisdom to avoid it.  Not so with Perl, for it cannot get
1625         worse.  However strange these Perl people seem, Perl 6 is a
1626         good thing coming.  In this talk, I will demonstrate some Perl
1627         5 programs, and talk about their Perl 6 counterparts, to show
1628         you that Perl 6 will be cleaner, friendlier, and prettier.
1629       </p>
1630     </abstract>
1631   </eventitem>
1632
1633   <eventitem date="2002-11-21" time="4:30pm" room="MC2066"
1634    title="Samba and You">
1635     <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
1636     <abstract><p>
1637 Samba is a free implementation of the Server Message Block (SMB)
1638 protocol. It also implements the Common Internet File System (CIFS)
1639 protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
1640 printers. </p><p>
1641 SMB was originally developed in the early to mid-80's by IBM and was
1642 further improved by Microsoft, Intel, SCO, Network Appliances, Digital
1643 and many others over a period of 15 years. It has now morphed into CIFS,
1644 a form strongly influenced by Microsoft. </p><p>
1645 Samba is considered to be one of the key projects for the acceptance of
1646 GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
1647 corporate world: a traditional Windows NT/2000 stronghold. </p><p>
1648 We will talk about interfacing Samba servers and desktops with the
1649 Windows world.  From a simple GNU/Linux desktop in your home to the
1650 corporate server that provides collaborative file/printer sharing,
1651 logons and home directories to hundreds of users a day. </p>
1652     </abstract>
1653   </eventitem>
1654
1655   <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
1656   title="GNU/Linux on HPPA">
1657     <short>Carlos O'Donnell talks about &quot;the last of the legacy processors to fall before the barbarian horde&quot;</short>
1658     <abstract>
1659 <p>This whirlwind talk is aimed at providing an overview of the
1660 GNU/Linux port for the HP PARISC processor. The talk will focus on
1661 the &quot;intricacies&quot; of the processor, and in particular the
1662 implementations of the Linux kernel and GNU Libc. After the talk
1663 you should be acutely aware of how little code needs to be written
1664 to support a new architecture! Carlos has been working on the port
1665 for two years, and enjoying the fruits of his labour on a 46-node
1666 PARISC cluster.</p>
1667
1668 <hr />
1669 <p>
1670 Carlos is currently in his 5th year of study at the University
1671 of Western Ontario. This is his last year in a concurrent
1672 Computer Engineering and Computer Science degree. His research
1673 interest range from distributed and parallel systems to low
1674 level optimized hardware design. He likes playing guitar and
1675 just bought a Cort NTL-20, jumbo body, solid spurce top with
1676 a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
1677 GNU Debugger, GNU Binutils and various Debian packages.
1678 </p>
1679
1680
1681 </abstract>
1682   </eventitem>
1683
1684   <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
1685   title="The Hurd Interfaces">
1686     <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
1687     <abstract>
1688 <p>The Hurd server interfaces are at the heart of the Hurd system.  They
1689  define the remote procedure calls (RPCs) that are used by the servers, the
1690  GNU C library and the utility programs to communicate with the Hurd system
1691  and to implement the POSIX personality of the Hurd as well as other
1692  features.</p>
1693
1694 <p>This talk is a walk through the Hurd RPCs, and will give an overview of how
1695  they are used to implement the system.  Individual RPCs will be used to
1696  illustrate important or exciting features of the Hurd system in general,
1697  and it will be shown how those features are accessible to the user at the
1698  command line, too.</p>
1699
1700  <hr />
1701
1702  <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
1703  Germany.  He is one of maintainers of the GNU Hurd project and the
1704  initiator of the Debian GNU/Hurd binary distribution.  He designed and
1705  implemented the console subsystem of the Hurd, wrote the FAT filesystem
1706  server, and fixed a lot of bugs, thus increasing the stability and
1707  usability of the system.</p>
1708
1709     </abstract>
1710   </eventitem>
1711
1712   <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
1713   title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
1714     <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
1715     <abstract>
1716 <p>Virtual memory management is one of the cornerstones of multiuser
1717 operating systems.  Most systems available today place all of the
1718 policy in a monolithic virtual memory manager, VMM, isolated from the
1719 rest of the system.  Although secure and lightweight, users have no
1720 way to communicate their anticipated memory needs and usage to the
1721 system pager.  As a result, the VMM can only implement a global paging
1722 policy (typically, an approximation of LRU) which may be good on
1723 average but is best for nobody.</p>
1724
1725 <p>With the port of Hurd to the L4 microkernel, this situation is being
1726 readdressed.  Due to its more distributed nature, a centralized
1727 resource manager is not only more difficult to implement efficiently
1728 but also contrary to the philosophy of the rest of the system.  We are
1729 currently exploring a model whereby each program is fully self-paged
1730 and all compete for memory from a physical memory server.  This talk
1731 will first discuss how paging currently works in Mach and other
1732 systems.  An argument for an external paging policy will then be
1733 presented followed by the requirements of such a design and the design
1734 itself.</p>
1735
1736 <hr />
1737
1738 <p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
1739 Lowell.  Neal spent the summer of 2002 at University of Karlsruhe working
1740 on porting the GNU Hurd to L4.</p>
1741
1742     </abstract>
1743   </eventitem>
1744
1745   <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
1746   title="Debian in the Enterprise">
1747     <short>A talk by Simon Law</short>
1748     <abstract>
1749 <p>The Debian Project produces a &quot;Universal Operating System&quot; that is
1750 comprised entirely of Free Software.  This talk focuses on using Debian
1751 GNU/Linux in an enterprise environment.  This includes:</p>
1752 <ul>
1753   <li>Where Debian can be deployed</li>
1754   <li>Strategic advantages of Debian</li>
1755   <li>Ways for business to give back to Debian</li>
1756 </ul>
1757    </abstract>
1758   </eventitem>
1759
1760   <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
1761   title="Automatic Memory Management and Garbage Collection">
1762     <short>A talk by James A. Morrison</short>
1763     <abstract>
1764 <p>
1765   Do you ever wonder what java is doing while you wait?  Have you ever used
1766 Modula-3?  Do you wonder how lazily you can Mark and Sweep?  Would you like to
1767 know how to Stop-and-Copy?
1768 </p><p>
1769  Come out to this talk and learn these things and more.  No prior knowledge of
1770 Garbage Collection or memory management is needed.
1771 </p>
1772    </abstract>
1773   </eventitem>
1774
1775 </eventdefs>
1776