Updated to all current events.
[mspang/www.git] / events.xml
1 <eventdefs>
2
3   <!-- Fall 1994 -->
4         <eventitem
5          date="1994-09-13" time="9:00 PM"
6          room="Princess Cinema"
7          title="Movie Outing: Brainstorm">
8                 <short>
9                         No description available.
10                 </short>
11                 <abstract>
12                         <p>
13                         The first of this term's CSC social events, we will be going to see
14                         the movie ``Brainstorm'' at the Princess Cinema. This outing is
15                         intended primarily for the new first-year students.
16                         </p>
17                         <p>
18                         The Princess Cinema is Waterloo's repertoire theatre. This month
19                         and next, they are featuring a ``Cyber Film Festival''. Upcoming
20                         films include:
21                         </p>
22                         <ul>
23                                 <li>Brazil</li>
24                                 <li>Bladerunner (director's cut)</li>
25                                 <li>2001: A Space Odyssey</li>
26                                 <li>Naked Lunch</li>
27                         </ul>
28                         <p>
29                         Admission is $4.25 for a Princess member, $7.50 for a non-member.
30                         Membership to the Princess is $7.00 per year. 
31                         </p>
32                 </abstract>
33         </eventitem>
34         <eventitem
35          date="1994-09-16" time="4:30 PM"
36          room="MC 4040"
37          title="CSC Elections">
38                 <short>No description available</short>
39                 <abstract>No abstract available</abstract>
40         </eventitem>
41         <eventitem
42          date="1994-09-19" time="4:30 PM"
43          room="MC 3022"
44          title="UNIX I Tutorial">
45                 <short>No description available</short>
46                 <abstract>No abstract available</abstract>
47         </eventitem>
48         <eventitem
49          date="1994-09-21" time="6:30 PM"
50          room="DC 1302"
51          title="SIGGRAPH Video Night">
52                 <short>No description available</short>
53                 <abstract>No abstract available</abstract>
54         </eventitem>
55         <eventitem
56          date="1994-09-22" time="4:30 PM"
57          room="MC 3022"
58          title="UNIX I Tutorial">
59                 <short>No description available</short>
60                 <abstract>No abstract available</abstract>
61         </eventitem>
62         <eventitem
63          date="1994-09-26" time="4:30 PM"
64          room="MC 3022"
65          title="UNIX II Tutorial">
66                 <short>No description available</short>
67                 <abstract>No abstract available</abstract>
68         </eventitem>
69         <eventitem
70          date="1994-10-13" time="5:00 PM"
71          room="DC 1302"
72          title="Prograph: Picture the Future">
73                 <short>No description available</short>
74                 <abstract>
75                         <p>
76                         What is the next step in the evolution of computer languages?
77                         Intelligent agents? Distributed objects? or visual languages?
78                         </p>
79                         <p>
80                         Visual languages overcome many of the drawbacks and limitations
81                         of the textual languages that software development is based on
82                         today. Do you think about programming in a linear fashion? Or do
83                         you draw a mental picture of your algorithm and then linearize it
84                         for the benefit of your compiler? Wouldn't it be nice if you could
85                         code the same way you think?
86                         </p>
87                         <p>
88                         Visual C++ and Visual BASIC aren't visual languages, but Prograph
89                         is. Prograph is a commercially available, visual, object-oriented,
90                         data-flow language. It is well suited to graphical user interface
91                         development, but is as powerful for general-purpose programming as
92                         any textual language.
93                         </p>
94                         <p>
95                         The talk will comprise a discussion of the problems of textual
96                         languages that visual languages solve, a live demonstration of
97                         Prograph, and some of my observations of the applications of
98                         Prograph to software development.
99                         </p>
100                 </abstract>
101         </eventitem>
102         <eventitem
103          date="1994-10-15" time="10:00 AM"
104          room="MC 3022"
105          title="ACM-Style Programming Contest">
106                 <short>No description available</short>
107                 <abstract>
108                         <h3>Big Money and Prizes!</h3>
109                         <p>
110                         So you think you're a pretty good programmer? Pit your skills
111                         against others on campus in this triannual event! Contestants will
112                         have three hours to solve five programming problems in either C or
113                         Pascal.
114                         </p>
115                         <p>
116                         Last fall's winners went on to the International Finals and came
117                         first overall! You could be there, too!
118                         </p>
119                 </abstract>
120         </eventitem>
121         <eventitem
122          date="1994-10-20" time="4:30 PM"
123          room="MC 3009"
124          title="Exploring the Internet">
125                 <short>No description available</short>
126                 <abstract>
127                         <h3>Need something to do between assignments/beers?</h3>
128                         <p>
129                          Did you know that your undergrad account at Waterloo gives you
130                          access tothe world's largest computer network? With thousands
131                          of discussion groups, gigabytes of files to download, multimedia
132                          information browsers, even on-line entertainment?
133                         </p>
134                         <p>
135                         The resources available on the Internet are vast and wondrous, but
136                         the tools for navigating it are sometimes confusing and arcane. In
137                         this hands-on tutorial you will get the chance to get your feet wet
138                         with the world's most mind-bogglingly big computer network, the
139                         protocols and programs used, and how to use them responsibly and
140                         effectively. 
141                         </p>
142                 </abstract>
143         </eventitem>
144         <eventitem
145          date="1994-11-02" time="4:30 PM"
146          room="MC 2038"
147          title="Game Theory">
148                 <short>No description available</short>
149                 <abstract>
150                         <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
151                         <p>
152                          This will be a descussion of the pitfalls of using mathematics and
153                          algorithms to play classical board games. Thorough descriptions
154                          shall be presented of the simple techniques used as the building
155                          blocks that make all modern computer game players. I will use
156                          tic-tac-toe as a control for my arguements. Other games such as
157                          Chess, Othello and Go shall be the be a greater measure of progress;
158                          and more importantly the targets of our dreams.
159                          </p>
160                         <p>
161                          To enhance the discussion of the future, Barney Pell's Metagamer
162                          shall be introduced. His work in define classes of games is
163                          important in identifying the features necessary for analysis. 
164                          </p>
165                 </abstract>
166         </eventitem>
167
168   <!-- Fall 1999 -->
169
170   <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
171   title="Living Laboratories: The Future Computing Environments at
172   Georgia Tech">
173     <short>By Blair MacIntyre and Elizabeth Mynatt</short>
174     <abstract>
175       <p>by   Blair MacIntyre and Elizabeth Mynatt</p>
176       <p>The Future Computing Environments (FCE) Group at Georgia Tech
177         is a collection of faculty and students that share a desire to
178         understand the partnership between humans and technology that
179         arises as computation and sensing become ubiquitous.  With
180         expertise covering the breadth of Computer Science, but
181         focusing on HCI, Computational Perception, and Machine
182         Learning, the individual research agendas of the FCE faculty
183         are grounded in a number of shared "living laboratories" where
184         their research is applied to everyday life in the classroom
185         (Classroom 2000), the home (the Aware Home), the office
186         (Augmented Offices), and on one's person.  Professors
187         MacIntyre and Mynatt will discuss a variety of these projects,
188         with an emphasis on the HCI and Computer Science aspects of
189         the FCE work.
190       </p>
191       <p>
192         In addition to their affiliation with the FCE group,
193         Professors Mynatt and MacIntyre are both members of the
194         Graphics, Visualization and Usability Center (GVU) at Georgia
195         Tech.  This interdisciplinary center brings together research
196         in computer science, psychology, industrial engineering,
197         architecture and media design by examining the role of
198         computation in our everyday lives.  During the talk, they will
199         touch on some of the research and educational opportunities
200         available at both GVU and the College of Computing.
201       </p>
202     </abstract>
203   </eventitem>
204
205   <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
206   title="GDB, Purify Tutorial">
207     <short>No description available.</short>
208     <abstract>
209       <p>
210        Debugging can be the most difficult and time consuming part of
211        any program's life-cycle. Far from an exact science, it's more
212        of an art ... and close to some kind of dark magic. Cryptic
213        error messages, lousy error checking, and icky things like
214        implicit casts can make it nearly impossible toknow what's
215        going on inside your program.
216       </p>
217       <p>
218          Several tools are available to help automate your
219          debuggin. GDB and Purify are among the most powerful
220          debugging tools available in a UNIX environment. GDB is an
221          interactive debugger, allowing you to `step' through
222          aprogram, examine function calls, variable contents, stack
223          traces and let you look at the state of a program after it
224          crashes. Purify is a commercial program designed to help find
225          and remove memory leaks from programs written inlanguages
226          without automatic garbage collection.
227       </p>
228       <p>
229         This talk will cover how to compile your C and C++ programs
230         for use with GDB and Purify, as well as how to use the
231         available X interfaces. If a purify license is available on
232         undergrad at the time of the talk, we will cover how to use it
233         during runtime.
234       </p>
235     </abstract>
236   </eventitem>
237
238   <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
239     title="Homebrew Processors and Integrated Systems in FPGAs">
240     <short>By Jan Gray</short>
241     <abstract>
242       <p>by Jan Gray</p>
243       
244       <p> With the advent of large inexpensive field-programmable gate
245       arrays and tools it is now practical for anyone to design and
246       build custom processors and systems-on-a-chip. Jan will discuss
247       designing with FPGAs, and present the design and implementation
248       of xr16, yet another FPGA-based RISC computer system with
249       integrated peripherals.</p>
250
251       <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
252       compilers, tools, and middleware at Microsoft from 1987-1998. He
253       built the first 32-bit FPGA CPU and system-on-a-chip in
254       1995. </p>
255     </abstract>
256   </eventitem>
257
258   <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
259     title="Ctrl-D">
260     <short>End-of-term dinner</short> 
261     <abstract>
262       No abstract available.
263     </abstract>
264   </eventitem>
265
266   <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
267     title="Calculational Mathematics">
268     <short>By Edgar Dijkstra</short>
269     <abstract>
270       <p> By Edgar Dijkstra</p>
271
272       <p> This  talk will use  partial orders, lattice theory,  and, if
273       time permits,  the Galois  connection as carriers  to illustrate
274       the use of  calculi in mathematics. We hope  to show the brevity
275       of  many calculations  (in order  tofight the  superstition that
276       formal  proofs  are  necessarily  unpractically long),  and  the
277       strong   heuristic  guidance   that  is   available   for  their
278       design. </p>
279
280       <p> Dijkstra is known for early graph-theoretical algorithms,
281       the first implementation of ALGOL 60, the first operating system
282       composed of explicitly synchronized processes, the invention of
283       guarded commands and of predicate transformers as a means for
284       defining semantics, and programming methodology in the broadest
285       sense of the word. </p>
286
287       <p> His current research interests focus on the formal
288       derivation of proofs and programs, and the streamlining of the
289       mathematical argument in general.</p>
290      
291       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
292       Sciences at The University of Texas at Austin until retiring in
293       October. </p>
294
295     </abstract>
296   </eventitem>
297
298   <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
299   St Jerome's" title="Proofs and Programs">
300     <short>By Edsger Dijkstra</short>
301     <abstract>
302       <p> This talk will show the use of programs for the proving of
303       theorems. Its purpose is to show how our experience gained in
304       the derivations of programs might be transferred to the
305       derivation of proofs in general. The examples will go beyond the
306       (traditional) existence theorems. </p>
307
308       <p> Dijkstra is known for early graph-theoretical algorithms,
309       the first implementation of ALGOL 60, the first operating system
310       composed of explicitly synchronized processes, the invention of
311       guarded commands and of predicate transformers as a means for
312       defining semantics, and programming methodology in the broadest
313       sense of the word. </p>
314
315       <p> His current research interests focus on the formal
316       derivation of proofs and programs, and the streamlining of the
317       mathematical argument in general.</p>
318      
319       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
320       Sciences at The University of Texas at Austin until retiring in
321       October. </p>
322
323     </abstract>
324   </eventitem>
325
326   <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
327     title="Open Q&amp;A session">
328     <short>By Edsger Dijkstra</short>
329     <abstract>No description available.</abstract>
330   </eventitem>
331
332   <!-- Winter 2000 -->
333
334   <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
335   title="Enterprise Java APIs and Implementing a Web Portal">
336     <short>No description available.</short>
337     <abstract>
338       <h3>by Floyd Marinescu
339       </h3>
340       
341       <p>
342         The first talk will be an introduction to the Enterprise Java
343         API's: Servlets, JSP, EJB, and how to use them to build
344         eCommerce sites.
345       </p>
346
347       <p>
348         The second talk will be about how these technologies were used
349         to implement a real world portal.  The talk will include an
350         overview of the design patterns used and will feature
351         architectural information about the yet to be release portal
352         (which I am one of the developers) called theserverside.com.
353       </p>
354     </abstract>
355   </eventitem>
356
357   <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
358     title="Enterprise Java APIs and Implementing a Web Portal (1)">
359     <short>No description available.</short>
360     <abstract>
361       <p>Real World J2EE - Design Patterns and architecture behind the
362         yet to be released J2EE portal: theserverside.com</p>
363
364       <p>This talk will feature an exclusive look at the architecture
365         behind the new J2EE portal: theserverside.com.  Join Floyd
366         Marinescu in a walk-through ofthe back-end of the portal,
367         while learning about J2EE and its real world patterns,
368         applications, problems and benefits.</p>
369     </abstract>
370   </eventitem>
371
372   <!-- Spring 2000 -->
373
374   <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
375   House, 130 King Street S, Waterloo" title="Ctrl-D">
376     <short>End-of-term dinner</short>
377     <abstract>No abstract available.</abstract>
378   </eventitem>
379
380   <!-- Fall 2000 -->
381
382   <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
383     title="CSC Elections">
384     <short>Fall 2000 Elections for the CSC.</short>
385     <abstract>
386       <p>
387         Would you like to get involved in the CSC? Would you like to have a
388         say in what the CSC does this term?  Come out to the CSC Elections!
389         In addition to electing the executive for the Fall term, we will be
390         appointing office staff and other positions.  Look for details in
391         uw.csc.
392       </p>
393
394       <p>Nominations for all positions are being taken in the CSC office, MC
395         3036.</p>
396     </abstract>
397   </eventitem>
398
399   <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
400     title="SIGGraph Video Night">
401     <short> SIGGraph Video Night Featuring some truly awesome computer
402     animations from Siggraph '99. </short>
403     <abstract>
404       <p> Interested in Computer Graphics?
405       </p>
406       
407       <p> Enjoy watching state-of-the-art Animation?
408       </p>
409       
410       <p> Looking for a cheap place to take a date?
411       </p>
412       
413       <p> SIGGraph Video Night -
414         Featuring some truly awesome computer animations from Siggraph '99.
415       </p>
416
417       <p>Come out for the Computer Science Club general elections at 6:00
418         pm, right before SIGGraph!</p>
419       </abstract>
420   </eventitem>
421
422  <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
423     title="Realising the Next Generation Internet">
424     <short>By Frank Clegg of Microsoft Canada</short>
425     <abstract>
426 <h3>Vitals</h3>
427 <dl>
428 <dt>By</dt>
429 <dd>Frank Clegg</dd>
430 <dd>President, Microsoft Canada</dd>
431 <dt>Date</dt>
432
433 <dd>Monday, September 25, 2000</dd>
434 <dt>Time</dt>
435 <dd>14:30 - 16:00</dd>
436 <dt>Place</dt>
437 <dd>DC 1302</dd>
438 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
439
440 <dt>Cost</dt>
441 <dd>$0.00</dd>
442 <dt>Pre-registration</dt>
443 <dd>Recommended</dd>
444 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
445 <dd>(519) 888-4004</dd>
446
447 </dl>
448
449 <h3>Abstract</h3>
450 <p>The Internet and the Web have revolutionized our communications, our access
451 to information and our business methods. However, there is still much room 
452 for improvement. Frank Clegg will discuss Microsoft's vision for what is 
453 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a 
454 new platform, user experience and set of advanced software services planned 
455 to make all devices work together and connect seamlessly. With this next 
456 generation of software, Microsoft's goal is to make Internet-based 
457 computing and communications easier to use, more personalized, and more 
458 productive for businesses and consumers. In his new position of president 
459 of Microsoft Canada Co., Frank Clegg will be responsible for leading the 
460 organization toward the delivery of Microsoft .NET. He will speak about 
461 this new platform and the next generation Internet, how software developers 
462 and businesses will be able to take advantage of it, and what the .NET 
463 experience will look like for consumers and business users.</p>
464
465 <h3>The Speaker</h3>
466 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month. 
467 Prior to his new position, Mr. Clegg was vice-president, Central Region, 
468 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for 
469 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined 
470 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996. 
471 During that time, Mr. Clegg was instrumental in introducing several key 
472 initiatives to improve company efficiency, growth and market share. Mr. 
473 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
474
475 <h3>For More Information</h3>
476 <address>
477 Shirley Fenton<br />
478 The infraNET Project<br />
479 University of Waterloo<br />
480 519-888-4567 ext. 5611<br />
481 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
482 </address>
483       </abstract>
484   </eventitem>
485
486
487  <!-- Winter 2001 -->
488
489  <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
490     title="Executive elections">
491   <short>Winter 2001 CSC Elections.</short>
492   <abstract>
493       <p>Would you like to get involved in the CSC? Would you like to
494         have a say in what the CSC does this term? Come out to the CSC
495         Elections! In addition to electing the executive for the
496         Winter term, we will be appointing office staff and other
497         positions. Look for details in uw.csc.
498       </p>
499       <p>
500         Nominations for all positions are being taken in the CSC
501         office, MC 3036.
502       </p>
503     </abstract>
504  </eventitem>
505   <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
506     title="Meeting #2">
507     <short>Second CSC meeting for Winter 2001.</short>
508     <abstract>
509       <h3>Proposed agenda</h3>
510       <dl>
511         <dt>Book purchases</dt>
512         <dd>
513           <p>They haven't been done in 2 terms.
514             We have an old list of books to buy.
515             Any suggestions from uw.csc are welcome.</p>
516         </dd>
517         <dt>CD Burner</dt>
518         
519         <dd>
520           <p>For doing linux burns. It was allocated money on the budget
521             request - about $300. We should be able to get a decent 12x
522             burner with that (8x rewrite).</p>
523           <p>The obvious things to sell are Linux Distros and BSD variants.
524             Are there any other software that we can legally burn and sell
525             to students?</p>
526         </dd>
527         <dt>Unix talks</dt>
528         <dd>
529           <p>Just a talk of the topics to be covered, when, where, whatnot.
530             Mike was right on this one, this should have been done earlier
531      in the term.  Oh well, maybe we can fix this for next fall term.</p>
532           
533         </dd>
534         <dt>Game Contest</dt>
535         <dd>
536           <p>We already put a bit of work into planning the Othello contest
537             before I read Mike's post. I still think it's viable. I've got
538             at least 2 people interested in writing entries for it. This
539             will be talked about more on monday. Hopefully, Rory and I will
540             be able to present a basic outline of how the contest is going
541             to be run at that time.</p>
542         </dd>
543         <dt>Peri's closet cleaning</dt>
544         <dd>
545           
546           <p>Current sysadmin (jmbeverl) and I (kvijayan) and
547             President (geduggan) had a nice conversation about this 2
548             days ago, having to do with completely erasing all of
549             peri, installing a clean stable potato debian on it, and
550             priming it for being a gradual replacement to calum. We'll
551             probably discuss how much we want to get done on this
552             front on Monday.</p>
553         </dd>
554       </dl>
555       
556       <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>
557     </abstract>
558   </eventitem>
559
560   <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
561     title="ACM-Style programming contest">
562     <short>Practice for the ACM international programming
563     contest</short>
564     <abstract>
565 <p>Our ACM-Style practice  contests involve answering five questions in three
566 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
567 Waterloo's teams  have been in  the top ten  at the world  finals.
568 For more information, see
569 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
570
571 <h3>Easy Question:</h3>
572 <p>A palindrome is a sequence of letters that reads the same backwards and
573 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
574 only letters are important). Your task is to find the longest palindrome in
575 a line of text (if there is a tie, print the leftmost one).</p>
576 <pre>
577 Input:                              Output:
578
579 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
580 abcbabCdcbaqwerewq                  abCdcba
581 </pre>
582
583 <h3>Hard Question:</h3>
584 <p>An anagram is a word formed by reordering the letters of another word.
585 Find all sets of anagrams that exist within a large dictionary.  The
586 input will be a sorted list of words (up to 4000 words), one per line.
587 Output each set of anagrams on a separate line.  Each set should be
588 in alphabetical order, and all lines of sets should be in alphabetical
589 order.  A word with no anagrams is a set of anagrams itself, and should
590 be displayed with no modifications.</p>
591
592 <pre>
593 Input:      Output:
594
595 post        post pots stop
596 pots        start
597 start
598 stop
599 </pre>
600     </abstract>
601   </eventitem>
602
603   <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
604     title="Meeting #3">
605     <short>No description available.</short>
606     <abstract>No abstract available.</abstract>
607   </eventitem>
608
609   <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
610     title="Meeting #4">
611     <short>No description available.</short>
612     <abstract>No abstract available.</abstract>
613   </eventitem>
614
615   <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
616     title="Meeting #5">
617     <short>No description available.</short>
618     <abstract>No abstract available.</abstract>
619   </eventitem>
620
621   <!-- Spring 2001 -->
622
623   <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
624     title="ACM-Style programming contest">
625     <short>Practice for the ACM international programming
626     contest</short>
627     <abstract>
628 <p>Our ACM-Style practice  contests involve answering five questions in three
629 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
630 Waterloo's teams  have been in  the top ten  at the world  finals.
631 For more information, see
632 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
633
634 <h3>Easy Question:</h3>
635 <p>A palindrome is a sequence of letters that reads the same backwards and
636 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
637 only letters are important). Your task is to find the longest palindrome in
638 a line of text (if there is a tie, print the leftmost one).</p>
639 <pre>
640 Input:                              Output:
641
642 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
643 abcbabCdcbaqwerewq                  abCdcba
644 </pre>
645
646 <h3>Hard Question:</h3>
647 <p>An anagram is a word formed by reordering the letters of another word.
648 Find all sets of anagrams that exist within a large dictionary.  The
649 input will be a sorted list of words (up to 4000 words), one per line.
650 Output each set of anagrams on a separate line.  Each set should be
651 in alphabetical order, and all lines of sets should be in alphabetical
652 order.  A word with no anagrams is a set of anagrams itself, and should
653 be displayed with no modifications.</p>
654
655 <pre>
656 Input:      Output:
657
658 post        post pots stop
659 pots        start
660 start
661 stop
662 </pre>
663     </abstract>
664   </eventitem>
665
666
667  <!-- Winter 2002 -->
668
669  <eventitem date="2002-01-26" time="2:00 PM"
670   room="Comfy Lounge MC3001" 
671   title="An Introduction to GNU Hurd">
672   <short>Bored of GNU/Linux? Try this experimental operating
673   system!</short>
674   <abstract>
675 <p>GNU Hurd is an operating system kernel based on the microkernel
676 architecture design. It was the original GNU kernel, predating Linux,
677 and is still being actively developed by many volunteers.</p>
678 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
679 Science Club, is hosting an afternoon to show the Hurd to anyone
680 interested. Jeff Bailey, a Hurd developer, will give a presentation on
681 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
682 James Morrison, also a Hurd developer, will be hosting a Debian
683 GNU/Hurd installation session.</p>
684 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
685 and mail your key to sjdutoit@uwaterloo.ca with the subject
686 ``keysigning'' (see separate announcement).</p>
687 <p>Questions? Suggestions? Contact <a
688 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
689   </abstract>
690  </eventitem>
691  <eventitem date="2002-01-26" time="2:30 PM"
692   room="Comfy Lounge MC3001" 
693   title="GnuPG/PGP Keysigning Party">
694   <short>Get more signatures on your key!</short>
695   <abstract>
696   <p>
697    GnuPG and PGP provide public-key based encryption for e-mail and
698    other electronic communication. In addition to preventing others
699    from reading your private e-mail, this allows you to verify that an
700    e-mail or file was indeed written by its perceived author.
701   </p>
702   <p>
703    In order to make sure a GnuPG/PGP key belongs to the respective
704    person, the key must be signed by someone who has checked the
705    user's key fingerprint and verified the user's identification.
706   </p>
707   <p>
708    A keysigning party is an ideal occasion to have your key signed by
709    many people, thus strengthening the authority of your key. Everyone
710    showing up exchanges key signatures after verifying ID and
711    fingerprints. The Computer Science Club will be hosting such a
712    keysigning party together with the Hurd presentation by THUG (see
713    separate announcement). See
714    <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
715    keysigning party homepage</a> for more information.
716   </p>
717   <p>
718    Before attending it is important that you mail your key to
719    sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
720    sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
721    a sheet of paper to the event.
722   </p>
723   </abstract>
724  </eventitem>
725  <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
726   title="UNIX 101: First Steps With UNIX">
727   <abstract>
728     This is the first in a series of seminars that cover the use of
729     the UNIX Operating System. UNIX is used in a variety of
730     applications, both in academia and industy. We will be covering
731     the basics of the UNIX environment, as well as the use of PINE, an
732     electronic mail and news reader.
733   </abstract>
734  </eventitem>
735  <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
736   title="DVD-Video Under Linux">
737   <short>Billy Biggs will be holding a talk on DVD technology
738   (in particular, CSS and playback issues) under Linux, giving some
739   technical details as well as an overview of the current status of
740   Free Software efforts. All are welcome.</short>
741   <abstract>
742    <p>DVD copy protection: Content Scrambling System (CSS)</p>
743    <ul>
744     <li>A technical introduction to CSS and an overview of the ongoing
745     legal battle to allow distribution of non-commercial DVD
746     players</li>
747     <li>The current Linux software efforts and open issues</li>
748     <li>How applications and Linux distributions are handling the
749     legal issues involved</li>
750    </ul>
751    <p>DVD-Video specifics: Menus and navigation</p>
752    <ul>
753     <li>An overview of the DVD-Video standard</li>
754     <li>Reverse engineering efforts and their implementation status</li>
755     <li>Progress of integration into Linux media players</li>
756    </ul>
757   </abstract>
758  </eventitem>
759  <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
760   title="Unix 102: Fun With UNIX">
761   <short>This the second in a series of UNIX tutorials. Simon Law and
762   James Perry will be presenting some more advanced UNIX
763   techniques. All are welcome. Accounts will be provided for those
764   needing them.</short>
765   <abstract>
766    <p>
767     This is the second in a series of seminars that cover the use of
768     the UNIX Operating System. UNIX is used in a variety of
769     applications, both in academia and industry. We will provide you
770     with hands-on experience with the Math Faculty's UNIX environment
771     in this tutorial.
772    </p>
773    <p>Topics that will be discussed include:</p>
774    <ul>
775     <li>Interacting with Bourne and C shells</li>
776     <li>Editing text using the vi text editor</li>
777     <li>Editing text using the Emacs display editor</li>
778     <li>Multi-tasking and the screen multiplexer</li>
779    </ul>
780    <p>
781      If you do not have a Math computer account, don't panic; one will
782      be lent to you for the duration of this class.
783    </p>
784   </abstract>
785  </eventitem>
786  <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
787   title="Computer Go, The Ultimate">
788   <short>Thomas Wolf from Brock University will be holding a talk on
789   the asian game of Go. All are welcome.</short>
790   <abstract>
791    <p>
792     The asian game go is unique in a number of ways. It is the oldest
793     board game known. It is a strategy game with very simple
794     rules. Computer programs are very weak despite huge efforts and
795     prizes of US$ &gt; 1.5M for a program beating professional
796     players. The talk will quickly explain the rules of go, compare go
797     and chess, mention various attempts to program go and describe our
798     own efforts in this field. Students will have an opportunity to
799     solve computer generated go problems. Prizes will be available.
800    </p>
801   </abstract>
802  </eventitem>
803
804   <!-- Spring 2002 -->
805
806   <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
807     elections">
808     <short>Come and vote for this term's exec</short>
809     <abstract>
810       <p>
811         Vote for the exec this term. Meet at the CSC office.
812       </p>
813     </abstract>
814   </eventitem>
815
816
817   <!-- Fall 2002 -->
818
819   <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
820   title="F02 elections">
821     <short>Come and vote for this term's exec</short>
822     <abstract>
823       <p>
824         Vote for the exec this term. Meet at the comfy
825         lounge. There will be an opportunity to obtain or renew
826         memberships. This term's CRO is Siyan Li
827         (s8li@csclub.uwaterloo.ca).
828       </p>
829     </abstract>
830   </eventitem>
831
832   <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
833   title="Business Meeting">
834     <short>Vote on a constitutional change.</short>
835     <abstract>
836       <p>
837          The executive has unanimously decided to try to change our
838 constitution to comply with MathSoc policy.  The clause we are trying
839 to change is the membership clause.  The following is the proposed new
840 reading of the clause.
841       </p>
842       <p><i>
843         In compliance with MathSoc regulations and in recognition of
844 the club being primarily targeted at undergraduate students, full
845 membership is open to all undergraduate students in the Faculty of
846 Mathematics and restricted to the same.</i>
847       </p>
848
849       <p>
850         The proposed change is illustrated <a
851         href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
852         a web page</a>.
853       </p>
854
855       <p>
856         There will be a business meeting on 30 Sept 2002 at 18:30 in
857         the comfy lounge, MC 3001. Please come and vote
858       </p>
859     </abstract>
860   </eventitem>
861
862   <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
863   title="UNIX 101">
864     <short>First Steps with UNIX</short>
865     <abstract>
866       <p>
867            Get to know UNIX and be the envy of your friends!
868       </p>
869       <p>
870         This is the first in a series of seminars that cover the use
871         of the UNIX Operating System.  UNIX is used in a variety of
872         applications, both in academia and industy. We will provide
873         you with hands-on experience with the Math Faculty's UNIX
874         environment in this seminar.
875       </p>
876       <p>
877         Topics that will be discussed include:
878       </p>
879       <ul>
880         <li>Navigating the UNIX environment</li>
881         <li>Using common UNIX commands</li>
882         <li>Using the PICO text editor</li>
883         <li>Reading electronic mail and news with PINE</li>
884       </ul>
885       <p>
886     If you do not have a Math computer account, don't panic; one will be 
887 lent to you for the duration of this class.
888       </p>
889     </abstract>
890   </eventitem>
891
892   <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
893   title="Pints with the Profs">
894     <short>Get to know your profs and be the envy of your friends!</short>
895     <abstract>
896     <p>Come out and meet your professors.  This is a great opportunity to
897 meet professors for Undergraduate Research jobs or to find out who you might
898 have for future courses.</p>
899
900     <p>Profs who have confirmed their attendance are:</p>
901     <ul>
902       <li>Troy Vasiga, School of Computer Science</li>
903       <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
904       <li>Michael McCool, School of Computer Science, CGL</li>
905       <li>Martin Karsten, School of Computer Science, BBCR</li>
906       <li>Gisli Hjaltason, School of Computer Science, DB</li>
907     </ul>
908
909     <p>There will also be...</p>
910     <ul>
911       <li>Free Food</li>
912       <li>Free Food</li>
913       <li>Free Food</li>
914     </ul>
915     </abstract>
916   </eventitem>
917
918   <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
919   title="UNIX 102">
920     <short>Talking to your UNIX can be fun and profitable.</short>
921     <abstract>
922 <p>This is the second in a series of seminars that cover the use of
923 the UNIX Operating System. UNIX is used in a variety of applications,
924 both in academia and industry. We will provide you with hands-on
925 experience with the Math Faculty's UNIX environment in this
926 tutorial.</p>
927
928 <p>Topics that will be discussed include:</p>
929 <ul><li>Interacting with Bourne and C shells</li>
930 <li>Editing text using the vi text editor</li>
931 <li>Editing text using the Emacs display editor</li>
932 <li>Multi-tasking and the screen multiplexer</li>
933 </ul>
934
935 <p>If you do not have a Math computer account, don't panic; one will be
936 lent to you for the duration of this class.</p>
937
938 </abstract>
939   </eventitem>
940
941   <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
942   title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
943     <short>A talk by Filip Spacek, KGI developer</short>
944     <abstract>
945     Linux has proven itself as a reliable operating system but arguably,
946     it still lacks in support of high performance graphics
947     acceleration. This talk will describe basic components of a PC video
948     card and the design and limitations the current Linux display driver
949     architecture.  Finally a an overview of a new architecture, the Kernel
950     Graphics Interface (KGI), will be given.  KGI attempts to solve the
951     shortcomings of the current design, and provide a lightweight and
952     portable interface to the display subsystem.
953     </abstract>
954   </eventitem>
955
956   <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
957   title="UNIX 103">
958     <short></short>
959     <abstract>No abstract available yet.</abstract>
960   </eventitem>
961
962   <eventitem date="2002-11-05" time="5:30 PM" room="MC 4063"
963   title="The Evil Side of C++">
964     <short>Abusing template metaprogramming in C++ for fun and profit</short>
965     <abstract>No abstract available yet.</abstract>
966   </eventitem>
967
968   <eventitem date="2002-11-02" time="11:00AM-3:00PM"
969     room="MC3002 (Math Coffee and Donut Store)"
970     title="Linux InstallFest with KW-LUG and UW-DIG">
971     <short>Bring over your computer and we'll help you install Linux</short>
972     <abstract>
973       <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
974       href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
975       href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
976       are jointly hosting a GNU/Linux InstallFest.  GNU/Linux is a
977       powerful, free operating system for your computer.  It is mostly
978       written by talented volunteers who like to share their efforts
979       and help each other.</p>
980
981       <p>Perhaps you have are you interested in installing GNU/Linux.
982       If so, bring your computer, monitor and keyboard; and we will
983       help you install GNU/Linux on your machine.  You can also find
984       knowledgable people who can answer your questions about
985       GNU/Linux.</p>
986
987       <hr />
988
989       <h3>Frequently Asked Questions</h3>
990
991 <p><b>Q: </b>What is GNU/Linux?<br />
992 <b>A: </b>GNU/Linux is a free operating system for your computer.  It is mostly
993    written by talented volunteers who like to share their efforts.
994 </p>
995
996 <p><b>Q: </b>Free?<br />
997 <b>A: </b>GNU/Linux is available for zero-cost.  As well, it allows you such
998    freedom to share it with your friends, or to modify the software to
999    your own needs and share that with your friends.  It's very friendly.
1000 </p>
1001
1002 <p><b>Q: </b>What is an InstallFest?<br />
1003 <b>A: </b>An InstallFest is a meeting where volunteers help people install
1004    GNU/Linux on their computers.  It's also a place to meet users, and
1005    talk to them about running GNU/Linux.
1006 </p>
1007
1008 <p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
1009 <b>A: </b>Almost any recent computer will do.  If you have an old machine
1010    kicking around, you can install GNU/Linux on it as well.  If it is
1011    at least 5 years old, it should be good enough.
1012 </p>
1013
1014 <p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
1015 <b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
1016    disk space to spare; then it should be possible.
1017 </p>
1018
1019 <p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
1020 <b>A: </b>You will want to bring:</p>
1021 <ol>
1022 <li>Computer</li>
1023 <li>Monitor and monitor cable</li>
1024 <li>Power cords</li>
1025 <li>Keyboard and mouse</li>
1026 </ol>
1027
1028     </abstract>
1029   </eventitem>
1030
1031   <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
1032   title="The GNU General Public License">
1033     <short>A talk by Simon Law</short>
1034     <abstract>No abstract available yet.</abstract>
1035   </eventitem>
1036
1037   <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
1038    title="Metaprogramming GPUs">
1039    <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
1040    <abstract>
1041 <p>
1042 Modern graphics accelerators, or "GPUs", have embedded high-performance 
1043 programmable components in the form of vertex and fragment shading units. 
1044 Recently, these units have evolved from 8-bit computations to floating-point,
1045 and other operations provide array gather, scatter, and summation.
1046 These capabilities make GPUs akin to array processors of the 
1047 past, but with a difference: every PC now has one!  I am interested 
1048 in finding the best way to exploit this computational capacity for not
1049 only graphics but for general-purpose computation.
1050 </p><p>
1051 Current APIs permit specification of the programs for GPUs
1052 using an assembly-language level interface.  Compilers for high-level 
1053 shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and 
1054 DirectX will also include standardized shading languages.  This talk will 
1055 review these.  However, compilers for these languages read in an external 
1056 string specification, which can be inconvenient.   
1057 </p><p>
1058 However, it is possible, using standard C++, to define a high-level
1059 shading language directly in the API.  Such a language can be nearly
1060 indistinguishable from a special-purpose programming language, yet  
1061 permits more direct interaction with the specification of textures 
1062 (arrays) and parameters, simplifies implementation, and enables
1063 on-the-fly generation, manipulation, and specialization of shader programs.
1064 A shading language built into the API also permits the lifting of
1065 C++ host language type, modularity, and scoping constructs into the shading
1066 language without any additional implementation effort.   Such an
1067 embedded language could be used to program other embedded processors
1068 (such as DSP chips in sound cards) or even to generate machine language
1069 on the fly for the host CPU.
1070 </p>
1071     </abstract>
1072   </eventitem>
1073
1074   <eventitem date="2002-11-16" time="TBA" room="TBA"
1075   title="Trip to York University">
1076     <short>Going to visit the York University Computer Club</short>
1077     <abstract>No abstract available yet.</abstract>
1078   </eventitem>
1079
1080   <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
1081   title="Perl 6">
1082     <short>A talk by Simon Law</short>
1083     <abstract>No abstract available yet.</abstract>
1084   </eventitem>
1085
1086   <eventitem date="2002-11-21" time="4:30pm" room="MC4060"
1087    title="Samba and you">
1088     <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
1089     <abstract>No abstract available yet.</abstract>
1090   </eventitem>
1091
1092   <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
1093   title="GNU/Linux on HPPA">
1094     <short>Carlos O'Donnell talks about &quot;the last of the legacy processors to fall before the barbarian horde&quot;</short>
1095     <abstract>
1096 <p>This whirlwind talk is aimed at providing an overview of the
1097 GNU/Linux port for the HP PARISC processor. The talk will focus on
1098 the &quot;intricacies&quot; of the processor, and in particular the
1099 implementations of the Linux kernel and GNU Libc. After the talk
1100 you should be acutely aware of how little code needs to be written
1101 to support a new architecture! Carlos has been working on the port
1102 for two years, and enjoying the fruits of his labour on a 46-node
1103 PARISC cluster.</p>
1104
1105 <hr />
1106 <p>
1107 Carlos is currently in his 5th year of study at the University
1108 of Western Ontario. This is his last year in a concurrent
1109 Computer Engineering and Computer Science degree. His research
1110 interest range from distributed and parallel systems to low
1111 level optimized hardware design. He likes playing guitar and
1112 just bought a Cort NTL-20, jumbo body, solid spurce top with
1113 a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
1114 GNU Debugger, GNU Binutils and various Debian packages.
1115 </p>
1116
1117
1118 </abstract>
1119   </eventitem>
1120
1121   <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
1122   title="The Hurd Interfaces">
1123     <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
1124     <abstract>
1125 <p>The Hurd server interfaces are at the heart of the Hurd system.  They
1126  define the remote procedure calls (RPCs) that are used by the servers, the
1127  GNU C library and the utility programs to communicate with the Hurd system
1128  and to implement the POSIX personality of the Hurd as well as other
1129  features.</p>
1130
1131 <p>This talk is a walk through the Hurd RPCs, and will give an overview of how
1132  they are used to implement the system.  Individual RPCs will be used to
1133  illustrate important or exciting features of the Hurd system in general,
1134  and it will be shown how those features are accessible to the user at the
1135  command line, too.</p>
1136
1137  <hr />
1138
1139  <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
1140  Germany.  He is one of maintainers of the GNU Hurd project and the
1141  initiator of the Debian GNU/Hurd binary distribution.  He designed and
1142  implemented the console subsystem of the Hurd, wrote the FAT filesystem
1143  server, and fixed a lot of bugs, thus increasing the stability and
1144  usability of the system.</p>
1145
1146     </abstract>
1147   </eventitem>
1148
1149   <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
1150   title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
1151     <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
1152     <abstract>
1153 <p>Virtual memory management is one of the cornerstones of multiuser
1154 operating systems.  Most systems available today place all of the
1155 policy in a monolithic virtual memory manager, VMM, isolated from the
1156 rest of the system.  Although secure and lightweight, users have no
1157 way to communicate their anticipated memory needs and usage to the
1158 system pager.  As a result, the VMM can only implement a global paging
1159 policy (typically, an approximation of LRU) which may be good on
1160 average but is best for nobody.</p>
1161
1162 <p>With the port of Hurd to the L4 microkernel, this situation is being
1163 readdressed.  Due to its more distributed nature, a centralized
1164 resource manager is not only more difficult to implement efficiently
1165 but also contrary to the philosophy of the rest of the system.  We are
1166 currently exploring a model whereby each program is fully self-paged
1167 and all compete for memory from a physical memory server.  This talk
1168 will first discuss how paging currently works in Mach and other
1169 systems.  An argument for an external paging policy will then be
1170 presented followed by the requirements of such a design and the design
1171 itself.</p>
1172
1173 <hr />
1174
1175 <p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
1176 Lowell.  Neal spent the summer of 2002 at University of Karlsruhe working
1177 on porting the GNU Hurd to L4.</p>
1178
1179     </abstract>
1180   </eventitem>
1181
1182   <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
1183   title="Debian in the Enterprise">
1184     <short>A talk by Simon Law</short>
1185     <abstract>
1186 <p>The Debian Project produces a &quot;Universal Operating System&quot; that is
1187 comprised entirely of Free Software.  This talk focuses on using Debian
1188 GNU/Linux in an enterprise environment.  This includes:</p>
1189 <ul>
1190   <li>Where Debian can be deployed</li>
1191   <li>Strategic advantages of Debian</li>
1192   <li>Ways for business to give back to Debian</li>
1193 </ul>
1194    </abstract>
1195   </eventitem>
1196
1197   <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
1198   title="Automatic Memory Management and Garbage Collection">
1199     <short>A talk by James A. Morrison</short>
1200     <abstract>
1201 <p>
1202   Do you ever wonder what java is doing while you wait?  Have you ever used
1203 Modula-3?  Do you wonder how lazily you can Mark and Sweep?  Would you like to
1204 know how to Stop-and-Copy?
1205 </p><p>
1206  Come out to this talk and learn these things and more.  No prior knowledge of
1207 Garbage Collection or memory management is needed.
1208 </p>
1209    </abstract>
1210   </eventitem>
1211
1212 </eventdefs>
1213