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