7bd4a38b7d0c526e96420cf96aa48630ef90d4fb
[www/www.git] / events.xml
1 <?xml version='1.0'?>
2
3 <!DOCTYPE eventdefs SYSTEM "csc.dtd" [<!ENTITY mdash "&#x2014;">]>
4 <eventdefs>
5
6 <!-- Spring 2013 -->
7 <eventitem date="2013-07-12" time="5:00PM" room="MC 4041" title="3D Movies and Computer Science">
8   <short><p>
9     While humans started making 3D motion pictures in the 1800's, several technical and 
10     artistic challenges prevented widespread interest in the medium.  By investing heavily 
11     in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered 
12     in an era of mainstream interest in 3D film.  However, many technical and artistic 
13     problems still find their way into otherwise-modern 3D movies.  The talk explores some 
14     of these problems while introducing the fundamentals of 3D film-making from a CS 
15     perspective.
16   </p></short>
17   <abstract><p>
18     While humans started making 3D motion pictures in the 1800's, several technical and 
19     artistic challenges prevented widespread interest in the medium.  By investing heavily 
20     in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered 
21     in an era of mainstream interest in 3D film.  However, many technical and artistic 
22     problems still find their way into otherwise-modern 3D movies.  The talk explores some 
23     of these problems while introducing the fundamentals of 3D film-making from a CS 
24     perspective.
25   </p></abstract>
26 </eventitem>
27
28 <!-- <eventitem date="2013-07-05" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside">
29   <short><p>
30     Come hang out with the CSC for s'mores, burgers, Frisbees, and fire this Friday!
31     We will be hanging out at the EV3 Fire Pit starting at 7:00PM. All are welcome to
32     partake in the food, games, and music. See you there!
33   </p></short>
34   <abstract><p>
35     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to face
36     the newly-grown geese? Do you want to play some Frisbee? If so, come hang out with the CSC
37     at the EV3 Fire Pit this Friday!
38     All are welcome for some outdoor fun, food, games, and music.
39   </p>
40   <p>
41     If you have any questions or concerns, please contact exec@csclub.uwaterloo.ca.
42   </p></abstract>
43 </eventitem>
44 -->
45
46 <eventitem date="2013-06-07" time="6:00 PM, 8:00PM" room="Comfy Lounge" title="Unix 101/ Code Party 0">
47   <short><p>
48     We are offering a Unix tutorial on Friday, June 7th, 2013! Following the tutorial a code party will take place.
49     Bring your laptops and chargers for an awesome night of coding, hacking and learning.
50     All are welcome to join in the comfy lounge!
51   </p></short>
52   <abstract>
53 <p>We are offering a Unix tutorial on Friday, June 7th, 2013 at 6:00pm! Following the tutorial a code party will take place.
54     Bring your laptops and chargers for an awesome night of coding, hacking and learning.
55     All are welcome to join in the comfy lounge!</p>
56
57 <p>If you have any questions about Unix101/ Code Party 0 please contact exec@csclub.uwaterloo.ca. </p>
58
59     <p>Hope to see you there!</p>
60   </abstract>
61 </eventitem>
62
63 <eventitem date="2013-05-15" time="6:00 PM" room="Comfy Lounge" title="Spring 2013 Elections">
64   <short><p>
65      Elections for Spring 2013 are being held! The Executive will be elected,
66      and the Office Manager and Librarian will be appointed by the new
67      executive.
68   </p></short>
69   <abstract>
70 <p>It's elections time again! On Wednesday, May 15 at 6:00PM, come to the Comfy Lounge
71 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
72 and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
73
74 <p>Nominations are open until 4:30PM on Tuesday, May 14, and can be written
75   on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
76   members can vote and are invited to drop by. You may also send nominations to
77   the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
78   full list of candidates will be posted when nominations close, along with
79   instructions for voting remotely.</p>
80
81     <p>Good luck to our candidates!</p>
82   </abstract>
83 </eventitem>
84
85 <!-- Winter 2013 -->
86 <eventitem date="2013-04-01" time="7:00 PM" room="Comfy Lounge" title="Code Party 1">
87         <short>
88 <p>The Computer Science Club is running the second code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
89         </short>
90         <abstract>
91 <p>The Computer Science Club is running the second code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
92         </abstract>
93 </eventitem>
94
95 <eventitem date="2013-04-01" time="6:00 PM" room="MC 3003" title="Unix 101">
96         <short>
97 <p><i>by Calum T. Dalek</i>. New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a tutorial on using Unix this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools.</p>
98         </short>
99         <abstract>
100 <p>New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a tutorial on using Unix this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools.</p>
101 <p>If you're interested in attending, make sure you can log into the Macs on the third floor, or show up to the CSC office (MC 3036) 20 minutes early for some help.</p>
102         </abstract>
103 </eventitem>
104
105 <eventitem date="2013-03-21" time="4:30 PM" room="MC 4020" title="Using Computers to Find Evidence in Litigation">
106     <short>
107 <p>Professor Gordon Cormack will be presenting a talk on using machine-learning based spam filters to accurately locate relevent electronic documents - a process which has typically been very manual, and very expensive.</p>
108     </short>
109     <abstract>
110 <p>In a lawsuit, each party is typically entitled to Discovery, in which the
111 other party is compelled to produce any "documents" in its possession that
112 may be pertinent to the case.   Documents include not only traditional
113 paper documents, but email messages, text messages, computer files, and
114 other electronically stored information, or ESI.  Suppose you were
115 compelled to produce every document in your possession pertaining to
116 software downloads or purchases?  How would you do it?   If you were a
117 large corporation, you would probably hire an army of lawyers to read all
118 your email, plus your assignments, and any other files on your UW account,
119 your laptop, your phone, and your tablet, at a cost of one dollar or more
120 per file.  As a CSC member, you know there must be a better way.  But what
121 is that better way, and how do you convince the court to let you use it?</p>
122 <p>It turns out that spam filters that employ machine learning can do this job
123 well -- better than that army of lawyers.  But lawyers aren't happy about
124 this.  This talk will outline how the technology works and how to prove
125 that it works, so as to convince scientists, lawyers, and judges.</p>
126     </abstract>
127 </eventitem>
128
129 <eventitem date="2013-02-28" time="4:30 PM" room="DC 1302" title="Machine Architecture, Performance, and Scalability: Things Your Programming Language Never Told You">
130     <short>
131     <p>"Herb Sutter is a leading authority on software development. He is the best selling author of several books including Exceptional C++ and C++ Coding Standards, as well as hundreds of technical papers and articles [and] has served for a decade as chair of the ISO C++ standards committee." - http://herbsutter.com/about</p>
132     </short>
133     <abstract>
134 <p>High-level languages insulate the programmer from the machine. That's a
135 wonderful thing -- except when it obscures the answers to the fundamental
136 questions of "What does the program do?" and "How much does it cost?"</p>
137 <p>The C++ and C# programmer is less insulated than most, and still we find
138 that programmers are consistently surprised at what simple code actually
139 does and how expensive it can be -- not because of any complexity of a
140 language, but because of being unaware of the complexity of the machine on
141 which the program actually runs.</p>
142 <p>This talk examines the "real meanings" and "true costs" of the code we
143 write and run especially on commodity and server systems, by delving into
144 the performance effects of bandwidth vs. latency limitations, the
145 ever-deepening memory hierarchy, the changing costs arising from the
146 hardware concurrency explosion, memory model effects all the way from the
147 compiler to the CPU to the chipset to the cache, and more -- and what you
148 can do about them.</p>
149     </abstract>
150 </eventitem>
151
152 <eventitem date="2013-01-16" time="4:00 PM" room="Comfy Lounge" title="Elections">
153     <short>
154     <p>CSC Elections have begun for the Winter 2013 term, nominations are open!</p>
155     </short>
156     <abstract>
157 <p>It's elections time again! On Wednesday January 16th at 4:00PM, come to the Comfy Lounge
158 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
159 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
160
161 <p>Nominations are open until 4:00PM on Tuesday January 15th, and can be
162 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
163 can vote and are invited to drop by. You may also send nominations to the
164 <a href="mailto:cro@csclub.uwaterloo.ca">
165    Chief Returning Officer</a>. A full list of candidates will be posted
166    when nominations close.</p>
167
168     <p>Good luck to our candidates!</p>
169     </abstract>
170 </eventitem>
171
172 <!-- Fall 2012 -->
173
174 <eventitem date="2012-11-23" time="19:00" room="MC 3001" title="Code Party 3">
175         <short>
176                 <p>The Computer Science Club is running our third, and last, code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all. Syed Albiz will be presenting a tutorial on implementing a <a href="http://en.wikipedia.org/wiki/Ray-tracing">ray-tracer</a> in C and Scheme.</p>
177         </short>
178         <abstract>
179                 <p>The Computer Science Club is running our third, and last, code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all. Syed Albiz will be presenting a tutorial on implementing a <a href="http://en.wikipedia.org/wiki/Ray-tracing">ray-tracer</a> in C and Scheme. Everyone is welcome, so please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
180         </abstract>
181 </eventitem>
182
183 <eventitem date="2012-11-21" time="4:30 PM" room="MC 5136B" title="SASMS">
184    <short>
185       <p><i>by PMC.</i>The Pure Mathematics, Applied Mathematics, Combinatorics &amp; Optimization Club is hosting the Fall 2012 Short Attention Span Math Seminars (SASMS).</p>
186    </short>
187    <abstract>
188       <p>The Pure Mathematics, Applied Mathematics, Combinatorics &amp; Optimization Club is hosting the Fall 2012 Short Attention Span Math Seminars (SASMS).</p>
189       <p>All talks will be 25 minutes long, and everyone is welcome to give a talk. Applications for speaking are open until the day of the event. For event details, see <a href="http://pmclub.uwaterloo.ca/?q=content/sasms-fall-2012">the PMC event page.</a></p>
190    </abstract>
191 </eventitem>
192
193 <eventitem date="2012-11-19" time="3:30 PM" room="MC 3003" title="UNIX 101">
194   <short><p><i>by Calum T. Dalek</i>. New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools. </p></short>
195   <abstract><p>New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools. </p>
196 <p>If you're interested in attending, make sure you can log into the Macs on the third floor, or show up to the CSC office (MC 3036) 20 minutes early for some help. If you're already familiar with these topics, don't hesitate to come to Unix 102, which will be held the week of the 26th.</p>
197 </abstract>
198 </eventitem>
199
200 <eventitem date="2012-11-15" time="7:00 PM" room="DC 1302" title="KW Perlmongers Talk">
201    <short>
202       <p><i>by Justin Wheeler.</i>In his own words, this talk will cover the virtues
203       of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
204       TMTOWTDI, and did I mention CPAN?</p>
205    </short>
206    <abstract>
207       <p>In his own words, this talk will cover the virtues
208       of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
209       TMTOWTDI, and did I mention CPAN?</p>
210       <p>If you've never used Perl before, don't be scared away by the
211       jargon&mdash;the talk should be accessible to all CS students, and even if
212       you find it hard to follow, we will be serving pizza!      </p>
213    </abstract>
214 </eventitem>
215
216 <eventitem date="2012-10-26" time="7:00 PM" room="MC 3001" title="CSC Code
217 Party 2">
218    <short>
219       <p>We will be holding our second code party of the term. Watch for
220          further details, as we plan on working with some robots and Scala,
221          git, and Haskell.</p>
222    </short>
223    <abstract>
224       <p>We will be holding our second code party of the term. Watch for
225          further details, as we plan on working with some robots and Scala,
226          git, and Haskell.</p>
227    </abstract>
228 </eventitem>
229
230 <eventitem date="2012-10-18" time="4:00 PM" room="MC 2034" title="The
231 Cryptographic and Game-Theoretical Fundamentals behind Bitcoin">
232    <short>
233       <p><i>by Vitalik Buterin.</i> In this talk, we will cover the
234          cryptographic and game-theory principles behind the currency, including
235          how the issues of double-spending, the "51% attack," and "mining" are
236          addressed, the game-theory incentives to use Bitcoins honestly, and
237          other issues being faced today in practice, such as implementation,
238          attacks, and future scalability.</p>
239         </short>
240         <abstract>
241                 <p><i>by Vitalik Buterin.</i> Interested in learning more about Bitcoin,
242          the independent digital cryptographic cash? Then this is the talk for
243          you!</p>
244
245       <p>In his talk, Vitalik will cover the cryptographic and game-theory
246          principles behind the currency, including how the issues of
247          double-spending, the "51% attack," and "mining" are addressed, the
248          game-theory incentives to use Bitcoins honestly, and other issues being
249          faced today in practice, such as implementation, attacks, and future
250          scalability.</p>
251
252       <p>Refreshments will be provided.</p>
253         </abstract>
254 </eventitem>
255
256 <eventitem date="2012-09-28" time="7:00 PM" room="PHY 150" title="Tron Screening: Frosh-A-Tron">
257         <short>
258                 <p>ehashman's lousy frosh event naming scheme continues as we prepare for this week's movie night---a screening of the original TRON in PHY 150. Come watch the groundbreaking film that defined the role of computer graphics and the quality of special effects in modern cinema. And bring your friends!</p>
259         </short>
260         <abstract>
261                 <p>ehashman's lousy frosh event naming scheme continues as we prepare for this week's movie night---a screening of the original TRON in PHY 150. Come watch the groundbreaking film that defined the role of computer graphics and the quality of special effects in modern cinema. And bring your friends!</p>
262         </abstract>
263 </eventitem>
264
265 <eventitem date="2012-09-14" time="19:00" room="MC 3001" title="Code Party 1: FROSH-A-THON">
266         <short>
267                 <p>The Computer Science Club is running our first "welcome back" code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all! Our party is loosely themed as a Linux installfest, where we will have a team of members dedicated to helping individuals install and learn to use one of many flavours of Linux.</p>
268         </short>
269         <abstract>
270                 <p>The Computer Science Club is running our first "welcome back" code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all! Our party is loosely themed as a Linux installfest, where we will have a team of members dedicated to helping individuals install and learn to use one of many flavours of Linux. Everyone is welcome, so please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
271         </abstract>
272 </eventitem>
273
274 <eventitem date="2012-09-18" time="4:00 PM" room="Comfy Lounge" title="Elections">
275     <short>
276     <p>CSC Elections have begun for the Fall 2012 term, nominations are open!</p>
277     </short>
278     <abstract>
279 <p>It's elections time again! On Tuesday September 18th at 4:00PM, come to the Comfy Lounge
280 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
281 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
282
283 <p>Nominations are open until 4:00PM on Monday September 17th, and can be
284 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
285 can vote and are invited to drop by. You may also send nominations to the
286 <a href="mailto:cro@csclub.uwaterloo.ca">
287    Chief Returning Officer</a>. A full list of candidates will be posted
288    when nominations close.</p>
289
290     <p>Good luck to our candidates!</p>
291     </abstract>
292 </eventitem>
293
294 <eventitem date="2012-09-06" time="17:00" room="Math 3 Atrium" title="SCS First-year Welcome Dinner">
295         <short>
296                 <p>The School of Computer Science is hosting a dinner event for incoming first-year students. You'll get to meet us, some of the faculty, and other new undergraduates. Food will be provided.</p>
297         </short>
298         <abstract>
299                 <p>The School of Computer Science is hosting a dinner event for incoming first-year students. You'll get to meet us, some of the faculty, and other new undergraduates. Food will be provided.</p>
300         </abstract>
301 </eventitem>
302
303 <!-- Spring 2012 -->
304
305 <eventitem date="2012-06-08" time="19:00:00" room="MC 3001" title="Code Party 1">
306         <short>
307                 <p>The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
308         </short>
309         <abstract>
310                 <p>             </p>
311                 <p>The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
312         </abstract>
313 </eventitem>
314
315 <eventitem date="2012-05-10" time="4:30 PM" room="Comfy Lounge" title="Elections">
316     <short>
317     <p>CSC Elections have begun for the Spring 2012 term, nominations are open!</p>
318     </short>
319     <abstract>
320 <p>It's elections time again! On Thursday May 10th at 4:30PM, come to the Comfy Lounge
321 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
322 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
323
324 <p>Nominations are open until 4:30PM on Wednesday May 9th, and can be
325 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
326 who have paid their Mathsoc fee can vote and are invited to drop by.
327 You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
328    Chief Returning Officer</a>. A full list of candidates will be posted
329    when nominations close.</p>
330
331     <p>Good luck to our candidates!</p>
332     </abstract>
333 </eventitem>
334
335 <eventitem date="2012-05-07" time="6:00 PM" room="DC 1302" title="mmap and the Mortgage Crisis">
336     <short>
337     <p>Palantir is a Palo Alto-based intelligence analysis software company that has partnered with the CSC to put on a tech talk and social. There will be free food, free drinks, and for one lucky winner, a free iPad, so why not come on out?</p>
338     </short>
339     <abstract>
340 <p>In the aftermath of the 2008 economic crisis, large banks have been saddled with the prospect of foreclosing on millions of distressed mortgages, at a financial cost of billions of dollars and an incalculable social cost.  Crucial to solving this problem is the ability to model and analyze these millions of loans in real time, enabling lenders to price homes so that they can find effective and mutually beneficial alternatives to foreclosure.</p>
341
342 <p>In this talk, we'll describe how engineers at Palantir are working on a calculation engine that supports such analyses. We'll outline our design goals of constructing a platform that supports queries against large sets of data at interactive speeds and exposes a high-level object-oriented interface that enables analysts to construct models intuitively without having to worry about the underlying implementation details. We'll describe the different architectures we explored in prototyping the system, demo how to use our product to analyze massive datasets, and discuss how we've ultimately deployed it in the field.</p>
343     </abstract>
344 </eventitem>
345
346
347 <!-- Winter 2012 -->
348
349 <eventitem date="2012-03-22" time="4:30 PM" room="MC 4021" title="Multi-processor Real-time Systems">
350   <short>
351     <p><i>by Bill Cowan</i>. Programming systems that obey hard real-time constraints is difficult. So is programming multiple CPUs that interact to solve a single problem. This talk will describe the nature of computation typical of real-time systems, architectural solutions currently employed in CS 452, and possible architectures for multi-CPU systems.</p>
352   </short>
353   <abstract>
354     <p>
355       Programming systems that obey hard real-time constraints is difficult. So is programming multiple CPUs that interact to solve a single problem.
356     </p>
357     <p>
358       On rare occasions it is possible to mix two difficult problems to create one easy problem and multi-CPU real-time is, on the face of it, just such an occasion. Give each deadline its own CPU and it will never be missed. This intuition is, unfortunately, incorrect, which does not, however, prevent it being tried in many real-time systems.
359     </p>
360     <p>
361       For three decades, fourth year students have been exploring this problem in CS452, using multiple tasks (virtual CPUs) running on a single CPU. It is now time to consider whether modern developments in CPU architecture make it possible to use multiple CPUs in CS452 given the practical constraint of a twelve week semester.
362     </p>
363     <p>
364       This talk will describe the nature of computation typical of real-time systems, architectural solutions currently employed in the course, and possible architectures for multi-CPU systems.
365     </p>
366   </abstract>
367 </eventitem>
368
369 <eventitem date="2012-03-08" time="5:30 PM" room="MC 3003" title="UNIX 102">
370   <short>
371     <p><i>by Calum T. Dalek</i>. The Computer Science Club will be running the
372 second installment of our introductory UNIX tutorials for the term. We
373 will be covering topics intended to show off the development-friendliness of
374 the UNIX computing environment: "real" document editors, development tools,
375 bash scripting, and version control.
376     </p>
377   </short>
378   <abstract>
379     <p>New to the UNIX computing environment? If you seek an introduction, look
380 no further. We will be covering more advanced topics in the second installment
381 of our introductory tutorials, that will help you become a more effective
382 developer.
383     </p>
384     <p>We will be introducing "real" document editors, bash scripting, and
385 version control. We'll prove to you how much more efficient you can develop
386 with these tools and teach you how to do it for yourself. It will save you hours
387 of work!
388     </p>
389   </abstract>
390 </eventitem>
391
392 <eventitem date="2012-03-02" time="7:00 PM" room="MC 3001" title="OpenCL Code Party">
393   <short>
394     <p><i>by Calum T. Dalek</i>. The University of Waterloo Computer Science Club and AMD's OpenCL programming competition comes to a close, as the contest ends at midnight and prizes are awarded! Open submissions will be judged, so make sure to come out and watch.
395     </p>
396   </short>
397   <abstract>
398     <p>The University of Waterloo Computer Science Club and AMD's <a href="http://csclub.uwaterloo.ca/opencl">OpenCL programming competition</a> comes to a close, as the contest ends at midnight and prizes are awarded! Open submissions will be judged, so make sure to come out and watch.
399     </p>
400   </abstract>
401 </eventitem>
402
403 <eventitem date="2012-03-07" time="5:30 PM" room="PHY 150" title="Feynman Messenger Lecture Series">
404   <short>
405     <p><i>by Calum T. Dalek</i>. Join the Computer Science Club and PhysClub every Wednesday evening for the rest of the term for our five screenings of the classic 1964 Messenger Lecture Series by Richard Feynman in PHY 150. Dinner provided!
406     </p>
407   </short>
408   <abstract>
409     <p>The Physics Club and the Computer Science Club are proud to present the 1964 Feynman Messenger Lecture Series in PHY 150 on Wednesday evenings at 5:30 PM. The screenings will be taking place as follows (please note times and dates):</p>
410     <ul>
411       <li><b>Feb. 29, 5:30-6:30 PM:</b> <i>Law of Gravitation: An Example of Physical Law</i></li>
412       <li><b>Mar. 7, 5:30-7:30 PM:</b> <i>The Relation of Mathematics and Physics</i> and <i>The Great Conservation Principles</i> (double feature)</li>
413       <li><b>Mar. 14, 5:30-6:30 PM:</b> <i>Symmetry in Physical Law</i></li>
414       <li><b>Mar. 21, 5:30-7:30 PM:</b> <i>The Distinction of Past and Future</i> and <i>Probability and Uncertainty: The Quantum Mechanical View</i> (double feature)</li>
415       <li><b>Mar. 28, 5:30-6:30 PM:</b> <i>Seeking New Laws</i></li>
416     </ul>
417     <p>Dinner will be provided, so come on out, relax in the comfy PHY 150 theatre, and enjoy. Hope to see you there!</p>
418   </abstract>
419 </eventitem>
420
421 <eventitem date="2012-02-16" time="7:00 PM" room="MC 3001" title="OpenCL Introduction">
422   <short><p><i>by Calum T. Dalek</i>. The University of Waterloo Computer Science Club and AMD are running an OpenCL programming competition. If you're interested in writing massively parallel software on the OpenCL platform, come out and join us for our introductory code party!</p></short>
423   <abstract><p>The University of Waterloo Computer Science Club and AMD are running an <a href="http://csclub.uwaterloo.ca/opencl">OpenCL programming competition.</a> If you're interested in writing massively parallel software on the OpenCL platform, come out and join us for our introductory code party!</p>
424 <p></p>
425 </abstract>
426 </eventitem>
427
428 <eventitem date="2012-02-09" time="5:00 PM" room="MC 3003" title="UNIX 101">
429   <short><p><i>by Calum T. Dalek</i>. New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Thursday. Topics that will be covered include basic interaction with the shell and the motivations behind using it, and an introduction to compilation. You'll have to learn this stuff in CS 246 anyways, so why not get a head start!</p></short>
430   <abstract><p>New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Thursday. Topics that will be covered include basic interaction with the shell and the motivations behind using it, and an introduction to compilation. You'll have to learn this stuff in CS 246 anyways, so why not get a head start!</p>
431 <p>If you're interested in attending, make sure you can log into the Macs on the third floor, or show up to the CSC office (MC 3036) 20 minutes early for some help. If you're already familiar with these topics, don't hesitate to come to Unix 102, planned to be held after Reading Week.</p>
432 </abstract>
433 </eventitem>
434
435 <eventitem date="2012-02-07" time="6:00 PM" room="MC 4045" title="Algorithms Talk">
436   <short><p><i>by Victor Fan</i>. Join Victor Fan for his talk, intended for all second-year math students with a solid first-year background. Even if you are a first-year or a seasoned veteran, you will probably still take home something new, so please come out to enjoy the talk! Refreshments will be served.</p></short>
437   <abstract><p>Are you interested in algorithms? What is an algorithm anyway? We will discuss two or three neat problems with very elegant answers. Some of these answers are actually fast, and some will result in a proof that the problem is NP-complete. (What does that mean?) We will also discuss the motivating thoughts that led us to the solutions.</p>
438
439 <p>Join Victor Fan for his talk, intended for all second-year math students with a solid first-year background. Even if you are a first-year or a seasoned veteran, you will probably still take home something new, so please come out to enjoy the talk! Refreshments will be served.</p></abstract>
440 </eventitem>
441
442 <eventitem date="2012-01-27" time="6:30 PM" room="Math CnD" title="Code Party 0">
443   <short><p><i>by Calum T. Dalek</i>. The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p></short>
444   <abstract><p>The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p></abstract>
445 </eventitem>
446
447 <eventitem date="2012-01-12" time="4:30 PM" room="Comfy Lounge" title="Elections">
448     <short>
449     <p>CSC Elections have begun for the Winter 2012 term, nominations are open!</p>
450     </short>
451     <abstract>
452 <p>It's elections time again! On Thursday January 12th at 4:30PM, come to the Comfy Lounge
453 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
454 and Secretary. The sysadmin, librarian and office manager will also be chosen at this time.</p>
455
456 <p>Nominations are open until 4:30PM on Wednesday January 11th, and can be
457 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
458 who have paid their Mathsoc fee can vote and are invited to drop by.
459 You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
460    Chief Returning Officer</a>. A full list of candidates will be posted
461    when nominations close.</p>
462
463     <p>Good luck to our candidates!</p>
464     </abstract>
465 </eventitem>
466
467 <!-- Fall 2011 -->
468 <eventitem date="2011-11-18" time="7:00 PM" room="Comfy Lounge" title="CSC Open Data Code Party">
469   <short><p><i>by Calum T. Dalek</i>. The Computer Science Club is teaming up with the UW Open Data Initiative to bring you our third code party of the term! Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p></short>
470   <abstract><p> We're teaming up with the UW Open Data Initiative to host our next code party on Friday, November 18 at 7PM in the MC Comfy Lounge.</p>
471
472     <p>As always, you're welcome to work on your own projects, but we'll be hacking on some open data related projects:
473       <ol>
474         <li>Design and build UW APIs.</li>
475         We're looking for API design experts to bring scalable API designs to the party. At the party, we'll work on implementing these designs. The APIs that you build will be used by everyone to access the university data made available by the Open Data Initiative.
476         <li>Applications using university data that is currently available.</li>
477       </ol>
478      </p>
479      <p>If you'd like to discuss your ideas for these proposed projects, check out the newsgroup, uw.csc</p></abstract>
480 </eventitem>
481
482 <eventitem date="2011-11-12" time="7:30 AM" room="Davis Centre" title="CSC goes to Design Our Tomorrow">
483
484     <short><p><i>by Calum T. Dalek</i>. The Computer Science Club has a limited number of tickets available for the <a href="http://designourtomorrow.com/">Design Our Tomorrow Conference</a> at the University of Toronto on Saturday, November 12, 10:00 - 16:30. See event information for ticket details.</p></short>
485
486     <abstract><p>
487 The Computer Science Club has tickets available for the Design Our Tomorrow Conference at the University of Toronto on Saturday, November 12, 10:00 - 16:30, and would like to invite you to attend. The DOT Conference is a TED-style event geared towards students in high school, undergraduate, and graduate studies. The goal of the event is to inspire young people to create, innovate, better themselves, and in the process, better the world.  The conference is free for students and is valued at $500 a ticket for non-students. For more details about the conference, visit <a href="http://designourtomorrow.com/">http://designourtomorrow.com/</a>.</p>
488
489 <p>Tickets have been reserved for the CSC, and transportation to the conference has been funded by the David R. Cheriton School of Computer Science; a $5 deposit is required to secure a seat on the bus, which will be refunded to attendees upon departure. To sign up, visit the CSC office at MC 3036/3037 with exact change. You will need to provide your full name, e-mail, and student ID number. Please note that students who have already registered for the conference *should not* try to register through the CSC. For more details, visit the CSC website at <a href="http://csclub.uwaterloo.ca/">http://csclub.uwaterloo.ca/</a>.</p>
490
491 <p>This event is not restricted to CSC members&mdash;any student is free to attend. Tickets are very limited, so please sign up as soon as possible.</p>
492
493 <p>On the morning of November 12, attendees should meet in front of the Davis Center at 7:30 am. The bus will be leaving promptly at 8:00 am, so please arrive no later than 7:30 so we can process refunds and depart on time.</p>
494
495 <p>We hope that you will join us.
496 </p></abstract>
497
498 </eventitem>
499 <eventitem date="2011-10-24" time="4:30 PM" room="MC 3003" title="UNIX 102: Tools in the UNIX Environment">
500
501     <short><p><i>by Calum T. Dalek</i>. The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
502 </p></short>
503
504     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed Unix 101 but still know your way around you should be fine. Topics covered include: "real" editors, text processing, navigating a multiuser Unix environment, standard tools, and more. If you aren't interested or feel comfortable with these tasks, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix.</p></abstract>
505
506 </eventitem>
507 <eventitem date="2011-10-21" time="7 PM" room="Comfy Lounge" title="Code Party 2">
508         <short>
509                 <p><i>by Calum T. Dalek</i>. The Computer Science Club is having our second code party of the term! Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
510         </short>
511         <abstract>
512                 <p>
513                  The Computer Science Club is having our second code party of the term! Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.
514                 </p>
515
516                 <p>
517                 There will be 3 more code parties this term.
518                 </p>
519         </abstract>
520 </eventitem>
521 <eventitem date="2011-10-13" time="6:30 PM" room="MC 4020" title="How Browsers Work">
522         <short>
523                 <p><i>by Ehsan Akhgari</i>. Veteran Mozilla engineer Ehsan Akhgari will present a talk on the internals of web browsers. The material will range from the fundamentals of content rendering to the latest innovations in browser design. Click on the talk title for a full abstract.</p>
524         </short>
525         <abstract>
526                 <p>
527 Web browsers have evolved. From their humble beginnings as simple HTML
528 rendering engines they have grown and evolved into rich application
529 platforms. This talk will start with the fundamentals: how a browser
530 creates an on-screen representation of the resources downloaded from
531 the network. (Boring, right? But we have to start somewhere.) From
532 there we'll get into the really exciting stuff: the latest innovations
533 in Web browsers and how those innovations enable — even encourage —
534 developers to build more complex applications than ever before. You'll
535 see real-world examples of people building technologies on top of
536 these "simple rendering engines" that seemed impossible a short time
537 ago.
538
539 Bio of the speaker:
540 Ehsan Akhgari has contributed to the Mozilla project for more than 5
541 years.  He has worked on various parts of Firefox, including the user
542 interface and the rendering engine.  He originally implemented Private
543 Browsing in Firefox.  Right now he's focusing on the editor component
544 in the Firefox engine.
545                 </p>
546
547                 <p>
548                 There will be 4 more code parties this term.
549                 </p>
550         </abstract>
551 </eventitem>
552 <eventitem date="2011-09-30" time="7 PM" room="Comfy Lounge" title="Code Party 1">
553         <short>
554                 <p><i>by Calum T. Dalek</i>. The Computer Science Club is having our first code party of the term! The theme for this code party will be collaborative development. We'll present several ideas of small projects to work on for the unexperienced. Everyone is welcome; please bring your friends! There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
555         </short>
556         <abstract>
557                 <p>
558                 The Computer Science Club is having our first code party of the term! The theme for this code party will be collaborative development. We'll present several ideas of small projects to work on for the unexperienced. Everyone is welcome; please bring your friends! There will be foodstuffs and sugary drinks available for your hacking pleasure.
559                 </p>
560
561                 <p>
562                 There will be 4 more code parties this term.
563                 </p>
564         </abstract>
565 </eventitem>
566 <eventitem date="2011-09-29" edate="2011-09-29" time="4:00 PM" etime="5:30 PM" room="MC 3004" title="UNIX 101: An Introduction to the Shell">
567         <short>
568                 <p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!</p>
569         </short>
570         <abstract>
571                 <p>Unix 101 is the first in a series of tutorials on using Unix. This tutorial will present an introduction to the Unix shell environment, both on the student servers and on other Unix environments. Topics covered include: using the shell, both basic interaction and more advanced topics like scripting and job control, the filesystem and manipulating it, and secure shell. If you feel you're already familiar with these topics, don't hesitate to come to Unix 102 to learn about documents, editing, and other related tasks, or watch out for Unix 103, 104, and 201 that get much more in depth with power tools and software authoring on Unix. </p>
572         </abstract>
573 </eventitem>
574 <eventitem date="2011-09-19" edate="2011-09-19" time="4:30 PM" etime="5:30 PM" room="Comfy Lounge" title="Elections">
575         <short>
576                 <p>
577                 Club elections. See related news items for details.
578                 </p>
579         </short>
580         <abstract>
581                 Club elections. See related news items for details.
582         </abstract>
583 </eventitem>
584
585 <!-- Spring 2011 -->
586 <eventitem date="2011-07-29" time="6 PM" room="home of askhader, see abstract" title="CTRL-D">
587         <short>
588                 <p>
589                 The end of another term is here, and so we're having our End-of-Term dinner.
590
591                 Everybody's welcome to come to CTRL-D. We are running this like a potluck, so bringing food is suggested.
592                 </p>
593         </short>
594         <abstract>
595                 <a href="http://csclub.uwaterloo.ca/~askhader/">askhader's</a> house is at: <br/>
596                 9 Cardill Cresent<br/>
597                 Waterloo, ON<br/>
598         </abstract>
599 </eventitem>
600 <eventitem date="2011-07-22" time="7 PM" room="Comfy Lounge" title="Code Party 3">
601         <short>
602                 <p>
603                         The final Code Party of the term is here!  Come hack on some code,
604                         solve some puzzles, and have some fun. The event starts in the evening and will run
605                         all night.  You can show up for any portion of it.  You should bring a laptop, and
606                         probably have something in mind to work on, though you're welcome with neither.
607                 </p>
608                 <p>
609                         Snacks will be provided.  Everyone is welcome.
610                 </p>
611                 <p>
612                         Please note this date is postponed from the originally scheduled date due to
613                         conflicts with <a href="http://www.kitchenerribandbeerfest.com/">Kitchener Ribfest &amp; Craft Beer Show</a>
614                 </p>
615         </short>
616 </eventitem>
617
618 <eventitem date="2011-07-20" time="4:30 PM" room="MC 2038" title="An Introduction to Steganography">
619         <short>
620                 <p>
621                         As part of the CSC member talks series, Yomna Nasser will be presenting an introduction to steganography.
622                         Steganography is the act of hiding information such that it can only be found by its intended recipient.
623                         It has been practiced since ancient Greece, and is still in use today.
624                 </p>
625                 <p>
626                         This talk will include an introduction to the area, history, and some basic techniques for hiding information
627                         and detecting hidden data.  There will be an overview of some of the mathematics involved, but nothing too
628                         rigorous.
629                 </p>
630         </short>
631 </eventitem>
632
633 <eventitem date="2011-07-09" time="4 PM to 10PM" room="Columbia Lake Firepit"
634         title="CSC Goes Outside">
635         <short> <p> Do you like going outside?  Are you
636                         vitamin-D deficient from being in the MC too long?  Do you think
637                         marshmallows, hotdogs, and fire are a delicious combination?  </p>
638
639                 <p> If so, you should join us as the CSC is going outside!  </p>
640
641                 <p> Around 4PM, we're going to Columbia Lake for some outdoor fun.
642                         We'll have Frisbees, kites, snacks, and some drinks.  We'll be
643                         sticking around until dusk, when we're going to have a campfire
644                         with marshmallows and hotdogs.  We plan to be there until 10PM, but
645                         of course you're welcome to come for any subinterval.  </p>
646         </short>
647 </eventitem>
648 <eventitem date="2011-07-04" time="1:30 PM" room="MC 5158" title="Our Troubles with Linux and Why You Should Care">
649         <short>
650                 <p>
651                 A joint work between Professors Tim Brecht, Ashif Harji, and
652                 Peter Buhr, this talk describes experiences using the Linux
653                 kernel as a platform for conducting performance evaluations.
654                 </p>
655         </short>
656         <abstract>
657                 <p>
658                 Linux provides researchers with a full-fledged operating system that is
659                 widely used and open source. However, due to its complexity and rapid
660                 development, care should be exercised when using Linux for performance
661                 experiments, especially in systems research. The size and continual
662                 evolution of the Linux code-base makes it difficult to understand, and
663                 as a result, decipher and explain the reasons for performance
664                 improvements. In addition, the rapid kernel development cycle means
665                 that experimental results can be viewed as out of date, or meaningless,
666                 very quickly. We demonstrate that this viewpoint is incorrect because
667                 kernel changes can and have introduced both bugs and performance
668                 degradations.
669                 </p>
670                 <p>
671                 This talk describes some of our experiences using the Linux kernel as a
672                 platform for conducting performance evaluations and some performance
673                 regressions we have found. Our results show, these performance
674                 regressions can be serious (e.g., repeating identical experiments
675                 results in large variability in results) and long lived despite having
676                 a large negative impact on performance (one problem appears to have
677                 existed for more than 3 years). Based on these experiences, we argue
678                 that it is often reasonable to use an older kernel version,
679                 experimental results need careful analysis to explain why a change in
680                 performance occurs, and publishing papers that validate prior research
681                 is essential.
682                 </p>
683                 <p>
684                 This is joint work with Ashif Harji and Peter Buhr.
685                 </p>
686                 <p>
687                 This talk will be about 20-25 minutes long with lots of time for
688                 questions and discussion afterwards.
689                 </p>
690         </abstract>
691 </eventitem>
692 <eventitem date="2011-06-24" time="7 PM" room="Comfy Lounge" title="Code Party 2">
693         <short>
694                 <p>
695                         The second Code Party of the term takes place this Friday!  Come hack on some code,
696                         solve some puzzles, and have some fun. The event starts in the evening and will run
697                         all night.  You can show up for any portion of it.  You should bring a laptop, and
698                         probably have something in mind to work on, though you're welcome with neither.
699                 </p>
700                 <p>
701                         Snacks will be provided.
702                 </p>
703         </short>
704 </eventitem>
705 <eventitem date="2011-06-14" time="4:30 PM" room="MC 2054" title="Taming Software Bloat with AdaptableGIMP">
706         <short>
707                 Ever use software with 100s or 1000s of commands? Ever have a hard time
708                 finding the right commands to perform your task? In this talk, we'll
709                 present AdaptableGIMP, a new version of GIMP developed at Waterloo to
710                 help simplify complex user interfaces.
711         </short>
712         <abstract>
713                 <p>
714                         Ever use software with 100s or 1000s of commands? Ever have a hard time
715                         finding the right commands to perform your task? We have. And we have
716                         some new ideas on how to deal with software bloat.
717                 </p>
718                 <p>
719                         In this talk, we'll present AdaptableGIMP, a new version of GIMP
720                         developed by the HCI Lab here at the University of Watreloo.
721                         AdaptableGIMP introduces the notion of crowdsourced interface
722                         customizations: Any user of the application can customize the interface
723                         for performing a particular task, with that customization instantly
724                         shared with all other users through a wiki at adaptablegimp.org. In the
725                         talk, we'll demo this new version of GIMP and show how it can help
726                         people work faster by simplifying feature-rich, complex user
727                         interfaces.
728                 </p>
729         </abstract>
730 </eventitem>
731 <eventitem date="2011-06-09" time="4:30 PM" room="MC 2054"
732         title="General Purpose Computing on Graphics Cards">
733         <short>
734                 In the first of our member talks for the term, Katie Hyatt will give a
735                 short introduction to General Purpose Graphics Processing Unit
736                 computing.  This expanding field has many applications. The primary
737                 focus of this talk will be nVidia's CUDA architecture.
738         </short>
739         <abstract>
740                 <p> This is the first of our member talks for the term, presented by
741                         CSC member and Waterloo undergraduate student Katie Hyatt
742                 </p>
743                 <p>
744                         GPGPU (general purpose graphics processing unit) computing is an
745                         expanding area of interest, with applications in physics, chemistry,
746                         applied math, finance, and other fields. nVidia has created an
747                         architecture named CUDA to allow programmers to use graphics cards
748                         without having to write PTX assembly or understand OpenGL. CUDA is
749                         designed to allow for high-performance parallel computation controlled
750                         from the CPU while granting the user fine control over the behaviour
751                         and performance of the device.
752                 </p>
753
754                 <p>
755                         In this talk, I'll discuss the basics of nVidia's CUDA architecture
756                         (with most emphasis on the CUDA C extensions), the GPGPU programming
757                         environment, optimizing code written for the graphics card, algorithms
758                         with noteworthy performance on GPU, libraries and tools available to
759                         the GPGPU programmer, and some applications to condensed matter
760                         physics. No physics background required!
761                 </p>
762         </abstract>
763 </eventitem>
764 <eventitem date="2011-06-03" time="7 PM" room="Comfy Lounge" title="Code Party 1">
765         <short>
766                 The Computer Science Club is having our first code party of the term.
767                 The theme for this week's code party is personal projects. Come show us
768                 what you've been working on! Of course, everybody is welcome, even if you
769                 don't have a project.
770         </short>
771         <abstract>
772                 The Computer Science Club is having our first code party of the term.
773                 The theme for this week's code party is personal projects. Come show us
774                 what you've been working on! Of course, everybody is welcome, even if you
775                 don't have a project.
776
777                 Personal projects are a great way to flex your CS muscles, and learn interesting
778                 and new things. Come out and have some fun!
779
780                 Two more are scheduled for later in the term.
781         </abstract>
782 </eventitem>
783 <eventitem date="2011-05-09" time="5:31 PM" room="Comfy Lounge" title="Elections Nominees List">
784     <short>
785     <p>CSC Elections, final list of nominations for Spring 2011</p>
786     </short>
787     <abstract>
788     <p>The nominations are:
789     <ul>
790     <li>President: jdonland, mimcpher, mthiffau</li>
791     <li>Vice-President: jdonland, mimcpher</li>
792     <li>Treasurer: akansong, kspaans</li>
793     <li>Secretary: akansong, jdonland</li>
794     </ul>
795     </p>
796     </abstract>
797 </eventitem>
798
799 <eventitem date="2011-05-09" time="5:30 PM" room="Comfy Lounge" title="Elections">
800     <short>
801     <p>CSC Elections have begun for the Spring 2011 term, nominations are open!</p>
802     </short>
803     <abstract>
804     <p>It's time to elect your CSC executive for the Spring 2011 term. The
805        elections will be held on Monday May 9th at 5:30PM in the Comfy Lounge
806        on the 3rd floor of the MC. Nominations can be sent to the Chief
807        Returning Officer, <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
808        Nominations will be open until 4:30PM on Monday May 9th. You can also stop by the office in
809        person to write your nominations on the white board.</p>
810
811     <p>The executive positions open for nomination are:
812     <ul>
813     <li>President</li>
814     <li>Vice-President</li>
815     <li>Treasurer</li>
816     <li>Secretary</li>
817     </ul>
818        There are also numerous positions that will be appointed once the
819        executive are elected including systems administrator, office manager,
820        and librarian.</p>
821
822     <p>Everyone is encouraged to run if they are interested, regardless of
823        program of study, age, or experience. If you can't make the election,
824        that's OK too! You can give the CRO a statement to read on your
825        behalf. If you can't make it or are out of town, your votes can be
826        sent to the CRO in advance of the elections. For the list of nominees,
827        watch the CSC website, or ask the CRO.</p>
828
829     <p>Good luck to our candidates!</p>
830     </abstract>
831 </eventitem>
832
833 <!-- Winter 2011 -->
834 <eventitem date="2011-03-17" time="04:30 PM" room="MC2034" title="Software Patents">
835
836     <short><p><i>by Stanley Khaing</i>. What are the requirements for obtaining a patent? Should software be patentable?</p></short>
837
838 <abstract>
839         <p>Stanley Khaing is a lawyer from Waterloo whose areas of practice are software and high technology. He will be discussing software patents. In particular, he will be addressing the following questions:</p>
840         <ul>
841         <li>What are the requirements for obtaining a patent?</li>
842         <li>Should software be patentable?</li>
843         </ul>
844 </abstract>
845
846 </eventitem>
847
848 <eventitem date="2011-02-17" time="07:00 PM" room="MC2017" title="A Smorgasbord of Perl Talks">
849
850     <short><p><i>by KW Perl Mongers</i>. These talks are intended for programmers who are curious about the Swiss Army Chainsaw of languages, Perl.</p></short>
851
852 <abstract>
853         <p>Tyler Slijboom will present:</p>
854
855         <ul>
856         <li>Prototyping in Perl,</li>
857         <li>Perl Default Variables,</li>
858         <li>HOWTO on OO Programming, and</li>
859         <li>HOWTO on Installing and Using Modules from CPAN</li>
860         </ul>
861
862         <p>Daniel Allen will present:</p>
863
864         <ul>
865         <li>Coping with Other Peoples' Code</li>
866         </ul>
867
868         <p>Justin Wheeler will present:</p>
869
870         <ul>
871         <li>Moose: a Modern Perl Framework</li>
872         </ul>
873 </abstract>
874
875 </eventitem>
876
877 <eventitem date="2011-02-09" time="04:30 PM" room="MC3003" title="UNIX 103: Version Control Systems">
878
879     <short><p><i>by Calum T. Dalek</i>. In this long-awaited third installment of the popular Unix Tutorials the friendly experts of the CSC will teach you the simple art of version control.
880 </p></short>
881
882     <abstract><p>You will learn the purpose and use of two different Version Control Systems (git and subversion). This tutorial will advise you in the discipline of managing the source code of your projects and enable you to quickly learn new Version Control Systems in the work place -- a skill that is much sought after by employers.</p></abstract>
883
884 </eventitem>
885
886 <eventitem date="2011-02-04" time="07:00 PM" room="Comfy Lounge" title="Code Party">
887
888     <short><p><i>by Calum T. Dalek</i>. Come one, come all to the Code Party happening in the Comfy Lounge this Friday. The event starts at 7:00PM and will run through the night.</p></short>
889
890     <abstract><p>Why sleep when you could be hacking on $your_favourite_project or doing $something_classy in great company? Join us for a night of coding and comraderie! Food and caffeine will be provided.</p></abstract>
891
892 </eventitem>
893
894 <eventitem date="2011-02-02" time="04:30 PM" room="MC3003" title="UNIX 102: Documents and Editing in the Unix environment">
895
896     <short><p><i>by Calum T. Dalek</i>. The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
897 </p></short>
898
899     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed Unix 101 but still know your way around you should be fine. Topics covered include: "real" editors, document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing in the student environment and elsewhere. If you aren't interested or feel comfortable with these tasks, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix.</p></abstract>
900
901 </eventitem>
902
903 <eventitem date="2011-01-26" time="04:30 PM" room="MC3003" title="UNIX 101: An Introduction to the Shell">
904
905     <short><p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!
906 </p></short>
907
908
909     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
910 servers and on other Unix environments. Topics covered include: using the shell, both basic
911 interaction and advanced topics like scripting and job control, the filesystem and manipulating
912 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
913 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
914 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
915 </p></abstract>
916
917 </eventitem>
918
919
920 <!-- Fall 2010 -->
921 <eventitem date="2010-11-17" time="04:30 PM" room="MC4061" title="Mathematics and aesthetics in maze design">
922
923     <short><p><i>by Dr. Craig S. Kaplan</i>. In this talk, I discuss the role of the computer in the process of designing mazes.  I present some well known algorithms for maze construction, and more recent research that attempts to novel mazes with non-trivial mathematical or aesthetic properties.
924 </p></short>
925
926
927     <abstract><p>For thousands of years, mazes and labyrinths have played
928 an important role in human culture and myth.  Today, solving
929 mazes is a popular pastime, whether with pencil on paper
930 or by navigating through a cornfield.
931 </p><p>The construction of compelling mazes encompasses a variety of
932 challenges in mathematics, algorithm design, and aesthetics.
933 The maze should be visually attractive, but it should also be
934 an engaging puzzle.  Master designers balance these two goals
935 with wonderful results.
936 </p><p>In this talk, I discuss the role of the computer in the process
937 of designing mazes.  I present some well known algorithms for
938 maze construction, and more recent research that attempts to
939 novel mazes with non-trivial mathematical or aesthetic properties.
940 </p></abstract>
941
942 </eventitem>
943 <eventitem date="2010-11-13" time="12:00 PM" room="Outside DC" title="CSC Invades Toronto">
944
945     <short><p>The CSC is going to Toronto to visit UofT's <a href="http://cssu.cdf.toronto.edu/">CSSU</a>, see what they do, and have beer with them.
946             If you would like to come along, please come by the office and sign up. The cost for the trip is $2 per member.
947
948         The bus will be leaving from the Davis Center (DC) Saturday Nov. 13 at NOON (some people may have been told 1pm, this is an error). Please show up a few minutes early so we may
949             board.</p></short>
950
951 </eventitem>
952
953 <eventitem date="2010-11-05" time="07:00 PM" room="CnD Lounge (MC3002)" title="Hackathon">
954
955     <short><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and whatever else comes to mind. If you're interested in getting involved in free/open source development, some members will be on hand to guide you through the process.
956 </p></short>
957
958
959     <abstract><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be
960 in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and
961 whatever else comes to mind. If you're interested in getting involved in free/open source development,
962 some members will be on hand to guide you through the process.
963 </p></abstract>
964
965 </eventitem>
966
967 <eventitem date="2010-10-26" time="04:30 PM" room="MC4040" title="Analysis of randomized algorithms via the probabilistic method">
968
969     <short><p>In this talk, we will give a few examples that illustrate the basic method and show  how it can be used to prove the existence of objects with desirable combinatorial  properties as well as produce them in expected polynomial time via randomized  algorithms.  Our main goal will be to present a very slick proof from 1995 due to  Spencer on the performance of a randomized greedy algorithm for a set-packing  problem.  Spencer, for seemingly no reason, introduces a time variable into his  greedy algorithm and treats set-packing as a Poisson process.  Then, like magic,  he is able to show that his greedy algorithm is very likely to produce a good  result using basic properties of expected value.
970 </p></short>
971
972
973     <abstract><p>The probabilistic method is an extremely powerful tool in combinatorics that can be
974 used to prove many surprising results.  The idea is the following: to prove that an
975 object with a certain property exists, we define a distribution of possible objects
976 and use show that, among objects in the distribution, the property holds with
977 non-zero probability.  The key is that by using the tools and techniques of
978 probability theory, we can vastly simplify proofs that would otherwise require very
979 complicated combinatorial arguments.
980 </p><p>As a technique, the probabilistic method developed rapidly during the latter half of
981 the 20th century due to the efforts of mathematicians like Paul Erdős and increasing
982 interest in the role of randomness in theoretical computer science.  In essence, the
983 probabilistic method allows us to determine how good a randomized algorithm's output
984 is likely to be.  Possibly applications range from graph property testing to
985 computational geometry, circuit complexity theory, game theory, and even statistical
986 physics.
987 </p><p>In this talk, we will give a few examples that illustrate the basic method and show
988 how it can be used to prove the existence of objects with desirable combinatorial
989 properties as well as produce them in expected polynomial time via randomized
990 algorithms.  Our main goal will be to present a very slick proof from 1995 due to
991 Spencer on the performance of a randomized greedy algorithm for a set-packing
992 problem.  Spencer, for seemingly no reason, introduces a time variable into his
993 greedy algorithm and treats set-packing as a Poisson process.  Then, like magic,
994 he is able to show that his greedy algorithm is very likely to produce a good
995 result using basic properties of expected value.
996 </p><p>Properties of Poisson and Binomial distributions will be applied, but I'll remind
997 everyone of the needed background for the benefit of those who might be a bit rusty.
998 Stat 230 will be more than enough. Big O notation will be used, but not excessively.
999 </p></abstract>
1000
1001 </eventitem>
1002
1003 <eventitem date="2010-10-19" time="04:30 PM" room="RCH 306" title="Machine learning vs human learning - will scientists become obsolete?">
1004
1005     <short><p><i>by Dr. Shai Ben-David</i>.
1006 </p></short>
1007
1008
1009     <abstract><p>
1010 </p></abstract>
1011
1012 </eventitem>
1013
1014 <eventitem date="2010-10-13" time="04:30 PM" room="MC3003" title="UNIX 102">
1015
1016     <short><p>This installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
1017 </p></short>
1018
1019
1020     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
1021 If you missed Unix101 but still know your way around you should be fine.
1022 Topics covered include: "real" editors, document typesetting with LaTeX
1023 (great for assignments!), bulk editing, spellchecking, and printing in the
1024 student environment and elsewhere.
1025 </p></abstract>
1026
1027 </eventitem>
1028 <eventitem date="2010-10-06" time="04:30 PM" room="MC3003" title="UNIX 103">
1029
1030     <short><p>Unix 103 will cover version control systems and how to use them to manage your projects. Unix 101 would be helpful, but all that is needed is basic  knowledge of the Unix command line (how to enter commands).
1031 </p></short>
1032
1033
1034     <abstract><p>Unix 103 will cover version control systems and how to use them to manage
1035 your projects. Unix 101 would be helpful, but all that is needed is basic
1036 knowledge of the Unix command line (how to enter commands).
1037 </p></abstract>
1038
1039 </eventitem>
1040
1041 <eventitem date="2010-10-12" time="04:30 PM" room="MC4061" title="How to build a brain: From single neurons to cognition">
1042
1043     <short><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing mathematical models of brain function.  It has made significant headway in understanding aspects of the neural code.  However, past work has largely focused on small numbers of neurons, and so the underlying representations are often simple. In this talk I demonstrate how the ideas underlying these simple forms of representation can underwrite a representational hierarchy that scales to support sophisticated, structure-sensitive representations.
1044 </p></short>
1045
1046
1047     <abstract><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing
1048 mathematical models of brain function.  It has made significant
1049 headway in understanding aspects of the neural code.  However,
1050 past work has largely focused on small numbers of neurons, and
1051 so the underlying representations are often simple. In this
1052 talk I demonstrate how the ideas underlying these simple forms of
1053 representation can underwrite a representational hierarchy that
1054 scales to support sophisticated, structure-sensitive
1055 representations.  I will present a general architecture, the semantic
1056 pointer architecture (SPA), which is built on this hierarchy
1057 and allows the manipulation, processing, and learning of structured
1058 representations in neurally realistic models.  I demonstrate the
1059 architecture on Progressive Raven's Matrices (RPM), a test of
1060 general fluid intelligence.
1061 </p></abstract>
1062
1063 </eventitem>
1064
1065 <eventitem date="2010-10-04" time="04:30 PM" room="MC4021" title="BareMetal OS">
1066
1067     <short><p><i>By Ian Seyler, Return to Infinity</i>. BareMetal is a new 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly,  while applications can be written in Assembly or C/C++.  High Performance Computing is the main target application.
1068 </p></short>
1069
1070
1071     <abstract><p><i>By Ian Seyler, Return to Infinity</i>. BareMetal is a new 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly,
1072 while applications can be written in Assembly or C/C++.
1073 High Performance Computing is the main target application.
1074 </p></abstract>
1075
1076 </eventitem>
1077
1078 <eventitem date="2010-09-28" time="04:30 PM" room="MC4061" title="A Brief Introduction to Video Encoding">
1079
1080     <short><p><i>By Peter Barfuss</i>. In this talk, I will go over the concepts used in video encoding (such as motion estimation/compensation, inter- and intra- frame prediction, quantization and entropy encoding), and then demonstrate these concepts and algorithms in use in the MPEG-2 and the H.264 video codecs. In addition, some clever optimization tricks using SIMD/vectorization will be covered, assuming sufficient time to cover these topics.
1081 </p></short>
1082
1083
1084     <abstract><p><i>By Peter Barfuss</i>. With the recent introduction of digital TV and the widespread success
1085 of video sharing websites such as youtube, it is clear that the task
1086 of lossily compressing video with good quality has become important.
1087 Similarly, the complex algorithms involved require high amounts of
1088 optimization in order to run fast, another important requirement for
1089 any video codec that aims to be widely used/adopted.
1090 </p><p>In this talk, I
1091 will go over the concepts used in video encoding (such as motion
1092 estimation/compensation, inter- and intra- frame prediction,
1093 quantization and entropy encoding), and then demonstrate these
1094 concepts and algorithms in use in the MPEG-2 and the H.264 video
1095 codecs. In addition, some clever optimization tricks using
1096 SIMD/vectorization will be covered, assuming sufficient time to cover
1097 these topics.
1098 </p></abstract>
1099
1100 </eventitem>
1101
1102 <eventitem date="2010-09-23" time="04:30 PM" room="DC1301 (The Fishbowl)" title="Calling all CS Frosh">
1103
1104     <short><p>Come meet and greet your professors, advisors, and the heads of the school. Talk to the CSC executive and other upper year students about CS at Waterloo. Free food and beverages will also be available, so there is really no excuse to miss this.
1105 </p></short>
1106
1107
1108     <abstract><p>Come meet and greet your professors, advisors, and the heads of the school.
1109 Talk to the CSC executive and other upper year students about CS at Waterloo.
1110 Free food and beverages will also be available, so there is really no excuse
1111 to miss this.
1112 </p></abstract>
1113
1114 </eventitem>
1115 <eventitem date="2010-09-29" time="04:30 PM" room="MC3003" title="Unix 101">
1116
1117     <short><p>Need to use the Unix environment for a course, want to overcome your fears of the command line, or just curious? Attend the first installment in the CSC's popular series of Unix tutorials to learn the basics of the shell and how to navigate the unix environment. By the end of the hands on workshop you will be able to work efficiently from the command line and power-use circles around your friends.
1118 </p></short>
1119
1120
1121     <abstract><p>Need to use the Unix environment for a course, want to overcome your fears of
1122 the command line, or just curious? Attend the first installment in the CSC's
1123 popular series of Unix tutorails to learn the basics of the shell and how to
1124 navigate the unix environment. By the end of the hands on workshop you will
1125 be able to work efficiently from the command line and power-use circles around
1126 your friends.
1127 </p></abstract>
1128
1129 </eventitem>
1130
1131 <eventitem date="2010-09-22" time="06:00 PM" room="MC4045" title="Cooking for Geeks">
1132
1133     <short><p>The CSC is happy to be hosting Jeff Potter, author of "Cooking for Geeks" for a presentation on the finer arts of food science.  Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike. We're happy to have Jeff joining us for a hands on demonstration.
1134 </p></short>
1135
1136
1137     <abstract><p>The CSC is happy to be hosting Jeff Potter, author of "Cooking for Geeks" for a presentation on the finer arts of food science.
1138 Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike.
1139 We're happy to have Jeff joining us for a hands on demonstration.
1140 </p><p>But you don't have to take our word for it... here's what Jeff has to say:
1141 </p><p>Hi! I'm Jeff Potter, author of Cooking for Geeks (O'Reilly Media, 2010), and I'm doing a "D.I.Y. Book Tour" to talk
1142 about my just-released book. I'll talk about the food science behind what makes things yummy, giving you a quick
1143 primer on how to go into the kitchen and have a fun time turning out a good meal.
1144 Depending upon the space, I’ll also bring along some equipment or food that we can experiment with, and give you a chance to play with stuff and pester me with questions.
1145 </p><p>If you have a copy of the book, bring it! I’ll happily sign it.
1146 </p></abstract>
1147
1148 </eventitem>
1149 <eventitem date="2010-09-21" time="04:30 PM" room="MC4061" title="In the Beginning">
1150
1151     <short><p><b>by Dr. Prabhakar Ragde, Cheriton School of Computer Science</b>. I'll be workshopping some lecture ideas involving representations of
1152     numbers, specification of computation in  functional terms, reasoning about
1153     such specifications, and comparing the strengths and weaknesses of  different approaches.
1154 </p></short>
1155
1156
1157     <abstract><p>I'll be workshopping some lecture ideas involving representations
1158     of numbers, specification of computation in
1159     functional terms, reasoning about such specifications, and comparing the
1160     strengths and weaknesses of
1161     different approaches. No prior background is needed; the talk should be accessible
1162     to anyone attending
1163     the University of Waterloo and, I hope, interesting to both novices and experts.
1164 </p></abstract>
1165
1166 </eventitem>
1167 <eventitem date="2010-09-14" time="04:30 PM" room="Comfy Lounge" title="Elections">
1168   <short><p>Fall term executive elections and general meeting.</p></short>
1169 </eventitem>
1170
1171 <!-- Spring 2010 -->
1172
1173 <eventitem date="2010-07-20" time="04:30 PM" room="MC2066" title="The Incompressibility Method">
1174 <short>
1175 In this talk, we shall explore the incompressibility method---an interesting and
1176 extremely powerful framework for determining the average-case runtime of
1177 algorithms.  Within the right background knowledge, the heapsort question can be
1178 answered with an elegant 3-line proof.
1179 </short>
1180 <abstract>
1181 <p>Heapsort. It runs in $\Theta(n \log n)$ time in the worst case, and in $O(n)$
1182     time in the best case.  Do you think that heapsort runs faster than $O(n
1183     \log n)$ time on average?  Could it be possible that on most inputs,
1184     heapsort runs in $O(n)$ time, running more slowly only on a small fraction
1185     of inputs?</p>
1186 <p>Most students would say no. It "feels" intuitively obvious that heapsort
1187     should take the full $n \log n$ steps on most inputs.  However, proving this
1188     rigourously with probabilistic arguments turns out to be very difficult.
1189     Average case analysis of algorithms is one of those icky subjects that most
1190     students don't want to touch with a ten foot pole; why should it be so
1191     difficult if it is so intuitively obvious?</p>
1192 <p>In this talk, we shall explore the incompressibility method---an interesting
1193     and extremely powerful framework for determining the average-case runtime of
1194     algorithms.  Within the right background knowledge, the heapsort question
1195     can be answered with an elegant 3-line proof.</p>
1196 <p>The crucial fact is that an overwhelmingly large fraction of randomly
1197     generated objects are incompressible. We can show that the inputs to
1198     heapsort that run quickly correspond to inputs that can be compressed,
1199     thereby proving that heapsort can't run quickly on average.  Of course,
1200     "compressible" is something that must be rigourously defined, and for this
1201     we turn to the fascinating theory of Kolmogorov complexity.</p>
1202 <p>In this talk, we'll briefly discuss the proof of the incompressibility
1203     theorem and then see a number of applications.  We won't dwell too much on
1204     gruesome mathemtical details.  No specific background is required, but
1205     knowledge of some of the topics in CS240 will be helpful in understanding
1206     some of the applications.</p>
1207 </abstract>
1208 </eventitem>
1209
1210 <eventitem date="2010-07-13" time="04:30 PM" room="MC2066" title="Halftoning and Digital Art">
1211     <short><p>Edgar Bering will be giving a talk titled: Halftoning and Digital Art</p></short>
1212     <abstract><p>Halftoning is the process of simulating a continuous tone image
1213         with small dots or regions of one colour. Halftoned images may be seen
1214         in older newspapers with a speckled appearance, and to this day colour
1215         halftoning is used in printers to reproduce images. In this talk I will
1216         present various algorithmic approaches to halftoning, with an eye not
1217         toward exact image reproduction but non-photorealistic rendering and
1218         art. Included in the talk will be an introduction to digital paper
1219         cutting and a tutorial on how to use the CSC's paper cutter to render
1220         creations.
1221 </p></abstract>
1222 </eventitem>
1223
1224
1225 <eventitem date="2010-07-09" time="07:00 PM" room="MC Comfy" title="Code Party">
1226     <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
1227             until we get bored (likely in the early in morning). Come out for
1228             fun hacking times.
1229     </p></short>
1230     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
1231             until we get bored (likely in the early in morning). Come out for
1232             fun hacking times.
1233     </p></abstract>
1234 </eventitem>
1235
1236 <eventitem date="2010-07-06" time="04:30 PM" room="MC2054" title="Dataflow Analysis">
1237   <short><p>Nomair Naeem, a P.H.D. Student at Waterloo, will be giving a talk about Dataflow Analysis</p></short>
1238   <abstract><p>
1239     After going through an introduction to Lattice Theory and a formal treatment to
1240     Dataflow Analysis Frameworks, we will take an in-depth view of the
1241     Interprocedural Finite Distributive Subset (IFDS) Algorithm which implements a
1242     fully context-sensitive, inter-procedural static dataflow analysis. Then, using
1243     a Variable Type Analysis as an example, I will outline recent extensions that we
1244     have made to open up the analysis to a larger variety of static analysis
1245     problems and making it more efficient.
1246     </p><p>
1247     The talk is self-contained and no prior knowledge of program analysis is
1248     necessary.
1249   </p></abstract>
1250 </eventitem>
1251
1252 <eventitem date="2010-06-22" time="04:30 PM" room="MC2066" title="Compiling To Combinators">
1253   <short><p>Professor Ragde will be giving the first of our Professor talks for the Spring 2010 term.</p></short>
1254   <abstract><p>
1255     Number theory was thought to be mathematically appealing but practically
1256     useless until the RSA encryption algorithm demonstrated its considerable
1257     utility. I'll outline how combinatory logic (dating back to 1920) has a
1258     similarly unexpected application to efficient and effective compilation,
1259     which directly catalyzed the development of lazy functional programming
1260     languages such as Haskell. The talk is self-contained; no prior knowledge
1261     of functional programming is necessary.
1262   </p></abstract>
1263 </eventitem>
1264
1265 <eventitem date="2010-05-25" time="05:00 PM" room="MC2066" title="Gerald Sussman">
1266   <short><p>Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas</p></short>
1267   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
1268 </eventitem>
1269
1270 <eventitem date="2010-05-26" time="03:30 PM" room="MC5136" title="Gerald Sussman">
1271   <short><p>Public Reception</p></short>
1272   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
1273 </eventitem>
1274
1275 <eventitem date="2010-05-26" time="05:000PM" room="MC5158" title="Gerald Sussman">
1276   <short><p>The Art of the Propagator</p></short>
1277   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
1278 </eventitem>
1279
1280 <eventitem date="2010-05-11" time="05:30 PM" room="Comfy Lounge" title="Elections">
1281   <short><p>Spring term executive elections and general meeting.</p></short>
1282 </eventitem>
1283
1284 <!-- Winter 2010 -->
1285 <eventitem date="2010-04-06" time="04:30 PM" room="DC1304" title="Brush-Based Constructive Solid Geometry">
1286
1287     <short><p>The last talk in the CS10 series will be presented by Jordan Saunders, in which he will discuss methods for processing brush-based constructive solid geometry.
1288 </p></short>
1289
1290
1291     <abstract><p>For some would-be graphics programmers, the biggest barrier-to-entry is getting data to render. This is why there exist so
1292 many terrain renderers: by virtue of the fact that rendering height-fields tends to give pretty pictures from next to no
1293 "created" information. However, it becomes more difficult when programmers want to do indoor rendering (in the style of the
1294 Quake and Unreal games). Ripping map information from the Quake games is possible (and fairly simple), but their tool-chain
1295 is fairly clumsy from the point of view of adding a conversion utility.
1296 </p><p>My talk is about Constructive Solid Geometry from a Brush-based perspective (nearly identical to Unreal's and still very similar
1297 to Quake's). The basic idea is that there are brushes (convex volumes in 3-space) and they can either be additive (solid brushes)
1298 or subtractive (hollow, or air brushes). The entire world starts off as an infinite solid lump and you can start removing sections
1299 of it then adding them back in. The talk pertains to fast methods of taking the list of brushes and generating world geometry. I may
1300 touch on interface problems with the editor, but the primary content will be the different ways I generated the geometry and what I found to be best.
1301 </p></abstract>
1302
1303 </eventitem>
1304 <eventitem date="2010-04-07" time="1:00 PM" room="MC2037" title="Windows Azure Lab">
1305
1306     <short><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.   Attend this Hands-on-lab session sponsored by Microsoft.
1307 </p></short>
1308
1309
1310     <abstract><p>We are in the midst of an industry shift as developers and businesses embrace the Cloud.
1311 Technical innovations in the cloud are dramatically changing the economics of computing
1312 and reducing barriers that keep businesses from meeting the increasing demands of
1313 today's customers.  The cloud promises choice and enables scenarios that previously
1314 were not economically practical.
1315 </p><p>Microsoft's Windows Azure is an internet-scale cloud computing services platform hosted
1316 in Microsoft data centers.  The Windows Azure platform, allows developers to build and
1317 deploy production ready cloud services and applications. With the Windows Azure platform,
1318 developers can take advantage of greater choice and flexibility in how they develop and
1319 deploy applications, while using familiar tools and programming languages.
1320 </p><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.
1321 Attend the Hands-on-lab session sponsored by Microsoft.
1322 </p></abstract>
1323
1324 </eventitem>
1325 <eventitem date="2010-04-01" time="6:30 PM" room="CSC Office" title="CTRL-D">
1326
1327     <short><p>Once again the CSC will be holding its traditional end of term dinner. It will be at the Vice President's house. If you don't know how to get there meet at the club office at 6:30 PM, a group will be leaving from the MC then. The dinner will be potluck style so bring a dish for 4-6 people, or some plates or pop or something.
1328 </p></short>
1329
1330
1331     <abstract><p>Once again the CSC will be holding its traditional end of term dinner. It will
1332 be at the Vice President's house. If you don't know how to get there meet
1333 at the club office at 6:30 PM, a group will be leaving from the MC then. The
1334 dinner will be potluck style so bring a dish for 4-6 people, or some plates
1335 or pop or something.
1336 </p></abstract>
1337
1338 </eventitem>
1339 <eventitem date="2010-03-30" time="4:30 PM" room="DC1304" title="NUI: The future of robotics and automated systems">
1340
1341     <short><p>Member Sam Pasupalak will present some of his ongoing work in Natural User Interfaces and Robotics in this sixth installment of CS10.
1342 </p></short>
1343
1344
1345     <abstract><p>Bill Gates in his article “A Robot in every home” in the Scientific American describes how the current
1346 robotics industry resembles the 1970’s of the Personal Computer Industry. In fact it is not just
1347 Microsoft which has already taken a step forward by starting the Microsoft Robotics studio, but robotics
1348 researchers around the world believe that robotics and automation systems are going to be ubiquitous in
1349 the next 10-20 years (similar to Mark Weiser’s analogy of Personal Computers 20 years ago). Natural User
1350 Interfaces (NUIs) are going to revolutionize the way we interact with computers, cellular phones, household
1351 appliances, automated systems in our daily lives. Just like the GUI made personal computing a reality,
1352 I believe natural user interfaces will do the same for robotics.
1353 </p><p>During the presentation I will be presenting my ongoing software project on natural user interfaces as well
1354 as sharing my goals for the future, one of which is to provide an NUI SDK and the other to provide a common
1355 Robotics OS for every hardware vendor that will enable people to make applications without worrying about
1356 underlying functionality. If time permits I would like to present a demo of my software prototype.
1357 </p></abstract>
1358
1359 </eventitem>
1360 <eventitem date="2010-03-26" time="7:00 PM" room="MC7001" title="A Final Party of Code">
1361
1362     <short><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on open source projects, doing some computational math, and other general classiness. There will be free energy drinks for everyone's enjoyment. This is the last of the term so don't miss out.
1363 </p></short>
1364
1365
1366     <abstract><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we
1367 get bored (likely in the early in morning). Come out for fun hacking
1368 times, spreading Intertube memes (optional), hacking on open source projects,
1369 doing some computational math, and other
1370 general classiness. There will be free energy drinks for everyone's
1371 enjoyment. This is the last of the term so don't miss out.
1372 </p></abstract>
1373
1374 </eventitem>
1375 <eventitem date="2010-03-23" time="4:30 PM" room="MC5158" title="Memory-Corruption Security Holes: How to exploit, patch and prevent them.">
1376
1377     <short><p>Despite it being 2010, code is still being exploited due to stack overflows, a 40+ year old class of security vulnerabilities. In this talk, I will go over several common methods of program exploitation, both on the stack and on the heap, as well as going over some of the current mitigation techniques (i.e. stack canaries, ASLR, etc.) for these holes, and similarly, how some of these can be bypassed as well.
1378 </p></short>
1379
1380
1381     <abstract><p>Despite it being 2010, code is still being exploited due to
1382 stack overflows, a 40+ year old class of security vulnerabilities. In
1383 this talk, I will go over several common methods of program
1384 exploitation, both on the stack and on the heap, as well as going over
1385 some of the current mitigation techniques (i.e. stack canaries, ASLR,
1386 etc.) for these holes, and similarly, how some of these can be
1387 bypassed as well.
1388 </p></abstract>
1389
1390 </eventitem>
1391 <eventitem date="2010-03-19" time="7:00 PM" room="Comfy Lounge" title="Another Party of Code">
1392
1393     <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on the OpenMoko, creating music mixes, and other general classiness. There will be free energy drinks for everyone's enjoyment.
1394 </p></short>
1395
1396
1397     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we
1398 get bored (likely in the early in morning). Come out for fun hacking
1399 times, spreading Intertube memes (optional), hacking on the OpenMoko,
1400 creating music mixes, and other
1401 general classiness. There will be free energy drinks for everyone's
1402 enjoyment.
1403 </p></abstract>
1404
1405 </eventitem>
1406 <eventitem date="2010-03-16" time="4:30 PM" room="MC5158" title="Approximation Hardness and the Unique Games Conjecture">
1407
1408     <short><p>The fifth installment in CS10: Undergraduate Seminars in CS, features CSC member Elyot Grant introducing the theory of approximation algorithms. Fun times and a lack of gruesome math are promised.
1409 </p></short>
1410
1411
1412     <abstract><p>The theory of NP-completeness suggests that some problems in CS are inherently hard—that is,
1413 there is likely no possible algorithm that can efficiently solve them.  Unfortunately, many of
1414 these problems are ones that people in the real world genuinely want to solve!  How depressing!
1415 What can one do when faced with a real-life industrial optimization problem whose solution may
1416 save millions of dollars but is probably impossible to determine without trillions of
1417 years of computation time?
1418 </p><p>One strategy is to be content with an approximate (but provably "almost ideal") solution, and from
1419 here arises the theory of approximation algorithms.  However, this theory also has a depressing side,
1420 as many well-known optimization problems have been shown to be provably hard to approximate well.
1421 </p><p>This talk shall focus on the depressing.  We will prove that various optimization problems (such as
1422 traveling salesman and max directed disjoint paths) are impossible to approximate well unless P=NP.
1423 These proofs are easy to understand and are REALLY COOL thanks to their use of very slick reductions.
1424 </p><p>We shall explore many NP-hard optimization problems and state the performance of the best known
1425 approximation algorithms and best known hardness results.  Tons of open problems will be mentioned,
1426 including the unique games conjecture, which, if proven true, implies the optimality of many of the
1427 best known approximation algorithms for NP-complete problems like MAX-CUT and INDEPENDENT SET.
1428 </p><p>I promise fun times and no gruesome math.  Basic knowledge of graph theory and computational
1429 complexity might help but is not required.
1430 </p></abstract>
1431
1432 </eventitem>
1433 <eventitem date="2010-03-12" time="7:00 PM" room="Comfy Lounge" title="A Party of Code">
1434
1435     <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
1436 </p></short>
1437
1438
1439     <abstract><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
1440 </p><p>Come join us for a night of coding. Get in touch with more experianced coders,
1441 advertize for/bug squash on your favourite open source project, write that personal
1442 project you were planning to do for a while but haven't found the time. Don't
1443 have any ideas but want to sit and hack? We can find something for you to do.
1444 </p></abstract>
1445
1446 </eventitem>
1447
1448 <eventitem date="2010-03-09" time="4:30 PM" room="DC1304" title="Software Transactional Memory and Using STM in Haskell">
1449
1450     <short><p>The fourth Undergraduate Seminar in Computer Science will be presented by Brennan Taylor, a club member. He will be discussing various concurrent computing problems, and introducing Software Transactional Memory as a solution to them.
1451 </p></short>
1452
1453
1454     <abstract><p>Concurrency is hard. Well maybe not hard, but it sure is annoying to get right. Even the
1455 simplest of synchronization tasks are hard to implement correctly when using synchronization
1456 primitives such as locks and semaphores.
1457 </p><p>In this talk we explore what Software Transactional Memory (STM) is, what problems STM solves,
1458 and how to use STM in Haskell. We explore a number of examples that show how easy STM is to use
1459 and how expressive Haskell can be. The goal of this talk is to convince attendees that STM is
1460 not only a viable synchronization solution, but superior to how synchronization is typically
1461 done today.
1462 </p></abstract>
1463
1464 </eventitem>
1465 <eventitem date="2010-03-06" time="5:00 PM" room="Waterloo Bowling Lanes" title="Bowling">
1466     <short><p>The CSC is going bowling. $9.75 for shoes and two games. The bowling alley serves fried food and beer. Join us for
1467     some or all of the above</p></short>
1468 </eventitem>
1469
1470 <eventitem date="2010-03-02" time="4:30 PM" room="DC1304" title="QIP=PSPACE">
1471
1472     <short><p>Dr. John Watrous of the <a href="http://www.iqc.ca">IQC</a> will present his recent result "QIP=PSPACE". The talk will not assume any familiarity with quantum computing or complexity theory, and light refreshments will be provided.
1473 </p></short>
1474
1475
1476     <abstract><p>The interactive proof system model of computation is a cornerstone of
1477 complexity theory, and its quantum computational variant has been
1478 studied in quantum complexity theory for the past decade.  In this
1479 talk I will discuss an exact characterization of the power of quantum
1480 interactive proof systems that I recently proved in collaboration with
1481 Rahul Jain, Zhengfeng Ji, and Sarvagya Upadhyay.  The characterization
1482 states that the collection of computational problems having quantum
1483 interactive proof systems consists precisely of those problems
1484 solvable with an ordinary classical computer using a polynomial amount
1485 of memory (or QIP = PSPACE in complexity-theoretic terminology).  This
1486 characterization implies the striking fact that quantum computing does
1487 not provide any increase in computational power over classical
1488 computing in the context of interactive proof systems.
1489 </p><p>I will not assume that the audience for this talk has any familiarity
1490 with either quantum computing or complexity theory; and to be true to
1491 the spirit of the interactive proof system model, I hope to make this
1492 talk as interactive as possible -- I will be happy to explain anything
1493 related to the talk that I can that people are interested in learning
1494 about.
1495 </p></abstract>
1496
1497 </eventitem>
1498 <eventitem date="2010-02-26" time="7:00 PM" room="CnD Lounge" title="Contest Closing">
1499     <short><p>The <a href="http://contest.csclub.uwaterloo.ca">contest</a> is coming to a close tomorrow, so to finish it in style we will be having ice cream and code friday night.
1500     It would be a shame if Waterloo lost (we're not on top of the <a href="http://csclub.uwaterloo.ca/contest/rankings.php">leaderboard</a> right now) so come out and hack for the home team.</p></short>
1501 </eventitem>
1502
1503 <eventitem date="2010-02-25" time="4:30 PM" room="DC1302" title="CSCF Town Hall">
1504
1505     <short><p>Come to a town hall style meeting with the managers of CSCF to discuss how to improve the undergraduate (student.cs) computing environment. Have gripes? Suggestions? Requests? Now is the time to voice them.
1506 </p></short>
1507
1508
1509     <abstract><p>Come to a town hall style meeting with the managers of CSCF to discuss how
1510 to improve the undergraduate (student.cs) computing environment. Have gripes?
1511 Suggestions? Requests? Now is the time to voice them.
1512 </p><p>CSCF management (Bill Ince, Associate Director; Dave Gawley, Infrastructure Support;
1513 Dawn Keenan, User Support; Lawrence Folland, Research Support) will be at the
1514 meeting to listen to student concerns and suggestions.  Information gathered from
1515 the meeting will be summarized and taken to the CSCF advisory committee for
1516 discussion and planning.
1517 </p></abstract>
1518
1519 </eventitem>
1520
1521 <eventitem date="2010-02-23" time="04:30 PM" room="MC5136B" title="The Best Algorithms are Randomized Algorithms">
1522
1523     <short><p>In this talk Nicholas Harvey discusses the prevalence of randomized algorithms and their application to solving optimization problems on graphs; with startling results compared to deterministic algorithms.
1524 </p></short>
1525
1526
1527     <abstract><p>For many problems, randomized algorithms are either the fastest algorithm or the simplest algorithm;
1528 sometimes they even provide the only known algorithm. Randomized algorithms have become so prevalent
1529 that deterministic algorithms could be viewed as a curious special case. In this talk I will describe
1530 some startling examples of randomized algorithms for solving some optimization problems on graphs.
1531 </p></abstract>
1532
1533 </eventitem>
1534
1535 <eventitem date="2010-02-09" time="4:30 PM" room="DC1304" title="An Introduction to Vector Graphics Libraries with Cairo">
1536
1537     <short><p>Cairo is an open source, cross platform, vector graphics library with the ability to  output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as  X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes  and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids  of pixels, but rather by a collection of drawing operations. These operations detail how to  draw lines, fill shapes, and even set text to create the desired image. This has the  advantages of being infinitely scalable, smaller in file size, and simpler to express within  a computer programme. This talk will be an introduction to the concepts and metaphors used  by vector graphics libraries in general and Cairo in particular.
1538 </p></short>
1539
1540
1541     <abstract><p>Cairo is an open source, cross platform, vector graphics library with the ability to
1542 output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as
1543 X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes
1544 and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids
1545 of pixels, but rather by a collection of drawing operations. These operations detail how to
1546 draw lines, fill shapes, and even set text to create the desired image. This has the
1547 advantages of being infinitely scalable, smaller in file size, and simpler to express within
1548 a computer programme. This talk will be an introduction to the concepts and metaphors used
1549 by vector graphics libraries in general and Cairo in particular.
1550 </p></abstract>
1551
1552 </eventitem>
1553
1554 <eventitem date="2010-02-11" time="4:30 PM" room="MC3005" title="UNIX 101 Encore">
1555
1556     <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends! The popular tutorial returns for a second session, in case you missed the first one.
1557 </p></short>
1558
1559
1560     <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
1561 The popular tutorial returns for a second session, in case you missed the first one.
1562 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
1563 servers and on other Unix environments. Topics covered include: using the shell, both basic
1564 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1565 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1566 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1567 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1568 </p></abstract>
1569
1570 </eventitem>
1571 <eventitem date="2010-02-10" time="4:30 PM" room="MC3003" title="UNIX 101">
1572
1573     <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
1574 </p></short>
1575
1576
1577     <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
1578 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
1579 servers and on other Unix environments. Topics covered include: using the shell, both basic
1580 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1581 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1582 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1583 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1584 </p></abstract>
1585
1586 </eventitem>
1587 <eventitem date="2010-01-18" time="15:30 PM" room="MC2066" title="Wilderness Programming">
1588
1589     <short><p>Paul Lutus describes his early Apple II software development days, conducted  from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul  describes how he wrote a best-seller (Apple Writer) in assembly language,  while dealing with power outages, lightning storms and the occasional  curious bear.
1590 </p></short>
1591
1592
1593     <abstract><p>Paul Lutus describes his early Apple II software development days, conducted
1594 from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul
1595 describes how he wrote a best-seller (Apple Writer) in assembly language,
1596 while dealing with power outages, lightning storms and the occasional
1597 curious bear.
1598 </p><p>Paul also describes his subsequent four-year solo around-the-world sail in a
1599 31-foot boat. And be ready with your inquiries -- Paul will answer your
1600 questions.
1601 </p><p>Paul Lutus has a wide background in science and technology. He designed spacecraft
1602 components for the NASA Space Shuttle and created a mathematical model of the solar
1603 system used during the Viking Mars lander program. Then, at the beginning of the
1604 personal computer revolution, Lutus switched career paths and took up computer
1605 science. His best-known program is "Apple Writer," an internationally successful
1606 word processing program for the early Apple computers.
1607 </p></abstract>
1608
1609 </eventitem>
1610
1611 <eventitem date="2010-01-26" time="05:00 PM" room="DC1302" title="Deep learning with multiplicative interactions">
1612
1613     <short><p>Geoffrey Hinton, from the University of Toronto and the Canadian Institute  for Advanced Research, will discuss some of his latest work in learning networks and artificial intelligence. The talk will be accessable, so don't hesitate to come out. More information about Dr. Hinton's research can be found on  <a href="http://www.cs.toronto.edu/~hinton/">his website</a>.
1614 </p></short>
1615
1616
1617     <abstract><p>Deep networks can be learned efficiently from unlabeled data. The layers
1618 of representation are learned one at a time using a simple learning
1619 module, called a "Restricted Boltzmann Machine" that has only one layer
1620 of latent variables. The values of the latent variables of one
1621 module form the data for training the next module.  Although deep
1622 networks have been quite successful for tasks such as object
1623 recognition, information retrieval, and modeling motion capture data,
1624 the simple learning modules do not have multiplicative interactions which
1625 are very useful for some types of data.
1626 </p><p>The talk will show how a third-order energy function can be factorized to
1627 yield a simple learning module that retains advantageous properties of a
1628 Restricted Boltzmann Machine such as very simple exact inference and a
1629 very simple learning rule based on pair-wise statistics. The new module
1630 contains multiplicative interactions that are useful for a variety of
1631 unsupervised learning tasks. Researchers at the University of Toronto
1632 have been using this type of module to extract oriented energy from image
1633 patches and dense flow fields from image sequences. The new module can
1634 also be used to allow motions of a particular style to be achieved by
1635 blending autoregressive models of motion capture data.
1636 </p></abstract>
1637
1638 </eventitem>
1639
1640
1641 <!-- Fall 2009 -->
1642 <eventitem date="2009-12-05" time="6:30 PM" room="MC3036" edate="2009-12-05" etime="11:55 PM" title="The Club That Really Likes Dinner">
1643     <short><p>Come on out to the club's termly end of term dinner, details in the abstract</p></short>
1644     <abstract><p>The dinner will be potluck style at the Vice President's house, please RSVP (respond swiftly to the vice president)
1645     <a href="https://csclub.uwaterloo.ca/rsvp">here</a> if you plan on attending. If you don't know how to get there meet at the club
1646     office at 6:30 PM, a group will be leaving to lead you there.</p></abstract>
1647 </eventitem>
1648
1649 <eventitem date="2009-11-27" time="7:00 PM" room="Comfy Lounge" edate="2009-11-28" etime="7:00 AM" title="Code Party!!11!!">
1650
1651     <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC. Facebook will be around to bring some food and hang out.
1652 </p></short>
1653
1654
1655     <abstract><p>Come join us for a night of coding. Get in touch with more experianced coders,
1656 advertize for/bug squash on your favourite open source project, write that personal
1657 project you were planning to do for a while but haven't found the time. Don't
1658 have any ideas but want to sit and hack? Try your hand at the Facebook puzzles,
1659 write a new app, or just chill and watch scifi.
1660 </p></abstract>
1661
1662 </eventitem>
1663
1664 <eventitem date="2009-11-05" time="4:30 PM" room="MC2065" title="In the Beginning">
1665
1666     <short><p>To most CS students an OS kernel is pretty low level. But there is something even lower, the instructions that must be executed to get the CPU ready to accept a kernel.  That is, if you look at any processor's reference manual there is a page or two describing the state of the CPU when it powered on.  This talk describes what needs to happen next, up to the point where the first kernel instruction executes.
1667 </p></short>
1668
1669
1670     <abstract><p>To most CS students an OS kernel is pretty low level. But there is
1671 something even lower, the instructions that must be executed to get the
1672 CPU ready to accept a kernel.  That is, if you look at any processor's
1673 reference manual there is a page or two describing the state of the CPU
1674 when it powered on.  This talk describes what needs to happen next,
1675 up to the point where the first kernel instruction executes.
1676 </p><p>This part of execution is extremely architecture-dependent.  Those of
1677 you who have any experience with this aspect of CS probably know the x86
1678 architecture, and think it's horrible, which it is. I am going to talk
1679 about the ARM architecture, which is inside almost all mobile phones,
1680 and which allows us to look at a simple implementation that includes
1681 all the essentials.
1682 </p></abstract>
1683
1684 </eventitem>
1685
1686 <eventitem date="2009-10-20" time="04:30 PM" room="MC3036" title="CSC Goes To Dooly's">
1687
1688     <short><p>We're going to Dooly's to play pool. What more do you want from us? Come to the Club office and we'll all bus there together. We've got discount tables for club members so be sure to be there.
1689 </p></short>
1690
1691
1692     <abstract><p>We're going to Dooly's to play pool. What more do you want from us?
1693 Come to the Club office and we'll all bus there together. We've got
1694 discount tables for club members so be sure to be there.
1695 </p></abstract>
1696
1697 </eventitem>
1698
1699 <eventitem date="2009-10-16" time="7:00 PM" room="Comfy Lounge" title="Code Party and Contest Finale">
1700
1701     <short><p>Come on out for a night of code, contests, and energy drinks. Join the Computer Scinece Club for the finale of the Google AI Challenge and an all night code party. Finish up your entry, or start it (its not too late). Not interested in the contest? Come out anyway for a night of coding and comradarie with us.
1702 </p></short>
1703
1704
1705     <abstract><p>Come on out for a night of code, contests, and energy drinks. Join the Computer
1706 Scinece Club for the finale of the Google AI Challenge and an all night code party.
1707 Finish up your entry, or start it (its not too late). Not interested in the contest?
1708 Come out anyway for a night of coding and comradarie with us.
1709 </p><p>Included in the party will be the contest finale and awards cerimony, so if you've
1710 entered be sure to stick arround to collect the spoils of victory, or see just who
1711 that person you couldn't edge off is.
1712 </p></abstract>
1713
1714 </eventitem>
1715
1716 <eventitem date="2009-10-08" time="4:30 PM" room="MC3003" title="UNIX 103">
1717
1718     <short><p>In this long-awaited third installment of the popular Unix Tutorials the  friendly experts of the CSC will teach you the simple art of version control.  You will learn the purpose and use of two different Version Control Systems  (git and subversion). This tutorial will advise you in the discipline of  managing the source code of your projects and enable you to quickly learn new  Version Control Systems in the work place -- a skill that is much sought after  by employers.
1719 </p></short>
1720
1721
1722     <abstract><p>In this long-awaited third installment of the popular Unix Tutorials the
1723 friendly experts of the CSC will teach you the simple art of version control.
1724 You will learn the purpose and use of two different Version Control Systems
1725 (git and subversion). This tutorial will advise you in the discipline of
1726 managing the source code of your projects and enable you to quickly learn new
1727 Version Control Systems in the work place -- a skill that is much sought after
1728 by employers.
1729 </p></abstract>
1730
1731 </eventitem>
1732
1733 <eventitem date="2009-10-14" time="2:30 PM" room="DC1304" title="UofT Graduate School Information Session">
1734     <short><p> "Is Graduate School for You?" Get the answers to your grad school questions - and have a bite to eat, our treat</p>
1735     </short>
1736     <abstract><p> Join Prof. Greg Wilson, faculty member in the Software Engineering research group in the UofT's Department of Computer Science,
1737     as he gives insight into studying at the graduate level-what can be expected, what does UofT offer, is it right for you? Pizza and pop will
1738     be served. <b>Come see what grad school is all about!</b>. All undergraduate students are welcome; registration is not required.</p>
1739     <p>For any questions about the program, visit <a href="http://www.cs.toronto.edu/dcs/prospective-grad.html">UofT's website</a>. This
1740     event is not run by the CS Club, and is announced here for the benefit of our members.</p></abstract>
1741 </eventitem>
1742
1743 <eventitem date="2009-10-03" time="10:00 AM" edate="2009-10-03" etime="3:30 PM" room="DC1301 FishBowl" title="Linux Install Fest">
1744
1745     <short><p>Interested in trying Linux but don't know where to start?
1746     Come to the Linux install fest to demo Linux, get help installing it
1747     on your computer, either stand alone or a dual boot, and help setting
1748     up your fresh install. Have lunch and hang around if you like, or just come in for a CD.
1749 </p></short>
1750
1751
1752     <abstract><p>Interested in trying Linux but don't know where to start?
1753 Come to the Linux install fest to demo Linux, get help installing it on
1754 your computer, either stand alone or a dual boot, and help setting
1755 up your fresh install. Have lunch and hang around if you like, or just
1756 come in for a qick install.
1757 </p></abstract>
1758
1759 </eventitem>
1760
1761 <eventitem date="2009-10-01" time="4:30 PM" room="MC3003" title="UNIX 102">
1762
1763     <short><p>The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
1764 </p></short>
1765
1766
1767     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
1768 If you missed Unix101 but still know your way around you should be fine.
1769 Topics covered include: "real" editors, document typesetting with LaTeX
1770 (great for assignments!), bulk editing, spellchecking, and printing in the
1771 student environment and elsewhere.
1772 </p><p>If you aren't interested or feel comfortable with these taskes, watch out for
1773 Unix 103 and 104 to get more depth in power programming tools on Unix.
1774 </p></abstract>
1775
1776 </eventitem>
1777
1778 <eventitem date="2009-09-28" time="4:30 PM" edate="2009-10-09" etime="11:59 OM" room="MC3003" title="AI Programming Contest sponsored by Google">
1779
1780     <short><p>Come learn how to write an intelligent game-playing program.
1781       No past experience necessary.  Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online web interface</a>
1782       to watch it battle against other people's programs.   Beginners and experts welcome! Prizes provided by google,
1783       including the delivery of your resume to google recruiters.
1784 </p></short>
1785
1786
1787     <abstract><p>Come learn how to write an intelligent game-playing program.
1788         No past experience necessary.  Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online
1789         web interface</a> to watch it battle against other people's programs.
1790         Beginners and experts welcome!
1791     </p><p>The contest is sponsored by Google, so be sure to compete for a chance
1792          to get noticed by them.
1793     </p><p>Prizes for the top programs:
1794    <ul><li>$100 in Cash Prizes</li>
1795        <li> Google t-shirts</li>
1796        <li>Fame and recognition</li>
1797        <li>Your resume directly to a Google recruiter</li>
1798    </ul>
1799 </p></abstract>
1800
1801 </eventitem>
1802 <eventitem date="2009-09-24" time="4:30 PM" room="MC3003" title="UNIX 101">
1803
1804     <short><p>
1805         New to Unix? No problem, we'll teach you to power use circles around your friends!
1806     </p></short>
1807
1808
1809     <abstract><p>
1810         New to Unix? No problem, we'll teach you to power use circles around your friends!
1811     </p><p>
1812         This first tutorial is an introduction to the Unix shell environment, both on the student
1813         servers and on other Unix environments. Topics covered include: using the shell, both basic
1814         interaction and advanced topics like scripting and job control, the filesystem and manipulating
1815         it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1816         to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1817         for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1818     </p></abstract>
1819 </eventitem>
1820
1821 <eventitem date="2009-09-15" time="5:00PM" edate="2009-09-15" etime="6:00 PM"
1822        room="Comfy Lounge" title="Elections">
1823     <short><p>
1824      Nominations are open now, either place your name on the nominees board or
1825      e-mail <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a>
1826      to nominate someone for a position.
1827      Come to the Comfy Lounge to elect your fall term executive. Contact
1828      <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a> if you have questions.
1829     </p></short>
1830 </eventitem>
1831
1832
1833 <!-- Spring 2009 -->
1834 <eventitem date="2009-07-23" time="4:30 PM" edate="2009-07-23" etime="6:00 PM"
1835            room="MC 3003" title="Unix 103">
1836     <short><p>
1837      In this long-awaited third installment of the popular Unix Tutorials the dark
1838      mages of the CSC will train you in the not-so-arcane magick of version control.
1839      You will learn the purpose and use of two different Version Control Systems
1840      (git and subversion). This tutorial will advise you in the discipline of
1841      managing the source code of your projects and enable you to quickly learn new
1842      Version Control Systems in the work place -- a skill that is much sought after
1843      by employers.
1844     </p></short>
1845 </eventitem>
1846
1847 <eventitem date="2009-07-17" time="7:00 PM" edate="2009-07-18" etime="4:00 AM"
1848            room="MC 3001" title="Code Party">
1849     <short><p>
1850      Have an assignment or project you need to work on? We
1851      will be coding from 7:00pm until 4:00am starting on Friday, July 17th
1852      in the Comfy lounge. Join us!
1853     </p></short>
1854 </eventitem>
1855
1856 <eventitem date="2009-07-07" time="3:00 PM" etime="5:00 PM" room="DC 1302"
1857            title="History of CS Curriculum at UW">
1858     <short><p>
1859      This talk provides a personal overview of the evolution of the
1860      undergraduate computer science curriculum at UW over the past forty
1861      years, concluding with an audience discussion of possible future
1862      developments.
1863     </p></short>
1864 </eventitem>
1865
1866 <eventitem date="2009-06-22" time="4:30 PM" etime="6:30 PM" room="MC 4041"
1867            title="Paper Club">
1868     <short><p> Come and drink tea and read an academic CS paper with
1869      the Paper Club.  We will be meeting from 4:30pm until 6:30pm on
1870      Monday, June 22th on the 4th floor of the MC (exact room number
1871      TBA).  See http://csclub.uwaterloo.ca/~paper
1872     </p></short>
1873 </eventitem>
1874
1875 <eventitem date="2009-06-19" time="5:30 PM" room="Dooly's" title="Dooly's Night">
1876     <short><p>
1877     The CSC will be playing pool at Dooly's. Join us for only a few dollars.
1878     </p></short>
1879 </eventitem>
1880
1881 <eventitem date="2009-06-05" time="7:00 PM" edate="2009-06-06" etime="4:00 AM"
1882            room="MC 3001" title="Code Party">
1883     <short><p>
1884      Have an assignment or project you need to work on? We
1885      will be coding from 7:00pm until 7:00am starting on Friday, June 5th
1886      in the Comfy lounge. Join us!
1887     </p></short>
1888 </eventitem>
1889
1890 <eventitem date="2009-06-02" time="4:30 PM" room="MC 2037" title="Unix 101">
1891     <short><p>
1892         Need to use the UNIX environment for a course, want to overcome your fears of
1893         the command line, or just curious? Come and learn the arcane secrets of the
1894         UNIX command line interface from CSC mages. After this tutorial you will be
1895         comfortable with the essentials of navigating, manipulating and viewing files,
1896         and processing data at the UNIX shell prompt.
1897     </p></short>
1898 </eventitem>
1899
1900 <eventitem date="2009-05-12" time="12:00 PM" room="MC 2034" title="PHP on Windows">
1901     <short><p>PHP Programming Contest Info Session</p></short>
1902     <abstract><p>
1903     Port or create a new PHP web application and you could win a prize
1904     of up to $10k. Microsoft is running a programming contest for PHP
1905     developers willing to support the Windows platform. The contest is
1906     ongoing; this will be a short introduction to it by
1907     representatives of Microsoft and an opportunity to ask questions.
1908     Pizza and pop will be provided.
1909     </p></abstract>
1910 </eventitem>
1911
1912
1913 <!-- Winter 2009 -->
1914 <eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
1915
1916     <short><p>A talk by Craig S. Kaplan.</p></short>
1917
1918
1919     <abstract><p>The combination of computer graphics, geometry, and rapid
1920 prototyping technology has created a wide range of exciting
1921 opportunities for using the computer as a medium for creative
1922 expression.  In this talk, I will describe the most popular
1923 technologies for computer-aided manufacturing, discuss
1924 applications of these devices in art and design, and survey
1925 the work of contemporary artists working in the area (with a
1926 focus on mathematical art).  The talk will be primarily
1927 non-technical, but I will mention some of the mathematical
1928 and computational techniques that come into play.
1929 </p></abstract>
1930
1931 </eventitem>
1932 <eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
1933            etime="6:00 AM" room="TBA" title="CTRL-D">
1934   <short>
1935     <p>
1936       Join the Club That Really Likes Dinner for the End Of Term
1937       party!  Inquire closer to the date for details.
1938     </p>
1939   </short>
1940   <abstract>
1941     <p>
1942       This is not an official club event and receives no funding.
1943       Bring food, drinks, deserts, etc.
1944     </p>
1945   </abstract>
1946 </eventitem>
1947
1948 <eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
1949            etime="12:00 PM" room="Comfy Lounge (MC)"
1950            title="Code Party">
1951   <short>
1952     <p>
1953       CSC Code Party!  Same as always - no sleep, lots of caffeine,
1954       and really nerdy entertainment.  Bonus:  Free Cake!
1955     </p>
1956   </short>
1957   <abstract>
1958     <p>
1959       This code party will have the usual, plus it will double as the
1960       closing of the programming contest.  Our experts will be
1961       available to help you polish off your submission.
1962     </p>
1963   </abstract>
1964 </eventitem>
1965
1966 <eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
1967            etime="12:00 PM" room="MC2061"
1968            title="Artificial Intelligence Contest">
1969     <short>
1970       <p>
1971         Come out and try your hand at writing a computer program that
1972         plays Minesweeper Flags, a two-player variant of the classic
1973         computer game, Minesweeper.  Once you're done, your program
1974         will compete head-to-head against the other entries in a
1975         fierce Minesweeper Flags tournament.  There will be a contest
1976         kick-off session on Thursday March 19 at 4:30 PM in room
1977         MC3036.  Submissions will be accepted until Saturday March 28.
1978       </p>
1979     </short>
1980     <abstract>
1981       <p>
1982         Come out and try your hand at writing a computer program that
1983         plays Minesweeper Flags, a two-player variant of the classic
1984         computer game, Minesweeper.  Once you're done, your program
1985         will compete head-to-head against the other entries in a
1986         fierce Minesweeper Flags tournament.  There will be a contest
1987         kick-off session on Thursday March 19 at 4:30 PM in room
1988         MC3036.  Submissions will be accepted until Saturday March 28.
1989       </p>
1990     </abstract>
1991 </eventitem>
1992
1993 <eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
1994            etime="6:30 PM" room="Comfy Lounge"
1995            title="SIGGRAPH Night">
1996   <short>
1997     <p>
1998       Come out and watch the SIGGRAPH (Special Interest Group on
1999       Graphics) conference video review.  A video of insane, amazing,
2000       and mind blowing computer graphics. .
2001     </p>
2002   </short>
2003   <abstract>
2004     <p>
2005       The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
2006       conference yearly in which the latest and greatest in computer
2007       graphics premier. They record video and as a result produce a
2008       very nice Video Review of the conference. Come join us watching
2009       these videos, as well as a few professors from the UW Computer
2010       Graphics Lab. There will be some kind of food and drink, and its
2011       guranteed to be dazzling.
2012     </p>
2013   </abstract>
2014 </eventitem>
2015
2016 <eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
2017            etime="9:00 PM" room="Toronto Hilton"
2018            title="Canadian Undergraduate Technology Conference">
2019   <short>
2020     <p>
2021       See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
2022     </p>
2023   </short>
2024   <abstract>
2025     <p>
2026       The Canadian Undergraduate Technology Conference is Canada's
2027       largest student-run conference. From humble roots it has emerged
2028       as a venue that offers an environment for students to grow
2029       socially, academically, and professionally. We target to exceed
2030       our past record of 600 students from 47 respected institutions
2031       nationwide. The event mingles ambitious as well as talented
2032       students with leaders from academia and industry to offer
2033       memorable experiences and valuable opportunities.
2034     </p>
2035   </abstract>
2036 </eventitem>
2037
2038 <eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
2039            title="Prabhakar Ragde">
2040     <short><p>
2041     Functional Lexing and Parsing</p></short>
2042     <abstract>
2043       <p>
2044         This talk will describe a non-traditional functional approach
2045         to the classical problems of lexing (breaking a stream of
2046         characters into "words" or tokens) and parsing (identifying
2047         tree structure in a stream of tokens based on a grammar,
2048         e.g. for a programming language that needs to be compiled or
2049         interpreted). The functional approach can clarify and organize
2050         a number of algorithms that tend to be opaque in their
2051         conventional imperative presentation. No prior background in
2052         functional programming, lexing, or parsing is assumed.
2053       </p>
2054     </abstract>
2055 </eventitem>
2056
2057 <eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
2058            title="IQC - Programming Quantum Computers">
2059     <short>
2060       <p>
2061         A brief intro to Quantum Computing and why it matters,
2062         followed by a talk on programming quantum computers.  Meet at
2063         the CSC at 4:00PM for a guided walk to the RAC.
2064       </p>
2065     </short>
2066     <abstract>
2067       <p>
2068         Raymond Laflamme is the director of the Institute for Quantum
2069         Computing at the University of Waterloo and holds the Canada
2070         Research Chair in Quantum Information.  He will give a brief
2071         introduction to quantum computing and why it matters, followed
2072         by a talk on programming quantum computers.  There will be
2073         tours of the IQC labs at the end, and pizza will be provided
2074         back at the CSC for all attendees.
2075       </p>
2076     </abstract>
2077 </eventitem>
2078
2079 <eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
2080     <short><p>
2081     Come join the CSC as we head to Dooly's.</p></short>
2082     <abstract><p>
2083     Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
2084 </eventitem>
2085
2086 <eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
2087     <short><p>
2088     Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
2089     <abstract><p>
2090     Unix 101 is an introduction to the Unix shell environment, both on the student
2091     servers and on other Unix environments. Topics covered include: using the shell, both basic
2092     interaction and advanced topics like scripting and job control, the filesystem and manipulating
2093     it, and ssh. </p><p>
2094     Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
2095     If you missed Unix101 but still know your way around you should be fine.
2096     Topics covered include: "real" editors, document typesetting with LaTeX
2097     (great for assignments!), bulk editing, spellchecking, and printing in the
2098     student environment and elsewhere. </p><p>
2099     If you aren't interested or feel comfortable with these taskes, watch out for
2100     Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
2101 </eventitem>
2102
2103
2104 <eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
2105     <short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
2106     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
2107         servers and on other Unix environments. Topics covered include: using the shell, both basic
2108         interaction and advanced topics like scripting and job control, the filesystem and manipulating
2109         it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2110         to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2111         for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
2112 </eventitem>
2113
2114 <eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
2115   <short>
2116     <p>
2117       There is a CSC Code Party starting at 7:00PM (19:00).  Come out
2118       and enjoy some good old programming and meet others interested
2119       in writing code!  Free energy drinks and snacks for all.  Plus,
2120       we have lots of things that need to be done if you're looking
2121       for a project to work on!
2122     </p>
2123   </short>
2124   <abstract>
2125     <p>
2126       Code Party.  Awesome.  Need we say more?
2127     </p>
2128   </abstract>
2129 </eventitem>
2130
2131 <eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
2132
2133     <short><p>There is a CSC Code Party Tonight starting at 7:30PM
2134     (1930) until we get bored (likely in the early in morning). Come
2135     out for fun hacking times, spreading Intertube memes (optional),
2136     hacking on the OpenMoko, creating music mixes, and other general
2137     classyness. If we manage to swing it, there will be delicious
2138     energy drinks for your consumption! Alternatively, if we don't we
2139     will have each other as well as some delicious tea and
2140     coffee. Perhaps a crumpet
2141 </p></short>
2142
2143
2144     <abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
2145         (1930) until we get bored (likely in the early in
2146         morning). Come out for fun hacking times, spreading Intertube
2147         memes (optional), hacking on the OpenMoko, creating music
2148         mixes, and other general classyness. If we manage to swing it,
2149         there will be delicious energy drinks for your consumption!
2150         Alternatively, if we don't we will have each other as well as
2151         some delicious tea and coffee. Perhaps a crumpet
2152 </p></abstract>
2153
2154 </eventitem>
2155
2156 <eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
2157   <short><p> The Free Software Movement and the GNU/Linux Operating System </p>
2158   </short>
2159   <abstract>
2160   <p>
2161   Richard Stallman will speak about the Free Software Movement, which
2162   campaigns for freedom so that computer users can cooperate to
2163   control their own computing activities. The Free Software Movement
2164   developed the GNU operating system, often erroneously referred to as
2165   Linux, specifically to establish these freedoms.</p>
2166   <p><b>About Richard Stallman:</b>
2167   Richard Stallman launched the development of the GNU operating system (see
2168   <a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
2169   software: everyone has the freedom to copy it and redistribute it,
2170   as well as to make changes either large or small. The GNU/Linux
2171   system, basically the GNU operating system with Linux added, is used
2172   on tens of millions of computers today. Stallman has received the
2173   ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
2174   Electronic Frontier Foundation's Pioneer award, and the the Takeda
2175   Award for Social/Economic Betterment, as well as several honorary
2176   doctorates.</p>
2177   </abstract>
2178 </eventitem>
2179
2180 <eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
2181   <short><p> Joel Spolsky, of <a href="http://www.joelonsoftware.com">Joel on Software</a> will be giving a talk entitled "Computer Science Education and the Software Industry".</p>
2182   </short>
2183   <abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
2184   globally-recognized expert on the software development process. His
2185   website <em>Joel on Software</em>
2186   (<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
2187   is popular with software developers around the world and has been
2188   translated into over thirty languages. As the founder
2189   of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
2190   York City, he
2191   created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
2192   popular project management system for software teams. He is the
2193   co-creator of <a href="http://stackoverflow.com/">Stack
2194   Overflow</a>, a programmer Q&amp;A site. Joel has worked at
2195   Microsoft, where he designed VBA as a member of the Excel team, and
2196   at Juno Online Services, developing an Internet client used by
2197   millions. He has
2198   written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
2199   books</a>: <em>User Interface Design for Programmers</em> (Apress,
2200   2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
2201   Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
2202   Joel Spolsky's Concise Guide to Finding the Best Technical
2203   Talent </em>(Apress, 2007). He also writes a monthly column
2204   for<strong> </strong><em><a href="http://www.inc.com/">Inc
2205   Magazine</a>. </em>Joel holds a BS from Yale in Computer
2206   Science. Before college he served in the Israeli Defense Forces as a
2207   paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
2208  </abstract>
2209 </eventitem>
2210
2211 <eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
2212   <short><p>Winter Elections</p>
2213   </short>
2214 </eventitem>
2215
2216 <!-- Fall 2008 -->
2217 <eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
2218
2219     <short><p>Organized by Queen's students, Changing the World aims to bring together the world's greatest visionaries to inspire people to innovate and better our world.  Among these speakers include Nobel Peace Prize winner, Eric Chivian. He was a recipient for his work on stopping nuclear war.
2220 </p></short>
2221
2222
2223     <abstract><p>Organized by Queen's students, Changing the World
2224         aims to bring together the world's greatest visionaries to
2225         inspire people to innovate and better our world.  Among these
2226         speakers include Nobel Peace Prize winner, Eric Chivian.  He
2227         was a recipient for his work on stopping nuclear war.
2228       </p><p>The conference is modeled after TED (Technology,
2229         Entertainment, Design), an annual conference uniting the
2230         world's most fascinating thinkers and doers, and like TED,
2231         each speaker is given 18 minutes to give the talk of their
2232         lives.
2233       </p><p>Specifically for students in CS/Math, 50 tickets have
2234         been reserved (non-students: $500).  For those who would like
2235         to attend, please pick up your ticket in the Computer Science
2236         Club office.  The tickets are limited and they are first come
2237         first serve.
2238 </p></abstract>
2239
2240 </eventitem>
2241
2242 <eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
2243
2244     <short><p>Come join the CSC in celebrating the new releases of
2245     Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
2246     of them on your own system.
2247 </p></short>
2248
2249
2250     <abstract><p>Come join the CSC in celebrating the new releases of
2251         Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
2252         one of them on your own system.
2253       </p><p>This is an event to celebrate the releases of new
2254         versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
2255         available and everyone is invited to bring their PC or laptop
2256         to get help installing any of these Free operating
2257         systems. Knowledgeable CSC members will be available to help
2258         with any installation troubles, or to troubleshooting any
2259         existing problems that users may have.
2260       </p><p>This event will also promote gaming on Linux, as well as
2261         FLOSS (Free/Libre and Open Source Software) in general. We may
2262         also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
2263         fame).
2264 </p></abstract>
2265 </eventitem>
2266
2267 <eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
2268
2269     <short><p>This talk will survey concepts, techniques, and
2270     languages for functional programming from both historical and
2271     contemporary perspectives, with reference to Lisp, Scheme, ML,
2272     Haskell, and Erlang. No prior background is assumed.
2273 </p></short>
2274
2275
2276     <abstract><p>This talk will survey concepts, techniques, and
2277         languages for functional programming from both historical and
2278         contemporary perspectives, with reference to Lisp, Scheme, ML,
2279 Haskell, and Erlang. No prior background is assumed.
2280 </p></abstract>
2281
2282 </eventitem>
2283
2284 <eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
2285   <abstract><p>
2286     Come join us for a night of coding. Get in touch with more experianced coders,
2287     advertize for/bug squash on your favourite open source project, write that personal
2288     project you were planning to do for a while but haven't found the time. Don't
2289     have any ideas but want to sit and hack? We can find something for you to do.
2290   </p></abstract>
2291   <short><p>
2292     A fevered night of code, friends, fun, free energy drinks, and the CSC.
2293   </p></short>
2294 </eventitem>
2295
2296 <eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
2297   <short><p>
2298     Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
2299     review. A video of insane, amazing, and mind blowing computer graphics.
2300   </p></short>
2301   <abstract><p>
2302     The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
2303     in which the latest and greatest in computer graphics premier. They record video
2304     and as a result produce a very nice Video Review of the conference. Come join us
2305     watching these videos, as well as a few professors from the UW Computer Graphics
2306     Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
2307   </p></abstract>
2308 </eventitem>
2309
2310 <eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
2311   <short><p>
2312     Come out and meet other CSC members, find out about the CSC, meet the executive
2313     nominees, and join if you like what you see. Nominees should plan on attending.
2314   </p></short>
2315 </eventitem>
2316
2317 <eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
2318   <short><p>
2319     Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
2320     The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
2321     sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
2322     campaigning after the nomination period has closed.
2323   </p></short>
2324 </eventitem>
2325
2326 <eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
2327   <short><p>
2328     New to Unix? No problem, we'll teach you to power use circles around your friends!
2329   </p></short>
2330   <abstract><p>
2331     This first tutorial is an introduction to the Unix shell environment, both on the student
2332     servers and on other Unix environments. Topics covered include: using the shell, both basic
2333     interaction and advanced topics like scripting and job control, the filesystem and manipulating
2334     it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2335     to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2336     for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
2337   </p></abstract>
2338 </eventitem>
2339
2340 <eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
2341   <short><p>
2342     New to Unix? No problem, we'll teach you to power use circles around your friends!
2343   </p></short>
2344   <abstract><p>
2345     This first tutorial is an introduction to the Unix shell environment, both on the student
2346     servers and on other Unix environments. Topics covered include: using the shell, both basic
2347     interaction and advanced topics like scripting and job control, the filesystem and manipulating
2348     it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2349     to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2350     for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
2351   </p></abstract>
2352 </eventitem>
2353
2354 <eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
2355   <short><p>
2356     Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
2357   </p></short>
2358   <abstract><p>
2359     This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed
2360     Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
2361     document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
2362     in the student environment and elsewhere. If you aren't interested or feel comfortable with these
2363     taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
2364     don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
2365   </p></abstract>
2366 </eventitem>
2367
2368 <eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
2369   <short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
2370   <abstract><p>
2371       In this talk I will give an overview of the history of Relic and our
2372       development philosophy.  The Talk will then proceed to talk about work
2373       that is being pursued in the area of early game prototyping with the
2374       introduction of game sketching methodology.
2375     </p>
2376     <p>
2377       Bio:
2378
2379       Fired from his first job for playing Video Games Juancho Buchanan is
2380       currently the director of Technology for Relic Entertainment.  Juancho
2381       Buchanan Wrote his first game in 1984 but then pursued other interests
2382       which included a master's in Program Visualization, A Doctorate in
2383       Computer Graphics, a stint as a professor at the University of Alberta
2384       where he pioneered early work in Non photo realistic rendering, A stint
2385       at Electronic Arts as Director, Advanced Technology, A stint at EA as
2386       the University Liaison Dude, A stint at Carnegie Mellon University where
2387       he researched the Game Sketching idea.  His current role at Relic has
2388       him working with the soon to be released Dawn of War II.
2389   </p></abstract>
2390 </eventitem>
2391
2392
2393 <eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
2394   <short><p>
2395     The second official general meeting of the term. Items on the adgenda are CSC Merch,
2396     upcoming talks, and other possible planned events, as well as the announcement of
2397     a librarian and planning of an office cleanout and a library organization day.
2398   </p></short>
2399 </eventitem>
2400
2401 <!-- Spring 2008 -->
2402
2403 <!-- Winter 2008 -->
2404
2405 <eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
2406   <short>Tyler Lessard</short>
2407   <abstract><p>
2408 Tyler Lessard from RIM will present a brief history of BlackBerry
2409 technology and will discuss how the evolution of BlackBerry as an
2410 end-to-end hardware, software and services platform has been
2411 instrumental to its success and growth in the market.  Find out how the
2412 BlackBerry service components integrate with wireless carrier networks
2413 and get a sneak peek at where the wireless data market is going.
2414   </p></abstract>
2415 </eventitem>
2416
2417 <eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
2418   <short>Raymond Laflamme</short>
2419   <abstract><p>
2420       Information processing devices are pervasive in our society; from the 5
2421       dollar watches to multi-billions satellite network.  These devices have
2422       allowed the information revolution which is developing around us. It has
2423       transformed not only the way we communicate or entertain ourselves but
2424       also the way we do science and even the way we think. All this
2425       information is manipulated using the classical approximation to the laws
2426       of physics, but we know that there is a better approximation: the
2427       quantum mechanical laws.  Would using quantum mechanics for information
2428       processing be an impediment or could  it be an advantage?  This is the
2429       fundamental question at the heart of quantum information processing
2430       (QIP). QIP is a young field with an incredible potential impact reaching
2431       from the way we understand fundamental physics to technological
2432       applications. I will give an overview of the Institute for Quantum
2433       Computing,  comment on the effort in this field at Waterloo and in
2434       Canada and, time permitted visit some of the IQC labs.
2435   </p></abstract>
2436 </eventitem>
2437
2438 <eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
2439   <short>Yes, we know this is Valentine's Day.</short>
2440   <abstract><p>
2441       Contestants will be writing an artificial intelligence to play Risk.  The
2442       prize will be awarded to the intelligence which wins the most
2443       head-to-head matches against competing entries.  We're providing easy
2444       APIs for several languages, as well as full documentation of the game
2445       protocol so contestants can write wrappers for any additional language
2446       they wish to work in.
2447     </p>
2448     <p>
2449       We officially support entries in Scheme, Perl, Java, C, and C++.  If you
2450       would like help developing an API for some other language contact us
2451       through the systems committee mailing list (we will require that your API
2452       is made available to all entrants).
2453     </p>
2454     <p>
2455       To kick off the contest we're hosting an in-house coding session starting
2456       at 4:00PM on Thursday, February 14th in MC2061.  Members of our contest
2457       administration team will be available to help you work out the details of
2458       our APIs, answer questions, and provide the necessities of life (ie,
2459       pizza).  Submissions will open no later than 5:00PM on February 14th
2460       and will close no earlier than 12:00PM on February 17th.
2461     </p>
2462     <p>
2463       Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
2464   </p></abstract>
2465 </eventitem>
2466
2467
2468 <eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
2469   <short>Elmer Horvath</short>
2470   <abstract><p>
2471       The problem:  coordinating and communicating between multiple processors
2472       in a distributed system (possibly containing heterogeneous elements)
2473       </p><p>
2474       The open source TIPC (transparent interprocess communication) protocol
2475       has been incorporated into the Linux kernel and is available in VxWorks
2476       and, soon, other OSes.  This emerging protocol has a number of
2477       advantages in a clustered environment to simplify application
2478       development while maintaining a familiar socket programming interface.
2479       The service oriented capabilities of TIPC help in applications easily
2480       finding required services in a system.  The location transparent aspect
2481       of TIPC allows services to be located anywhere in the system as well as
2482       allowing redundant services for both load reduction and backup.
2483
2484       Learn about the emerging cluster protocol.
2485   </p></abstract>
2486 </eventitem>
2487
2488 <eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
2489   <short><p>
2490     Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
2491     The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
2492     not engage in campaigning after the nomination period has closed.
2493   </p></short>
2494 </eventitem>
2495
2496
2497 <!-- fall 2007 -->
2498
2499         <eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
2500         <short>
2501         <p>
2502         There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
2503         </p>
2504         <p>
2505         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>
2506         </p>
2507         </short>
2508         </eventitem>
2509
2510         <eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
2511          <short>Susan Abramovitch</short>
2512          <abstract>
2513         <p>
2514         This talk is run by the School of Computer Science
2515         </p>
2516         <p>
2517         How should virtual property created in games, such as weapons used in
2518 games like Mir 3 and real estate or clothing created or acquired in
2519 games like Second Life, be treated in law.  Although the videogaming
2520 industry continues to multiply in value, virtual property created in
2521 virtual worlds has not been formally recognized by any North American
2522 court or legislature.  A bridge has been taking shape from gaming's
2523 virtual economies to real world economies, for example, through
2524 unauthorized copying of designer clothes sold on Second Life for in-game
2525 cash, or real court damages awarded against deletion of player-earned
2526 swords in Mir 3.  The trading of virtual property is important to a
2527 large number of people and property rights in virtual property are
2528 currently being recognized by some foreign legal bodies.
2529 </p>
2530 <p>
2531 Susan Abramovitch will explain the legal considerations in determining
2532 how virtual property can or should be governed, and ways it can be
2533 legally similar to tangible property.  Virtual property can carry both
2534 physical and intellectual property rights.  Typically video game
2535 developers retain these rights via online agreements, but Ms.
2536 Abramovitch questions whether these rights are ultimately enforceable
2537 and will describe policy issues that may impact law makers in deciding
2538 how to treat virtual property under such agreements.
2539 </p>
2540          </abstract>
2541         </eventitem>
2542
2543         <eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
2544          <short>Brennan Taylor</short>
2545          <abstract>
2546         <p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
2547 basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI
2548 programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can
2549 be.</p>
2550          </abstract>
2551         </eventitem>
2552         <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">
2553          <short>Brennan Taylor</short>
2554          <abstract>
2555         <p>
2556         A lecture on the fundamentals of Pi-Calculus followed by an introduction
2557 to Join-Calculus in JoCaml with some great examples. Various concurrent
2558 control structures are explored, as well as the current limitations of
2559 JoCaml. The examples section will mostly be concurrent programming,
2560 however some basic distributed examples will be explored. This lecture
2561 focuses on how easy concurrent programming can be.
2562         </p>
2563          </abstract>
2564         </eventitem>
2565
2566         <eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
2567          <short>Ian Goldberg</short>
2568          <abstract>
2569 <p>
2570 Instant messaging (IM) is an increasingly popular mode of communication
2571 on the Internet.  Although it is used for personal and private
2572 conversations, it is not at all a private medium.  Not only are all of
2573 the messages unencrypted and unauthenticated, but they are all
2574 routedthrough a central server, forming a convenient interception point
2575 for an attacker.  Users would benefit from being able to have truly
2576 private conversations over IM, combining the features of encryption,
2577 authentication, deniability, and forward secrecy, while working within
2578 their existing IM infrastructure.
2579 </p>
2580 <p>
2581 In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
2582 used software tool for secure and private instant messaging.  I will
2583 outline the properties of Useful Security and Privacy Technologies that
2584 motivated OTR's design, compare it to other IM security mechanisms, and
2585 talk about its ongoing development directions.
2586 </p>
2587 <p>
2588 Ian Goldberg is an Assistant Professor of Computer Science at the
2589 University of Waterloo, where he is a founding member of the
2590 Cryptography, Security, and Privacy (CrySP) research group.  He holds a
2591 Ph.D. from the University of California, Berkeley, where he discovered
2592 serious weaknesses in a number of widely deployed security systems,
2593 including those used by cellular phones and wireless networks. He also
2594 studied systems for protecting the personal privacy of Internet users,
2595 which led to his role as Chief Scientist at Zero-Knowledge Systems (now
2596 known as Radialpoint), where he commercialized his research as the
2597 Freedom Network.
2598 </p>
2599          </abstract>
2600         </eventitem>
2601
2602
2603         <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*">
2604          <short>Andrei Barbu</short>
2605          <abstract>
2606          </abstract>
2607         </eventitem>
2608         <eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
2609          <short>Andrei Barbu</short>
2610          <abstract>
2611 Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
2612 lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
2613 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
2614 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!
2615
2616          </abstract>
2617         </eventitem>
2618
2619         <eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
2620          <short>Brennan Taylor</short>
2621          <abstract>
2622         <p>
2623         A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples.
2624         Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will
2625         mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy
2626         concurrent programming can be.
2627         </p>
2628          </abstract>
2629         </eventitem>
2630
2631         <eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
2632          <short>David Tenty</short>
2633          <abstract>
2634         <p>
2635         With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
2636         However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
2637         PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
2638         Postponed to a later date.
2639         </p>
2640          </abstract>
2641         </eventitem>
2642
2643         <eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
2644          <short>Win Prizes!</short>
2645          <abstract>
2646         <p>
2647         The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed.
2648         Prizes totalling in value of $75 will be distributed. You can participate online! For more information, including source files visit <a href="http://www.csclub.uwaterloo.ca/contest">http://www.csclub.uwaterloo.ca/contest</a>
2649         </p>
2650         <p>
2651         And Free Pizzaa for all who attend!
2652         </p>
2653          </abstract>
2654         </eventitem>
2655         <eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
2656          <short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
2657          <abstract>
2658         <p>
2659         Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
2660         Lots of fun! Possible Pizzaa!
2661         </p>
2662          </abstract>
2663         </eventitem>
2664
2665         <eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
2666          <short>Brennan Taylor</short>
2667          <abstract>
2668         <p>
2669         A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some
2670         history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
2671         </p>
2672          </abstract>
2673         </eventitem>
2674
2675         <eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
2676          <short>Holden Karau</short>
2677          <abstract>
2678         <p>
2679         An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
2680         </p>
2681         <p>
2682         Holden Karau participated in Google Summer of Code 2007 as a student on the subversion team. He created a set of scheme bindings for the
2683         subversion project.
2684         </p>
2685          </abstract>
2686         </eventitem>
2687
2688
2689
2690 <!--spring 2007-->
2691
2692   <eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
2693     <short>Bjarne Stroustrup</short>
2694     <abstract><p>
2695       A good programming language is far more than a simple collection of
2696       features. My ideal is to provide a set of facilities that smoothly work
2697       together to support design and programming styles of a generality beyond
2698       my imagination. Here, I briefly outline rules of thumb (guidelines,
2699       principles) that are being applied in the design of C++0x. Then, I
2700       present the state of the standards process (we are aiming for C++09) and
2701       give examples of a few of the proposals such as concepts, generalized
2702       initialization, being considered in the ISO C++ standards committee.
2703       Since there are far more proposals than could be presented in an hour,
2704       I'll take questions.
2705     </p></abstract>
2706   </eventitem>
2707
2708   <eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
2709     <short>Richard Stallman</short>
2710     <abstract><p>
2711       Copyright developed in the age of the printing press, and was designed
2712       to fit with the system of centralized copying imposed by the printing
2713       press. But the copyright system does not fit well with computer
2714       networks, and only draconian punishments can enforce it.
2715     </p><p>
2716       The global corporations that profit from copyright are lobbying for
2717       draconian punishments, and to increase their copyright powers, while
2718       suppressing public access to technology. But if we seriously hope to
2719       serve the only legitimate purpose of copyright--to promote progress, for
2720       the benefit of the public--then we must make changes in the other
2721       direction.
2722     </p><p>
2723       The CSC would like to thank MEF and Mathsoc for funding this talk.
2724     </p><p>
2725       <a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
2726       <a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
2727       <a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
2728       <a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
2729     </p></abstract>
2730   </eventitem>
2731
2732   <eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
2733     <short>A talk by Michael Terry</short>
2734     <abstract><p>
2735       What is the typical monitor resolution of a GIMP user? How many monitors
2736       do they have? What size images do they work on? How many layers are in
2737       their images? The answers to these questions are generally unknown: No
2738       means currently exist for open source applications to collect usage
2739       data. In this talk, I will present ingimp, a version of GIMP that has
2740       been instrumented to automatically collect usage data from real-world
2741       users. I will discuss ingimp's design, the type of data we collect, how
2742       we make the data available on the web, and initial results that begin to
2743       answer the motivating questions.
2744       </p><p>
2745       ingimp can be found at http://www.ingimp.org.
2746       </p></abstract>
2747   </eventitem>
2748
2749   <eventitem date="2007-06-22" time="4:30 PM"
2750         room="MC 4042"
2751         title="Email encryption for the masses">
2752         <short>Ken Ho</short>
2753         <abstract><p>
2754       E-mail transactions and confirmations have become commonplace and the
2755       information therein can often be sensitive. We use email for purposes as
2756       mundane as inbound marketing, to as sensitive as account passwords and
2757       financial transactions. And nearly all our email is sent in clear text;
2758       we trust only that others will not eavesdrop or modify our messages. But
2759       why rely on the goodness or apathy of your fellow man when you can
2760       ensure your message's confidentiality with encryption so strong not even
2761       the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
2762       and GNU Privacy Guard to ensure that your messages are sent, knowing
2763       that only your intended recipient can receive it.
2764       </p><p>An optional code-signing party will be held immediately
2765       afterwards; if you already have a PGP or GPG key and wish to
2766       participate, please submit the public key to
2767       <a href="mailto:gpg-keys@csclub.uwaterloo.ca">
2768       gpg-keys@csclub.uwaterloo.ca</a>.
2769     </p><p>
2770       Laptop users are invited also to participate in key-pair sharing
2771       on-site, though it is preferable to send keys ahead of time.
2772     </p></abstract>
2773  </eventitem>
2774
2775   <eventitem date="2007-06-18" time="4:30 PM"
2776         room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
2777         <short>Peter Macdonald</short>
2778         <abstract><p>
2779       The purpose of the talk is to address how students interact with the
2780       internet, and possibilities for how they could do so more efficiently.
2781       Information on events and happenings on UW campus is currently hosted
2782       on a desperate, series of internet applications. Interactions with
2783       WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a
2784       Facebook group, campus information at large comes from
2785       <a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There
2786       has been historical pressures from various bodies, including some
2787       thinkers in feds and the administration, to centralize these issues. To
2788       create a one stop shop for students on campus.
2789     </p><p>
2790       It is not through confining data in cages that we will finally link all
2791       student activities together, instead it is by truly freeing it. When
2792       data can be anywhere, then it will be everywhere students need it. This
2793       is the underlying concept behind metadata, data that is freed from the
2794       confines of it's technical imprisonment. Metadata is the extension of
2795       people, organizations, and activities onto the internet in a way that is
2796       above the traditional understanding of how people interact with their
2797       networks. The talk will explore how Metadata can exist freely on the
2798       internet, how this affects concepts like Web 3.0, and how the university
2799       and the federation are poised to take advantage of this burgeoning new
2800       technology through adoptions of portals which will allow students to
2801       interact with a metaverse of data.
2802     </p></abstract>
2803   </eventitem>
2804
2805 <!-- Winter 2007 -->
2806
2807   <eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
2808     <short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
2809     <abstract><p>
2810       Richard Stallman has cancelled his trip to Canada.
2811     </p></abstract>
2812   </eventitem>
2813
2814   <eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
2815     <short>A talk by Simina Branzei</short>
2816     <abstract><p>
2817       Abstract coming soon!
2818     </p></abstract>
2819   </eventitem>
2820
2821   <eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
2822     Bill Gates Visit">
2823         <short>Bill Gates is coming to visit the CSClub</short>
2824    <abstract>
2825    <p>
2826    While reading Slashdot, Bill came across the recently digitized audio
2827    recording of his 1989 talk at the Computer Science Club. As Bill has always
2828    had a soft-spot for the Computer Science Club, he has decided to pay us a
2829    surprise visit.
2830    </p><p>
2831    Bill promises to give away free copies of Windows Vista Ultimate, because
2832    frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
2833    to bring your resumes kids, because Bill will be recruiting for some
2834    exciting new positions at Microsoft, including Mindless Drone, Junior Code
2835    Monkey, and Assistant Human Cannonball.
2836    </p>
2837    </abstract>
2838  </eventitem>
2839
2840   <eventitem date="2007-03-28" time="5:30 PM"
2841    room="MC 1056" title="Computational Physics Simulations">
2842    <short>A talk by David Tenty and Alex Parent</short>
2843    <abstract>
2844    <p>
2845         Coming Soon!
2846     </p>
2847     </abstract>
2848   </eventitem>
2849
2850
2851
2852   <eventitem date="2007-03-29" time="4:30 PM"
2853    room="MC 1056" title="All The Code">
2854    <short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
2855    <abstract>
2856    <p>
2857 Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find
2858 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.
2859 <a href="http://www.allthecode.com/">All The Code</a> is a
2860 next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine
2861 relevance of code.
2862 </p>
2863 <p>
2864 The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>,
2865 along with a brief discussion of some of the technology behind it.
2866     </p>
2867     </abstract>
2868   </eventitem>
2869
2870
2871   <eventitem date="2007-04-04" time="4:00 PM"
2872    room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
2873    <short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
2874    circumstances</short>
2875    <abstract>
2876    <p>
2877 I am going to take an intuitive, CS-style approach to a discussion about the
2878 use of kernels in modern data analysis.  This approach often lends us
2879 efficient ways to consider a dataset under various choices of inner product,
2880 which is roughly comparable to a measure of "similarity".  Many new tools in
2881 AI arise from kernel methods, such as the infamous Support Vector Machines for
2882 classification, and kernel-PCA for nonlinear dimensionality reduction.  I will
2883 attempt to highlight, and provide visualization for some of the math involved
2884 in these methods while keeping the material at an accessible, undergraduate
2885 level.
2886     </p>
2887     </abstract>
2888   </eventitem>
2889
2890
2891
2892   <eventitem date="2007-02-26" time="4:30 pm"
2893    room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
2894    <short>A talk by Alex Ionescu</short>
2895    <abstract>
2896    <p>
2897 The ReactOS operating system has been in development for over eight years and aims to provide users
2898 with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
2899 its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
2900 identical to Windows, both visually and internally.
2901 </p><p>
2902 More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
2903 students to learn a variety of skills useful to software testing, development and management, as well as
2904 providing a rich and clean implementation of Windows NT, with a kernel compatible to published
2905 internals book on the subject.
2906 </p><p>
2907 This talk will introduce the ReactOS project, as well as the various software engineering challenges
2908 behind it. The building platform and development philosophies and utilities will be shown, and
2909 attendees will grasp the vast amount of effort and organization that needs to go into building an
2910 operating system or any other similarly large project. The speaker will gladly answer questions related to
2911 his background, experience and interests and information on joining the project, as well as any other
2912 related information.
2913 </p><p>
2914 <strong>Speaker Bio</strong>
2915 </p><p>
2916 Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
2917 and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
2918 and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
2919 world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
2920 providing hands-on workshops and lectures on Windows NT internals and security to various companies.
2921     </p>
2922     </abstract>
2923   </eventitem>
2924
2925
2926   <eventitem date="2007-02-15" time="4:30 PM"
2927    room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
2928    <short>A talk by James deBoer</short>
2929    <abstract>
2930    <p>
2931
2932 This talk will introduce the Haskell programming language and and walk
2933 through building a recognizer for regular languages. The talk will
2934 include a quick overview of regular expressions, an introduction to
2935 Haskell and finally a line by line analysis of a regular language
2936 recognizer.
2937     </p>
2938     </abstract>
2939   </eventitem>
2940
2941   <eventitem date="2007-02-09" time="4:30 PM"
2942    room="MC 4041" title="Introduction to 3-d Graphics">
2943    <short>A talk by Chris "The Prof" Evensen</short>
2944    <abstract>
2945    <p>
2946  A talk for those interested in 3-dimensional graphics but unsure of where to
2947  start.  Covers the basic math and theory behind projecting 3-dimensional
2948  polygons on screen, as well as simple cropping techniques to improve
2949  efficiency.  Translation and rotation of polygons will also be discussed.
2950    </p>
2951    </abstract>
2952   </eventitem>
2953
2954   <eventitem date="2007-02-09" time="8:30 PM"
2955    room="DC 1351" title="Writing World Class Software">
2956    <short>A talk by James Simpson</short>
2957    <abstract>
2958    <p>
2959 A common misconception amongst software developers is that top quality software
2960 encompasses certain platforms, is driven by a particular new piece of
2961 technology, or relies solely on a particular programming language.  However as
2962 developers we tend to miss the less hyped issues and techniques involved in
2963 writing world class software.  These techniques are universal to all
2964 programming languages, platforms and deployed technologies but are often times
2965 viewed as being so obvious that they are ignored by the typical developer.  The
2966 topics covered in this lecture will include:
2967 </p><p>
2968 - Writing bug-free to extremely low bug count software in real-time<br/>
2969 - The concept of single-source, universal platform software<br/>
2970 - Programming language interoperability<br/>
2971 <br/>
2972 ... and other less hyped yet vitally important concepts to writing
2973 World Class Software
2974    </p>
2975     </abstract>
2976   </eventitem>
2977
2978   <eventitem date="2007-02-08" time="4:30 PM"
2979    room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
2980    <short>A talk by Larry Smith</short>
2981    <abstract>
2982    <p>
2983  A discussion of software start-ups founded by UW students and what they did
2984  that helped them grow and what failed to help.  In order to share the most
2985  insights and guard the confidences of the individuals involved, none of the
2986  companies will be identified.
2987    </p>
2988     </abstract>
2989   </eventitem>
2990
2991
2992   <eventitem date="2007-02-07" time="4:30 PM"
2993    room="MC 4041" title="Riding The Multi-core Revolution">
2994    <short>How a Waterloo software company is changing the way people program computers.
2995      A talk by Stefanus Du Toit</short>
2996    <abstract>
2997    <p>
2998         For decades, mainstream parallel processing has been thought of as
2999 inevitable. Up until recent years, however, improvements in
3000 manufacturing processes and increases in clock speed have provided
3001 software with free Moore's Law-scale performance improvements on
3002 traditional single-core CPUs. As per-core CPU speed increases have
3003 slowed to a halt, processor vendors are embracing parallelism by
3004 multiplying the number of cores on CPUs, following what Graphics
3005 Processing Unit (GPU) vendors have been doing for years. The Multi-
3006 core revolution promises to provide unparalleled increases in
3007 performance, but it comes with a catch: traditional serial
3008 programming methods are not at all suited to programming these
3009 processors and methods such as multi-threading are cumbersome and
3010 rarely scale beyond a few cores. Learn how, with hundreds of cores in
3011 desktop computers on the horizon, a local software company is looking
3012 to revolutionize the way software is written to deliver on the
3013 promise multi-core holds.
3014     </p>
3015     <p>
3016         Refreshments (and possible pizza!) will be provided.
3017     </p>
3018     </abstract>
3019   </eventitem>
3020
3021 <!--  <eventitem date="2007-01-24" time="4:00 PM"
3022    room="TBA" title="TBA">
3023    <short>A talk by Reg Quinton</short>
3024    <abstract>
3025    <p>
3026         To be announced
3027     </p>
3028     </abstract>
3029   </eventitem>
3030 -->
3031   <eventitem date="2007-01-31" time="4:00 PM"
3032    room="MC 4041" title="Network Security -- Intrusion Detection">
3033    <short>A talk by Reg Quinton</short>
3034    <abstract>
3035    <p>
3036  IST monitors the campus network for vulnerabilities and scans
3037  systems for security problems.
3038  This informal presentation will look behind the scenes to show the
3039  strategies and technologies used and to show the problem magnitude. We
3040  will review the IST Security web site with an emphasis on these pages
3041  </p><p>
3042  <a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
3043  <a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
3044  <a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
3045     </p>
3046     </abstract>
3047   </eventitem>
3048 <!--
3049   <eventitem date="2007-01-31" time="4:30 PM"
3050    room="TBA" title="An Brief Introduction to Projection Graphics">
3051    <short>A talk by Christopher Evensen</short>
3052    <abstract>
3053    <p>
3054         To be announced
3055     </p>
3056     </abstract>
3057   </eventitem>
3058 -->
3059
3060 <!-- Fall 2006 -->
3061 <!-- Nothing happened :( -->
3062
3063 <!-- Spring 2006 -->
3064
3065
3066 <eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
3067  <short>Come out for the Club that Really Likes Dinner</short>
3068  <abstract>
3069  <p>
3070 Summer: the sparrows whistle through the teapot-steam breeze.  The
3071 ubiquitous construction team tears the same pavement up for the third
3072 time, hammering passers-by with dust and noise: our shirts, worn for
3073 the third time, noisome from competing heat and shame.  As Nature
3074 continues her Keynesian rotation of policy, and as society decrees yet
3075 another parting of ways, it is proper for the common victims to have
3076 an evening to themselves, looking both back and ahead, imagining new
3077 opportunities, and recognising those long since missed.  God fucking
3078 damn it.
3079 </p>
3080 <p>
3081 This term's CTRL-D end-of-term dinner is taking place tomorrow
3082 (Saturday) at 7:00 P.M. at East Side Mario's, in the plaza.  Meet in
3083 the C.S.C. fifteen minutes beforehand, so they don't take away our
3084 seats or anything nasty like that.
3085 </p>
3086 <p>
3087 A lot of people wanted to go to the Mongolian Grill, but I'm pretty
3088 sure this place has a similar price-to-tasty ratio; what's more,
3089 they'll actually grant us a reservation more than four nights a week.
3090 I've confirmed that the crazy allergenic peanuts no longer exist
3091 (sad), and they have a good vegetarian selection, which is likely
3092 coincides with their kosher and halal menus.
3093 </p>
3094 <p>
3095 Come out for the tasty and the awesome!  If you pretend it's your
3096 birthday, everyone's a loser!  Tell your friends, because I told the
3097 telephone I wanted to reserve for 10 to 12 people, and I don't wish to
3098 sully Calum T. Dalek's good name!
3099  </p>
3100  </abstract>
3101
3102 </eventitem>
3103
3104
3105 <eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
3106  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
3107  <abstract>
3108  <p>
3109  Does being in CS make you feel like a lemming?  Is linear algebra driving you
3110  into walls?  Do you pace back and forth, constantly, regardless of whatever's
3111  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
3112  playing the pseudo-sequel:  Oh No! More Lemmings!
3113  </p>
3114  <ul>
3115   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
3116   <li>Projector screen: the pixels are man-sized!</li>
3117   <li>Enjoy classic Lemmings tunes</li>
3118  </ul>
3119  </abstract>
3120
3121 </eventitem>
3122 <eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
3123         <short>A part of Linux Awareness Week</short>
3124         <abstract>
3125         <p>
3126         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
3127 fine distributions of Linux for you.
3128         </p>
3129         <p>
3130         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
3131 the awesome!
3132         </p>
3133         <p>
3134         Install Linux on your machine-install fear in your opponents!
3135         </p>
3136 </abstract>
3137 </eventitem>
3138
3139
3140 <eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
3141         <short>or How communities of interest drive modern software development.</short>
3142         <abstract>
3143         <p>
3144                 Simon Law leads the Quality teams for Ubuntu, a free-software operating
3145                 system built on Debian GNU/Linux.  As such, he leads one of the largest
3146                 community-based testing efforts for a software product.  This does get a
3147                 bit busy sometimes.
3148         </p>
3149         <p>
3150                 In this talk, we'll be exploring how the Internet is changing how
3151                 software is developed.  Concepts like open source and technologies like
3152                 message forums are blurring the lines between producer and consumer.
3153                 And this melting pot of people is causing people to take note, and
3154                 changing the way they sling code.
3155         </p>
3156         <p>
3157                 Co-Sponsored with CS-Commons Committee
3158         </p>
3159 </abstract>
3160 </eventitem>
3161
3162   <eventitem date="2006-07-21" time="5:30 PM"
3163    room="MC1085" title="March of the Penguins">
3164    <short>The Computer Science Club will be showing March of the Penguins</short>
3165    <abstract>
3166         <p>
3167         <a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
3168 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
3169 whole Linux awareness week that forgot to tell people about].
3170         </p>
3171    </abstract>
3172   </eventitem>
3173
3174
3175   <eventitem date="2006-07-20" time="5:30 PM"
3176    room="MC4041" title="Cool Stuff to do With Python">
3177    <short>Albert O'Connor will be introducing the joys of programming in python</short>
3178    <abstract>
3179         <p>
3180         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
3181 object-oriented programming language which is most awesome.
3182         </p>
3183    </abstract>
3184   </eventitem>
3185
3186   <eventitem date="2006-07-20" time="4:30 PM"
3187    room="MC4041" title="Simulating multi-tasking on an embedded architecture">
3188    <short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
3189    <abstract>
3190         <p>
3191 In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must
3192 respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence
3193 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
3194 in a real time embedded environment.
3195         </p>
3196    </abstract>
3197   </eventitem>
3198
3199
3200 <eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
3201         <short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
3202         <abstract>
3203         <p>
3204 Could you write a good image recognizer for a 100 MHz mobile phone
3205 processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
3206 stack? It needs to locate and read two-dimensional barcodes made up of
3207 square modules which might be no more than a few pixels in size. We
3208 had to do that in order to establish Semacode, a local start up
3209 company that makes a software barcode reader for cell phones. The
3210 applications vary from ubiquitous computing to advertising. Simon
3211 Woodside (founder) will discuss what it's like to start a business and
3212 how the imaging code works.
3213         </p>
3214 </abstract>
3215 </eventitem>
3216
3217
3218
3219
3220
3221   <eventitem date="2006-07-17" time="11:59 PM"
3222    room="MC3036" title="Midnight Madness, Alpha Edition">
3223    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
3224    <abstract>
3225         <p>
3226         The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
3227 together, solder, and eat free food (probably pizza).
3228         </p>
3229    </abstract>
3230   </eventitem>
3231
3232
3233   <eventitem date="2006-06-21" time="4:30 PM"
3234    room="MC4042" title="CSC General Meeting">
3235    <short>Come out to discuss current &amp; future plans/projects for the Club</short>
3236    <abstract>
3237         <p>
3238         The venue will include:</p>
3239                 <p><ul>
3240                 <li><p>Computer usage agreement discussion (Holden has some changes he'd like to propose)</p></li>
3241                 <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>
3242                 <li><p>Frosh Linux cd's that could be put in frosh math faculty kits.</p></li>
3243                 <li><p>VoIP "not phone services" ideas.</p></li>
3244                 <li><p>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</p></li>
3245                 <li><p>Ideas for books.</p></li>
3246                 <li><p>General improvements/comments for the club.</p></li>
3247                 </ul></p>
3248         <p>
3249         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.
3250         </p>
3251    </abstract>
3252   </eventitem>
3253
3254
3255 <eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
3256  <short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
3257  <abstract>
3258   <p>
3259   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
3260 evolution of software tools for microcomputers.  This talk promises to be a little bit about history and perspective (at least from
3261 the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what
3262 it's like to try to make the software industry more effective at what it does, and sometimes succeed!
3263   </p>
3264 <p>
3265 A video of the talk is available for download in our <a href="media/">media</a> section.
3266 </p>
3267  </abstract>
3268 </eventitem>
3269
3270 <eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
3271  <short>Unix 101 and 102 recording</short>
3272  <abstract>
3273   <p>
3274   Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try
3275   and put them on the web. This Sunday we will be doing a first take.
3276   At the same time, we're going to be looking at adding new material
3277   that we haven't covered in the past. </p>
3278   <p>
3279   Why should you come out? Not only will you get to hang out with a wonderful group of people,
3280   you can help impart your knowledge to the world. Don't know anything about Unix? That's cool too,
3281   we need people to make sure its easy to follow along and hopefully keep us from leaving something
3282   out by mistake.
3283   </p>
3284   </abstract>
3285 </eventitem>
3286
3287 <eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
3288  <short> We don't know enough about V4L</short>
3289  <abstract>
3290   <p>
3291   We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which
3292 could benefit from a better understanding of Video 4 Linux. So, this Saturday a number of us will be trying to learn
3293 as much as possible about Video 4 Linux and doing weird things with webcam(s).
3294   </p>
3295   </abstract>
3296 </eventitem>
3297
3298 <eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
3299 Elections">
3300  <short>Come out and vote for the Spring 2006 executive!</short>
3301  <abstract>
3302   <p>
3303   The Computer Science Club will be holding its elections for the Spring 2006
3304   term on Monday, May 8th.  The elections will be held at 4:30 PM in the
3305   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
3306   vote!
3307   </p>
3308   <p>
3309   We are accepting nominations for the following positions: President,
3310   Vice-President, Treasurer, and Secretary. The nomination period continues
3311   until 4:30 PM on Sunday, May 7th. If you are interested in running for
3312   a position, or would like to nominate someone else, please email
3313   cro@csclub.uwaterloo.ca before the deadline.
3314   </p>
3315  </abstract>
3316 </eventitem>
3317
3318 <!-- Winter 2006 -->
3319
3320   <eventitem date="2006-03-06" time="4:45 PM"
3321    room="Physics 145" title="Creating Killer Applications">
3322    <short>A talk by Larry Smith</short>
3323    <abstract>
3324    <p>
3325         A discussion of how software creators can identify application opportunities
3326         that offer the promise of great social and commercial significance. Particular
3327         attention will be paid to the challenge of acquiring cross domain knowledge
3328         and setting up effective collaboration.
3329     </p>
3330     </abstract>
3331   </eventitem>
3332
3333
3334   <eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
3335     <short>Come out and meet your professors. Free food provided!</short>
3336     <abstract>
3337     <p>Come out and meet your professors!  This is a great opportunity to
3338     mingle with your professors before midterms or find out who you might
3339     have for future courses.  All are welcome!</p>
3340
3341     <p>Best of all, there will be <strong>free food!</strong></p>
3342
3343     <p>You can pick up invitations for your professors at the Computer Science
3344     Club office in MC 3036.</p>
3345
3346     <p>Pints with Profs will be held this term on Thursday, 9 February 2006
3347     from 5:30 to 8:00 PM in the Bombshelter.</p>
3348     </abstract>
3349   </eventitem>
3350
3351 <!-- Fall 2005 -->
3352
3353   <eventitem date="2005-11-29" time="5:30 PM"
3354    room="TBA" title="Programming Contest">
3355    <short>Come out, program, and win shiny things!</short>
3356    <abstract>
3357    <p>
3358         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.
3359
3360    </p>
3361
3362    <p>And best of all... free food!!!</p>
3363    </abstract>
3364   </eventitem>
3365
3366
3367   <eventitem date="2005-10-17" time="5:30 PM"
3368    room="Fishbowl" title="Party with Profs!">
3369    <short>Get to know your profs and be the envy of your
3370    friends!</short>
3371    <abstract>
3372    <p>
3373      Come out and meet your professors!!  This is a great opportunity to
3374      meet professors for Undergraduate Research jobs or to find out who
3375      you might have for future courses.  One and all are welcome!
3376    </p>
3377
3378    <p>And best of all... free food!!!</p>
3379    </abstract>
3380   </eventitem>
3381
3382
3383 <eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
3384  <short>You Too Can Be a Unix Taskmaster</short>
3385  <abstract>
3386   <p>
3387   This is the third in a series of seminars that cover the use of the
3388   UNIX Operating System. UNIX is used in a variety of applications, both
3389   in academia and industry. We will provide you with hands-on experience
3390   with the Math Faculty's UNIX environment in this tutorial.
3391   </p><p>
3392   Topics that will be discussed include:
3393   <ul>
3394   <li>Shell scripting</li>
3395   <li>Searching through text files</li>
3396   <li>Batch editing text files</li>
3397   </ul>
3398   </p><p>
3399   If you do not have a Math computer account, don't panic; one will be lent to
3400   you for the duration of this class.
3401   </p>
3402  </abstract>
3403 </eventitem>
3404
3405
3406 <eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
3407  <short>Fun with Unix</short>
3408  <abstract>
3409  <p>
3410  This is the second in a series of seminars that cover the use of the
3411  Unix Operating System. Unix is used in a variety of
3412  applications, both in academia and industry. We will provide you with hands-on
3413  experience with the Math Faculty's Unix environment in this tutorial.
3414  </p>
3415  <p>
3416  Topics that will be discussed include:
3417  <ul>
3418  <li>Interacting with Bourne and C shells</li>
3419  <li>Editing text using the vi text editor</li>
3420  <li>Editing text using the Emacs display editor</li>
3421  <li>Multi-tasking and the screen multiplexer</li>
3422  </ul>
3423  </p>
3424  <p>
3425  If you do not have a Math computer account, don't panic; one will be lent to
3426  you for the duration of this class.
3427  </p>
3428  </abstract>
3429 </eventitem>
3430
3431 <eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
3432  <short>First UNIX tutorial</short>
3433  <abstract>
3434   <p>
3435   The CSC UNIX tutorials are intended to help first year CS and other
3436   interested learn UNIX and the CS UNIX environment.
3437   </p>
3438   <p>
3439   This is the first in a series of two or three tutorials. It will cover basic shell
3440   use, and simple text editors.
3441   </p>
3442  </abstract>
3443 </eventitem>
3444
3445
3446 <!-- Summer 2005 -->
3447 <eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
3448  <short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
3449 <abstract>
3450 <p>
3451 Server-side Web applications have grown increasingly common, sometimes
3452 even replacing brick and mortar as the principal interface of
3453 corporations.  Correspondingly, Web browsers grow ever more powerful,
3454 empowering users to attach bookmarks, switch between pages, clone
3455 windows, and so forth.  As a result, Web interactions are not
3456 straight-line dialogs but complex nets of interaction steps.
3457 </p>
3458 <p>
3459 In practice, programmers are unaware of or are unable to handle these
3460 nets of interaction, making the Web interfaces of even major
3461 organizations buggy and thus unreliable.  Even when programmers do
3462 address these constraints, the resulting programs have a seemingly
3463 mangled structure, making them difficult to develop and hard to
3464 maintain.
3465 </p>
3466 <p>
3467 In this talk, I will describe these interactions and then show how
3468 programming language ideas can shed light on the resulting problems
3469 and present solutions at various levels.  I will also describe some
3470 challenges these programs pose to computer-aided verification, and
3471 present solutions to these problems.
3472 </p>
3473 </abstract>
3474 </eventitem>
3475 <eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
3476 <short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
3477 <abstract>
3478 <p>
3479 I'll survey the evolution of our computer science curriculum over the
3480 past thirty-five years to try to convey the reasons (not always entirely
3481 rational) behind our current mix of courses and their division into core
3482 and optional. After some remarks about constraints and opportunities in
3483 the near future, I'll open the floor to discussion, and hope to hear
3484 some candid comments about the state of CS at UW and how it might be
3485 improved.
3486 </p>
3487 <p>
3488 About the speaker:
3489 </p>
3490 <p>
3491 Prabhakar Ragde is a Professor in the School of Computer Science at UW.
3492 He was Associate Chair for Curricula during the period that saw the
3493 creation of the Bioinformatics and Software Engineering programs, the
3494 creation of the BCS degree, and the strengthening of the BMath/CS degree.
3495 </p>
3496 </abstract>
3497 </eventitem>
3498
3499 <!-- Winter 2005 -->
3500 <eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
3501  <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
3502  <abstract>
3503  <p>
3504  Does being in CS make you feel like a lemming?  Is linear algebra driving you
3505  into walls?  Do you pace back and forth, constantly, regardless of whatever's
3506  in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
3507  playing the pseudo-sequel:  Oh No! More Lemmings!
3508  </p>
3509  <ul>
3510   <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
3511   <li>Projector screen: the pixels are man-sized!</li>
3512   <li>Live-Action Lemmings (the rules are better this time)</li>
3513   <li>Lemmings look-alike contest</li>
3514   <li>Enjoy classic Lemmings tunes</li>
3515  </ul>
3516  </abstract>
3517 </eventitem>
3518
3519 <eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
3520  <short>Fun with Unix</short>
3521  <abstract>
3522  <p>
3523  This is the second in a series of seminars that cover the use of the
3524  Unix Operating System. Unix is used in a variety of
3525  applications, both in academia and industry. We will provide you with hands-on
3526  experience with the Math Faculty's Unix environment in this tutorial.
3527  </p>
3528  <p>
3529  Topics that will be discussed include:
3530  <ul>
3531  <li>Interacting with Bourne and C shells</li>
3532  <li>Editing text using the vi text editor</li>
3533  <li>Editing text using the Emacs display editor</li>
3534  <li>Multi-tasking and the screen multiplexer</li>
3535  </ul>
3536  </p>
3537  <p>
3538  If you do not have a Math computer account, don't panic; one will be lent to
3539  you for the duration of this class.
3540  </p>
3541  </abstract>
3542 </eventitem>
3543
3544
3545 <eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
3546  <short>First UNIX tutorial</short>
3547  <abstract>
3548   <p>
3549   The CSC UNIX tutorials are intended to help first year CS and other
3550   interested learn UNIX and the CS UNIX environment.
3551   </p>
3552   <p>
3553   This is the first in a series of two or three tutorials. It will cover basic shell
3554   use, and simple text editors.
3555   </p>
3556  </abstract>
3557 </eventitem>
3558
3559
3560 <eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
3561 Elections">
3562  <short>Come out and vote for the Winter 2005 executive!</short>
3563  <abstract>
3564   <p>
3565   The Computer Science Club will be holding its elections for the Winter 2005
3566   term on Thursday, January 13.  The elections will be held at 4:30 PM in the
3567   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
3568   vote!
3569   </p>
3570   <p>
3571   We are accepting nominations for the following positions: President,
3572   Vice-President, Treasurer, and Secretary. The nomination period continues
3573   until 4:30 PM on Wednesday, January 12. If you are interested in running for
3574   a position, or would like to nominate someone else, please email
3575   cro@csclub.uwaterloo.ca before the deadline.
3576   </p>
3577  </abstract>
3578 </eventitem>
3579
3580
3581 <!-- Fall 2004 -->
3582
3583 <eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
3584 title="CTRL-D">
3585  <short> This semesters CTRL-D (or the club that really likes
3586 dinner) is going to be at Mongolian grill. Be there or be square</short>
3587  <abstract>
3588         <p>
3589 Come to the end of term CTRL-D (club that really likes dinner) meeting.
3590 Remember : food is good
3591 </p>
3592  </abstract>
3593 </eventitem>
3594
3595
3596 <eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
3597  <short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
3598 interesting examples that can or cannot be straightened out</short>
3599  <abstract>
3600         <p>
3601  In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
3602 interesting examples that can or cannot be straightened out</p>
3603
3604  </abstract>
3605 </eventitem>
3606
3607
3608 <eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
3609  <short>How I Stopped Worrying and Learned to Love the IDE</short>
3610  <abstract>
3611   <p>
3612         How I stopped worrying and Learned to Love the IDE
3613   </p>
3614   <p>
3615         Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like
3616 the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs.
3617   </p>
3618
3619   <p>
3620         I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or
3621 "Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
3622   </p>
3623
3624  </abstract>
3625 </eventitem>
3626
3627
3628 <eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
3629  <short>Wiki software in PHP+MySQL</short>
3630  <abstract>
3631   <p>
3632    GracefulTavi is an open source wiki programmed by Net Integration
3633    Technologies Inc. It is used internally by more than 25 people, and is
3634    the primary internal wiki for NITI's R&amp;D and QA.
3635   </p>
3636   <p>
3637    I'll start with a very brief introduction to wikis in general, then
3638    show off our special features: super-condensed formatting syntax,
3639    hierarchy management, version control, highlighted diffs, SchedUlator,
3640    the Table of Contents generator. As part of this, we'll explain the
3641    simple plugin architecture and show people how to write a basic wiki
3642    plugin.
3643   </p>
3644
3645   <p>
3646    As well, I will show some of the "waterloo specific" macros that have
3647    been coded, and explain future plans for GracefulTavi.
3648   </p>
3649
3650   <p>
3651    If time permits, I will explain how gracefulTavi can be easily used
3652    for a personal calendar and notepad system on your laptop.
3653   </p>
3654  </abstract>
3655 </eventitem>
3656
3657
3658
3659 <eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
3660  <short>Everyone else is doing it!</short>
3661  <abstract>
3662   <p>
3663         Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
3664 regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
3665   </p><p>
3666   <ul>
3667   <li>Play some old-skool Lemmings, Amiga-style</li>
3668   <li>Live-action lemmings</li>
3669   <li>Lemmings look-alike contest</li>
3670   <li>Enjoy classic Lemmings tunes</li>
3671   </ul>
3672   </p><p>
3673         Everyone else is doing it!
3674   </p>
3675  </abstract>
3676 </eventitem>
3677
3678
3679 <eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
3680         <short>CSC Programming Contest</short>
3681         <abstract>
3682         <p>
3683         The Computer Science Club will be hosting a programming competition.
3684         You have the entire afternoon to design and implement an AI for a simple
3685         game. The competition will run until 5pm.
3686         </p>
3687         </abstract>
3688 </eventitem>
3689
3690
3691 <eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
3692  <short>You Too Can Be a Unix Taskmaster</short>
3693  <abstract>
3694   <p>
3695   This is the third in a series of seminars that cover the use of the
3696   UNIX Operating System. UNIX is used in a variety of applications, both
3697   in academia and industry. We will provide you with hands-on experience
3698   with the Math Faculty's UNIX environment in this tutorial.
3699   </p><p>
3700   Topics that will be discussed include:
3701   <ul>
3702   <li>Shell scripting</li>
3703   <li>Searching through text files</li>
3704   <li>Batch editing text files</li>
3705   </ul>
3706   </p><p>
3707   If you do not have a Math computer account, don't panic; one will be lent to
3708   you for the duration of this class.
3709   </p>
3710  </abstract>
3711 </eventitem>
3712
3713 <eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
3714  <short>Fun with Unix</short>
3715  <abstract>
3716  <p>
3717  This is the second in a series of seminars that cover the use of the
3718  Unix Operating System. Unix is used in a variety of
3719  applications, both in academia and industry. We will provide you with hands-on
3720  experience with the Math Faculty's Unix environment in this tutorial.
3721  </p>
3722  <p>
3723  Topics that will be discussed include:
3724  <ul>
3725  <li>Interacting with Bourne and C shells</li>
3726  <li>Editing text using the vi text editor</li>
3727  <li>Editing text using the Emacs display editor</li>
3728  <li>Multi-tasking and the screen multiplexer</li>
3729  </ul>
3730  </p>
3731  <p>
3732  If you do not have a Math computer account, don't panic; one will be lent to
3733  you for the duration of this class.
3734  </p>
3735  </abstract>
3736 </eventitem>
3737
3738 <!-- Spring 2004 -->
3739
3740 <eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
3741  <short>First UNIX tutorial</short>
3742  <abstract>
3743   <p>
3744   The CSC UNIX tutorials are intended to help first year CS and other
3745   interested learn UNIX and the CS UNIX environment.
3746   </p>
3747   <p>
3748   This is the first in a series of three tutorials. It will cover basic shell
3749   use, and simple text editors.
3750   </p>
3751  </abstract>
3752 </eventitem>
3753 <eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
3754 Elections">
3755  <short>Come out and vote for the Fall 2004 executive!</short>
3756  <abstract>
3757   <p>
3758   The Computer Science Club will be holding its elections for the Fall 2004
3759   term on Friday, September 17. The elections will be held at 4:00 PM in the
3760   Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
3761   vote!
3762   </p>
3763   <p>
3764   We are accepting nominations for the following positions: President,
3765   Vice-President, Treasurer, and Secretary. The nomination period continues
3766   until 4:30 PM on Thursday, September 16. If you are interested in running
3767   for a position, or would like to nominate someone else, please email
3768   cro@csclub.uwaterloo.ca before the deadline.
3769   </p>
3770  </abstract>
3771 </eventitem>
3772
3773 <eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
3774 title="Game Complexity Theorists Ponder, by Jonathan Buss">
3775 <short>Attention AI buffs: Game Complexity presentation</short>
3776 <abstract>
3777 <p>
3778 Why are some games hard to play well?  The study of computational
3779 complexity gives one answer: the games encode long computations.</p>
3780
3781 <p>Any computation can be interpreted as an abstract game.  Playing the
3782 game perfectly requires performing the computation.  Remarkably, some
3783 natural games can encode these abstract games and thus simulate
3784 general computations.  The more complex the game, the more complex the
3785 computations it can encode; games that can encode intractable problems
3786 are themselves intractable.</p>
3787
3788 <p>
3789 I will describe how games can encode computations, and discuss some
3790 examples of both provably hard games (checkers, chess, go, etc.) and
3791 games that are believed to be hard (hex, jigsaw puzzles, etc.).
3792 </p>
3793 </abstract>
3794 </eventitem>
3795
3796 <eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
3797    title="Case Modding Workshop!">
3798    <short>Come and learn how to make your computer 1337!</short>
3799    <abstract>
3800     <p>
3801 Are you bored of beige?<br />
3802 Tired of an overheating computer?<br />
3803 Is your computer's noise level on par with a jet engine?
3804     </p>
3805     <p>
3806 Got a nifty modded case?<br />
3807 Want one?
3808     </p>
3809     <p>
3810 The Computer Science Club will be holding a Case Modding Workshop
3811 to help answer these questions.
3812     </p>
3813     <p>
3814 There will be demonstrations on how to make a case window, how
3815 to paint your case, managing cables and keeping your computer
3816 quiet and cool.
3817     </p>
3818     <p>
3819 The event is FREE and there will be FREE PIZZA.  All are welcome!
3820     </p>
3821     <p>
3822 To help you on your way to getting a wicked computer case, we have a limited
3823 number of "Case Modding Starters Kits" available.  They come with an LED fan,
3824 a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more!  They're
3825 only $10 and will be on sale at the event.  Here's a <a
3826 href="redkit.jpg">picture</a>.
3827     </p>
3828     <p>
3829 If you already have a modded case, we encourage you to bring it out
3830 and show it off!  There will be a prize for the best case!!
3831     </p>
3832     <p>
3833 We hope to see you there!
3834     </p>
3835     <p>
3836 This event is sponsored by Bigfoot Computers.
3837     </p>
3838    </abstract>
3839   </eventitem>
3840
3841   <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
3842    title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
3843    <short>A talk by Richard Mann; School of Computer Science</short>
3844    <abstract>
3845     <p>
3846 When an observer moves through a 3D scene, nearby surfaces move faster in the
3847 image than do distant surfaces.  This effect, called motion parallax, provides
3848 an observer with information both about their own motion relative the scene,
3849 and about the spatial layout and depth of surfaces in the scene.
3850     </p>
3851     <p>
3852 Classical methods for measuring image motion by computer have concentrated on
3853 the cases of optical flow in which the motion field is continuous, or layered
3854 motion in which the motion field is piecewise continuous.  Here we introduce a
3855 third natural category which we call ``optical snow''.  Optical snow arises in
3856 many natural situations such as camera motion in a highly cluttered 3-D scene,
3857 or a passive observer watching a snowfall.  Optical snow yields dense motion
3858 parallax with depth discontinuities occurring near all image points.  As such,
3859 constraints on smoothness or even smoothness in layers do not apply.
3860     </p>
3861     <p>
3862 We present a Fourier analysis of optical snow.  In particular we show that,
3863 while such scenes appear complex in the time domain, there is a simple
3864 structure in the frequency domain, and this may be used to determine the
3865 direction of motion and the range of depths of objects in the scenes.  Finally
3866 we show how Fourier analysis of two or more image regions may be combined to
3867 estimate heading direction.
3868     </p>
3869     <p>
3870 This talk will present current research at the undergraduate level.  All are
3871 welcome to attend.
3872     </p>
3873    </abstract>
3874   </eventitem>
3875
3876
3877   <eventitem date="2004-05-26" time="5:30 PM"
3878    room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
3879    <short>A talk by Larry Smith</short>
3880    <abstract>
3881    <p>
3882      Larry will challenge conventional assumptions about the directions of
3883      computing and software. The role of AI, expert systems, communications
3884      software and business applications will be presented both from a
3885      functional and commercial point of view.  The great gaps in the
3886      marketplace will be highlighted, together with an indication of how
3887      these vacant fields will become home to new empires.
3888     </p>
3889     </abstract>
3890   </eventitem>
3891   <eventitem date="2004-05-12" time="4:30 PM"
3892    room="The Comfy Lounge" title="CSC Elections">
3893    <short>Come out and vote for the Spring 2004 executive!</short>
3894    <abstract>
3895    <p>
3896      The Computer Science Club will be holding its elections for the Spring
3897      2004 term on Wednesday, May 12.  The elections will be held at 4:30 PM in
3898      the Comfy Lounge, on the 3rd floor of the MC.  Please remember to come out
3899      and vote!
3900    </p>
3901    <p>
3902      We are accepting nominations for the following positions: President,
3903      Vice-President, Treasurer, and Secretary.  The nomination period continues
3904      until 4:30 PM on Tuesday, May 11.  If you are interested in running
3905      for a position, or would like to nominate someone else, please email
3906      cro@csclub.uwaterloo.ca before the deadline.
3907    </p>
3908    </abstract>
3909   </eventitem>
3910
3911 <!-- Winter 2004 -->
3912
3913   <eventitem date="2004-03-29" time="6:00 PM"
3914    room="MC 4058" title="LaTeXing your work report">
3915    <short>A talk by Simon Law</short>
3916    <abstract>
3917    <p>
3918      The work report is a familiar chore for any co-op student. Not only is
3919      there a report to write, but to add insult to injury, your report is
3920      returned if you do not follow your departmental guidelines.
3921    </p>
3922
3923    <p>
3924      Fear no more! In this talk, you will learn how to use LaTeX and a
3925      specially developed class to automatically format your work reports.
3926      This talk is especially useful to Mathematics, Computer Science,
3927      Electrical &amp; Computer Engineering, and Software Engineeering co-op
3928      students about to go on work term.
3929    </p>
3930    </abstract>
3931   </eventitem>
3932
3933   <eventitem date="2004-03-30" time="5:30 PM"
3934    room="The Grad House" title="Pints with Profs!">
3935    <short>Get to know your profs and be the envy of your
3936    friends!</short>
3937    <abstract>
3938    <p>
3939      Come out and meet your professors!!  This is a great opportunity to
3940      meet professors for Undergraduate Research jobs or to find out who
3941      you might have for future courses.  One and all are welcome!
3942    </p>
3943
3944    <p>And best of all... free food!!!</p>
3945    </abstract>
3946   </eventitem>
3947
3948   <eventitem date="2004-03-23" time="6:00 PM"
3949    room="MC4058" title="Extending LaTeX with packages">
3950    <short>A talk by Simon Law</short>
3951    <abstract>
3952    <p>
3953      LaTeX is a document processing system.  What this means is you describe
3954      the structure of your document, and LaTeX typesets it appealingly.
3955      However, LaTeX was developed in the late-80s and is now showing its age.
3956    </p>
3957
3958    <p>
3959      How does it compete against modern systems?  By being easily extensible,
3960      of course.  This talk will describe the fundamentals of typesetting in
3961      LaTeX, and will then show you how to extend it with freely available
3962      packages.  You will learn how to teach yourself LaTeX and how to find
3963      extensions that do what you want.
3964    </p>
3965
3966    <p>
3967      As well, there will be a short introduction on creating your own
3968      packages, for your own personal use.
3969    </p>
3970    </abstract>
3971   </eventitem>
3972
3973   <eventitem date="2004-03-16" time="6:00 PM"
3974    room="MC4058" title="Distributed programming for CS and Engineering
3975    students">
3976    <short>A talk by Simon Law</short>
3977    <abstract>
3978    <p>
3979      If you've ever worked with other group members, you know how difficult
3980      it is to code simultaneously.  You might be working on one part of your
3981      assignment, and you need to send your source code to everyone else.  Or
3982      you might be fixing a bug in someone else's part, and need to merge in
3983      the change.  What a mess!
3984    </p>
3985
3986    <p>
3987      This talk will explain some Best Practices for developing code in a
3988      distributed fashion.  Whether you're working side-by-side in the lab, or
3989      developing from home, these methods can apply to your team.  You will
3990      learn how to apply these techniques in the Unix environment using GNU
3991      Make, CVS, GNU diff and patch.
3992    </p>
3993    </abstract>
3994   </eventitem>
3995
3996   <eventitem date="2004-03-15" time="5:30 PM"
3997    room="MC4040" title="SPARC Architecture">
3998    <short>A talk by James Morrison</short>
3999    <abstract>
4000    <p>
4001      Making a compiler?  Bored?  Think CISC sucks and RISC rules?
4002    </p>
4003
4004    <p>
4005      This talk will run through the SPARC v8, IEEE-P1754, architecture.
4006      Including all the fun that can be had with register windows and the
4007      SPARC instruction set including the basic instructions, floating
4008      point instructions, and vector instructions.
4009    </p>
4010    </abstract>
4011   </eventitem>
4012
4013   <eventitem date="2004-03-09" time="6:00 PM"
4014    room="MC4062" title="Managing your home directory using CVS">
4015    <short>A talk by Simon Law</short>
4016    <abstract>
4017    <p>
4018      If you have used Unix for a while, you know that you've created
4019      configuration files, or dotfiles.  Each program seems to want its own
4020      particular settings, and you want to customize your environment.  In a
4021      power-user's directory, you could have hundreds of these files.
4022    </p>
4023
4024    <p>
4025      Isn't it annoying to migrate your configuration if you login to another
4026      machine?  What if you build a new computer?  Or perhaps you made a
4027      mistake to one of your configuration files, and want to undo it?
4028    </p>
4029
4030    <p>
4031      In this talk, I will show you how to manage your home directory using
4032      CVS, the Concurrent Versions System.  You can manage your files, revert
4033      to old versions in the past, and even send them over the network to
4034      another machine.  I'll also discuss how to keep your configuration files
4035      portable, so they'll work even on different Unices, with different
4036      software installed.
4037   &