details
[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 2017 -->
7 <eventitem date="2017-02-08" time="5:00 pm" room="TBA probably 4th floor MC"
8            title="Code Party 0">
9   <short>
10     <p>
11        Come code with us, eat some food, do some things.
12
13        Personal projects you want to work on? Homework
14        projects you need to finish? Or want some time to explore
15        some new technology and chat about it? You can join us at Code Party 0
16        and do it, with great company and great food.
17
18        Come any time after 5pm, but if you come earlier your food preferences are more likely to be accounted for, and there's more time for coding! Check back later for the precise room number.
19     </p>
20   </short>
21 </eventitem>
22
23 <eventitem date="2017-01-12" time="6:00 pm" room="MC Comfy Lounge"
24            title="Winter 2017 Elections">
25
26    <short>
27       <p>
28          The Computer Science Club will be holding elections for the
29          Winter 2017 President, Vice-President, Secretary and Treasurer.
30          Additionally, the Systems Administrator, Office Manager and
31          Librarian will be appointed.
32       </p>
33    </short>
34    <abstract>
35       <p>
36          The Computer Science Club will be holding elections for the
37          Winter 2017 President, Vice-President, Secretary and Treasurer.
38          Additionally, the Systems Administrator, Office Manager and
39          Librarian will be appointed.
40       </p>
41       <p>
42          The following positions will be elected: President, Vice-President,
43          Treasurer and Secretary. The following positions will be appointed:
44          Systems Administrator (to be ratified at the meeting),
45          Office Manager and Librarian. Additionally, we will be looking
46          for members to join the Programme Committee. The nominees for the four
47          elected positions are:
48       </p>
49       <ul>
50         <li>President</li>
51         <tt>
52           <ul>
53             <li>matedesc</li>
54             <li>wyschean</li>
55           </ul>
56         </tt>
57         <li>Vice President</li>
58         <tt>
59           <ul>
60             <li>tghume</li>
61             <li>wyschean</li>
62           </ul>
63         </tt>
64         <li>Treasurer</li>
65         <tt>
66           <ul>
67             <li>jj2baile</li>
68             <li>jxpryde</li>
69             <li>tghume</li>
70           </ul>
71         </tt>
72         <li>Secretary</li>
73         <tt>
74           <ul>
75             <li>aafata</li>
76             <li>tghume</li>
77           </ul>
78         </tt>
79       </ul>
80       <p>
81          Voting will be done in a heads-down, hands-up manner and is restricted
82          to MathSoc social members. We use approval voting; for each position,
83          you may vote for any subset of the candidates. If you wish to vote but
84          will not be attending the election, you may send an absentee ballot
85          indicating which candidate(s) you wish to vote for, for each position.
86          This ballot must be sent to cro@csclub.uwaterloo.ca from your
87          @uwaterloo.ca or @csclub.uwaterloo.ca email address. A full
88          description of the roles and the election procedure are listed in our
89          Constitution, available at
90          https://csclub.uwaterloo.ca/about/constitution.
91       </p>
92    </abstract>
93 </eventitem>
94
95 <!-- Fall 2016 -->
96
97 <eventitem date="2016-12-05" time="6:00 PM" room="MC Comfy" title="CSC/PMC EOT Party">
98     <short>
99         <p>
100           The CSC and the PMAMC&amp;OC (aka pure math club) are hosting our end
101           of term events together! We'll be taking over MC Comfy to hang out,
102           eat lots of food (from Kismet!), and play board games.
103     </p>
104   </short>
105    <abstract>
106         <p>
107           The CSC and the PMAMC&amp;OC (aka pure math club) are hosting our end
108           of term events together! We'll be taking over MC Comfy to hang out,
109           eat lots of food (from Kismet!), and play board games.
110     </p>
111     </abstract>
112 </eventitem>
113
114 <eventitem date="2016-11-30" time="6:00 PM" room="MC 4063" title="ALT+TAB Talks">
115     <short>
116         <p>
117           Various members of the CSC will be giving brief, 25 minute talks on
118           CS-related topics. An list of the talks being delivered can be found
119           if you follow the event page link in this description.  There will be
120           food provided.
121     </p>
122   </short>
123    <abstract>
124         <p>
125           The CSC is hosting ALT+TAB this Wednesday. ALT+TAB is similar to the
126           PMC's SASMS events; several members of the CSC will give brief, 25
127           minute talks on various interesting topics in CS. There will be food
128           provided at the event.  The talks being delivered are:
129             <table border="1">
130             <tr>
131                 <td><b>Member</b></td>
132                 <td><b>Talk Title</b></td>
133             </tr>
134             <tr>
135                 <td>Felix Bauckholt</td>
136                 <td>A Short Idris Tutorial</td>
137             </tr>
138             <tr>
139                 <td>Bryan Coutts</td>
140                 <td>Linear and Integer Programming</td>
141             </tr>
142             <tr>
143                 <td>Sean Harrap</td>
144                 <td>Communication Complexity</td>
145             </tr>
146             <tr>
147                 <td>Christopher Hawthorne</td>
148                 <td>Gödel's Incompleteness Theorem</td>
149             </tr>
150             <tr>
151                 <td>Charlie Wang</td>
152                 <td>Typed Racket</td>
153             </tr>
154             <tr>
155                 <td>Ifaz Kabir</td>
156                 <td>How Modern SAT Solvers Work</td>
157             </tr>
158             </table>
159     </p>
160     </abstract>
161 </eventitem>
162
163 <eventitem date="2016-11-25" time="6:00 PM" room="MC 4063" title="Edmund Noble Member Talk">
164     <short>
165         <p>
166           CSC member Edmund Noble will be giving a talk, titled "Purely
167           Functional Programming with Freely-Generated Domain Specific
168           Languages". The talk will focus on embedded DSLs that exist within
169           other languages, and how they can easily be constructed.
170     </p>
171   </short>
172    <abstract>
173         <p>
174           CSC member Edmund Noble will be giving a talk, titled "Purely
175           Functional Programming with Freely-Generated Domain Specific
176           Languages". The talk will focus on embedded DSLs that exist within
177           other languages, and how they can easily be constructed. The abstract
178           for this talk is below. <br/><br/>
179       </p>
180         <p>
181           Dependency injection is an often-used technique in object-oriented
182           programming to easily modify the behaviours of an object by providing
183           it with objects it would have otherwise generated on its own, to
184           increase modularity. Aspect-oriented programming is a related
185           technique which adds additional behaviour ("advice") to existing code,
186           aiming to address cross-cutting concerns which affect wide areas of an
187           application without sacrificing modularity.  Dependency injection
188           might not seem a common topic in functional programming, but
189           application modularity is essential to functional programming in a
190           practical setting. A natural analogue to dependency injection and
191           aspect-oriented programming in functional programming comes from a
192           surprising place, and offers superior modularity to both. The free
193           monad (F f) for a type constructor (and domain-specific language
194           instruction set) f provides a syntax tree with internal nodes as
195           domain-specific language instructions, which in combination with
196           coproduct functors, allow domain-specific languages to be composed and
197           combined easily.
198
199           <ul>
200               <li><a href="http://slides.com/edmundnoble/freely-generated-domain-specific-languages/fullscreen#">Slides</a></li>
201               <li><a href="https://github.com/edmundnoble/free-dsl">Sources</a></li>
202           </ul>
203       </p>
204     </abstract>
205 </eventitem>
206
207 <eventitem date="2016-11-21" time="6:15 PM" room="MC 4063" title="Richard Mann Prof Talk">
208     <short>
209         <p>
210           Professor Richard Mann will be giving a talk, titled "Open Source
211           Software for Sound Measurement and Analysis". He will be presenting
212           information about his new course, CS 489, Computational Sound, which
213           will be running in Winter 2017.
214     </p>
215   </short>
216    <abstract>
217         <p>
218           Professor Richard Mann will be giving a talk, titled "Open Source
219           Software for Sound Measurement and Analysis". He will be presenting
220           information about his new course, CS 489, Computational Sound, which
221           will be running in Winter 2017. The abstract for this talk is below.
222           <br/><br/>
223     </p>
224       <p>
225           The most common problem in acoustics is to measure the frequency
226           response of an (expensive!) listening room.  While specifications
227           exist for the amplifiers, speakers, etc, each system must be still
228           evaluated individually, since the frequency response depends on the
229           direct sound from the speaker(s), the listener position and the
230           reverberation of the room.  The user may spend considerable time
231           adjusting the speaker placement, the system equalization, and
232           possibly treating the room to get the best response.
233       </p>
234       <p>
235           There are several commercial and freeware applications for this task,
236           some of which are very good.  However, to learn the methods the user
237           must understand the processing involved.
238       </p>
239       <p>
240           The purpose of this talk is to present an open source solution.  Our
241           system is based on a very few lines of code, written in GNU Octave, a
242           Matlab(r) workalike that runs under Linux, Windows and Mac.
243       </p>
244       <p>
245           The program works by playing a known test signal, such a tone, or
246           some kind of noise source out of the sound card into the system. The
247           system is measured by comparing driving signal to that measured by a
248           microphone in the room.  The frequency response is computed using the
249           Discrete Fourier Transform (DFT).
250       </p>
251       <p>
252           This is joint work with Prof. John Vanderkooy, Physics, University of
253           Waterloo.
254       </p>
255     </abstract>
256 </eventitem>
257
258 <eventitem date="2016-11-16" time="8:30 PM" room="M3 1006" title="General Meeting">
259     <short>
260         <p>
261           This general meeting will be held to discuss changes to our Code of
262           Conduct.
263     </p>
264   </short>
265   <abstract>
266         <p> The Code of Conduct and the amended version can be found below: </p>
267         <ul>
268             <li><a href="https://www.csclub.uwaterloo.ca/~exec/proposed-amendment/about/code-of-conduct">Proposed CoC</a></li>
269             <li><a href="https://www.csclub.uwaterloo.ca/~exec/proposed-amendment.patch">Diff between current and proposed CoC</a></li>
270         </ul>
271   </abstract>
272 </eventitem>
273
274 <eventitem date="2016-11-16" time="6:30 pm" room="M3 1006" title="Code Party">
275    <short>
276       <p>
277        Come code with us, eat some food, do some things.
278
279        Personal projects you want to work on? Homework
280        projects you need to finish? Or want some time to explore
281        some new technology and chat about it? You can join us at Code Party
282        and do it, with great company and great food.
283       </p>
284     </short>
285 </eventitem>
286
287 <eventitem date="2016-11-09" time="6:00 pm" room="MC 3003"
288            title="UNIX 101">
289
290    <short>
291       <p>
292          The CSC is having its next event, UNIX 101, on Wednesday November 9th
293          at 6 PM in MC 3003 (the mac lab across from the CSC). UNIX 101 is a
294          tutorial where we teach the basics of using a command-line (terminal)
295          environment in UNIX. Knowing how to use the command-line and UNIX is
296          an invaluable skill in CS, and helps prepare you for future projects
297          and co-ops.
298       </p>
299     </short>
300    <abstract>
301       <p>
302          The CSC is having its next event, UNIX 101, on Wednesday November 9th
303          at 6 PM in MC 3003 (the mac lab across from the CSC). UNIX 101 is a
304          tutorial where we teach the basics of using a command-line (terminal)
305          environment in UNIX. Knowing how to use the command-line and UNIX is
306          an invaluable skill in CS, and helps prepare you for future projects
307          and co-ops.
308       </p>
309     </abstract>
310 </eventitem>
311
312 <eventitem date="2016-10-18" time="5:30 pm" room="QNC 1507"
313            title="Feminism in STEM - a 101 Panel">
314
315    <short>
316       <p>An introductory feminism in STEM panel, free food.</p>
317     </short>
318    <abstract>
319       <p>
320         The CS Club is hosting an introductory panel for applications and benefits of feminism in STEM.
321
322         Example topics will include the differences between general feminism and feminism applied to STEM.
323
324         Dr. Prabhakar Ragde from SCS, Swetha Kulandaivelan, and Filzah Nasir will be speaking on the panel. Fatema Boxwala will be moderating.
325
326         Free food will be there and we're in a fancy room. Come on out!
327       </p>
328     </abstract>
329 </eventitem>
330
331 <eventitem date="2016-10-13" time="6:00 pm" room="Columbia Lake 2 Fire Pit"
332            title="CSC and WiCS Go Outside">
333
334    <short>
335       <p>
336          The CSC and WiCS (Women in Computer Science) are co-hosting a social
337          event on Thursday, October 13th (the day after reading week). We will
338          be Going Outside to the Columbia Lake 2 Fire Pit; there will be a
339          campfire, s'mores, lots of food, frisbees, grass, etc. Bring your
340          friends!
341       </p>
342     </short>
343    <abstract>
344       <p>
345          The CSC and WiCS (Women in Computer Science) are co-hosting a social
346          event on Thursday, October 13th (the day after reading week). We will
347          be Going Outside to the Columbia Lake 2 Fire Pit (see
348          <a href='https://uwaterloo.ca/economics/sites/ca.economics/files/uploads/files/firepit_map_oct_2012.pdf'>map</a>).
349          There will be a campfire, s'mores, lots of food, frisbees, grass, etc. Bring your friends!
350       </p>
351     </abstract>
352 </eventitem>
353
354 <eventitem date="2016-10-06" time="6:00 pm" room="MC 4021"
355            title="Bringing OOP Best Practices to the World of Functional Programming">
356
357    <short>
358       <p>
359          The CSC will have its first talk of the term this Thursday, October
360          6th.  UW alumna and CSC member Elana Hashman will be giving a talk on
361          using functional programming languages (like Racket!) in industry, and
362          how some concepts from the more common object-oriented paradigm are
363          translated to the functional paradigm. The abstract for the talk is below.
364       </p>
365    </short>
366    <abstract>
367       <p>
368          I transitioned from writing software in imperative, object-oriented
369          (OO) programming languages to doing functional programming (FP)
370          full-time, and you can do it, too! In this talk, I'll make a case for
371          using FP for real-world development, cover some cases where common FP
372          language features substitute for design patterns and OOP structure,
373          and provide some examples of translating traditional OO design
374          patterns into functional code.
375       </p>
376    </abstract>
377 </eventitem>
378
379 <eventitem date="2016-09-19" time="6:30 pm" room="MC Comfy Lounge"
380            title="Fall 2016 Elections">
381
382    <short>
383       <p>
384          The Computer Science Club will be holding elections for the
385          Fall 2016 President, Vice-President, Secretary and Treasurer.
386          Additionally, the Systems Administrator, Office Manager and
387          Librarian will be appointed.
388       </p>
389    </short>
390    <abstract>
391       <p>
392          The Computer Science Club will be holding elections for the
393          Fall 2016 term on Monday, September 19th at 6:30pm
394          in the MC Comfy Lounge (MC 3001).
395       </p>
396       <p>
397          The following positions will be elected: President, Vice-President,
398          Treasurer and Secretary. The following positions will be appointed:
399          Systems Administrator (to be ratified at the meeting),
400          Office Manager and Librarian. Additionally, we will be looking
401          for members to join the Programme Committee.
402       </p>
403       <p>
404          If you would like to run or nominate someone for any of the elected positions,
405          you can put your name in a special box in the CSC office (MC 3036/3037)
406          or by sending an email to the Chief Returning Officer (Zachary)
407          at <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
408          Please note that executive positions are restricted
409          to MathSoc social members. We welcome the participation of first years.
410          A list of current nominations will be available on the whiteboard
411          in the office and at
412          <a href="https://csclub.uwaterloo.ca/elections">https://csclub.uwaterloo.ca/elections</a>.
413       </p>
414       <p>
415          Nominations will close at 6:30pm on Sunday, September 18th
416          (24 hours prior to the start of elections).
417
418          Voting will be done in a heads-down, hands-up manner and is restricted
419          to MathSoc social members. A full description of the roles and
420          the election procedure are listed in our Constitution,
421          available at
422          <a href="https://csclub.uwaterloo.ca/about/constitution">
423             https://csclub.uwaterloo.ca/about/constitution
424          </a>.
425
426          Any questions related to the election can be directed to
427          <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
428       </p>
429    </abstract>
430 </eventitem>
431
432 <!-- Spring 2016 -->
433
434 <eventitem date="2016-07-25" time="6:00 pm" room="MC Comfy Lounge"
435            title="Richard Mann Prof Talk and EOT">
436   <short>
437     <p>
438         Join us on Monday, July 25th at 6pm in the MC Comfy Lounge for an
439         exciting prof talk by Richard Mann on Open Source Computer Sound
440         Measurement. The abstract for the talk is below. We will follow
441         this up by an EOT event with dinner and board games!
442         Last event of the term, get hype.
443     </p>
444   </short>
445   <abstract>
446     <p>
447 An ideal computer audio system should faithfully reproduce signals of
448 all frequencies in the audible range (20 to 20,000 cycles per second).
449 Real systems, particularly mobile devices and laptops, may still
450 produce acceptable quality, but often have a limited response,
451 particularly at the low (bass) frequencies.
452
453 Sound/acousic energy refers to time varying pressure waves in air.
454 When recording sound, the acoustic signal will be picked up by
455 microphone, which converts it to electrical signals (voltages).  The
456 signal is then digitized (analog to digital conversion) and stored as
457 a stream of numbers in a data file.  On playback the digital signal is
458 converted to an electrical signal (digital to analog conversion) and
459 finally returned as an acoustic signal by a speaker and/or headphones.
460
461 In this talk I will present open source software (Octave/Linux) to
462 measure the end-to-end frequency response of an audio system using the
463 Discrete Fourier Transform.  I will demonstrate the software using a
464 standard USB audio interface and a consumer grade omnidirectional
465 microphone.
466
467 This is joint work with John Vanderkooy, Distinguished Professor
468 Emeritus, Department of Physics and Astronomy.
469     </p>
470    </abstract>
471 </eventitem>
472 <eventitem date="2016-07-21" time="6:00 pm" room="MC 4045"
473            title="Notorious CS452">
474   <short>
475     <p>
476         Bill Cowan is the Director of the Computer Graphics Lab, and
477         teaches the notorious CS452, lovingly known as the trains course
478         by CS students. He will be giving a talk on that very course.
479     </p>
480   </short>
481   <abstract>
482     <p>
483         CS452, aka the trains course, has for some time enjoyed notoriety
484         as a playground for over-achieving masochists. To maintain its
485         reputation it receives a periodic upgrade, which is now due. This
486         talk discusses possible directions for the upgrade in the context
487         of the philosophy that has guided its evolution over the decades
488         of its existence.
489     </p>
490    </abstract>
491 </eventitem>
492 <eventitem date="2016-07-14" time="6:30 pm" room="MC 2034"
493            title="Computer Science: Beyond Bits and Bytes">
494   <short>
495     <p>
496         Gladimir Baranoski is an Associate Professor at the School of Computer Science, in the
497         Natural Phenomena Simulation Group. He will be giving a talk on underappreciated
498         facets of computer science and its connections to other disciplines.
499     </p>
500   </short>
501   <abstract>
502     <p>
503         Talk Abstract:  Computer science is often perceived to be confined to
504         traditional areas such as operating systems, programming languages,
505         compilers and so on. Viewed in this context, one’s professional future
506         in this field seems to be directly linked to the accumulation of knowledge
507          and practical experience in these areas. Although their importance is
508         undeniable, it is also possible, and highly recommended, to expand one’s
509         horizons. In this talk, we are going to informally look at ubiquitous,
510         albeit sometimes underappreciated, facets of computer science and its
511         synergistic connections to other disciplines. We are also going to discuss
512         how creativity and serendipity can impact one’s career and lead to tangible
513          contributions in physical and life sciences.
514     </p>
515    </abstract>
516 </eventitem>
517 <eventitem date="2016-07-11" time="7:00 pm" room="BMH Green"
518            title="WiCS and CSC Go Outside!">
519   <short>
520     <p>
521         Join us at BMH Green for a night outdoors with fellow people in Computer Science!
522         There will be ice cream and board games and frisbees and maybe some water guns.
523
524         Bring your friends!
525     </p>
526   </short>
527 </eventitem>
528 <eventitem date="2016-06-08" time="6:00 pm" room="MC 5479"
529            title="scp talks">
530   <short>
531     <p>
532        Listen to cool 15-20 lightning talks by CSC members on a variety of
533        computer science and related topics.
534     </p>
535   </short>
536   <abstract>
537     <p>
538      Come on out to the CSC Short Contemplation Period Talk night on Wednesday,
539      featuring many short (20 minute) talks from our members. From Automata to
540      Zip files, any topic is welcome. Come on out and give a talk, or just
541      learn things. Talks start at 6:00PM and runs till 9, with a break for
542      dinner, which will be provided.
543     </p>
544   </abstract>
545 </eventitem>
546 <eventitem date="2016-06-02" time="6:30 pm" room="STC 0010"
547            title="Code Party 0">
548   <short>
549     <p>
550        Come code with us, eat some food, do some things.
551
552        Personal projects you want to work on? Homework
553        projects you need to finish? Or want some time to explore
554        some new technology and chat about it? You can join us at Code Party 0
555        and do it, with great company and great food.
556     </p>
557   </short>
558 </eventitem>
559
560 <eventitem date="2016-05-25" time="6:00 pm" room="MC 3036 (CSC Office)"
561            title="CSC Does Spring Cleaning">
562   <short>
563     <p>
564       Come out and help make the office slightly less messy! We will bribe...
565       uh, provide you with food for helping. :)
566     </p>
567   </short>
568   <abstract>
569     <p>
570     It's that time of the year - spring cleaning. And if you haven't noticed,
571     our office needs it. Help us clean it and we will give you food to eat.
572     Pretty good deal if you ask me.
573     </p>
574     <p>
575     Our office manager will also be providing office training to interested
576     members before the event.
577     </p>
578   </abstract>
579 </eventitem>
580
581 <eventitem date="2016-05-12" time="7:00 pm" room="MC 3001 (Comfy)"
582            title="Spring 2016 Elections">
583   <short>
584     <p>
585       The Computer Science Club will be holding elections for the Spring 2016
586       for President, Vice-President, Secretary, and Treasurer. Additionally,
587       librarian, office manager, sysadmin, and fridge regent will be appointed
588       and ratified.
589     </p>
590   </short>
591   <abstract>
592     <p>
593       The Computer Science Club will be holding elections for the Spring 2016
594       term on Thursday, May 12th at 19:00 in the MC Comfy (MC 3001). During
595       the meeting, the president, vice-president, treasurer and secretary will
596       be elected, the sysadmin will be appointed and ratified, and the
597       librarian and office manager will be appointed. There may be timbits.
598     </p>
599     <p>
600       If you'd like to run for any of these positions or nominate someone, you
601       can put your name in a special box on top of the fridge in the CSC
602       office (MC 3036/3037) or send me (Patrick) an email at cro@csclub
603       uwaterloo.ca. It is highly recommended to send me an email in addition
604       to nominating yourself by paper in the office. You can also deposit
605       nominations in the CSC mailbox in MathSoc or present them to me in person.
606       Nominations will close at 19:00 on Wednesday, May 11th (24 hours
607       before the start of elections).
608     </p>
609     <p>
610       Voting is done heads-down hands-up, and is restricted to Mathsoc social
611       members.
612     </p>
613     <p>
614       For the part of the constitution pertaining to elections,
615       see http://csclub.uwaterloo.ca/about/constitution#officers
616     </p>
617     <p>
618       All members are welcome to run! Especially new members and anyone
619       interested in being a new exec! Most of the roles have a small guide on
620       the wiki at https://wiki.csclub.uwaterloo.ca/Exec_Manual and I will
621       print out a hard copy of a more comprehensive exec manual and bind it myself, I swear.
622     </p>
623   </abstract>
624 </eventitem>
625
626 <!-- Winter 2016 -->
627 <eventitem date="2016-04-04" time="5:00 pm" room="MC Comfy"
628            title="On Surrounding a Polygon">
629   <short>
630     <p>Come out to a talk on surrounding a polygon by Dr. Craig Kaplan! Also stay afterwards for our EOT and socialize :) food will be provided!
631 </p>
632   </short>
633   <abstract>
634     <p>
635 Come out to a talk on surrounding a polygon by Dr. Craig Kaplan! Also stay afterwards for our EOT and socialize :) food will be provided!
636
637 The prof talk will be on Surrounding a Polygon:
638 Dr. Craig Kaplan will explore the problem of surrounding a polygon with copies of itself. This problem raises a number of fascinating mathematical questions, and we can use software as an experimental tool to probe the answers to those questions.
639
640 <p></p>
641 He'll also present known mathematical and computational results related to surrounds of polygons, and discuss what they say about larger open questions in tiling theory. Finally, he will also show how the task of surrounding individual polygons can make for fun and challenging puzzles, and say a bit about his experience creating an app based on those puzzles.
642 </p>
643   </abstract>
644 </eventitem>
645
646
647 <eventitem date="2016-03-29" time="6:00 pm" room="MC 4021"
648            title="SASMS Style Talk Night">
649   <short>
650     <p>The CSC is hosting the first annual member talk series! This is a chance for anyone to come and give a short talk on any relevant topic.
651 Some talks already arranged are on topics ranging from modern Javascript, to the Linux Kernel.</p>
652   </short>
653   <abstract>
654     <p>
655 The CSC is hosting the first annual member talk series. This is a chance for anyone to come and give a short talk on any relevant topic.
656
657 We already have some talks arranged, on topics ranging from modern JavaScript, and the Linux Kernel. More speakers are welcome. If you are interested, please email tbelaire@uwaterloo.ca or signup here:http://goo.gl/forms/zNYbDEQSFU
658
659 There will be a break for food halfway through.
660 </p>
661   </abstract>
662 </eventitem>
663
664
665
666
667 <eventitem date="2016-03-23" time="6:00 pm" room="QNC 1502"
668            title="SAT and SMT Solvers for Software Engineering and Security">
669   <short>
670     <p>A talk about SAT and SMT Solvers for Software Engineering and Security by Dr. Vijay Ganesh</p>
671   </short>
672   <abstract>
673     <p>
674 Boolean SAT and SMT solvers increasingly play a central role in the construction of reliable and secure software, regardless of whether such reliability/security is ensured through formal methods, program analysis or testing. This dramatic influence of solvers on software engineering as a discipline is a recent phenomenon, largely attributable to impressive gains in solver efficiency and expressive power. Dr. Vijay Ganesh will motivate the need for SAT and SMT solvers, sketch out their research story thus far, and then describe his contributions to solver research. Specifically, he will talk about a SAT solver called MapleCMS, and a string SMT solver, called Z3str2, developed in his lab. He will also talk about real-world applications enabled by his solvers, and the techniques he developed that helped make them efficient.
675 </p>
676   </abstract>
677 </eventitem>
678
679
680 <eventitem date="2016-03-16" time="6:00 pm" room="MC3003"
681            title="Git 102">
682   <short>
683     <p>Git 102 : Why you learned git in the first place. </p>
684   </short>
685   <abstract>
686     <p>
687 Learn how to manage multiple remotes, for those times when GitHub goes down. Then learn what to do when you accidentally overwrite your source code! Only basic git knowledge is assumed.
688         </p>
689   </abstract>
690 </eventitem>
691
692
693
694 <eventitem date="2016-03-09" time="6:30 pm" room="MC4058"
695            title="Steve Bourque and Mike Patterson Network Infrastructure talk">
696   <short>
697     <p>
698 Steve Bourque and Mike Patterson of IST will give a brief overview of campus network connectivity and interconnectivity.</p>
699   </short>
700   <abstract>
701     <p>
702 Steve Bourque and Mike Patterson of IST will give a brief overview of campus network connectivity and interconnectivity. Steve will describe the general connections, and Mike will talk about specific security measures in place. We'll have refreshments!
703         </p>
704   </abstract>
705 </eventitem>
706
707
708 <eventitem date="2016-03-03" time="6:00 pm" room="MC Comfy"
709            title="Tea and Study">
710   <short>
711     <p>
712         It's midterms season, and everyone has to study. So why not come study with the CS Club? Everyone welcome, especially new members!
713 There will be tea and delicious snacks and outlets. Plus our delightful company.
714 See you there!
715
716         </p>
717   </short>
718   <abstract>
719     <p>
720
721 Come join CSC at our Tea and Study event! Everyone welcome, especially new members!
722 There will be tea and delicious snacks and outlets. Plus our delightful company.
723         </p>
724   </abstract>
725 </eventitem>
726
727 <eventitem date="2016-02-10" time="6:30 pm" room="MC Comfy"
728            title="Movie Night: Big Hero 6">
729   <short>
730     <p>
731       Movie Night! Come watch "Big Hero 6" with the CSC!
732     </p>
733   </short>
734   <abstract>
735     <p>
736       Come watch "Big Hero 6" with the Computer Science Club this wednesday the 10th at 6:30 PM in the MC Comfy Lounge.
737       Why "Big Hero 6"? It's an award-winning animated Disney movie involving an inflatable robot fighting evil in "San Frasokyo". Enough said.
738     </p>
739   </abstract>
740 </eventitem>
741
742 <eventitem date="2016-02-04" time="6:00 pm" room="STC 0010"
743            title="Code Party">
744   <short>
745     <p>
746       The CS Club is having its termly code party! Come out and work on projects, assignments, and more. Food is provided!
747     </p>
748   </short>
749   <abstract>
750     <p>
751       Want help installing Linux? Bring a USB, we'll help you.
752       Want to work on a project, CS homework, or an IRC bot? Come over, we'll have food.
753       Want to see what it's like to be in the new STC? Plugs at every desk, I'm telling you.
754       (This term it's going to be in the new STC not in the comfy. We're going for some adventure this term.)
755     </p>
756     <p>
757       Be there, we'll have dinner!
758     </p>
759   </abstract>
760 </eventitem>
761
762 <eventitem date="2016-01-28" time="6:00 pm" room="MC 3003"
763            title="Unix 101">
764   <short>
765     <p>
766       Interested in Linux, but don't know where to start? Come learn some
767       basic topics with us including interaction with the shell, motivation
768       for using it, some simple commands, and more! (Cookies after)
769     </p>
770   </short>
771   <abstract>
772     <p>
773       New to the Linux computing environment? If you seek an introduction,
774       look no further (you can if you want we're not the police). Topics that
775       will be covered include basic interaction with the shell and the
776       motivations behind using it, and an introduction to compilation. You'll
777       have to learn this stuff in CS 246 anyways, so why not get a head start!
778     </p>
779     <p>
780       If you're interested in attending, make sure you can log into the Macs
781       on the third floor, or show up to the CSC office (MC 3036) 20 minutes
782       early for some help. If you're already familiar with these topics, don't
783       hesitate to come to Unix 102, planned to be held after Reading Week.
784     </p>
785   </abstract>
786 </eventitem>
787
788 <eventitem date="2016-01-23" time="11:00 AM" room="TBA"
789            title="Eth1: Jane Street Competition">
790   <short>
791     <p>
792         eth1: a day-long programming contest. Form teams and hack
793         together a trading bot to compete against others and the markets.
794     </p>
795   </short>
796   <abstract>
797     <p>
798       eth1: a day-long programming contest. Form teams and hack together a trading bot to compete against others and the markets.
799     </p>
800     <p>
801         Brought to you by: CSC and Jane Street.
802     </p>
803     <p>
804         Each member of the winning team will receive $1000 USD.
805     </p>
806     <p>
807         There'll be lots of (free) food and drink available.
808     </p>
809     <p>
810         Absolutely no special math, OCaml, or finance knowledge is required; you can use any language you like. The contest is entirely technical in nature and you won't need any visual design skills.
811     </p>
812     <p>
813         The exact details of the hackathon aren't released until the competition begins. The one thing you can do ahead of time to prepare is familiarize yourself with the libraries for writing TCP clients in your programming language of choice.
814     </p>
815     <p>
816         <a href="https://docs.google.com/a/janestreet.com/forms/d/1I7UukJDH9ZAVWpLl-2vwmvPWzbWBFjj8g973hidn8eE/viewform">Sign up!</a>
817     </p>
818     <p>
819         The contest will be on Saturday, January 23rd, from 11:00AM - 11:00PM. Signups will close on Monday, January 18th at 11:59PM, and we'll send out confirmations to participants on the 20th.
820     </p>
821     <p>
822         For any other queries, email: eth1-waterloo@janestreet.com
823     </p>
824     <p>
825         Further details will be announced closer to the event. Teams of up to three will be accepted, but you don't have to have a team to sign up — feel free to turn up as a singleton and we'll form teams on the fly.
826     </p>
827   </abstract>
828 </eventitem>
829
830 <eventitem date="2016-01-14" time="19:00" room="MC 3001 (Comfy)"
831            title="Winter 2016 Elections">
832   <short>
833     <p>
834       Interested in Linux, but don't know where to start? Come learn some
835       basic topics with us including interaction with the shell, motivation
836       for using it, some simple commands, and more! (Cookies after)
837     </p>
838   </short>
839   <abstract>
840     <p>
841       The Computer Science Club will be holding elections for the Winter 2016
842       term on Thursday, January 14th in MC Comfy (MC 3001) at 19:00. During
843       the meeting, the president, vice-president, treasurer and secretary will
844       be elected, the sysadmin will be ratified, and the librarian and office
845       manager will be appointed.
846     </p>
847     <p>
848       If you'd like to run for any of these positions or nominate someone, you
849       can write your name on the whiteboard in the CSC office (MC 3036/3037) or
850       send me (Charlie) an email at cro@csclub.uwaterloo.ca. Every effort will
851       be made to note down whiteboard nominations, but it is highly recommended
852       to send me an email in addition to writing on the whiteboard. You can
853       also deposit nominations in the CSC mailbox in MathSoc or present them to
854       me in person. Nominations will close at 18:00 on Wednesday, January 13th.
855       All members are welcome to run!
856     </p>
857   </abstract>
858 </eventitem>
859
860
861
862 <!-- Fall 2015 -->
863
864 <eventitem date="2015-11-27" time="7:30 PM" room="MC Comfy"
865            title="WiCS and CSC watch War Games!">
866   <short>
867     <p>
868       WiCS and CSC are watching War Games in the Comfy lounge.
869     </p>
870   </short>
871   <abstract>
872     <p>
873       WiCS and CSC are watching War Games in the Comfy lounge.
874     </p>
875     <p>
876       War Games is this movie where these kids phone a computer and then the computer wants to nuke things.
877       Cold war stuff. Nowadays computers won't let you do that, you have to SSH in instead.
878     </p>
879     <p>
880       We're bringing food. Gluten-free, vegetarian options available. Sandwiches, drinks, and popcorn!
881     </p>
882     <p>
883       Everyone welcome! Stop by!
884     </p>
885   </abstract>
886 </eventitem>
887
888 <eventitem date="2015-11-26" time="5:00-7:00 PM" room="MC 4063"
889            title="An Introduction to Google's FOAM Framework">
890   <short>
891     <p>
892       An introduction to Google's FOAM framework, an open-source modeling
893       framework written in Javascript, by Google's Kevin Greer.
894     </p>
895   </short>
896   <abstract>
897     <p>
898       FOAM is an open-source modeling framework written in Javascript. With FOAM,
899       you can create Domain Specific Languages (DSLs), which are high-level
900       models that can be interpreted or compiled to different languages or
901       environments (Java/Android, Swift/iOS, and JS/Web). Currently, it supports
902       DSLs for entities/classes, parsers, animations, database queries,
903       interactive documents, and, most importantly, new DSLs.
904     </p>
905     <p>
906       FOAM supports building text, HTML, and graphical views for DSLs using a
907       small Model View Controller (MVC) library, which is itself modeled with
908       FOAM. This library can also be used by modeled Javascript applications.
909     </p>
910     <p>
911       FOAM increases developer productivity by allowing them to express
912       solutions at a higher, more succinct level. The MVC library also
913       increases application performance through its efficient data-binding,
914       caching, and query-optimization mechanisms.
915     </p>
916     <p>
917       Learn more at http://foamdev.com
918     </p>
919     <p>
920       You can get in contact with Kevin Greer on twitter,
921       <a href="https://twitter.com/kgrgreer">@kgrgreer</a>.
922     </p>
923   </abstract>
924 </eventitem>
925
926 <eventitem date="2015-11-23" time="6:00 PM" room="MC 4041"
927            title="'Static Analysis and Program Optimization Using Dataflow Analysis'">
928   <short>
929     <p>
930       An introduction to some basic issues with optimization of imperative
931       programs, by Sean Harrap
932     </p>
933   </short>
934   <abstract>
935     <p>
936       An introduction to some basic issues with optimization of imperative
937       programs by Sean Harrap, beginning with traditional methods such as tree
938       traversals.
939     </p>
940     <p>
941       This will be followed by a more powerful solution to these problems,
942       providing an overview of its mathematical foundations, and then
943       describing how it can be used to express optimizations simply and elegantly.
944     </p>
945     <p>
946       Some familiarity with the second year CS core (CS245, CS241, MATH239)
947       will be assumed.
948     </p>
949   </abstract>
950 </eventitem>
951
952 <eventitem date="2015-11-19" time="7:00-8:00 PM" room="MC 4020"
953            title="'Git 101'">
954   <short>
955     <p>
956       Learn how to use Git properly in an exciting talk by Charlie Wang!
957     </p>
958   </short>
959   <abstract>
960     <p>
961       git init, git add, git commit, git 'er done!
962     </p>
963     <p>
964       In Git 101, Charlie Wang will convince you to use Git for your projects and
965       show you a high level overview of how to use it properly.
966     </p>
967     <p>
968       This talk is recommended for CS 246 students.
969     </p>
970     <p>
971       Come for the tutorial, stay for the bad jokes.
972     </p>
973   </abstract>
974 </eventitem>
975
976 <eventitem date="2015-10-16" time="7:00 PM" room="ML Theatre of the Arts"
977            title="Cory Doctorow - The War on General Purpose Computing">
978   <short>
979     Between walled gardens, surveillance agencies, and political opponents,
980     no matter who's winning the war on general purpose computing you're
981     losing. The Computer Science Club will be hosting Cory Doctorow's talk
982     in the Theatre of the Arts on October 16.
983   </short>
984   <abstract>
985     <p>
986       No Matter Who's Winning the  War on General Purpose Computing, You're Losing
987     </p>
988     <p>
989       If cyberwar were a hockey game, it'd be the end of the first period and
990       the score would be tied 500-500. All offense, no defense.
991     </p>
992     <p>
993       Meanwhile, a horrible convergence has occurred as everyone from car
994       manufacturers to insulin pump makers have adopted the inkjet printer
995       business model, insisting that only their authorized partners can make
996       consumables, software and replacement parts -- with the side-effect of
997       making it a felony to report showstopper, potentially fatal bugs in
998       technology that we live and die by.
999     </p>
1000     <p>
1001       And then there's the FBI and the UK's David Cameron, who've joined in
1002       with the NSA and GCHQ in insisting that everyone must be vulnerable to
1003       Chinese spies and identity thieves and pervert voyeurs so that the spy
1004       agencies will always be able to spy on everyone and everything, everywhere.
1005     </p>
1006     <p>
1007       It's been fifteen years since the copyright wars kicked off, and we're
1008       still treating the Internet as a glorified video-on-demand service --
1009       when we're not treating it as a more perfect pornography distribution
1010       system, or a jihadi recruitment tool.
1011     </p>
1012     <p>
1013       It's all of those -- and more. Because it's the nervous system of the
1014       21st century. We've got to stop treating it like a political football.
1015     </p>
1016     <p>
1017       Cory Doctorow will be talking on Friday October 16, 7pm in
1018       the Theatre of the Arts. Admission is free, and
1019       the talk will be open to the public. Doors open
1020       at 6:30pm. Headsets will be provided for the hard of hearing,
1021       email Patrick at pj2melan@uwaterloo.ca . The theatre is wheelchair accessible.
1022     </p>
1023     <p>
1024       The following books written by Cory will be sold at the event:
1025       <ul>
1026         <li>Little Brother</li>
1027         <li>Homeland</li>
1028         <li>For the Win</li>
1029         <li>Makers</li>
1030         <li>Pirate Cinema</li>
1031         <li>Information Doesn't want to be free</li>
1032         <li>In Real Life</li>
1033       </ul>
1034     </p>
1035   </abstract>
1036 </eventitem>
1037
1038 <eventitem date="2015-10-07" time="5:30 PM" room="MC 4061"
1039     title="Starting an VN Indie Game Company as a UW Student">
1040   <short>
1041
1042     <p>Come out to a talk by Alfe Clemencio!</p>
1043     <p> Many people want to make games as signified by all the game development
1044         schools that are appearing everywhere. But how would you do it as a UW
1045         student? This talk shares the experiences of how making Sakura River
1046         Interactive was founded without any Angel/VC investment.
1047     </p>
1048   </short>
1049   <abstract>
1050     <p>Come out to a talk by Alfe Clemencio!</p>
1051     <p> Many people want to make games as signified by all the game development
1052         schools that are appearing everywhere. But how would you do it as a UW
1053         student? This talk shares the experiences of how making Sakura River
1054         Interactive was founded without any Angel/VC investment.
1055     </p>
1056     <p> The talk will start off with inspiration drawn of Co-op Japan, to it's
1057         beginnings at Velocity. Then a reflection of how various game
1058         development and business skills was obtained in the unexpected ways at
1059         UW will follow. How the application of probabilities, theory of
1060         computation, physical/psychological attraction theories was used in the
1061         development of the company's first game. Finally how various Computer
1062         Science theories helped evaluate feasibility of several potential
1063         incoming business deals.
1064     </p>
1065     <a href="http://www.sakurariver.ca/">From Sakura River interactive</a>
1066   </abstract>
1067 </eventitem>
1068
1069 <eventitem date="2015-10-02" time="7:30 PM" room="MC 4040"
1070            title="'Why Am I Studying This?'">
1071   <short>
1072     <p>
1073       Big-O, the Halting Problem, Finite State Machines, and more are concepts that get
1074       even more interesting in the real world. Come and hear Tom Rathborne talk about how theory
1075       hits reality (often with a bang!) at Booking.com.
1076     </p>
1077   </short>
1078   <abstract>
1079     <ul>
1080       <li>Data Structures</li>
1081       <li>Finite State Machines</li>
1082       <li>big-O</li>
1083       <li>Queuing theory</li>
1084       <li>Race conditions</li>
1085       <li>Compilers</li>
1086       <li>The Halting Problem</li>
1087       <li>etc.</li>
1088     </ul>
1089     <p>
1090       These things get even more interesting in the real world.
1091       Come and hear Tom Rathborne talk about how theory hits reality (often with a bang!) at
1092       Booking.com, the biggest not-a-technology-company on the Internet.
1093     </p>
1094     <p>
1095       Food and drinks will be provided!
1096     </p>
1097   </abstract>
1098 </eventitem>
1099
1100 <eventitem date="2015-09-30" time="5:00 PM" room="DC 1304"
1101            title="Back to Back Talks: Culture Turnaround and Software Defined Networks">
1102   <short>
1103     <p>
1104       Back to back talks from John Stix and Francisco Dominguez on turning
1105       a company's culture around and on Software Defined Networks!
1106     </p>
1107   </short>
1108   <abstract>
1109     <p>
1110       Back to back talks from John Stix and Francisco Dominguez on turning
1111       a company's culture around and on Software Defined Networks!
1112     </p>
1113     <p>
1114       John Stix will be talking about how he turned around the corporate culture at Fibernetics Corporation.
1115     </p>
1116     <p>
1117       Francisco Dominguez will be talking about Software Defined Networks, which
1118       for example can turn multiple flakey internet connections into one reliable
1119       one.
1120     </p>
1121     <p>
1122       The speakers are:
1123       <ul>
1124         <li>John Stix - President, Fibernetics</li>
1125         <li>Francisco Dominguez - CTO, Fibernetics</li>
1126       </ul>
1127     </p>
1128     <p>
1129       Food and drinks will be provided!
1130     </p>
1131   </abstract>
1132 </eventitem>
1133
1134 <eventitem date="2015-09-24" time="4:30 PM" room="EIT 3142"
1135            title="CSC and WiCS Career Panel">
1136   <short>
1137     <p>
1138       The CSC is joining WiCS to host a career panel! Come hear from Waterloo
1139       alumni as they speak about their time at Waterloo, experience with coop,
1140       and life beyond the university. Please register at http://bit.ly/1OyJP6D
1141     </p>
1142   </short>
1143   <abstract>
1144     <p>
1145       The CSC is joining WiCS to host a career panel! Come hear from Waterloo
1146       alumni as they speak about their time at Waterloo, experience with coop,
1147       and life beyond the university. A great chance to network and seek
1148       advice!
1149     </p>
1150     <p>
1151       The panelists are:
1152       <ul>
1153         <li>Joanne Mckinley - Software Engineer, Google</li>
1154         <li>Carol Kilner - COO, BanaLogic Corporation</li>
1155         <li>Harshal Jethwa - Consultant, Infusion</li>
1156         <li>Dan Collens - CTO, Big Roads</li>
1157       </ul>
1158     </p>
1159     <p>
1160       Food and drinks will be provided! Please register
1161       <a href="https://docs.google.com/forms/d/1G-8LFLgxQUkahXvODpS2cVSvceNibTt18Uc8TnhlKI8/viewform?usp=send_form">here</a>
1162     </p>
1163   </abstract>
1164 </eventitem>
1165
1166 <eventitem date="2015-09-22" time="9 PM" room="MC 3001"
1167            title="Results of Fall 2015 Elections">
1168   <short>
1169     <p>
1170       The Computer Science Club has elected its executive for the term, and a new Office Manager and System Administrator have been appointed.
1171     </p>
1172     <p>
1173       See inside for results.
1174     </p>
1175   </short>
1176   <abstract>
1177     <p>
1178       The Computer Science Club has elected its executive for the term, and a new Office Manager and System Administrator have been appointed.
1179       The quorum for elections had been reached, and voting members of the CSC voted for their President, Vice President, Treasurer, and Secretary from among many qualified candidates.
1180       The new elected executive then proceeded to appoint a System Administrator (who became part of the executive <i>ex officio</i>) and an Office Manager.
1181
1182       The appointment of a Librarian was delayed because no suitable and willing candidate was found.
1183     </p>
1184     <p>
1185        The results of the elections are:
1186       <ul>
1187         <li>Simone Hu - President</li>
1188         <li>Theo Belaire - Vice President</li>
1189         <li>Jordan Upiter - Treasurer</li>
1190         <li>Daniel Marin - Secretary</li>
1191         <li>Jordan Pryde - System Administrator</li>
1192         <li>Office Manager - Ilia Chtcherbakov</li>
1193       </ul>
1194     </p>
1195   </abstract>
1196 </eventitem>
1197
1198
1199 <eventitem date="2015-09-22" time="7 PM" room="MC 3001"
1200            title="Fall 2015 Elections">
1201   <short>
1202     <p>
1203       The Computer Science Club will be holding elections for the Fall 2015
1204       term on Tuesday, September 22nd in MC Comfy (MC 3001) at 19:00. During
1205       the meeting, the president, vice-president, treasurer and secretary will
1206       be elected, the sysadmin will be ratified, and the librarian and office
1207       manager will be appointed.
1208     </p>
1209     <p>
1210       See inside for nominations.
1211     </p>
1212   </short>
1213   <abstract>
1214     <p>
1215       The Computer Science Club will be holding elections for the Fall 2015
1216       term on Tuesday, September 22nd in MC Comfy (MC 3001) at 19:00. During
1217       the meeting, the president, vice-president, treasurer and secretary will
1218       be elected, the sysadmin will be ratified, and the librarian and office
1219       manager will be appointed.
1220     </p>
1221     <p>
1222       If you'd like to run for any of these positions or nominate someone, you
1223       can write your name on the board in the CSC office (MC 3036/3037) or
1224       send me (Charlie) an email at cro@csclub.uwaterloo.ca. You can also
1225       deposit nominations in the CSC mailbox in MathSoc or present them to me
1226       in person. Nominations will close at 18:00 on Monday, September  21st.
1227       All members are welcome to run! First-years are especially encouraged to
1228       run for secretary, office manager, and librarian, but they are not
1229       limited to those positions.
1230     </p>
1231   </abstract>
1232 </eventitem>
1233
1234 <eventitem date="2015-09-17" time="6 PM" room="MC 2065"
1235            title="Google Cardboard">
1236   <short>
1237     <p>
1238       Come for a talk from Rob Suderman on Cardboard, Google's recent
1239       exploration in affordable, cereal box based Virtual Reality.
1240     </p>
1241   </short>
1242   <abstract>
1243     <p>
1244       Come for a talk from Rob Suderman on Cardboard, Google's recent
1245       exploration in affordable, cereal box based Virtual Reality.
1246     </p>
1247     <p>
1248       Learn about the tools available to make your own application, some of
1249       the pitfalls to avoid, and an overview of rendering virtual reality
1250       content with some tips and tricks on high performance rendering. The
1251       talk will contain content for everyone interested!
1252     </p>
1253   </abstract>
1254 </eventitem>
1255
1256 <!-- Spring 2015 -->
1257
1258 <eventitem date="2015-07-16" time="6 PM" room="MC 4064"
1259            title="Algorithms for Shortest Paths">
1260   <short>
1261     <p>
1262       Come to this exciting talk about path-finding algorithms which
1263       is being presented by Professor Anna Lubiw.
1264     </p>
1265   </short>
1266   <abstract>
1267     <p>
1268       Finding shortest paths is a problem that comes up in many applications:
1269       Google maps, network routing, motion planning, connectivity in social
1270       networks, and etc.
1271       The domain may be a graph, either explicitly or implicitly represented,
1272       or a geometric space.
1273     </p>
1274     <p>
1275       Professor Lubiw will survey the field, from Dijkstra's foundational algorithm to
1276       current results and open problems.
1277       There will be lots of pictures and lots of ideas.
1278     </p>
1279     <p>
1280       <a href="http://mirror.csclub.uwaterloo.ca/csclub/shortest-paths-CSclub.pdf">Click here to see the slides from the talk.</a>
1281     </p>
1282     <p>
1283       <a href="/media/Algorithms%20for%20Shortest%20Paths">Click here for the recorded talk.</a>
1284     </p>
1285     </abstract>
1286 </eventitem>
1287
1288 <eventitem date="2015-07-08" time="6 PM" room="MC 4060"
1289            title="Infrasound is all around us">
1290   <short>
1291     <p>
1292       Ambient infra sound surrounds us. Richard Mann presents his current
1293       research and equipment on measuring infra sound, and samples of recorded
1294       infra sound.
1295     </p>
1296   </short>
1297   <abstract>
1298     <p>
1299       Infra sound refers to sound waves below the range of human hearing.
1300       Infra sound comes from a number of natural phenomena including weather
1301       changes, thunder, and ocean waves.  Common man made sources include
1302       heating and ventilation systems, industrial machinery, moving vehicle
1303       cabins (air, trains, cars), and energy generation (wind turbines, gas
1304       plants).
1305       <br></br>
1306       In this talk Richard Mann will present equipment he has built to measure infra sound, and
1307       analyse some of the infra sound he has recorded.
1308       <br></br>
1309       Note: In Winter 2016 Richard Mann will be offering a new course, in Computer Sound.  The
1310       course will appear as CS489/CS689 ("Topics in Computer Science").  This
1311       is a project-based course (60% assignments, 40% project, no final).
1312       Details at his web page,
1313       <a href="http://www.cs.uwaterloo.ca/~mannr">~mannr</a>.
1314     </p>
1315     </abstract>
1316 </eventitem>
1317
1318 <eventitem date="2015-06-26" time="7:00 PM" room="Laurel Creek Firepit"
1319            title="WiCS and CSC Go Outside">
1320   <short>
1321     <p>Come hang out with the Women in Computer Science and the Computer Science Club! There will be s'mores and frozen yogurt. Also fire. And a creek. Let's enjoy the outdoors!</p>
1322   </short>
1323   <abstract>
1324     <p>Come hang out with the Women in Computer Science and the Computer Science Club! There will be s'mores and frozen yogurt. Also fire. And a creek. Let's enjoy the outdoors!</p>
1325   </abstract>
1326 </eventitem>
1327
1328 <eventitem date="2015-06-19" time="6:00 PM" room="MC 3003"
1329            title="UNIX 102">
1330   <short>
1331     <p>n things SCS hasn't told you about the shell</p>
1332   </short>
1333   <abstract>
1334     <p>
1335       This is a continuation of the Unix10X series of seminars that cover the use
1336       of *nix environments, largely through interacting with a command line shell. In
1337       this instalment we will be covering some of what the School of Computer
1338       Science has left out of their introduction to the Command Line / Bash (from
1339       cs246), as well as a brief introduction to having a useful prompt.
1340       <br></br>
1341       Topics to be discussed include:
1342       <ul>
1343         <li>Lost Bash: fancy expansion, arrays, and shopt</li>
1344         <li>The File System is scary: your file names contain white space and newlines</li>
1345         <li>Where Am I: A brief introduction to prompt customization</li>
1346       </ul>
1347     </p>
1348   </abstract>
1349 </eventitem>
1350
1351 <eventitem date="2015-05-22" time="4:00 PM" room="MC 3001 (Coomfy)"
1352            title="By-Elections">
1353   <short>
1354     <p>
1355       As there are vacancies in the executive council, there will be
1356       by-election on May 22nd. The following positions are open for election:
1357       <ul>
1358         <li>Treasurer</li>
1359         <li>Secretary</li>
1360       </ul>
1361     </p>
1362     <p>
1363       The executive are also looking for people who may be interested in the
1364       following positions:
1365       <ul>
1366         <li>Systems Administrator</li>
1367         <li>Office Manager</li>
1368         <li>Librarian</li>
1369       </ul>
1370     </p>
1371   </short>
1372 </eventitem>
1373
1374 <!-- Winter 2015 -->
1375
1376 <eventitem date="2015-04-02" time="5:30 PM" room="MC 4020"
1377            title="Describing and Synthesizing Microfluidics">
1378   <short>
1379     <p>
1380       Derek Rayside presents current research on the field of microfluidics.
1381       Microfluidics are currently developed mainly by trial and error. How can
1382       this be improved?
1383     </p>
1384   </short>
1385   <abstract>
1386     <p>
1387       Microfluidics is an exciting new area concerned with designing devices
1388       that perform some medical diagnoses and chemical synthesis tasks orders
1389       of magnitude faster and less expensively than traditional techniques.
1390       However, microfluidic device design is currently a black art, akin to
1391       how digital circuits were designed before 1980.
1392       <br></br>
1393       We have developed a
1394       hardware description language that is appropriate for the description
1395       and synthesis of both single-phase and multi-phase microfluidic devices.
1396       These are new results that have not yet been published. This is
1397       collaborative work with other research groups in Mechanical Engineering,
1398       Chemical Engineering, and Electrical Engineering.
1399     </p>
1400     </abstract>
1401 </eventitem>
1402
1403 <eventitem date="2015-03-27" time="6:00 PM" room="EIT 1015"
1404            title="Constitutional GM and Code Party 1">
1405   <short>
1406     <p>
1407       GM for the W2015 term, two main amendments to be discussed: Requiring
1408       elections to be held within two weeks of the beginning of term and
1409       adopting a club-wide code of conduct.
1410       <br></br>
1411       Code Party 1 follows, we're doing timed code golf problems, T-shirts might
1412       find themselves on people who do well on code golf.
1413     </p>
1414   </short>
1415   <abstract>
1416     <p>
1417       GM for the W2015 term, two main amendments to be discussed: Requiring
1418       elections to be held within two weeks of the beginning of term and
1419       adopting a club-wide code of conduct.
1420       <br></br>
1421       Code Party 1 follows, we're doing timed code golf problems, T-shirts might
1422       find themselves on people who do well on code golf.
1423     </p>
1424     </abstract>
1425 </eventitem>
1426
1427 <eventitem date="2015-03-10" time="6:00 PM" room="MC 4040"
1428            title="Runtime Type Inference in Dynamic Languages - Day 2">
1429   <short>
1430     <p>
1431       Day 2 of Runtime Type Inference in Dynamic Languages with Kannan Vijayan
1432     </p>
1433   </short>
1434   <abstract>
1435     <p>
1436       Day 2 of Runtime Type Inference in Dynamic Languages with Kannan Vijayan
1437     </p>
1438     </abstract>
1439 </eventitem>
1440
1441 <eventitem date="2015-03-09" time="6:00 PM" room="MC 4040"
1442            title="Runtime Type Inference in Dynamic Languages - Day 1">
1443   <short>
1444     <p>
1445       Javascript is fast. In some cases, very close to compiled-language fast.
1446       How is this even possible? How do we know what types our variables have?
1447       How can we optimize it well? Kannan Vijayan will be talking about the
1448       historical advances in JIT-compilation of dynamically typed programs over
1449       two days. Of course, both of those talks will have free food.
1450     </p>
1451   </short>
1452   <abstract>
1453     <p>
1454       How do we make dynamic languages fast? Today, modern Javascript engines
1455       have demonstrated that programs written in dynamically typed scripting lan-
1456       guages can be executed close to the speed of programs written in languages
1457       with static types. So how did we get here? How do we extract precious type
1458       information from programs at runtime? If any variable can hold a value of any
1459       type, then how can we optimize well?
1460       <br></br>
1461       This talk covers a bit of the history of the techniques used in this space, and
1462       tries to summarize, in broad strokes, how those techniques come together to
1463       enable efficient jit-compilation of dynamically typed programs.
1464       To do the topic justice, Kannan Vijayan will be talking the Monday and
1465       Tuesday March 9th and 10th.
1466       <br></br>
1467       Does that mean two consecutive days of free food? Yes it does.
1468     </p>
1469   </abstract>
1470 </eventitem>
1471
1472 <eventitem date="2015-03-03" time="6:00 PM" room="MC 2038"
1473            title="SAT and SMT solvers">
1474   <short>
1475     <p>
1476       Murphy Berzish explains how to programmatically determine if a program is satisfiable,
1477       and how to find a concrete counterexample if it is unsatisfiable. At the core
1478       are SAT/SMT solvers. SAT theory deals with Boolean Satisfiability solvers,
1479       while SMT theory--Satisfiability Modulo a Theory--allows SMT to be extended
1480       to common data structures. Free food!
1481     </p>
1482   </short>
1483   <abstract>
1484     <p>
1485       Does your program have an overflow error? Will it work with all inputs? How
1486       do you know for sure? Test cases are the bread and butter of resilient design,
1487       but bugs still sneak into software. What if we could prove our programs are
1488       error-free?
1489       <br></br>
1490       Boolean Satisfiability (SAT) solvers determine the ‘satisfiability’ of boolean
1491       set of equations for a set of inputs. An SMT solver (Satisfiability Modulo
1492       a Theory) applies SMT to bit-vectors, strings, arrays, and more. Together,
1493       we can reduce a program and prove it is satisfiable, or provide a concrete
1494       counter-example. The implications of this are computer-aided reasoning tools
1495       for error-checking in addition to much more robust programs.
1496       <br></br>
1497       In this talk Murphy Berzish will give an overview of SAT/SMT theory and
1498       some real-world solution methods. He will also demonstrate applications of
1499       SAT/SMT solvers in theorem proving, model checking, and program verification.
1500       <br></br>
1501       What else? Oh yes, refreshments and drinks will be served. Come out!
1502     </p>
1503   </abstract>
1504 </eventitem>
1505
1506 <eventitem date="2015-02-27" time="6:00 PM" room="EV3 1408"
1507            title="Code Party 0">
1508   <short>
1509     <p>
1510       The first code party of Winter 2015, and we have something a litle different
1511       this time. We're running a Code Retreat (coderetreat.org) with Boltmade.
1512       The result of this is that you will be able to do a coding challenge, wherein
1513       you implement Rule 110 (like the Game of Life). Of course, if you want to
1514       work on whatever you can do that as well. Delicious free food, but RSVP!
1515       <a href="https://bit.ly/code-party-0">bit.ly/code-party-0</a>
1516     </p>
1517   </short>
1518   <abstract>
1519     <p>
1520       The first code party of Winter 2015, and we have something a litle different
1521       this time. We're running a Code Retreat (coderetreat.org) with Boltmade.
1522       The result of this is that you will be able to do a coding challenge, wherein
1523       you implement Rule 110 (like the Game of Life). Of course, if you want to
1524       work on whatever you can do that as well. Delicious free food, but RSVP!
1525       <a href="https://bit.ly/code-party-0">bit.ly/code-party-0</a>
1526     </p>
1527   </abstract>
1528 </eventitem>
1529
1530 <eventitem date="2015-02-05" time="3:30 PM" room="DC 1302"
1531            title="Making Robots Behave">
1532   <short>
1533     <p>
1534       Part of the Cheriton School of CS' Distinguished Lecture Series, MIT's Leslie Kaelbling will
1535       discuss robotic AI applied to the messy real world. We make a number of
1536       approximations during planning but regain robustness and effectiveness
1537       through a continuous state estimation and replanning process. This allows
1538       us to solve problems that would otherwise be intractable to solve optimally.
1539     </p>
1540   </short>
1541   <abstract>
1542     <p>
1543       The fields of AI and robotics have made great improvements in many
1544       individual subfields, including in motion planning, symbolic planning,
1545       probabilistic reasoning, perception, and learning.  Our goal is to
1546       develop an integrated approach to solving very large problems that are
1547       hopelessly intractable to solve optimally.  We make a number of
1548       approximations during planning, including serializing subtasks,
1549       factoring distributions, and determinizing stochastic dynamics, but
1550       regain robustness and effectiveness through a continuous state
1551       estimation and replanning process.  This approach is demonstrated in
1552       three robotic domains, each of which integrates perception, estimation,
1553       planning, and manipulation.
1554     </p>
1555   </abstract>
1556 </eventitem>
1557
1558 <eventitem date="2015-02-02" time="6:00 PM" room="MC 4063"
1559            title="Racket's Magical match">
1560   <short>
1561     <p>
1562       Theo Belaire, a fourth-year CS student, will be talking about Racket's
1563       match' function. Bug resistant, legible, and super powerful! Especially
1564       useful for CS 241 in writing compilers, but all-round a joy to write.
1565     </p>
1566   </short>
1567   <abstract>
1568     <p>
1569       Come learn how to use the power of the Racket match construct to make your
1570       code easier to read, less bug-prone and overall more awesome!
1571     </p>
1572     <p>
1573       Theo Belaire,
1574       a fourth-year CS student, will show you the basics of how this amazing
1575       function works, and help you get your feet wet with some code examples and
1576       advanced use cases.
1577     </p>
1578     <p>
1579       If you're interested in knowing about the more
1580       powerful features of Racket, then this is the talk for you! The material
1581       covered is especially useful for students in CS 241 who are writing their
1582       compiler in Racket, or are just curious about what that might look like.
1583     </p>
1584   </abstract>
1585 </eventitem>
1586
1587 <eventitem date="2015-01-21" time="6:00 PM" room="MC 2017"
1588            title="Alumni Tech Talk">
1589   <short>
1590     <p> Alex Tsay from AeroFS will talk about the high availability distributed
1591        file systems they develop.
1592     </p>
1593     <p>The CAP Theorem outlined the fundamental limitations of a distributed system.
1594     When designing a distributed system, one has to constantly be aware of the
1595     trade-off between consistency and availability.
1596
1597     Most distributed systems are designed with consistency in mind. However, AeroFS
1598     has decided to build a high-availability file system instead.
1599
1600     In this tech talk, I'll be presenting an overview of AeroFS file system,
1601     advantages and challenges of a high-availability file system, and examine the
1602     inner workings of AeroFS's core syncing algorithm.
1603     </p>
1604   </short>
1605   <abstract>
1606     <p> Alex Tsay from AeroFS will talk about the high availability distributed
1607        file systems they develop.
1608     </p>
1609     <p>The CAP Theorem outlined the fundamental limitations of a distributed system.
1610     When designing a distributed system, one has to constantly be aware of the
1611     trade-off between consistency and availability.
1612
1613     Most distributed systems are designed with consistency in mind. However, AeroFS
1614     has decided to build a high-availability file system instead.
1615
1616     In this tech talk, I'll be presenting an overview of AeroFS file system,
1617     advantages and challenges of a high-availability file system, and examine the
1618     inner workings of AeroFS's core syncing algorithm.
1619     </p>
1620   </abstract>
1621 </eventitem>
1622
1623 <eventitem date="2015-01-15" time="7:00 PM" room="Comfy Lounge"
1624            title="Winter 2015 Elections">
1625   <short>
1626     <p>Elections for Winter 2015 are being held! Submit a nomination and join
1627        your fellow members in choosing this term's CSC executive. (Please note
1628        the time change to 7PM.)
1629     </p>
1630   </short>
1631   <abstract>
1632     <p>The Computer Science Club will be holding its termly elections this
1633        upcoming Thursday, Jan. 15 at 6PM in the Comfy Lounge (MC 3001). During
1634        the election, the president, vice-president, treasurer and secretary will
1635        be elected, the sysadmin will be ratified, and the librarian and office
1636        manager will be appointed.
1637     </p>
1638     <p>Nominations are now closed. The candidates are:</p>
1639     <ul>
1640       <li>President:<ul>
1641         <li>Luke Franceschini (<tt>l3france</tt>)</li>
1642         <li>Gianni Gambetti (<tt>glgambet</tt>)</li>
1643         <li>Ford Peprah (<tt>hkpeprah</tt>)</li>
1644         <li>Khashayar Pourdeilami (<tt>kpourdei</tt>)</li>
1645       </ul></li>
1646       <li>Vice-President:<ul>
1647         <li>Luke Franceschini (<tt>l3france</tt>)</li>
1648         <li>Gianni Gambetti (<tt>glgambet</tt>)</li>
1649         <li>Patrick Melanson (<tt>pj2melan</tt>)</li>
1650         <li>Ford Peprah (<tt>hkpeprah</tt>)</li>
1651         <li>Khashayar Pourdeilami (<tt>kpourdei</tt>)</li>
1652       </ul></li>
1653       <li>Treasurer:<ul>
1654         <li>Weitian Ding (<tt>wt2ding</tt>)</li>
1655         <li>Aishwarya Gupta (<tt>a72gupta</tt>)</li>
1656         <li>Edward Lee (<tt>e45lee</tt>)</li>
1657       </ul></li>
1658       <li>Secretary:<ul>
1659         <li>Ilia "itchy" Chtcherbakov (<tt>ischtche</tt>)</li>
1660         <li>Luke Franceschini (<tt>l3france</tt>)</li>
1661         <li>Patrick Melanson (<tt>pj2melan</tt>)</li>
1662         <li>Ford Peprah (<tt>hkpeprah</tt>)</li>
1663         <li>Khashayar Pourdeilami (<tt>kpourdei</tt>)</li>
1664       </ul></li>
1665     </ul>
1666     <p>Voting will be heads-down, hands-up, restricted to MathSoc social
1667        members. If you'd like to review the elections procedure, you can visit
1668        our <a href="http://csclub.uwaterloo.ca/about/constitution#officers">Constitution</a>
1669        page.
1670     </p>
1671   </abstract>
1672 </eventitem>
1673
1674 <eventitem date="2015-01-15" time="6:00 PM" room="MC 2065"
1675            title="Tech Talk: Google Fiber Internet: The Messy Bits">
1676   <short>
1677     <p>
1678         Our speaker, Avery Pennarun, will share some not-very-secret secrets from
1679         the team creating GFiber's open source router firmware, including some
1680         discussion of wifi, marketing truthiness, the laws of physics, something
1681         about coaxial cables, embedded ARM processors, queuing theory, signal
1682         processing, hardware design, and kernel driver optimization. If you're lucky,
1683         he may also rant about poor garbage collector implementations. Also, there
1684         will be at least one slide containing one of those swooshy circle-and-arrow
1685         lifecycle diagrams, we promise.
1686     </p>
1687     <p>
1688         Please RSVP here: http://bit.ly/GoogleFiberTalk.
1689     </p>
1690   </short>
1691   <abstract>
1692     <p>
1693         Google Fiber's Internet service offers 1000 Mbps internet to a few cities:
1694         that's 100x faster than a typical home connection. The problem with going
1695         so fast is it moves the bottleneck around: for the first time, your Internet
1696         link may be faster than your computer, your wifi, or even your home LAN.
1697     </p>
1698     <p>
1699         Our speaker, Avery Pennarun, will share some not-very-secret secrets from
1700         the team creating GFiber's open source router firmware, including some
1701         discussion of wifi, marketing truthiness, the laws of physics, something
1702         about coaxial cables, embedded ARM processors, queuing theory, signal
1703         processing, hardware design, and kernel driver optimization. If you're lucky,
1704         he may also rant about poor garbage collector implementations. Also, there
1705         will be at least one slide containing one of those swooshy circle-and-arrow
1706         lifecycle diagrams, we promise.
1707     </p>
1708     <p>
1709         About Avery Pennarun:
1710         Avery graduated from the University of Waterloo in Computer Engineering,
1711         started some startups and some open source projects, and now works at Google
1712         Fiber on a small team building super fast wifi routers, TV settop boxes, and
1713         the firmware that runs on them. He lives in New York.
1714     </p>
1715     <p>
1716         Please RSVP here: http://bit.ly/GoogleFiberTalk.
1717     </p>
1718   </abstract>
1719 </eventitem>
1720
1721 <!-- Fall 2014 -->
1722
1723 <eventitem date="2014-11-27" time="6:00 PM" room="MC 4020" title="Talk: Heroic Android HTTP">
1724   <short>
1725     <p>
1726       The network is unreliable. 3G networking is slow. Using WiFi drains your battery.
1727       The NSA is spying on you. Different versions of HttpURLConnection have different bugs.
1728     </p>
1729     <p>
1730       Jesse Wilson, a software developer at Square, will be talking about OkHttp,
1731       a library that he maintains, and how to use it to make your app's networking work even
1732       when conditions aren't ideal. He will talk about how to configure caching to improve behavior
1733       and save resources. He will talk about crypto, and he will give advice on which libraries
1734       to use to make good networking easy.
1735     </p>
1736     <p>
1737       Please RSVP here: https://www.ticketfi.com/event/77/heroic-android-http.
1738     </p>
1739   </short>
1740 </eventitem>
1741
1742 <eventitem date="2014-11-25" time="5:30 PM" room="MC 4041" title="Talk: C++ ABI">
1743     <short>
1744         <p> C++ is an interesting study because it supports a large number of
1745             powerful, abstract concepts, yet it operates very close to the
1746             hardware compared to many modern programming languages. There are
1747             also many implementations of C++ which must be made interoperable.
1748             I will discuss some aspects of the Itanium 64 Application Binary
1749             Interface (ABI) for C++, which is now the de facto standard across
1750             Unix-like platforms of all architectures. In particular, I will
1751             cover a number of aspects of the class system fundamental to C++:
1752             data layout, polymorphic types, construction and destruction, and
1753             dynamic casting.
1754         </p>
1755     </short>
1756 </eventitem>
1757
1758 <eventitem date="2014-11-21" time="6:00 PM" room="M3 1006"
1759     title="Code Party 1/SE Hack Day #13">
1760   <short>
1761     <p>
1762        Why sleep when you could be hacking on $SIDE_PROJECT, or working on
1763        $THE_NEXT_BIG_THING with some cool CSC/SE people?
1764        Come when you want, hack on something cool, demo before you leave.
1765     </p>
1766     <p>
1767        If you don't have a project, don't worry - we have a list of ideas,
1768        and a lot of people will be looking for an extra helping hand on
1769        their projects.
1770     </p>
1771     <p>
1772        NOTE: Dinner and snacks will only be served to those working on
1773        projects during the event.
1774     </p>
1775   </short>
1776 </eventitem>
1777
1778 <eventitem date="2014-11-17" time="6:00 PM" room="QNC 1502"
1779     title="Talk: Why Pattern Recognition is Hard, and Why Deep Neural Networks Help">
1780   <short>
1781     <p>
1782        In the last few years, there has been breakthrough progress in pattern
1783        recognition -- problems like computer vision and voice recognition.
1784        This sudden progress has come from a powerful class of models called
1785        deep neural networks.
1786     </p>
1787     <p>
1788        This talk will explore what it means to do pattern recognition, why it
1789        is a hard problem, and why deep neural networks are so effective. We
1790        will also look at exciting and strange recent results, such as state
1791        of the art object recognition in images, neural nets playing video
1792        games, neural nets proving theorems, and neural nets learning to run
1793        python programs!
1794     </p>
1795     <p>
1796        Our speaker, Christopher Olah, is a math-obsessed and Haskell-loving
1797        research intern from Google's Deep Learning group. He has a blog about
1798        his research here: http://colah.github.io/.
1799     </p>
1800   </short>
1801 </eventitem>
1802
1803 <eventitem date="2014-11-12" time="5:30 PM" room="EIT 1015"
1804     title="Talk: Machine Learning at Bloomberg">
1805   <short>
1806     <p>
1807         Kang, our guest speaker from Bloomberg, will illustrate some examples and
1808         difficulties associated with working on some of the most fascinating technical
1809         challenges in business and finance.
1810         He will also show some of the machine learning applications at Bloomberg that are
1811         useful in this environment.
1812         Please show up early to ensure a spot (and dinner).
1813     </p>
1814   </short>
1815 </eventitem>
1816
1817 <eventitem date="2014-11-10" time="5:30" room="RCH 205" title="Talk: From Zero to Kernel">
1818   <short>
1819     <p>
1820         From the massive supercomputer, to your laptop, to a Raspberry Pi: all
1821         computing systems run on an operating system powered by a kernel. The kernel is
1822         the most fundamental software running on your computer, enabling developers and
1823         users to interact with its hardware at a higher level.
1824     </p>
1825     <p>
1826         This talk will explore the process of writing a minimal kernel from
1827         scratch, common kernel responsibilities, and explore of the challenges of
1828         kernel development.
1829     </p>
1830   </short>
1831 </eventitem>
1832
1833 <eventitem date="2014-11-07" time="7:00 PM" room="MC Comfy" title="'Hackers' Screening">
1834   <short>
1835     <p>
1836       Women in Computer Science (WiCS) and the Computer Science Club (CSC) will
1837       meet up in the Comfy Lounge to watch a favourite cult classic: Hackers.
1838       Join us as we relive our 90s teenage hacking fantasies and stuff our faces
1839       with popcorn and junk food.
1840     </p>
1841     <p>
1842       Hackers of the world, unite!
1843     </p>
1844   </short>
1845 </eventitem>
1846
1847 <eventitem date="2014-10-24" time="5:00 PM" room="MC 3003"
1848            title="Unix 101">
1849   <short>
1850     <p>
1851       Interested in Unix, but don't know where to start? Then Come learn some
1852       basic topics with us including interaction with the shell, motivation
1853       for using it, some simple commands, and more.
1854     </p>
1855   </short>
1856 </eventitem>
1857
1858 <eventitem date="2014-10-24" time="6:00 PM" room="MC Comfy"
1859            title="Code Party 0">
1860   <short>
1861     <p>
1862         Immediately after UNIX 101, we will be having our first annual code party.
1863         Enjoy a free dinner, relax, and share ideas with your friends about
1864         your favourite topics in computer science.  Feel free to show up
1865         with or without personal projects to work on, we've got lots of ideas
1866         to get started with.
1867     </p>
1868   </short>
1869 </eventitem>
1870
1871 <eventitem date="2014-10-22" time="5:00 PM" room="MC 4041"
1872            title="Talk: In Pursuit of the Travelling Salesman">
1873   <short>
1874     <p>
1875         The Travelling Salesman Problem is easy to state: given a number of
1876 cities along with the cost of travel between each pair, find the cheapest way
1877 to visit all of the cities and return to your starting point.  However, TSP is very  difficult to solve.
1878 In this talk, Professor Bill Cook will  discuss the history, applications, and computation of this
1879 fascinating problem.
1880     </p>
1881   </short>
1882   <abstract>
1883     <p>
1884         The Travelling Salesman Problem is easy to state: given a
1885         number of cities along with the cost of travel between each
1886         pair of them, find the cheapest way to visit them all and
1887         return to your starting point.  Easy to state, but
1888         difficult to solve.  Despite decades of research, in
1889         general it is not known how to significantly improve upon
1890         simple brute-force checking.  It is a real possibility that
1891         there may never exist an efficient method that is
1892         guaranteed to solve every instance of the problem.  This
1893         is a deep mathematical question: Is there an efficient
1894         solution method or not?  The topic goes to the core of
1895         complexity theory concerning the limits of feasible
1896         computation and we may be far from seeing its
1897         resolution. This is not to say, however, that the
1898         research community has thus far come away
1899         empty-handed.  Indeed, the problem has led to a large
1900         number of results and conjectures that are both
1901         beautiful and deep, and on the practical side solution
1902         methods are used to compute optimal or near-optimal tours
1903         for a host of applied problems on a daily basis, from
1904         genome sequencing to arranging music on iPods.  In this
1905         talk we discuss the history, applications, and
1906         computation of this fascinating problem.
1907     </p>
1908   </abstract>
1909
1910 </eventitem>
1911
1912 <eventitem date="2014-09-18" time="6:00 PM" room="MC 4021"
1913            title="Talk: Building a Mobile Platform for Android and iOS">
1914   <short>
1915     <p>
1916       Come listen to a Google software engineer give a talk on building a
1917       mobile platform for Android and iOS!
1918       Wesley Tarle has been leading development at Google in Kitchener and
1919       Mountain View, and building stuff for third-party developers on
1920       Android and iOS. He's contributed to Google Play services since its
1921       inception and continues to produce APIs and SDKs focused on mobile
1922       startups.
1923       RSVP at http://goo.gl/Pwc3m4.
1924     </p>
1925   </short>
1926 </eventitem>
1927
1928
1929 <!-- Spring 2014 -->
1930
1931 <eventitem date="2014-07-25" time="7:30 PM" room="Laurel Creek Fire Pit"
1932            title="CSC Goes Outside...Again!">
1933   <short>
1934     <p>
1935       Do you like going outside? Are you vitamin-D deficient from being in the
1936       MC too long? Do you think s'mores and bonfire are a delicious
1937       combination? If so, you should join us as the CSC is going outside again!
1938       Around 7:30PM, we're going to Laurel Creek Fire Pit for some outdoor fun.
1939       Come throw frisbees, relax and eat snacks in good company - even if you
1940       aren't a fan of the outside or vitamin-D deficient! We'll also have
1941       some sort of real food - probably pizza.
1942     </p>
1943   </short>
1944 </eventitem>
1945
1946
1947 <eventitem date="2014-07-22" time="6:00 PM" room="MC 4020"
1948            title="The Most Important Parts of School (from a CS dropout)">
1949   <short>
1950     <p>
1951       Learn about the real reasons you should be in school from David Wolever,
1952       CTO of akindi and a director of PyCon Canada.
1953     </p>
1954   </short>
1955   <abstract>
1956     <p>
1957       Hindsight is 20/20, and since leaving university I’ve had five years and three
1958       startups to reflect on the most valuable things I have (and haven’t) taken away
1959       from my time in school.
1960       David studied computer science for three years at the University of Toronto
1961       before leaving to be employee zero at a Waterloo-based startup. Since then
1962       he has been a founder of two more startups, started PyCon Canada, and has
1963       written hundreds of thousands of lines of code. He is currently CTO of Akindi, a
1964       Toronto-based startup trying to make multiple choice testing a bit less terrible.
1965       He’s best found on Twitter at http://twitter.com/wolever
1966     </p>
1967   </abstract>
1968 </eventitem>
1969
1970 <eventitem date="2014-07-11" time="5:00 PM" room="MC 3003, M3 1006"
1971            title="Unix 102, Code Party 1">
1972   <short>
1973     <p>
1974       Learn how to host a website and spend the night hacking!
1975     </p>
1976   </short>
1977   <abstract>
1978     <p>
1979       Did you know that by becoming a CSC member, you get 4GB of free webspace?
1980       Join us in MC 3003 on Friday July 11 to learn how to use that space and
1981       host content for the world to see!
1982
1983       Afterwards we will be moving over to M3 1006 for a night of hacking and
1984       snacking! Work on a personal project, open source software, or anything
1985       you wish. Food will be provided for your hacking pleasure.
1986
1987       Come join us for an evening of fun, learning, and food!
1988     </p>
1989   </abstract>
1990 </eventitem>
1991
1992 <eventitem date="2014-06-25" time="6:00 PM" room="MC 2035" title="Battle Decks">
1993   <short>
1994     <p>
1995       Five slides. Five minutes. Pure fun.
1996     </p>
1997   </short>
1998   <abstract>
1999     <p>
2000       Create an entertaining slideshow and present someone else's on the spot!
2001       Join us in MC 2035 on Wednesday June 25 at 18:00 for a fun evening of
2002       quick presentations of random slide decks. An example from last semester
2003       can be found at tinyurl.com/battle-decks-example. Please e-mail your
2004       battle deck to l3france@csclub.uwaterloo.ca. Snacks will be provided to
2005       fuel your battle hunger!
2006     </p>
2007   </abstract>
2008 </eventitem>
2009
2010 <eventitem date="2014-06-19" time="5:30 PM" room="MC 4064"
2011            title="Bloomberg Technical Talk">
2012   <short>
2013     <p>
2014       Learn how functional programming is used in the real world, while
2015       enjoying free dinner, and free swag.
2016     </p>
2017   </short>
2018   <abstract>
2019     <p>
2020       Enjoy a free dinner while Max Ransan, a lead developer at Bloomberg,
2021       talks about the use of functional programming within a recently developed
2022       product from Bloomberg. This includes UI generation, domain-specific
2023       languages, and more! Free swag will also be provided.
2024     </p>
2025   </abstract>
2026 </eventitem>
2027
2028 <eventitem date="2014-06-13" time="7:30 PM" room="Laurel Creek Fire Pit"
2029            title="CSC Goes Outside">
2030   <short>
2031     <p>
2032       Come throw a frisbee, hang around a bonfire, and roast marshmellows!
2033       This is a social event just for fun, so come relax and eat snacks in
2034       good company!
2035     </p>
2036   </short>
2037   <abstract>
2038     <p>
2039       Meet at the Laurel Creek Fire Pit (the one across Ring Road from EV3)
2040       at 7:30 for a fun night of hanging out with friends. If you aren't sure
2041       where it is, meet at the office ten minutes before hand, and we will
2042       walk over together. We'll start the evening off with throwing around
2043       a frisbee or two, and as the night goes on we'll light up the fire and
2044       get some s'mores cooking!
2045     </p>
2046   </abstract>
2047 </eventitem>
2048
2049 <eventitem date="2014-05-30" time="5:30 PM" room="MC 3003, Comfy Lounge"
2050            title="Unix 101/Code Party 0">
2051   <short>
2052     <p>
2053       Interested in Unix, but don't know where to start? Then Come learn some
2054       basic topics with us including interaction with the shell, motivation
2055       for using it, some simple commands, and more.
2056     </p>
2057     <p>
2058       Afterwards we will be moving over to the MC Comfy Lounge for a
2059       fun night of hacking! The sysadmin position will also be ratified
2060       during a general meeting of the membership at this time. Come join us
2061       for an evening of fun, learning, and food!
2062     </p>
2063   </short>
2064   <abstract>
2065     <p>
2066       Interested in Unix, but don't know where to start? Then start
2067       in MC 3003 on Friday May 30 with basic topics including
2068       interaction with the shell, motivation for using it, some simple
2069       commands, and more.
2070     </p>
2071     <p>
2072       Afterwards we will be moving over to the MC Comfy Lounge for a
2073       fun night of hacking! Work on a personal project, open source
2074       software, or anything you wish. Food will be available for your
2075       hacking pleasure. The Sysadmin position will also be ratified
2076       during a general meeting at this time. Come join us for an
2077       evening of fun, learning, and food!
2078     </p>
2079   </abstract>
2080 </eventitem>
2081
2082 <eventitem date="2014-05-15" time="6:00 PM" room="Comfy Lounge"
2083            title="Spring 2014 Elections">
2084   <short>
2085     <p>The Computer Science Club will soon be holding elections for this term's
2086     executive. The president, vice president, treasurer, and secretary for the
2087     spring 2014 term will be elected. The system administrator, office manager,
2088     and librarian are also typically appointed here.
2089     </p>
2090   </short>
2091   <abstract>
2092     <p>Nominations are now closed. The candidates are:</p>
2093     <ul>
2094       <li>President:<ul>
2095         <li>Jinny Kim (<tt>yj7kim</tt>)</li>
2096         <li>Matthew Thiffault (<tt>mthiffau</tt>)</li>
2097         <li>Shane Creighton-Young (<tt>srcreigh</tt>)</li>
2098         <li>Hayford Peprah (<tt>hkpeprah</tt>)</li>
2099       </ul></li>
2100       <li>Vice-President:<ul>
2101         <li>Luke Franceschini (<tt>l3france</tt>)</li>
2102         <li>Jinny Kim (<tt>yj7kim</tt>)</li>
2103         <li>Shane Creighton-Young (<tt>srcreigh</tt>)</li>
2104         <li>Hayford Peprah (<tt>hkpeprah</tt>)</li>
2105       </ul></li>
2106       <li>Treasurer:<ul>
2107         <li>Luke Franceschini (<tt>l3france</tt>)</li>
2108         <li>Matthew Thiffault (<tt>mthiffau</tt>)</li>
2109         <li>Catherine Mercer (<tt>ccmercer</tt>)</li>
2110         <li>Joseph Chouinard (<tt>jchouina</tt>)</li>
2111       </ul></li>
2112       <li>Secretary:<ul>
2113         <li>Luke Franceschini (<tt>l3france</tt>)</li>
2114         <li>Catherine Mercer (<tt>ccmercer</tt>)</li>
2115         <li>Joseph Chouinard (<tt>jchouina</tt>)</li>
2116         <li>Ifaz Kabir (<tt>ikabir</tt>)</li>
2117       </ul></li>
2118     </ul>
2119   </abstract>
2120 </eventitem>
2121
2122
2123
2124 <!-- Winter 2014 -->
2125
2126
2127 <eventitem date="2014-03-28" time="7:00 PM" room="CPH 1346" title="HackWaterloo">
2128     <short>
2129         <p>Work on a software project for 24 hours in teams of up to 4 members. Swag will be provided
2130     by Facebook and Google. A Microsoft Surface Tablet will be awarded to the winning team.
2131     Register and find out more at <a href="http://hack-waterloo.com">http://hack-waterloo.com</a>.</p>
2132     </short>
2133     <abstract>
2134         <p>Work on a software project for 24 hours in teams of up to 4 members. Swag will be provided
2135     by Facebook and Google. A Microsoft Surface Tablet will be awarded to the winning team.
2136     Register and find out more at <a href="http://hack-waterloo.com">http://hack-waterloo.com</a>.</p>
2137     </abstract>
2138 </eventitem>
2139
2140 <eventitem date="2014-03-18" time="7:00 PM" room="MC 4041" title="Battle Decks">
2141     <short>
2142         <p>Create a 5-slide PowerPoint presentation about a specific topic. Bring it with
2143             you to the event (on a flash drive). Submit it into the lottery. Select a random
2144             PowerPoint presentation from the lottery and talk about it on the spot.
2145         </p>
2146     </short>
2147     <abstract>
2148         <p>Create a 5-slide PowerPoint presentation about a specific topic. Bring it with
2149             you to the event (on a flash drive). Submit it into the lottery. Select a random
2150             PowerPoint presentation from the lottery and talk about it on the spot.
2151         </p>
2152     </abstract>
2153 </eventitem>
2154
2155 <eventitem date="2014-03-14" time="7:00 PM" room="Comfy Lounge" title="Code Party 1">
2156     <short>
2157         <p>We will be having our 2nd code party this term. Enjoy a free dinner, relax, and
2158            share ideas with your friends about your favourite topics in computer science.
2159         </p>
2160     </short>
2161     <abstract>
2162         <p>We will be having our 2nd code party this term. Enjoy a free dinner, relax, and
2163            share ideas with your friends about your favourite topics in computer science.
2164         </p>
2165     </abstract>
2166 </eventitem>
2167
2168 <eventitem date="2014-02-13" time="5:30 PM" room="MC 3003" title="UNIX 101">
2169     <short><p>Learn the basics of using tools found commonly on UNIX-like operating systems.
2170     For students new to this topic, knowledge gained from UNIX 101 would be useful in coursework.</p>
2171     </short>
2172     <abstract><p>Learn the basics of using tools found commonly on UNIX-like operating systems.
2173     For students new to this topic, knowledge gained from UNIX 101 would be useful in coursework.</p>
2174     </abstract>
2175 </eventitem>
2176
2177 <eventitem date="2014-02-13" time="6:30 PM" room="Comfy Lounge" title="Code Party 0">
2178     <short><p>Immediately after UNIX 101, we will be having our first annual code party.
2179             Enjoy a free dinner, relax, and share ideas with your friends about
2180             your favourite topics in computer science.</p>
2181     </short>
2182     <abstract><p>Immediately after UNIX 101, we will be having our first annual code party.
2183             Enjoy a free dinner, relax, and share ideas with your friends about
2184            your favourite topics in computer science.</p>
2185     </abstract>
2186 </eventitem>
2187
2188
2189 <eventitem date="2014-02-04" time="5:30 PM" room="MC 4058" title="Bloomberg Talk">
2190   <short><p>
2191           Bloomberg's Alex Scotti will be presenting a talk this Tuesday on concurrency control
2192           implementations in relational databases. Free swag and dinner will be provided.
2193   </p></short>
2194   <abstract>
2195       <p>Join Alex Scotti of Bloomberg LP for a discussion of concurrency control
2196           implementation in relational database systems. Focus will be placed on the
2197           optimistic techniques as employed and developed inside Combdb2, Bloomberg's
2198           database system.</p>
2199       <p>Food will be served by Kismet!</p>
2200   </abstract>
2201 </eventitem>
2202
2203
2204 <eventitem date="2014-01-16" time="5:30 PM" room="Comfy Lounge" title="Winter 2014 Elections">
2205   <short><p>
2206      Elections for Winter 2014 are being held! The Executive will be elected,
2207      and the Office Manager and Librarian will be appointed by the new
2208      executive.
2209   </p></short>
2210   <abstract>
2211     <p>It's elections time again! On Thursday, January 16 at 5:30PM, come to the Comfy Lounge
2212     on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
2213     and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
2214
2215     <p>Nominations are open until 4:30PM on Wednesday, January 15, and can be written
2216     on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
2217     members can vote and are invited to drop by. You may also send nominations to
2218     the <a href="mailto:cro@csclub.uwaterloo.ca">Chief Returning Officer</a> by email.</p>
2219
2220     <p>Nominations are now closed. The candidates are:</p>
2221     <ul>
2222       <li>President:<ul>
2223         <li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
2224         <li>Nicholas Black (<tt>nablack</tt>)</li>
2225         <li>Bryan Coutts (<tt>b2coutts</tt>)</li>
2226         <li>Annamaria Dosseva (<tt>mdosseva</tt>)</li>
2227         <li>Youn Jin Kim (<tt>yj7kim</tt>)</li>
2228         <li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
2229       </ul></li>
2230       <li>Vice-President:<ul>
2231         <li>Nicholas Black (<tt>nablack</tt>)</li>
2232         <li>Bryan Coutts (<tt>b2coutts</tt>)</li>
2233         <li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
2234       </ul></li>
2235       <li>Treasurer:<ul>
2236         <li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
2237         <li>Nicholas Black (<tt>nablack</tt>)</li>
2238         <li>Marc Burns (<tt>m4burns</tt>)</li>
2239         <li>Bryan Coutts (<tt>b2coutts</tt>)</li>
2240       </ul></li>
2241       <li>Secretary:<ul>
2242         <li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
2243         <li>Bryan Coutts (<tt>b2coutts</tt>)</li>
2244         <li>Mark Farrell (<tt>m4farrel</tt>)</li>
2245       </ul></li>
2246     </ul>
2247   </abstract>
2248 </eventitem>
2249
2250
2251 <!-- Fall 2013 -->
2252 <eventitem date="2013-11-23" time="TBD" room="Toronto, ON"
2253            title="CSC Goes to Toronto Erlang Factory Lite 2013">
2254   <short><p>
2255     The CSC has been invited to attend this Erlang conference in Toronto. If
2256     you are interested in attending, please sign up on our <a
2257     href="http://goo.gl/8XOELB">web form</a>. We have submitted a MEF proposal
2258     to cover the transportation fees of up to 25 math undergraduates.
2259   </p></short>
2260   <abstract><p>
2261     The CSC has been invited to attend this Erlang conference in Toronto. If you
2262     are interested in attending, please sign up on our <a
2263     href="http://goo.gl/8XOELB">web form</a>, so we can coordinate the group.
2264     We have submitted a MEF proposal to cover the transportation fees of up to
2265     25 math undergraduates to attend. You will be responsible for your
2266     conference fee and transportation, and if the MEF proposal is granted, you
2267     can submit your bus tickets/mileage record and conference badge to MEF for
2268     a reimbursement. From the <a
2269     href="https://www.erlang-factory.com/conference/Toronto2013">conference
2270     website</a>:</p>
2271
2272     <p>"Our first ever Toronto Erlang Factory Lite has been confirmed. Join us
2273     on 23 November for a full day debate on Erlang as a powerful tool for
2274     building innovative, scalable and fault tolerant applications. Our speakers
2275     will showcase examples from their work experience and their personal success
2276     stories, thus presenting how Erlang solves the problems related to
2277     scalability and performance. At this event we will focus on what Erlang
2278     brings to the table in the multicore era."
2279   </p></abstract>
2280 </eventitem>
2281
2282 <eventitem date="2013-11-22" time="6:30PM" room="MC 3001 (Comfy)"
2283            title="Hackathon-Code Party!!">
2284   <short><p>
2285     Join us for a night of code, food, and caffeine! There will be plenty of
2286     edibles and hacking for your enjoyment. If you are interested in getting
2287     involved in Open Source, there will be mentors on hand to get you started.
2288     Hope to see you there&mdash;bring your friends!
2289   </p></short>
2290  <abstract><p>
2291     Join us for a night of code, food, and caffeine! There will be plenty of
2292     edibles and hacking for your enjoyment, including a full catered dinner
2293     courtesy of the Mathematics Society.</p>
2294
2295     <p>There will be two Open Source projects featured at tonight's code
2296     party, with mentors on hand for each. Here is a quick summary of each of
2297     the projects available:</p>
2298
2299     <p><b><a href="http://openhatch.org">OpenHatch</a>:</b> Not sure where to
2300     start? Not to fear! OpenHatch is a project that seeks to introduce people
2301     to Open Source for the first time and help you get involved. There will be
2302     a presentation with an introduction to the tools and information you will
2303     need, and mentors present to help you get set up to fix your first
2304     bug.</p>
2305
2306     <p><b><a
2307 href="http://uwaterloo.ca/games-institute/events/social-innovation-simulation-design-jam-day-1">Social
2308     Innovation Simulation Design Jam</a>:</b> The UWaterloo Games Institute and
2309     SiG@Waterloo will be partnering with us tonight to kick off their weekend
2310     hackathon Design Jam. They seek coders, artists, writers, database and
2311     graphics people to help them out with their project.
2312   </p></abstract>
2313 </eventitem>
2314
2315 <eventitem date="2013-11-26" time="5:00PM" room="MC 2038" title="Disk Encryption">
2316   <short><p>
2317     The last lecture of our security and privacy series. By MMath alumnus
2318     Zak Blacher.
2319   </p></short>
2320   <abstract><p>
2321     In Zak's talk, "Disk Encryption: Digital Forensic Analysis &amp; Full
2322     Volume Encryption", he aims to cover filesystem forensic analysis
2323     and counter forensics by addressing the entire design stack; starting with
2324     filesystem construction, design, and theory, and drilling down to the inner
2325     workings of hard drives (modern platter hdds, as well as mlc-ssds). This
2326     talk leads in to a discussion on full volume encryption, and how this helps
2327     to protect one's data.</p>
2328
2329     <p>The sixth and final lecture of our security and privacy series.
2330   </p></abstract>
2331 </eventitem>
2332
2333 <eventitem date="2013-11-12" time="5:00PM" room="MC 4060" title="Trust in ISPs">
2334   <short><p>
2335     This is the fifth lecture of six in the Security and Privacy Lecture
2336     Series. By founding member of the Canadian Cybersecurity Institute and
2337     employee of local ISP Sentex Sean Howard.
2338   </p></short>
2339   <abstract><p>
2340     Bell's recent announcement of their use of Deep Packet Inspection (DPI)
2341     brings to light a long-standing issue: your internet service provider (ISP)
2342     pwns you. They control your IP allocation, your DNS, your ARP, the AS paths.
2343     The question has never been about ability&mdash;it's about trust. Whether
2344     Rogers, AT&amp;T, Virgin, Telus, Vodafone or Wind, your onramp to the
2345     internet is your first and most potent point of security failure.</p>
2346
2347     <p>Founding member of the Canadian Cybersecurity Institute and employee of
2348     local ISP Sentex Sean Howard will vividly demo the reasons you need to be
2349     ble to trust your internet provider. Come for the talk, stay for the
2350     pizza!</p>
2351
2352     <p>This is the fifth lecture of six in the Security and Privacy Lecture
2353     Series.
2354   </p></abstract>
2355 </eventitem>
2356
2357
2358 <eventitem date="2013-11-05" time="6:00PM" room="MC 3001 (Comfy)"
2359            title="Hands On Seminar on Public Key Cryptography">
2360   <short><p>
2361     The fourth event in our security and privacy series. By undergraduate
2362     students Murphy Berzish and Nick Guenther.
2363   </p></short>
2364   <abstract><p>
2365 Nick Guenther and Murphy Berzish will be holding a hands-on seminar in the
2366 Comfy to introduce you to public-private key crypto and how you can practically
2367 use it, so bring your laptops! You will learn about PGP, an encryption protocol
2368 that provides confidentiality and authenticity. At the seminar, you will learn
2369 how to use PGP to send encrypted email and files, provably identify yourself to
2370 others, and verify data. Bring a laptop so we can help help you generate your
2371 first keypair and give you the chance to form a Web of Trust with your
2372 peers.</p>
2373
2374 <p>A GSIntroducer from <a href="www.GSWoT.org">www.GSWoT.org</a> will be on
2375 hand. If you are interested in obtaining an elevated level of trust, bring
2376 government-issued photo-ID.</p>
2377
2378 <p>There will also be balloons and cake.
2379   </p></abstract>
2380 </eventitem>
2381
2382
2383 <eventitem date="2013-10-24" time="6:30PM" room="DC 1302"
2384            title="Practical Tor Usage">
2385   <short><p>
2386     The third lecture of our security and privacy series. By undergraduate
2387     student Simon Gladstone.
2388   </p></short>
2389   <abstract><p>
2390     An introduction to and overview of how to use the Tor Browser Bundle to
2391     browse the "Deep Web" and increase security while browsing the Internet. Tor
2392     is not the be all end all of Internet security, but it is definitely a step
2393     up from using the more popular browsers such as Chrome, Firefox, or
2394     Safari.</p>
2395
2396     <p>The third lecture of our security and privacy series. By undergraduate
2397     student Simon Gladstone.
2398   </p></abstract>
2399 </eventitem>
2400
2401
2402 <eventitem date="2013-10-15" time="5:00PM" room="MC 4060"
2403            title="Tunnels and Censorship">
2404   <short><p>
2405     The second lecture of our security and privacy series. By undergraduate student
2406     Eric Dong.
2407   </p></short>
2408   <abstract><p>
2409     In this talk, I will discuss censorship firewalls used in countries such as
2410     China and Iran, and how to counteract them. The focus is on advanced
2411     application-layer and Deep Packet Inspection firewalls, and unexpected hurdles
2412     in overcoming censorship by these firewalls due to the need for very
2413     unconventional adversary models. Approaches of the privacy tool Tor, popular
2414     proprietary freeware Ultrasurf and Freegate, payware VPNs, and my own
2415     experimental Kirisurf project are examined, where strengths and difficulties
2416     with each system are noted.</p>
2417
2418     <p>The second lecture of our security and privacy series. By undergraduate
2419     student Eric Dong.
2420   </p></abstract>
2421 </eventitem>
2422
2423
2424 <eventitem date="2013-10-08" time="5:00PM" room="MC 4041"
2425            title="Why Should You Care About Security and Privacy">
2426   <short><p>
2427     The first lecture of our security and privacy series. By PhD student Sarah
2428     Harvey.
2429   </p></short>
2430   <abstract><p>
2431     Recent media coverage has brought to light the presence of various government
2432     agencies' surveillance programs, along with the possible interference of
2433     governments in the establishment and development of standards and software.
2434     This brings to question of just how much we need to be concerned about the
2435     security and privacy of our information.</p>
2436
2437     <p>In this talk we will discuss what all this means in technological and social
2438     contexts, examine the status quo, and consider the long-standing implications.
2439     This talk assumes no background knowledge of security or privacy, nor any
2440     specific technical background. All students are welcome and encouraged to
2441     attend.</p>
2442
2443     <p>The first lecture of our security and privacy series. By PhD student
2444     Sarah Harvey.
2445   </p></abstract>
2446 </eventitem>
2447
2448
2449 <eventitem date="2013-10-03" time="6:30PM" room="PHY 150"
2450            title="C++ GoingNative Lectures">
2451   <short><p>
2452     We will be showing GoingNative
2453     lectures from some of the top individuals working on C++
2454     approximately biweekly on Thursdays at 6:30PM in the PHY 150 theatre. Every
2455     lecture will be accompanied with free pizza and drinks! Dates are Oct. 3, 17,
2456     31 and Nov. 7 and 21. Please view this event in detail for more information.
2457   </p></short>
2458   <abstract><p>
2459     If you're not familiar with the C++ GoingNative series, you can check them
2460     out on the <a
2461     href="http://channel9.msdn.com/Events/GoingNative/2013">GoingNative
2462     website</a>.</p>
2463
2464     <p>We will be showing lectures from some of the top individuals working on C++
2465     approximately biweekly on Thursdays in the PHY 150 theatre. Every lecture will
2466     be accompanied with free pizza and drinks! Here is our schedule and the planned
2467     showings:</p>
2468
2469     <ul>
2470       <li>Thu. Oct. 3,  6:30PM: Stroustrup - The Essence of C++</li>
2471       <li>Thu. Oct. 17, 6:30PM: Lavavej - Don't Help The Compiler</li>
2472       <li>Thu. Oct. 31, 6:30PM: Meyers - An Effective C++ Sampler</li>
2473       <li>Thu. Nov. 7,  6:30PM: Alexandrescu - Writing Quick C++ Code, Quickly</li>
2474       <li>Thu. Nov. 21, 6:30PM: Parent - C++ Seasoning</li>
2475     </ul>
2476   </abstract>
2477 </eventitem>
2478
2479 <eventitem date="2013-10-17" time="6:30PM" room="PHY 150"
2480            title="C++ Night 0x02 - Don't Help The Compiler">
2481   <short><p>
2482     The second in a series of recorded talks from GoingNative 2013. Featuring
2483 Stephan T. Lavavej.
2484   </p></short>
2485   <abstract><p>
2486     The second in a series of recorded talks from GoingNative 2013. Featuring
2487 Stephan T. Lavavej.
2488   </p><p>
2489     C++ has powerful rules for dealing with low-level program structure.
2490 Before a program is ever executed, the compiler determines valuable information
2491 about every expression in the source code.  The compiler understands exactly
2492 how long each object's resources will be needed (lifetime), whether each
2493 expression refers to an object that the program has no other way of accessing
2494 (rvalueness), and what operations can be performed on each object (type).
2495 Using examples from C++98 through C++14, this presentation will demonstrate how
2496 to write code that works with the compiler's knowledge to increase robustness,
2497 efficiency, and clarity.  This presentation will also demonstrate the horrible
2498 things that happen when programmers think they can do tasks that are better
2499 left to compilers.
2500   </p></abstract>
2501 </eventitem>
2502
2503
2504 <eventitem date="2013-10-31" time="6:30PM" room="PHY 150"
2505            title="C++ Night 0x03 - An Effective C++11/14 Sampler">
2506   <short><p>
2507     The third in a series of recorded talks from GoingNative 2013. Featuring
2508 Scott Meyers.
2509   </p></short>
2510   <abstract><p>
2511     The third in a series of recorded talks from GoingNative 2013. Featuring
2512 Scott Meyers.
2513   </p><p>
2514     After years of intensive study (first of C++0x, then of C++11, and most
2515 recently of C++14), Scott thinks he finally has a clue. About the effective use
2516 of C++11, that is (including C++14 revisions). At last year’s Going Native,
2517 Herb Sutter predicted that Scott would produce a new version of Effective C++
2518 in the 2013-14 time frame, and Scott’s working on proving him almost right.
2519 Rather than revise Effective C++, Scott decided to write a new book that
2520 focuses exclusively on C++11/14: on the things the experts almost always do (or
2521 almost always avoid doing) to produce clear, efficient, effective code. In this
2522 presentation, Scott will present a taste of the Items he expects to include in
2523 Effective C++11/14.
2524   </p></abstract>
2525 </eventitem>
2526
2527
2528 <eventitem date="2013-11-07" time="6:30PM" room="PHY 150"
2529            title="C++ Night 0x04 - Writing Quick Code in C++, Quickly">
2530   <short><p>
2531     The fourth in a series of recorded talks from GoingNative 2013. Featuring
2532 Andrei Alexandrescu.
2533   </p></short>
2534   <abstract><p>
2535     The fourth in a series of recorded talks from GoingNative 2013. Featuring
2536 Andrei Alexandrescu.
2537   </p><p>
2538     Contemporary computer architectures make it possible for slow code to work
2539 reasonably well. They also make it difficult to write really fast code that
2540 exploits the CPU amenities to their fullest. And the smart money is on fast
2541 code—we’re running out of cool things to do with slow code, and the battle will
2542 be on doing really interesting and challenging things at the envelope of what
2543 the computing fabric endures.
2544   </p><p>
2545     So how to write quick code, quickly? Turns out it’s quite difficult because
2546 today’s complex architectures defy simple rules to be applied everywhere. It is
2547 not uncommon that innocuous high-level artifacts have a surprisingly high
2548 impact on the bottom line of an application’s run time (and power consumed).
2549   </p><p>
2550     This talk is an attempt to set forth a few pieces of tactical advice for
2551 writing quick code in C++. Applying these is not guaranteed to produce optimal
2552 code, but is likely to put it reasonably within the ballpark.  </p><p>
2553     These tips are based on practical experience but also motivated by the
2554 inner workings of modern CPUs.
2555   </p></abstract>
2556 </eventitem>
2557
2558
2559 <eventitem date="2013-11-21" time="6:30PM" room="PHY 150"
2560            title="C++ Night 0x05 - C++ Seasoning">
2561   <short><p>
2562     The fifth in a series of recorded talks from GoingNative 2013. Featuring
2563 Sean Parent.
2564   </p></short>
2565   <abstract><p>
2566     The fifth in a series of recorded talks from GoingNative 2013. Featuring
2567 Sean Parent.
2568   </p><p>
2569     A look at many of the new features in C++ and a couple of old features you
2570 may not have known about. With the goal of correctness in mind, we’ll see how
2571 to utilize these features to create simple, clear, and beautiful code. Just a
2572 little pinch can really spice things up.
2573   </p></abstract>
2574 </eventitem>
2575
2576
2577 <eventitem date="2013-10-30" time="6:00PM" room="Bingemans"
2578            title="CSC Goes Bowling">
2579   <short><p>
2580     All CSC members and their guests are invited for a night of free bowling at
2581     Bingemans! Transportation will be provided. If you are interested in attending,
2582     please RSVP using the online form by Oct. 18. You can find it by viewing this
2583     event in detail.
2584   </p></short>
2585   <abstract><p>
2586     We are pleased to kick off the term with free bowling for all interested
2587     members at Bingemans! Transportation will be provided. If you are interested in
2588     attending, please RSVP using <a href="http://goo.gl/FsZIfK">this online
2589     form</a> by Oct. 18.</p>
2590
2591     <p>Please note the event date change (Oct. 23 to Oct. 30).
2592     The bus will be leaving from the Davis Center at 6:00PM sharp on the 30th.
2593   </p></abstract>
2594 </eventitem>
2595
2596
2597 <eventitem date="2013-09-17" time="4:30 PM" room="Comfy Lounge"
2598            title="Fall 2013 Elections">
2599   <short><p>
2600      Elections for Fall 2013 are being held! The Executive will be elected,
2601      and the Office Manager and Librarian will be appointed by the new
2602      executive.
2603   </p></short>
2604   <abstract>
2605     <p>It's elections time again! On Tuesday, Sept 17 at 4:30PM, come to the Comfy Lounge
2606     on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
2607     and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
2608
2609     <p>Nominations are open until 4:30PM on Monday, Sept 16, and can be written
2610     on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
2611     members can vote and are invited to drop by. You may also send nominations to
2612     the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
2613     full list of candidates will be posted when nominations close.</p>
2614
2615     <p>Nominations are now closed. The candidates are:</p>
2616     <ul>
2617       <li>President:<ul>
2618         <li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
2619         <li>Elana Hashman (<tt>ehashman</tt>)</li>
2620         <li>Sean Hunt (<tt>scshunt</tt>)</li>
2621         <li>Marc Burns (<tt>m4burns</tt>)</li>
2622         <li>Matt Thiffault (<tt>mthiffau</tt>)</li>
2623       </ul></li>
2624       <li>Vice-President:<ul>
2625         <li>Dmitri Tkatch (<tt>dtkatch</tt>)</li>
2626         <li>Marc Burns (<tt>m4burns</tt>)</li>
2627         <li>Sean Hunt (<tt>scshunt</tt>)</li>
2628         <li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
2629       </ul></li>
2630       <li>Treasurer:<ul>
2631         <li>Bernice Herghiligiu (<tt>baherghi</tt>)</li>
2632         <li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
2633         <li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
2634         <li>Marc Burns (<tt>m4burns</tt>)</li>
2635       </ul></li>
2636       <li>Secretary:<ul>
2637         <li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
2638         <li>Edward Lee (<tt>e45lee</tt>)</li>
2639         <li>Marc Burns (<tt>m4burns</tt>)</li>
2640       </ul></li>
2641     </ul>
2642   </abstract>
2643 </eventitem>
2644
2645 <!-- Spring 2013 -->
2646 <eventitem date="2013-07-26" time="7:00PM" room="Comfy Lounge" title="Code Party 1">
2647   <short><p>
2648     Come out to the Code Party happening in the Comfy Lounge on July 26 at 7:00 PM!
2649     Why sleep when you could be hacking on $your_favourite_project or doing
2650     $something_classy in great company? Join us for a night of coding, snacks,
2651     and camaraderie!
2652   </p></short>
2653   <abstract><p>
2654     Come out to the Code Party happening in the Comfy Lounge on July 26 at 7:00 PM!
2655     Why sleep when you could be hacking on $your_favourite_project or doing
2656     $something_classy in great company? Join us for a night of coding, snacks,
2657     and camaraderie!
2658   </p></abstract>
2659 </eventitem>
2660
2661 <eventitem date="2013-07-22" time="5:00PM" room="MC 4020"
2662 title="The Future of 3D Graphics is in Software!">
2663   <short><p>
2664     Convergence between CPU and GPU approaches to processing sets the stage for an
2665     exciting transition to 3D rendering that takes place entirely in software.
2666     TransGaming's Nicolas Capens and Gavriel State will speak about this convergence
2667     and how it will influence the future of graphics.
2668   </p></short>
2669   <abstract><p>
2670     For some time now, it has been clear that there is strong momentum for convergence
2671     between CPU and GPU technologies. Initially, each technology used radically different
2672     approaches to processing, but over time GPUs have evolved to support more general
2673     purpose use while CPUs have evolved to include advanced vector processing and multiple
2674     execution cores. At TransGaming, we believe that this convergence will continue to the
2675     point where typical systems have only one type of processing unit, with large numbers
2676     of cores and very wide vector execution units available for high performance parallel
2677     execution. In this kind of environment, all graphics processing will ultimately take
2678     place in software.
2679   </p><p>
2680     In this talk, we will explore the converging nature of CPU and GPU approaches to
2681     processing, how dynamic specialization allows CPUs to efficiently perform tasks usually
2682     done by GPUs, and why we believe that the increased flexibility of more programmable
2683     architectures will ultimately win out over fixed function hardware, even in areas such
2684     as texture sampling.
2685   </p><p>
2686     <strong>TransGaming Inc.</strong> works at the cutting edge of 3D graphics, building
2687     technologies that bridge the gap between platform boundaries to allow games to be played
2688     on a variety of devices and operating systems. TransGaming works with other industry
2689     leaders to update established APIs such as OpenGL, while also breaking new ground in
2690     software rendering technology, which we believe will become increasingly important as
2691     CPU and GPU technologies converge.
2692   </p><p>
2693     <strong>Nicolas Capens</strong> is the architect of SwiftShader, TransGaming's high
2694     performance software renderer, and is also deeply involved in the ANGLE project, which
2695     provides efficient translation from OpenGL ES to Direct3D APIs for implementing WebGL
2696     on Windows. Nicolas received his MSci.Eng. degree in computer science from Ghent
2697     University in 2007.
2698   </p><p>
2699     <strong>Gavriel State (Gav)</strong> is TransGaming's Founder and CTO, and has worked in
2700     graphics and portability for over 20 years on dozens of platforms and APIs. Gav wrote
2701     his first software renderer when taking CS488 at UW, where he later graduated with a
2702     B.A.Sc. in Systems Design Engineering.
2703   </p></abstract>
2704 </eventitem>
2705
2706 <eventitem date="2013-07-19" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside!">
2707   <short><p>
2708     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to
2709     face the newly-grown geese? Do you want to play some Frisbee while listening to some
2710     chill tunes? If so, come hang out with the CSC at the EV3 Fire Pit this Friday!
2711     All are welcome for some outdoor food, games, and music.
2712   </p></short>
2713   <abstract><p>
2714     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to
2715     face the newly-grown geese? Do you want to play some Frisbee while listening to some
2716     chill tunes? If so, come hang out with the CSC at the EV3 Fire Pit this Friday!
2717     All are welcome for some outdoor food, games, and music.
2718   </p></abstract>
2719 </eventitem>
2720
2721 <eventitem date="2013-07-18" time="5:00PM" room="MC 4041" title="Path Tracing">
2722   <short><p>
2723     As a follow on to last term's tutorial on building a ray-tracer from scratch,
2724     this talk will be presenting the basic mechanics of how a bidirectional path-tracer
2725     creates a globally illuminated scene, advantages and limitations of this approach over
2726     other offline global illumination techniques along with a simple example path-tracer
2727     written in C++, and opportunities for hardware acceleration on GPUs, time permitting.
2728   </p></short>
2729   <abstract><p>
2730     As a follow on to last term's tutorial on building a ray-tracer from scratch,
2731     this talk will be presenting the basic mechanics of how a bidirectional path-tracer
2732     creates a globally illuminated scene, advantages and limitations of this approach over
2733     other offline global illumination techniques along with a simple example path-tracer
2734     written in C++, and opportunities for hardware acceleration on GPUs, time permitting.
2735   </p></abstract>
2736 </eventitem>
2737
2738 <eventitem date="2013-07-11" time="5:00PM" room="MC 4041" title="3D Movies and Computer Science">
2739   <short><p>
2740     While humans started making 3D motion pictures in the 1800's, several technical and
2741     artistic challenges prevented widespread interest in the medium.  By investing heavily
2742     in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered
2743     in an era of mainstream interest in 3D film.  However, many technical and artistic
2744     problems still find their way into otherwise-modern 3D movies.  The talk explores some
2745     of these problems while introducing the fundamentals of 3D film-making from a CS
2746     perspective.
2747   </p></short>
2748   <abstract><p>
2749     While humans started making 3D motion pictures in the 1800's, several technical and
2750     artistic challenges prevented widespread interest in the medium.  By investing heavily
2751     in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered
2752     in an era of mainstream interest in 3D film.  However, many technical and artistic
2753     problems still find their way into otherwise-modern 3D movies.  The talk explores some
2754     of these problems while introducing the fundamentals of 3D film-making from a CS
2755     perspective.
2756   </p></abstract>
2757 </eventitem>
2758
2759 <!-- <eventitem date="2013-07-05" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside">
2760   <short><p>
2761     Come hang out with the CSC for s'mores, burgers, Frisbees, and fire this Friday!
2762     We will be hanging out at the EV3 Fire Pit starting at 7:00PM. All are welcome to
2763     partake in the food, games, and music. See you there!
2764   </p></short>
2765   <abstract><p>
2766     Do you love the combination of s'mores, burgers, and fire? Are you brave enough to face
2767     the newly-grown geese? Do you want to play some Frisbee? If so, come hang out with the CSC
2768     at the EV3 Fire Pit this Friday!
2769     All are welcome for some outdoor fun, food, games, and music.
2770   </p>
2771   <p>
2772     If you have any questions or concerns, please contact exec@csclub.uwaterloo.ca.
2773   </p></abstract>
2774 </eventitem> -->
2775
2776 <eventitem date="2013-06-07" time="6:00 PM, 8:00PM" room="Comfy Lounge" title="Unix 101/ Code Party 0">
2777   <short><p>
2778     We are offering a Unix tutorial on Friday, June 7th, 2013! Following the tutorial a code party will take place.
2779     Bring your laptops and chargers for an awesome night of coding, hacking and learning.
2780     All are welcome to join in the comfy lounge!
2781   </p></short>
2782   <abstract>
2783     <p>We are offering a Unix tutorial on Friday, June 7th, 2013 at 6:00pm! Following the tutorial a code party will take place.
2784     Bring your laptops and chargers for an awesome night of coding, hacking and learning.
2785     All are welcome to join in the comfy lounge!</p>
2786
2787     <p>If you have any questions about Unix101/ Code Party 0 please contact exec@csclub.uwaterloo.ca. </p>
2788
2789     <p>Hope to see you there!</p>
2790   </abstract>
2791 </eventitem>
2792
2793 <eventitem date="2013-05-15" time="6:00 PM" room="Comfy Lounge" title="Spring 2013 Elections">
2794   <short><p>
2795      Elections for Spring 2013 are being held! The Executive will be elected,
2796      and the Office Manager and Librarian will be appointed by the new
2797      executive.
2798   </p></short>
2799   <abstract>
2800     <p>It's elections time again! On Wednesday, May 15 at 6:00PM, come to the Comfy Lounge
2801     on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
2802     and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
2803
2804     <p>Nominations are open until 4:30PM on Tuesday, May 14, and can be written
2805     on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
2806     members can vote and are invited to drop by. You may also send nominations to
2807     the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
2808     full list of candidates will be posted when nominations close, along with
2809     instructions for voting remotely.</p>
2810
2811     <p>Good luck to our candidates!</p>
2812   </abstract>
2813 </eventitem>
2814
2815 <!-- Winter 2013 -->
2816 <eventitem date="2013-04-01" time="7:00 PM" room="Comfy Lounge" title="Code Party 1">
2817         <short>
2818 <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>
2819         </short>
2820         <abstract>
2821 <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>
2822         </abstract>
2823 </eventitem>
2824
2825 <eventitem date="2013-04-01" time="6:00 PM" room="MC 3003" title="Unix 101">
2826         <short>
2827 <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>
2828         </short>
2829         <abstract>
2830 <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>
2831 <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>
2832         </abstract>
2833 </eventitem>
2834
2835 <eventitem date="2013-03-21" time="4:30 PM" room="MC 4020" title="Using Computers to Find Evidence in Litigation">
2836     <short>
2837 <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>
2838     </short>
2839     <abstract>
2840 <p>In a lawsuit, each party is typically entitled to Discovery, in which the
2841 other party is compelled to produce any "documents" in its possession that
2842 may be pertinent to the case.   Documents include not only traditional
2843 paper documents, but email messages, text messages, computer files, and
2844 other electronically stored information, or ESI.  Suppose you were
2845 compelled to produce every document in your possession pertaining to
2846 software downloads or purchases?  How would you do it?   If you were a
2847 large corporation, you would probably hire an army of lawyers to read all
2848 your email, plus your assignments, and any other files on your UW account,
2849 your laptop, your phone, and your tablet, at a cost of one dollar or more
2850 per file.  As a CSC member, you know there must be a better way.  But what
2851 is that better way, and how do you convince the court to let you use it?</p>
2852 <p>It turns out that spam filters that employ machine learning can do this job
2853 well -- better than that army of lawyers.  But lawyers aren't happy about
2854 this.  This talk will outline how the technology works and how to prove
2855 that it works, so as to convince scientists, lawyers, and judges.</p>
2856     </abstract>
2857 </eventitem>
2858
2859 <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">
2860     <short>
2861     <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>
2862     </short>
2863     <abstract>
2864 <p>High-level languages insulate the programmer from the machine. That's a
2865 wonderful thing -- except when it obscures the answers to the fundamental
2866 questions of "What does the program do?" and "How much does it cost?"</p>
2867 <p>The C++ and C# programmer is less insulated than most, and still we find
2868 that programmers are consistently surprised at what simple code actually
2869 does and how expensive it can be -- not because of any complexity of a
2870 language, but because of being unaware of the complexity of the machine on
2871 which the program actually runs.</p>
2872 <p>This talk examines the "real meanings" and "true costs" of the code we
2873 write and run especially on commodity and server systems, by delving into
2874 the performance effects of bandwidth vs. latency limitations, the
2875 ever-deepening memory hierarchy, the changing costs arising from the
2876 hardware concurrency explosion, memory model effects all the way from the
2877 compiler to the CPU to the chipset to the cache, and more -- and what you
2878 can do about them.</p>
2879     </abstract>
2880 </eventitem>
2881
2882 <eventitem date="2013-01-16" time="4:00 PM" room="Comfy Lounge" title="Elections">
2883     <short>
2884     <p>CSC Elections have begun for the Winter 2013 term, nominations are open!</p>
2885     </short>
2886     <abstract>
2887 <p>It's elections time again! On Wednesday January 16th at 4:00PM, come to the Comfy Lounge
2888 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
2889 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
2890
2891 <p>Nominations are open until 4:00PM on Tuesday January 15th, and can be
2892 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
2893 can vote and are invited to drop by. You may also send nominations to the
2894 <a href="mailto:cro@csclub.uwaterloo.ca">
2895    Chief Returning Officer</a>. A full list of candidates will be posted
2896    when nominations close.</p>
2897
2898     <p>Good luck to our candidates!</p>
2899     </abstract>
2900 </eventitem>
2901
2902 <!-- Fall 2012 -->
2903
2904 <eventitem date="2012-11-23" time="19:00" room="MC 3001" title="Code Party 3">
2905         <short>
2906                 <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>
2907         </short>
2908         <abstract>
2909                 <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>
2910         </abstract>
2911 </eventitem>
2912
2913 <eventitem date="2012-11-21" time="4:30 PM" room="MC 5136B" title="SASMS">
2914    <short>
2915       <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>
2916    </short>
2917    <abstract>
2918       <p>The Pure Mathematics, Applied Mathematics, Combinatorics &amp; Optimization Club is hosting the Fall 2012 Short Attention Span Math Seminars (SASMS).</p>
2919       <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>
2920    </abstract>
2921 </eventitem>
2922
2923 <eventitem date="2012-11-19" time="3:30 PM" room="MC 3003" title="UNIX 101">
2924   <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>
2925   <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>
2926 <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>
2927 </abstract>
2928 </eventitem>
2929
2930 <eventitem date="2012-11-15" time="7:00 PM" room="DC 1302" title="KW Perlmongers Talk">
2931    <short>
2932       <p><i>by Justin Wheeler.</i>In his own words, this talk will cover the virtues
2933       of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
2934       TMTOWTDI, and did I mention CPAN?</p>
2935    </short>
2936    <abstract>
2937       <p>In his own words, this talk will cover the virtues
2938       of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
2939       TMTOWTDI, and did I mention CPAN?</p>
2940       <p>If you've never used Perl before, don't be scared away by the
2941       jargon&mdash;the talk should be accessible to all CS students, and even if
2942       you find it hard to follow, we will be serving pizza!      </p>
2943    </abstract>
2944 </eventitem>
2945
2946 <eventitem date="2012-10-26" time="7:00 PM" room="MC 3001" title="CSC Code
2947 Party 2">
2948    <short>
2949       <p>We will be holding our second code party of the term. Watch for
2950          further details, as we plan on working with some robots and Scala,
2951          git, and Haskell.</p>
2952    </short>
2953    <abstract>
2954       <p>We will be holding our second code party of the term. Watch for
2955          further details, as we plan on working with some robots and Scala,
2956          git, and Haskell.</p>
2957    </abstract>
2958 </eventitem>
2959
2960 <eventitem date="2012-10-18" time="4:00 PM" room="MC 2034" title="The
2961 Cryptographic and Game-Theoretical Fundamentals behind Bitcoin">
2962    <short>
2963       <p><i>by Vitalik Buterin.</i> In this talk, we will cover the
2964          cryptographic and game-theory principles behind the currency, including
2965          how the issues of double-spending, the "51% attack," and "mining" are
2966          addressed, the game-theory incentives to use Bitcoins honestly, and
2967          other issues being faced today in practice, such as implementation,
2968          attacks, and future scalability.</p>
2969         </short>
2970         <abstract>
2971                 <p><i>by Vitalik Buterin.</i> Interested in learning more about Bitcoin,
2972          the independent digital cryptographic cash? Then this is the talk for
2973          you!</p>
2974
2975       <p>In his talk, Vitalik will cover the cryptographic and game-theory
2976          principles behind the currency, including how the issues of
2977          double-spending, the "51% attack," and "mining" are addressed, the
2978          game-theory incentives to use Bitcoins honestly, and other issues being
2979          faced today in practice, such as implementation, attacks, and future
2980          scalability.</p>
2981
2982       <p>Refreshments will be provided.</p>
2983         </abstract>
2984 </eventitem>
2985
2986 <eventitem date="2012-09-28" time="7:00 PM" room="PHY 150" title="Tron Screening: Frosh-A-Tron">
2987         <short>
2988                 <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>
2989         </short>
2990         <abstract>
2991                 <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>
2992         </abstract>
2993 </eventitem>
2994
2995 <eventitem date="2012-09-14" time="19:00" room="MC 3001" title="Code Party 1: FROSH-A-THON">
2996         <short>
2997                 <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>
2998         </short>
2999         <abstract>
3000                 <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>
3001         </abstract>
3002 </eventitem>
3003
3004 <eventitem date="2012-09-18" time="4:00 PM" room="Comfy Lounge" title="Elections">
3005     <short>
3006     <p>CSC Elections have begun for the Fall 2012 term, nominations are open!</p>
3007     </short>
3008     <abstract>
3009 <p>It's elections time again! On Tuesday September 18th at 4:00PM, come to the Comfy Lounge
3010 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
3011 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
3012
3013 <p>Nominations are open until 4:00PM on Monday September 17th, and can be
3014 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
3015 can vote and are invited to drop by. You may also send nominations to the
3016 <a href="mailto:cro@csclub.uwaterloo.ca">
3017    Chief Returning Officer</a>. A full list of candidates will be posted
3018    when nominations close.</p>
3019
3020     <p>Good luck to our candidates!</p>
3021     </abstract>
3022 </eventitem>
3023
3024 <eventitem date="2012-09-06" time="17:00" room="Math 3 Atrium" title="SCS First-year Welcome Dinner">
3025         <short>
3026                 <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>
3027         </short>
3028         <abstract>
3029                 <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>
3030         </abstract>
3031 </eventitem>
3032
3033 <!-- Spring 2012 -->
3034
3035 <eventitem date="2012-06-08" time="19:00:00" room="MC 3001" title="Code Party 1">
3036         <short>
3037                 <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>
3038         </short>
3039         <abstract>
3040                 <p>             </p>
3041                 <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>
3042         </abstract>
3043 </eventitem>
3044
3045 <eventitem date="2012-05-10" time="4:30 PM" room="Comfy Lounge" title="Elections">
3046     <short>
3047     <p>CSC Elections have begun for the Spring 2012 term, nominations are open!</p>
3048     </short>
3049     <abstract>
3050 <p>It's elections time again! On Thursday May 10th at 4:30PM, come to the Comfy Lounge
3051 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
3052 and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
3053
3054 <p>Nominations are open until 4:30PM on Wednesday May 9th, and can be
3055 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
3056 who have paid their Mathsoc fee can vote and are invited to drop by.
3057 You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
3058    Chief Returning Officer</a>. A full list of candidates will be posted
3059    when nominations close.</p>
3060
3061     <p>Good luck to our candidates!</p>
3062     </abstract>
3063 </eventitem>
3064
3065 <eventitem date="2012-05-07" time="6:00 PM" room="DC 1302" title="mmap and the Mortgage Crisis">
3066     <short>
3067     <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>
3068     </short>
3069     <abstract>
3070 <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>
3071
3072 <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>
3073     </abstract>
3074 </eventitem>
3075
3076
3077 <!-- Winter 2012 -->
3078
3079 <eventitem date="2012-03-22" time="4:30 PM" room="MC 4021" title="Multi-processor Real-time Systems">
3080   <short>
3081     <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>
3082   </short>
3083   <abstract>
3084     <p>
3085       Programming systems that obey hard real-time constraints is difficult. So is programming multiple CPUs that interact to solve a single problem.
3086     </p>
3087     <p>
3088       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.
3089     </p>
3090     <p>
3091       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.
3092     </p>
3093     <p>
3094       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.
3095     </p>
3096   </abstract>
3097 </eventitem>
3098
3099 <eventitem date="2012-03-08" time="5:30 PM" room="MC 3003" title="UNIX 102">
3100   <short>
3101     <p><i>by Calum T. Dalek</i>. The Computer Science Club will be running the
3102 second installment of our introductory UNIX tutorials for the term. We
3103 will be covering topics intended to show off the development-friendliness of
3104 the UNIX computing environment: "real" document editors, development tools,
3105 bash scripting, and version control.
3106     </p>
3107   </short>
3108   <abstract>
3109     <p>New to the UNIX computing environment? If you seek an introduction, look
3110 no further. We will be covering more advanced topics in the second installment
3111 of our introductory tutorials, that will help you become a more effective
3112 developer.
3113     </p>
3114     <p>We will be introducing "real" document editors, bash scripting, and
3115 version control. We'll prove to you how much more efficient you can develop
3116 with these tools and teach you how to do it for yourself. It will save you hours
3117 of work!
3118     </p>
3119   </abstract>
3120 </eventitem>
3121
3122 <eventitem date="2012-03-02" time="7:00 PM" room="MC 3001" title="OpenCL Code Party">
3123   <short>
3124     <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.
3125     </p>
3126   </short>
3127   <abstract>
3128     <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.
3129     </p>
3130   </abstract>
3131 </eventitem>
3132
3133 <eventitem date="2012-03-07" time="5:30 PM" room="PHY 150" title="Feynman Messenger Lecture Series">
3134   <short>
3135     <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!
3136     </p>
3137   </short>
3138   <abstract>
3139     <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>
3140     <ul>
3141       <li><b>Feb. 29, 5:30-6:30 PM:</b> <i>Law of Gravitation: An Example of Physical Law</i></li>
3142       <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>
3143       <li><b>Mar. 14, 5:30-6:30 PM:</b> <i>Symmetry in Physical Law</i></li>
3144       <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>
3145       <li><b>Mar. 28, 5:30-6:30 PM:</b> <i>Seeking New Laws</i></li>
3146     </ul>
3147     <p>Dinner will be provided, so come on out, relax in the comfy PHY 150 theatre, and enjoy. Hope to see you there!</p>
3148   </abstract>
3149 </eventitem>
3150
3151 <eventitem date="2012-02-16" time="7:00 PM" room="MC 3001" title="OpenCL Introduction">
3152   <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>
3153   <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>
3154 <p></p>
3155 </abstract>
3156 </eventitem>
3157
3158 <eventitem date="2012-02-09" time="5:00 PM" room="MC 3003" title="UNIX 101">
3159   <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>
3160   <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>
3161 <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>
3162 </abstract>
3163 </eventitem>
3164
3165 <eventitem date="2012-02-07" time="6:00 PM" room="MC 4045" title="Algorithms Talk">
3166   <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>
3167   <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>
3168
3169 <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>
3170 </eventitem>
3171
3172 <eventitem date="2012-01-27" time="6:30 PM" room="Math CnD" title="Code Party 0">
3173   <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>
3174   <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>
3175 </eventitem>
3176
3177 <eventitem date="2012-01-12" time="4:30 PM" room="Comfy Lounge" title="Elections">
3178     <short>
3179     <p>CSC Elections have begun for the Winter 2012 term, nominations are open!</p>
3180     </short>
3181     <abstract>
3182 <p>It's elections time again! On Thursday January 12th at 4:30PM, come to the Comfy Lounge
3183 on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
3184 and Secretary. The sysadmin, librarian and office manager will also be chosen at this time.</p>
3185
3186 <p>Nominations are open until 4:30PM on Wednesday January 11th, and can be
3187 written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
3188 who have paid their Mathsoc fee can vote and are invited to drop by.
3189 You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
3190    Chief Returning Officer</a>. A full list of candidates will be posted
3191    when nominations close.</p>
3192
3193     <p>Good luck to our candidates!</p>
3194     </abstract>
3195 </eventitem>
3196
3197 <!-- Fall 2011 -->
3198 <eventitem date="2011-11-18" time="7:00 PM" room="Comfy Lounge" title="CSC Open Data Code Party">
3199   <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>
3200   <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>
3201
3202     <p>As always, you're welcome to work on your own projects, but we'll be hacking on some open data related projects:
3203       <ol>
3204         <li>Design and build UW APIs.</li>
3205         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.
3206         <li>Applications using university data that is currently available.</li>
3207       </ol>
3208      </p>
3209      <p>If you'd like to discuss your ideas for these proposed projects, check out the newsgroup, uw.csc</p></abstract>
3210 </eventitem>
3211
3212 <eventitem date="2011-11-12" time="7:30 AM" room="Davis Centre" title="CSC goes to Design Our Tomorrow">
3213
3214     <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>
3215
3216     <abstract><p>
3217 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>
3218
3219 <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>
3220
3221 <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>
3222
3223 <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>
3224
3225 <p>We hope that you will join us.
3226 </p></abstract>
3227
3228 </eventitem>
3229 <eventitem date="2011-10-24" time="4:30 PM" room="MC 3003" title="UNIX 102: Tools in the UNIX Environment">
3230
3231     <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.
3232 </p></short>
3233
3234     <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>
3235
3236 </eventitem>
3237 <eventitem date="2011-10-21" time="7 PM" room="Comfy Lounge" title="Code Party 2">
3238         <short>
3239                 <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>
3240         </short>
3241         <abstract>
3242                 <p>
3243                  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.
3244                 </p>
3245
3246                 <p>
3247                 There will be 3 more code parties this term.
3248                 </p>
3249         </abstract>
3250 </eventitem>
3251 <eventitem date="2011-10-13" time="6:30 PM" room="MC 4020" title="How Browsers Work">
3252         <short>
3253                 <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>
3254         </short>
3255         <abstract>
3256                 <p>
3257 Web browsers have evolved. From their humble beginnings as simple HTML
3258 rendering engines they have grown and evolved into rich application
3259 platforms. This talk will start with the fundamentals: how a browser
3260 creates an on-screen representation of the resources downloaded from
3261 the network. (Boring, right? But we have to start somewhere.) From
3262 there we'll get into the really exciting stuff: the latest innovations
3263 in Web browsers and how those innovations enable — even encourage —
3264 developers to build more complex applications than ever before. You'll
3265 see real-world examples of people building technologies on top of
3266 these "simple rendering engines" that seemed impossible a short time
3267 ago.
3268
3269 Bio of the speaker:
3270 Ehsan Akhgari has contributed to the Mozilla project for more than 5
3271 years.  He has worked on various parts of Firefox, including the user
3272 interface and the rendering engine.  He originally implemented Private
3273 Browsing in Firefox.  Right now he's focusing on the editor component
3274 in the Firefox engine.
3275                 </p>
3276
3277                 <p>
3278                 There will be 4 more code parties this term.
3279                 </p>
3280         </abstract>
3281 </eventitem>
3282 <eventitem date="2011-09-30" time="7 PM" room="Comfy Lounge" title="Code Party 1">
3283         <short>
3284                 <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>
3285         </short>
3286         <abstract>
3287                 <p>
3288                 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.
3289                 </p>
3290
3291                 <p>
3292                 There will be 4 more code parties this term.
3293                 </p>
3294         </abstract>
3295 </eventitem>
3296 <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">
3297         <short>
3298                 <p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!</p>
3299         </short>
3300         <abstract>
3301                 <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>
3302         </abstract>
3303 </eventitem>
3304 <eventitem date="2011-09-19" edate="2011-09-19" time="4:30 PM" etime="5:30 PM" room="Comfy Lounge" title="Elections">
3305         <short>
3306                 <p>
3307                 Club elections. See related news items for details.
3308                 </p>
3309         </short>
3310         <abstract>
3311                 Club elections. See related news items for details.
3312         </abstract>
3313 </eventitem>
3314
3315 <!-- Spring 2011 -->
3316 <eventitem date="2011-07-29" time="6 PM" room="home of askhader, see abstract" title="CTRL-D">
3317         <short>
3318                 <p>
3319                 The end of another term is here, and so we're having our End-of-Term dinner.
3320
3321                 Everybody's welcome to come to CTRL-D. We are running this like a potluck, so bringing food is suggested.
3322                 </p>
3323         </short>
3324         <abstract>
3325                 <a href="http://csclub.uwaterloo.ca/~askhader/">askhader's</a> house is at: <br/>
3326                 9 Cardill Cresent<br/>
3327                 Waterloo, ON<br/>
3328         </abstract>
3329 </eventitem>
3330 <eventitem date="2011-07-22" time="7 PM" room="Comfy Lounge" title="Code Party 3">
3331         <short>
3332                 <p>
3333                         The final Code Party of the term is here!  Come hack on some code,
3334                         solve some puzzles, and have some fun. The event starts in the evening and will run
3335                         all night.  You can show up for any portion of it.  You should bring a laptop, and
3336                         probably have something in mind to work on, though you're welcome with neither.
3337                 </p>
3338                 <p>
3339                         Snacks will be provided.  Everyone is welcome.
3340                 </p>
3341                 <p>
3342                         Please note this date is postponed from the originally scheduled date due to
3343                         conflicts with <a href="http://www.kitchenerribandbeerfest.com/">Kitchener Ribfest &amp; Craft Beer Show</a>
3344                 </p>
3345         </short>
3346 </eventitem>
3347
3348 <eventitem date="2011-07-20" time="4:30 PM" room="MC 2038" title="An Introduction to Steganography">
3349         <short>
3350                 <p>
3351                         As part of the CSC member talks series, Yomna Nasser will be presenting an introduction to steganography.
3352                         Steganography is the act of hiding information such that it can only be found by its intended recipient.
3353                         It has been practiced since ancient Greece, and is still in use today.
3354                 </p>
3355                 <p>
3356                         This talk will include an introduction to the area, history, and some basic techniques for hiding information
3357                         and detecting hidden data.  There will be an overview of some of the mathematics involved, but nothing too
3358                         rigorous.
3359                 </p>
3360         </short>
3361 </eventitem>
3362
3363 <eventitem date="2011-07-09" time="4 PM to 10PM" room="Columbia Lake Firepit"
3364         title="CSC Goes Outside">
3365         <short> <p> Do you like going outside?  Are you
3366                         vitamin-D deficient from being in the MC too long?  Do you think
3367                         marshmallows, hotdogs, and fire are a delicious combination?  </p>
3368
3369                 <p> If so, you should join us as the CSC is going outside!  </p>
3370
3371                 <p> Around 4PM, we're going to Columbia Lake for some outdoor fun.
3372                         We'll have Frisbees, kites, snacks, and some drinks.  We'll be
3373                         sticking around until dusk, when we're going to have a campfire
3374                         with marshmallows and hotdogs.  We plan to be there until 10PM, but
3375                         of course you're welcome to come for any subinterval.  </p>
3376         </short>
3377 </eventitem>
3378 <eventitem date="2011-07-04" time="1:30 PM" room="MC 5158" title="Our Troubles with Linux and Why You Should Care">
3379         <short>
3380                 <p>
3381                 A joint work between Professors Tim Brecht, Ashif Harji, and
3382                 Peter Buhr, this talk describes experiences using the Linux
3383                 kernel as a platform for conducting performance evaluations.
3384                 </p>
3385         </short>
3386         <abstract>
3387                 <p>
3388                 Linux provides researchers with a full-fledged operating system that is
3389                 widely used and open source. However, due to its complexity and rapid
3390                 development, care should be exercised when using Linux for performance
3391                 experiments, especially in systems research. The size and continual
3392                 evolution of the Linux code-base makes it difficult to understand, and
3393                 as a result, decipher and explain the reasons for performance
3394                 improvements. In addition, the rapid kernel development cycle means
3395                 that experimental results can be viewed as out of date, or meaningless,
3396                 very quickly. We demonstrate that this viewpoint is incorrect because
3397                 kernel changes can and have introduced both bugs and performance
3398                 degradations.
3399                 </p>
3400                 <p>
3401                 This talk describes some of our experiences using the Linux kernel as a
3402                 platform for conducting performance evaluations and some performance
3403                 regressions we have found. Our results show, these performance
3404                 regressions can be serious (e.g., repeating identical experiments
3405                 results in large variability in results) and long lived despite having
3406                 a large negative impact on performance (one problem appears to have
3407                 existed for more than 3 years). Based on these experiences, we argue
3408                 that it is often reasonable to use an older kernel version,
3409                 experimental results need careful analysis to explain why a change in
3410                 performance occurs, and publishing papers that validate prior research
3411                 is essential.
3412                 </p>
3413                 <p>
3414                 This is joint work with Ashif Harji and Peter Buhr.
3415                 </p>
3416                 <p>
3417                 This talk will be about 20-25 minutes long with lots of time for
3418                 questions and discussion afterwards.
3419                 </p>
3420         </abstract>
3421 </eventitem>
3422 <eventitem date="2011-06-24" time="7 PM" room="Comfy Lounge" title="Code Party 2">
3423         <short>
3424                 <p>
3425                         The second Code Party of the term takes place this Friday!  Come hack on some code,
3426                         solve some puzzles, and have some fun. The event starts in the evening and will run
3427                         all night.  You can show up for any portion of it.  You should bring a laptop, and
3428                         probably have something in mind to work on, though you're welcome with neither.
3429                 </p>
3430                 <p>
3431                         Snacks will be provided.
3432                 </p>
3433         </short>
3434 </eventitem>
3435 <eventitem date="2011-06-14" time="4:30 PM" room="MC 2054" title="Taming Software Bloat with AdaptableGIMP">
3436         <short>
3437                 Ever use software with 100s or 1000s of commands? Ever have a hard time
3438                 finding the right commands to perform your task? In this talk, we'll
3439                 present AdaptableGIMP, a new version of GIMP developed at Waterloo to
3440                 help simplify complex user interfaces.
3441         </short>
3442         <abstract>
3443                 <p>
3444                         Ever use software with 100s or 1000s of commands? Ever have a hard time
3445                         finding the right commands to perform your task? We have. And we have
3446                         some new ideas on how to deal with software bloat.
3447                 </p>
3448                 <p>
3449                         In this talk, we'll present AdaptableGIMP, a new version of GIMP
3450                         developed by the HCI Lab here at the University of Watreloo.
3451                         AdaptableGIMP introduces the notion of crowdsourced interface
3452                         customizations: Any user of the application can customize the interface
3453                         for performing a particular task, with that customization instantly
3454                         shared with all other users through a wiki at adaptablegimp.org. In the
3455                         talk, we'll demo this new version of GIMP and show how it can help
3456                         people work faster by simplifying feature-rich, complex user
3457                         interfaces.
3458                 </p>
3459         </abstract>
3460 </eventitem>
3461 <eventitem date="2011-06-09" time="4:30 PM" room="MC 2054"
3462         title="General Purpose Computing on Graphics Cards">
3463         <short>
3464                 In the first of our member talks for the term, Katie Hyatt will give a
3465                 short introduction to General Purpose Graphics Processing Unit
3466                 computing.  This expanding field has many applications. The primary
3467                 focus of this talk will be nVidia's CUDA architecture.
3468         </short>
3469         <abstract>
3470                 <p> This is the first of our member talks for the term, presented by
3471                         CSC member and Waterloo undergraduate student Katie Hyatt
3472                 </p>
3473                 <p>
3474                         GPGPU (general purpose graphics processing unit) computing is an
3475                         expanding area of interest, with applications in physics, chemistry,
3476                         applied math, finance, and other fields. nVidia has created an
3477                         architecture named CUDA to allow programmers to use graphics cards
3478                         without having to write PTX assembly or understand OpenGL. CUDA is
3479                         designed to allow for high-performance parallel computation controlled
3480                         from the CPU while granting the user fine control over the behaviour
3481                         and performance of the device.
3482                 </p>
3483
3484                 <p>
3485                         In this talk, I'll discuss the basics of nVidia's CUDA architecture
3486                         (with most emphasis on the CUDA C extensions), the GPGPU programming
3487                         environment, optimizing code written for the graphics card, algorithms
3488                         with noteworthy performance on GPU, libraries and tools available to
3489                         the GPGPU programmer, and some applications to condensed matter
3490                         physics. No physics background required!
3491                 </p>
3492         </abstract>
3493 </eventitem>
3494 <eventitem date="2011-06-03" time="7 PM" room="Comfy Lounge" title="Code Party 1">
3495         <short>
3496                 The Computer Science Club is having our first code party of the term.
3497                 The theme for this week's code party is personal projects. Come show us
3498                 what you've been working on! Of course, everybody is welcome, even if you
3499                 don't have a project.
3500         </short>
3501         <abstract>
3502                 The Computer Science Club is having our first code party of the term.
3503                 The theme for this week's code party is personal projects. Come show us
3504                 what you've been working on! Of course, everybody is welcome, even if you
3505                 don't have a project.
3506
3507                 Personal projects are a great way to flex your CS muscles, and learn interesting
3508                 and new things. Come out and have some fun!
3509
3510                 Two more are scheduled for later in the term.
3511         </abstract>
3512 </eventitem>
3513 <eventitem date="2011-05-09" time="5:31 PM" room="Comfy Lounge" title="Elections Nominees List">
3514     <short>
3515     <p>CSC Elections, final list of nominations for Spring 2011</p>
3516     </short>
3517     <abstract>
3518     <p>The nominations are:
3519     <ul>
3520     <li>President: jdonland, mimcpher, mthiffau</li>
3521     <li>Vice-President: jdonland, mimcpher</li>
3522     <li>Treasurer: akansong, kspaans</li>
3523     <li>Secretary: akansong, jdonland</li>
3524     </ul>
3525     </p>
3526     </abstract>
3527 </eventitem>
3528
3529 <eventitem date="2011-05-09" time="5:30 PM" room="Comfy Lounge" title="Elections">
3530     <short>
3531     <p>CSC Elections have begun for the Spring 2011 term, nominations are open!</p>
3532     </short>
3533     <abstract>
3534     <p>It's time to elect your CSC executive for the Spring 2011 term. The
3535        elections will be held on Monday May 9th at 5:30PM in the Comfy Lounge
3536        on the 3rd floor of the MC. Nominations can be sent to the Chief
3537        Returning Officer, <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
3538        Nominations will be open until 4:30PM on Monday May 9th. You can also stop by the office in
3539        person to write your nominations on the white board.</p>
3540
3541     <p>The executive positions open for nomination are:
3542     <ul>
3543     <li>President</li>
3544     <li>Vice-President</li>
3545     <li>Treasurer</li>
3546     <li>Secretary</li>
3547     </ul>
3548        There are also numerous positions that will be appointed once the
3549        executive are elected including systems administrator, office manager,
3550        and librarian.</p>
3551
3552     <p>Everyone is encouraged to run if they are interested, regardless of
3553        program of study, age, or experience. If you can't make the election,
3554        that's OK too! You can give the CRO a statement to read on your
3555        behalf. If you can't make it or are out of town, your votes can be
3556        sent to the CRO in advance of the elections. For the list of nominees,
3557        watch the CSC website, or ask the CRO.</p>
3558
3559     <p>Good luck to our candidates!</p>
3560     </abstract>
3561 </eventitem>
3562
3563 <!-- Winter 2011 -->
3564 <eventitem date="2011-03-17" time="04:30 PM" room="MC2034" title="Software Patents">
3565
3566     <short><p><i>by Stanley Khaing</i>. What are the requirements for obtaining a patent? Should software be patentable?</p></short>
3567
3568 <abstract>
3569         <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>
3570         <ul>
3571         <li>What are the requirements for obtaining a patent?</li>
3572         <li>Should software be patentable?</li>
3573         </ul>
3574 </abstract>
3575
3576 </eventitem>
3577
3578 <eventitem date="2011-02-17" time="07:00 PM" room="MC2017" title="A Smorgasbord of Perl Talks">
3579
3580     <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>
3581
3582 <abstract>
3583         <p>Tyler Slijboom will present:</p>
3584
3585         <ul>
3586         <li>Prototyping in Perl,</li>
3587         <li>Perl Default Variables,</li>
3588         <li>HOWTO on OO Programming, and</li>
3589         <li>HOWTO on Installing and Using Modules from CPAN</li>
3590         </ul>
3591
3592         <p>Daniel Allen will present:</p>
3593
3594         <ul>
3595         <li>Coping with Other Peoples' Code</li>
3596         </ul>
3597
3598         <p>Justin Wheeler will present:</p>
3599
3600         <ul>
3601         <li>Moose: a Modern Perl Framework</li>
3602         </ul>
3603 </abstract>
3604
3605 </eventitem>
3606
3607 <eventitem date="2011-02-09" time="04:30 PM" room="MC3003" title="UNIX 103: Version Control Systems">
3608
3609     <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.
3610 </p></short>
3611
3612     <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>
3613
3614 </eventitem>
3615
3616 <eventitem date="2011-02-04" time="07:00 PM" room="Comfy Lounge" title="Code Party">
3617
3618     <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>
3619
3620     <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>
3621
3622 </eventitem>
3623
3624 <eventitem date="2011-02-02" time="04:30 PM" room="MC3003" title="UNIX 102: Documents and Editing in the Unix environment">
3625
3626     <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.
3627 </p></short>
3628
3629     <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>
3630
3631 </eventitem>
3632
3633 <eventitem date="2011-01-26" time="04:30 PM" room="MC3003" title="UNIX 101: An Introduction to the Shell">
3634
3635     <short><p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!
3636 </p></short>
3637
3638
3639     <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
3640 servers and on other Unix environments. Topics covered include: using the shell, both basic
3641 interaction and advanced topics like scripting and job control, the filesystem and manipulating
3642 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
3643 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
3644 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
3645 </p></abstract>
3646
3647 </eventitem>
3648
3649
3650 <!-- Fall 2010 -->
3651 <eventitem date="2010-11-17" time="04:30 PM" room="MC4061" title="Mathematics and aesthetics in maze design">
3652
3653     <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.
3654 </p></short>
3655
3656
3657     <abstract><p>For thousands of years, mazes and labyrinths have played
3658 an important role in human culture and myth.  Today, solving
3659 mazes is a popular pastime, whether with pencil on paper
3660 or by navigating through a cornfield.
3661 </p><p>The construction of compelling mazes encompasses a variety of
3662 challenges in mathematics, algorithm design, and aesthetics.
3663 The maze should be visually attractive, but it should also be
3664 an engaging puzzle.  Master designers balance these two goals
3665 with wonderful results.
3666 </p><p>In this talk, I discuss the role of the computer in the process
3667 of designing mazes.  I present some well known algorithms for
3668 maze construction, and more recent research that attempts to
3669 novel mazes with non-trivial mathematical or aesthetic properties.
3670 </p></abstract>
3671
3672 </eventitem>
3673 <eventitem date="2010-11-13" time="12:00 PM" room="Outside DC" title="CSC Invades Toronto">
3674
3675     <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.
3676             If you would like to come along, please come by the office and sign up. The cost for the trip is $2 per member.
3677
3678         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
3679             board.</p></short>
3680
3681 </eventitem>
3682
3683 <eventitem date="2010-11-05" time="07:00 PM" room="CnD Lounge (MC3002)" title="Hackathon">
3684
3685     <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.
3686 </p></short>
3687
3688
3689     <abstract><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be
3690 in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and
3691 whatever else comes to mind. If you're interested in getting involved in free/open source development,
3692 some members will be on hand to guide you through the process.
3693 </p></abstract>
3694
3695 </eventitem>
3696
3697 <eventitem date="2010-10-26" time="04:30 PM" room="MC4040" title="Analysis of randomized algorithms via the probabilistic method">
3698
3699     <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.
3700 </p></short>
3701
3702
3703     <abstract><p>The probabilistic method is an extremely powerful tool in combinatorics that can be
3704 used to prove many surprising results.  The idea is the following: to prove that an
3705 object with a certain property exists, we define a distribution of possible objects
3706 and use show that, among objects in the distribution, the property holds with
3707 non-zero probability.  The key is that by using the tools and techniques of
3708 probability theory, we can vastly simplify proofs that would otherwise require very
3709 complicated combinatorial arguments.
3710 </p><p>As a technique, the probabilistic method developed rapidly during the latter half of
3711 the 20th century due to the efforts of mathematicians like Paul Erdős and increasing
3712 interest in the role of randomness in theoretical computer science.  In essence, the
3713 probabilistic method allows us to determine how good a randomized algorithm's output
3714 is likely to be.  Possibly applications range from graph property testing to
3715 computational geometry, circuit complexity theory, game theory, and even statistical
3716 physics.
3717 </p><p>In this talk, we will give a few examples that illustrate the basic method and show
3718 how it can be used to prove the existence of objects with desirable combinatorial
3719 properties as well as produce them in expected polynomial time via randomized
3720 algorithms.  Our main goal will be to present a very slick proof from 1995 due to
3721 Spencer on the performance of a randomized greedy algorithm for a set-packing
3722 problem.  Spencer, for seemingly no reason, introduces a time variable into his
3723 greedy algorithm and treats set-packing as a Poisson process.  Then, like magic,
3724 he is able to show that his greedy algorithm is very likely to produce a good
3725 result using basic properties of expected value.
3726 </p><p>Properties of Poisson and Binomial distributions will be applied, but I'll remind
3727 everyone of the needed background for the benefit of those who might be a bit rusty.
3728 Stat 230 will be more than enough. Big O notation will be used, but not excessively.
3729 </p></abstract>
3730
3731 </eventitem>
3732
3733 <eventitem date="2010-10-19" time="04:30 PM" room="RCH 306" title="Machine learning vs human learning - will scientists become obsolete?">
3734
3735     <short><p><i>by Dr. Shai Ben-David</i>.
3736 </p></short>
3737
3738
3739     <abstract><p>
3740 </p></abstract>
3741
3742 </eventitem>
3743
3744 <eventitem date="2010-10-13" time="04:30 PM" room="MC3003" title="UNIX 102">
3745
3746     <short><p>This installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
3747 </p></short>
3748
3749
3750     <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
3751 If you missed Unix101 but still know your way around you should be fine.
3752 Topics covered include: "real" editors, document typesetting with LaTeX
3753 (great for assignments!), bulk editing, spellchecking, and printing in the
3754 student environment and elsewhere.
3755 </p></abstract>
3756
3757 </eventitem>
3758 <eventitem date="2010-10-06" time="04:30 PM" room="MC3003" title="UNIX 103">
3759
3760     <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).
3761 </p></short>
3762
3763
3764     <abstract><p>Unix 103 will cover version control systems and how to use them to manage
3765 your projects. Unix 101 would be helpful, but all that is needed is basic
3766 knowledge of the Unix command line (how to enter commands).
3767 </p></abstract>
3768
3769 </eventitem>
3770
3771 <eventitem date="2010-10-12" time="04:30 PM" room="MC4061" title="How to build a brain: From single neurons to cognition">
3772
3773     <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.
3774 </p></short>
3775
3776
3777     <abstract><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing
3778 mathematical models of brain function.  It has made significant
3779 headway in understanding aspects of the neural code.  However,
3780 past work has largely focused on small numbers of neurons, and
3781 so the underlying representations are often simple. In this
3782 talk I demonstrate how the ideas underlying these simple forms of
3783 representation can underwrite a representational hierarchy that
3784 scales to support sophisticated, structure-sensitive
3785 representations.  I will present a general architecture, the semantic
3786 pointer architecture (SPA), which is built on this hierarchy
3787 and allows the manipulation, processing, and learning of structured
3788 representations in neurally realistic models.  I demonstrate the
3789 architecture on Progressive Raven's Matrices (RPM), a test of
3790 general fluid intelligence.
3791 </p></abstract>
3792
3793 </eventitem>
3794
3795 <eventitem date="2010-10-04" time="04:30 PM" room="MC4021" title="BareMetal OS">
3796
3797     <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.
3798 </p></short>
3799
3800
3801     <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,
3802 while applications can be written in Assembly or C/C++.
3803 High Performance Computing is the main target application.
3804 </p></abstract>
3805
3806 </eventitem>
3807
3808 <eventitem date="2010-09-28" time="04:30 PM" room="MC4061" title="A Brief Introduction to Video Encoding">
3809
3810     <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.
3811 </p></short>
3812
3813
3814     <abstract><p><i>By Peter Barfuss</i>. With the recent introduction of digital TV and the widespread success
3815 of video sharing websites such as youtube, it is clear that the task
3816 of lossily compressing video with good quality has become important.
3817 Similarly, the complex algorithms involved require high amounts of
3818 optimization in order to run fast, another important requirement for
3819 any video codec that aims to be widely used/adopted.
3820 </p><p>In this talk, I
3821 will go over the concepts used in video encoding (such as motion
3822 estimation/compensation, inter- and intra- frame prediction,
3823 quantization and entropy encoding), and then demonstrate these
3824 concepts and algorithms in use in the MPEG-2 and the H.264 video
3825 codecs. In addition, some clever optimization tricks using
3826 SIMD/vectorization will be covered, assuming sufficient time to cover
3827 these topics.
3828 </p></abstract>
3829
3830 </eventitem>
3831
3832 <eventitem date="2010-09-23" time="04:30 PM" room="DC1301 (The Fishbowl)" title="Calling all CS Frosh">
3833
3834     <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.
3835 </p></short>
3836
3837
3838     <abstract><p>Come meet and greet your professors, advisors, and the heads of the school.
3839 Talk to the CSC executive and other upper year students about CS at Waterloo.
3840 Free food and beverages will also be available, so there is really no excuse
3841 to miss this.
3842 </p></abstract>
3843
3844 </eventitem>
3845 <eventitem date="2010-09-29" time="04:30 PM" room="MC3003" title="Unix 101">
3846
3847     <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.
3848 </p></short>
3849
3850
3851     <abstract><p>Need to use the Unix environment for a course, want to overcome your fears of
3852 the command line, or just curious? Attend the first installment in the CSC's
3853 popular series of Unix tutorails to learn the basics of the shell and how to
3854 navigate the unix environment. By the end of the hands on workshop you will
3855 be able to work efficiently from the command line and power-use circles around
3856 your friends.
3857 </p></abstract>
3858
3859 </eventitem>
3860
3861 <eventitem date="2010-09-22" time="06:00 PM" room="MC4045" title="Cooking for Geeks">
3862
3863     <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.
3864 </p></short>
3865
3866
3867     <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.
3868 Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike.
3869 We're happy to have Jeff joining us for a hands on demonstration.
3870 </p><p>But you don't have to take our word for it... here's what Jeff has to say:
3871 </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
3872 about my just-released book. I'll talk about the food science behind what makes things yummy, giving you a quick
3873 primer on how to go into the kitchen and have a fun time turning out a good meal.
3874 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.
3875 </p><p>If you have a copy of the book, bring it! I’ll happily sign it.
3876 </p></abstract>
3877
3878 </eventitem>
3879 <eventitem date="2010-09-21" time="04:30 PM" room="MC4061" title="In the Beginning">
3880
3881     <short><p><b>by Dr. Prabhakar Ragde, Cheriton School of Computer Science</b>. I'll be workshopping some lecture ideas involving representations of
3882     numbers, specification of computation in  functional terms, reasoning about
3883     such specifications, and comparing the strengths and weaknesses of  different approaches.
3884 </p></short>
3885
3886
3887     <abstract><p>I'll be workshopping some lecture ideas involving representations
3888     of numbers, specification of computation in
3889     functional terms, reasoning about such specifications, and comparing the
3890     strengths and weaknesses of
3891     different approaches. No prior background is needed; the talk should be accessible
3892     to anyone attending
3893     the University of Waterloo and, I hope, interesting to both novices and experts.
3894 </p></abstract>
3895
3896 </eventitem>
3897 <eventitem date="2010-09-14" time="04:30 PM" room="Comfy Lounge" title="Elections">
3898   <short><p>Fall term executive elections and general meeting.</p></short>
3899 </eventitem>
3900
3901 <!-- Spring 2010 -->
3902
3903 <eventitem date="2010-07-20" time="04:30 PM" room="MC2066" title="The Incompressibility Method">
3904 <short>
3905 In this talk, we shall explore the incompressibility method---an interesting and
3906 extremely powerful framework for determining the average-case runtime of
3907 algorithms.  Within the right background knowledge, the heapsort question can be
3908 answered with an elegant 3-line proof.
3909 </short>
3910 <abstract>
3911 <p>Heapsort. It runs in $\Theta(n \log n)$ time in the worst case, and in $O(n)$
3912     time in the best case.  Do you think that heapsort runs faster than $O(n
3913     \log n)$ time on average?  Could it be possible that on most inputs,
3914     heapsort runs in $O(n)$ time, running more slowly only on a small fraction
3915     of inputs?</p>
3916 <p>Most students would say no. It "feels" intuitively obvious that heapsort
3917     should take the full $n \log n$ steps on most inputs.  However, proving this
3918     rigourously with probabilistic arguments turns out to be very difficult.
3919     Average case analysis of algorithms is one of those icky subjects that most
3920     students don't want to touch with a ten foot pole; why should it be so
3921     difficult if it is so intuitively obvious?</p>
3922 <p>In this talk, we shall explore the incompressibility method---an interesting
3923     and extremely powerful framework for determining the average-case runtime of
3924     algorithms.  Within the right background knowledge, the heapsort question
3925     can be answered with an elegant 3-line proof.</p>
3926 <p>The crucial fact is that an overwhelmingly large fraction of randomly
3927     generated objects are incompressible. We can show that the inputs to
3928     heapsort that run quickly correspond to inputs that can be compressed,
3929     thereby proving that heapsort can't run quickly on average.  Of course,
3930     "compressible" is something that must be rigourously defined, and for this
3931     we turn to the fascinating theory of Kolmogorov complexity.</p>
3932 <p>In this talk, we'll briefly discuss the proof of the incompressibility
3933     theorem and then see a number of applications.  We won't dwell too much on
3934     gruesome mathemtical details.  No specific background is required, but
3935     knowledge of some of the topics in CS240 will be helpful in understanding
3936     some of the applications.</p>
3937 </abstract>
3938 </eventitem>
3939
3940 <eventitem date="2010-07-13" time="04:30 PM" room="MC2066" title="Halftoning and Digital Art">
3941     <short><p>Edgar Bering will be giving a talk titled: Halftoning and Digital Art</p></short>
3942     <abstract><p>Halftoning is the process of simulating a continuous tone image
3943         with small dots or regions of one colour. Halftoned images may be seen
3944         in older newspapers with a speckled appearance, and to this day colour
3945         halftoning is used in printers to reproduce images. In this talk I will
3946         present various algorithmic approaches to halftoning, with an eye not
3947         toward exact image reproduction but non-photorealistic rendering and
3948         art. Included in the talk will be an introduction to digital paper
3949         cutting and a tutorial on how to use the CSC's paper cutter to render
3950         creations.
3951 </p></abstract>
3952 </eventitem>
3953
3954
3955 <eventitem date="2010-07-09" time="07:00 PM" room="MC Comfy" title="Code Party">
3956     <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
3957             until we get bored (likely in the early in morning). Come out for
3958             fun hacking times.
3959     </p></short>
3960     <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
3961             until we get bored (likely in the early in morning). Come out for
3962             fun hacking times.
3963     </p></abstract>
3964 </eventitem>
3965
3966 <eventitem date="2010-07-06" time="04:30 PM" room="MC2054" title="Dataflow Analysis">
3967   <short><p>Nomair Naeem, a P.H.D. Student at Waterloo, will be giving a talk about Dataflow Analysis</p></short>
3968   <abstract><p>
3969     After going through an introduction to Lattice Theory and a formal treatment to
3970     Dataflow Analysis Frameworks, we will take an in-depth view of the
3971     Interprocedural Finite Distributive Subset (IFDS) Algorithm which implements a
3972     fully context-sensitive, inter-procedural static dataflow analysis. Then, using
3973     a Variable Type Analysis as an example, I will outline recent extensions that we
3974     have made to open up the analysis to a larger variety of static analysis
3975     problems and making it more efficient.
3976     </p><p>
3977     The talk is self-contained and no prior knowledge of program analysis is
3978     necessary.
3979   </p></abstract>
3980 </eventitem>
3981
3982 <eventitem date="2010-06-22" time="04:30 PM" room="MC2066" title="Compiling To Combinators">
3983   <short><p>Professor Ragde will be giving the first of our Professor talks for the Spring 2010 term.</p></short>
3984   <abstract><p>
3985     Number theory was thought to be mathematically appealing but practically
3986     useless until the RSA encryption algorithm demonstrated its considerable
3987     utility. I'll outline how combinatory logic (dating back to 1920) has a
3988     similarly unexpected application to efficient and effective compilation,
3989     which directly catalyzed the development of lazy functional programming
3990     languages such as Haskell. The talk is self-contained; no prior knowledge
3991     of functional programming is necessary.
3992   </p></abstract>
3993 </eventitem>
3994
3995 <eventitem date="2010-05-25" time="05:00 PM" room="MC2066" title="Gerald Sussman">
3996   <short><p>Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas</p></short>
3997   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
3998 </eventitem>
3999
4000 <eventitem date="2010-05-26" time="03:30 PM" room="MC5136" title="Gerald Sussman">
4001   <short><p>Public Reception</p></short>
4002   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
4003 </eventitem>
4004
4005 <eventitem date="2010-05-26" time="05:000PM" room="MC5158" title="Gerald Sussman">
4006   <short><p>The Art of the Propagator</p></short>
4007   <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
4008 </eventitem>
4009
4010 <eventitem date="2010-05-11" time="05:30 PM" room="Comfy Lounge" title="Elections">
4011   <short><p>Spring term executive elections and general meeting.</p></short>
4012 </eventitem>
4013
4014 <!-- Winter 2010 -->
4015 <eventitem date="2010-04-06" time="04:30 PM" room="DC1304" title="Brush-Based Constructive Solid Geometry">
4016
4017     <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.
4018 </p></short>
4019
4020
4021     <abstract><p>For some would-be graphics programmers, the biggest barrier-to-entry is getting data to render. This is why there exist so
4022 many terrain renderers: by virtue of the fact that rendering height-fields tends to&n