oops date
[www/www.git] / events.xml
1 <?xml version='1.0'?>
2
3 <!DOCTYPE eventdefs SYSTEM "csc.dtd" [<!ENTITY mdash "&#x2014;">]>
4 <eventdefs>
5
6 <!-- Fall 2013 -->
7 <eventitem date="2013-11-26" time="5:00PM" room="MC 2038" title="TBD">
8   <short><p>
9     This talk's topic has not yet been determined!
10   </p></short>
11   <abstract><p>
12     This talk's topic has not yet been determined!
13   </p></abstract>
14 </eventitem>
15
16 <eventitem date="2013-11-23" time="TBD" room="Toronto, ON" title="CSC Goes
17 to Toronto Erlang Factory Lite 2013">
18   <short><p>
19     The CSC has been invited to attend this Erlang conference in Toronto. If 
20 you are interested in attending, please sign up on our <a 
21 href="http://goo.gl/8XOELB">web form</a>.  If we can confirm enough attendees, 
22 we will be able to provide transportation to all CSC attendees! (You will be 
23 responsible for your conference fee.) More details about the conference within.
24   </p></short>
25   <abstract><p>
26 The CSC has been invited to attend this Erlang conference in Toronto. If you 
27 are interested in attending, please sign up on our <a 
28 href="http://goo.gl/8XOELB">web form</a>.  If we can confirm enough attendees, 
29 we will be able to provide transportation to all CSC attendees! (You will be 
30 responsible for your conference fee.) From the <a 
31 href="https://www.erlang-factory.com/conference/Toronto2013">conference 
32 website</a>:</p>
33
34 <p>"Our first ever Toronto Erlang Factory Lite has been confirmed. Join us on 
35 23 November for a full day debate on Erlang as a powerful tool for building 
36 innovative, scalable and fault tolerant applications. Our speakers will 
37 showcase examples from their work experience and their personal success 
38 stories, thus presenting how Erlang solves the problems related to scalability 
39 and performance. At this event we will focus on what Erlang brings to the table 
40 in the multicore era."
41   </p></abstract>
42 </eventitem>
43
44
45
46 <eventitem date="2013-11-12" time="5:00PM" room="MC 4060" title="Disk Encryption">
47   <short><p>
48     The fifth lecture of our security and privacy series. By MMath alumnus 
49     Zak Blacher. 
50   </p></short>
51   <abstract><p>
52     The fifth lecture of our security and privacy series. By MMath alumnus 
53     Zak Blacher. 
54   </p></abstract>
55 </eventitem>
56
57
58 <eventitem date="2013-11-05" time="6:00PM" room="MC 3001 (Comfy)" title="Hands On 
59 Seminar on Public Key Cryptography">
60   <short><p>
61     The fourth event in our security and privacy series. By undergraduate 
62     students Murphy Berzish and Nick Guenther. 
63   </p></short>
64   <abstract><p>
65 Nick Guenther and Murphy Berzish will be holding a hands-on seminar in the 
66 Comfy to introduce you to public-private key crypto and how you can practically 
67 use it, so bring your laptops! You will learn about PGP, an encryption protocol 
68 that provides confidentiality and authenticity. At the seminar, you will learn 
69 how to use PGP to send encrypted email and files, provably identify yourself to 
70 others, and verify data. Bring a laptop so we can help help you generate your 
71 first keypair and give you the chance to form a Web of Trust with your 
72 peers.</p>
73
74 <p>A GSIntroducer from <a href="www.GSWoT.org">www.GSWoT.org</a> will be on 
75 hand. If you are interested in obtaining an elevated level of trust, bring 
76 government-issued photo-ID.</p>
77
78 <p>There will also be balloons and cake.
79   </p></abstract>
80 </eventitem>
81
82
83 <eventitem date="2013-10-24" time="6:30PM" room="DC 1302" title="Practical Tor Usage">
84   <short><p>
85     The third lecture of our security and privacy series. By undergraduate 
86     student Simon Gladstone.
87   </p></short>
88   <abstract><p>
89     An introduction to and overview of how to use the Tor Browser Bundle to 
90     browse the "Deep Web" and increase security while browsing the Internet. Tor
91     is not the be all end all of Internet security, but it is definitely a step 
92     up from using the more popular browsers such as Chrome, Firefox, or 
93     Safari.</p>
94
95     <p>The third lecture of our security and privacy series. By undergraduate 
96     student Simon Gladstone.
97   </p></abstract>
98 </eventitem>
99
100
101 <eventitem date="2013-10-15" time="5:00PM" room="MC 4060" title="Tunnels and 
102 Censorship">
103   <short><p>
104     The second lecture of our security and privacy series. By undergraduate student 
105     Eric Dong.
106   </p></short>
107   <abstract><p>
108     In this talk, I will discuss censorship firewalls used in countries such as 
109     China and Iran, and how to counteract them. The focus is on advanced 
110     application-layer and Deep Packet Inspection firewalls, and unexpected hurdles 
111     in overcoming censorship by these firewalls due to the need for very 
112     unconventional adversary models. Approaches of the privacy tool Tor, popular 
113     proprietary freeware Ultrasurf and Freegate, payware VPNs, and my own 
114     experimental Kirisurf project are examined, where strengths and difficulties 
115     with each system are noted.</p>
116
117     <p>The second lecture of our security and privacy series. By undergraduate 
118     student Eric Dong.
119   </p></abstract>
120 </eventitem>
121
122
123 <eventitem date="2013-10-08" time="5:00PM" room="MC 4041" title="Why Should 
124 You Care About Security and Privacy">
125   <short><p>
126     The first lecture of our security and privacy series. By PhD student Sarah 
127     Harvey. 
128   </p></short>
129   <abstract><p>
130     Recent media coverage has brought to light the presence of various government
131     agencies' surveillance programs, along with the possible interference of
132     governments in the establishment and development of standards and software.
133     This brings to question of just how much we need to be concerned about the
134     security and privacy of our information.</p>
135     
136     <p>In this talk we will discuss what all this means in technological and social
137     contexts, examine the status quo, and consider the long-standing implications.
138     This talk assumes no background knowledge of security or privacy, nor any
139     specific technical background. All students are welcome and encouraged to
140     attend.</p>
141
142     <p>The first lecture of our security and privacy series. By PhD student 
143     Sarah Harvey.
144   </p></abstract>
145 </eventitem>
146
147
148 <eventitem date="2013-10-03" time="6:30PM" room="PHY 150" title="C++ 
149 GoingNative Lectures">
150   <short><p>
151     We will be showing GoingNative
152     lectures from some of the top individuals working on C++ 
153     approximately biweekly on Thursdays at 6:30PM in the PHY 150 theatre. Every 
154     lecture will be accompanied with free pizza and drinks! Dates are Oct. 3, 17, 
155     31 and Nov. 7 and 21. Please view this event in detail for more information.
156   </p></short>
157   <abstract><p>
158     If you're not familiar with the C++ GoingNative series, you can check them 
159     out on the <a 
160     href="http://channel9.msdn.com/Events/GoingNative/2013">GoingNative 
161     website</a>.</p>
162     
163     <p>We will be showing lectures from some of the top individuals working on C++ 
164     approximately biweekly on Thursdays in the PHY 150 theatre. Every lecture will 
165     be accompanied with free pizza and drinks! Here is our schedule and the planned 
166     showings:</p>
167     
168     <ul>
169       <li>Thu. Oct. 3,  6:30PM: Stroustrup - The Essence of C++</li>
170       <li>Thu. Oct. 17, 6:30PM: Lavavej - Don't Help The Compiler</li>
171       <li>Thu. Oct. 31, 6:30PM: Meyers - An Effective C++ Sampler</li>
172       <li>Thu. Nov. 7,  6:30PM: Alexandrescu - Writing Quick C++ Code, Quickly</li>
173       <li>Thu. Nov. 21, 6:30PM: Parent - C++ Seasoning</li>
174     </ul>
175   </abstract>
176 </eventitem>
177
178 <eventitem date="2013-10-17" time="6:30PM" room="PHY 150" title="C++ Night 0x02 
179 - Don't Help The Compiler">
180   <short><p>
181     The second in a series of recorded talks from GoingNative 2013. Featuring 
182 Stephan T. Lavavej.
183   </p></short>
184   <abstract><p>
185     The second in a series of recorded talks from GoingNative 2013. Featuring 
186 Stephan T. Lavavej.
187   </p><p>
188     C++ has powerful rules for dealing with low-level program structure.  
189 Before a program is ever executed, the compiler determines valuable information 
190 about every expression in the source code.  The compiler understands exactly 
191 how long each object's resources will be needed (lifetime), whether each 
192 expression refers to an object that the program has no other way of accessing 
193 (rvalueness), and what operations can be performed on each object (type).  
194 Using examples from C++98 through C++14, this presentation will demonstrate how 
195 to write code that works with the compiler's knowledge to increase robustness, 
196 efficiency, and clarity.  This presentation will also demonstrate the horrible 
197 things that happen when programmers think they can do tasks that are better 
198 left to compilers.
199   </p></abstract>
200 </eventitem>
201
202
203 <eventitem date="2013-10-31" time="6:30PM" room="PHY 150" title="C++ Night 0x03 
204 - An Effective C++11/14 Sampler">
205   <short><p>
206     The third in a series of recorded talks from GoingNative 2013. Featuring 
207 Scott Meyers.
208   </p></short>
209   <abstract><p>
210     The third in a series of recorded talks from GoingNative 2013. Featuring 
211 Scott Meyers.
212   </p><p>
213     After years of intensive study (first of C++0x, then of C++11, and most 
214 recently of C++14), Scott thinks he finally has a clue. About the effective use 
215 of C++11, that is (including C++14 revisions). At last year’s Going Native, 
216 Herb Sutter predicted that Scott would produce a new version of Effective C++ 
217 in the 2013-14 time frame, and Scott’s working on proving him almost right. 
218 Rather than revise Effective C++, Scott decided to write a new book that 
219 focuses exclusively on C++11/14: on the things the experts almost always do (or 
220 almost always avoid doing) to produce clear, efficient, effective code. In this 
221 presentation, Scott will present a taste of the Items he expects to include in 
222 Effective C++11/14.
223   </p></abstract>
224 </eventitem>
225
226
227 <eventitem date="2013-11-07" time="6:30PM" room="PHY 150" title="C++ Night 0x04 
228 - Writing Quick Code in C++, Quickly">
229   <short><p>
230     The fourth in a series of recorded talks from GoingNative 2013. Featuring 
231 Andrei Alexandrescu.
232   </p></short>
233   <abstract><p>
234     The fourth in a series of recorded talks from GoingNative 2013. Featuring 
235 Andrei Alexandrescu.
236   </p><p>
237     Contemporary computer architectures make it possible for slow code to work 
238 reasonably well. They also make it difficult to write really fast code that 
239 exploits the CPU amenities to their fullest. And the smart money is on fast 
240 code—we’re running out of cool things to do with slow code, and the battle will 
241 be on doing really interesting and challenging things at the envelope of what 
242 the computing fabric endures.
243   </p><p>
244     So how to write quick code, quickly? Turns out it’s quite difficult because 
245 today’s complex architectures defy simple rules to be applied everywhere. It is 
246 not uncommon that innocuous high-level artifacts have a surprisingly high 
247 impact on the bottom line of an application’s run time (and power consumed).
248   </p><p>
249     This talk is an attempt to set forth a few pieces of tactical advice for 
250 writing quick code in C++. Applying these is not guaranteed to produce optimal 
251 code, but is likely to put it reasonably within the ballpark.  </p><p>
252     These tips are based on practical experience but also motivated by the 
253 inner workings of modern CPUs.
254   </p></abstract>
255 </eventitem>
256
257
258 <eventitem date="2013-11-21" time="6:30PM" room="PHY 150" title="C++ Night 0x05 
259 - C++ Seasoning">
260   <short><p>
261     The fifth in a series of recorded talks from GoingNative 2013. Featuring 
262 Sean Parent.
263   </p></short>
264   <abstract><p>
265     The fifth in a series of recorded talks from GoingNative 2013. Featuring 
266 Sean Parent.
267   </p><p>
268     A look at many of the new features in C++ and a couple of old features you 
269 may not have known about. With the goal of correctness in mind, we’ll see how 
270 to utilize these features to create simple, clear, and beautiful code. Just a 
271 little pinch can really spice things up.
272   </p></abstract>
273 </eventitem>
274
275
276 <eventitem date="2013-10-30" time="6:00PM" room="Bingemans" title="CSC Goes 
277 Bowling">
278   <short><p>
279     All CSC members and their guests are invited for a night of free bowling at 
280     Bingemans! Transportation will be provided. If you are interested in attending, 
281     please RSVP using the online form by Oct. 18. You can find it by viewing this 
282     event in detail.
283   </p></short>
284   <abstract><p>
285     We are pleased to kick off the term with free bowling for all interested 
286     members at Bingemans! Transportation will be provided. If you are interested in 
287     attending, please RSVP using <a href="http://goo.gl/FsZIfK">this online 
288     form</a> by Oct. 18.</p>
289     
290     <p>Please note the event date change (Oct. 23 to Oct. 30). 
291     The bus will be leaving from the Davis Center at 6:00PM sharp on the 30th.
292   </p></abstract>
293 </eventitem>
294
295
296 <eventitem date="2013-09-17" time="4:30 PM" room="Comfy Lounge" title="Fall 2013 Elections">
297   <short><p>
298      Elections for Fall 2013 are being held! The Executive will be elected,
299      and the Office Manager and Librarian will be appointed by the new
300      executive.
301   </p></short>
302   <abstract>
303     <p>It's elections time again! On Tuesday, Sept 17 at 4:30PM, come to the Comfy Lounge
304     on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
305     and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
306
307     <p>Nominations are open until 4:30PM on Monday, Sept 16, and can be written
308     on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
309     members can vote and are invited to drop by. You may also send nominations to
310     the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
311     full list of candidates will be posted when nominations close.</p>
312
313     <p>Nominations are now closed. The candidates are:</p>
314     <ul>
315       <li>President:<ul>
316         <li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
317         <li>Elana Hashman (<tt>ehashman</tt>)</li>
318         <li>Sean Hunt (<tt>scshunt</tt>)</li>
319         <li>Marc Burns (<tt>m4burns</tt>)</li>
320         <li>Matt Thiffault (<tt>mthiffau</tt>)</li>
321       </ul></li>
322       <li>Vice-President:<ul>
323         <li>Dmitri Tkatch (<tt>dtkatch</tt>)</li>
324         <li>Marc Burns (<tt>m4burns</tt>)</li>
325         <li>Sean Hunt (<tt>scshunt</tt>)</li>
326         <li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
327       </ul></li>
328       <li>Treasurer:<ul>
329         <li>Bernice Herghiligiu (<tt>baherghi</tt>)</li>
330         <li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
331         <li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
332         <li>Marc Burns (<tt>m4burns</tt>)</li>
333       </ul></li>
334       <li>Secretary:<ul>
335         <li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
336         <li>Edward Lee (<tt>e45lee</tt>)</li>
337         <li>Marc Burns (<tt>m4burns</tt>)</li>
338       </ul></li>
339     </ul>
340   </abstract>
341 </eventitem>
342
343 <!-- Spring 2013 -->
344 <eventitem date="2013-07-26" time="7:00PM" room="Comfy Lounge" title="Code Party 1">
345   <short><p>
346     Come out to the Code Party happening in the Comfy Lounge on July 26 at 7:00 PM!
347     Why sleep when you could be hacking on $your_favourite_project or doing 
348     $something_classy in great company? Join us for a night of coding, snacks, 
349     and camaraderie!
350   </p></short>
351   <abstract><p>
352     Come out to the Code Party happening in the Comfy Lounge on July 26 at 7:00 PM! 
353     Why sleep when you could be hacking on $your_favourite_project or doing 
354     $something_classy in great company? Join us for a night of coding, snacks, 
355     and camaraderie! 
356   </p></abstract>
357 </eventitem>
358
359 <eventitem date="2013-07-22" time="5:00PM" room="MC 4020" 
360 title="The Future of 3D Graphics is in Software!">
361   <short><p>
362     Convergence between CPU and GPU approaches to processing sets the stage for an 
363     exciting transition to 3D rendering that takes place entirely in software. 
364     TransGaming's Nicolas Capens and Gavriel State will speak about this convergence 
365     and how it will influence the future of graphics.
366   </p></short>
367   <abstract><p>
368     For some time now, it has been clear that there is strong momentum for convergence 
369     between CPU and GPU technologies. Initially, each technology used radically different 
370     approaches to processing, but over time GPUs have evolved to support more general 
371     purpose use while CPUs have evolved to include advanced vector processing and multiple 
372     execution cores. At TransGaming, we believe that this convergence will continue to the 
373     point where typical systems have only one type of processing unit, with large numbers 
374     of cores and very wide vector execution units available for high performance parallel 
375     execution. In this kind of environment, all graphics processing will ultimately take 
376     place in software.
377   </p><p>
378     In this talk, we will explore the converging nature of CPU and GPU approaches to 
379     processing, how dynamic specialization allows CPUs to efficiently perform tasks usually 
380     done by GPUs, and why we believe that the increased flexibility of more programmable 
381     architectures will ultimately win out over fixed function hardware, even in areas such 
382     as texture sampling.
383   </p><p>
384     <strong>TransGaming Inc.</strong> works at the cutting edge of 3D graphics, building 
385     technologies that bridge the gap between platform boundaries to allow games to be played 
386     on a variety of devices and operating systems. TransGaming works with other industry 
387     leaders to update established APIs such as OpenGL, while also breaking new ground in 
388     software rendering technology, which we believe will become increasingly important as 
389     CPU and GPU technologies converge.
390   </p><p>
391     <strong>Nicolas Capens</strong> is the architect of SwiftShader, TransGaming's high 
392     performance software renderer, and is also deeply involved in the ANGLE project, which 
393     provides efficient translation from OpenGL ES to Direct3D APIs for implementing WebGL 
394     on Windows. Nicolas received his MSci.Eng. degree in computer science from Ghent 
395     University in 2007.
396   </p><p>
397     <strong>Gavriel State (Gav)</strong> is TransGaming's Founder and CTO, and has worked in 
398     graphics and portability for over 20 years on dozens of platforms and APIs. Gav wrote 
399     his first software renderer when taking CS488 at UW, where he later graduated with a 
400     B.A.Sc. in Systems Design Engineering.
401   </p></abstract>
402 </eventitem>
403
404 <eventitem date="2013-07-19" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside!">
405   <short><p>
406     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to 
407     face the newly-grown geese? Do you want to play some Frisbee while listening to some 
408     chill tunes? If so, come hang out with the CSC at the EV3 Fire Pit this Friday!
409     All are welcome for some outdoor food, games, and music.
410   </p></short>
411   <abstract><p>
412     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to 
413     face the newly-grown geese? Do you want to play some Frisbee while listening to some 
414     chill tunes? If so, come hang out with the CSC at the EV3 Fire Pit this Friday!
415     All are welcome for some outdoor food, games, and music.
416   </p></abstract>
417 </eventitem>
418
419 <eventitem date="2013-07-18" time="5:00PM" room="MC 4041" title="Path Tracing">
420   <short><p>
421     As a follow on to last term's tutorial on building a ray-tracer from scratch,
422     this talk will be presenting the basic mechanics of how a bidirectional path-tracer
423     creates a globally illuminated scene, advantages and limitations of this approach over
424     other offline global illumination techniques along with a simple example path-tracer 
425     written in C++, and opportunities for hardware acceleration on GPUs, time permitting.
426   </p></short>
427   <abstract><p>
428     As a follow on to last term's tutorial on building a ray-tracer from scratch,
429     this talk will be presenting the basic mechanics of how a bidirectional path-tracer
430     creates a globally illuminated scene, advantages and limitations of this approach over
431     other offline global illumination techniques along with a simple example path-tracer 
432     written in C++, and opportunities for hardware acceleration on GPUs, time permitting.
433   </p></abstract>
434 </eventitem>
435
436 <eventitem date="2013-07-11" time="5:00PM" room="MC 4041" title="3D Movies and Computer Science">
437   <short><p>
438     While humans started making 3D motion pictures in the 1800's, several technical and 
439     artistic challenges prevented widespread interest in the medium.  By investing heavily 
440     in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered 
441     in an era of mainstream interest in 3D film.  However, many technical and artistic 
442     problems still find their way into otherwise-modern 3D movies.  The talk explores some 
443     of these problems while introducing the fundamentals of 3D film-making from a CS 
444     perspective.
445   </p></short>
446   <abstract><p>
447     While humans started making 3D motion pictures in the 1800's, several technical and 
448     artistic challenges prevented widespread interest in the medium.  By investing heavily 
449     in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered 
450     in an era of mainstream interest in 3D film.  However, many technical and artistic 
451     problems still find their way into otherwise-modern 3D movies.  The talk explores some 
452     of these problems while introducing the fundamentals of 3D film-making from a CS 
453     perspective.
454   </p></abstract>
455 </eventitem>
456
457 <!-- <eventitem date="2013-07-05" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside">
458   <short><p>
459     Come hang out with the CSC for s'mores, burgers, Frisbees, and fire this Friday!
460     We will be hanging out at the EV3 Fire Pit starting at 7:00PM. All are welcome to
461     partake in the food, games, and music. See you there!
462   </p></short>
463   <abstract><p>
464     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to face
465     the newly-grown geese? Do you want to play some Frisbee? If so, come hang out with the CSC
466     at the EV3 Fire Pit this Friday!
467     All are welcome for some outdoor fun, food, games, and music.
468   </p>
469   <p>
470     If you have any questions or concerns, please contact exec@csclub.uwaterloo.ca.
471   </p></abstract>
472 </eventitem> -->
473
474 <eventitem date="2013-06-07" time="6:00 PM, 8:00PM" room="Comfy Lounge" title="Unix 101/ Code Party 0">
475   <short><p>
476     We are offering a Unix tutorial on Friday, June 7th, 2013! Following the tutorial a code party will take place.
477     Bring your laptops and chargers for an awesome night of coding, hacking and learning.
478     All are welcome to join in the comfy lounge!
479   </p></short>
480   <abstract>
481     <p>We are offering a Unix tutorial on Friday, June 7th, 2013 at 6:00pm! Following the tutorial a code party will take place.
482     Bring your laptops and chargers for an awesome night of coding, hacking and learning.
483     All are welcome to join in the comfy lounge!</p>
484     
485     <p>If you have any questions about Unix101/ Code Party 0 please contact exec@csclub.uwaterloo.ca. </p>
486
487     <p>Hope to see you there!</p>
488   </abstract>
489 </eventitem>
490
491 <eventitem date="2013-05-15" time="6:00 PM" room="Comfy Lounge" title="Spring 2013 Elections">
492   <short><p>
493      Elections for Spring 2013 are being held! The Executive will be elected,
494      and the Office Manager and Librarian will be appointed by the new
495      executive.
496   </p></short>
497   <abstract>
498     <p>It's elections time again! On Wednesday, May 15 at 6:00PM, come to the Comfy Lounge
499     on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
500     and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
501
502     <p>Nominations are open until 4:30PM on Tuesday, May 14, and can be written
503     on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
504     members can vote and are invited to drop by. You may also send nominations to
505     the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
506     full list of candidates will be posted when nominations close, along with
507     instructions for voting remotely.</p>
508
509     <p>Good luck to our candidates!</p>
510   </abstract>
511 </eventitem>
512
513 <!-- Winter 2013 -->
514 <eventitem date="2013-04-01" time="7:00 PM" room="Comfy Lounge" title="Code Party 1">
515         <short>
516 <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>
517         </short>
518         <abstract>
519 <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>
520         </abstract>
521 </eventitem>
522
523 <eventitem date="2013-04-01" time="6:00 PM" room="MC 3003" title="Unix 101">
524         <short>
525 <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>
526         </short>
527         <abstract>
528 <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>
529 <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>
530         </abstract>
531 </eventitem>
532
533 <eventitem date="2013-03-21" time="4:30 PM" room="MC 4020" title="Using Computers to Find Evidence in Litigation">
534     <short>
535 <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>
536     </short>
537     <abstract>
538 <p>In a lawsuit, each party is typically entitled to Discovery, in which the
539 other party is compelled to produce any "documents" in its possession that
540 may be pertinent to the case.   Documents include not only traditional
541 paper documents, but email messages, text messages, computer files, and
542 other electronically stored information, or ESI.  Suppose you were
543 compelled to produce every document in your possession pertaining to
544 software downloads or purchases?  How would you do it?   If you were a
545 large corporation, you would probably hire an army of lawyers to read all
546 your email, plus your assignments, and any other files on your UW account,
547 your laptop, your phone, and your tablet, at a cost of one dollar or more
548 per file.  As a CSC member, you know there must be a better way.  But what
549 is that better way, and how do you convince the court to let you use it?</p>
550 <p>It turns out that spam filters that employ machine learning can do this job
551 well -- better than that army of lawyers.  But lawyers aren't happy about
552 this.  This talk will outline how the technology works and how to prove
553 that it works, so as to convince scientists, lawyers, and judges.</p>
554     </abstract>
555 </eventitem>
556
557 <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">
558     <short>
559     <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>
560     </short>
561     <abstract>
562 <p>High-level languages insulate the programmer from the machine. That's a
563 wonderful thing -- except when it obscures the answers to the fundamental
564 questions of "What does the program do?" and "How much does it cost?"</p>
565 <p>The C++ and C# programmer is less insulated than most, and still we find
566 that programmers are consistently surprised at what simple code actually
567 does and how expensive it can be -- not because of any complexity of a
568 language, but because of being unaware of the complexity of the machine on
569 which the program actually runs.</p>
570 <p>This talk examines the "real meanings" and "true costs" of the code we
571 write and run especially on commodity and server systems, by delving into
572 the performance effects of bandwidth vs. latency limitations, the
573 ever-deepening memory hierarchy, the changing costs arising from the
574 hardware concurrency explosion, memory model effects all the way from the
575 compiler to the CPU to the chipset to the cache, and more -- and what you
576 can do about them.</p>
577     </abstract>
578 </eventitem>
579
580 <eventitem date="2013-01-16" time="4:00 PM" room="Comfy Lounge" title="Elections">
581     <short>
582     <p>CSC Elections have begun for the Winter 2013 term, nominations are open!</p>
583     </short>
584     <abstract>
585 <p>It's elections time again! On Wednesday January 16th at 4:00PM, come to the Comfy Lounge
586 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
587 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
588
589 <p>Nominations are open until 4:00PM on Tuesday January 15th, and can be
590 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
591 can vote and are invited to drop by. You may also send nominations to the
592 <a href="mailto:cro@csclub.uwaterloo.ca">
593    Chief Returning Officer</a>. A full list of candidates will be posted
594    when nominations close.</p>
595
596     <p>Good luck to our candidates!</p>
597     </abstract>
598 </eventitem>
599
600 <!-- Fall 2012 -->
601
602 <eventitem date="2012-11-23" time="19:00" room="MC 3001" title="Code Party 3">
603         <short>
604                 <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>
605         </short>
606         <abstract>
607                 <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>
608         </abstract>
609 </eventitem>
610
611 <eventitem date="2012-11-21" time="4:30 PM" room="MC 5136B" title="SASMS">
612    <short>
613       <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>
614    </short>
615    <abstract>
616       <p>The Pure Mathematics, Applied Mathematics, Combinatorics &amp; Optimization Club is hosting the Fall 2012 Short Attention Span Math Seminars (SASMS).</p>
617       <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>
618    </abstract>
619 </eventitem>
620
621 <eventitem date="2012-11-19" time="3:30 PM" room="MC 3003" title="UNIX 101">
622   <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>
623   <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>
624 <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>
625 </abstract>
626 </eventitem>
627
628 <eventitem date="2012-11-15" time="7:00 PM" room="DC 1302" title="KW Perlmongers Talk">
629    <short>
630       <p><i>by Justin Wheeler.</i>In his own words, this talk will cover the virtues
631       of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
632       TMTOWTDI, and did I mention CPAN?</p>
633    </short>
634    <abstract>
635       <p>In his own words, this talk will cover the virtues
636       of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
637       TMTOWTDI, and did I mention CPAN?</p>
638       <p>If you've never used Perl before, don't be scared away by the
639       jargon&mdash;the talk should be accessible to all CS students, and even if
640       you find it hard to follow, we will be serving pizza!      </p>
641    </abstract>
642 </eventitem>
643
644 <eventitem date="2012-10-26" time="7:00 PM" room="MC 3001" title="CSC Code
645 Party 2">
646    <short>
647       <p>We will be holding our second code party of the term. Watch for
648          further details, as we plan on working with some robots and Scala,
649          git, and Haskell.</p>
650    </short>
651    <abstract>
652       <p>We will be holding our second code party of the term. Watch for
653          further details, as we plan on working with some robots and Scala,
654          git, and Haskell.</p>
655    </abstract>
656 </eventitem>
657
658 <eventitem date="2012-10-18" time="4:00 PM" room="MC 2034" title="The
659 Cryptographic and Game-Theoretical Fundamentals behind Bitcoin">
660    <short>
661       <p><i>by Vitalik Buterin.</i> In this talk, we will cover the
662          cryptographic and game-theory principles behind the currency, including
663          how the issues of double-spending, the "51% attack," and "mining" are
664          addressed, the game-theory incentives to use Bitcoins honestly, and
665          other issues being faced today in practice, such as implementation,
666          attacks, and future scalability.</p>
667         </short>
668         <abstract>
669                 <p><i>by Vitalik Buterin.</i> Interested in learning more about Bitcoin,
670          the independent digital cryptographic cash? Then this is the talk for
671          you!</p>
672
673       <p>In his talk, Vitalik will cover the cryptographic and game-theory
674          principles behind the currency, including how the issues of
675          double-spending, the "51% attack," and "mining" are addressed, the
676          game-theory incentives to use Bitcoins honestly, and other issues being
677          faced today in practice, such as implementation, attacks, and future
678          scalability.</p>
679
680       <p>Refreshments will be provided.</p>
681         </abstract>
682 </eventitem>
683
684 <eventitem date="2012-09-28" time="7:00 PM" room="PHY 150" title="Tron Screening: Frosh-A-Tron">
685         <short>
686                 <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>
687         </short>
688         <abstract>
689                 <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>
690         </abstract>
691 </eventitem>
692
693 <eventitem date="2012-09-14" time="19:00" room="MC 3001" title="Code Party 1: FROSH-A-THON">
694         <short>
695                 <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>
696         </short>
697         <abstract>
698                 <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>
699         </abstract>
700 </eventitem>
701
702 <eventitem date="2012-09-18" time="4:00 PM" room="Comfy Lounge" title="Elections">
703     <short>
704     <p>CSC Elections have begun for the Fall 2012 term, nominations are open!</p>
705     </short>
706     <abstract>
707 <p>It's elections time again! On Tuesday September 18th at 4:00PM, come to the Comfy Lounge
708 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
709 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
710
711 <p>Nominations are open until 4:00PM on Monday September 17th, and can be
712 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
713 can vote and are invited to drop by. You may also send nominations to the
714 <a href="mailto:cro@csclub.uwaterloo.ca">
715    Chief Returning Officer</a>. A full list of candidates will be posted
716    when nominations close.</p>
717
718     <p>Good luck to our candidates!</p>
719     </abstract>
720 </eventitem>
721
722 <eventitem date="2012-09-06" time="17:00" room="Math 3 Atrium" title="SCS First-year Welcome Dinner">
723         <short>
724                 <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>
725         </short>
726         <abstract>
727                 <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>
728         </abstract>
729 </eventitem>
730
731 <!-- Spring 2012 -->
732
733 <eventitem date="2012-06-08" time="19:00:00" room="MC 3001" title="Code Party 1">
734         <short>
735                 <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>
736         </short>
737         <abstract>
738                 <p>             </p>
739                 <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>
740         </abstract>
741 </eventitem>
742
743 <eventitem date="2012-05-10" time="4:30 PM" room="Comfy Lounge" title="Elections">
744     <short>
745     <p>CSC Elections have begun for the Spring 2012 term, nominations are open!</p>
746     </short>
747     <abstract>
748 <p>It's elections time again! On Thursday May 10th at 4:30PM, come to the Comfy Lounge
749 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
750 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
751
752 <p>Nominations are open until 4:30PM on Wednesday May 9th, and can be
753 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
754 who have paid their Mathsoc fee can vote and are invited to drop by.
755 You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
756    Chief Returning Officer</a>. A full list of candidates will be posted
757    when nominations close.</p>
758
759     <p>Good luck to our candidates!</p>
760     </abstract>
761 </eventitem>
762
763 <eventitem date="2012-05-07" time="6:00 PM" room="DC 1302" title="mmap and the Mortgage Crisis">
764     <short>
765     <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>
766     </short>
767     <abstract>
768 <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>
769
770 <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>
771     </abstract>
772 </eventitem>
773
774
775 <!-- Winter 2012 -->
776
777 <eventitem date="2012-03-22" time="4:30 PM" room="MC 4021" title="Multi-processor Real-time Systems">
778   <short>
779     <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>
780   </short>
781   <abstract>
782     <p>
783       Programming systems that obey hard real-time constraints is difficult. So is programming multiple CPUs that interact to solve a single problem.
784     </p>
785     <p>
786       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.
787     </p>
788     <p>
789       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.
790     </p>
791     <p>
792       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.
793     </p>
794   </abstract>
795 </eventitem>
796
797 <eventitem date="2012-03-08" time="5:30 PM" room="MC 3003" title="UNIX 102">
798   <short>
799     <p><i>by Calum T. Dalek</i>. The Computer Science Club will be running the
800 second installment of our introductory UNIX tutorials for the term. We
801 will be covering topics intended to show off the development-friendliness of
802 the UNIX computing environment: "real" document editors, development tools,
803 bash scripting, and version control.
804     </p>
805   </short>
806   <abstract>
807     <p>New to the UNIX computing environment? If you seek an introduction, look
808 no further. We will be covering more advanced topics in the second installment
809 of our introductory tutorials, that will help you become a more effective
810 developer.
811     </p>
812     <p>We will be introducing "real" document editors, bash scripting, and
813 version control. We'll prove to you how much more efficient you can develop
814 with these tools and teach you how to do it for yourself. It will save you hours
815 of work!
816     </p>
817   </abstract>
818 </eventitem>
819
820 <eventitem date="2012-03-02" time="7:00 PM" room="MC 3001" title="OpenCL Code Party">
821   <short>
822     <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.
823     </p>
824   </short>
825   <abstract>
826     <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.
827     </p>
828   </abstract>
829 </eventitem>
830
831 <eventitem date="2012-03-07" time="5:30 PM" room="PHY 150" title="Feynman Messenger Lecture Series">
832   <short>
833     <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!
834     </p>
835   </short>
836   <abstract>
837     <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>
838     <ul>
839       <li><b>Feb. 29, 5:30-6:30 PM:</b> <i>Law of Gravitation: An Example of Physical Law</i></li>
840       <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>
841       <li><b>Mar. 14, 5:30-6:30 PM:</b> <i>Symmetry in Physical Law</i></li>
842       <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>
843       <li><b>Mar. 28, 5:30-6:30 PM:</b> <i>Seeking New Laws</i></li>
844     </ul>
845     <p>Dinner will be provided, so come on out, relax in the comfy PHY 150 theatre, and enjoy. Hope to see you there!</p>
846   </abstract>
847 </eventitem>
848
849 <eventitem date="2012-02-16" time="7:00 PM" room="MC 3001" title="OpenCL Introduction">
850   <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>
851   <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>
852 <p></p>
853 </abstract>
854 </eventitem>
855
856 <eventitem date="2012-02-09" time="5:00 PM" room="MC 3003" title="UNIX 101">
857   <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>
858   <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>
859 <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>
860 </abstract>
861 </eventitem>
862
863 <eventitem date="2012-02-07" time="6:00 PM" room="MC 4045" title="Algorithms Talk">
864   <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>
865   <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>
866
867 <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>
868 </eventitem>
869
870 <eventitem date="2012-01-27" time="6:30 PM" room="Math CnD" title="Code Party 0">
871   <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>
872   <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>
873 </eventitem>
874
875 <eventitem date="2012-01-12" time="4:30 PM" room="Comfy Lounge" title="Elections">
876     <short>
877     <p>CSC Elections have begun for the Winter 2012 term, nominations are open!</p>
878     </short>
879     <abstract>
880 <p>It's elections time again! On Thursday January 12th at 4:30PM, come to the Comfy Lounge
881 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
882 and Secretary. The sysadmin, librarian and office manager will also be chosen at this time.</p>
883
884 <p>Nominations are open until 4:30PM on Wednesday January 11th, and can be
885 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
886 who have paid their Mathsoc fee can vote and are invited to drop by.
887 You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
888    Chief Returning Officer</a>. A full list of candidates will be posted
889    when nominations close.</p>
890
891     <p>Good luck to our candidates!</p>
892     </abstract>
893 </eventitem>
894
895 <!-- Fall 2011 -->
896 <eventitem date="2011-11-18" time="7:00 PM" room="Comfy Lounge" title="CSC Open Data Code Party">
897   <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>
898   <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>
899
900     <p>As always, you're welcome to work on your own projects, but we'll be hacking on some open data related projects:
901       <ol>
902         <li>Design and build UW APIs.</li>
903         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.
904         <li>Applications using university data that is currently available.</li>
905       </ol>
906      </p>
907      <p>If you'd like to discuss your ideas for these proposed projects, check out the newsgroup, uw.csc</p></abstract>
908 </eventitem>
909
910 <eventitem date="2011-11-12" time="7:30 AM" room="Davis Centre" title="CSC goes to Design Our Tomorrow">
911
912     <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>
913
914     <abstract><p>
915 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>
916
917 <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>
918
919 <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>
920
921 <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>
922
923 <p>We hope that you will join us.
924 </p></abstract>
925
926 </eventitem>
927 <eventitem date="2011-10-24" time="4:30 PM" room="MC 3003" title="UNIX 102: Tools in the UNIX Environment">
928
929     <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.
930 </p></short>
931
932     <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>
933
934 </eventitem>
935 <eventitem date="2011-10-21" time="7 PM" room="Comfy Lounge" title="Code Party 2">
936         <short>
937                 <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>
938         </short>
939         <abstract>
940                 <p>
941                  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.
942                 </p>
943
944                 <p>
945                 There will be 3 more code parties this term.
946                 </p>
947         </abstract>
948 </eventitem>
949 <eventitem date="2011-10-13" time="6:30 PM" room="MC 4020" title="How Browsers Work">
950         <short>
951                 <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>
952         </short>
953         <abstract>
954                 <p>
955 Web browsers have evolved. From their humble beginnings as simple HTML
956 rendering engines they have grown and evolved into rich application
957 platforms. This talk will start with the fundamentals: how a browser
958 creates an on-screen representation of the resources downloaded from
959 the network. (Boring, right? But we have to start somewhere.) From
960 there we'll get into the really exciting stuff: the latest innovations
961 in Web browsers and how those innovations enable — even encourage —
962 developers to build more complex applications than ever before. You'll
963 see real-world examples of people building technologies on top of
964 these "simple rendering engines" that seemed impossible a short time
965 ago.
966
967 Bio of the speaker:
968 Ehsan Akhgari has contributed to the Mozilla project for more than 5
969 years.  He has worked on various parts of Firefox, including the user
970 interface and the rendering engine.  He originally implemented Private
971 Browsing in Firefox.  Right now he's focusing on the editor component
972 in the Firefox engine.
973                 </p>
974
975                 <p>
976                 There will be 4 more code parties this term.
977                 </p>
978         </abstract>
979 </eventitem>
980 <eventitem date="2011-09-30" time="7 PM" room="Comfy Lounge" title="Code Party 1">
981         <short>
982                 <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>
983         </short>
984         <abstract>
985                 <p>
986                 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.
987                 </p>
988
989                 <p>
990                 There will be 4 more code parties this term.
991                 </p>
992         </abstract>
993 </eventitem>
994 <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">
995         <short>
996                 <p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!</p>
997         </short>
998         <abstract>
999                 <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>
1000         </abstract>
1001 </eventitem>
1002 <eventitem date="2011-09-19" edate="2011-09-19" time="4:30 PM" etime="5:30 PM" room="Comfy Lounge" title="Elections">
1003         <short>
1004                 <p>
1005                 Club elections. See related news items for details.
1006                 </p>
1007         </short>
1008         <abstract>
1009                 Club elections. See related news items for details.
1010         </abstract>
1011 </eventitem>
1012
1013 <!-- Spring 2011 -->
1014 <eventitem date="2011-07-29" time="6 PM" room="home of askhader, see abstract" title="CTRL-D">
1015         <short>
1016                 <p>
1017                 The end of another term is here, and so we're having our End-of-Term dinner.
1018
1019                 Everybody's welcome to come to CTRL-D. We are running this like a potluck, so bringing food is suggested.
1020                 </p>
1021         </short>
1022         <abstract>
1023                 <a href="http://csclub.uwaterloo.ca/~askhader/">askhader's</a> house is at: <br/>
1024                 9 Cardill Cresent<br/>
1025                 Waterloo, ON<br/>
1026         </abstract>
1027 </eventitem>
1028 <eventitem date="2011-07-22" time="7 PM" room="Comfy Lounge" title="Code Party 3">
1029         <short>
1030                 <p>
1031                         The final Code Party of the term is here!  Come hack on some code,
1032                         solve some puzzles, and have some fun. The event starts in the evening and will run
1033                         all night.  You can show up for any portion of it.  You should bring a laptop, and
1034                         probably have something in mind to work on, though you're welcome with neither.
1035                 </p>
1036                 <p>
1037                         Snacks will be provided.  Everyone is welcome.
1038                 </p>
1039                 <p>
1040                         Please note this date is postponed from the originally scheduled date due to
1041                         conflicts with <a href="http://www.kitchenerribandbeerfest.com/">Kitchener Ribfest &amp; Craft Beer Show</a>
1042                 </p>
1043         </short>
1044 </eventitem>
1045
1046 <eventitem date="2011-07-20" time="4:30 PM" room="MC 2038" title="An Introduction to Steganography">
1047         <short>
1048                 <p>
1049                         As part of the CSC member talks series, Yomna Nasser will be presenting an introduction to steganography.
1050                         Steganography is the act of hiding information such that it can only be found by its intended recipient.
1051                         It has been practiced since ancient Greece, and is still in use today.
1052                 </p>
1053                 <p>
1054                         This talk will include an introduction to the area, history, and some basic techniques for hiding information
1055                         and detecting hidden data.  There will be an overview of some of the mathematics involved, but nothing too
1056                         rigorous.
1057                 </p>
1058         </short>
1059 </eventitem>
1060
1061 <eventitem date="2011-07-09" time="4 PM to 10PM" room="Columbia Lake Firepit"
1062         title="CSC Goes Outside">
1063         <short> <p> Do you like going outside?  Are you
1064                         vitamin-D deficient from being in the MC too long?  Do you think
1065                         marshmallows, hotdogs, and fire are a delicious combination?  </p>
1066
1067                 <p> If so, you should join us as the CSC is going outside!  </p>
1068
1069                 <p> Around 4PM, we're going to Columbia Lake for some outdoor fun.
1070                         We'll have Frisbees, kites, snacks, and some drinks.  We'll be
1071                         sticking around until dusk, when we're going to have a campfire
1072                         with marshmallows and hotdogs.  We plan to be there until 10PM, but
1073                         of course you're welcome to come for any subinterval.  </p>
1074         </short>
1075 </eventitem>
1076 <eventitem date="2011-07-04" time="1:30 PM" room="MC 5158" title="Our Troubles with Linux and Why You Should Care">
1077         <short>
1078                 <p>
1079                 A joint work between Professors Tim Brecht, Ashif Harji, and
1080                 Peter Buhr, this talk describes experiences using the Linux
1081                 kernel as a platform for conducting performance evaluations.
1082                 </p>
1083         </short>
1084         <abstract>
1085                 <p>
1086                 Linux provides researchers with a full-fledged operating system that is
1087                 widely used and open source. However, due to its complexity and rapid
1088                 development, care should be exercised when using Linux for performance
1089                 experiments, especially in systems research. The size and continual
1090                 evolution of the Linux code-base makes it difficult to understand, and
1091                 as a result, decipher and explain the reasons for performance
1092                 improvements. In addition, the rapid kernel development cycle means
1093                 that experimental results can be viewed as out of date, or meaningless,
1094                 very quickly. We demonstrate that this viewpoint is incorrect because
1095                 kernel changes can and have introduced both bugs and performance
1096                 degradations.
1097                 </p>
1098                 <p>
1099                 This talk describes some of our experiences using the Linux kernel as a
1100                 platform for conducting performance evaluations and some performance
1101                 regressions we have found. Our results show, these performance
1102                 regressions can be serious (e.g., repeating identical experiments
1103                 results in large variability in results) and long lived despite having
1104                 a large negative impact on performance (one problem appears to have
1105                 existed for more than 3 years). Based on these experiences, we argue
1106                 that it is often reasonable to use an older kernel version,
1107                 experimental results need careful analysis to explain why a change in
1108                 performance occurs, and publishing papers that validate prior research
1109                 is essential.
1110                 </p>
1111                 <p>
1112                 This is joint work with Ashif Harji and Peter Buhr.
1113                 </p>
1114                 <p>
1115                 This talk will be about 20-25 minutes long with lots of time for
1116                 questions and discussion afterwards.
1117                 </p>
1118         </abstract>
1119 </eventitem>
1120 <eventitem date="2011-06-24" time="7 PM" room="Comfy Lounge" title="Code Party 2">
1121         <short>
1122                 <p>
1123                         The second Code Party of the term takes place this Friday!  Come hack on some code,
1124                         solve some puzzles, and have some fun. The event starts in the evening and will run
1125                         all night.  You can show up for any portion of it.  You should bring a laptop, and
1126                         probably have something in mind to work on, though you're welcome with neither.
1127                 </p>
1128                 <p>
1129                         Snacks will be provided.
1130                 </p>
1131         </short>
1132 </eventitem>
1133 <eventitem date="2011-06-14" time="4:30 PM" room="MC 2054" title="Taming Software Bloat with AdaptableGIMP">
1134         <short>
1135                 Ever use software with 100s or 1000s of commands? Ever have a hard time
1136                 finding the right commands to perform your task? In this talk, we'll
1137                 present AdaptableGIMP, a new version of GIMP developed at Waterloo to
1138                 help simplify complex user interfaces.
1139         </short>
1140         <abstract>
1141                 <p>
1142                         Ever use software with 100s or 1000s of commands? Ever have a hard time
1143                         finding the right commands to perform your task? We have. And we have
1144                         some new ideas on how to deal with software bloat.
1145                 </p>
1146                 <p>
1147                         In this talk, we'll present AdaptableGIMP, a new version of GIMP
1148                         developed by the HCI Lab here at the University of Watreloo.
1149                         AdaptableGIMP introduces the notion of crowdsourced interface
1150                         customizations: Any user of the application can customize the interface
1151                         for performing a particular task, with that customization instantly
1152                         shared with all other users through a wiki at adaptablegimp.org. In the
1153                         talk, we'll demo this new version of GIMP and show how it can help
1154                         people work faster by simplifying feature-rich, complex user
1155                         interfaces.
1156                 </p>
1157         </abstract>
1158 </eventitem>
1159 <eventitem date="2011-06-09" time="4:30 PM" room="MC 2054"
1160         title="General Purpose Computing on Graphics Cards">
1161         <short>
1162                 In the first of our member talks for the term, Katie Hyatt will give a
1163                 short introduction to General Purpose Graphics Processing Unit
1164                 computing.  This expanding field has many applications. The primary
1165                 focus of this talk will be nVidia's CUDA architecture.
1166         </short>
1167         <abstract>
1168                 <p> This is the first of our member talks for the term, presented by
1169                         CSC member and Waterloo undergraduate student Katie Hyatt
1170                 </p>
1171                 <p>
1172                         GPGPU (general purpose graphics processing unit) computing is an
1173                         expanding area of interest, with applications in physics, chemistry,
1174                         applied math, finance, and other fields. nVidia has created an
1175                         architecture named CUDA to allow programmers to use graphics cards
1176                         without having to write PTX assembly or understand OpenGL. CUDA is
1177                         designed to allow for high-performance parallel computation controlled
1178                         from the CPU while granting the user fine control over the behaviour
1179                         and performance of the device.
1180                 </p>
1181
1182                 <p>
1183                         In this talk, I'll discuss the basics of nVidia's CUDA architecture
1184                         (with most emphasis on the CUDA C extensions), the GPGPU programming
1185                         environment, optimizing code written for the graphics card, algorithms
1186                         with noteworthy performance on GPU, libraries and tools available to
1187                         the GPGPU programmer, and some applications to condensed matter
1188                         physics. No physics background required!
1189                 </p>
1190         </abstract>
1191 </eventitem>
1192 <eventitem date="2011-06-03" time="7 PM" room="Comfy Lounge" title="Code Party 1">
1193         <short>
1194                 The Computer Science Club is having our first code party of the term.
1195                 The theme for this week's code party is personal projects. Come show us
1196                 what you've been working on! Of course, everybody is welcome, even if you
1197                 don't have a project.
1198         </short>
1199         <abstract>
1200                 The Computer Science Club is having our first code party of the term.
1201                 The theme for this week's code party is personal projects. Come show us
1202                 what you've been working on! Of course, everybody is welcome, even if you
1203                 don't have a project.
1204
1205                 Personal projects are a great way to flex your CS muscles, and learn interesting
1206                 and new things. Come out and have some fun!
1207
1208                 Two more are scheduled for later in the term.
1209         </abstract>
1210 </eventitem>
1211 <eventitem date="2011-05-09" time="5:31 PM" room="Comfy Lounge" title="Elections Nominees List">
1212     <short>
1213     <p>CSC Elections, final list of nominations for Spring 2011</p>
1214     </short>
1215     <abstract>
1216     <p>The nominations are:
1217     <ul>
1218     <li>President: jdonland, mimcpher, mthiffau</li>
1219     <li>Vice-President: jdonland, mimcpher</li>
1220     <li>Treasurer: akansong, kspaans</li>
1221     <li>Secretary: akansong, jdonland</li>
1222     </ul>
1223     </p>
1224     </abstract>
1225 </eventitem>
1226
1227 <eventitem date="2011-05-09" time="5:30 PM" room="Comfy Lounge" title="Elections">
1228     <short>
1229     <p>CSC Elections have begun for the Spring 2011 term, nominations are open!</p>
1230     </short>
1231     <abstract>
1232     <p>It's time to elect your CSC executive for the Spring 2011 term. The
1233        elections will be held on Monday May 9th at 5:30PM in the Comfy Lounge
1234        on the 3rd floor of the MC. Nominations can be sent to the Chief
1235        Returning Officer, <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
1236        Nominations will be open until 4:30PM on Monday May 9th. You can also stop by the office in
1237        person to write your nominations on the white board.</p>
1238
1239     <p>The executive positions open for nomination are:
1240     <ul>
1241     <li>President</li>
1242     <li>Vice-President</li>
1243     <li>Treasurer</li>
1244     <li>Secretary</li>
1245     </ul>
1246        There are also numerous positions that will be appointed once the
1247        executive are elected including systems administrator, office manager,
1248        and librarian.</p>
1249
1250     <p>Everyone is encouraged to run if they are interested, regardless of
1251        program of study, age, or experience. If you can't make the election,
1252        that's OK too! You can give the CRO a statement to read on your
1253        behalf. If you can't make it or are out of town, your votes can be
1254        sent to the CRO in advance of the elections. For the list of nominees,
1255        watch the CSC website, or ask the CRO.</p>
1256
1257     <p>Good luck to our candidates!</p>
1258     </abstract>
1259 </eventitem>
1260
1261 <!-- Winter 2011 -->
1262 <eventitem date="2011-03-17" time="04:30 PM" room="MC2034" title="Software Patents">
1263
1264     <short><p><i>by Stanley Khaing</i>. What are the requirements for obtaining a patent? Should software be patentable?</p></short>
1265
1266 <abstract>
1267         <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>
1268         <ul>
1269         <li>What are the requirements for obtaining a patent?</li>
1270         <li>Should software be patentable?</li>
1271         </ul>
1272 </abstract>
1273
1274 </eventitem>
1275
1276 <eventitem date="2011-02-17" time="07:00 PM" room="MC2017" title="A Smorgasbord of Perl Talks">
1277
1278     <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>
1279
1280 <abstract>
1281         <p>Tyler Slijboom will present:</p>
1282
1283         <ul>
1284         <li>Prototyping in Perl,</li>
1285         <li>Perl Default Variables,</li>
1286         <li>HOWTO on OO Programming, and</li>
1287         <li>HOWTO on Installing and Using Modules from CPAN</li>
1288         </ul>
1289
1290         <p>Daniel Allen will present:</p>
1291
1292         <ul>
1293         <li>Coping with Other Peoples' Code</li>
1294         </ul>
1295
1296         <p>Justin Wheeler will present:</p>
1297
1298         <ul>
1299         <li>Moose: a Modern Perl Framework</li>
1300         </ul>
1301 </abstract>
1302
1303 </eventitem>
1304
1305 <eventitem date="2011-02-09" time="04:30 PM" room="MC3003" title="UNIX 103: Version Control Systems">
1306
1307     <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.
1308 </p></short>
1309
1310     <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>
1311
1312 </eventitem>
1313
1314 <eventitem date="2011-02-04" time="07:00 PM" room="Comfy Lounge" title="Code Party">
1315
1316     <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>
1317
1318     <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>
1319
1320 </eventitem>
1321
1322 <eventitem date="2011-02-02" time="04:30 PM" room="MC3003" title="UNIX 102: Documents and Editing in the Unix environment">
1323
1324     <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.
1325 </p></short>
1326
1327     <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>
1328
1329 </eventitem>
1330
1331 <eventitem date="2011-01-26" time="04:30 PM" room="MC3003" title="UNIX 101: An Introduction to the Shell">
1332
1333     <short><p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!
1334 </p></short>
1335
1336
1337     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
1338 servers and on other Unix environments. Topics covered include: using the shell, both basic
1339 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1340 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1341 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1342 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1343 </p></abstract>
1344
1345 </eventitem>
1346
1347
1348 <!-- Fall 2010 -->
1349 <eventitem date="2010-11-17" time="04:30 PM" room="MC4061" title="Mathematics and aesthetics in maze design">
1350
1351     <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.
1352 </p></short>
1353
1354
1355     <abstract><p>For thousands of years, mazes and labyrinths have played
1356 an important role in human culture and myth.  Today, solving
1357 mazes is a popular pastime, whether with pencil on paper
1358 or by navigating through a cornfield.
1359 </p><p>The construction of compelling mazes encompasses a variety of
1360 challenges in mathematics, algorithm design, and aesthetics.
1361 The maze should be visually attractive, but it should also be
1362 an engaging puzzle.  Master designers balance these two goals
1363 with wonderful results.
1364 </p><p>In this talk, I discuss the role of the computer in the process
1365 of designing mazes.  I present some well known algorithms for
1366 maze construction, and more recent research that attempts to
1367 novel mazes with non-trivial mathematical or aesthetic properties.
1368 </p></abstract>
1369
1370 </eventitem>
1371 <eventitem date="2010-11-13" time="12:00 PM" room="Outside DC" title="CSC Invades Toronto">
1372
1373     <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.
1374             If you would like to come along, please come by the office and sign up. The cost for the trip is $2 per member.
1375
1376         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
1377             board.</p></short>
1378
1379 </eventitem>
1380
1381 <eventitem date="2010-11-05" time="07:00 PM" room="CnD Lounge (MC3002)" title="Hackathon">
1382
1383     <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.
1384 </p></short>
1385
1386
1387     <abstract><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be
1388 in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and
1389 whatever else comes to mind. If you're interested in getting involved in free/open source development,
1390 some members will be on hand to guide you through the process.
1391 </p></abstract>
1392
1393 </eventitem>
1394
1395 <eventitem date="2010-10-26" time="04:30 PM" room="MC4040" title="Analysis of randomized algorithms via the probabilistic method">
1396
1397     <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.
1398 </p></short>
1399
1400
1401     <abstract><p>The probabilistic method is an extremely powerful tool in combinatorics that can be
1402 used to prove many surprising results.  The idea is the following: to prove that an
1403 object with a certain property exists, we define a distribution of possible objects
1404 and use show that, among objects in the distribution, the property holds with
1405 non-zero probability.  The key is that by using the tools and techniques of
1406 probability theory, we can vastly simplify proofs that would otherwise require very
1407 complicated combinatorial arguments.
1408 </p><p>As a technique, the probabilistic method developed rapidly during the latter half of
1409 the 20th century due to the efforts of mathematicians like Paul Erdős and increasing
1410 interest in the role of randomness in theoretical computer science.  In essence, the
1411 probabilistic method allows us to determine how good a randomized algorithm's output
1412 is likely to be.  Possibly applications range from graph property testing to
1413 computational geometry, circuit complexity theory, game theory, and even statistical
1414 physics.
1415 </p><p>In this talk, we will give a few examples that illustrate the basic method and show
1416 how it can be used to prove the existence of objects with desirable combinatorial
1417 properties as well as produce them in expected polynomial time via randomized
1418 algorithms.  Our main goal will be to present a very slick proof from 1995 due to
1419 Spencer on the performance of a randomized greedy algorithm for a set-packing
1420 problem.  Spencer, for seemingly no reason, introduces a time variable into his
1421 greedy algorithm and treats set-packing as a Poisson process.  Then, like magic,
1422 he is able to show that his greedy algorithm is very likely to produce a good
1423 result using basic properties of expected value.
1424 </p><p>Properties of Poisson and Binomial distributions will be applied, but I'll remind
1425 everyone of the needed background for the benefit of those who might be a bit rusty.
1426 Stat 230 will be more than enough. Big O notation will be used, but not excessively.
1427 </p></abstract>
1428
1429 </eventitem>
1430
1431 <eventitem date="2010-10-19" time="04:30 PM" room="RCH 306" title="Machine learning vs human learning - will scientists become obsolete?">
1432
1433     <short><p><i>by Dr. Shai Ben-David</i>.
1434 </p></short>
1435
1436
1437     <abstract><p>
1438 </p></abstract>
1439
1440 </eventitem>
1441
1442 <eventitem date="2010-10-13" time="04:30 PM" room="MC3003" title="UNIX 102">
1443
1444     <short><p>This installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
1445 </p></short>
1446
1447
1448     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
1449 If you missed Unix101 but still know your way around you should be fine.
1450 Topics covered include: "real" editors, document typesetting with LaTeX
1451 (great for assignments!), bulk editing, spellchecking, and printing in the
1452 student environment and elsewhere.
1453 </p></abstract>
1454
1455 </eventitem>
1456 <eventitem date="2010-10-06" time="04:30 PM" room="MC3003" title="UNIX 103">
1457
1458     <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).
1459 </p></short>
1460
1461
1462     <abstract><p>Unix 103 will cover version control systems and how to use them to manage
1463 your projects. Unix 101 would be helpful, but all that is needed is basic
1464 knowledge of the Unix command line (how to enter commands).
1465 </p></abstract>
1466
1467 </eventitem>
1468
1469 <eventitem date="2010-10-12" time="04:30 PM" room="MC4061" title="How to build a brain: From single neurons to cognition">
1470
1471     <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.
1472 </p></short>
1473
1474
1475     <abstract><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing
1476 mathematical models of brain function.  It has made significant
1477 headway in understanding aspects of the neural code.  However,
1478 past work has largely focused on small numbers of neurons, and
1479 so the underlying representations are often simple. In this
1480 talk I demonstrate how the ideas underlying these simple forms of
1481 representation can underwrite a representational hierarchy that
1482 scales to support sophisticated, structure-sensitive
1483 representations.  I will present a general architecture, the semantic
1484 pointer architecture (SPA), which is built on this hierarchy
1485 and allows the manipulation, processing, and learning of structured
1486 representations in neurally realistic models.  I demonstrate the
1487 architecture on Progressive Raven's Matrices (RPM), a test of
1488 general fluid intelligence.
1489 </p></abstract>
1490
1491 </eventitem>
1492
1493 <eventitem date="2010-10-04" time="04:30 PM" room="MC4021" title="BareMetal OS">
1494
1495     <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.
1496 </p></short>
1497
1498
1499     <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,
1500 while applications can be written in Assembly or C/C++.
1501 High Performance Computing is the main target application.
1502 </p></abstract>
1503
1504 </eventitem>
1505
1506 <eventitem date="2010-09-28" time="04:30 PM" room="MC4061" title="A Brief Introduction to Video Encoding">
1507
1508     <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.
1509 </p></short>
1510
1511
1512     <abstract><p><i>By Peter Barfuss</i>. With the recent introduction of digital TV and the widespread success
1513 of video sharing websites such as youtube, it is clear that the task
1514 of lossily compressing video with good quality has become important.
1515 Similarly, the complex algorithms involved require high amounts of
1516 optimization in order to run fast, another important requirement for
1517 any video codec that aims to be widely used/adopted.
1518 </p><p>In this talk, I
1519 will go over the concepts used in video encoding (such as motion
1520 estimation/compensation, inter- and intra- frame prediction,
1521 quantization and entropy encoding), and then demonstrate these
1522 concepts and algorithms in use in the MPEG-2 and the H.264 video
1523 codecs. In addition, some clever optimization tricks using
1524 SIMD/vectorization will be covered, assuming sufficient time to cover
1525 these topics.
1526 </p></abstract>
1527
1528 </eventitem>
1529
1530 <eventitem date="2010-09-23" time="04:30 PM" room="DC1301 (The Fishbowl)" title="Calling all CS Frosh">
1531
1532     <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.
1533 </p></short>
1534
1535
1536     <abstract><p>Come meet and greet your professors, advisors, and the heads of the school.
1537 Talk to the CSC executive and other upper year students about CS at Waterloo.
1538 Free food and beverages will also be available, so there is really no excuse
1539 to miss this.
1540 </p></abstract>
1541
1542 </eventitem>
1543 <eventitem date="2010-09-29" time="04:30 PM" room="MC3003" title="Unix 101">
1544
1545     <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.
1546 </p></short>
1547
1548
1549     <abstract><p>Need to use the Unix environment for a course, want to overcome your fears of
1550 the command line, or just curious? Attend the first installment in the CSC's
1551 popular series of Unix tutorails to learn the basics of the shell and how to
1552 navigate the unix environment. By the end of the hands on workshop you will
1553 be able to work efficiently from the command line and power-use circles around
1554 your friends.
1555 </p></abstract>
1556
1557 </eventitem>
1558
1559 <eventitem date="2010-09-22" time="06:00 PM" room="MC4045" title="Cooking for Geeks">
1560
1561     <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.
1562 </p></short>
1563
1564
1565     <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.
1566 Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike.
1567 We're happy to have Jeff joining us for a hands on demonstration.
1568 </p><p>But you don't have to take our word for it... here's what Jeff has to say:
1569 </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
1570 about my just-released book. I'll talk about the food science behind what makes things yummy, giving you a quick
1571 primer on how to go into the kitchen and have a fun time turning out a good meal.
1572 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.
1573 </p><p>If you have a copy of the book, bring it! I’ll happily sign it.
1574 </p></abstract>
1575
1576 </eventitem>
1577 <eventitem date="2010-09-21" time="04:30 PM" room="MC4061" title="In the Beginning">
1578
1579     <short><p><b>by Dr. Prabhakar Ragde, Cheriton School of Computer Science</b>. I'll be workshopping some lecture ideas involving representations of
1580     numbers, specification of computation in  functional terms, reasoning about
1581     such specifications, and comparing the strengths and weaknesses of  different approaches.
1582 </p></short>
1583
1584
1585     <abstract><p>I'll be workshopping some lecture ideas involving representations
1586     of numbers, specification of computation in
1587     functional terms, reasoning about such specifications, and comparing the
1588     strengths and weaknesses of
1589     different approaches. No prior background is needed; the talk should be accessible
1590     to anyone attending
1591     the University of Waterloo and, I hope, interesting to both novices and experts.
1592 </p></abstract>
1593
1594 </eventitem>
1595 <eventitem date="2010-09-14" time="04:30 PM" room="Comfy Lounge" title="Elections">
1596   <short><p>Fall term executive elections and general meeting.</p></short>
1597 </eventitem>
1598
1599 <!-- Spring 2010 -->
1600
1601 <eventitem date="2010-07-20" time="04:30 PM" room="MC2066" title="The Incompressibility Method">
1602 <short>
1603 In this talk, we shall explore the incompressibility method---an interesting and
1604 extremely powerful framework for determining the average-case runtime of
1605 algorithms.  Within the right background knowledge, the heapsort question can be
1606 answered with an elegant 3-line proof.
1607 </short>
1608 <abstract>
1609 <p>Heapsort. It runs in $\Theta(n \log n)$ time in the worst case, and in $O(n)$
1610     time in the best case.  Do you think that heapsort runs faster than $O(n
1611     \log n)$ time on average?  Could it be possible that on most inputs,
1612     heapsort runs in $O(n)$ time, running more slowly only on a small fraction
1613     of inputs?</p>
1614 <p>Most students would say no. It "feels" intuitively obvious that heapsort
1615     should take the full $n \log n$ steps on most inputs.  However, proving this
1616     rigourously with probabilistic arguments turns out to be very difficult.
1617     Average case analysis of algorithms is one of those icky subjects that most
1618     students don't want to touch with a ten foot pole; why should it be so
1619     difficult if it is so intuitively obvious?</p>
1620 <p>In this talk, we shall explore the incompressibility method---an interesting
1621     and extremely powerful framework for determining the average-case runtime of
1622     algorithms.  Within the right background knowledge, the heapsort question
1623     can be answered with an elegant 3-line proof.</p>
1624 <p>The crucial fact is that an overwhelmingly large fraction of randomly
1625     generated objects are incompressible. We can show that the inputs to
1626     heapsort that run quickly correspond to inputs that can be compressed,
1627     thereby proving that heapsort can't run quickly on average.  Of course,
1628     "compressible" is something that must be rigourously defined, and for this
1629     we turn to the fascinating theory of Kolmogorov complexity.</p>
1630 <p>In this talk, we'll briefly discuss the proof of the incompressibility
1631     theorem and then see a number of applications.  We won't dwell too much on
1632     gruesome mathemtical details.  No specific background is required, but
1633     knowledge of some of the topics in CS240 will be helpful in understanding
1634     some of the applications.</p>
1635 </abstract>
1636 </eventitem>
1637
1638 <eventitem date="2010-07-13" time="04:30 PM" room="MC2066" title="Halftoning and Digital Art">
1639     <short><p>Edgar Bering will be giving a talk titled: Halftoning and Digital Art</p></short>
1640     <abstract><p>Halftoning is the process of simulating a continuous tone image
1641         with small dots or regions of one colour. Halftoned images may be seen
1642         in older newspapers with a speckled appearance, and to this day colour
1643         halftoning is used in printers to reproduce images. In this talk I will
1644         present various algorithmic approaches to halftoning, with an eye not
1645         toward exact image reproduction but non-photorealistic rendering and
1646         art. Included in the talk will be an introduction to digital paper
1647         cutting and a tutorial on how to use the CSC's paper cutter to render
1648         creations.
1649 </p></abstract>
1650 </eventitem>
1651
1652
1653 <eventitem date="2010-07-09" time="07:00 PM" room="MC Comfy" title="Code Party">
1654     <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
1655             until we get bored (likely in the early in morning). Come out for
1656             fun hacking times.
1657     </p></short>
1658     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
1659             until we get bored (likely in the early in morning). Come out for
1660             fun hacking times.
1661     </p></abstract>
1662 </eventitem>
1663
1664 <eventitem date="2010-07-06" time="04:30 PM" room="MC2054" title="Dataflow Analysis">
1665   <short><p>Nomair Naeem, a P.H.D. Student at Waterloo, will be giving a talk about Dataflow Analysis</p></short>
1666   <abstract><p>
1667     After going through an introduction to Lattice Theory and a formal treatment to
1668     Dataflow Analysis Frameworks, we will take an in-depth view of the
1669     Interprocedural Finite Distributive Subset (IFDS) Algorithm which implements a
1670     fully context-sensitive, inter-procedural static dataflow analysis. Then, using
1671     a Variable Type Analysis as an example, I will outline recent extensions that we
1672     have made to open up the analysis to a larger variety of static analysis
1673     problems and making it more efficient.
1674     </p><p>
1675     The talk is self-contained and no prior knowledge of program analysis is
1676     necessary.
1677   </p></abstract>
1678 </eventitem>
1679
1680 <eventitem date="2010-06-22" time="04:30 PM" room="MC2066" title="Compiling To Combinators">
1681   <short><p>Professor Ragde will be giving the first of our Professor talks for the Spring 2010 term.</p></short>
1682   <abstract><p>
1683     Number theory was thought to be mathematically appealing but practically
1684     useless until the RSA encryption algorithm demonstrated its considerable
1685     utility. I'll outline how combinatory logic (dating back to 1920) has a
1686     similarly unexpected application to efficient and effective compilation,
1687     which directly catalyzed the development of lazy functional programming
1688     languages such as Haskell. The talk is self-contained; no prior knowledge
1689     of functional programming is necessary.
1690   </p></abstract>
1691 </eventitem>
1692
1693 <eventitem date="2010-05-25" time="05:00 PM" room="MC2066" title="Gerald Sussman">
1694   <short><p>Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas</p></short>
1695   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
1696 </eventitem>
1697
1698 <eventitem date="2010-05-26" time="03:30 PM" room="MC5136" title="Gerald Sussman">
1699   <short><p>Public Reception</p></short>
1700   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
1701 </eventitem>
1702
1703 <eventitem date="2010-05-26" time="05:000PM" room="MC5158" title="Gerald Sussman">
1704   <short><p>The Art of the Propagator</p></short>
1705   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
1706 </eventitem>
1707
1708 <eventitem date="2010-05-11" time="05:30 PM" room="Comfy Lounge" title="Elections">
1709   <short><p>Spring term executive elections and general meeting.</p></short>
1710 </eventitem>
1711
1712 <!-- Winter 2010 -->
1713 <eventitem date="2010-04-06" time="04:30 PM" room="DC1304" title="Brush-Based Constructive Solid Geometry">
1714
1715     <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.
1716 </p></short>
1717
1718
1719     <abstract><p>For some would-be graphics programmers, the biggest barrier-to-entry is getting data to render. This is why there exist so
1720 many terrain renderers: by virtue of the fact that rendering height-fields tends to give pretty pictures from next to no
1721 "created" information. However, it becomes more difficult when programmers want to do indoor rendering (in the style of the
1722 Quake and Unreal games). Ripping map information from the Quake games is possible (and fairly simple), but their tool-chain
1723 is fairly clumsy from the point of view of adding a conversion utility.
1724 </p><p>My talk is about Constructive Solid Geometry from a Brush-based perspective (nearly identical to Unreal's and still very similar
1725 to Quake's). The basic idea is that there are brushes (convex volumes in 3-space) and they can either be additive (solid brushes)
1726 or subtractive (hollow, or air brushes). The entire world starts off as an infinite solid lump and you can start removing sections
1727 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
1728 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.
1729 </p></abstract>
1730
1731 </eventitem>
1732 <eventitem date="2010-04-07" time="1:00 PM" room="MC2037" title="Windows Azure Lab">
1733
1734     <short><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.   Attend this Hands-on-lab session sponsored by Microsoft.
1735 </p></short>
1736
1737
1738     <abstract><p>We are in the midst of an industry shift as developers and businesses embrace the Cloud.
1739 Technical innovations in the cloud are dramatically changing the economics of computing
1740 and reducing barriers that keep businesses from meeting the increasing demands of
1741 today's customers.  The cloud promises choice and enables scenarios that previously
1742 were not economically practical.
1743 </p><p>Microsoft's Windows Azure is an internet-scale cloud computing services platform hosted
1744 in Microsoft data centers.  The Windows Azure platform, allows developers to build and
1745 deploy production ready cloud services and applications. With the Windows Azure platform,
1746 developers can take advantage of greater choice and flexibility in how they develop and
1747 deploy applications, while using familiar tools and programming languages.
1748 </p><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.
1749 Attend the Hands-on-lab session sponsored by Microsoft.
1750 </p></abstract>
1751
1752 </eventitem>
1753 <eventitem date="2010-04-01" time="6:30 PM" room="CSC Office" title="CTRL-D">
1754
1755     <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.
1756 </p></short>
1757
1758
1759     <abstract><p>Once again the CSC will be holding its traditional end of term dinner. It will
1760 be at the Vice President's house. If you don't know how to get there meet
1761 at the club office at 6:30 PM, a group will be leaving from the MC then. The
1762 dinner will be potluck style so bring a dish for 4-6 people, or some plates
1763 or pop or something.
1764 </p></abstract>
1765
1766 </eventitem>
1767 <eventitem date="2010-03-30" time="4:30 PM" room="DC1304" title="NUI: The future of robotics and automated systems">
1768
1769     <short><p>Member Sam Pasupalak will present some of his ongoing work in Natural User Interfaces and Robotics in this sixth installment of CS10.
1770 </p></short>
1771
1772
1773     <abstract><p>Bill Gates in his article “A Robot in every home” in the Scientific American describes how the current
1774 robotics industry resembles the 1970’s of the Personal Computer Industry. In fact it is not just
1775 Microsoft which has already taken a step forward by starting the Microsoft Robotics studio, but robotics
1776 researchers around the world believe that robotics and automation systems are going to be ubiquitous in
1777 the next 10-20 years (similar to Mark Weiser’s analogy of Personal Computers 20 years ago). Natural User
1778 Interfaces (NUIs) are going to revolutionize the way we interact with computers, cellular phones, household
1779 appliances, automated systems in our daily lives. Just like the GUI made personal computing a reality,
1780 I believe natural user interfaces will do the same for robotics.
1781 </p><p>During the presentation I will be presenting my ongoing software project on natural user interfaces as well
1782 as sharing my goals for the future, one of which is to provide an NUI SDK and the other to provide a common
1783 Robotics OS for every hardware vendor that will enable people to make applications without worrying about
1784 underlying functionality. If time permits I would like to present a demo of my software prototype.
1785 </p></abstract>
1786
1787 </eventitem>
1788 <eventitem date="2010-03-26" time="7:00 PM" room="MC7001" title="A Final Party of Code">
1789
1790     <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.
1791 </p></short>
1792
1793
1794     <abstract><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we
1795 get bored (likely in the early in morning). Come out for fun hacking
1796 times, spreading Intertube memes (optional), hacking on open source projects,
1797 doing some computational math, and other
1798 general classiness. There will be free energy drinks for everyone's
1799 enjoyment. This is the last of the term so don't miss out.
1800 </p></abstract>
1801
1802 </eventitem>
1803 <eventitem date="2010-03-23" time="4:30 PM" room="MC5158" title="Memory-Corruption Security Holes: How to exploit, patch and prevent them.">
1804
1805     <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.
1806 </p></short>
1807
1808
1809     <abstract><p>Despite it being 2010, code is still being exploited due to
1810 stack overflows, a 40+ year old class of security vulnerabilities. In
1811 this talk, I will go over several common methods of program
1812 exploitation, both on the stack and on the heap, as well as going over
1813 some of the current mitigation techniques (i.e. stack canaries, ASLR,
1814 etc.) for these holes, and similarly, how some of these can be
1815 bypassed as well.
1816 </p></abstract>
1817
1818 </eventitem>
1819 <eventitem date="2010-03-19" time="7:00 PM" room="Comfy Lounge" title="Another Party of Code">
1820
1821     <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.
1822 </p></short>
1823
1824
1825     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we
1826 get bored (likely in the early in morning). Come out for fun hacking
1827 times, spreading Intertube memes (optional), hacking on the OpenMoko,
1828 creating music mixes, and other
1829 general classiness. There will be free energy drinks for everyone's
1830 enjoyment.
1831 </p></abstract>
1832
1833 </eventitem>
1834 <eventitem date="2010-03-16" time="4:30 PM" room="MC5158" title="Approximation Hardness and the Unique Games Conjecture">
1835
1836     <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.
1837 </p></short>
1838
1839
1840     <abstract><p>The theory of NP-completeness suggests that some problems in CS are inherently hard—that is,
1841 there is likely no possible algorithm that can efficiently solve them.  Unfortunately, many of
1842 these problems are ones that people in the real world genuinely want to solve!  How depressing!
1843 What can one do when faced with a real-life industrial optimization problem whose solution may
1844 save millions of dollars but is probably impossible to determine without trillions of
1845 years of computation time?
1846 </p><p>One strategy is to be content with an approximate (but provably "almost ideal") solution, and from
1847 here arises the theory of approximation algorithms.  However, this theory also has a depressing side,
1848 as many well-known optimization problems have been shown to be provably hard to approximate well.
1849 </p><p>This talk shall focus on the depressing.  We will prove that various optimization problems (such as
1850 traveling salesman and max directed disjoint paths) are impossible to approximate well unless P=NP.
1851 These proofs are easy to understand and are REALLY COOL thanks to their use of very slick reductions.
1852 </p><p>We shall explore many NP-hard optimization problems and state the performance of the best known
1853 approximation algorithms and best known hardness results.  Tons of open problems will be mentioned,
1854 including the unique games conjecture, which, if proven true, implies the optimality of many of the
1855 best known approximation algorithms for NP-complete problems like MAX-CUT and INDEPENDENT SET.
1856 </p><p>I promise fun times and no gruesome math.  Basic knowledge of graph theory and computational
1857 complexity might help but is not required.
1858 </p></abstract>
1859
1860 </eventitem>
1861 <eventitem date="2010-03-12" time="7:00 PM" room="Comfy Lounge" title="A Party of Code">
1862
1863     <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
1864 </p></short>
1865
1866
1867     <abstract><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
1868 </p><p>Come join us for a night of coding. Get in touch with more experianced coders,
1869 advertize for/bug squash on your favourite open source project, write that personal
1870 project you were planning to do for a while but haven't found the time. Don't
1871 have any ideas but want to sit and hack? We can find something for you to do.
1872 </p></abstract>
1873
1874 </eventitem>
1875
1876 <eventitem date="2010-03-09" time="4:30 PM" room="DC1304" title="Software Transactional Memory and Using STM in Haskell">
1877
1878     <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.
1879 </p></short>
1880
1881
1882     <abstract><p>Concurrency is hard. Well maybe not hard, but it sure is annoying to get right. Even the
1883 simplest of synchronization tasks are hard to implement correctly when using synchronization
1884 primitives such as locks and semaphores.
1885 </p><p>In this talk we explore what Software Transactional Memory (STM) is, what problems STM solves,
1886 and how to use STM in Haskell. We explore a number of examples that show how easy STM is to use
1887 and how expressive Haskell can be. The goal of this talk is to convince attendees that STM is
1888 not only a viable synchronization solution, but superior to how synchronization is typically
1889 done today.
1890 </p></abstract>
1891
1892 </eventitem>
1893 <eventitem date="2010-03-06" time="5:00 PM" room="Waterloo Bowling Lanes" title="Bowling">
1894     <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
1895     some or all of the above</p></short>
1896 </eventitem>
1897
1898 <eventitem date="2010-03-02" time="4:30 PM" room="DC1304" title="QIP=PSPACE">
1899
1900     <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.
1901 </p></short>
1902
1903
1904     <abstract><p>The interactive proof system model of computation is a cornerstone of
1905 complexity theory, and its quantum computational variant has been
1906 studied in quantum complexity theory for the past decade.  In this
1907 talk I will discuss an exact characterization of the power of quantum
1908 interactive proof systems that I recently proved in collaboration with
1909 Rahul Jain, Zhengfeng Ji, and Sarvagya Upadhyay.  The characterization
1910 states that the collection of computational problems having quantum
1911 interactive proof systems consists precisely of those problems
1912 solvable with an ordinary classical computer using a polynomial amount
1913 of memory (or QIP = PSPACE in complexity-theoretic terminology).  This
1914 characterization implies the striking fact that quantum computing does
1915 not provide any increase in computational power over classical
1916 computing in the context of interactive proof systems.
1917 </p><p>I will not assume that the audience for this talk has any familiarity
1918 with either quantum computing or complexity theory; and to be true to
1919 the spirit of the interactive proof system model, I hope to make this
1920 talk as interactive as possible -- I will be happy to explain anything
1921 related to the talk that I can that people are interested in learning
1922 about.
1923 </p></abstract>
1924
1925 </eventitem>
1926 <eventitem date="2010-02-26" time="7:00 PM" room="CnD Lounge" title="Contest Closing">
1927     <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.
1928     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>
1929 </eventitem>
1930
1931 <eventitem date="2010-02-25" time="4:30 PM" room="DC1302" title="CSCF Town Hall">
1932
1933     <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.
1934 </p></short>
1935
1936
1937     <abstract><p>Come to a town hall style meeting with the managers of CSCF to discuss how
1938 to improve the undergraduate (student.cs) computing environment. Have gripes?
1939 Suggestions? Requests? Now is the time to voice them.
1940 </p><p>CSCF management (Bill Ince, Associate Director; Dave Gawley, Infrastructure Support;
1941 Dawn Keenan, User Support; Lawrence Folland, Research Support) will be at the
1942 meeting to listen to student concerns and suggestions.  Information gathered from
1943 the meeting will be summarized and taken to the CSCF advisory committee for
1944 discussion and planning.
1945 </p></abstract>
1946
1947 </eventitem>
1948
1949 <eventitem date="2010-02-23" time="04:30 PM" room="MC5136B" title="The Best Algorithms are Randomized Algorithms">
1950
1951     <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.
1952 </p></short>
1953
1954
1955     <abstract><p>For many problems, randomized algorithms are either the fastest algorithm or the simplest algorithm;
1956 sometimes they even provide the only known algorithm. Randomized algorithms have become so prevalent
1957 that deterministic algorithms could be viewed as a curious special case. In this talk I will describe
1958 some startling examples of randomized algorithms for solving some optimization problems on graphs.
1959 </p></abstract>
1960
1961 </eventitem>
1962
1963 <eventitem date="2010-02-09" time="4:30 PM" room="DC1304" title="An Introduction to Vector Graphics Libraries with Cairo">
1964
1965     <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.
1966 </p></short>
1967
1968
1969     <abstract><p>Cairo is an open source, cross platform, vector graphics library with the ability to
1970 output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as
1971 X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes
1972 and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids
1973 of pixels, but rather by a collection of drawing operations. These operations detail how to
1974 draw lines, fill shapes, and even set text to create the desired image. This has the
1975 advantages of being infinitely scalable, smaller in file size, and simpler to express within
1976 a computer programme. This talk will be an introduction to the concepts and metaphors used
1977 by vector graphics libraries in general and Cairo in particular.
1978 </p></abstract>
1979
1980 </eventitem>
1981
1982 <eventitem date="2010-02-11" time="4:30 PM" room="MC3005" title="UNIX 101 Encore">
1983
1984     <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.
1985 </p></short>
1986
1987
1988     <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
1989 The popular tutorial returns for a second session, in case you missed the first one.
1990 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
1991 servers and on other Unix environments. Topics covered include: using the shell, both basic
1992 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1993 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1994 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1995 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1996 </p></abstract>
1997
1998 </eventitem>
1999 <eventitem date="2010-02-10" time="4:30 PM" room="MC3003" title="UNIX 101">
2000
2001     <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
2002 </p></short>
2003
2004
2005     <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
2006 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
2007 servers and on other Unix environments. Topics covered include: using the shell, both basic
2008 interaction and advanced topics like scripting and job control, the filesystem and manipulating
2009 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2010 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2011 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
2012 </p></abstract>
2013
2014 </eventitem>
2015 <eventitem date="2010-01-18" time="15:30 PM" room="MC2066" title="Wilderness Programming">
2016
2017     <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.
2018 </p></short>
2019
2020
2021     <abstract><p>Paul Lutus describes his early Apple II software development days, conducted
2022 from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul
2023 describes how he wrote a best-seller (Apple Writer) in assembly language,
2024 while dealing with power outages, lightning storms and the occasional
2025 curious bear.
2026 </p><p>Paul also describes his subsequent four-year solo around-the-world sail in a
2027 31-foot boat. And be ready with your inquiries -- Paul will answer your
2028 questions.
2029 </p><p>Paul Lutus has a wide background in science and technology. He designed spacecraft
2030 components for the NASA Space Shuttle and created a mathematical model of the solar
2031 system used during the Viking Mars lander program. Then, at the beginning of the
2032 personal computer revolution, Lutus switched career paths and took up computer
2033 science. His best-known program is "Apple Writer," an internationally successful
2034 word processing program for the early Apple computers.
2035 </p></abstract>
2036
2037 </eventitem>
2038
2039 <eventitem date="2010-01-26" time="05:00 PM" room="DC1302" title="Deep learning with multiplicative interactions">
2040
2041     <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>.
2042 </p></short>
2043
2044
2045     <abstract><p>Deep networks can be learned efficiently from unlabeled data. The layers
2046 of representation are learned one at a time using a simple learning
2047 module, called a "Restricted Boltzmann Machine" that has only one layer
2048 of latent variables. The values of the latent variables of one
2049 module form the data for training the next module.  Although deep
2050 networks have been quite successful for tasks such as object
2051 recognition, information retrieval, and modeling motion capture data,
2052 the simple learning modules do not have multiplicative interactions which
2053 are very useful for some types of data.
2054 </p><p>The talk will show how a third-order energy function can be factorized to
2055 yield a simple learning module that retains advantageous properties of a
2056 Restricted Boltzmann Machine such as very simple exact inference and a
2057 very simple learning rule based on pair-wise statistics. The new module
2058 contains multiplicative interactions that are useful for a variety of
2059 unsupervised learning tasks. Researchers at the University of Toronto
2060 have been using this type of module to extract oriented energy from image
2061 patches and dense flow fields from image sequences. The new module can
2062 also be used to allow motions of a particular style to be achieved by
2063 blending autoregressive models of motion capture data.
2064 </p></abstract>
2065
2066 </eventitem>
2067
2068
2069 <!-- Fall 2009 -->
2070 <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">
2071     <short><p>Come on out to the club's termly end of term dinner, details in the abstract</p></short>
2072     <abstract><p>The dinner will be potluck style at the Vice President's house, please RSVP (respond swiftly to the vice president)
2073     <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
2074     office at 6:30 PM, a group will be leaving to lead you there.</p></abstract>
2075 </eventitem>
2076
2077 <eventitem date="2009-11-27" time="7:00 PM" room="Comfy Lounge" edate="2009-11-28" etime="7:00 AM" title="Code Party!!11!!">
2078
2079     <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.
2080 </p></short>
2081
2082
2083     <abstract><p>Come join us for a night of coding. Get in touch with more experianced coders,
2084 advertize for/bug squash on your favourite open source project, write that personal
2085 project you were planning to do for a while but haven't found the time. Don't
2086 have any ideas but want to sit and hack? Try your hand at the Facebook puzzles,
2087 write a new app, or just chill and watch scifi.
2088 </p></abstract>
2089
2090 </eventitem>
2091
2092 <eventitem date="2009-11-05" time="4:30 PM" room="MC2065" title="In the Beginning">
2093
2094     <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.
2095 </p></short>
2096
2097
2098     <abstract><p>To most CS students an OS kernel is pretty low level. But there is
2099 something even lower, the instructions that must be executed to get the
2100 CPU ready to accept a kernel.  That is, if you look at any processor's
2101 reference manual there is a page or two describing the state of the CPU
2102 when it powered on.  This talk describes what needs to happen next,
2103 up to the point where the first kernel instruction executes.
2104 </p><p>This part of execution is extremely architecture-dependent.  Those of
2105 you who have any experience with this aspect of CS probably know the x86
2106 architecture, and think it's horrible, which it is. I am going to talk
2107 about the ARM architecture, which is inside almost all mobile phones,
2108 and which allows us to look at a simple implementation that includes
2109 all the essentials.
2110 </p></abstract>
2111
2112 </eventitem>
2113
2114 <eventitem date="2009-10-20" time="04:30 PM" room="MC3036" title="CSC Goes To Dooly's">
2115
2116     <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.
2117 </p></short>
2118
2119
2120     <abstract><p>We're going to Dooly's to play pool. What more do you want from us?
2121 Come to the Club office and we'll all bus there together. We've got
2122 discount tables for club members so be sure to be there.
2123 </p></abstract>
2124
2125 </eventitem>
2126
2127 <eventitem date="2009-10-16" time="7:00 PM" room="Comfy Lounge" title="Code Party and Contest Finale">
2128
2129     <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.
2130 </p></short>
2131
2132
2133     <abstract><p>Come on out for a night of code, contests, and energy drinks. Join the Computer
2134 Scinece Club for the finale of the Google AI Challenge and an all night code party.
2135 Finish up your entry, or start it (its not too late). Not interested in the contest?
2136 Come out anyway for a night of coding and comradarie with us.
2137 </p><p>Included in the party will be the contest finale and awards cerimony, so if you've
2138 entered be sure to stick arround to collect the spoils of victory, or see just who
2139 that person you couldn't edge off is.
2140 </p></abstract>
2141
2142 </eventitem>
2143
2144 <eventitem date="2009-10-08" time="4:30 PM" room="MC3003" title="UNIX 103">
2145
2146     <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.
2147 </p></short>
2148
2149
2150     <abstract><p>In this long-awaited third installment of the popular Unix Tutorials the
2151 friendly experts of the CSC will teach you the simple art of version control.
2152 You will learn the purpose and use of two different Version Control Systems
2153 (git and subversion). This tutorial will advise you in the discipline of
2154 managing the source code of your projects and enable you to quickly learn new
2155 Version Control Systems in the work place -- a skill that is much sought after
2156 by employers.
2157 </p></abstract>
2158
2159 </eventitem>
2160
2161 <eventitem date="2009-10-14" time="2:30 PM" room="DC1304" title="UofT Graduate School Information Session">
2162     <short><p> "Is Graduate School for You?" Get the answers to your grad school questions - and have a bite to eat, our treat</p>
2163     </short>
2164     <abstract><p> Join Prof. Greg Wilson, faculty member in the Software Engineering research group in the UofT's Department of Computer Science,
2165     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
2166     be served. <b>Come see what grad school is all about!</b>. All undergraduate students are welcome; registration is not required.</p>
2167     <p>For any questions about the program, visit <a href="http://www.cs.toronto.edu/dcs/prospective-grad.html">UofT's website</a>. This
2168     event is not run by the CS Club, and is announced here for the benefit of our members.</p></abstract>
2169 </eventitem>
2170
2171 <eventitem date="2009-10-03" time="10:00 AM" edate="2009-10-03" etime="3:30 PM" room="DC1301 FishBowl" title="Linux Install Fest">
2172
2173     <short><p>Interested in trying Linux but don't know where to start?
2174     Come to the Linux install fest to demo Linux, get help installing it
2175     on your computer, either stand alone or a dual boot, and help setting
2176     up your fresh install. Have lunch and hang around if you like, or just come in for a CD.
2177 </p></short>
2178
2179
2180     <abstract><p>Interested in trying Linux but don't know where to start?
2181 Come to the Linux install fest to demo Linux, get help installing it on
2182 your computer, either stand alone or a dual boot, and help setting
2183 up your fresh install. Have lunch and hang around if you like, or just
2184 come in for a qick install.
2185 </p></abstract>
2186
2187 </eventitem>
2188
2189 <eventitem date="2009-10-01" time="4:30 PM" room="MC3003" title="UNIX 102">
2190
2191     <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.
2192 </p></short>
2193
2194
2195     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
2196 If you missed Unix101 but still know your way around you should be fine.
2197 Topics covered include: "real" editors, document typesetting with LaTeX
2198 (great for assignments!), bulk editing, spellchecking, and printing in the
2199 student environment and elsewhere.
2200 </p><p>If you aren't interested or feel comfortable with these taskes, watch out for
2201 Unix 103 and 104 to get more depth in power programming tools on Unix.
2202 </p></abstract>
2203
2204 </eventitem>
2205
2206 <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">
2207
2208     <short><p>Come learn how to write an intelligent game-playing program.
2209       No past experience necessary.  Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online web interface</a>
2210       to watch it battle against other people's programs.   Beginners and experts welcome! Prizes provided by google,
2211       including the delivery of your resume to google recruiters.
2212 </p></short>
2213
2214
2215     <abstract><p>Come learn how to write an intelligent game-playing program.
2216         No past experience necessary.  Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online
2217         web interface</a> to watch it battle against other people's programs.
2218         Beginners and experts welcome!
2219     </p><p>The contest is sponsored by Google, so be sure to compete for a chance
2220          to get noticed by them.
2221     </p><p>Prizes for the top programs:
2222    <ul><li>$100 in Cash Prizes</li>
2223        <li> Google t-shirts</li>
2224        <li>Fame and recognition</li>
2225        <li>Your resume directly to a Google recruiter</li>
2226    </ul>
2227 </p></abstract>
2228
2229 </eventitem>
2230 <eventitem date="2009-09-24" time="4:30 PM" room="MC3003" title="UNIX 101">
2231
2232     <short><p>
2233         New to Unix? No problem, we'll teach you to power use circles around your friends!
2234     </p></short>
2235
2236
2237     <abstract><p>
2238         New to Unix? No problem, we'll teach you to power use circles around your friends!
2239     </p><p>
2240         This first tutorial is an introduction to the Unix shell environment, both on the student
2241         servers and on other Unix environments. Topics covered include: using the shell, both basic
2242         interaction and advanced topics like scripting and job control, the filesystem and manipulating
2243         it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2244         to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2245         for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
2246     </p></abstract>
2247 </eventitem>
2248
2249 <eventitem date="2009-09-15" time="5:00PM" edate="2009-09-15" etime="6:00 PM"
2250        room="Comfy Lounge" title="Elections">
2251     <short><p>
2252      Nominations are open now, either place your name on the nominees board or
2253      e-mail <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a>
2254      to nominate someone for a position.
2255      Come to the Comfy Lounge to elect your fall term executive. Contact
2256      <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a> if you have questions.
2257     </p></short>
2258 </eventitem>
2259
2260
2261 <!-- Spring 2009 -->
2262 <eventitem date="2009-07-23" time="4:30 PM" edate="2009-07-23" etime="6:00 PM"
2263            room="MC 3003" title="Unix 103">
2264     <short><p>
2265      In this long-awaited third installment of the popular Unix Tutorials the dark
2266      mages of the CSC will train you in the not-so-arcane magick of version control.
2267      You will learn the purpose and use of two different Version Control Systems
2268      (git and subversion). This tutorial will advise you in the discipline of
2269      managing the source code of your projects and enable you to quickly learn new
2270      Version Control Systems in the work place -- a skill that is much sought after
2271      by employers.
2272     </p></short>
2273 </eventitem>
2274
2275 <eventitem date="2009-07-17" time="7:00 PM" edate="2009-07-18" etime="4:00 AM"
2276            room="MC 3001" title="Code Party">
2277     <short><p>
2278      Have an assignment or project you need to work on? We
2279      will be coding from 7:00pm until 4:00am starting on Friday, July 17th
2280      in the Comfy lounge. Join us!
2281     </p></short>
2282 </eventitem>
2283
2284 <eventitem date="2009-07-07" time="3:00 PM" etime="5:00 PM" room="DC 1302"
2285            title="History of CS Curriculum at UW">
2286     <short><p>
2287      This talk provides a personal overview of the evolution of the
2288      undergraduate computer science curriculum at UW over the past forty
2289      years, concluding with an audience discussion of possible future
2290      developments.
2291     </p></short>
2292 </eventitem>
2293
2294 <eventitem date="2009-06-22" time="4:30 PM" etime="6:30 PM" room="MC 4041"
2295            title="Paper Club">
2296     <short><p> Come and drink tea and read an academic CS paper with
2297      the Paper Club.  We will be meeting from 4:30pm until 6:30pm on
2298      Monday, June 22th on the 4th floor of the MC (exact room number
2299      TBA).  See http://csclub.uwaterloo.ca/~paper
2300     </p></short>
2301 </eventitem>
2302
2303 <eventitem date="2009-06-19" time="5:30 PM" room="Dooly's" title="Dooly's Night">
2304     <short><p>
2305     The CSC will be playing pool at Dooly's. Join us for only a few dollars.
2306     </p></short>
2307 </eventitem>
2308
2309 <eventitem date="2009-06-05" time="7:00 PM" edate="2009-06-06" etime="4:00 AM"
2310            room="MC 3001" title="Code Party">
2311     <short><p>
2312      Have an assignment or project you need to work on? We
2313      will be coding from 7:00pm until 7:00am starting on Friday, June 5th
2314      in the Comfy lounge. Join us!
2315     </p></short>
2316 </eventitem>
2317
2318 <eventitem date="2009-06-02" time="4:30 PM" room="MC 2037" title="Unix 101">
2319     <short><p>
2320         Need to use the UNIX environment for a course, want to overcome your fears of
2321         the command line, or just curious? Come and learn the arcane secrets of the
2322         UNIX command line interface from CSC mages. After this tutorial you will be
2323         comfortable with the essentials of navigating, manipulating and viewing files,
2324         and processing data at the UNIX shell prompt.
2325     </p></short>
2326 </eventitem>
2327
2328 <eventitem date="2009-05-12" time="12:00 PM" room="MC 2034" title="PHP on Windows">
2329     <short><p>PHP Programming Contest Info Session</p></short>
2330     <abstract><p>
2331     Port or create a new PHP web application and you could win a prize
2332     of up to $10k. Microsoft is running a programming contest for PHP
2333     developers willing to support the Windows platform. The contest is
2334     ongoing; this will be a short introduction to it by
2335     representatives of Microsoft and an opportunity to ask questions.
2336     Pizza and pop will be provided.
2337     </p></abstract>
2338 </eventitem>
2339
2340
2341 <!-- Winter 2009 -->
2342 <eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
2343
2344     <short><p>A talk by Craig S. Kaplan.</p></short>
2345
2346
2347     <abstract><p>The combination of computer graphics, geometry, and rapid
2348 prototyping technology has created a wide range of exciting
2349 opportunities for using the computer as a medium for creative
2350 expression.  In this talk, I will describe the most popular
2351 technologies for computer-aided manufacturing, discuss
2352 applications of these devices in art and design, and survey
2353 the work of contemporary artists working in the area (with a
2354 focus on mathematical art).  The talk will be primarily
2355 non-technical, but I will mention some of the mathematical
2356 and computational techniques that come into play.
2357 </p></abstract>
2358
2359 </eventitem>
2360 <eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
2361            etime="6:00 AM" room="TBA" title="CTRL-D">
2362   <short>
2363     <p>
2364       Join the Club That Really Likes Dinner for the End Of Term
2365       party!  Inquire closer to the date for details.
2366     </p>
2367   </short>
2368   <abstract>
2369     <p>
2370       This is not an official club event and receives no funding.
2371       Bring food, drinks, deserts, etc.
2372     </p>
2373   </abstract>
2374 </eventitem>
2375
2376 <eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
2377            etime="12:00 PM" room="Comfy Lounge (MC)"
2378            title="Code Party">
2379   <short>
2380     <p>
2381       CSC Code Party!  Same as always - no sleep, lots of caffeine,
2382       and really nerdy entertainment.  Bonus:  Free Cake!
2383     </p>
2384   </short>
2385   <abstract>
2386     <p>
2387       This code party will have the usual, plus it will double as the
2388       closing of the programming contest.  Our experts will be
2389       available to help you polish off your submission.
2390     </p>
2391   </abstract>
2392 </eventitem>
2393
2394 <eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
2395            etime="12:00 PM" room="MC2061"
2396            title="Artificial Intelligence Contest">
2397     <short>
2398       <p>
2399         Come out and try your hand at writing a computer program that
2400         plays Minesweeper Flags, a two-player variant of the classic
2401         computer game, Minesweeper.  Once you're done, your program
2402         will compete head-to-head against the other entries in a
2403         fierce Minesweeper Flags tournament.  There will be a contest
2404         kick-off session on Thursday March 19 at 4:30 PM in room
2405         MC3036.  Submissions will be accepted until Saturday March 28.
2406       </p>
2407     </short>
2408     <abstract>
2409       <p>
2410         Come out and try your hand at writing a computer program that
2411         plays Minesweeper Flags, a two-player variant of the classic
2412         computer game, Minesweeper.  Once you're done, your program
2413         will compete head-to-head against the other entries in a
2414         fierce Minesweeper Flags tournament.  There will be a contest
2415         kick-off session on Thursday March 19 at 4:30 PM in room
2416         MC3036.  Submissions will be accepted until Saturday March 28.
2417       </p>
2418     </abstract>
2419 </eventitem>
2420
2421 <eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
2422            etime="6:30 PM" room="Comfy Lounge"
2423            title="SIGGRAPH Night">
2424   <short>
2425     <p>
2426       Come out and watch the SIGGRAPH (Special Interest Group on
2427       Graphics) conference video review.  A video of insane, amazing,
2428       and mind blowing computer graphics. .
2429     </p>
2430   </short>
2431   <abstract>
2432     <p>
2433       The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
2434       conference yearly in which the latest and greatest in computer
2435       graphics premier. They record video and as a result produce a
2436       very nice Video Review of the conference. Come join us watching
2437       these videos, as well as a few professors from the UW Computer
2438       Graphics Lab. There will be some kind of food and drink, and its
2439       guranteed to be dazzling.
2440     </p>
2441   </abstract>
2442 </eventitem>
2443
2444 <eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
2445            etime="9:00 PM" room="Toronto Hilton"
2446            title="Canadian Undergraduate Technology Conference">
2447   <short>
2448     <p>
2449       See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
2450     </p>
2451   </short>
2452   <abstract>
2453     <p>
2454       The Canadian Undergraduate Technology Conference is Canada's
2455       largest student-run conference. From humble roots it has emerged
2456       as a venue that offers an environment for students to grow
2457       socially, academically, and professionally. We target to exceed
2458       our past record of 600 students from 47 respected institutions
2459       nationwide. The event mingles ambitious as well as talented
2460       students with leaders from academia and industry to offer
2461       memorable experiences and valuable opportunities.
2462     </p>
2463   </abstract>
2464 </eventitem>
2465
2466 <eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
2467            title="Prabhakar Ragde">
2468     <short><p>
2469     Functional Lexing and Parsing</p></short>
2470     <abstract>
2471       <p>
2472         This talk will describe a non-traditional functional approach
2473         to the classical problems of lexing (breaking a stream of
2474         characters into "words" or tokens) and parsing (identifying
2475         tree structure in a stream of tokens based on a grammar,
2476         e.g. for a programming language that needs to be compiled or
2477         interpreted). The functional approach can clarify and organize
2478         a number of algorithms that tend to be opaque in their
2479         conventional imperative presentation. No prior background in
2480         functional programming, lexing, or parsing is assumed.
2481       </p>
2482     </abstract>
2483 </eventitem>
2484
2485 <eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
2486            title="IQC - Programming Quantum Computers">
2487     <short>
2488       <p>
2489         A brief intro to Quantum Computing and why it matters,
2490         followed by a talk on programming quantum computers.  Meet at
2491         the CSC at 4:00PM for a guided walk to the RAC.
2492       </p>
2493     </short>
2494     <abstract>
2495       <p>
2496         Raymond Laflamme is the director of the Institute for Quantum
2497         Computing at the University of Waterloo and holds the Canada
2498         Research Chair in Quantum Information.  He will give a brief
2499         introduction to quantum computing and why it matters, followed
2500         by a talk on programming quantum computers.  There will be
2501         tours of the IQC labs at the end, and pizza will be provided
2502         back at the CSC for all attendees.
2503       </p>
2504     </abstract>
2505 </eventitem>
2506
2507 <eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
2508     <short><p>
2509     Come join the CSC as we head to Dooly's.</p></short>
2510     <abstract><p>
2511     Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
2512 </eventitem>
2513
2514 <eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
2515     <short><p>
2516     Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
2517     <abstract><p>
2518     Unix 101 is an introduction to the Unix shell environment, both on the student
2519     servers and on other Unix environments. Topics covered include: using the shell, both basic
2520     interaction and advanced topics like scripting and job control, the filesystem and manipulating
2521     it, and ssh. </p><p>
2522     Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
2523     If you missed Unix101 but still know your way around you should be fine.
2524     Topics covered include: "real" editors, document typesetting with LaTeX
2525     (great for assignments!), bulk editing, spellchecking, and printing in the
2526     student environment and elsewhere. </p><p>
2527     If you aren't interested or feel comfortable with these taskes, watch out for
2528     Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
2529 </eventitem>
2530
2531
2532 <eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
2533     <short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
2534     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
2535         servers and on other Unix environments. Topics covered include: using the shell, both basic
2536         interaction and advanced topics like scripting and job control, the filesystem and manipulating
2537         it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2538         to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2539         for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
2540 </eventitem>
2541
2542 <eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
2543   <short>
2544     <p>
2545       There is a CSC Code Party starting at 7:00PM (19:00).  Come out
2546       and enjoy some good old programming and meet others interested
2547       in writing code!  Free energy drinks and snacks for all.  Plus,
2548       we have lots of things that need to be done if you're looking
2549       for a project to work on!
2550     </p>
2551   </short>
2552   <abstract>
2553     <p>
2554       Code Party.  Awesome.  Need we say more?
2555     </p>
2556   </abstract>
2557 </eventitem>
2558
2559 <eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
2560
2561     <short><p>There is a CSC Code Party Tonight starting at 7:30PM
2562     (1930) until we get bored (likely in the early in morning). Come
2563     out for fun hacking times, spreading Intertube memes (optional),
2564     hacking on the OpenMoko, creating music mixes, and other general
2565     classyness. If we manage to swing it, there will be delicious
2566     energy drinks for your consumption! Alternatively, if we don't we
2567     will have each other as well as some delicious tea and
2568     coffee. Perhaps a crumpet
2569 </p></short>
2570
2571
2572     <abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
2573         (1930) until we get bored (likely in the early in
2574         morning). Come out for fun hacking times, spreading Intertube
2575         memes (optional), hacking on the OpenMoko, creating music
2576         mixes, and other general classyness. If we manage to swing it,
2577         there will be delicious energy drinks for your consumption!
2578         Alternatively, if we don't we will have each other as well as
2579         some delicious tea and coffee. Perhaps a crumpet
2580 </p></abstract>
2581
2582 </eventitem>
2583
2584 <eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
2585   <short><p> The Free Software Movement and the GNU/Linux Operating System </p>
2586   </short>
2587   <abstract>
2588   <p>
2589   Richard Stallman will speak about the Free Software Movement, which
2590   campaigns for freedom so that computer users can cooperate to
2591   control their own computing activities. The Free Software Movement
2592   developed the GNU operating system, often erroneously referred to as
2593   Linux, specifically to establish these freedoms.</p>
2594   <p><b>About Richard Stallman:</b>
2595   Richard Stallman launched the development of the GNU operating system (see
2596   <a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
2597   software: everyone has the freedom to copy it and redistribute it,
2598   as well as to make changes either large or small. The GNU/Linux
2599   system, basically the GNU operating system with Linux added, is used
2600   on tens of millions of computers today. Stallman has received the
2601   ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
2602   Electronic Frontier Foundation's Pioneer award, and the the Takeda
2603   Award for Social/Economic Betterment, as well as several honorary
2604   doctorates.</p>
2605   </abstract>
2606 </eventitem>
2607
2608 <eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
2609   <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>
2610   </short>
2611   <abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
2612   globally-recognized expert on the software development process. His
2613   website <em>Joel on Software</em>
2614   (<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
2615   is popular with software developers around the world and has been
2616   translated into over thirty languages. As the founder
2617   of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
2618   York City, he
2619   created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
2620   popular project management system for software teams. He is the
2621   co-creator of <a href="http://stackoverflow.com/">Stack
2622   Overflow</a>, a programmer Q&amp;A site. Joel has worked at
2623   Microsoft, where he designed VBA as a member of the Excel team, and
2624   at Juno Online Services, developing an Internet client used by
2625   millions. He has
2626   written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
2627   books</a>: <em>User Interface Design for Programmers</em> (Apress,
2628   2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
2629   Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
2630   Joel Spolsky's Concise Guide to Finding the Best Technical
2631   Talent </em>(Apress, 2007). He also writes a monthly column
2632   for<strong> </strong><em><a href="http://www.inc.com/">Inc
2633   Magazine</a>. </em>Joel holds a BS from Yale in Computer
2634   Science. Before college he served in the Israeli Defense Forces as a
2635   paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
2636  </abstract>
2637 </eventitem>
2638
2639 <eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
2640   <short><p>Winter Elections</p>
2641   </short>
2642 </eventitem>
2643
2644 <!-- Fall 2008 -->
2645 <eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
2646
2647     <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.
2648 </p></short>
2649
2650
2651     <abstract><p>Organized by Queen's students, Changing the World
2652         aims to bring together the world's greatest visionaries to
2653         inspire people to innovate and better our world.  Among these
2654         speakers include Nobel Peace Prize winner, Eric Chivian.  He
2655         was a recipient for his work on stopping nuclear war.
2656       </p><p>The conference is modeled after TED (Technology,
2657         Entertainment, Design), an annual conference uniting the
2658         world's most fascinating thinkers and doers, and like TED,
2659         each speaker is given 18 minutes to give the talk of their
2660         lives.
2661       </p><p>Specifically for students in CS/Math, 50 tickets have
2662         been reserved (non-students: $500).  For those who would like
2663         to attend, please pick up your ticket in the Computer Science
2664         Club office.  The tickets are limited and they are first come
2665         first serve.
2666 </p></abstract>
2667
2668 </eventitem>
2669
2670 <eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
2671
2672     <short><p>Come join the CSC in celebrating the new releases of
2673     Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
2674     of them on your own system.
2675 </p></short>
2676
2677
2678     <abstract><p>Come join the CSC in celebrating the new releases of
2679         Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
2680         one of them on your own system.
2681       </p><p>This is an event to celebrate the releases of new
2682         versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
2683         available and everyone is invited to bring their PC or laptop
2684         to get help installing any of these Free operating
2685         systems. Knowledgeable CSC members will be available to help
2686         with any installation troubles, or to troubleshooting any
2687         existing problems that users may have.
2688       </p><p>This event will also promote gaming on Linux, as well as
2689         FLOSS (Free/Libre and Open Source Software) in general. We may
2690         also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
2691         fame).
2692 </p></abstract>
2693 </eventitem>
2694
2695 <eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
2696
2697     <short><p>This talk will survey concepts, techniques, and
2698     languages for functional programming from both historical and
2699     contemporary perspectives, with reference to Lisp, Scheme, ML,
2700     Haskell, and Erlang. No prior background is assumed.
2701 </p></short>
2702
2703
2704     <abstract><p>This talk will survey concepts, techniques, and
2705         languages for functional programming from both historical and
2706         contemporary perspectives, with reference to Lisp, Scheme, ML,
2707 Haskell, and Erlang. No prior background is assumed.
2708 </p></abstract>
2709
2710 </eventitem>
2711
2712 <eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
2713   <abstract><p>
2714     Come join us for a night of coding. Get in touch with more experianced coders,
2715     advertize for/bug squash on your favourite open source project, write that personal
2716     project you were planning to do for a while but haven't found the time. Don't
2717     have any ideas but want to sit and hack? We can find something for you to do.
2718   </p></abstract>
2719   <short><p>
2720     A fevered night of code, friends, fun, free energy drinks, and the CSC.
2721   </p></short>
2722 </eventitem>
2723
2724 <eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
2725   <short><p>
2726     Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
2727     review. A video of insane, amazing, and mind blowing computer graphics.
2728   </p></short>
2729   <abstract><p>
2730     The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
2731     in which the latest and greatest in computer graphics premier. They record video
2732     and as a result produce a very nice Video Review of the conference. Come join us
2733     watching these videos, as well as a few professors from the UW Computer Graphics
2734     Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
2735   </p></abstract>
2736 </eventitem>
2737
2738 <eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
2739   <short><p>
2740     Come out and meet other CSC members, find out about the CSC, meet the executive
2741     nominees, and join if you like what you see. Nominees should plan on attending.
2742   </p></short>
2743 </eventitem>
2744
2745 <eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
2746   <short><p>
2747     Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
2748     The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
2749     sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
2750     campaigning after the nomination period has closed.
2751   </p></short>
2752 </eventitem>
2753
2754 <eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
2755   <short><p>
2756     New to Unix? No problem, we'll teach you to power use circles around your friends!
2757   </p></short>
2758   <abstract><p>
2759     This first tutorial is an introduction to the Unix shell environment, both on the student
2760     servers and on other Unix environments. Topics covered include: using the shell, both basic
2761     interaction and advanced topics like scripting and job control, the filesystem and manipulating
2762     it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2763     to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2764     for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
2765   </p></abstract>
2766 </eventitem>
2767
2768 <eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
2769   <short><p>
2770     New to Unix? No problem, we'll teach you to power use circles around your friends!
2771   </p></short>
2772   <abstract><p>
2773     This first tutorial is an introduction to the Unix shell environment, both on the student
2774     servers and on other Unix environments. Topics covered include: using the shell, both basic
2775     interaction and advanced topics like scripting and job control, the filesystem and manipulating
2776     it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
2777     to Unix 102 to learn about documents, editing, and other related tasks, or watch out
2778     for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
2779   </p></abstract>
2780 </eventitem>
2781
2782 <eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
2783   <short><p>
2784     Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
2785   </p></short>
2786   <abstract><p>
2787     This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed
2788     Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
2789     document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
2790     in the student environment and elsewhere. If you aren't interested or feel comfortable with these
2791     taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
2792     don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
2793   </p></abstract>
2794 </eventitem>
2795
2796 <eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
2797   <short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
2798   <abstract><p>
2799       In this talk I will give an overview of the history of Relic and our
2800       development philosophy.  The Talk will then proceed to talk about work
2801       that is being pursued in the area of early game prototyping with the
2802       introduction of game sketching methodology.
2803     </p>
2804     <p>
2805       Bio:
2806
2807       Fired from his first job for playing Video Games Juancho Buchanan is
2808       currently the director of Technology for Relic Entertainment.  Juancho
2809       Buchanan Wrote his first game in 1984 but then pursued other interests
2810       which included a master's in Program Visualization, A Doctorate in
2811       Computer Graphics, a stint as a professor at the University of Alberta
2812       where he pioneered early work in Non photo realistic rendering, A stint
2813       at Electronic Arts as Director, Advanced Technology, A stint at EA as
2814       the University Liaison Dude, A stint at Carnegie Mellon University where
2815       he researched the Game Sketching idea.  His current role at Relic has
2816       him working with the soon to be released Dawn of War II.
2817   </p></abstract>
2818 </eventitem>
2819
2820
2821 <eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
2822   <short><p>
2823     The second official general meeting of the term. Items on the adgenda are CSC Merch,
2824     upcoming talks, and other possible planned events, as well as the announcement of
2825     a librarian and planning of an office cleanout and a library organization day.
2826   </p></short>
2827 </eventitem>
2828
2829 <!-- Spring 2008 -->
2830
2831 <!-- Winter 2008 -->
2832
2833 <eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
2834   <short>Tyler Lessard</short>
2835   <abstract><p>
2836 Tyler Lessard from RIM will present a brief history of BlackBerry
2837 technology and will discuss how the evolution of BlackBerry as an
2838 end-to-end hardware, software and services platform has been
2839 instrumental to its success and growth in the market.  Find out how the
2840 BlackBerry service components integrate with wireless carrier networks
2841 and get a sneak peek at where the wireless data market is going.
2842   </p></abstract>
2843 </eventitem>
2844
2845 <eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
2846   <short>Raymond Laflamme</short>
2847   <abstract><p>
2848       Information processing devices are pervasive in our society; from the 5
2849       dollar watches to multi-billions satellite network.  These devices have
2850       allowed the information revolution which is developing around us. It has
2851       transformed not only the way we communicate or entertain ourselves but
2852       also the way we do science and even the way we think. All this
2853       information is manipulated using the classical approximation to the laws
2854       of physics, but we know that there is a better approximation: the
2855       quantum mechanical laws.  Would using quantum mechanics for information
2856       processing be an impediment or could  it be an advantage?  This is the
2857       fundamental question at the heart of quantum information processing
2858       (QIP). QIP is a young field with an incredible potential impact reaching
2859       from the way we understand fundamental physics to technological
2860       applications. I will give an overview of the Institute for Quantum
2861       Computing,  comment on the effort in this field at Waterloo and in
2862       Canada and, time permitted visit some of the IQC labs.
2863   </p></abstract>
2864 </eventitem>
2865
2866 <eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
2867   <short>Yes, we know this is Valentine's Day.</short>
2868   <abstract><p>
2869       Contestants will be writing an artificial intelligence to play Risk.  The
2870       prize will be awarded to the intelligence which wins the most
2871       head-to-head matches against competing entries.  We're providing easy
2872       APIs for several languages, as well as full documentation of the game
2873       protocol so contestants can write wrappers for any additional language
2874       they wish to work in.
2875     </p>
2876     <p>
2877       We officially support entries in Scheme, Perl, Java, C, and C++.  If you
2878       would like help developing an API for some other language contact us
2879       through the systems committee mailing list (we will require that your API
2880       is made available to all entrants).
2881     </p>
2882     <p>
2883       To kick off the contest we're hosting an in-house coding session starting
2884       at 4:00PM on Thursday, February 14th in MC2061.  Members of our contest
2885       administration team will be available to help you work out the details of
2886       our APIs, answer questions, and provide the necessities of life (ie,
2887       pizza).  Submissions will open no later than 5:00PM on February 14th
2888       and will close no earlier than 12:00PM on February 17th.
2889     </p>
2890     <p>
2891       Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
2892   </p></abstract>
2893 </eventitem>
2894
2895
2896 <eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
2897   <short>Elmer Horvath</short>
2898   <abstract><p>
2899       The problem:  coordinating and communicating between multiple processors
2900       in a distributed system (possibly containing heterogeneous elements)
2901       </p><p>
2902       The open source TIPC (transparent interprocess communication) protocol
2903       has been incorporated into the Linux kernel and is available in VxWorks
2904       and, soon, other OSes.  This emerging protocol has a number of
2905       advantages in a clustered environment to simplify application
2906       development while maintaining a familiar socket programming interface.
2907       The service oriented capabilities of TIPC help in applications easily
2908       finding required services in a system.  The location transparent aspect
2909       of TIPC allows services to be located anywhere in the system as well as
2910       allowing redundant services for both load reduction and backup.
2911
2912       Learn about the emerging cluster protocol.
2913   </p></abstract>
2914 </eventitem>
2915
2916 <eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
2917   <short><p>
2918     Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
2919     The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
2920     not engage in campaigning after the nomination period has closed.
2921   </p></short>
2922 </eventitem>
2923
2924
2925 <!-- fall 2007 -->
2926
2927         <eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
2928         <short>
2929         <p>
2930         There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
2931         </p>
2932         <p>
2933         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>
2934         </p>
2935         </short>
2936         </eventitem>
2937
2938         <eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
2939          <short>Susan Abramovitch</short>
2940          <abstract>
2941         <p>
2942         This talk is run by the School of Computer Science
2943         </p>
2944         <p>
2945         How should virtual property created in games, such as weapons used in
2946 games like Mir 3 and real estate or clothing created or acquired in
2947 games like Second Life, be treated in law.  Although the videogaming
2948 industry continues to multiply in value, virtual property created in
2949 virtual worlds has not been formally recognized by any North American
2950 court or legislature.  A bridge has been taking shape from gaming's
2951 virtual economies to real world economies, for example, through
2952 unauthorized copying of designer clothes sold on Second Life for in-game
2953 cash, or real court damages awarded against deletion of player-earned
2954 swords in Mir 3.  The trading of virtual property is important to a
2955 large number of people and property rights in virtual property are
2956 currently being recognized by some foreign legal bodies.
2957 </p>
2958 <p>
2959 Susan Abramovitch will explain the legal considerations in determining
2960 how virtual property can or should be governed, and ways it can be
2961 legally similar to tangible property.  Virtual property can carry both
2962 physical and intellectual property rights.  Typically video game
2963 developers retain these rights via online agreements, but Ms.
2964 Abramovitch questions whether these rights are ultimately enforceable
2965 and will describe policy issues that may impact law makers in deciding
2966 how to treat virtual property under such agreements.
2967 </p>
2968          </abstract>
2969         </eventitem>
2970
2971         <eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
2972          <short>Brennan Taylor</short>
2973          <abstract>
2974         <p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
2975 basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI
2976 programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can
2977 be.</p>
2978          </abstract>
2979         </eventitem>
2980         <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">
2981          <short>Brennan Taylor</short>
2982          <abstract>
2983         <p>
2984         A lecture on the fundamentals of Pi-Calculus followed by an introduction
2985 to Join-Calculus in JoCaml with some great examples. Various concurrent
2986 control structures are explored, as well as the current limitations of
2987 JoCaml. The examples section will mostly be concurrent programming,
2988 however some basic distributed examples will be explored. This lecture
2989 focuses on how easy concurrent programming can be.
2990         </p>
2991          </abstract>
2992         </eventitem>
2993
2994         <eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
2995          <short>Ian Goldberg</short>
2996          <abstract>
2997 <p>
2998 Instant messaging (IM) is an increasingly popular mode of communication
2999 on the Internet.  Although it is used for personal and private
3000 conversations, it is not at all a private medium.  Not only are all of
3001 the messages unencrypted and unauthenticated, but they are all
3002 routedthrough a central server, forming a convenient interception point
3003 for an attacker.  Users would benefit from being able to have truly
3004 private conversations over IM, combining the features of encryption,
3005 authentication, deniability, and forward secrecy, while working within
3006 their existing IM infrastructure.
3007 </p>
3008 <p>
3009 In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
3010 used software tool for secure and private instant messaging.  I will
3011 outline the properties of Useful Security and Privacy Technologies that
3012 motivated OTR's design, compare it to other IM security mechanisms, and
3013 talk about its ongoing development directions.
3014 </p>
3015 <p>
3016 Ian Goldberg is an Assistant Professor of Computer Science at the
3017 University of Waterloo, where he is a founding member of the
3018 Cryptography, Security, and Privacy (CrySP) research group.  He holds a
3019 Ph.D. from the University of California, Berkeley, where he discovered
3020 serious weaknesses in a number of widely deployed security systems,
3021 including those used by cellular phones and wireless networks. He also
3022 studied systems for protecting the personal privacy of Internet users,
3023 which led to his role as Chief Scientist at Zero-Knowledge Systems (now
3024 known as Radialpoint), where he commercialized his research as the
3025 Freedom Network.
3026 </p>
3027          </abstract>
3028         </eventitem>
3029
3030
3031         <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*">
3032          <short>Andrei Barbu</short>
3033          <abstract>
3034          </abstract>
3035         </eventitem>
3036         <eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
3037          <short>Andrei Barbu</short>
3038          <abstract>
3039 Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
3040 lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
3041 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
3042 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!
3043
3044          </abstract>
3045         </eventitem>
3046
3047         <eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
3048          <short>Brennan Taylor</short>
3049          <abstract>
3050         <p>
3051         A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples.
3052         Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will
3053         mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy
3054         concurrent programming can be.
3055         </p>
3056          </abstract>
3057         </eventitem>
3058
3059         <eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
3060          <short>David Tenty</short>
3061          <abstract>
3062         <p>
3063         With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
3064         However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
3065         PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
3066         Postponed to a later date.
3067         </p>
3068          </abstract>
3069         </eventitem>
3070
3071         <eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
3072          <short>Win Prizes!</short>
3073          <abstract>
3074         <p>
3075         The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed.
3076         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>
3077         </p>
3078         <p>
3079         And Free Pizzaa for all who attend!
3080         </p>
3081          </abstract>
3082         </eventitem>
3083         <eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
3084          <short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
3085          <abstract>
3086         <p>
3087         Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
3088         Lots of fun! Possible Pizzaa!
3089         </p>
3090          </abstract>
3091         </eventitem>
3092
3093         <eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
3094          <short>Brennan Taylor</short>
3095          <abstract>
3096         <p>
3097         A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some
3098         history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
3099         </p>
3100          </abstract>
3101         </eventitem>
3102
3103         <eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
3104          <short>Holden Karau</short>
3105          <abstract>
3106         <p>
3107         An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
3108         </p>
3109         <p>
3110         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
3111         subversion project.
3112         </p>
3113          </abstract>
3114         </eventitem>
3115
3116
3117
3118 <!--spring 2007-->
3119
3120   <eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
3121     <short>Bjarne Stroustrup</short>
3122     <abstract><p>
3123       A good programming language is far more than a simple collection of
3124       features. My ideal is to provide a set of facilities that smoothly work
3125       together to support design and programming styles of a generality beyond
3126       my imagination. Here, I briefly outline rules of thumb (guidelines,
3127       principles) that are being applied in the design of C++0x. Then, I
3128       present the state of the standards process (we are aiming for C++09) and
3129       give examples of a few of the proposals such as concepts, generalized
3130       initialization, being considered in the ISO C++ standards committee.
3131       Since there are far more proposals than could be presented in an hour,
3132       I'll take questions.
3133     </p></abstract>
3134   </eventitem>
3135
3136   <eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
3137     <short>Richard Stallman</short>
3138     <abstract><p>
3139       Copyright developed in the age of the printing press, and was designed
3140       to fit with the system of centralized copying imposed by the printing
3141       press. But the copyright system does not fit well with computer
3142       networks, and only draconian punishments can enforce it.
3143     </p><p>
3144       The global corporations that profit from copyright are lobbying for
3145       draconian punishments, and to increase their copyright powers, while
3146       suppressing public access to technology. But if we seriously hope to
3147       serve the only legitimate purpose of copyright--to promote progress, for
3148       the benefit of the public--then we must make changes in the other
3149       direction.
3150     </p><p>
3151       The CSC would like to thank MEF and Mathsoc for funding this talk.
3152     </p><p>
3153       <a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
3154       <a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
3155       <a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
3156       <a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
3157     </p></abstract>
3158   </eventitem>
3159
3160   <eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
3161     <short>A talk by Michael Terry</short>
3162     <abstract><p>
3163       What is the typical monitor resolution of a GIMP user? How many monitors
3164       do they have? What size images do they work on? How many layers are in
3165       their images? The answers to these questions are generally unknown: No
3166       means currently exist for open source applications to collect usage
3167       data. In this talk, I will present ingimp, a version of GIMP that has
3168       been instrumented to automatically collect usage data from real-world
3169       users. I will discuss ingimp's design, the type of data we collect, how
3170       we make the data available on the web, and initial results that begin to
3171       answer the motivating questions.
3172       </p><p>
3173       ingimp can be found at http://www.ingimp.org.
3174       </p></abstract>
3175   </eventitem>
3176
3177   <eventitem date="2007-06-22" time="4:30 PM"
3178         room="MC 4042"
3179         title="Email encryption for the masses">
3180         <short>Ken Ho</short>
3181         <abstract><p>
3182       E-mail transactions and confirmations have become commonplace and the
3183       information therein can often be sensitive. We use email for purposes as
3184       mundane as inbound marketing, to as sensitive as account passwords and
3185       financial transactions. And nearly all our email is sent in clear text;
3186       we trust only that others will not eavesdrop or modify our messages. But
3187       why rely on the goodness or apathy of your fellow man when you can
3188       ensure your message's confidentiality with encryption so strong not even
3189       the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
3190       and GNU Privacy Guard to ensure that your messages are sent, knowing
3191       that only your intended recipient can receive it.
3192       </p><p>An optional code-signing party will be held immediately
3193       afterwards; if you already have a PGP or GPG key and wish to
3194       participate, please submit the public key to
3195       <a href="mailto:gpg-keys@csclub.uwaterloo.ca">
3196       gpg-keys@csclub.uwaterloo.ca</a>.
3197     </p><p>
3198       Laptop users are invited also to participate in key-pair sharing
3199       on-site, though it is preferable to send keys ahead of time.
3200     </p></abstract>
3201  </eventitem>
3202
3203   <eventitem date="2007-06-18" time="4:30 PM"
3204         room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
3205         <short>Peter Macdonald</short>
3206         <abstract><p>
3207       The purpose of the talk is to address how students interact with the
3208       internet, and possibilities for how they could do so more efficiently.
3209       Information on events and happenings on UW campus is currently hosted
3210       on a desperate, series of internet applications. Interactions with
3211       WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a
3212       Facebook group, campus information at large comes from
3213       <a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There
3214       has been historical pressures from various bodies, including some
3215       thinkers in feds and the administration, to centralize these issues. To
3216       create a one stop shop for students on campus.
3217     </p><p>
3218       It is not through confining data in cages that we will finally link all
3219       student activities together, instead it is by truly freeing it. When
3220       data can be anywhere, then it will be everywhere students need it. This
3221       is the underlying concept behind metadata, data that is freed from the
3222       confines of it's technical imprisonment. Metadata is the extension of
3223       people, organizations, and activities onto the internet in a way that is
3224       above the traditional understanding of how people interact with their
3225       networks. The talk will explore how Metadata can exist freely on the
3226       internet, how this affects concepts like Web 3.0, and how the university
3227       and the federation are poised to take advantage of this burgeoning new
3228       technology through adoptions of portals which will allow students to
3229       interact with a metaverse of data.
3230     </p></abstract>
3231   </eventitem>
3232
3233 <!-- Winter 2007 -->
3234
3235   <eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
3236     <short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
3237     <abstract><p>
3238       Richard Stallman has cancelled his trip to Canada.
3239     </p></abstract>
3240   </eventitem>
3241
3242   <eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
3243     <short>A talk by Simina Branzei</short>
3244     <abstract><p>
3245       Abstract coming soon!
3246     </p></abstract>
3247   </eventitem>
3248
3249   <eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
3250     Bill Gates Visit">
3251         <short>Bill Gates is coming to visit the CSClub</short>
3252    <abstract>
3253    <p>
3254    While reading Slashdot, Bill came across the recently digitized audio
3255    recording of his 1989 talk at the Computer Science Club. As Bill has always
3256    had a soft-spot for the Computer Science Club, he has decided to pay us a
3257    surprise visit.
3258    </p><p>
3259    Bill promises to give away free copies of Windows Vista Ultimate, because
3260    frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
3261    to bring your resumes kids, because Bill will be recruiting for some
3262    exciting new positions at Microsoft, including Mindless Drone, Junior Code
3263    Monkey, and Assistant Human Cannonball.
3264    </p>
3265    </abstract>
3266  </eventitem>
3267
3268   <eventitem date="2007-03-28" time="5:30 PM"
3269    room="MC 1056" title="Computational Physics Simulations">
3270    <short>A talk by David Tenty and Alex Parent</short>
3271    <abstract>
3272    <p>
3273         Coming Soon!
3274     </p>
3275     </abstract>
3276   </eventitem>
3277
3278
3279
3280   <eventitem date="2007-03-29" time="4:30 PM"
3281    room="MC 1056" title="All The Code">
3282    <short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
3283    <abstract>
3284    <p>
3285 Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find
3286 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.
3287 <a href="http://www.allthecode.com/">All The Code</a> is a
3288 next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine
3289 relevance of code.
3290 </p>
3291 <p>
3292 The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>,
3293 along with a brief discussion of some of the technology behind it.
3294     </p>
3295     </abstract>
3296   </eventitem>
3297
3298
3299   <eventitem date="2007-04-04" time="4:00 PM"
3300    room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
3301    <short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
3302    circumstances</short>
3303    <abstract>
3304    <p>
3305 I am going to take an intuitive, CS-style approach to a discussion about the
3306 use of kernels in modern data analysis.  This approach often lends us
3307 efficient ways to consider a dataset under various choices of inner product,
3308 which is roughly comparable to a measure of "similarity".  Many new tools in
3309 AI arise from kernel methods, such as the infamous Support Vector Machines for
3310 classification, and kernel-PCA for nonlinear dimensionality reduction.  I will
3311 attempt to highlight, and provide visualization for some of the math involved
3312 in these methods while keeping the material at an accessible, undergraduate
3313 level.
3314     </p>
3315     </abstract>
3316   </eventitem>
3317
3318
3319
3320   <eventitem date="2007-02-26" time="4:30 pm"
3321    room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
3322    <short>A talk by Alex Ionescu</short>
3323    <abstract>
3324    <p>
3325 The ReactOS operating system has been in development for over eight years and aims to provide users
3326 with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
3327 its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
3328 identical to Windows, both visually and internally.
3329 </p><p>
3330 More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
3331 students to learn a variety of skills useful to software testing, development and management, as well as
3332 providing a rich and clean implementation of Windows NT, with a kernel compatible to published
3333 internals book on the subject.
3334 </p><p>
3335 This talk will introduce the ReactOS project, as well as the various software engineering challenges
3336 behind it. The building platform and development philosophies and utilities will be shown, and
3337 attendees will grasp the vast amount of effort and organization that needs to go into building an
3338 operating system or any other similarly large project. The speaker will gladly answer questions related to
3339 his background, experience and interests and information on joining the project, as well as any other
3340 related information.
3341 </p><p>
3342 <strong>Speaker Bio</strong>
3343 </p><p>
3344 Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
3345 and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
3346 and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
3347 world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
3348 providing hands-on workshops and lectures on Windows NT internals and security to various companies.
3349     </p>
3350     </abstract>
3351   </eventitem>
3352
3353
3354   <eventitem date="2007-02-15" time="4:30 PM"
3355    room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
3356    <short>A talk by James deBoer</short>
3357    <abstract>
3358    <p>
3359
3360 This talk will introduce the Haskell programming language and and walk
3361 through building a recognizer for regular languages. The talk will
3362 include a quick overview of regular expressions, an introduction to
3363 Haskell and finally a line by line analysis of a regular language