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