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