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