update with mac
[www/www.git] / events.xml
1 <eventdefs>
2
3 <!-- Winter 2007 -->
4
5   <eventitem date="2007-04-11" time="3:30 PM"
6         room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
7         <short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]!</b></short>
8         <abstract>
9         <p>
10 <!--    Richard Stallman will speak about the goals and philosophy of the Free Software Movement, and the status and history the GNU operating 
11 system, which in combination with the kernel Linux is now used by tens of millions of users world-wide.
12 -->
13 Richard Stallman has cancelled his trip to Canada.
14         </p>
15         </abstract>
16   </eventitem>
17
18
19   <eventitem date="2007-04-08" time="4:30pm"
20         room="MC 4041" title="Loop Optimizations">
21         <short>A talk by Simina Branzei</short>
22         <abstract>
23         <p>
24                 Abstract coming soon!
25         </p>
26         </abstract>
27   </eventitem>
28
29
30   <eventitem date="2007-03-28" time="5:30 PM"
31    room="MC 1056" title="Computational Physics Simulations">
32    <short>A talk by David Tenty and Alex Parent</short>
33    <abstract>
34    <p>
35         Coming Soon!
36     </p>
37     </abstract>
38   </eventitem>
39
40
41
42   <eventitem date="2007-03-29" time="4:30 PM"
43    room="MC 1056" title="All The Code">
44    <short>A demo/intrdocution to a new source code search engine. A talk by Holden Karau</short>
45    <abstract>
46    <p>
47 Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find 
48 pre-existing code. So if you were writing some code and you wanted to find a csv library, for example, you could search for csv. 
49 <a href="http://www.allthecode.com/">All The Code</a> is a 
50 next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine 
51 relevance of code.
52 </p>
53 <p>
54 The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>, 
55 along with a brief discussion of some of the technology behind it.
56     </p>
57     </abstract>
58   </eventitem>
59
60
61   <eventitem date="2007-03-30" time="4:30 PM"
62    room="MC 1056" title="TBA">
63    <short>A talk by Michael Biggs</short>
64    <abstract>
65    <p>
66         To be announced
67     </p>
68     </abstract>
69   </eventitem>
70
71
72
73   <eventitem date="2007-02-26" time="4:30 pm"
74    room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
75    <short>A talk by Alex Ionescu</short>
76    <abstract>
77    <p>
78 The ReactOS operating system has been in development for over eight years and aims to provide users
79 with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
80 its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
81 identical to Windows, both visually and internally.
82 <br/><br/>
83 More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
84 students to learn a variety of skills useful to software testing, development and management, as well as
85 providing a rich and clean implementation of Windows NT, with a kernel compatible to published
86 internals book on the subject.
87 <br/><br/>
88 This talk will introduce the ReactOS project, as well as the various software engineering challenges
89 behind it. The building platform and development philosophies and utilities will be shown, and
90 attendees will grasp the vast amount of effort and organization that needs to go into building an
91 operating system or any other similarly large project. The speaker will gladly answer questions related to
92 his background, experience and interests and information on joining the project, as well as any other
93 related information.
94 <br/><br/>
95 <strong>Speaker Bio</strong>
96 <br/><br/>
97 Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
98 and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
99 and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
100 world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
101 providing hands-on workshops and lectures on Windows NT internals and security to various companies.
102     </p>
103     </abstract>
104   </eventitem>
105
106
107   <eventitem date="2007-02-15" time="4:30 PM"
108    room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
109    <short>A talk by James deBoer</short>
110    <abstract>
111    <p>
112
113 This talk will introduce the Haskell programming language and and walk
114 through building a recognizer for regular languages. The talk will
115 include a quick overview of regular expressions, an introduction to
116 Haskell and finally a line by line analysis of a regular language
117 recognizer.
118     </p>
119     </abstract>
120   </eventitem>
121
122   <eventitem date="2007-02-09" time="4:30 PM"
123    room="MC 4041" title="Introduction to 3-d Graphics">
124    <short>A talk by Chris "The Prof" Evensen</short>
125    <abstract>
126    <p>
127  A talk for those interested in 3-dimensional graphics but unsure of where to
128  start.  Covers the basic math and theory behind projecting 3-dimensional
129  polygons on screen, as well as simple cropping techniques to improve
130  efficiency.  Translation and rotation of polygons will also be discussed.
131    </p>
132    </abstract>
133   </eventitem>
134
135   <eventitem date="2007-02-09" time="8:30 PM"
136    room="DC 1351" title="Writing World Class Software">
137    <short>A talk by James Simpson</short>
138    <abstract>
139    <p>
140 A common misconception amongst software developers is that top quality software 
141 encompasses certains platforms, is driven by a particular new piece of 
142 technology, or relies solely on a particular programming language.  However as 
143 developers we tend to miss the less hyped issues and techniques involved in 
144 writing world class software.  These techniques are universal to all 
145 programming languages, platforms and deployed technologies but are often times 
146 viewed as being so obvious that they are ignored by the typical developer.  The 
147 topics covered in this lecture will include:
148 <br/><br/>
149 - Writing bug-free to extremely low bug count software in real-time<br/>
150 - The concept of single-source, universal platform software<br/>
151 - Programming language interoperability<br/>
152 <br/>
153 ... and other less hyped yet vitally important concepts to writing
154 World Class Software
155    </p>
156     </abstract>
157   </eventitem>
158
159   <eventitem date="2007-02-08" time="4:30 PM"
160    room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
161    <short>A talk by Larry Smith</short>
162    <abstract>
163    <p>
164  A discussion of software start-ups founded by UW students and what they did 
165  that helped them grow and what failed to help.  In order to share the most 
166  insights and guard the confidences of the individuals involved, none of the 
167  companies will be identifed.
168    </p>
169     </abstract>
170   </eventitem>
171
172
173   <eventitem date="2007-02-07" time="4:30 PM"
174    room="MC 4041" title="Riding The Multi-core Revolution">
175    <short>How a Waterloo software company is changing the way people program computers. 
176      A talk by Stefanus Du Toit</short>
177    <abstract>
178    <p>
179         For decades, mainstream parallel processing has been thought of as
180 inevitable. Up until recent years, however, improvements in
181 manufacturing processes and increases in clock speed have provided
182 software with free Moore's Law-scale performance improvements on
183 traditional single-core CPUs. As per-core CPU speed increases have
184 slowed to a halt, processor vendors are embracing parallelism by
185 multiplying the number of cores on CPUs, following what Graphics
186 Processing Unit (GPU) vendors have been doing for years. The Multi-
187 core revolution promises to provide unparalleled increases in
188 performance, but it comes with a catch: traditional serial
189 programming methods are not at all suited to programming these
190 processors and methods such as multi-threading are cumbersome and
191 rarely scale beyond a few cores. Learn how, with hundreds of cores in
192 desktop computers on the horizon, a local software company is looking
193 to revolutionize the way software is written to deliver on the
194 promise multi-core holds.
195     </p>
196     <p>
197         Refreshments (and possible pizza!) will be provided.
198     </p>
199     </abstract>
200   </eventitem>
201
202 <!--  <eventitem date="2007-01-24" time="4:00 PM"
203    room="TBA" title="TBA">
204    <short>A talk by Reg Quinton</short>
205    <abstract>
206    <p>
207         To be announced
208     </p>
209     </abstract>
210   </eventitem>
211 -->
212   <eventitem date="2007-01-31" time="4:00 PM"
213    room="MC 4041" title="Network Security -- Intrusion Detection">
214    <short>A talk by Reg Quinton</short>
215    <abstract>
216    <p>
217  IST monitors the campus network for vulnerabilities and scans
218  systems for security problems.
219  This informal presentation will look behind the scenes to show the
220  strategies and technologies used and to show the problem magnitude. We
221  will review the IST Security web site with an emphasis on these pages
222  <br/><br/>
223  <a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
224  <a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
225  <a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
226     </p>
227     </abstract>
228   </eventitem>
229 <!--
230   <eventitem date="2007-01-31" time="4:30 PM"
231    room="TBA" title="An Brief Introduction to Projection Graphics">
232    <short>A talk by Christopher Evensen</short>
233    <abstract>
234    <p>
235         To be announced
236     </p>
237     </abstract>
238   </eventitem>
239 -->
240
241 <!-- Fall 2006 -->
242 <!-- Nothing happend :( -->
243
244 <!-- Spring 2006 -->
245
246
247 <eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
248  <short>Come out for the Club that Really Likes Dinner</short>
249  <abstract>
250  <p>
251 Summer: the sparrows whistle through the teapot-steam breeze.  The
252 ubiquitous construction team tears the same pavement up for the third
253 time, hammering passers-by with dust and noise: our shirts, worn for
254 the third time, noisome from competing heat and shame.  As Nature
255 continues her Keynesian rotation of policy, and as society decrees yet
256 another parting of ways, it is proper for the common victims to have
257 an evening to themselves, looking both back and ahead, imagining new
258 opportunities, and recognising those long since missed.  God fucking
259 damn it.
260 </p>
261 <p>
262 This term's CTRL-D end-of-term dinner is taking place tomorrow
263 (Saturday) at 7:00 P.M. at East Side Mario's, in the plaza.  Meet in
264 the C.S.C. fifteen minutes beforehand, so they don't take away our
265 seats or anything nasty like that.
266 </p>
267 <p>
268 A lot of people wanted to go to the Mongolian Grill, but I'm pretty
269 sure this place has a similar price-to-tasty ratio; what's more,
270 they'll actually grant us a reservation more than four nights a week.
271 I've confirmed that the crazy allergenic peanuts no longer exist
272 (sad), and they have a good vegetarian selection, which is likely
273 coincides with their kosher and halal menus.
274 </p>
275 <p>
276 Come out for the tasty and the awesome!  If you pretend it's your
277 birthday, everyone's a loser!  Tell your friends, because I told the
278 telephone I wanted to reserve for 10 to 12 people, and I don't wish to
279 sully Calum T. Dalek's good name!
280  </p>
281  </abstract>
282
283 </eventitem>
284
285
286 <eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
287  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
288  <abstract>
289  <p>
290  Does being in CS make you feel like a lemming?  Is linear algebra driving you
291  into walls?  Do you pace back and forth, constantly, regardless of whatever's
292  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
293  playing the pseudo-sequel:  Oh No! More Lemmings!
294  </p>
295  <ul>
296   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
297   <li>Projector screen: the pixels are man-sized!</li>
298   <li>Enjoy classic Lemmings tunes</li>
299  </ul>
300  </abstract>
301
302 </eventitem>
303 <eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
304         <short>A part of Linux Awareness Week</short>
305         <abstract>
306         <p>
307         The Computer Science Club is once again stepping forward to fulfill its ancient duty to the people-this time by installing one of the many 
308 fine distributions of Linux for you. 
309         </p>
310         <p>
311         Ubuntu? Debian? Gentoo? Fedora? We might not have them all, but we seem to have an awful lot! Bring your boxen down to the D.C. Fishbowl for 
312 the awesome!
313         </p>
314         <p>
315         Install Linux on your machine-install fear in your opponents!
316         </p>
317 </abstract>
318 </eventitem>
319
320
321 <eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
322         <short>or How communities of interest drive modern software development.</short>
323         <abstract>
324         <p>
325                 Simon Law leads the Quality teams for Ubuntu, a free-software operating
326                 system built on Debian GNU/Linux.  As such, he leads one of the largest
327                 community-based testing efforts for a software product.  This does get a
328                 bit busy sometimes.
329         </p>
330         <p>
331                 In this talk, we'll be exploring how the Internet is changing how
332                 software is developed.  Concepts like open source and technologies like
333                 message forums are blurring the lines between producer and consumer.
334                 And this melting pot of people is causing people to take note, and
335                 changing the way they sling code.
336         </p>
337         <p>
338                 Co-Sponsored with CS-Commons Committee
339         </p>
340 </abstract>
341 </eventitem>
342
343   <eventitem date="2006-07-21" time="5:30 PM"
344    room="MC1085" title="March of the Penguins">
345    <short>The Computer Science Club will be showing March of the Penguins</short>
346    <abstract>
347         <p>
348         <a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
349 by some guy with a funny voice is being shown by the Computer Science club because penguins are cute and were bored [that and the
350 whole Linux awareness week that forgot to tell people about].
351         </p>
352    </abstract>
353   </eventitem>
354
355
356   <eventitem date="2006-07-20" time="5:30 PM"
357    room="MC4041" title="Cool Stuff to do With Python">
358    <short>Albert O'Connor will be introducing the joys of programming in python</short>
359    <abstract>
360         <p>
361         Albert O'Connor, a UW grad,  will be giving a ~30 minute talk on introducing the joys of programming python. Python is an open source 
362 object-oriented programming language which is most awesome. 
363         </p>
364    </abstract>
365   </eventitem>
366
367   <eventitem date="2006-07-20" time="4:30 PM"
368    room="MC4041" title="Simulating multi-tasking on an embedded architecture">
369    <short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
370    <abstract>
371         <p>
372 In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must 
373 respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence 
374 crazy hacks must be used to get the benefits without paying the high costs. This talk will look at the common hack used to simulate multi-processing 
375 in a real time embedded environment.
376         </p>
377    </abstract>
378   </eventitem>
379
380
381 <eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
382         <short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
383         <abstract>
384         <p>
385 Could you write a good image recognizer for a 100 MHz mobile phone
386 processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
387 stack? It needs to locate and read two-dimensional barcodes made up of
388 square modules which might be no more than a few pixels in size. We
389 had to do that in order to establish Semacode, a local start up
390 company that makes a software barcode reader for cell phones. The
391 applications vary from ubiquitous computing to advertising. Simon
392 Woodside (founder) will discuss what it's like to start a business and
393 how the imaging code works.
394         </p>
395 </abstract>
396 </eventitem>
397
398
399
400
401
402   <eventitem date="2006-07-17" time="11:59 PM"
403    room="MC3036" title="Midnight Madness, Alpha Edition">
404    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
405    <abstract>
406         <p>
407         The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
408 together, solder, and eat free food (probably pizza).
409         </p>
410    </abstract>
411   </eventitem>
412
413
414   <eventitem date="2006-06-21" time="4:30 PM"
415    room="MC4042" title="CSC General Meeting">
416    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
417    <abstract>
418         <p>
419         The venue will include:<br />
420                 <ul>
421                 <li>Computer usage agreement discussion (Holden has some changes he'd like to propse)</li><br />
422                 <li>Web site - Juti is redisigning the web site (you can see <a href="/beta/">a beta here</a> - ideas are welcome.</li><br />
423                 <li>Frosh linux cd's that could be put in frosh math faculty kits.</li><br />
424                 <li>VoIP "not phone services" ideas.</li><br />
425                 <li>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</li><br />
426                 <li>Ideas for books.</li><br />
427                 <li>General improvements/comments for the club.</li><br />
428                 </ul>
429         </p>
430         <p>
431         If you have ideas, but can't attend, please email them to <a href="mailto:president@csclub.uwaterloo.ca">president@csclub.uwaterloo.ca</a> and they will be read them at the meeting.
432         </p>
433    </abstract>
434   </eventitem>
435
436
437 <eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
438  <short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
439  <abstract>
440   <p>
441   Rico Mariani, (BMath CS/EEE 1988) now an (almost) 18 year Microsoft veteran but then a CSC president comes to talk to us about the 
442 evolution of software tools for microcomputers.  This talk promises to be a little bit about history and perspective (at least from 
443 the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what 
444 it's like to try to make the software industry more effective at what it does, and sometimes succeed!
445   </p>
446 <p>
447 A video of the talk is available for download in our <a href="/media/">media</a> section.
448 </p>
449  </abstract>
450 </eventitem>
451
452 <eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
453  <short>Unix 101 and 102 recording</short>
454  <abstract>
455   <p>
456   Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try 
457   and put them on the web. This sunday we will be doing a first take.
458   At the same time, we're going to be looking at adding new material
459   that we haven't covered in the past. </p>
460   <p>
461   Why should you come out? Not only will you get to hang out with a wonderful group of people,
462   you can help impart your knowledge to the world. Don't know anything about unix? Thats cool too,
463   we need people to make sure its easy to follow along and hopefully keep us from leaving something
464   out by mistake. 
465   </p>
466   </abstract>
467 </eventitem>
468
469 <eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
470  <short> We don't know enough about V4L</short>
471  <abstract>
472   <p>
473   We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which 
474 could benefit from a better understanding of Video 4 Linux. So, this saturday a number of us will be trying to learn 
475 as much as possible about Video 4 Linux and doing wierd things with webcam(s).
476   </p>
477   </abstract>
478 </eventitem>
479
480 <eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
481 Elections">
482  <short>Come out and vote for the Spring 2006 executive!</short>
483  <abstract>
484   <p>
485   The Computer Science Club will be holding its elections for the Spring 2006
486   term on Monday, May 8th.  The elections will be held at 4:30 PM in the
487   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
488   vote!
489   </p>
490   <p>
491   We are accepting nominations for the following positions: President,
492   Vice-President, Treasurer, and Secretary. The nomination period continues
493   until 4:30 PM on Sunday, May 7th. If you are interested in running for
494   a position, or would like to nominate someone else, please email
495   cro@csclub.uwaterloo.ca before the deadline. 
496   </p>
497  </abstract>
498 </eventitem>
499
500 <!-- Winter 2006 -->
501
502   <eventitem date="2006-03-06" time="4:45 PM"
503    room="Physics 145" title="Creating Killer Applications">
504    <short>A talk by Larry Smith</short>
505    <abstract>
506    <p>
507         A discussion of how software creators can identify application opportunities
508         that offer the promise of great social and commercial significance. Particular
509         attention will be paid to the challenge of acquiring cross domain knowledge
510         and setting up effective collaboration.
511     </p>
512     </abstract>
513   </eventitem>
514
515
516   <eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
517     <short>Come out and meet your professors. Free food provided!</short>
518     <abstract>
519     <p>Come out and meet your professors!  This is a great opportunity to
520     mingle with your professors before midterms or find out who you might
521     have for future courses.  All are welcome!</p>
522
523     <p>Best of all, there will be <strong>free food!</strong></p>
524
525     <p>You can pick up invitations for your professors at the Computer Science
526     Club office in MC 3036.</p>
527
528     <p>Pints with Profs will be held this term on Thursday, 9 February 2006
529     from 5:30 to 8:00 PM in the Bombshelter.</p>
530     </abstract>
531   </eventitem>
532
533 <!-- Fall 2005 -->
534
535   <eventitem date="2005-11-29" time="5:30 PM"
536    room="TBA" title="Programming Contest">
537    <short>Come out, program, and win shiney things!</short>
538    <abstract>
539    <p>
540         The Computer Science club is holding a programming contest open to all students on tuesday the 29th of november at 5:30PM. C++,C,Perl,Scheme* are allowed. Prizes totalling in value of $75 will be distributed. 
541
542    </p>
543
544    <p>And best of all... free food!!!</p>
545    </abstract>
546   </eventitem>
547
548
549   <eventitem date="2005-10-17" time="5:30 PM"
550    room="Fishbowl" title="Party with Profs!">
551    <short>Get to know your profs and be the envy of your
552    friends!</short>
553    <abstract>
554    <p>
555      Come out and meet your professors!!  This is a great opportunity to
556      meet professors for Undergraduate Research jobs or to find out who
557      you might have for future courses.  One and all are welcome!
558    </p>
559
560    <p>And best of all... free food!!!</p>
561    </abstract>
562   </eventitem>
563
564
565 <eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
566  <short>You Too Can Be a Unix Taskmaster</short>
567  <abstract>
568   <p>
569   This is the third in a series of seminars that cover the use of the
570   UNIX Operating System. UNIX is used in a variety of applications, both
571   in academia and industry. We will provide you with hands-on experience
572   with the Math Faculty's UNIX environment in this tutorial.
573   </p><p>
574   Topics that will be discussed include:
575   <ul>
576   <li>Shell scripting</li>
577   <li>Searching through text files</li>
578   <li>Batch editing text files</li>
579   </ul>
580   </p><p>
581   If you do not have a Math computer account, don't panic; one will be lent to
582   you for the duration of this class.
583   </p>
584  </abstract>
585 </eventitem>
586
587
588 <eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
589  <short>Fun with Unix</short>
590  <abstract>
591  <p>
592  This is the second in a series of seminars that cover the use of the
593  Unix Operating System. Unix is used in a variety of
594  applications, both in academia and industry. We will provide you with hands-on
595  experience with the Math Faculty's Unix environment in this tutorial.
596  </p>
597  <p>
598  Topics that will be discussed include:
599  <ul>
600  <li>Interacting with Bourne and C shells</li>
601  <li>Editing text using the vi text editor</li>
602  <li>Editing text using the Emacs display editor</li>
603  <li>Multi-tasking and the screen multiplexer</li>
604  </ul>
605  </p>
606  <p>
607  If you do not have a Math computer account, don't panic; one will be lent to
608  you for the duration of this class.
609  </p>
610  </abstract>
611 </eventitem>
612
613 <eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
614  <short>First UNIX tutorial</short>
615  <abstract>
616   <p>
617   The CSC UNIX tutorials are intended to help first year CS and other
618   interested learn UNIX and the CS UNIX environment.
619   </p>
620   <p>
621   This is the first in a series of two or three tutorials. It will cover basic shell
622   use, and simple text editors.
623   </p>
624  </abstract>
625 </eventitem>
626
627
628 <!-- Summer 2005 -->
629 <eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
630  <short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
631 <abstract>
632 <p>
633 Server-side Web applications have grown increasingly common, sometimes
634 even replacing brick and mortar as the principal interface of
635 corporations.  Correspondingly, Web browsers grow ever more powerful,
636 empowering users to attach bookmarks, switch between pages, clone
637 windows, and so forth.  As a result, Web interactions are not
638 straight-line dialogs but complex nets of interaction steps.
639 </p>
640 <p>
641 In practice, programmers are unaware of or are unable to handle these
642 nets of interaction, making the Web interfaces of even major
643 organizations buggy and thus unreliable.  Even when programmers do
644 address these constraints, the resulting programs have a seemingly
645 mangled structure, making them difficult to develop and hard to
646 maintain.
647 </p>
648 <p>
649 In this talk, I will describe these interactions and then show how
650 programming language ideas can shed light on the resulting problems
651 and present solutions at various levels.  I will also describe some
652 challenges these programs pose to computer-aided verification, and
653 present solutions to these problems.
654 </p>
655 </abstract>
656 </eventitem>
657 <eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
658 <short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
659 <abstract>
660 <p>
661 I'll survey the evolution of our computer science curriculum over the
662 past thirty-five years to try to convey the reasons (not always entirely
663 rational) behind our current mix of courses and their division into core
664 and optional. After some remarks about constraints and opportunities in
665 the near future, I'll open the floor to discussion, and hope to hear
666 some candid comments about the state of CS at UW and how it might be
667 improved.
668 </p><br></br>
669 About the speaker:<br></br>
670 <p>
671 Prabhakar Ragde is a Professor in the School of Computer Science at UW.
672 He was Associate Chair for Curricula during the period that saw the
673 creation of the Bioinformatics and Software Engineering programs, the
674 creation of the BCS degree, and the strengthening of the BMath/CS degree.
675 </p>
676 </abstract>
677 </eventitem>
678
679 <!-- Winter 2005 -->
680 <eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
681  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
682  <abstract>
683  <p>
684  Does being in CS make you feel like a lemming?  Is linear algebra driving you
685  into walls?  Do you pace back and forth, constantly, regardless of whatever's
686  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
687  playing the pseudo-sequel:  Oh No! More Lemmings!
688  </p>
689  <ul>
690   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
691   <li>Projector screen: the pixels are man-sized!</li>
692   <li>Live-Action Lemmings (the rules are better this time)</li>
693   <li>Lemmings look-alike contest</li>
694   <li>Enjoy classic Lemmings tunes</li>
695  </ul>
696  </abstract>
697 </eventitem>
698
699 <eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
700  <short>Fun with Unix</short>
701  <abstract>
702  <p>
703  This is the second in a series of seminars that cover the use of the
704  Unix Operating System. Unix is used in a variety of
705  applications, both in academia and industry. We will provide you with hands-on
706  experience with the Math Faculty's Unix environment in this tutorial.
707  </p>
708  <p>
709  Topics that will be discussed include:
710  <ul>
711  <li>Interacting with Bourne and C shells</li>
712  <li>Editing text using the vi text editor</li>
713  <li>Editing text using the Emacs display editor</li>
714  <li>Multi-tasking and the screen multiplexer</li>
715  </ul>
716  </p>
717  <p>
718  If you do not have a Math computer account, don't panic; one will be lent to
719  you for the duration of this class.
720  </p>
721  </abstract>
722 </eventitem>
723
724
725 <eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
726  <short>First UNIX tutorial</short>
727  <abstract>
728   <p>
729   The CSC UNIX tutorials are intended to help first year CS and other
730   interested learn UNIX and the CS UNIX environment.
731   </p>
732   <p>
733   This is the first in a series of two or three tutorials. It will cover basic shell
734   use, and simple text editors.
735   </p>
736  </abstract>
737 </eventitem>
738
739
740 <eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
741 Elections">
742  <short>Come out and vote for the Winter 2005 executive!</short>
743  <abstract>
744   <p>
745   The Computer Science Club will be holding its elections for the Winter 2005
746   term on Thursday, January 13.  The elections will be held at 4:30 PM in the
747   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
748   vote!
749   </p>
750   <p>
751   We are accepting nominations for the following positions: President,
752   Vice-President, Treasurer, and Secretary. The nomination period continues
753   until 4:30 PM on Wednesday, January 12. If you are interested in running for
754   a position, or would like to nominate someone else, please email
755   cro@csclub.uwaterloo.ca before the deadline. 
756   </p>
757  </abstract>
758 </eventitem>
759
760
761 <!-- Fall 2004 -->
762
763 <eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
764 title="CTRL-D">
765  <short> This semesters CTRL-D (or the club that really likes
766 dinner) is going to be at mongolian grill. Be there or be square</short>
767  <abstract>
768         <p>
769 Come to the end of term CTRL-D (club that really likes dinner) meeting.
770 Remember : food is good 
771 </p>
772  </abstract>
773 </eventitem>
774
775
776 <eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
777  <short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
778 interesting examples that can or cannot be straightened out</short>
779  <abstract>
780         <p>
781  In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
782 interesting examples that can or cannot be straightened out</p>
783
784  </abstract>
785 </eventitem>
786
787
788 <eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
789  <short>How I Stopped Worrying and Learned to Love the IDE</short>
790  <abstract>
791   <p>
792         How I stopped worrying and Learned to Love the IDE
793   </p>
794   <p>
795         Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like 
796 the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs. 
797   </p>
798
799   <p>
800         I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or 
801 "Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
802   </p>
803
804  </abstract>
805 </eventitem>
806
807
808 <eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
809  <short>Wiki software in PHP+MySQL</short>
810  <abstract>
811   <p>
812    GracefulTavi is an open source wiki programmed by Net Integration
813    Technologies Inc. It is used internally by more than 25 people, and is
814    the primary internal wiki for NITI's R&amp;D and QA.
815   </p>
816   <p>
817    I'll start with a very brief introduction to wikis in general, then
818    show off our special features: super-condensed formatting syntax,
819    hierarchy management, version control, highlighted diffs, SchedUlator,
820    the Table of Contents generator. As part of this, we'll explain the
821    simple plugin architecture and show people how to write a basic wiki
822    plugin.
823   </p>
824
825   <p>
826    As well, I will show some of the "waterloo specific" macros that have
827    been coded, and explain future plans for GracefulTavi.
828   </p>
829
830   <p>
831    If time permits, I will explain how gracefulTavi can be easily used
832    for a personal calendar and notepad system on your laptop.
833   </p>
834  </abstract>
835 </eventitem>
836
837
838
839 <eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
840  <short>Everyone else is doing it!</short>
841  <abstract>
842   <p>
843         Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
844 regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
845   </p><p>
846   <ul>
847   <li>Play some old-skool Lemmings, Amiga-style</li>
848   <li>Live-action lemmings</li>
849   <li>Lemmings look-alike contest</li>
850   <li>Enjoy classic Lemmings tunes</li>
851   </ul>
852   </p><p>
853         Everyone else is doing it!
854   </p>
855  </abstract>
856 </eventitem>
857
858
859 <eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
860         <short>CSC Programming Contest</short>
861         <abstract>
862         <p>
863         The Computer Science Clib will be hosting a programming competition.
864         You have the entire afternoon to design and implement an AI for a simple
865         game. The competition will run until 5pm.
866         </p>
867         </abstract>
868 </eventitem>
869
870
871 <eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
872  <short>You Too Can Be a Unix Taskmaster</short>
873  <abstract>
874   <p>
875   This is the third in a series of seminars that cover the use of the
876   UNIX Operating System. UNIX is used in a variety of applications, both
877   in academia and industry. We will provide you with hands-on experience
878   with the Math Faculty's UNIX environment in this tutorial.
879   </p><p>
880   Topics that will be discussed include:
881   <ul>
882   <li>Shell scripting</li>
883   <li>Searching through text files</li>
884   <li>Batch editing text files</li>
885   </ul>
886   </p><p>
887   If you do not have a Math computer account, don't panic; one will be lent to
888   you for the duration of this class.
889   </p>
890  </abstract>
891 </eventitem>
892
893 <eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
894  <short>Fun with Unix</short>
895  <abstract>
896  <p>
897  This is the second in a series of seminars that cover the use of the
898  Unix Operating System. Unix is used in a variety of
899  applications, both in academia and industry. We will provide you with hands-on
900  experience with the Math Faculty's Unix environment in this tutorial.
901  </p>
902  <p>
903  Topics that will be discussed include:
904  <ul>
905  <li>Interacting with Bourne and C shells</li>
906  <li>Editing text using the vi text editor</li>
907  <li>Editing text using the Emacs display editor</li>
908  <li>Multi-tasking and the screen multiplexer</li>
909  </ul>
910  </p>
911  <p>
912  If you do not have a Math computer account, don't panic; one will be lent to
913  you for the duration of this class.
914  </p>
915  </abstract>
916 </eventitem>
917
918 <!-- Spring 2004 -->
919
920 <eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
921  <short>First UNIX tutorial</short>
922  <abstract>
923   <p>
924   The CSC UNIX tutorials are intended to help first year CS and other
925   interested learn UNIX and the CS UNIX environment.
926   </p>
927   <p>
928   This is the first in a series of three tutorials. It will cover basic shell
929   use, and simple text editors.
930   </p>
931  </abstract>
932 </eventitem>
933 <eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
934 Elections">
935  <short>Come out and vote for the Fall 2004 executive!</short>
936  <abstract>
937   <p>
938   The Computer Science Club will be holding its elections for the Fall 2004
939   term on Friday, September 17. The elections will be held at 4:00 PM in the
940   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
941   vote!
942   </p>
943   <p>
944   We are accepting nominations for the following positions: President,
945   Vice-President, Treasurer, and Secretary. The nomination period continues
946   until 4:30 PM on Thursday, September 16. If you are interested in running
947   for a position, or would like to nominate someone else, please email
948   cro@csclub.uwaterloo.ca before the deadline. 
949   </p>
950  </abstract>
951 </eventitem>
952
953 <eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
954 title="Game Complexity Theorists Ponder, by Jonathan Buss">
955 <short>Attention AI buffs: Game Complexity presentation</short>
956 <abstract>
957 <p>
958 Why are some games hard to play well?  The study of computational
959 complexity gives one answer: the games encode long computations.</p>
960
961 <p>Any computation can be interpreted as an abstract game.  Playing the
962 game perfectly requires performing the computation.  Remarkably, some
963 natural games can encode these abstract games and thus simulate
964 general computations.  The more complex the game, the more complex the
965 computations it can encode; games that can encode intractable problems
966 are themselves intractable.</p>
967
968 <p>
969 I will describe how games can encode computations, and discuss some
970 examples of both provably hard games (checkers, chess, go, etc.) and
971 games that are believed to be hard (hex, jigsaw puzzles, etc.).
972 </p>
973 </abstract>
974 </eventitem>  
975
976 <eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
977    title="Case Modding Workshop!">
978    <short>Come and learn how to make your computer 1337!</short>
979    <abstract>
980     <p>
981 Are you bored of beige?<br />
982 Tired of an overheating computer?<br />
983 Is your computer's noise level on par with a jet engine?
984     </p>
985     <p>
986 Got a nifty modded case?<br />
987 Want one?
988     </p>
989     <p>
990 The Computer Science Club will be holding a Case Modding Workshop
991 to help answer these questions.
992     </p>
993     <p>
994 There will be demonstrations on how to make a case window, how
995 to paint your case, managing cables and keeping your computer
996 quiet and cool.
997     </p>
998     <p>
999 The event is FREE and there will be FREE PIZZA.  All are welcome!
1000     </p>
1001     <p>
1002 To help you on your way to getting a wicked computer case, we have a limited
1003 number of "Case Modding Starters Kits" available.  They come with an LED fan,
1004 a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more!  They're
1005 only $10 and will be on sale at the event.  Here's a <a
1006 href="redkit.jpg">picture</a>.
1007     </p>
1008     <p>
1009 If you already have a modded case, we encourage you to bring it out
1010 and show it off!  There will be a prize for the best case!!
1011     </p>
1012     <p>
1013 We hope to see you there!
1014     </p>
1015     <p>
1016 This event is sponsored by Bigfoot Computers.
1017     </p>
1018    </abstract>
1019   </eventitem>
1020
1021   <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
1022    title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
1023    <short>A talk by Richard Mann; School of Computer Science</short>
1024    <abstract>
1025     <p>
1026 When an observer moves through a 3D scene, nearby surfaces move faster in the
1027 image than do distant surfaces.  This effect, called motion parallax, provides
1028 an observer with information both about their own motion relative the scene,
1029 and about the spatial layout and depth of surfaces in the scene.
1030     </p>
1031     <p>
1032 Classical methods for measuring image motion by computer have concentrated on
1033 the cases of optical flow in which the motion field is continuous, or layered
1034 motion in which the motion field is piecewise continuous.  Here we introduce a
1035 third natural category which we call ``optical snow''.  Optical snow arises in
1036 many natural situations such as camera motion in a highly cluttered 3-D scene,
1037 or a passive observer watching a snowfall.  Optical snow yields dense motion
1038 parallax with depth discontinuities occurring near all image points.  As such,
1039 constraints on smoothness or even smoothness in layers do not apply.
1040     </p>
1041     <p>
1042 We present a Fourier analysis of optical snow.  In particular we show that,
1043 while such scenes appear complex in the time domain, there is a simple
1044 structure in the frequency domain, and this may be used to determine the
1045 direction of motion and the range of depths of objects in the scenes.  Finally
1046 we show how Fourier analysis of two or more image regions may be combined to
1047 estimate heading direction.
1048     </p>
1049     <p>
1050 This talk will present current research at the undergraduate level.  All are
1051 welcome to attend.
1052     </p>
1053    </abstract>
1054   </eventitem>
1055   
1056
1057   <eventitem date="2004-05-26" time="5:30 PM"
1058    room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
1059    <short>A talk by Larry Smith</short>
1060    <abstract>
1061    <p>
1062      Larry will challenge conventional assumptions about the directions of           
1063      computing and software. The role of AI, expert systems, communications          
1064      software and business applications will be presented both from a                
1065      functional and commercial point of view.  The great gaps in the                 
1066      marketplace will be highlighted, together with an indication of how             
1067      these vacant fields will become home to new empires.                            
1068     </p>
1069     </abstract>
1070   </eventitem>
1071   <eventitem date="2004-05-12" time="4:30 PM"
1072    room="The Comfy Lounge" title="CSC Elections">
1073    <short>Come out and vote for the Spring 2004 executive!</short>
1074    <abstract>
1075    <p>
1076      The Computer Science Club will be holding its elections for the Spring
1077      2004 term on Wednesday, May 12.  The elections will be held at 4:30 PM in
1078      the Comfy Lounge, on the 3rd floor of the MC.  Please remember to come out
1079      and vote!
1080    </p>
1081    <p>
1082      We are accepting nominations for the following positions: President,
1083      Vice-President, Treasurer, and Secretary.  The nomination period continues
1084      until 4:30 PM on Tuesday, May 11.  If you are interested in running
1085      for a position, or would like to nominate someone else, please email
1086      cro@csclub.uwaterloo.ca before the deadline.
1087    </p>
1088    </abstract>
1089   </eventitem>
1090
1091 <!-- Winter 2004 -->
1092
1093   <eventitem date="2004-03-29" time="6:00 PM"
1094    room="MC 4058" title="LaTeXing your work report">
1095    <short>A talk by Simon Law</short>
1096    <abstract>
1097    <p>
1098      The work report is a familiar chore for any co-op student. Not only is
1099      there a report to write, but to add insult to injury, your report is
1100      returned if you do not follow your departmental guidelines.
1101    </p>
1102
1103    <p>
1104      Fear no more! In this talk, you will learn how to use LaTeX and a
1105      specially developed class to automatically format your work reports.
1106      This talk is especially useful to Mathematics, Computer Science,
1107      Electrical &amp; Computer Engineering, and Software Engineeering co-op
1108      students about to go on work term.
1109    </p>
1110    </abstract>
1111   </eventitem>
1112
1113   <eventitem date="2004-03-30" time="5:30 PM"
1114    room="The Grad House" title="Pints with Profs!">
1115    <short>Get to know your profs and be the envy of your
1116    friends!</short>
1117    <abstract>
1118    <p>
1119      Come out and meet your professors!!  This is a great opportunity to
1120      meet professors for Undergraduate Research jobs or to find out who
1121      you might have for future courses.  One and all are welcome!
1122    </p>
1123
1124    <p>And best of all... free food!!!</p>
1125    </abstract>
1126   </eventitem>
1127
1128   <eventitem date="2004-03-23" time="6:00 PM"
1129    room="MC4058" title="Extending LaTeX with packages">
1130    <short>A talk by Simon Law</short>
1131    <abstract>
1132    <p>
1133      LaTeX is a document processing system.  What this means is you describe
1134      the structure of your document, and LaTeX typesets it appealingly.
1135      However, LaTeX was developed in the late-80s and is now showing its age.
1136    </p>
1137
1138    <p>
1139      How does it compete against modern systems?  By being easily extensible,
1140      of course.  This talk will describe the fundamentals of typesetting in
1141      LaTeX, and will then show you how to extend it with freely available
1142      packages.  You will learn how to teach yourself LaTeX and how to find
1143      extensions that do what you want.
1144    </p>
1145
1146    <p>
1147      As well, there will be a short introduction on creating your own
1148      packages, for your own personal use.
1149    </p>
1150    </abstract>
1151   </eventitem>
1152
1153   <eventitem date="2004-03-16" time="6:00 PM"
1154    room="MC4058" title="Distributed programming for CS and Engineering
1155    students">
1156    <short>A talk by Simon Law</short>
1157    <abstract>
1158    <p>
1159      If you've ever worked with other group members, you know how difficult
1160      it is to code simultaneously.  You might be working on one part of your
1161      assignment, and you need to send your source code to everyone else.  Or
1162      you might be fixing a bug in someone else's part, and need to merge in
1163      the change.  What a mess!
1164    </p>
1165
1166    <p>
1167      This talk will explain some Best Practices for developing code in a
1168      distributed fashion.  Whether you're working side-by-side in the lab, or
1169      developing from home, these methods can apply to your team.  You will
1170      learn how to apply these techniques in the Unix environment using GNU
1171      Make, CVS, GNU diff and patch.
1172    </p>
1173    </abstract>
1174   </eventitem>
1175
1176   <eventitem date="2004-03-15" time="5:30 PM"
1177    room="MC4040" title="SPARC Architecture">
1178    <short>A talk by James Morrison</short>
1179    <abstract>
1180    <p>
1181      Making a compiler?  Bored?  Think CISC sucks and RISC rules?
1182    </p>
1183
1184    <p>
1185      This talk will run through the SPARC v8, IEEE-P1754, architecture.
1186      Including all the fun that can be had with register windows and the
1187      SPARC instruction set including the basic instructions, floating
1188      point instructions, and vector instructions.
1189    </p>
1190    </abstract>
1191   </eventitem>
1192
1193   <eventitem date="2004-03-09" time="6:00 PM"
1194    room="MC4062" title="Managing your home directory using CVS">
1195    <short>A talk by Simon Law</short>
1196    <abstract>
1197    <p>
1198      If you have used Unix for a while, you know that you've created
1199      configuration files, or dotfiles.  Each program seems to want its own
1200      particular settings, and you want to customize your environment.  In a
1201      power-user's directory, you could have hundreds of these files.
1202    </p>
1203
1204    <p>
1205      Isn't it annoying to migrate your configuration if you login to another
1206      machine?  What if you build a new computer?  Or perhaps you made a
1207      mistake to one of your configuration files, and want to undo it?
1208    </p>
1209
1210    <p>
1211      In this talk, I will show you how to manage your home directory using
1212      CVS, the Concurrent Versions System.  You can manage your files, revert
1213      to old versions in the past, and even send them over the network to
1214      another machine.  I'll also discuss how to keep your configuration files
1215      portable, so they'll work even on different Unices, with different
1216      software installed.
1217    </p>
1218    </abstract>
1219   </eventitem>
1220
1221   <eventitem date="2004-03-02" time="6:00 PM"
1222    room="MC4042" title="Graphing webs-of-trust">
1223    <short>A talk by Simon Law</short>
1224    <abstract>
1225    <p>
1226      In today's world, people have hundreds of connexions.  And you can
1227      express these connexions with a graph.  For instance, you may wish to
1228      represent the network of your friends.
1229    </p>
1230
1231    <p>
1232      Originally, webs-of-trust were directed acyclic graphs of people who had
1233      identified each other.  This way, if there was a path between you and
1234      the person who want to identify, then you could assume that each person
1235      along that path had verified the next person's identity.
1236    </p>
1237
1238    <p>
1239      I will show you how to generate your own web-of-trust graph using Free
1240      Software.  Of course, you can also use this knowledge to graph anything
1241      you like.
1242    </p>
1243    </abstract>
1244   </eventitem>
1245
1246   <eventitem date="2004-02-18" time="7:00 PM"
1247    room="DC2305" title="KW Perl Mongers">
1248    <short>Perl Modules: A look under the hood</short>
1249    <abstract>
1250
1251    <p>In Perl, a module is the basic unit of code-reuse.  The talk will be
1252    mostly a look into GD::Text::Arc, a module written to draw TrueType text
1253    around the edge of a circle.  The talk will consider:</p>
1254
1255    <ul>
1256    <li>using and writing object-oriented perl code</li>
1257    <li>the Virtue of Laziness: or, reusing other peoples' code.</li>
1258    <li>writing tests while coding</li>
1259    <li>beer coasters</li>
1260    </ul>
1261
1262    </abstract>
1263   </eventitem>
1264
1265   <eventitem date="2004-02-05" time="3:30 PM"
1266    room="MC4041" title="Constitutional Change">
1267    <short>Vote to change the CSC Constitution</short>
1268    <abstract>
1269
1270    <p>During the General Meeting on 19 January 2004, a proposed constitution
1271    change was passed around.  This change is in response to a change in the
1272    MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>
1273
1274    <p>This general meeting is called to vote on this proposed change.  We must
1275    have quorum of 15 Full Members vote on this change.  The following text was
1276    presented at the CSC Winter 2004 Elections.</p>
1277
1278 <pre>We propose to make a Constitutional change on this day, 19 January 2004.
1279 The proposed change is to section 3.1 of the constitution which
1280 currently reads:
1281
1282     In compliance with MathSoc regulations and in recognition of the
1283     club being primarily targeted at undergraduate students, full
1284     membership is open to all undergraduate students in the Faculty of
1285     Mathematics and restricted to the same.
1286
1287 Since MathSoc has changed its requirements for club membership, we
1288 propose that it be changed to:
1289
1290     In compliance with MathSoc regulations and in recognition of the
1291     club being primarily targeted at undergraduate students, full
1292     membership is open to all Social Members of the Mathematics Society
1293     and restricted to the same.</pre>
1294    </abstract>
1295   </eventitem>
1296
1297   <eventitem date="2004-01-12" time="3:00 PM"
1298    room="DC1301" title="InstallFest">
1299    <short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
1300    <abstract>
1301
1302    <p>An Installfest is an opportunity to install software on your computer.
1303    People come with computers. Other people come with experience. The people
1304    get together and (when all goes well) everybody leaves satisfied.</p>
1305
1306    <p>You are invited to our first installfest of the year. Come to get some
1307    software or to learn more about Open Source Software and why it is relevant
1308    to your life. The event is free, but you may want to bring blank CDs and/or
1309    money to purchase some open source action for your computer at home.</p>
1310
1311    <p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
1312    website</a> for more details.</p>
1313
1314    </abstract>
1315   </eventitem>
1316
1317 <!-- Fall 2003 -->
1318
1319   <eventitem date="2003-12-01" time="7:00 PM"
1320    room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
1321    <short> Free and Open Source software has been around for a long
1322    time, even longer then shrink-wrapped code.</short>
1323    <abstract>
1324  <p>Free and Open Source software has been around for a long time, even   
1325 longer then shrink-wrapped code.  It has a long and noble history in the annals
1326 of education.  Even more than ever, due to the drop of hardware prices and the
1327 increase of worldwide communications, Free and Open Source can open new   
1328 avenues of teaching and doing research, not only in computer science, but in
1329 other university fields as well.</p>
1330  <p>Learn how Linux as an operating system can
1331 run on anything from a PDA to a supercomputer, and how Linux is reducing the
1332 cost of computing dramatically as the fastest growing operating system in the
1333 world.  Learn how other Free and Open Source projects, such as office suites,
1334 audio and video editing and playing software, relational databases, etc. are
1335 created and are freely available.</p>
1336
1337 <p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
1338  <h3>Speaker's Biography</h3>
1339  <p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
1340 a non-profit association of computer vendors who wish to support and promote
1341 the Linux Operating System.  During his career which spans over thirty years,
1342 Mr. Hall has been a programmer, systems designer, systems administrator,
1343 product manager, technical marketing manager and educator.  He has
1344 worked for such companies as Western Electric Corporation, Aetna Life and
1345 Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems,
1346 and is currently funded by SGI.</p>
1347
1348 <p>He has taught at Hartford State Technical College, Merrimack College and
1349 Daniel Webster College.  He still likes talking to students over pizza and beer
1350 (the pizza can be optional).</p>
1351
1352 <p>Mr. Hall is the author of numerous magazine and newspaper articles, many
1353 presentations and one book, "Linux for Dummies".</p>
1354
1355 <p>Mr. Hall serves on the boards of several companies, and several non-profit
1356 organizations, including the USENIX Association.</p>
1357
1358 <p>Mr. Hall has traveled the world speaking on the benefits of Open Source
1359 Software, and received his BS in Commerce and Engineering from Drexel
1360 University, and his MSCS from RPI in Troy, New York.</p>
1361
1362 <p>In his spare time maddog is working on his retirement project:</p>
1363
1364 <center>maddog's monastery for microcomputing and microbrewing</center>
1365
1366    </abstract>
1367   </eventitem>
1368
1369   <eventitem date="2003-11-05" time="4:30 PM - 8:30 PM"
1370    room="Grad House Pub (Green Room)" title="CS Pints With Profs">
1371    <short>Come have a pint with your favourite CS profs!</short>
1372    <abstract>
1373    <p>Come meet CS profs in a relaxed atmosphere this Wednesday at
1374    the Grad House (by South Campus Hall). This is your chance to meet those CS profs
1375    you enjoyed in lectures in person, have a chat with them
1376    and find out what they're doing outside the lecture halls.</p>
1377
1378    <p>We'll be providing free food, including hamburgers and nachos,
1379    and the Grad House offers a great selection of drinks.</p>
1380
1381    <p>If you'd like to invite a particular prof, stop by on the third
1382    floor of the MC (outside of the Comfy) to pick up an invitation.</p>
1383
1384    <p>Persons of all ages are welcome!</p>
1385    </abstract>
1386   </eventitem>
1387
1388
1389   <eventitem date="2003-10-21" time="4:30 PM - 5:30 PM" room="MC2065"
1390    title=".NET &amp; Linux: When Worlds Collide">
1391   <short>A talk by James Perry</short>
1392   <abstract>
1393
1394   <p>.NET is Microsoft's new development platform, including amongst
1395   other things a language called C# and a class library for various
1396   operating system services. .NET aims to be portable, although it is
1397   currently mostly only used on Windows systems.</p>
1398
1399   <p>With the full backing of Microsoft, it seems unlikely that .NET
1400   will disappear any time soon. There are several efforts underway to
1401   bring .NET to the GNU/Linux platform. Hosted by the Computer Science
1402   Club, this talk will discuss a number of the issues surrounding .NET
1403   and Linux.</p>
1404
1405   </abstract>
1406   </eventitem>
1407
1408   <eventitem date="2003-10-22" time="4:30 PM - 5:30 PM" room="MC4061"
1409    title="Real-Time Graphics Compilers">
1410   <short>Sh is a GPU metaprogramming language developed at the UW
1411   Computer Graphics Lab</short>
1412   <abstract>
1413
1414   <p>Sh is a GPU metaprogramming language developed at the University of
1415   Waterloo Computer Graphics Lab. It allows graphics programmers to
1416   write programs which run directly on the GPU (Graphics Processing
1417   Unit) using familiar C++ syntax. Furthermore, it allows
1418   metaprogramming of such programs, that is, writing programs which
1419   generate other programs, in an easy and natural manner.</p>
1420
1421   <p>This talk will give a brief overview of how Sh works, the design of
1422   its intermediate representation and the (still somewhat simplistic)
1423   optimizer that the current reference implementation has and problems
1424   with applying traditional compiler optimizations.</p>
1425
1426   <p>Stefanus Du Toit is an undergraduate student at the University of
1427   Waterloo.  He is also a Research Assistant for Michael McCool from the
1428   University of Waterloo Graphics Lab. Over the Summer of 2003 Stefanus
1429   reimplemented the Sh reference implementation and designed and
1430   implemented the current Sh optimizer.</p>
1431   </abstract>
1432   </eventitem>
1433
1434   <eventitem date="2003-10-17" time="3:00 PM" room="MC3001 (Comfy)"
1435    title="Poster Team Meeting">
1436   <short>More free pizza from the Poster Team</short>
1437   <abstract>
1438   <p>Are you interested in getting involved in the Computer Science
1439   Club?</p>
1440
1441   <p>Come on out to the second meeting of our Poster Team, a bunch of
1442   students helping out with promotion for our events. The agenda for
1443   this meeting will include painting posters, designing event
1444   invitations, and organizing poster runs. Once again, we will be
1445   serving free pizza!</p>
1446
1447   <p>See you there!</p>
1448   </abstract>
1449   </eventitem>
1450
1451   <eventitem date="2003-10-16" time="4:00 PM - 5:30 PM" room="MC2037"
1452    title="UNIX 103: Development Tools">
1453   <short>GCC, GDB, Make</short>
1454   <abstract>
1455   <p>This tutorial will provide you with a practical introduction to GNU 
1456   development tools on Unix such as the gcc compiler, the gdb debugger
1457   and the GNU make build tool.</p>
1458
1459   <p>This talk is geared primarily at those mostly unfamiliar with these
1460   tools.  Amongst other things we will introduce:</p>
1461
1462   <ul>
1463   <li>gcc options, version differences, and peculiarities</li>
1464   <li>using gdb to debug segfaults, set breakpoints and find out what's
1465     wrong</li>
1466   <li>tiny Makefiles that will compile all of your 2nd and 3rd year CS
1467     projects.</li>
1468   </ul>
1469
1470   <p>If you're in second year CS and unfamiliar with UNIX development it
1471   is highly recommended you go to this talk. All are welcome, including
1472   non-math students.</p>
1473
1474   <p>Arrive early!</p>
1475   </abstract>
1476   </eventitem>
1477
1478   <eventitem date="2003-10-02" time="4:00 PM - 5:30 PM" room="MC2037"
1479    title="UNIX 101: Text Editors">
1480   <short>vi vs. emacs: The Ultimate Showdown</short>
1481   <abstract>
1482 <p>
1483 Have you ever wondered how those cryptic UNIX text editors work? Have you
1484 ever woken up at night with a cold sweat wondering "Is it  CTRL-A, or CTRL-X
1485 CTRL-A?" Do you just hate pico with a passion?</p>
1486
1487 <p>Then come to this tutorial and learn how to use vi and emacs!</p>
1488
1489 <p>Basic UNIX commands will also be covered. This tutorial will be especially
1490 useful for first and second year students.</p>
1491
1492   </abstract>
1493   </eventitem>
1494
1495   <eventitem date="2003-10-06" time="4:00 PM" room="MC3001 (Comfy)"
1496    title="Poster Team Meeting">
1497   <short>Join the Poster Team and get Free Pizza!</short>
1498   <abstract>
1499     <ul>
1500     <li>Do you like computer science?</li>
1501     <li>Do you like posters?</li>
1502     <li>Do you like free pizza?</li>
1503     </ul>
1504     <p>If the answer to one of these questions is yes, then come
1505 out to the first meeting of the Computer Science Club Poster Team! The
1506 CSC is looking for interested students to help out with promotion and
1507 publicity for this term's events. We promise good times and free
1508 pizza!</p>
1509   </abstract>
1510   </eventitem>
1511
1512   <eventitem date="2003-09-17" time="4:30 PM" room="MC3001 (Comfy)"
1513    title="CSC Elections">
1514   <short>CSC Fall 2003 Elections</short>
1515   <abstract>
1516    <p>Elections will be held on Wednesday, September 17, 2003 at 4:30 PM in the
1517
1518    Comfy Lounge, MC3001.</p>
1519
1520    <p>I invite you to nominate yourself or others for executive positions,
1521    starting immediately. Simply e-mail me at cro@csclub.uwaterloo.ca 
1522    with the name of the person who is to be nominated and the position
1523    they're nominated for.</p>
1524
1525    <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
1526
1527    <p>Positions open for elections are:</p>
1528
1529    <ul><li>President: Organises the club, appoints committees, keeps everyone busy.
1530    If you have lots of ideas about the club in general and like bossing
1531    people around, go for it!</li>
1532
1533    <li>Vice President: Organises events, acts as the president if he's not
1534    available. If you have lots of ideas for events, and spare time, go
1535    for it!</li>
1536
1537    <li>Treasurer: Keeps track of the club's finances. Gets to sign cheques
1538    and stuff. If you enjoy dealing with money and have ideas on how to
1539    spend it, go for it!</li>
1540
1541    <li>Secretary: Takes care of minutes and outside correspondence. If you
1542    enjoy writing things down and want to use our nifty new letterhead
1543    style, go for it!</li></ul>
1544
1545    <p>Nominations will be accepted until Tuesday, September 16 at 4:30 PM.</p>
1546
1547    <p>Additionally, a Sysadmin will be appointed after the elections. If you
1548    like working with unix systems and have experience setting up and
1549    maintaining them, go for it!</p>
1550
1551    <p>I hope that lots of people will show up; hopefully we'll have a great
1552    term with plenty of events. We always need other volunteers, so if you
1553    want to get involved just talk to the new exec after the
1554    meeting. Librarians, webmasters, poster runners, etc. are always
1555    sought after!</p>
1556
1557    <p>There will also be free pop.</p>
1558
1559    <p>Memberships can be purchased at the elections or at least half an hour
1560    prior to at the CSC. Only undergrad math members can vote, but anyone can
1561    become a member.</p>
1562
1563   </abstract>
1564   </eventitem>
1565 <!-- Spring 2003 -->
1566
1567   <eventitem date="2003-07-31" time="4:30 PM" room="MC4064"
1568    title="LaTeX and Work Reports">
1569   <short>Writing beautiful work reports</short>
1570   <abstract> 
1571
1572   <p>The work report is a familiar chore for any co-op student.  Not only is
1573   there a report to write, but to add insult to injury, your report is
1574   returned if you do not follow your departmental guidelines.</p>
1575
1576   <p>Fear no more!  In this talk, you will learn how to use LaTeX and a
1577   specially developed class to automatically format your work reports.
1578   This talk is especially useful to Mathematics, Computer Science,
1579   Electrical &amp; Computer Engineering, and Software Engineeering co-op
1580   students about to go on work term.</p>
1581
1582   <p><a
1583   href="http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/">http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/</a></p>
1584
1585   </abstract>
1586   </eventitem>
1587
1588   <eventitem date="2003-07-24" time="4:30 PM" room="MC2037"
1589    title="vi: the visual editor">
1590   <short>It's not 6.</short>
1591   <abstract> 
1592
1593   <p>In 1976, a University of California Berkeley student by the name of
1594   Bill Joy got sick of his text editor, ex.  So he hacked it such that
1595   he could read his document as he wrote it.  The result was "vi", which
1596   stands for VIsual editor.   Today, it is shipped with every modern
1597   Unix system, due to its global influence.</p>
1598
1599   <p>In this talk, you will learn  how to use vi to edit documents
1600   quickly and efficiently.  At the end, you should be able to:</p>
1601
1602   <ul>
1603   <li>Navigate and search through documents</li>
1604   <li>Cut, copy, and paste across documents</li>
1605   <li>Search and replace regular expressions</li>
1606   </ul>
1607
1608   <p>If you do not have a Math computer account, don't panic; one will be lent
1609   to you for the duration of this class.</p>  
1610
1611   </abstract>
1612   </eventitem>
1613
1614   <eventitem date="2003-07-24" time="3:00 PM" room="CSC Office" title="July 
1615   Exec Meeting">
1616   <short> See Abstract for minutes </short>
1617   <abstract>
1618   <pre>
1619 --paying Simon for Sugar
1620 -Unanimous yea.
1621 -ACTION ITEM: Mark
1622         Expense this to MathSoc in lieu of foreign speaker.
1623
1624 --We currently have (including CD-R and pop-income not 
1625 currently in safe) $972.85
1626 -We have $359.02 on budget that we can expense to MathSoc.
1627
1628 --We got MEF money for books and video card. Funding for 
1629 wireless microphone is dependent on whether MFCF is 
1630 willing to host it.
1631 -Funding for casters was denied.
1632 -Shopping for the Video card.
1633 -Expecting it after auguest (Stefanus shopping for it.)
1634 -Will have to hear back regarding the microphone, best to 
1635 delay that now, discuss it with MEF.
1636         -Better to do it this term, so it doesn't get lost.
1637         -Let MFCF know about this concern.
1638 -Regarding books, can be done anytime before September.
1639
1640 --Events feedback
1641         -Generally, Jim Eliot talk when really well.
1642                 -Apparently he was generally offensive.
1643         -When was the LaTeX talk? End of the month.
1644         -Kegger at Jim's place on the 16th.
1645
1646 --Getting people in on the 6th, 7th, 8th for csc commercials
1647 filmed by Jason
1648         -Hang out in here, and he'll make a CSC commercial.
1649         -Co-ordinate when everyone should be in here, so we can email Jason.
1650
1651 --CEO progress
1652         -CEO needs it's database changed to use ISBN as a primary key.
1653         -Needs functionality to take out/return books.
1654
1655 --Mark just entered financial stuff into GNUcash
1656
1657 --Choose CRO for next term.
1658 -Stefanus has expressed desire not to be CRO.
1659 -Gary Simmons was suggested (and he accepted)
1660 -Unanimous yea
1661
1662 --Mike Biggs has to get here naked.
1663         -Four unanimous votes.
1664         -Nakedness only applies to getting here, not being here.
1665
1666
1667 From last meeting:
1668 ACTION ITEM: Biggs and Cass
1669 -get labelmaker tape, masking tape
1670 whiteboard makers, coloured paper, CD sleeves
1671 -keep reciepts for CSC office expenses.
1672
1673 How is the progess on allowing executives and voters to be non-math
1674 members?
1675 -The vote is coming up Monday.
1676 -Proposal: Anyone who is a paying member can be a member
1677         -So you can either do two things:
1678         Pay MathSoc fees, or
1679         Get your faculty society to recognize CSC as a club.
1680
1681 Stefanus wanted to mention that we shoudl talk to Yolanda, 
1682 Craig or Louie about a EYT event for frosh week.
1683 -Organized by Meg.
1684 -Sugar Mountain trying to hook all the Frosh
1685 ACTION ITEM: Jim
1686 -Email Meg
1687
1688 Reminder for Next Year's executive.
1689 -September 16th @ 5:00pm, get a table for Clubs day, and 17th 
1690 and 18th, maintain the booth (full day events).
1691 -Update pamphlets.
1692 ACTION ITEM: Gary
1693 -There should be executive before then 
1694
1695 Note: There needs to be a private section in the CSC Procedures Manual.
1696 (Only accessible by shell)
1697 ACTION ITEM: Simon
1698 -Do it.
1699
1700 ACTION ITEM: Mike
1701 -Talk to Plantops about:
1702 -Locks on doors
1703 -Mounting corkboard.
1704 -Talk about CSC Sign
1705   </pre>
1706   </abstract>
1707
1708   </eventitem>
1709   <eventitem date="2003-06-27" time="2:30 PM" room="DC1302"
1710    title="Friday Flicks">
1711   <short> SIGGRAPH Electronic Theatre Showing </short>
1712   <abstract>
1713   <p>
1714    SIGGRAPH is the ACM's Special Interest Group for Graphics and
1715    simultaneously the world's largest graphics conference and
1716    exhibition, where the cutting edge of graphics research is presented
1717    every year.
1718    </p><p>
1719     With support from UW's Computer Graphics Lab, the CSC invites you to
1720     capture a glimpse of SIGGRAPH 2002. We will be presenting the
1721     Electronic Theatre showings from 2002, demonstrating the best of the
1722     animated, CG-produced movies presented at SIGGRAPH.
1723     </p><p> Don't miss this free showing!</p>
1724   </abstract>
1725   </eventitem>
1726   <eventitem date="2003-07-08" time="4:00 PM" room="MC2065"
1727    title="Mainframes and Linux">
1728   <short>A talk by Jim Elliott. Jim is responsible for IBM's in Open Source
1729   activities and IBM's mainframe operating systems for Canada and the 
1730   Carribbean.</short>
1731   <abstract>
1732   <p>
1733   Linux and Open Source have become a significant reality in the
1734   working world of Information Technology. An indirect result has been a
1735   "rebirth" of the mainframe as a strategic platform for enterprise
1736   computing. In this session Jim Elliott, IBM's Linux Advocate, will provide
1737   an overview of these technologies and an inside look at IBM's participation
1738   in the community. Jim will examine Linux usage on the desktop, embedded
1739   systems and servers, a reality check on the common misconceptions that
1740   surround Linux and Open Source, and an overview of the history and current
1741   design of IBM's mainframe servers.</p>
1742   <p>
1743   Jim Elliott is the Linux Advocate for IBM Canada. He is responsible
1744   for IBM's participation in Linux and Open Source activities and IBM's
1745   mainframe operating systems in Canada and the Caribbean. Jim is a popular
1746   speaker on Linux and Open Source at conferences and user groups across the
1747   Americas and Europe and has spoken to over 300 organizations over the past
1748   three years. Over his 30 years with IBM he has been the co-author of over
1749   15 IBM publications and he also coordinated the launch of Linux on IBM
1750   mainframes in the Americas. In his spare time, Jim is addicted to reading
1751   historical mystery novels and travel to their locales.
1752   </p>
1753   <p><a href="http://www.vm.ibm.com/devpages/jelliott/events.html">Slides</a>
1754   </p>
1755   </abstract>
1756   </eventitem>
1757   <eventitem date="2003-07-04" time="3:30 PM" room="University of Guelph"
1758    title="Guelph Trip">
1759   <short>Come Visit the University of Guelph's Computer Science Club</short>
1760   <abstract><p>
1761    The University of Waterloo Computer Science Club is going to visit the
1762    University of Guelph Computer Science Club.  There will be a talk given
1763    as well as dinner with a fun social atmosphere.</p><p>Drivers Wanted</p>
1764    <p>Cancelled -- sorry Guelph cancelled on us.</p>
1765   </abstract>
1766   </eventitem>
1767   <eventitem date="2003-07-17" time="4:30 PM" room="MC4064"
1768    title="Sh">
1769   <short>Metaprogramming your way to stunning effects.</short>
1770   <abstract>
1771   <p>
1772   Modern graphics processors allow developers to upload small "shader
1773   programs" to the GPU, which can be executed per-vertex or even
1774   per-pixel during the rendering. Such shaders allow stunning effects to
1775   be performed in real-time, but unfortunately aren't very easy to
1776   program since one generally has to write them at the assembly level.
1777   </p><p>
1778   Recently a few high-level languages for shader programming have become
1779   available. Sh, a result of research at UW, is one such language. It
1780   allows programming powerful shaders in simple and intuitive ways. Sh
1781   is particularily interesting because of the way it is
1782   implemented. Instead of coming up with a language grammar and writing
1783   a full-fledged compiler, Sh is implemented as a C++ library, and
1784   shader programs are effectively written in C++. The actual compilation
1785   then takes place in a manner similar to JIT (Just-in-time)
1786   compilers. This has many advantages over the traditional approach,
1787   including C++'s familiar syntax for users, and much less work for the
1788   Sh implementers.
1789   </p><p>
1790   In this talk I will give an overview of GPUs and the Sh language as
1791   well as some interesting details on how Sh was implemented.
1792   </p><p> <!-- Is there a bio tag -->
1793   Stefanus Du Toit is a research assistant at the University of
1794   Waterloo. He has implemented the current version of Sh from scratch
1795   and is actively developing it under supervision of Michael McCool, the
1796   original designer of the language.
1797   </p>
1798   </abstract>
1799   </eventitem>
1800   <eventitem date="2003-06-19" time="4:30 PM" room="MC2037"
1801    title="vi: the visual editor">
1802   <short>It's not 6.</short>
1803   <abstract> 
1804
1805   <p>In 1976, a University of California Berkeley student by the name of
1806   Bill Joy got sick of his text editor, ex.  So he hacked it such that
1807   he could read his document as he wrote it.  The result was "vi", which
1808   stands for VIsual editor.   Today, it is shipped with every modern
1809   Unix system, due to its global influence.</p>
1810
1811   <p>In this talk, you will learn  how to use vi to edit documents
1812   quickly and efficiently.  At the end, you should be able to:</p>
1813
1814   <ul>
1815   <li>Navigate and search through documents</li>
1816   <li>Cut, copy, and paste across documents</li>
1817   <li>Search and replace regular expressions</li>
1818   </ul>
1819
1820   <p>If you do not have a Math computer account, don't panic; one will be lent
1821   to you for the duration of this class.</p>  
1822
1823   </abstract>
1824   </eventitem>
1825
1826   <eventitem date="2003-06-12" time="3:30 PM" room="MC3036 CSC Office" title="June 12 Exec Meeting">
1827   <short>Have an issue that should be brought up? We'd love to hear it!</short>
1828   <abstract>
1829   <pre>
1830   
1831 Budget: All the money we requested
1832         --No money from Pints from Profs
1833         --MathSoc has promised us $1250
1834         
1835 Feedback from Completed Events
1836         UNIX Talks: 17 people for first
1837                         --12 people for second
1838                         --Things going well
1839                         --Last talk today
1840                         --VI next week
1841         IPsec
1842         --Sparse crowd
1843         --People Jim didn't know talked to him for 1/2 hour
1844
1845         History of CSC talk went well
1846         --Good variety of people
1847
1848         Pints with Profs
1849         --NO CS Profs
1850         --Only 1 E&amp; CE prof
1851         --Only 2 Math profs
1852         --Jim will harrass the profs at the School of CS Council meeting.
1853         
1854         We're starting to fall behind in planning
1855         
1856         RoShamBo rules
1857         --Got a web site up
1858         --Might have to move RSB back
1859         --International site has a few test samples
1860         --Stefanus had some ideas
1861         --Coding will probably take an afternoon/evening
1862         --We need volunteers to run the competition
1863         --We have volunteers to code: Phil and Stefanus
1864         
1865         ACTION ITEM: Phil and Stefanus
1866         --code whatever you volunteered to code for.
1867         
1868         --Mike intends to visit classes and directly advertise
1869         --Email Christina Hotz 
1870
1871         --GH guy: Mike has an abstract, will have posters by tomorrow
1872         
1873         CSC Movie Night
1874         --Mathnet, Hackers, Wargames, Tron
1875         --Mike will get a room
1876         --Will be closed member
1877
1878         Mike McCool is offering rooms for showing SIGGRAPH 
1879         ACTION ITEM: Jim
1880         -check with Mike McCool.
1881         
1882         ACTION ITEM: Mike 
1883         -Make posters for Movie Nights
1884
1885         When is other movie night? (Will plan some time in July)
1886
1887         Who is our foreign speaker?
1888         Action Item: jelliot@ca.ibm.com (Check name first) about 
1889         getting a foreign speaker -- Note: Has already been contacted.
1890
1891         Simon got money from Engsoc
1892
1893         Cass meeds coloured paper (CSC is out)
1894
1895         ACTION ITEM: Cass and Mark 
1896         --get labelmaker tape, masking tape, 
1897         whiteboard makers, coloured paper 
1898         --keep reciepts for CSC office expenses
1899
1900         NOTICE: Mike is now Imapd
1901
1902         Simon distibuted budget list
1903         Mark got the money from Mathsoc for last budget, deposited it.
1904
1905         ACTION ITEM:Mark
1906         --Get MEF funding by July 4th (equipment)
1907         ACTION ITEM: Simon
1908         --Get WEEF funding by June 27th (book)
1909
1910         Jim still working on allowing executives and voters to be 
1911         non-math members
1912
1913         We get free photocopying from MathSoc
1914         ACTION ITEM: Mike 
1915         --write down code for free photocopying from MathSoc
1916         
1917         Simon has been able to get into the cscdisk account, still 
1918         looking into getting into the cscceo account.
1919
1920         Damien got an e-mail stating that the files for cscdisk are 
1921         out of date.
1922         
1923         ACTION ITEM: Simon
1924         --provide SSH key to Phil for getting into cscdisk, cscceo, etc...
1925         --Renumber bootup scripts for sugar and powerpc so that they 
1926         boot up happily.
1927
1928         ACTION ITEM: Mike needs to do all the plantops stuff again.
1929
1930         ACTION ITEM: Mike -- &quot;Stapler if you say please&quot; sign.
1931
1932         CVS Tree for CEO has been exported.
1933         Damien has volunteered to finish CEO (found by Cass)
1934
1935         All books with barcodes have been scanned
1936         All books without barcodes need to be bar-coded.
1937
1938         ACTION ITEM: Mark
1939         --Find a Credit-card with a $500 or less limit.
1940
1941         Note: There needs to be a private section in the 
1942         CSC Procedures Manual. (Only accessible by shell)
1943
1944         Stefanus Wanted to mention that we should talk to 
1945         Yolanda, Craig or Louie about a EYT event for Frosh Week.
1946   </pre>
1947   </abstract>
1948   </eventitem>
1949
1950   <eventitem date="2003-06-10" time="4:30 PM" room="MC2066"
1951    title="A Brief History of Computer Science">
1952   <abstract>
1953
1954 <p>War, insanity, espionage, beauty, domination, sacrifice, and tragic
1955 death... not what one might associate with the history of computer
1956 science. In this talk I will focus on the origin of our discipline in
1957 the fields of engineering, mathematics, and science, and on the
1958 complicated personalities that shaped its evolution. No advanced
1959 technical knowledge is required.</p>
1960
1961   </abstract>
1962   </eventitem>
1963
1964   <eventitem date="2003-06-09" time="5:00 - 9:00 PM" room="The Grad House"
1965    title="Pints with Profs!">
1966   <short>Get to know your profs and be the envy of your friends!</short>
1967   <abstract>
1968
1969 <p>Come out and meet your professors!!  This is a great opportunity to
1970 meet professors for Undergraduate Research jobs or to find out who you might
1971 have for future courses.  One and all are welcome!</p>
1972
1973 <p>Best of all... free food!!!</p>
1974
1975   </abstract>
1976   </eventitem>
1977
1978   <eventitem date="2003-05-29" time="4:30 PM" room="MC2037"
1979    title="Unix 101: First Steps With Unix">
1980   <short>Learn Unix and be the envy of your friends!</short>
1981   <abstract> 
1982
1983   <p>This is the first in a series of seminars that cover the use of the
1984   Unix Operating System.  Unix is used in a variety of applications, both
1985   in academia and industry. We will provide you with hands-on experience
1986   with the Math Faculty's Unix environment in this seminar.</p> 
1987
1988   <p>Topics that will be discussed include:</p>
1989
1990   <ul>
1991   <li>Navigating the Unix environment</li>
1992   <li>Using common Unix commands</li>
1993   <li>Using the PICO text editor</li>
1994   <li>Reading electronic mail and news with PINE</li>
1995   </ul>
1996
1997   <p>If you do not have a Math computer account, don't panic; one will be lent
1998   to you for the duration of this class.</p>  
1999
2000   </abstract>
2001   </eventitem>
2002
2003   <eventitem date="2003-06-05" time="4:30 PM" room="MC2037"
2004    title="Unix 102: Fun With Unix">
2005   <short>Talking to your Unix can be fun and profitable</short>
2006   <abstract> 
2007
2008   <p>This is the second in a series of seminars that cover the use of the
2009   Unix Operating System.  Unix is used in a variety of applications, both in
2010   academia and industry.  We will provide you with hands-on experience with
2011   the Math Faculty's Unix environment in this tutorial.</p>
2012
2013   <p>Topics that will be discussed include:</p>
2014
2015   <ul>
2016   <li>Interacting with Bourne and C shells</li>
2017   <li>Editing text with the vi text editor</li>
2018   <li>Editing text with the Emacs display editor</li>
2019   <li>Multi-tasking and the screen multiplexer</li>
2020   </ul>
2021
2022   <p>If you do not have a Math computer account, don't panic; one will be
2023   lent to you for the duration of this class</p>
2024
2025   </abstract>
2026   </eventitem>
2027
2028   <eventitem date="2003-06-12" time="4:30 PM" room="MC2037"
2029    title="Unix 103: Scripting Unix">
2030   <short>You too can be a Unix taskmaster</short>
2031   <abstract> 
2032
2033   <p>This is the third in a series of seminars that cover the use of the
2034   Unix Operating System.  Unix is used in a variety of applications, both in
2035   academia and industry.  We will provide you with hands-on experience with
2036   the Math Faculty's Unix environment in this tutorial.</p>
2037
2038   <p>Topics that will be discussed include:</p>
2039
2040   <ul>
2041   <li>Shell scripting</li>
2042   <li>Searching through text files</li>
2043   <li>Batch editing text files</li>
2044   </ul>
2045
2046   <p>If you do not have a Math computer account, don't panic; one will be
2047   lent to you for the duration of this class</p>
2048
2049   </abstract>
2050   </eventitem>
2051
2052 <eventitem date="2003-05-22" time="4:30 PM" room="MC3036 CSC Office" title="May 22 Exec Meeting">
2053 <short>The execs discuss what needs discussion</short>
2054 <abstract>
2055 <pre>
2056
2057 Minutes for CSC Exec Meeting
2058 May 22, 2003
2059
2060
2061 * Add staff to burners group.
2062         -- Only office staff (people who do stuff) on burners list
2063         -- No objections from executives
2064
2065 * We still need a webmaster, imapd
2066         -- Action Item: Mike
2067                 --Check for pop delivery services (Like Grocery Gateway)
2068                 so that we can replace imapd with an automated cronjob
2069                 -- If this gets implemented, we must make sure that 
2070                 someone is around to receive the pop whenever it is 
2071                 delivered. 
2072
2073 * Budgets
2074         Action Item: Simon
2075                 -- Make sure execs receive a copy of the proposed budget
2076         Action Item: Mark
2077                 -- Look into claiming money from Mathsoc for the last 
2078                 term.
2079         --Will be looked over the week after next Monday at the Mathsoc
2080         Budget meeting.
2081         --June 27th is the WEF (Engineering Endowment Fund) deadline
2082         --EngSoc proposal for donations by the end of the month
2083         -- Around 15 events planned
2084                 --Foreign Speaker
2085                         --CS Departmant will pay for flight
2086                         -- We can pay local expenses
2087                 --Pints with Profs
2088                 --Ro-Sham-Bo
2089                 
2090 *Changes in the MathSoc Clubs Policy
2091         Action Item: Jim and Stefanus
2092                 --Bring thus up with MathSoc
2093                 --Might be good to talk to Bioinformatics about this, as 
2094                 they have science faculty members to take care of as well. 
2095         --Major issue: People who revoke their Mathsoc fees can still be
2096         voting  members
2097         --We want it so that only people who have paid dues to Mathsoc 
2098         can vote.
2099         --Execs should not take back fees, as that is bad form.
2100         --All execs unanimously agreed with this proposal
2101
2102 *Confirming that we have free printing and photocopying
2103         Action Item: Mark
2104                 --Does Faculty of Math billing code apply to CSC 
2105                 (as Faculty of Math department?)
2106                 -- Procedures manual has a billing code, but it should 
2107                 be confirmed.
2108                 -- Ask MUO, then Shirley after that.
2109         Action Item: Simon
2110                 --Apparently there is a special Watcard that provides 
2111                 free printing from MFCF
2112                 --We do not know what account it is mapped to, 
2113                 or the password.
2114
2115 * Getting csc_disk, csc, csc_ceo accounts on undergrad to work again.
2116         Action Item: Phil
2117                 -- Get csc-disk back up for student use.
2118                 -- What group permissions do we need?
2119                 -- CSC-Disk should be used as a repository for custom 
2120                 window managers, Mozilla, etc... (selling factor for
2121                 CSC accounts)
2122                 -- We should also have an announcement (MOTD, perhaps?) 
2123                 that we are providing and supporting this software.
2124                         --Consider: Having university-wide accessible 
2125                         binaries might be a pain, as different machines
2126                         might require different compilations.
2127                 -- CSC-Disk is full of user data. Should that be blown away?
2128
2129 *Getting locker #7 from MathSoc (Don't we already have lockers 788 and 
2130 789?)
2131         --Why were the locks snipped? (Bring up at council meeting)
2132         --We would prefer one combo-lock and one key-lock.
2133
2134 * Review of the CSC office organization
2135         Action Item: Damien
2136                 --Give Mike sudo access for shutdown
2137                         --Will be rewiring stuff on Saturday
2138                                 --involves re-plugging machines
2139         Action Item: Simon
2140                 --Get rubber wheels for chairs
2141         
2142         Action Item: Mike
2143                 -- Ask PlantOps about:
2144                         --Waxing floors
2145                         --Installing Electronic Lock (asap)
2146                                 --According to Faculty of Math, 
2147                                 we shouldn't need keys.
2148                                 --Currently, we still need keys
2149                                 --It is kosher to install Electronic lock
2150                                 --This provides access right control as 
2151                                 compared to key-control.                
2152                                 --Might be long term project.
2153                                 --Will green men do it?
2154                         --Steam-clean chairs (at least once a term)
2155                         --Cork-board
2156                         --Making ugly wall prettier
2157                                 --PlantOps knows about office 
2158                                 organization, making environment better.
2159         --Whiteboards need to be put up
2160         --Proposal: Cork-board on pillar (no objections)
2161         --Metal frames on Whiteboard will be in least annoying place
2162
2163 *Do we provide public stapler access?
2164         --People are often unappreciative and rude
2165         --Sign -  "Stapler if you say please" -- Unanimously voted 
2166                                                  stapler policy
2167         
2168 *MathSoc Sign
2169         --Action Item: Jim
2170                 --Find out where to get CSC sign before Monday so we 
2171                 can claim it in old budget. 
2172
2173 * Librarian's Report
2174         --Action Item: Jim
2175                 --Find perl volunteer to finish CEO
2176                 --Force Stefanus to export CVS tree and put onto Peri
2177         
2178         --Books were scanned into system with help of Mark
2179         --All books with valid barcodes entered into system on 
2180         May 20th
2181         --Books without valid barcodes are not in system
2182                 --Someone needs to do it
2183         --Plan is to implement Dewey decimal system
2184                 --May be inefficient as all books are about CS
2185                 --We will figure out a system later
2186         --No plans to purchase new books
2187         --Librarian's Request:  Office Staff should not lend out books 
2188         that do not have barcodes (No objects to request) 
2189         --We are still using /media/iso/request to track books
2190         --Should be charge late fees for books?
2191         --We should have money in budget for repairing,maintaining books
2192         --Before spending money on maintaining books, check if DC will 
2193         do it
2194                 --will it be cheaper/easier/better?
2195
2196 *Setting up extra quota for fun and profit.
2197         -- We don't implement quota properly right now
2198         -- Low demand for extra quota
2199         -- Counterpoint: Old CSC made tons of money
2200         -- Counter-counter-point: It's not that necessary for extra 
2201         quota nowadays. 
2202         -- Executives voted against proposal.
2203
2204 *Jim will spam with an update about the term
2205         --Consider making it opt-in
2206         --One email from a service you are using should be considered 
2207         reasonable mass mailing
2208
2209 *Should Jim bring anything up at the MathSoc meeting?**
2210         -- Has a list
2211
2212 * Student branches for ACM and IEEE
2213         Action Item: Gaelan
2214                 --Contact IEEE Computing Society in UW and ask if they want 
2215                 to merge or transfer society to us
2216         --Simon volunteers to be put down as exec for ACM
2217                 --ACM rules state requirement that exec is a ACM member
2218         --Do we renew Calum's ACM membership?
2219                 --Yes (3 Yes; 1 No; 1 Abstention)
2220         --ACM membership money in budget
2221         --ACM Student chapter form has not come in
2222
2223 * What to do with the donated Procedures Manual?
2224         --Term Task for webpage:
2225                 --Put procedures manual on web-page.
2226                 --Merge with current manual
2227         --We don't have a hard copy
2228         --Would be a good thing to read.
2229         --Many parts need updating
2230
2231 </pre>
2232 </abstract>
2233 </eventitem>
2234
2235 <eventitem date="2003-05-14" time="4:30 PM" room="MC3001 Comfy Lounge"
2236  title="Spring 2003 Elections">
2237  <short>Come on out and vote for your exec!</short>
2238  <abstract>
2239 <p>Elections will be held on Wednesday, May 14, 2003 at 4:30 PM in the
2240 Comfy Lounge, MC3001.</p>
2241
2242 <p>I invite you to nominate yourself or others for executive positions,
2243 starting immediately. Simply e-mail me at sjdutoit@uwaterloo.ca or
2244 cro@csclub.uwaterloo.ca with the name of the person who is to be
2245 nominated and the position they're nominated for.</p>
2246
2247 <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
2248
2249 <p>Positions open for elections are:</p>
2250
2251 <ul>
2252 <li>
2253 President: Organises the club, appoints committees, keeps everyone busy.
2254 If you have lots of ideas about the club in general and like bossing
2255 people around, go for it!
2256 </li>
2257
2258 <li>
2259 Vice President: Organises events, acts as the president if he's not
2260 available. If you have lots of ideas for events, and spare time, go
2261 for it!
2262 </li>
2263
2264 <li>
2265 Treasurer: Keeps track of the club's finances. Gets to sign cheques
2266 and stuff. If you enjoy dealing with money and have ideas on how to
2267 spend it, go for it!
2268 </li>
2269
2270 <li>
2271 Secretary: Takes care of minutes and outside correspondence. If you
2272 enjoy writing things down and want to use our nifty new letterhead
2273 style, go for it!
2274 </li>
2275 </ul>
2276
2277 <p>Nominations will be accepted until Tuesday, May 13 at 4:30 PM.</p>
2278
2279 <p>Additionally, a Sysadmin will be appointed after the elections. If you
2280 like working with unix systems and have experience setting up and
2281 maintaining them, go for it!</p>
2282
2283 <p>I hope that lots of people will show up; hopefully we'll have a great
2284 term with plenty of events. We always need other volunteers, so if you
2285 want to get involved just talk to the new exec after the
2286 meeting. Librarians, webmasters, poster runners, etc. are always
2287 sought after!</p>
2288
2289 <p>There will also be free pop, and if I remember, timbits :).</p>
2290
2291 <p>Memberships can be purchased at the elections. Only undergrad math
2292 members can vote, but anyone can become a member.</p>
2293
2294 <p>Don't forget! Mark it on your calendar/wrist watch/PDA/brain implant!</p>
2295
2296  </abstract>
2297 </eventitem>
2298
2299 <!-- Winter 2003 -->
2300
2301   <eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
2302    title="Unix 101 Tutorial">
2303   <short>Learn Unix and be the envy of your friends!</short>
2304   <abstract> 
2305
2306   <p>This is the first in a series of seminars that cover the use of the
2307   UNIX Operating System.  UNIX is used in a variety of applications, both
2308   in academia and industy. We will provide you with hands-on experience
2309   with the Math Faculty's UNIX environment in this seminar.</p> 
2310
2311   <p>Topics that will be discussed include:</p>
2312
2313   <ul>
2314   <li> Navigating the UNIX environment</li>
2315   <li> Using common UNIX commands</li>
2316   <li>Using the PICO text editor</li>
2317   <li>Reading electronic mail and news with PINE</li>
2318   </ul>
2319
2320   <p>If you do not have a Math computer account, don't panic; one will be lent
2321   to you for the duration of this class.</p>  
2322
2323   </abstract>
2324   </eventitem>
2325
2326   <eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
2327    title="Unix 102 Tutorial">
2328   <short>Learn more Unix and be the envy of your friends!</short>
2329   <abstract> 
2330
2331   <p>Abstract to come soon.</p>
2332
2333   </abstract>
2334   </eventitem>
2335
2336   <eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
2337    title="Unix 103 Tutorial">
2338   <short>Learn more Unix and be the envy of your friends!</short>
2339   <abstract> 
2340
2341   <p>Abstract to come soon. </p>
2342
2343   </abstract>
2344   </eventitem>
2345
2346   <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
2347     title="W03 Elections">
2348     <short>Come out and vote for the new exec!</short>
2349    <abstract>
2350
2351 <p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
2352 MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
2353 January 2) until 4:30 PM of the day before elections (Sunday, January 12).
2354 In order to nominate someone you can either e-mail me directly, by depositing
2355 a form with the required information in the CSC mailbox in the Mathsoc office
2356 or by writing the nomination and clearly marking it as such on the large
2357 whiteboard in the CSC office. E-mail is probably the best choice.
2358 Please include the name of the person to be nominated as well as the position
2359 you wish to nominate them for.</p>
2360
2361 <p>Candidates must be full members of the club. This means they must have paid
2362 their membership for the given term and (due to recent changes in the
2363 constitution) must be full-time undergraduate math students.
2364 The same requirements hold for those voting. Please bring your Watcard to
2365 the elections so that I can verify this. I will have a list of members with
2366 me also.</p>
2367
2368 <p>The positions open are:</p>
2369
2370 <p><b>President</b> -- appoints all commitees of the club, calls and presides at all
2371 meetings of the club and audits the club's financial records. Really, this
2372 is the person in charge.</p>
2373
2374 <p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
2375 plans and coordinates events with the programmes committee and assumes any
2376 other duties delegated by the President.
2377 This is a really fun job if you enjoy coordinating events!</p>
2378
2379 <p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
2380 A fairly light job, good choice if you just want to see what being an exec
2381 is all about.</p>
2382
2383 <p><b>Treasurer</b> -- maintains all the finances of the club.
2384 If you like money and keeping records, this is the job for you!</p>
2385
2386 <p>Additionally a Systems Administrator will be picked by the new executive.</p>
2387
2388 <p>Last term was a great term for the CSC -- many events, some office renovations
2389 and a much improved image were all part of it. I hope to see the next term's
2390 exec continue this. If you're interested in seeing this happen, do consider
2391 going for a position, or helping out as office staff or on one of the
2392 committees.</p>
2393
2394 <p>Anyways, hopefully I'll see many of you at the elections.
2395 Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
2396
2397 <p>If you have any further questions don't hesitate to contact the CRO,
2398       Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
2399     </abstract>
2400   </eventitem>
2401
2402   <eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
2403     title="Regular Expressions">
2404     <short>Find your perfect match</short>
2405     <abstract>
2406
2407     <p>Stephen Kleene developed regular expressions to describe what he
2408     called <q>the algebra of regular sets.</q>  Since he was a pioneering
2409     theorist in computer science, Kleene's regular expressions soon made
2410     it into searching algorithms and from there to everyday tools.</p>
2411
2412     <p>Regular expressions can be powerful tools to manipulate text.
2413     You will be introduced to them in this talk.  As well, we will go
2414     further than the rigid mathematical definition of regular
2415     expressions, and delve into POSIX regular expressions which are
2416     typically available in most Unix tools.</p>
2417
2418     </abstract>
2419   </eventitem>
2420
2421   <eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
2422     title="sed &amp; awk">
2423     <short>Unix text editing</short>
2424     <abstract>
2425
2426     <p><i>sed</i> is the Unix stream editor.  A powerful way to
2427     automatically edit a large batch of text.  <i>awk</i> is a
2428     programming language that allows you to manipulate structured data
2429     into formatted reports.</p>
2430
2431     <p>Both of these tools come from early Unix, and both are still
2432     useful today.  Although modern programming languages such as Perl,
2433     Python, and Ruby have largely replaced the humble <i>sed</i> and
2434     <i>awk</i>, they still have their place in every Unix user's
2435     toolkit.</p>
2436
2437     </abstract>
2438   </eventitem>
2439
2440   <eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
2441     title="LaTeX: A Document Processor">
2442     <short>Typesetting beautiful text</short>
2443     <abstract>
2444
2445     <p>Unix was one of the first electronic typesetting platforms.  The
2446     innovative AT&amp;T <i>troff</i> system allowed researches at Bell
2447     Labs to generate high quality camera-ready proofs for their papers.
2448     Later, Donald Knuth invented a typesetting system called
2449     T<small>E</small>X, which was far superior to other typesetting
2450     systems in the 1980s.  However, it was still a typesetting language,
2451     where one had to specify exactly how text was to be set.</p>
2452
2453     <p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
2454     for the T<small>E</small>X system that allows an author to describe
2455     his document's function, thereby typesetting the text in an
2456     attractive and correct way.  In addition, one can define semantic
2457     tags to a document, in order to describe the meaning of the
2458     document; rather than the layout.</p>
2459
2460     </abstract>
2461   </eventitem>
2462
2463   <eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
2464     title="LaTeX: Reports">
2465     <short>Writing reports that look good.</short>
2466     <abstract>
2467
2468     <p>Work term reports, papers, and other technical documents can be
2469     typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
2470     effect.  In this session, I will provide examples on how to typeset
2471     tables, figures, and references.  You will also learn how to make
2472     tables of contents, bibliographics, and how to create footnotes.</p>
2473
2474     <p> I will also examine various packages of 
2475     L<sup><small>A</small></sup>T<small>E</small>X that can help you 
2476     meet requirements set by users of inferior typesetting systems.  
2477     These include double-spacing, hyphenation and specific margin 
2478     sizes.</p>
2479
2480     </abstract>
2481   </eventitem>
2482
2483   <eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
2484     title="LaTeX: Beautiful Mathematics">
2485     <short>LaTeX =&gt; fun</short>
2486     <abstract>
2487
2488     <p>It is widely acknowledged that the best system by which to
2489     typeset beautiful mathematics is through the T<small>E</small>
2490     typesetting system, written by Donald Knuth in the early 1980s.</p>
2491
2492     <p>In this talk, I will demonstrate
2493     L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
2494     elegant mathematical expressions.</p>
2495
2496     </abstract>
2497   </eventitem>
2498
2499   <eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
2500     title="The BSD License Family">
2501     <short>Free for all</short>
2502     <abstract>
2503
2504     <p>Before the GNU project ever existed, before the phrase
2505     "Free Software" was ever coined, students and researchers
2506     at the University of California, Berkeley were already
2507     practising it.  They had acquired the source cdoe to a
2508     little-known operating system developed at AT&amp;T
2509     Bell Laboratories, and were creating improvments at a
2510     ferocious rate.</p>
2511
2512     <p>These improvements were sent back to Bell Labs, and
2513     shared to other Universities.  Each of them were licensed
2514     under what is now known as the "Original BSD license".  Find
2515     out what this license means, its implications, and what are
2516     its decendents by attending this short talk.</p>
2517
2518     </abstract>
2519   </eventitem>
2520
2521   <eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
2522     title="The GNU General Public License">
2523     <short>The teeth of Free Software</short>
2524     <abstract>
2525
2526     <div style="font-style: italic"><blockquote>
2527       The licenses for most software are designed to take away your
2528       freedom to share and change it. By contrast, the GNU General
2529       Public License is intended to guarantee your freedom to share and
2530       change free software---to make sure the software is free for all
2531       its users.
2532       <br />
2533       <div style="text-align:right">--- Excerpt from the GNU GPL</div>
2534     </blockquote></div>
2535     
2536     <p> The GNU General Public License is one of the most influencial
2537     software licenses in this day.  Written by Richard Stallman for the
2538     GNU Project, it is used by software developers around the world to
2539     protect their work.</p>
2540
2541     <p>Unfortunately, software developers do not read licenses
2542     thoroughly, nor well.  In this talk, we will read the entire GNU GPL
2543     and explain the implications of its passages.  Along the way, we
2544     will debunk some myths and clarify common misunderstandings.</p>
2545
2546     <p>After this session, you ought to understand what the GNU GPL
2547     means, how to use it, and when you cannot use it.  This session
2548     should also give you some insight into the social implications of
2549     this work.</p>
2550
2551     </abstract>
2552   </eventitem>
2553
2554   <eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
2555     title="XML">
2556     <short>Give your documents more markup</short>
2557     <abstract>
2558
2559     <p>XML is the <q>eXtensible Markup Language,</q> a standard
2560     maintained by the World Wide Web Consortium.  A descendant of IBM's
2561     SGML.  It is a metalanguage which can be used to define markup
2562     languages for semantically describing a document.</p>
2563
2564     <p>This talk will describe how to generate correct XML documents,
2565     and auxillary technologies that work with XML.</p>
2566
2567     </abstract>
2568   </eventitem>
2569
2570   <eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
2571     title="XSLT">
2572     <short>Transforming your documents</short>
2573     <abstract>
2574
2575     <p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
2576     a language for transforming XML documents into other XML
2577     documents.</p>
2578
2579     <p>XSLT is used to manipulate XML documents into other forms: a sort
2580     of glue between data formats.  It can turn an XML document into an
2581     XHTML document, or even an HTML document.  With a little bit of
2582     hackery, it can even be convinced to spit out non-XML conforming
2583     documents.</p>
2584
2585     </abstract>
2586   </eventitem>
2587
2588   <eventitem date="2003-03-24" time="8:00 PM" 
2589     room="Humanities Theatre, Hagey Hall"
2590     title="Judy, or What Is It Like To Be A Robot?">
2591     <short>Held in co-operation with the UW Cognitive Science Club</short>
2592     <abstract>
2593
2594     <p>A lot of claims have been made lately about the intelligence of 
2595     computers.  Some researchers say that computers will eventually attain 
2596     super-human intelligence.  Others call thse claims... um, poppycock.  
2597     Oddly enough, in the search for the truth of the matter, both camps 
2598     have overlooked an obvious strategy: interviewing a computer and asking 
2599     her opinion.</p>
2600
2601     <p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and 
2602     lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>
2603
2604     <p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
2605     imagination stretcher that delights while it exercises your mind.  If you
2606     think you can't imagine a conscious robot, you're wrong---you can,
2607     especially once you've met Judy." --- Daniel C. Dennett,
2608     author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
2609     &amp;c.</p>
2610
2611     <p>"...an engrossing evening...  Real questions about 
2612     consciousness, freedom to act, the relationship between the creator 
2613     and the created are woven into a bravura performance." --- Will 
2614     Stackman, <i>Aislesay.com</i></p>
2615
2616     <p>Sponsored by the Mathematics Society, the Federation of Students, the
2617     Arts Student Union, the Graduate Student Association, and the Department of
2618     Philosophy. Tickets available at the Humanities box office (888-4908) and
2619     the offices of the Psychology Society and the Computer Science Club for
2620     $5.50.  For
2621     more information: <a
2622     href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>
2623
2624     </abstract>
2625   </eventitem>
2626
2627   <eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
2628     title="Stream Processing">
2629     <short>A talk by Assistant Professor Michael McCool</short>
2630     <abstract>
2631
2632     <p>Stream processing is an enhanced version of SIMD processing that
2633     permits efficient execution of conditionals and iteration.  Stream
2634     processors have many similarities to GPUs, and a hardware prototype,
2635     the Imagine processor, has been used to implement both OpenGL and
2636     Renderman.</p>
2637
2638     <p>It is possible that GPUs will acquire certain properties
2639     of stream processors in the future, which should make them easier
2640     to use and more efficient for general-purpose computation that includes
2641     data-dependent iteration and conditionals.</p>
2642
2643     </abstract>
2644   </eventitem>
2645
2646   <eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
2647     title="Abusing the C++ Compiler">
2648     <short>Abusing template metaprogramming in C++</short>
2649     <abstract>
2650
2651     <p>Templates are a useful feature in C++ when it comes to writing
2652     type-independent data structures and algorithms.  But that's not all
2653     they can be used for.  Essentially, it is possible to write certain
2654     programs in C++ that execute completely at compile-time rather
2655     than run-time.  Combined with some optimisations this is an interesting
2656     twist on regular C++ programming.</p>
2657
2658     <p>This talk will give a short overview of the features of templates
2659     and then go on to describe how to "abuse" templates to perform complex
2660     computations at compile time. The speaker will present three programs of
2661     increasing complexity which execute at compile time. First a factorial
2662     listing program, then a prime listing program will be presented. Finally
2663     the talk will conclude with the presentation of a <i>Mandelbrot
2664     generator running at compile time.</i></p>
2665
2666     <p>Some basic knowledge of C++ will be assumed.</p>
2667
2668     </abstract>
2669   </eventitem>
2670
2671   <eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
2672     title="SSH and Networks">
2673     <short>Once more into the breach</short>
2674     <abstract>
2675
2676     <p>The Secure Shell (SSH) has now replaced traditional remote login
2677     tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
2678     <i>telnet</i>.  It is used to provide secure, authenticated,
2679     encrypted communications between remote systems.  However, the SSH
2680     protocol provides for much more than this.</p>
2681
2682     <p>In this talk, we will discuss using SSH to its full extent.  Topics
2683     to be covered include:</p>
2684     <ul>
2685       <li>Remote logins</li>
2686       <li>Remote execution</li>
2687       <li>Password-free authentication</li>
2688       <li>X11 forwarding</li>
2689       <li>TCP forwarding</li>
2690       <li>SOCKS tunnelling</li>
2691     </ul>
2692
2693     </abstract>
2694   </eventitem>
2695
2696   <!-- Fall 1994 -->
2697         <eventitem
2698          date="1994-09-13" time="9:00 PM"
2699          room="Princess Cinema"
2700          title="Movie Outing: Brainstorm">
2701                 <short>
2702                         No description available.
2703                 </short>
2704                 <abstract>
2705                         <p>
2706                         The first of this term's CSC social events, we will be going to see
2707                         the movie ``Brainstorm'' at the Princess Cinema. This outing is
2708                         intended primarily for the new first-year students.
2709                         </p>
2710                         <p>
2711                         The Princess Cinema is Waterloo's repertoire theatre. This month
2712                         and next, they are featuring a ``Cyber Film Festival''. Upcoming
2713                         films include:
2714                         </p>
2715                         <ul>
2716                                 <li>Brazil</li>
2717                                 <li>Bladerunner (director's cut)</li>
2718                                 <li>2001: A Space Odyssey</li>
2719                                 <li>Naked Lunch</li>
2720                         </ul>
2721                         <p>
2722                         Admission is $4.25 for a Princess member, $7.50 for a non-member.
2723                         Membership to the Princess is $7.00 per year. 
2724                         </p>
2725                 </abstract>
2726         </eventitem>
2727         <eventitem
2728          date="1994-09-16" time="4:30 PM"
2729          room="MC 4040"
2730          title="CSC Elections">
2731                 <short>No description available</short>
2732                 <abstract>No abstract available</abstract>
2733         </eventitem>
2734         <eventitem
2735          date="1994-09-19" time="4:30 PM"
2736          room="MC 3022"
2737          title="UNIX I Tutorial">
2738                 <short>No description available</short>
2739                 <abstract>No abstract available</abstract>
2740         </eventitem>
2741         <eventitem
2742          date="1994-09-21" time="6:30 PM"
2743          room="DC 1302"
2744          title="SIGGRAPH Video Night">
2745                 <short>No description available</short>
2746                 <abstract>No abstract available</abstract>
2747         </eventitem>
2748         <eventitem
2749          date="1994-09-22" time="4:30 PM"
2750          room="MC 3022"
2751          title="UNIX I Tutorial">
2752                 <short>No description available</short>
2753                 <abstract>No abstract available</abstract>
2754         </eventitem>
2755         <eventitem
2756          date="1994-09-26" time="4:30 PM"
2757          room="MC 3022"
2758          title="UNIX II Tutorial">
2759                 <short>No description available</short>
2760                 <abstract>No abstract available</abstract>
2761         </eventitem>
2762         <eventitem
2763          date="1994-10-13" time="5:00 PM"
2764          room="DC 1302"
2765          title="Prograph: Picture the Future">
2766                 <short>No description available</short>
2767                 <abstract>
2768                         <p>
2769                         What is the next step in the evolution of computer languages?
2770                         Intelligent agents? Distributed objects? or visual languages?
2771                         </p>
2772                         <p>
2773                         Visual languages overcome many of the drawbacks and limitations
2774                         of the textual languages that software development is based on
2775                         today. Do you think about programming in a linear fashion? Or do
2776                         you draw a mental picture of your algorithm and then linearize it
2777                         for the benefit of your compiler? Wouldn't it be nice if you could
2778                         code the same way you think?
2779                         </p>
2780                         <p>
2781                         Visual C++ and Visual BASIC aren't visual languages, but Prograph
2782                         is. Prograph is a commercially available, visual, object-oriented,
2783                         data-flow language. It is well suited to graphical user interface
2784                         development, but is as powerful for general-purpose programming as
2785                         any textual language.
2786                         </p>
2787                         <p>
2788                         The talk will comprise a discussion of the problems of textual
2789                         languages that visual languages solve, a live demonstration of
2790                         Prograph, and some of my observations of the applications of
2791                         Prograph to software development.
2792                         </p>
2793                 </abstract>
2794         </eventitem>
2795         <eventitem
2796          date="1994-10-15" time="10:00 AM"
2797          room="MC 3022"
2798          title="ACM-Style Programming Contest">
2799                 <short>No description available</short>
2800                 <abstract>
2801                         <h3>Big Money and Prizes!</h3>
2802                         <p>
2803                         So you think you're a pretty good programmer? Pit your skills
2804                         against others on campus in this triannual event! Contestants will
2805                         have three hours to solve five programming problems in either C or
2806                         Pascal.
2807                         </p>
2808                         <p>
2809                         Last fall's winners went on to the International Finals and came
2810                         first overall! You could be there, too!
2811                         </p>
2812                 </abstract>
2813         </eventitem>
2814         <eventitem
2815          date="1994-10-20" time="4:30 PM"
2816          room="MC 3009"
2817          title="Exploring the Internet">
2818                 <short>No description available</short>
2819                 <abstract>
2820                         <h3>Need something to do between assignments/beers?</h3>
2821                         <p>
2822                          Did you know that your undergrad account at Waterloo gives you
2823                          access tothe world's largest computer network? With thousands
2824                          of discussion groups, gigabytes of files to download, multimedia
2825                          information browsers, even on-line entertainment?
2826                         </p>
2827                         <p>
2828                         The resources available on the Internet are vast and wondrous, but
2829                         the tools for navigating it are sometimes confusing and arcane. In
2830                         this hands-on tutorial you will get the chance to get your feet wet
2831                         with the world's most mind-bogglingly big computer network, the
2832                         protocols and programs used, and how to use them responsibly and
2833                         effectively. 
2834                         </p>
2835                 </abstract>
2836         </eventitem>
2837         <eventitem
2838          date="1994-11-02" time="4:30 PM"
2839          room="MC 2038"
2840          title="Game Theory">
2841                 <short>No description available</short>
2842                 <abstract>
2843                         <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
2844                         <p>
2845                          This will be a descussion of the pitfalls of using mathematics and
2846                          algorithms to play classical board games. Thorough descriptions
2847                          shall be presented of the simple techniques used as the building
2848                          blocks that make all modern computer game players. I will use
2849                          tic-tac-toe as a control for my arguements. Other games such as
2850                          Chess, Othello and Go shall be the be a greater measure of progress;
2851                          and more importantly the targets of our dreams.
2852                          </p>
2853                         <p>
2854                          To enhance the discussion of the future, Barney Pell's Metagamer
2855                          shall be introduced. His work in define classes of games is
2856                          important in identifying the features necessary for analysis. 
2857                          </p>
2858                 </abstract>
2859         </eventitem>
2860
2861   <!-- Fall 1999 -->
2862
2863   <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
2864   title="Living Laboratories: The Future Computing Environments at
2865   Georgia Tech">
2866     <short>By Blair MacIntyre and Elizabeth Mynatt</short>
2867     <abstract>
2868       <p>by   Blair MacIntyre and Elizabeth Mynatt</p>
2869       <p>The Future Computing Environments (FCE) Group at Georgia Tech
2870         is a collection of faculty and students that share a desire to
2871         understand the partnership between humans and technology that
2872         arises as computation and sensing become ubiquitous.  With
2873         expertise covering the breadth of Computer Science, but
2874         focusing on HCI, Computational Perception, and Machine
2875         Learning, the individual research agendas of the FCE faculty
2876         are grounded in a number of shared "living laboratories" where
2877         their research is applied to everyday life in the classroom
2878         (Classroom 2000), the home (the Aware Home), the office
2879         (Augmented Offices), and on one's person.  Professors
2880         MacIntyre and Mynatt will discuss a variety of these projects,
2881         with an emphasis on the HCI and Computer Science aspects of
2882         the FCE work.
2883       </p>
2884       <p>
2885         In addition to their affiliation with the FCE group,
2886         Professors Mynatt and MacIntyre are both members of the
2887         Graphics, Visualization and Usability Center (GVU) at Georgia
2888         Tech.  This interdisciplinary center brings together research
2889         in computer science, psychology, industrial engineering,
2890         architecture and media design by examining the role of
2891         computation in our everyday lives.  During the talk, they will
2892         touch on some of the research and educational opportunities
2893         available at both GVU and the College of Computing.
2894       </p>
2895     </abstract>
2896   </eventitem>
2897
2898   <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
2899   title="GDB, Purify Tutorial">
2900     <short>No description available.</short>
2901     <abstract>
2902       <p>
2903        Debugging can be the most difficult and time consuming part of
2904        any program's life-cycle. Far from an exact science, it's more
2905        of an art ... and close to some kind of dark magic. Cryptic
2906        error messages, lousy error checking, and icky things like
2907        implicit casts can make it nearly impossible toknow what's
2908        going on inside your program.
2909       </p>
2910       <p>
2911          Several tools are available to help automate your
2912          debuggin. GDB and Purify are among the most powerful
2913          debugging tools available in a UNIX environment. GDB is an
2914          interactive debugger, allowing you to `step' through
2915          aprogram, examine function calls, variable contents, stack
2916          traces and let you look at the state of a program after it
2917          crashes. Purify is a commercial program designed to help find
2918          and remove memory leaks from programs written inlanguages
2919          without automatic garbage collection.
2920       </p>
2921       <p>
2922         This talk will cover how to compile your C and C++ programs
2923         for use with GDB and Purify, as well as how to use the
2924         available X interfaces. If a purify license is available on
2925         undergrad at the time of the talk, we will cover how to use it
2926         during runtime.
2927       </p>
2928     </abstract>
2929   </eventitem>
2930
2931   <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
2932     title="Homebrew Processors and Integrated Systems in FPGAs">
2933     <short>By Jan Gray</short>
2934     <abstract>
2935       <p>by Jan Gray</p>
2936       
2937       <p> With the advent of large inexpensive field-programmable gate
2938       arrays and tools it is now practical for anyone to design and
2939       build custom processors and systems-on-a-chip. Jan will discuss
2940       designing with FPGAs, and present the design and implementation
2941       of xr16, yet another FPGA-based RISC computer system with
2942       integrated peripherals.</p>
2943
2944       <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
2945       compilers, tools, and middleware at Microsoft from 1987-1998. He
2946       built the first 32-bit FPGA CPU and system-on-a-chip in
2947       1995. </p>
2948     </abstract>
2949   </eventitem>
2950
2951   <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
2952     title="Ctrl-D">
2953     <short>End-of-term dinner</short> 
2954     <abstract>
2955       No abstract available.
2956     </abstract>
2957   </eventitem>
2958
2959   <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
2960     title="Calculational Mathematics">
2961     <short>By Edgar Dijkstra</short>
2962     <abstract>
2963       <p> By Edgar Dijkstra</p>
2964
2965       <p> This  talk will use  partial orders, lattice theory,  and, if
2966       time permits,  the Galois  connection as carriers  to illustrate
2967       the use of  calculi in mathematics. We hope  to show the brevity
2968       of  many calculations  (in order  tofight the  superstition that
2969       formal  proofs  are  necessarily  unpractically long),  and  the
2970       strong   heuristic  guidance   that  is   available   for  their
2971       design. </p>
2972
2973       <p> Dijkstra is known for early graph-theoretical algorithms,
2974       the first implementation of ALGOL 60, the first operating system
2975       composed of explicitly synchronized processes, the invention of
2976       guarded commands and of predicate transformers as a means for
2977       defining semantics, and programming methodology in the broadest
2978       sense of the word. </p>
2979
2980       <p> His current research interests focus on the formal
2981       derivation of proofs and programs, and the streamlining of the
2982       mathematical argument in general.</p>
2983      
2984       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
2985       Sciences at The University of Texas at Austin until retiring in
2986       October. </p>
2987
2988     </abstract>
2989   </eventitem>
2990
2991   <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
2992   St Jerome's" title="Proofs and Programs">
2993     <short>By Edsger Dijkstra</short>
2994     <abstract>
2995       <p> This talk will show the use of programs for the proving of
2996       theorems. Its purpose is to show how our experience gained in
2997       the derivations of programs might be transferred to the
2998       derivation of proofs in general. The examples will go beyond the
2999       (traditional) existence theorems. </p>
3000
3001       <p> Dijkstra is known for early graph-theoretical algorithms,
3002       the first implementation of ALGOL 60, the first operating system
3003       composed of explicitly synchronized processes, the invention of
3004       guarded commands and of predicate transformers as a means for
3005       defining semantics, and programming methodology in the broadest
3006       sense of the word. </p>
3007
3008       <p> His current research interests focus on the formal
3009       derivation of proofs and programs, and the streamlining of the
3010       mathematical argument in general.</p>
3011      
3012       <p> Dijkstra held the Schlumberger Centennial Chair in Computer
3013       Sciences at The University of Texas at Austin until retiring in
3014       October. </p>
3015
3016     </abstract>
3017   </eventitem>
3018
3019   <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
3020     title="Open Q&amp;A session">
3021     <short>By Edsger Dijkstra</short>
3022     <abstract>No description available.</abstract>
3023   </eventitem>
3024
3025   <!-- Winter 2000 -->
3026
3027   <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
3028   title="Enterprise Java APIs and Implementing a Web Portal">
3029     <short>No description available.</short>
3030     <abstract>
3031       <h3>by Floyd Marinescu
3032       </h3>
3033       
3034       <p>
3035         The first talk will be an introduction to the Enterprise Java
3036         API's: Servlets, JSP, EJB, and how to use them to build
3037         eCommerce sites.
3038       </p>
3039
3040       <p>
3041         The second talk will be about how these technologies were used
3042         to implement a real world portal.  The talk will include an
3043         overview of the design patterns used and will feature
3044         architectural information about the yet to be release portal
3045         (which I am one of the developers) called theserverside.com.
3046       </p>
3047     </abstract>
3048   </eventitem>
3049
3050   <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
3051     title="Enterprise Java APIs and Implementing a Web Portal (1)">
3052     <short>No description available.</short>
3053     <abstract>
3054       <p>Real World J2EE - Design Patterns and architecture behind the
3055         yet to be released J2EE portal: theserverside.com</p>
3056
3057       <p>This talk will feature an exclusive look at the architecture
3058         behind the new J2EE portal: theserverside.com.  Join Floyd
3059         Marinescu in a walk-through ofthe back-end of the portal,
3060         while learning about J2EE and its real world patterns,
3061         applications, problems and benefits.</p>
3062     </abstract>
3063   </eventitem>
3064
3065   <!-- Spring 2000 -->
3066
3067   <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
3068   House, 130 King Street S, Waterloo" title="Ctrl-D">
3069     <short>End-of-term dinner</short>
3070     <abstract>No abstract available.</abstract>
3071   </eventitem>
3072
3073   <!-- Fall 2000 -->
3074
3075   <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
3076     title="CSC Elections">
3077     <short>Fall 2000 Elections for the CSC.</short>
3078     <abstract>
3079       <p>
3080         Would you like to get involved in the CSC? Would you like to have a
3081         say in what the CSC does this term?  Come out to the CSC Elections!
3082         In addition to electing the executive for the Fall term, we will be
3083         appointing office staff and other positions.  Look for details in
3084         uw.csc.
3085       </p>
3086
3087       <p>Nominations for all positions are being taken in the CSC office, MC
3088         3036.</p>
3089     </abstract>
3090   </eventitem>
3091
3092   <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
3093     title="SIGGraph Video Night">
3094     <short> SIGGraph Video Night Featuring some truly awesome computer
3095     animations from Siggraph '99. </short>
3096     <abstract>
3097       <p> Interested in Computer Graphics?
3098       </p>
3099       
3100       <p> Enjoy watching state-of-the-art Animation?
3101       </p>
3102       
3103       <p> Looking for a cheap place to take a date?
3104       </p>
3105       
3106       <p> SIGGraph Video Night -
3107         Featuring some truly awesome computer animations from Siggraph '99.
3108       </p>
3109
3110       <p>Come out for the Computer Science Club general elections at 6:00
3111         pm, right before SIGGraph!</p>
3112       </abstract>
3113   </eventitem>
3114
3115  <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
3116     title="Realising the Next Generation Internet">
3117     <short>By Frank Clegg of Microsoft Canada</short>
3118     <abstract>
3119 <h3>Vitals</h3>
3120 <dl>
3121 <dt>By</dt>
3122 <dd>Frank Clegg</dd>
3123 <dd>President, Microsoft Canada</dd>
3124 <dt>Date</dt>
3125
3126 <dd>Monday, September 25, 2000</dd>
3127 <dt>Time</dt>
3128 <dd>14:30 - 16:00</dd>
3129 <dt>Place</dt>
3130 <dd>DC 1302</dd>
3131 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
3132
3133 <dt>Cost</dt>
3134 <dd>$0.00</dd>
3135 <dt>Pre-registration</dt>
3136 <dd>Recommended</dd>
3137 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
3138 <dd>(519) 888-4004</dd>
3139
3140 </dl>
3141
3142 <h3>Abstract</h3>
3143 <p>The Internet and the Web have revolutionized our communications, our access
3144 to information and our business methods. However, there is still much room 
3145 for improvement. Frank Clegg will discuss Microsoft's vision for what is 
3146 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a 
3147 new platform, user experience and set of advanced software services planned 
3148 to make all devices work together and connect seamlessly. With this next 
3149 generation of software, Microsoft's goal is to make Internet-based 
3150 computing and communications easier to use, more personalized, and more 
3151 productive for businesses and consumers. In his new position of president 
3152 of Microsoft Canada Co., Frank Clegg will be responsible for leading the 
3153 organization toward the delivery of Microsoft .NET. He will speak about 
3154 this new platform and the next generation Internet, how software developers 
3155 and businesses will be able to take advantage of it, and what the .NET 
3156 experience will look like for consumers and business users.</p>
3157
3158 <h3>The Speaker</h3>
3159 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month. 
3160 Prior to his new position, Mr. Clegg was vice-president, Central Region, 
3161 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for 
3162 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined 
3163 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996. 
3164 During that time, Mr. Clegg was instrumental in introducing several key 
3165 initiatives to improve company efficiency, growth and market share. Mr. 
3166 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
3167
3168 <h3>For More Information</h3>
3169 <address>
3170 Shirley Fenton<br />
3171 The infraNET Project<br />
3172 University of Waterloo<br />
3173 519-888-4567 ext. 5611<br />
3174 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
3175 </address>
3176       </abstract>
3177   </eventitem>
3178
3179
3180  <!-- Winter 2001 -->
3181
3182  <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
3183     title="Executive elections">
3184   <short>Winter 2001 CSC Elections.</short>
3185   <abstract>
3186       <p>Would you like to get involved in the CSC? Would you like to
3187         have a say in what the CSC does this term? Come out to the CSC
3188         Elections! In addition to electing the executive for the
3189         Winter term, we will be appointing office staff and other
3190         positions. Look for details in uw.csc.
3191       </p>
3192       <p>
3193         Nominations for all positions are being taken in the CSC
3194         office, MC 3036.
3195       </p>
3196     </abstract>
3197  </eventitem>
3198   <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
3199     title="Meeting #2">
3200     <short>Second CSC meeting for Winter 2001.</short>
3201     <abstract>
3202       <h3>Proposed agenda</h3>
3203       <dl>
3204         <dt>Book purchases</dt>
3205         <dd>
3206           <p>They haven't been done in 2 terms.
3207             We have an old list of books to buy.
3208             Any suggestions from uw.csc are welcome.</p>
3209         </dd>
3210         <dt>CD Burner</dt>
3211         
3212         <dd>
3213           <p>For doing linux burns. It was allocated money on the budget
3214             request - about $300. We should be able to get a decent 12x
3215             burner with that (8x rewrite).</p>
3216           <p>The obvious things to sell are Linux Distros and BSD variants.
3217             Are there any other software that we can legally burn and sell
3218             to students?</p>
3219         </dd>
3220         <dt>Unix talks</dt>
3221         <dd>
3222           <p>Just a talk of the topics to be covered, when, where, whatnot.
3223             Mike was right on this one, this should have been done earlier
3224      in the term.  Oh well, maybe we can fix this for next fall term.</p>
3225           
3226         </dd>
3227         <dt>Game Contest</dt>
3228         <dd>
3229           <p>We already put a bit of work into planning the Othello contest
3230             before I read Mike's post. I still think it's viable. I've got
3231             at least 2 people interested in writing entries for it. This
3232             will be talked about more on monday. Hopefully, Rory and I will
3233             be able to present a basic outline of how the contest is going
3234             to be run at that time.</p>
3235         </dd>
3236         <dt>Peri's closet cleaning</dt>
3237         <dd>
3238           
3239           <p>Current sysadmin (jmbeverl) and I (kvijayan) and
3240             President (geduggan) had a nice conversation about this 2
3241             days ago, having to do with completely erasing all of
3242             peri, installing a clean stable potato debian on it, and
3243             priming it for being a gradual replacement to calum. We'll
3244             probably discuss how much we want to get done on this
3245             front on Monday.</p>
3246         </dd>
3247       </dl>
3248       
3249       <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>
3250     </abstract>
3251   </eventitem>
3252
3253   <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
3254     title="ACM-Style programming contest">
3255     <short>Practice for the ACM international programming
3256     contest</short>
3257     <abstract>
3258 <p>Our ACM-Style practice  contests involve answering five questions in three
3259 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
3260 Waterloo's teams  have been in  the top ten  at the world  finals.
3261 For more information, see
3262 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
3263
3264 <h3>Easy Question:</h3>
3265 <p>A palindrome is a sequence of letters that reads the same backwards and
3266 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
3267 only letters are important). Your task is to find the longest palindrome in
3268 a line of text (if there is a tie, print the leftmost one).</p>
3269 <pre>
3270 Input:                              Output:
3271
3272 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
3273 abcbabCdcbaqwerewq                  abCdcba
3274 </pre>
3275
3276 <h3>Hard Question:</h3>
3277 <p>An anagram is a word formed by reordering the letters of another word.
3278 Find all sets of anagrams that exist within a large dictionary.  The
3279 input will be a sorted list of words (up to 4000 words), one per line.
3280 Output each set of anagrams on a separate line.  Each set should be
3281 in alphabetical order, and all lines of sets should be in alphabetical
3282 order.  A word with no anagrams is a set of anagrams itself, and should
3283 be displayed with no modifications.</p>
3284
3285 <pre>
3286 Input:      Output:
3287
3288 post        post pots stop
3289 pots        start
3290 start
3291 stop
3292 </pre>
3293     </abstract>
3294   </eventitem>
3295
3296   <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
3297     title="Meeting #3">
3298     <short>No description available.</short>
3299     <abstract>No abstract available.</abstract>
3300   </eventitem>
3301
3302   <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
3303     title="Meeting #4">
3304     <short>No description available.</short>
3305     <abstract>No abstract available.</abstract>
3306   </eventitem>
3307
3308   <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
3309     title="Meeting #5">
3310     <short>No description available.</short>
3311     <abstract>No abstract available.</abstract>
3312   </eventitem>
3313
3314   <!-- Spring 2001 -->
3315
3316   <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
3317     title="ACM-Style programming contest">
3318     <short>Practice for the ACM international programming
3319     contest</short>
3320     <abstract>
3321 <p>Our ACM-Style practice  contests involve answering five questions in three
3322 hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
3323 Waterloo's teams  have been in  the top ten  at the world  finals.
3324 For more information, see
3325 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
3326
3327 <h3>Easy Question:</h3>
3328 <p>A palindrome is a sequence of letters that reads the same backwards and
3329 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
3330 only letters are important). Your task is to find the longest palindrome in
3331 a line of text (if there is a tie, print the leftmost one).</p>
3332 <pre>
3333 Input:                              Output:
3334
3335 asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
3336 abcbabCdcbaqwerewq                  abCdcba
3337 </pre>
3338
3339 <h3>Hard Question:</h3>
3340 <p>An anagram is a word formed by reordering the letters of another word.
3341 Find all sets of anagrams that exist within a large dictionary.  The
3342 input will be a sorted list of words (up to 4000 words), one per line.
3343 Output each set of anagrams on a separate line.  Each set should be
3344 in alphabetical order, and all lines of sets should be in alphabetical
3345 order.  A word with no anagrams is a set of anagrams itself, and should
3346 be displayed with no modifications.</p>
3347
3348 <pre>
3349 Input:      Output:
3350
3351 post        post pots stop
3352 pots        start
3353 start
3354 stop
3355 </pre>
3356     </abstract>
3357   </eventitem>
3358
3359
3360  <!-- Winter 2002 -->
3361
3362  <eventitem date="2002-01-26" time="2:00 PM"
3363   room="Comfy Lounge MC3001" 
3364   title="An Introduction to GNU Hurd">
3365   <short>Bored of GNU/Linux? Try this experimental operating
3366   system!</short>
3367   <abstract>
3368 <p>GNU Hurd is an operating system kernel based on the microkernel
3369 architecture design. It was the original GNU kernel, predating Linux,
3370 and is still being actively developed by many volunteers.</p>
3371 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
3372 Science Club, is hosting an afternoon to show the Hurd to anyone
3373 interested. Jeff Bailey, a Hurd developer, will give a presentation on
3374 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
3375 James Morrison, also a Hurd developer, will be hosting a Debian
3376 GNU/Hurd installation session.</p>
3377 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
3378 and mail your key to sjdutoit@uwaterloo.ca with the subject
3379 ``keysigning'' (see separate announcement).</p>
3380 <p>Questions? Suggestions? Contact <a
3381 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
3382   </abstract>
3383  </eventitem>
3384  <eventitem date="2002-01-26" time="2:30 PM"
3385   room="Comfy Lounge MC3001" 
3386   title="GnuPG/PGP Keysigning Party">
3387   <short>Get more signatures on your key!</short>
3388   <abstract>
3389   <p>
3390    GnuPG and PGP provide public-key based encryption for e-mail and
3391    other electronic communication. In addition to preventing others
3392    from reading your private e-mail, this allows you to verify that an
3393    e-mail or file was indeed written by its perceived author.
3394   </p>
3395   <p>
3396    In order to make sure a GnuPG/PGP key belongs to the respective
3397    person, the key must be signed by someone who has checked the
3398    user's key fingerprint and verified the user's identification.
3399   </p>
3400   <p>
3401    A keysigning party is an ideal occasion to have your key signed by
3402    many people, thus strengthening the authority of your key. Everyone
3403    showing up exchanges key signatures after verifying ID and
3404    fingerprints. The Computer Science Club will be hosting such a
3405    keysigning party together with the Hurd presentation by THUG (see
3406    separate announcement). See
3407    <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
3408    keysigning party homepage</a> for more information.
3409   </p>
3410   <p>
3411    Before attending it is important that you mail your key to
3412    sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
3413    sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
3414    a sheet of paper to the event.
3415   </p>
3416   </abstract>
3417  </eventitem>
3418  <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
3419   title="UNIX 101: First Steps With UNIX">
3420   <abstract>
3421     This is the first in a series of seminars that cover the use of
3422     the UNIX Operating System. UNIX is used in a variety of
3423     applications, both in academia and industy. We will be covering
3424     the basics of the UNIX environment, as well as the use of PINE, an
3425     electronic mail and news reader.
3426   </abstract>
3427  </eventitem>
3428  <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
3429   title="DVD-Video Under Linux">
3430   <short>Billy Biggs will be holding a talk on DVD technology
3431   (in particular, CSS and playback issues) under Linux, giving some
3432   technical details as well as an overview of the current status of
3433   Free Software efforts. All are welcome.</short>
3434   <abstract>
3435    <p>DVD copy protection: Content Scrambling System (CSS)</p>
3436    <ul>
3437     <li>A technical introduction to CSS and an overview of the ongoing
3438     legal battle to allow distribution of non-commercial DVD
3439     players</li>
3440     <li>The current Linux software efforts and open issues</li>
3441     <li>How applications and Linux distributions are handling the
3442     legal issues involved</li>
3443    </ul>
3444    <p>DVD-Video specifics: Menus and navigation</p>
3445    <ul>
3446     <li>An overview of the DVD-Video standard</li>
3447     <li>Reverse engineering efforts and their implementation status</li>
3448     <li>Progress of integration into Linux media players</li>
3449    </ul>
3450   </abstract>
3451  </eventitem>
3452  <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
3453   title="Unix 102: Fun With UNIX">
3454   <short>This the second in a series of UNIX tutorials. Simon Law and
3455   James Perry will be presenting some more advanced UNIX
3456   techniques. All are welcome. Accounts will be provided for those
3457   needing them.</short>
3458   <abstract>
3459    <p>
3460     This is the second in a series of seminars that cover the use of
3461     the UNIX Operating System. UNIX is used in a variety of
3462     applications, both in academia and industry. We will provide you
3463     with hands-on experience with the Math Faculty's UNIX environment
3464     in this tutorial.
3465    </p>
3466    <p>Topics that will be discussed include:</p>
3467    <ul>
3468     <li>Interacting with Bourne and C shells</li>
3469     <li>Editing text using the vi text editor</li>
3470     <li>Editing text using the Emacs display editor</li>
3471     <li>Multi-tasking and the screen multiplexer</li>
3472    </ul>
3473    <p>
3474      If you do not have a Math computer account, don't panic; one will
3475      be lent to you for the duration of this class.
3476    </p>
3477   </abstract>
3478  </eventitem>
3479  <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
3480   title="Computer Go, The Ultimate">
3481   <short>Thomas Wolf from Brock University will be holding a talk on
3482   the asian game of Go. All are welcome.</short>
3483   <abstract>
3484    <p>
3485     The asian game go is unique in a number of ways. It is the oldest
3486     board game known. It is a strategy game with very simple
3487     rules. Computer programs are very weak despite huge efforts and
3488     prizes of US$ &gt; 1.5M for a program beating professional
3489     players. The talk will quickly explain the rules of go, compare go
3490     and chess, mention various attempts to program go and describe our
3491     own efforts in this field. Students will have an opportunity to
3492     solve computer generated go problems. Prizes will be available.
3493    </p>
3494   </abstract>
3495  </eventitem>
3496
3497   <!-- Spring 2002 -->
3498
3499   <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
3500     elections">
3501     <short>Come and vote for this term's exec</short>
3502     <abstract>
3503       <p>
3504         Vote for the exec this term. Meet at the CSC office.
3505       </p>
3506     </abstract>
3507   </eventitem>
3508
3509
3510   <!-- Fall 2002 -->
3511
3512   <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
3513   title="F02 elections">
3514     <short>Come and vote for this term's exec</short>
3515     <abstract>
3516       <p>
3517         Vote for the exec this term. Meet at the comfy
3518         lounge. There will be an opportunity to obtain or renew
3519         memberships. This term's CRO is Siyan Li
3520         (s8li@csclub.uwaterloo.ca).
3521       </p>
3522     </abstract>
3523   </eventitem>
3524
3525   <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
3526   title="Business Meeting">
3527     <short>Vote on a constitutional change.</short>
3528     <abstract>
3529       <p>
3530          The executive has unanimously decided to try to change our
3531 constitution to comply with MathSoc policy.  The clause we are trying
3532 to change is the membership clause.  The following is the proposed new
3533 reading of the clause.
3534       </p>
3535       <p><i>
3536         In compliance with MathSoc regulations and in recognition of
3537 the club being primarily targeted at undergraduate students, full
3538 membership is open to all undergraduate students in the Faculty of
3539 Mathematics and restricted to the same.</i>
3540       </p>
3541
3542       <p>
3543         The proposed change is illustrated <a
3544         href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
3545         a web page</a>.
3546       </p>
3547
3548       <p>
3549         There will be a business meeting on 30 Sept 2002 at 18:30 in
3550         the comfy lounge, MC 3001. Please come and vote
3551       </p>
3552     </abstract>
3553   </eventitem>
3554
3555   <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
3556   title="UNIX 101">
3557     <short>First Steps with UNIX</short>
3558     <abstract>
3559       <p>
3560            Get to know UNIX and be the envy of your friends!
3561       </p>
3562       <p>
3563         This is the first in a series of seminars that cover the use
3564         of the UNIX Operating System.  UNIX is used in a variety of
3565         applications, both in academia and industy. We will provide
3566         you with hands-on experience with the Math Faculty's UNIX
3567         environment in this seminar.
3568       </p>
3569       <p>
3570         Topics that will be discussed include:
3571       </p>
3572       <ul>
3573         <li>Navigating the UNIX environment</li>
3574         <li>Using common UNIX commands</li>
3575         <li>Using the PICO text editor</li>
3576         <li>Reading electronic mail and news with PINE</li>
3577       </ul>
3578       <p>
3579     If you do not have a Math computer account, don't panic; one will be 
3580 lent to you for the duration of this class.
3581       </p>
3582     </abstract>
3583   </eventitem>
3584
3585   <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
3586   title="Pints with the Profs">
3587     <short>Get to know your profs and be the envy of your friends!</short>
3588     <abstract>
3589     <p>Come out and meet your professors.  This is a great opportunity to
3590 meet professors for Undergraduate Research jobs or to find out who you might
3591 have for future courses.</p>
3592
3593     <p>Profs who have confirmed their attendance are:</p>
3594     <ul>
3595       <li>Troy Vasiga, School of Computer Science</li>
3596       <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
3597       <li>Michael McCool, School of Computer Science, CGL</li>
3598       <li>Martin Karsten, School of Computer Science, BBCR</li>
3599       <li>Gisli Hjaltason, School of Computer Science, DB</li>
3600     </ul>
3601
3602     <p>There will also be...</p>
3603     <ul>
3604       <li>Free Food</li>
3605       <li>Free Food</li>
3606       <li>Free Food</li>
3607     </ul>
3608     </abstract>
3609   </eventitem>
3610
3611   <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
3612   title="UNIX 102">
3613     <short>Talking to your UNIX can be fun and profitable.</short>
3614     <abstract>
3615 <p>This is the second in a series of seminars that cover the use of
3616 the UNIX Operating System. UNIX is used in a variety of applications,
3617 both in academia and industry. We will provide you with hands-on
3618 experience with the Math Faculty's UNIX environment in this
3619 tutorial.</p>
3620
3621 <p>Topics that will be discussed include:</p>
3622 <ul><li>Interacting with Bourne and C shells</li>
3623 <li>Editing text using the vi text editor</li>
3624 <li>Editing text using the Emacs display editor</li>
3625 <li>Multi-tasking and the screen multiplexer</li>
3626 </ul>
3627
3628 <p>If you do not have a Math computer account, don't panic; one will be
3629 lent to you for the duration of this class.</p>
3630
3631 </abstract>
3632   </eventitem>
3633
3634   <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
3635   title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
3636     <short>A talk by Filip Spacek, KGI developer</short>
3637     <abstract>
3638     Linux has proven itself as a reliable operating system but arguably,
3639     it still lacks in support of high performance graphics
3640     acceleration. This talk will describe basic components of a PC video
3641     card and the design and limitations the current Linux display driver
3642     architecture.  Finally a an overview of a new architecture, the Kernel
3643     Graphics Interface (KGI), will be given.  KGI attempts to solve the
3644     shortcomings of the current design, and provide a lightweight and
3645     portable interface to the display subsystem.
3646     </abstract>
3647   </eventitem>
3648
3649   <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
3650   title="UNIX 103">
3651     <short></short>
3652     <abstract>No abstract available yet.</abstract>
3653   </eventitem>
3654
3655   <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
3656   title="The Evil Side of C++">
3657     <short>Abusing template metaprogramming in C++; aka. writing a
3658     Mandelbrot generator that runs at compile time</short>
3659     <abstract>
3660       <p>Templates are a useful feature in C++ when it comes to writing
3661     type-independent data structures and algorithms. Relatively soon
3662     after their appearance it was realised that they could be used to
3663     do much more than this. Essentially it is possible to write
3664     certain programs in C++ that execute <i>completely at compile
3665     time</i> rather than run time. Combined with constant-expression
3666     optimisation this is an interesting twist on regular C++
3667     programming.</p>
3668     <p>This talk will give a short overview of the features of
3669     templates and then go on to describe how to &quot;abuse&quot;
3670     templates to perform complex computations at compile time. The
3671     speaker will present three programs of increasing complexity which
3672     execute at compile time. First a factorial listing program, then a
3673     prime listing program will be presented. Finally the talk will
3674     conclude with the presentation of a <b>Mandelbrot generator running
3675     at compile time</b>.</p>
3676
3677     <p>If you are interested in programming for the fun of it, the C++
3678     language or silly tricks to do with languages, this talk is for
3679     you. No C++ knowledge should be necessary to enjoy this talk, but
3680     programming experience will make it more worthwile for you.</p>
3681
3682     </abstract> </eventitem>
3683
3684   <eventitem date="2002-11-02" time="11:00AM-3:00PM"
3685     room="MC3002 (Math Coffee and Donut Store)"
3686     title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
3687     <short>Bring over your computer and we'll help you install GNU/Linux</short>
3688     <abstract>