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