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