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