3 <!DOCTYPE eventdefs SYSTEM "csc.dtd">
7 <eventitem date="2011-07-19" time="4:30 PM" room="MC, TBA" title="An Introduction to Steganography">
9 As part of the CSC member talks series, Yomna Nasser will be presenting an introduction to steganography.
10 This talk will include an introduction to the area, history, and some basic techniques for hiding information
11 and detecting hidden data. There will be an overview of some of the mathematics involved.
14 As part of the CSC member talks series, Yomna Nasser will be presenting an introduction to steganography.
15 This talk will include an introduction to the area, history, and some basic techniques for hiding information
16 and detecting hidden data. There will be an overview of some of the mathematics involved.
20 <eventitem date="2011-07-15" time="7 PM" room="Comfy Lounge" title="Code Party 3">
21 <short>Our third and final code party of the term! As usual, there will be
22 code, code, and more code. Plus energy drinks.
24 The theme for this code party is Open Source Collaboration. We encourage
25 everybody to come out and participate in some open source projects.
27 More details to follow!
29 <abstract>Our third and final code party of the term! As usual, there will be
30 code, code, and more code. Plus energy drinks.
32 The theme for this code party is Open Source Collaboration. We encourage
33 everybody to come out and participate in some open source projects.
35 More details to follow!
38 <eventitem date="2011-07-09" time="2 PM" room="Outdoors" title="picniCS">
40 Join us in July at our picnic and campfire. We'll have snacks, frisbees,
43 More details to follow!
46 Join us in July at our picnic and campfire. We'll have snacks, frisbees,
49 More details to follow!
52 <eventitem date="2011-06-17" time="7 PM" room="Comfy Lounge" title="Code Party 2">
53 <short><p>Our second code party. This iteration's topic: Puzzles, contests, and
54 interview questions. You can also work on whatever other code you want to.
57 More details to follow!
60 <abstract><p>Our second code party. This iteration's topic: Puzzles, contests, and
61 interview questions. You can also work on whatever other code you want to.
64 More details to follow!
68 <eventitem date="2011-06-14" time="4:30 PM" room="MC 2054" title="Taming Software Bloat with AdaptableGIMP">
70 Ever use software with 100s or 1000s of commands? Ever have a hard time
71 finding the right commands to perform your task? In this talk, we'll
72 present AdaptableGIMP, a new version of GIMP developed at Waterloo to
73 help simplify complex user interfaces.
77 Ever use software with 100s or 1000s of commands? Ever have a hard time
78 finding the right commands to perform your task? We have. And we have
79 some new ideas on how to deal with software bloat.
82 In this talk, we'll present AdaptableGIMP, a new version of GIMP
83 developed by the HCI Lab here at the University of Watreloo.
84 AdaptableGIMP introduces the notion of crowdsourced interface
85 customizations: Any user of the application can customize the interface
86 for performing a particular task, with that customization instantly
87 shared with all other users through a wiki at adaptablegimp.org. In the
88 talk, we'll demo this new version of GIMP and show how it can help
89 people work faster by simplifying feature-rich, complex user
94 <eventitem date="2011-06-09" time="4:30 PM" room="MC 2054"
95 title="General Purpose Computing on Graphics Cards">
97 In the first of our member talks for the term, Katie Hyatt will give a
98 short introduction to General Purpose Graphics Processing Unit
99 computing. This expanding field has many applications. The primary
100 focus of this talk will be nVidia's CUDA architecture.
103 <p> This is the first of our member talks for the term, presented by
104 CSC member and Waterloo undergraduate student Katie Hyatt
107 GPGPU (general purpose graphics processing unit) computing is an
108 expanding area of interest, with applications in physics, chemistry,
109 applied math, finance, and other fields. nVidia has created an
110 architecture named CUDA to allow programmers to use graphics cards
111 without having to write PTX assembly or understand OpenGL. CUDA is
112 designed to allow for high-performance parallel computation controlled
113 from the CPU while granting the user fine control over the behaviour
114 and performance of the device.
118 In this talk, I'll discuss the basics of nVidia's CUDA architecture
119 (with most emphasis on the CUDA C extensions), the GPGPU programming
120 environment, optimizing code written for the graphics card, algorithms
121 with noteworthy performance on GPU, libraries and tools available to
122 the GPGPU programmer, and some applications to condensed matter
123 physics. No physics background required!
127 <eventitem date="2011-06-03" time="7 PM" room="Comfy Lounge" title="Code Party 1">
129 The Computer Science Club is having our first code party of the term.
130 The theme for this week's code party is personal projects. Come show us
131 what you've been working on! Of course, everybody is welcome, even if you
132 don't have a project.
135 The Computer Science Club is having our first code party of the term.
136 The theme for this week's code party is personal projects. Come show us
137 what you've been working on! Of course, everybody is welcome, even if you
138 don't have a project.
140 Personal projects are a great way to flex your CS muscles, and learn interesting
141 and new things. Come out and have some fun!
143 Two more are scheduled for later in the term.
146 <eventitem date="2011-05-09" time="5:31 PM" room="Comfy Lounge" title="Elections Nominees List">
148 <p>CSC Elections, final list of nominations for Spring 2011</p>
151 <p>The nominations are:
153 <li>President: jdonland, mimcpher, mthiffau</li>
154 <li>Vice-President: jdonland, mimcpher</li>
155 <li>Treasurer: akansong, kspaans</li>
156 <li>Secretary: akansong, jdonland</li>
162 <eventitem date="2011-05-09" time="5:30 PM" room="Comfy Lounge" title="Elections">
164 <p>CSC Elections have begun for the Spring 2011 term, nominations are open!</p>
167 <p>It's time to elect your CSC executive for the Spring 2011 term. The
168 elections will be held on Monday May 9th at 5:30PM in the Comfy Lounge
169 on the 3rd floor of the MC. Nominations can be sent to the Chief
170 Returning Officer, <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
171 Nominations will be open until 4:30PM on Monday May 9th. You can also stop by the office in
172 person to write your nominations on the white board.</p>
174 <p>The executive positions open for nomination are:
177 <li>Vice-President</li>
181 There are also numerous positions that will be appointed once the
182 executive are elected including systems administrator, office manager,
185 <p>Everyone is encouraged to run if they are interested, regardless of
186 program of study, age, or experience. If you can't make the election,
187 that's OK too! You can give the CRO a statement to read on your
188 behalf. If you can't make it or are out of town, your votes can be
189 sent to the CRO in advance of the elections. For the list of nominees,
190 watch the CSC website, or ask the CRO.</p>
192 <p>Good luck to our candidates!</p>
197 <eventitem date="2011-03-17" time="04:30 PM" room="MC2034" title="Software Patents">
199 <short><p><i>by Stanley Khaing</i>. What are the requirements for obtaining a patent? Should software be patentable?</p></short>
202 <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>
204 <li>What are the requirements for obtaining a patent?</li>
205 <li>Should software be patentable?</li>
211 <eventitem date="2011-02-17" time="07:00 PM" room="MC2017" title="A Smorgasbord of Perl Talks">
213 <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>
216 <p>Tyler Slijboom will present:</p>
219 <li>Prototyping in Perl,</li>
220 <li>Perl Default Variables,</li>
221 <li>HOWTO on OO Programming, and</li>
222 <li>HOWTO on Installing and Using Modules from CPAN</li>
225 <p>Daniel Allen will present:</p>
228 <li>Coping with Other Peoples' Code</li>
231 <p>Justin Wheeler will present:</p>
234 <li>Moose: a Modern Perl Framework</li>
240 <eventitem date="2011-02-09" time="04:30 PM" room="MC3003" title="UNIX 103: Version Control Systems">
242 <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.
245 <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>
249 <eventitem date="2011-02-04" time="07:00 PM" room="Comfy Lounge" title="Code Party">
251 <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>
253 <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>
257 <eventitem date="2011-02-02" time="04:30 PM" room="MC3003" title="UNIX 102: Documents and Editing in the Unix environment">
259 <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.
262 <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>
266 <eventitem date="2011-01-26" time="04:30 PM" room="MC3003" title="UNIX 101: An Introduction to the Shell">
268 <short><p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!
272 <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
273 servers and on other Unix environments. Topics covered include: using the shell, both basic
274 interaction and advanced topics like scripting and job control, the filesystem and manipulating
275 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
276 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
277 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
284 <eventitem date="2010-11-17" time="04:30 PM" room="MC4061" title="Mathematics and aesthetics in maze design">
286 <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.
290 <abstract><p>For thousands of years, mazes and labyrinths have played
291 an important role in human culture and myth. Today, solving
292 mazes is a popular pastime, whether with pencil on paper
293 or by navigating through a cornfield.
294 </p><p>The construction of compelling mazes encompasses a variety of
295 challenges in mathematics, algorithm design, and aesthetics.
296 The maze should be visually attractive, but it should also be
297 an engaging puzzle. Master designers balance these two goals
298 with wonderful results.
299 </p><p>In this talk, I discuss the role of the computer in the process
300 of designing mazes. I present some well known algorithms for
301 maze construction, and more recent research that attempts to
302 novel mazes with non-trivial mathematical or aesthetic properties.
306 <eventitem date="2010-11-13" time="12:00 PM" room="Outside DC" title="CSC Invades Toronto">
308 <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.
309 If you would like to come along, please come by the office and sign up. The cost for the trip is $2 per member.
311 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
316 <eventitem date="2010-11-05" time="07:00 PM" room="CnD Lounge (MC3002)" title="Hackathon">
318 <short><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be in the C&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.
322 <abstract><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be
323 in the C&D Lounge from 7pm until 7am working on personal projects, open source projects, and
324 whatever else comes to mind. If you're interested in getting involved in free/open source development,
325 some members will be on hand to guide you through the process.
330 <eventitem date="2010-10-26" time="04:30 PM" room="MC4040" title="Analysis of randomized algorithms via the probabilistic method">
332 <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.
336 <abstract><p>The probabilistic method is an extremely powerful tool in combinatorics that can be
337 used to prove many surprising results. The idea is the following: to prove that an
338 object with a certain property exists, we define a distribution of possible objects
339 and use show that, among objects in the distribution, the property holds with
340 non-zero probability. The key is that by using the tools and techniques of
341 probability theory, we can vastly simplify proofs that would otherwise require very
342 complicated combinatorial arguments.
343 </p><p>As a technique, the probabilistic method developed rapidly during the latter half of
344 the 20th century due to the efforts of mathematicians like Paul Erdős and increasing
345 interest in the role of randomness in theoretical computer science. In essence, the
346 probabilistic method allows us to determine how good a randomized algorithm's output
347 is likely to be. Possibly applications range from graph property testing to
348 computational geometry, circuit complexity theory, game theory, and even statistical
350 </p><p>In this talk, we will give a few examples that illustrate the basic method and show
351 how it can be used to prove the existence of objects with desirable combinatorial
352 properties as well as produce them in expected polynomial time via randomized
353 algorithms. Our main goal will be to present a very slick proof from 1995 due to
354 Spencer on the performance of a randomized greedy algorithm for a set-packing
355 problem. Spencer, for seemingly no reason, introduces a time variable into his
356 greedy algorithm and treats set-packing as a Poisson process. Then, like magic,
357 he is able to show that his greedy algorithm is very likely to produce a good
358 result using basic properties of expected value.
359 </p><p>Properties of Poisson and Binomial distributions will be applied, but I'll remind
360 everyone of the needed background for the benefit of those who might be a bit rusty.
361 Stat 230 will be more than enough. Big O notation will be used, but not excessively.
366 <eventitem date="2010-10-19" time="04:30 PM" room="RCH 306" title="Machine learning vs human learning - will scientists become obsolete?">
368 <short><p><i>by Dr. Shai Ben-David</i>.
377 <eventitem date="2010-10-13" time="04:30 PM" room="MC3003" title="UNIX 102">
379 <short><p>This installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
383 <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
384 If you missed Unix101 but still know your way around you should be fine.
385 Topics covered include: "real" editors, document typesetting with LaTeX
386 (great for assignments!), bulk editing, spellchecking, and printing in the
387 student environment and elsewhere.
391 <eventitem date="2010-10-06" time="04:30 PM" room="MC3003" title="UNIX 103">
393 <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).
397 <abstract><p>Unix 103 will cover version control systems and how to use them to manage
398 your projects. Unix 101 would be helpful, but all that is needed is basic
399 knowledge of the Unix command line (how to enter commands).
404 <eventitem date="2010-10-12" time="04:30 PM" room="MC4061" title="How to build a brain: From single neurons to cognition">
406 <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.
410 <abstract><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing
411 mathematical models of brain function. It has made significant
412 headway in understanding aspects of the neural code. However,
413 past work has largely focused on small numbers of neurons, and
414 so the underlying representations are often simple. In this
415 talk I demonstrate how the ideas underlying these simple forms of
416 representation can underwrite a representational hierarchy that
417 scales to support sophisticated, structure-sensitive
418 representations. I will present a general architecture, the semantic
419 pointer architecture (SPA), which is built on this hierarchy
420 and allows the manipulation, processing, and learning of structured
421 representations in neurally realistic models. I demonstrate the
422 architecture on Progressive Raven's Matrices (RPM), a test of
423 general fluid intelligence.
428 <eventitem date="2010-10-04" time="04:30 PM" room="MC4021" title="BareMetal OS">
430 <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.
434 <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,
435 while applications can be written in Assembly or C/C++.
436 High Performance Computing is the main target application.
441 <eventitem date="2010-09-28" time="04:30 PM" room="MC4061" title="A Brief Introduction to Video Encoding">
443 <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.
447 <abstract><p><i>By Peter Barfuss</i>. With the recent introduction of digital TV and the widespread success
448 of video sharing websites such as youtube, it is clear that the task
449 of lossily compressing video with good quality has become important.
450 Similarly, the complex algorithms involved require high amounts of
451 optimization in order to run fast, another important requirement for
452 any video codec that aims to be widely used/adopted.
453 </p><p>In this talk, I
454 will go over the concepts used in video encoding (such as motion
455 estimation/compensation, inter- and intra- frame prediction,
456 quantization and entropy encoding), and then demonstrate these
457 concepts and algorithms in use in the MPEG-2 and the H.264 video
458 codecs. In addition, some clever optimization tricks using
459 SIMD/vectorization will be covered, assuming sufficient time to cover
465 <eventitem date="2010-09-23" time="04:30 PM" room="DC1301 (The Fishbowl)" title="Calling all CS Frosh">
467 <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.
471 <abstract><p>Come meet and greet your professors, advisors, and the heads of the school.
472 Talk to the CSC executive and other upper year students about CS at Waterloo.
473 Free food and beverages will also be available, so there is really no excuse
478 <eventitem date="2010-09-29" time="04:30 PM" room="MC3003" title="Unix 101">
480 <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.
484 <abstract><p>Need to use the Unix environment for a course, want to overcome your fears of
485 the command line, or just curious? Attend the first installment in the CSC's
486 popular series of Unix tutorails to learn the basics of the shell and how to
487 navigate the unix environment. By the end of the hands on workshop you will
488 be able to work efficiently from the command line and power-use circles around
494 <eventitem date="2010-09-22" time="06:00 PM" room="MC4045" title="Cooking for Geeks">
496 <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 & foodies alike. We're happy to have Jeff joining us for a hands on demonstration.
500 <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.
501 Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers & foodies alike.
502 We're happy to have Jeff joining us for a hands on demonstration.
503 </p><p>But you don't have to take our word for it... here's what Jeff has to say:
504 </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
505 about my just-released book. I'll talk about the food science behind what makes things yummy, giving you a quick
506 primer on how to go into the kitchen and have a fun time turning out a good meal.
507 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.
508 </p><p>If you have a copy of the book, bring it! I’ll happily sign it.
512 <eventitem date="2010-09-21" time="04:30 PM" room="MC4061" title="In the Beginning">
514 <short><p><b>by Dr. Prabhakar Ragde, Cheriton School of Computer Science</b>. I'll be workshopping some lecture ideas involving representations of
515 numbers, specification of computation in functional terms, reasoning about
516 such specifications, and comparing the strengths and weaknesses of different approaches.
520 <abstract><p>I'll be workshopping some lecture ideas involving representations
521 of numbers, specification of computation in
522 functional terms, reasoning about such specifications, and comparing the
523 strengths and weaknesses of
524 different approaches. No prior background is needed; the talk should be accessible
526 the University of Waterloo and, I hope, interesting to both novices and experts.
530 <eventitem date="2010-09-14" time="04:30 PM" room="Comfy Lounge" title="Elections">
531 <short><p>Fall term executive elections and general meeting.</p></short>
536 <eventitem date="2010-07-20" time="04:30 PM" room="MC2066" title="The Incompressibility Method">
538 In this talk, we shall explore the incompressibility method---an interesting and
539 extremely powerful framework for determining the average-case runtime of
540 algorithms. Within the right background knowledge, the heapsort question can be
541 answered with an elegant 3-line proof.
544 <p>Heapsort. It runs in $\Theta(n \log n)$ time in the worst case, and in $O(n)$
545 time in the best case. Do you think that heapsort runs faster than $O(n
546 \log n)$ time on average? Could it be possible that on most inputs,
547 heapsort runs in $O(n)$ time, running more slowly only on a small fraction
549 <p>Most students would say no. It "feels" intuitively obvious that heapsort
550 should take the full $n \log n$ steps on most inputs. However, proving this
551 rigourously with probabilistic arguments turns out to be very difficult.
552 Average case analysis of algorithms is one of those icky subjects that most
553 students don't want to touch with a ten foot pole; why should it be so
554 difficult if it is so intuitively obvious?</p>
555 <p>In this talk, we shall explore the incompressibility method---an interesting
556 and extremely powerful framework for determining the average-case runtime of
557 algorithms. Within the right background knowledge, the heapsort question
558 can be answered with an elegant 3-line proof.</p>
559 <p>The crucial fact is that an overwhelmingly large fraction of randomly
560 generated objects are incompressible. We can show that the inputs to
561 heapsort that run quickly correspond to inputs that can be compressed,
562 thereby proving that heapsort can't run quickly on average. Of course,
563 "compressible" is something that must be rigourously defined, and for this
564 we turn to the fascinating theory of Kolmogorov complexity.</p>
565 <p>In this talk, we'll briefly discuss the proof of the incompressibility
566 theorem and then see a number of applications. We won't dwell too much on
567 gruesome mathemtical details. No specific background is required, but
568 knowledge of some of the topics in CS240 will be helpful in understanding
569 some of the applications.</p>
573 <eventitem date="2010-07-13" time="04:30 PM" room="MC2066" title="Halftoning and Digital Art">
574 <short><p>Edgar Bering will be giving a talk titled: Halftoning and Digital Art</p></short>
575 <abstract><p>Halftoning is the process of simulating a continuous tone image
576 with small dots or regions of one colour. Halftoned images may be seen
577 in older newspapers with a speckled appearance, and to this day colour
578 halftoning is used in printers to reproduce images. In this talk I will
579 present various algorithmic approaches to halftoning, with an eye not
580 toward exact image reproduction but non-photorealistic rendering and
581 art. Included in the talk will be an introduction to digital paper
582 cutting and a tutorial on how to use the CSC's paper cutter to render
588 <eventitem date="2010-07-09" time="07:00 PM" room="MC Comfy" title="Code Party">
589 <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
590 until we get bored (likely in the early in morning). Come out for
593 <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
594 until we get bored (likely in the early in morning). Come out for
599 <eventitem date="2010-07-06" time="04:30 PM" room="MC2054" title="Dataflow Analysis">
600 <short><p>Nomair Naeem, a P.H.D. Student at Waterloo, will be giving a talk about Dataflow Analysis</p></short>
602 After going through an introduction to Lattice Theory and a formal treatment to
603 Dataflow Analysis Frameworks, we will take an in-depth view of the
604 Interprocedural Finite Distributive Subset (IFDS) Algorithm which implements a
605 fully context-sensitive, inter-procedural static dataflow analysis. Then, using
606 a Variable Type Analysis as an example, I will outline recent extensions that we
607 have made to open up the analysis to a larger variety of static analysis
608 problems and making it more efficient.
610 The talk is self-contained and no prior knowledge of program analysis is
615 <eventitem date="2010-06-22" time="04:30 PM" room="MC2066" title="Compiling To Combinators">
616 <short><p>Professor Ragde will be giving the first of our Professor talks for the Spring 2010 term.</p></short>
618 Number theory was thought to be mathematically appealing but practically
619 useless until the RSA encryption algorithm demonstrated its considerable
620 utility. I'll outline how combinatory logic (dating back to 1920) has a
621 similarly unexpected application to efficient and effective compilation,
622 which directly catalyzed the development of lazy functional programming
623 languages such as Haskell. The talk is self-contained; no prior knowledge
624 of functional programming is necessary.
628 <eventitem date="2010-05-25" time="05:00 PM" room="MC2066" title="Gerald Sussman">
629 <short><p>Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas</p></short>
630 <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
633 <eventitem date="2010-05-26" time="03:30 PM" room="MC5136" title="Gerald Sussman">
634 <short><p>Public Reception</p></short>
635 <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
638 <eventitem date="2010-05-26" time="05:000PM" room="MC5158" title="Gerald Sussman">
639 <short><p>The Art of the Propagator</p></short>
640 <abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
643 <eventitem date="2010-05-11" time="05:30 PM" room="Comfy Lounge" title="Elections">
644 <short><p>Spring term executive elections and general meeting.</p></short>
648 <eventitem date="2010-04-06" time="04:30 PM" room="DC1304" title="Brush-Based Constructive Solid Geometry">
650 <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.
654 <abstract><p>For some would-be graphics programmers, the biggest barrier-to-entry is getting data to render. This is why there exist so
655 many terrain renderers: by virtue of the fact that rendering height-fields tends to give pretty pictures from next to no
656 "created" information. However, it becomes more difficult when programmers want to do indoor rendering (in the style of the
657 Quake and Unreal games). Ripping map information from the Quake games is possible (and fairly simple), but their tool-chain
658 is fairly clumsy from the point of view of adding a conversion utility.
659 </p><p>My talk is about Constructive Solid Geometry from a Brush-based perspective (nearly identical to Unreal's and still very similar
660 to Quake's). The basic idea is that there are brushes (convex volumes in 3-space) and they can either be additive (solid brushes)
661 or subtractive (hollow, or air brushes). The entire world starts off as an infinite solid lump and you can start removing sections
662 of it then adding them back in. The talk pertains to fast methods of taking the list of brushes and generating world geometry. I may
663 touch on interface problems with the editor, but the primary content will be the different ways I generated the geometry and what I found to be best.
667 <eventitem date="2010-04-07" time="1:00 PM" room="MC2037" title="Windows Azure Lab">
669 <short><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure. Attend this Hands-on-lab session sponsored by Microsoft.
673 <abstract><p>We are in the midst of an industry shift as developers and businesses embrace the Cloud.
674 Technical innovations in the cloud are dramatically changing the economics of computing
675 and reducing barriers that keep businesses from meeting the increasing demands of
676 today's customers. The cloud promises choice and enables scenarios that previously
677 were not economically practical.
678 </p><p>Microsoft's Windows Azure is an internet-scale cloud computing services platform hosted
679 in Microsoft data centers. The Windows Azure platform, allows developers to build and
680 deploy production ready cloud services and applications. With the Windows Azure platform,
681 developers can take advantage of greater choice and flexibility in how they develop and
682 deploy applications, while using familiar tools and programming languages.
683 </p><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.
684 Attend the Hands-on-lab session sponsored by Microsoft.
688 <eventitem date="2010-04-01" time="6:30 PM" room="CSC Office" title="CTRL-D">
690 <short><p>Once again the CSC will be holding its traditional end of term dinner. It will be at the Vice President's house. If you don't know how to get there meet at the club office at 6:30 PM, a group will be leaving from the MC then. The dinner will be potluck style so bring a dish for 4-6 people, or some plates or pop or something.
694 <abstract><p>Once again the CSC will be holding its traditional end of term dinner. It will
695 be at the Vice President's house. If you don't know how to get there meet
696 at the club office at 6:30 PM, a group will be leaving from the MC then. The
697 dinner will be potluck style so bring a dish for 4-6 people, or some plates
702 <eventitem date="2010-03-30" time="4:30 PM" room="DC1304" title="NUI: The future of robotics and automated systems">
704 <short><p>Member Sam Pasupalak will present some of his ongoing work in Natural User Interfaces and Robotics in this sixth installment of CS10.
708 <abstract><p>Bill Gates in his article “A Robot in every home” in the Scientific American describes how the current
709 robotics industry resembles the 1970’s of the Personal Computer Industry. In fact it is not just
710 Microsoft which has already taken a step forward by starting the Microsoft Robotics studio, but robotics
711 researchers around the world believe that robotics and automation systems are going to be ubiquitous in
712 the next 10-20 years (similar to Mark Weiser’s analogy of Personal Computers 20 years ago). Natural User
713 Interfaces (NUIs) are going to revolutionize the way we interact with computers, cellular phones, household
714 appliances, automated systems in our daily lives. Just like the GUI made personal computing a reality,
715 I believe natural user interfaces will do the same for robotics.
716 </p><p>During the presentation I will be presenting my ongoing software project on natural user interfaces as well
717 as sharing my goals for the future, one of which is to provide an NUI SDK and the other to provide a common
718 Robotics OS for every hardware vendor that will enable people to make applications without worrying about
719 underlying functionality. If time permits I would like to present a demo of my software prototype.
723 <eventitem date="2010-03-26" time="7:00 PM" room="MC7001" title="A Final Party of Code">
725 <short><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on open source projects, doing some computational math, and other general classiness. There will be free energy drinks for everyone's enjoyment. This is the last of the term so don't miss out.
729 <abstract><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we
730 get bored (likely in the early in morning). Come out for fun hacking
731 times, spreading Intertube memes (optional), hacking on open source projects,
732 doing some computational math, and other
733 general classiness. There will be free energy drinks for everyone's
734 enjoyment. This is the last of the term so don't miss out.
738 <eventitem date="2010-03-23" time="4:30 PM" room="MC5158" title="Memory-Corruption Security Holes: How to exploit, patch and prevent them.">
740 <short><p>Despite it being 2010, code is still being exploited due to stack overflows, a 40+ year old class of security vulnerabilities. In this talk, I will go over several common methods of program exploitation, both on the stack and on the heap, as well as going over some of the current mitigation techniques (i.e. stack canaries, ASLR, etc.) for these holes, and similarly, how some of these can be bypassed as well.
744 <abstract><p>Despite it being 2010, code is still being exploited due to
745 stack overflows, a 40+ year old class of security vulnerabilities. In
746 this talk, I will go over several common methods of program
747 exploitation, both on the stack and on the heap, as well as going over
748 some of the current mitigation techniques (i.e. stack canaries, ASLR,
749 etc.) for these holes, and similarly, how some of these can be
754 <eventitem date="2010-03-19" time="7:00 PM" room="Comfy Lounge" title="Another Party of Code">
756 <short><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on the OpenMoko, creating music mixes, and other general classiness. There will be free energy drinks for everyone's enjoyment.
760 <abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we
761 get bored (likely in the early in morning). Come out for fun hacking
762 times, spreading Intertube memes (optional), hacking on the OpenMoko,
763 creating music mixes, and other
764 general classiness. There will be free energy drinks for everyone's
769 <eventitem date="2010-03-16" time="4:30 PM" room="MC5158" title="Approximation Hardness and the Unique Games Conjecture">
771 <short><p>The fifth installment in CS10: Undergraduate Seminars in CS, features CSC member Elyot Grant introducing the theory of approximation algorithms. Fun times and a lack of gruesome math are promised.
775 <abstract><p>The theory of NP-completeness suggests that some problems in CS are inherently hard—that is,
776 there is likely no possible algorithm that can efficiently solve them. Unfortunately, many of
777 these problems are ones that people in the real world genuinely want to solve! How depressing!
778 What can one do when faced with a real-life industrial optimization problem whose solution may
779 save millions of dollars but is probably impossible to determine without trillions of
780 years of computation time?
781 </p><p>One strategy is to be content with an approximate (but provably "almost ideal") solution, and from
782 here arises the theory of approximation algorithms. However, this theory also has a depressing side,
783 as many well-known optimization problems have been shown to be provably hard to approximate well.
784 </p><p>This talk shall focus on the depressing. We will prove that various optimization problems (such as
785 traveling salesman and max directed disjoint paths) are impossible to approximate well unless P=NP.
786 These proofs are easy to understand and are REALLY COOL thanks to their use of very slick reductions.
787 </p><p>We shall explore many NP-hard optimization problems and state the performance of the best known
788 approximation algorithms and best known hardness results. Tons of open problems will be mentioned,
789 including the unique games conjecture, which, if proven true, implies the optimality of many of the
790 best known approximation algorithms for NP-complete problems like MAX-CUT and INDEPENDENT SET.
791 </p><p>I promise fun times and no gruesome math. Basic knowledge of graph theory and computational
792 complexity might help but is not required.
796 <eventitem date="2010-03-12" time="7:00 PM" room="Comfy Lounge" title="A Party of Code">
798 <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
802 <abstract><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
803 </p><p>Come join us for a night of coding. Get in touch with more experianced coders,
804 advertize for/bug squash on your favourite open source project, write that personal
805 project you were planning to do for a while but haven't found the time. Don't
806 have any ideas but want to sit and hack? We can find something for you to do.
811 <eventitem date="2010-03-09" time="4:30 PM" room="DC1304" title="Software Transactional Memory and Using STM in Haskell">
813 <short><p>The fourth Undergraduate Seminar in Computer Science will be presented by Brennan Taylor, a club member. He will be discussing various concurrent computing problems, and introducing Software Transactional Memory as a solution to them.
817 <abstract><p>Concurrency is hard. Well maybe not hard, but it sure is annoying to get right. Even the
818 simplest of synchronization tasks are hard to implement correctly when using synchronization
819 primitives such as locks and semaphores.
820 </p><p>In this talk we explore what Software Transactional Memory (STM) is, what problems STM solves,
821 and how to use STM in Haskell. We explore a number of examples that show how easy STM is to use
822 and how expressive Haskell can be. The goal of this talk is to convince attendees that STM is
823 not only a viable synchronization solution, but superior to how synchronization is typically
828 <eventitem date="2010-03-06" time="5:00 PM" room="Waterloo Bowling Lanes" title="Bowling">
829 <short><p>The CSC is going bowling. $9.75 for shoes and two games. The bowling alley serves fried food and beer. Join us for
830 some or all of the above</p></short>
833 <eventitem date="2010-03-02" time="4:30 PM" room="DC1304" title="QIP=PSPACE">
835 <short><p>Dr. John Watrous of the <a href="http://www.iqc.ca">IQC</a> will present his recent result "QIP=PSPACE". The talk will not assume any familiarity with quantum computing or complexity theory, and light refreshments will be provided.
839 <abstract><p>The interactive proof system model of computation is a cornerstone of
840 complexity theory, and its quantum computational variant has been
841 studied in quantum complexity theory for the past decade. In this
842 talk I will discuss an exact characterization of the power of quantum
843 interactive proof systems that I recently proved in collaboration with
844 Rahul Jain, Zhengfeng Ji, and Sarvagya Upadhyay. The characterization
845 states that the collection of computational problems having quantum
846 interactive proof systems consists precisely of those problems
847 solvable with an ordinary classical computer using a polynomial amount
848 of memory (or QIP = PSPACE in complexity-theoretic terminology). This
849 characterization implies the striking fact that quantum computing does
850 not provide any increase in computational power over classical
851 computing in the context of interactive proof systems.
852 </p><p>I will not assume that the audience for this talk has any familiarity
853 with either quantum computing or complexity theory; and to be true to
854 the spirit of the interactive proof system model, I hope to make this
855 talk as interactive as possible -- I will be happy to explain anything
856 related to the talk that I can that people are interested in learning
861 <eventitem date="2010-02-26" time="7:00 PM" room="CnD Lounge" title="Contest Closing">
862 <short><p>The <a href="http://contest.csclub.uwaterloo.ca">contest</a> is coming to a close tomorrow, so to finish it in style we will be having ice cream and code friday night.
863 It would be a shame if Waterloo lost (we're not on top of the <a href="http://csclub.uwaterloo.ca/contest/rankings.php">leaderboard</a> right now) so come out and hack for the home team.</p></short>
866 <eventitem date="2010-02-25" time="4:30 PM" room="DC1302" title="CSCF Town Hall">
868 <short><p>Come to a town hall style meeting with the managers of CSCF to discuss how to improve the undergraduate (student.cs) computing environment. Have gripes? Suggestions? Requests? Now is the time to voice them.
872 <abstract><p>Come to a town hall style meeting with the managers of CSCF to discuss how
873 to improve the undergraduate (student.cs) computing environment. Have gripes?
874 Suggestions? Requests? Now is the time to voice them.
875 </p><p>CSCF management (Bill Ince, Associate Director; Dave Gawley, Infrastructure Support;
876 Dawn Keenan, User Support; Lawrence Folland, Research Support) will be at the
877 meeting to listen to student concerns and suggestions. Information gathered from
878 the meeting will be summarized and taken to the CSCF advisory committee for
879 discussion and planning.
884 <eventitem date="2010-02-23" time="04:30 PM" room="MC5136B" title="The Best Algorithms are Randomized Algorithms">
886 <short><p>In this talk Nicholas Harvey discusses the prevalence of randomized algorithms and their application to solving optimization problems on graphs; with startling results compared to deterministic algorithms.
890 <abstract><p>For many problems, randomized algorithms are either the fastest algorithm or the simplest algorithm;
891 sometimes they even provide the only known algorithm. Randomized algorithms have become so prevalent
892 that deterministic algorithms could be viewed as a curious special case. In this talk I will describe
893 some startling examples of randomized algorithms for solving some optimization problems on graphs.
898 <eventitem date="2010-02-09" time="4:30 PM" room="DC1304" title="An Introduction to Vector Graphics Libraries with Cairo">
900 <short><p>Cairo is an open source, cross platform, vector graphics library with the ability to output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids of pixels, but rather by a collection of drawing operations. These operations detail how to draw lines, fill shapes, and even set text to create the desired image. This has the advantages of being infinitely scalable, smaller in file size, and simpler to express within a computer programme. This talk will be an introduction to the concepts and metaphors used by vector graphics libraries in general and Cairo in particular.
904 <abstract><p>Cairo is an open source, cross platform, vector graphics library with the ability to
905 output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as
906 X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes
907 and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids
908 of pixels, but rather by a collection of drawing operations. These operations detail how to
909 draw lines, fill shapes, and even set text to create the desired image. This has the
910 advantages of being infinitely scalable, smaller in file size, and simpler to express within
911 a computer programme. This talk will be an introduction to the concepts and metaphors used
912 by vector graphics libraries in general and Cairo in particular.
917 <eventitem date="2010-02-11" time="4:30 PM" room="MC3005" title="UNIX 101 Encore">
919 <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends! The popular tutorial returns for a second session, in case you missed the first one.
923 <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
924 The popular tutorial returns for a second session, in case you missed the first one.
925 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
926 servers and on other Unix environments. Topics covered include: using the shell, both basic
927 interaction and advanced topics like scripting and job control, the filesystem and manipulating
928 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
929 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
930 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
934 <eventitem date="2010-02-10" time="4:30 PM" room="MC3003" title="UNIX 101">
936 <short><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
940 <abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
941 </p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
942 servers and on other Unix environments. Topics covered include: using the shell, both basic
943 interaction and advanced topics like scripting and job control, the filesystem and manipulating
944 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
945 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
946 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
950 <eventitem date="2010-01-18" time="15:30 PM" room="MC2066" title="Wilderness Programming">
952 <short><p>Paul Lutus describes his early Apple II software development days, conducted from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul describes how he wrote a best-seller (Apple Writer) in assembly language, while dealing with power outages, lightning storms and the occasional curious bear.
956 <abstract><p>Paul Lutus describes his early Apple II software development days, conducted
957 from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul
958 describes how he wrote a best-seller (Apple Writer) in assembly language,
959 while dealing with power outages, lightning storms and the occasional
961 </p><p>Paul also describes his subsequent four-year solo around-the-world sail in a
962 31-foot boat. And be ready with your inquiries -- Paul will answer your
964 </p><p>Paul Lutus has a wide background in science and technology. He designed spacecraft
965 components for the NASA Space Shuttle and created a mathematical model of the solar
966 system used during the Viking Mars lander program. Then, at the beginning of the
967 personal computer revolution, Lutus switched career paths and took up computer
968 science. His best-known program is "Apple Writer," an internationally successful
969 word processing program for the early Apple computers.
974 <eventitem date="2010-01-26" time="05:00 PM" room="DC1302" title="Deep learning with multiplicative interactions">
976 <short><p>Geoffrey Hinton, from the University of Toronto and the Canadian Institute for Advanced Research, will discuss some of his latest work in learning networks and artificial intelligence. The talk will be accessable, so don't hesitate to come out. More information about Dr. Hinton's research can be found on <a href="http://www.cs.toronto.edu/~hinton/">his website</a>.
980 <abstract><p>Deep networks can be learned efficiently from unlabeled data. The layers
981 of representation are learned one at a time using a simple learning
982 module, called a "Restricted Boltzmann Machine" that has only one layer
983 of latent variables. The values of the latent variables of one
984 module form the data for training the next module. Although deep
985 networks have been quite successful for tasks such as object
986 recognition, information retrieval, and modeling motion capture data,
987 the simple learning modules do not have multiplicative interactions which
988 are very useful for some types of data.
989 </p><p>The talk will show how a third-order energy function can be factorized to
990 yield a simple learning module that retains advantageous properties of a
991 Restricted Boltzmann Machine such as very simple exact inference and a
992 very simple learning rule based on pair-wise statistics. The new module
993 contains multiplicative interactions that are useful for a variety of
994 unsupervised learning tasks. Researchers at the University of Toronto
995 have been using this type of module to extract oriented energy from image
996 patches and dense flow fields from image sequences. The new module can
997 also be used to allow motions of a particular style to be achieved by
998 blending autoregressive models of motion capture data.
1005 <eventitem date="2009-12-05" time="6:30 PM" room="MC3036" edate="2009-12-05" etime="11:55 PM" title="The Club That Really Likes Dinner">
1006 <short><p>Come on out to the club's termly end of term dinner, details in the abstract</p></short>
1007 <abstract><p>The dinner will be potluck style at the Vice President's house, please RSVP (respond swiftly to the vice president)
1008 <a href="https://csclub.uwaterloo.ca/rsvp">here</a> if you plan on attending. If you don't know how to get there meet at the club
1009 office at 6:30 PM, a group will be leaving to lead you there.</p></abstract>
1012 <eventitem date="2009-11-27" time="7:00 PM" room="Comfy Lounge" edate="2009-11-28" etime="7:00 AM" title="Code Party!!11!!">
1014 <short><p>A fevered night of code, friends, fun, energy drinks, and the CSC. Facebook will be around to bring some food and hang out.
1018 <abstract><p>Come join us for a night of coding. Get in touch with more experianced coders,
1019 advertize for/bug squash on your favourite open source project, write that personal
1020 project you were planning to do for a while but haven't found the time. Don't
1021 have any ideas but want to sit and hack? Try your hand at the Facebook puzzles,
1022 write a new app, or just chill and watch scifi.
1027 <eventitem date="2009-11-05" time="4:30 PM" room="MC2065" title="In the Beginning">
1029 <short><p>To most CS students an OS kernel is pretty low level. But there is something even lower, the instructions that must be executed to get the CPU ready to accept a kernel. That is, if you look at any processor's reference manual there is a page or two describing the state of the CPU when it powered on. This talk describes what needs to happen next, up to the point where the first kernel instruction executes.
1033 <abstract><p>To most CS students an OS kernel is pretty low level. But there is
1034 something even lower, the instructions that must be executed to get the
1035 CPU ready to accept a kernel. That is, if you look at any processor's
1036 reference manual there is a page or two describing the state of the CPU
1037 when it powered on. This talk describes what needs to happen next,
1038 up to the point where the first kernel instruction executes.
1039 </p><p>This part of execution is extremely architecture-dependent. Those of
1040 you who have any experience with this aspect of CS probably know the x86
1041 architecture, and think it's horrible, which it is. I am going to talk
1042 about the ARM architecture, which is inside almost all mobile phones,
1043 and which allows us to look at a simple implementation that includes
1049 <eventitem date="2009-10-20" time="04:30 PM" room="MC3036" title="CSC Goes To Dooly's">
1051 <short><p>We're going to Dooly's to play pool. What more do you want from us? Come to the Club office and we'll all bus there together. We've got discount tables for club members so be sure to be there.
1055 <abstract><p>We're going to Dooly's to play pool. What more do you want from us?
1056 Come to the Club office and we'll all bus there together. We've got
1057 discount tables for club members so be sure to be there.
1062 <eventitem date="2009-10-16" time="7:00 PM" room="Comfy Lounge" title="Code Party and Contest Finale">
1064 <short><p>Come on out for a night of code, contests, and energy drinks. Join the Computer Scinece Club for the finale of the Google AI Challenge and an all night code party. Finish up your entry, or start it (its not too late). Not interested in the contest? Come out anyway for a night of coding and comradarie with us.
1068 <abstract><p>Come on out for a night of code, contests, and energy drinks. Join the Computer
1069 Scinece Club for the finale of the Google AI Challenge and an all night code party.
1070 Finish up your entry, or start it (its not too late). Not interested in the contest?
1071 Come out anyway for a night of coding and comradarie with us.
1072 </p><p>Included in the party will be the contest finale and awards cerimony, so if you've
1073 entered be sure to stick arround to collect the spoils of victory, or see just who
1074 that person you couldn't edge off is.
1079 <eventitem date="2009-10-08" time="4:30 PM" room="MC3003" title="UNIX 103">
1081 <short><p>In this long-awaited third installment of the popular Unix Tutorials the friendly experts of the CSC will teach you the simple art of version control. You will learn the purpose and use of two different Version Control Systems (git and subversion). This tutorial will advise you in the discipline of managing the source code of your projects and enable you to quickly learn new Version Control Systems in the work place -- a skill that is much sought after by employers.
1085 <abstract><p>In this long-awaited third installment of the popular Unix Tutorials the
1086 friendly experts of the CSC will teach you the simple art of version control.
1087 You will learn the purpose and use of two different Version Control Systems
1088 (git and subversion). This tutorial will advise you in the discipline of
1089 managing the source code of your projects and enable you to quickly learn new
1090 Version Control Systems in the work place -- a skill that is much sought after
1096 <eventitem date="2009-10-14" time="2:30 PM" room="DC1304" title="UofT Graduate School Information Session">
1097 <short><p> "Is Graduate School for You?" Get the answers to your grad school questions - and have a bite to eat, our treat</p>
1099 <abstract><p> Join Prof. Greg Wilson, faculty member in the Software Engineering research group in the UofT's Department of Computer Science,
1100 as he gives insight into studying at the graduate level-what can be expected, what does UofT offer, is it right for you? Pizza and pop will
1101 be served. <b>Come see what grad school is all about!</b>. All undergraduate students are welcome; registration is not required.</p>
1102 <p>For any questions about the program, visit <a href="http://www.cs.toronto.edu/dcs/prospective-grad.html">UofT's website</a>. This
1103 event is not run by the CS Club, and is announced here for the benefit of our members.</p></abstract>
1106 <eventitem date="2009-10-03" time="10:00 AM" edate="2009-10-03" etime="3:30 PM" room="DC1301 FishBowl" title="Linux Install Fest">
1108 <short><p>Interested in trying Linux but don't know where to start?
1109 Come to the Linux install fest to demo Linux, get help installing it
1110 on your computer, either stand alone or a dual boot, and help setting
1111 up your fresh install. Have lunch and hang around if you like, or just come in for a CD.
1115 <abstract><p>Interested in trying Linux but don't know where to start?
1116 Come to the Linux install fest to demo Linux, get help installing it on
1117 your computer, either stand alone or a dual boot, and help setting
1118 up your fresh install. Have lunch and hang around if you like, or just
1119 come in for a qick install.
1124 <eventitem date="2009-10-01" time="4:30 PM" room="MC3003" title="UNIX 102">
1126 <short><p>The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
1130 <abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
1131 If you missed Unix101 but still know your way around you should be fine.
1132 Topics covered include: "real" editors, document typesetting with LaTeX
1133 (great for assignments!), bulk editing, spellchecking, and printing in the
1134 student environment and elsewhere.
1135 </p><p>If you aren't interested or feel comfortable with these taskes, watch out for
1136 Unix 103 and 104 to get more depth in power programming tools on Unix.
1141 <eventitem date="2009-09-28" time="4:30 PM" edate="2009-10-09" etime="11:59 OM" room="MC3003" title="AI Programming Contest sponsored by Google">
1143 <short><p>Come learn how to write an intelligent game-playing program.
1144 No past experience necessary. Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online web interface</a>
1145 to watch it battle against other people's programs. Beginners and experts welcome! Prizes provided by google,
1146 including the delivery of your resume to google recruiters.
1150 <abstract><p>Come learn how to write an intelligent game-playing program.
1151 No past experience necessary. Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online
1152 web interface</a> to watch it battle against other people's programs.
1153 Beginners and experts welcome!
1154 </p><p>The contest is sponsored by Google, so be sure to compete for a chance
1155 to get noticed by them.
1156 </p><p>Prizes for the top programs:
1157 <ul><li>$100 in Cash Prizes</li>
1158 <li> Google t-shirts</li>
1159 <li>Fame and recognition</li>
1160 <li>Your resume directly to a Google recruiter</li>
1165 <eventitem date="2009-09-24" time="4:30 PM" room="MC3003" title="UNIX 101">
1168 New to Unix? No problem, we'll teach you to power use circles around your friends!
1173 New to Unix? No problem, we'll teach you to power use circles around your friends!
1175 This first tutorial is an introduction to the Unix shell environment, both on the student
1176 servers and on other Unix environments. Topics covered include: using the shell, both basic
1177 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1178 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1179 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1180 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1184 <eventitem date="2009-09-15" time="5:00PM" edate="2009-09-15" etime="6:00 PM"
1185 room="Comfy Lounge" title="Elections">
1187 Nominations are open now, either place your name on the nominees board or
1188 e-mail <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a>
1189 to nominate someone for a position.
1190 Come to the Comfy Lounge to elect your fall term executive. Contact
1191 <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a> if you have questions.
1196 <!-- Spring 2009 -->
1197 <eventitem date="2009-07-23" time="4:30 PM" edate="2009-07-23" etime="6:00 PM"
1198 room="MC 3003" title="Unix 103">
1200 In this long-awaited third installment of the popular Unix Tutorials the dark
1201 mages of the CSC will train you in the not-so-arcane magick of version control.
1202 You will learn the purpose and use of two different Version Control Systems
1203 (git and subversion). This tutorial will advise you in the discipline of
1204 managing the source code of your projects and enable you to quickly learn new
1205 Version Control Systems in the work place -- a skill that is much sought after
1210 <eventitem date="2009-07-17" time="7:00 PM" edate="2009-07-18" etime="4:00 AM"
1211 room="MC 3001" title="Code Party">
1213 Have an assignment or project you need to work on? We
1214 will be coding from 7:00pm until 4:00am starting on Friday, July 17th
1215 in the Comfy lounge. Join us!
1219 <eventitem date="2009-07-07" time="3:00 PM" etime="5:00 PM" room="DC 1302"
1220 title="History of CS Curriculum at UW">
1222 This talk provides a personal overview of the evolution of the
1223 undergraduate computer science curriculum at UW over the past forty
1224 years, concluding with an audience discussion of possible future
1229 <eventitem date="2009-06-22" time="4:30 PM" etime="6:30 PM" room="MC 4041"
1231 <short><p> Come and drink tea and read an academic CS paper with
1232 the Paper Club. We will be meeting from 4:30pm until 6:30pm on
1233 Monday, June 22th on the 4th floor of the MC (exact room number
1234 TBA). See http://csclub.uwaterloo.ca/~paper
1238 <eventitem date="2009-06-19" time="5:30 PM" room="Dooly's" title="Dooly's Night">
1240 The CSC will be playing pool at Dooly's. Join us for only a few dollars.
1244 <eventitem date="2009-06-05" time="7:00 PM" edate="2009-06-06" etime="4:00 AM"
1245 room="MC 3001" title="Code Party">
1247 Have an assignment or project you need to work on? We
1248 will be coding from 7:00pm until 7:00am starting on Friday, June 5th
1249 in the Comfy lounge. Join us!
1253 <eventitem date="2009-06-02" time="4:30 PM" room="MC 2037" title="Unix 101">
1255 Need to use the UNIX environment for a course, want to overcome your fears of
1256 the command line, or just curious? Come and learn the arcane secrets of the
1257 UNIX command line interface from CSC mages. After this tutorial you will be
1258 comfortable with the essentials of navigating, manipulating and viewing files,
1259 and processing data at the UNIX shell prompt.
1263 <eventitem date="2009-05-12" time="12:00 PM" room="MC 2034" title="PHP on Windows">
1264 <short><p>PHP Programming Contest Info Session</p></short>
1266 Port or create a new PHP web application and you could win a prize
1267 of up to $10k. Microsoft is running a programming contest for PHP
1268 developers willing to support the Windows platform. The contest is
1269 ongoing; this will be a short introduction to it by
1270 representatives of Microsoft and an opportunity to ask questions.
1271 Pizza and pop will be provided.
1276 <!-- Winter 2009 -->
1277 <eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
1279 <short><p>A talk by Craig S. Kaplan.</p></short>
1282 <abstract><p>The combination of computer graphics, geometry, and rapid
1283 prototyping technology has created a wide range of exciting
1284 opportunities for using the computer as a medium for creative
1285 expression. In this talk, I will describe the most popular
1286 technologies for computer-aided manufacturing, discuss
1287 applications of these devices in art and design, and survey
1288 the work of contemporary artists working in the area (with a
1289 focus on mathematical art). The talk will be primarily
1290 non-technical, but I will mention some of the mathematical
1291 and computational techniques that come into play.
1295 <eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
1296 etime="6:00 AM" room="TBA" title="CTRL-D">
1299 Join the Club That Really Likes Dinner for the End Of Term
1300 party! Inquire closer to the date for details.
1305 This is not an official club event and receives no funding.
1306 Bring food, drinks, deserts, etc.
1311 <eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
1312 etime="12:00 PM" room="Comfy Lounge (MC)"
1316 CSC Code Party! Same as always - no sleep, lots of caffeine,
1317 and really nerdy entertainment. Bonus: Free Cake!
1322 This code party will have the usual, plus it will double as the
1323 closing of the programming contest. Our experts will be
1324 available to help you polish off your submission.
1329 <eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
1330 etime="12:00 PM" room="MC2061"
1331 title="Artificial Intelligence Contest">
1334 Come out and try your hand at writing a computer program that
1335 plays Minesweeper Flags, a two-player variant of the classic
1336 computer game, Minesweeper. Once you're done, your program
1337 will compete head-to-head against the other entries in a
1338 fierce Minesweeper Flags tournament. There will be a contest
1339 kick-off session on Thursday March 19 at 4:30 PM in room
1340 MC3036. Submissions will be accepted until Saturday March 28.
1345 Come out and try your hand at writing a computer program that
1346 plays Minesweeper Flags, a two-player variant of the classic
1347 computer game, Minesweeper. Once you're done, your program
1348 will compete head-to-head against the other entries in a
1349 fierce Minesweeper Flags tournament. There will be a contest
1350 kick-off session on Thursday March 19 at 4:30 PM in room
1351 MC3036. Submissions will be accepted until Saturday March 28.
1356 <eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
1357 etime="6:30 PM" room="Comfy Lounge"
1358 title="SIGGRAPH Night">
1361 Come out and watch the SIGGRAPH (Special Interest Group on
1362 Graphics) conference video review. A video of insane, amazing,
1363 and mind blowing computer graphics. .
1368 The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
1369 conference yearly in which the latest and greatest in computer
1370 graphics premier. They record video and as a result produce a
1371 very nice Video Review of the conference. Come join us watching
1372 these videos, as well as a few professors from the UW Computer
1373 Graphics Lab. There will be some kind of food and drink, and its
1374 guranteed to be dazzling.
1379 <eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
1380 etime="9:00 PM" room="Toronto Hilton"
1381 title="Canadian Undergraduate Technology Conference">
1384 See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
1389 The Canadian Undergraduate Technology Conference is Canada's
1390 largest student-run conference. From humble roots it has emerged
1391 as a venue that offers an environment for students to grow
1392 socially, academically, and professionally. We target to exceed
1393 our past record of 600 students from 47 respected institutions
1394 nationwide. The event mingles ambitious as well as talented
1395 students with leaders from academia and industry to offer
1396 memorable experiences and valuable opportunities.
1401 <eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
1402 title="Prabhakar Ragde">
1404 Functional Lexing and Parsing</p></short>
1407 This talk will describe a non-traditional functional approach
1408 to the classical problems of lexing (breaking a stream of
1409 characters into "words" or tokens) and parsing (identifying
1410 tree structure in a stream of tokens based on a grammar,
1411 e.g. for a programming language that needs to be compiled or
1412 interpreted). The functional approach can clarify and organize
1413 a number of algorithms that tend to be opaque in their
1414 conventional imperative presentation. No prior background in
1415 functional programming, lexing, or parsing is assumed.
1420 <eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
1421 title="IQC - Programming Quantum Computers">
1424 A brief intro to Quantum Computing and why it matters,
1425 followed by a talk on programming quantum computers. Meet at
1426 the CSC at 4:00PM for a guided walk to the RAC.
1431 Raymond Laflamme is the director of the Institute for Quantum
1432 Computing at the University of Waterloo and holds the Canada
1433 Research Chair in Quantum Information. He will give a brief
1434 introduction to quantum computing and why it matters, followed
1435 by a talk on programming quantum computers. There will be
1436 tours of the IQC labs at the end, and pizza will be provided
1437 back at the CSC for all attendees.
1442 <eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
1444 Come join the CSC as we head to Dooly's.</p></short>
1446 Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
1449 <eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
1451 Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
1453 Unix 101 is an introduction to the Unix shell environment, both on the student
1454 servers and on other Unix environments. Topics covered include: using the shell, both basic
1455 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1456 it, and ssh. </p><p>
1457 Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
1458 If you missed Unix101 but still know your way around you should be fine.
1459 Topics covered include: "real" editors, document typesetting with LaTeX
1460 (great for assignments!), bulk editing, spellchecking, and printing in the
1461 student environment and elsewhere. </p><p>
1462 If you aren't interested or feel comfortable with these taskes, watch out for
1463 Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
1467 <eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
1468 <short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
1469 <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
1470 servers and on other Unix environments. Topics covered include: using the shell, both basic
1471 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1472 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1473 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1474 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
1477 <eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
1480 There is a CSC Code Party starting at 7:00PM (19:00). Come out
1481 and enjoy some good old programming and meet others interested
1482 in writing code! Free energy drinks and snacks for all. Plus,
1483 we have lots of things that need to be done if you're looking
1484 for a project to work on!
1489 Code Party. Awesome. Need we say more?
1494 <eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
1496 <short><p>There is a CSC Code Party Tonight starting at 7:30PM
1497 (1930) until we get bored (likely in the early in morning). Come
1498 out for fun hacking times, spreading Intertube memes (optional),
1499 hacking on the OpenMoko, creating music mixes, and other general
1500 classyness. If we manage to swing it, there will be delicious
1501 energy drinks for your consumption! Alternatively, if we don't we
1502 will have each other as well as some delicious tea and
1503 coffee. Perhaps a crumpet
1507 <abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
1508 (1930) until we get bored (likely in the early in
1509 morning). Come out for fun hacking times, spreading Intertube
1510 memes (optional), hacking on the OpenMoko, creating music
1511 mixes, and other general classyness. If we manage to swing it,
1512 there will be delicious energy drinks for your consumption!
1513 Alternatively, if we don't we will have each other as well as
1514 some delicious tea and coffee. Perhaps a crumpet
1519 <eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
1520 <short><p> The Free Software Movement and the GNU/Linux Operating System </p>
1524 Richard Stallman will speak about the Free Software Movement, which
1525 campaigns for freedom so that computer users can cooperate to
1526 control their own computing activities. The Free Software Movement
1527 developed the GNU operating system, often erroneously referred to as
1528 Linux, specifically to establish these freedoms.</p>
1529 <p><b>About Richard Stallman:</b>
1530 Richard Stallman launched the development of the GNU operating system (see
1531 <a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
1532 software: everyone has the freedom to copy it and redistribute it,
1533 as well as to make changes either large or small. The GNU/Linux
1534 system, basically the GNU operating system with Linux added, is used
1535 on tens of millions of computers today. Stallman has received the
1536 ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
1537 Electronic Frontier Foundation's Pioneer award, and the the Takeda
1538 Award for Social/Economic Betterment, as well as several honorary
1543 <eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
1544 <short><p> Joel Spolsky, of <a href="http://www.joelonsoftware.com">Joel on Software</a> will be giving a talk entitled "Computer Science Education and the Software Industry".</p>
1546 <abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
1547 globally-recognized expert on the software development process. His
1548 website <em>Joel on Software</em>
1549 (<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
1550 is popular with software developers around the world and has been
1551 translated into over thirty languages. As the founder
1552 of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
1554 created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
1555 popular project management system for software teams. He is the
1556 co-creator of <a href="http://stackoverflow.com/">Stack
1557 Overflow</a>, a programmer Q&A site. Joel has worked at
1558 Microsoft, where he designed VBA as a member of the Excel team, and
1559 at Juno Online Services, developing an Internet client used by
1561 written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
1562 books</a>: <em>User Interface Design for Programmers</em> (Apress,
1563 2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
1564 Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
1565 Joel Spolsky's Concise Guide to Finding the Best Technical
1566 Talent </em>(Apress, 2007). He also writes a monthly column
1567 for<strong> </strong><em><a href="http://www.inc.com/">Inc
1568 Magazine</a>. </em>Joel holds a BS from Yale in Computer
1569 Science. Before college he served in the Israeli Defense Forces as a
1570 paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
1574 <eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
1575 <short><p>Winter Elections</p>
1580 <eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
1582 <short><p>Organized by Queen's students, Changing the World aims to bring together the world's greatest visionaries to inspire people to innovate and better our world. Among these speakers include Nobel Peace Prize winner, Eric Chivian. He was a recipient for his work on stopping nuclear war.
1586 <abstract><p>Organized by Queen's students, Changing the World
1587 aims to bring together the world's greatest visionaries to
1588 inspire people to innovate and better our world. Among these
1589 speakers include Nobel Peace Prize winner, Eric Chivian. He
1590 was a recipient for his work on stopping nuclear war.
1591 </p><p>The conference is modeled after TED (Technology,
1592 Entertainment, Design), an annual conference uniting the
1593 world's most fascinating thinkers and doers, and like TED,
1594 each speaker is given 18 minutes to give the talk of their
1596 </p><p>Specifically for students in CS/Math, 50 tickets have
1597 been reserved (non-students: $500). For those who would like
1598 to attend, please pick up your ticket in the Computer Science
1599 Club office. The tickets are limited and they are first come
1605 <eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
1607 <short><p>Come join the CSC in celebrating the new releases of
1608 Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
1609 of them on your own system.
1613 <abstract><p>Come join the CSC in celebrating the new releases of
1614 Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
1615 one of them on your own system.
1616 </p><p>This is an event to celebrate the releases of new
1617 versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
1618 available and everyone is invited to bring their PC or laptop
1619 to get help installing any of these Free operating
1620 systems. Knowledgeable CSC members will be available to help
1621 with any installation troubles, or to troubleshooting any
1622 existing problems that users may have.
1623 </p><p>This event will also promote gaming on Linux, as well as
1624 FLOSS (Free/Libre and Open Source Software) in general. We may
1625 also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
1630 <eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
1632 <short><p>This talk will survey concepts, techniques, and
1633 languages for functional programming from both historical and
1634 contemporary perspectives, with reference to Lisp, Scheme, ML,
1635 Haskell, and Erlang. No prior background is assumed.
1639 <abstract><p>This talk will survey concepts, techniques, and
1640 languages for functional programming from both historical and
1641 contemporary perspectives, with reference to Lisp, Scheme, ML,
1642 Haskell, and Erlang. No prior background is assumed.
1647 <eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
1649 Come join us for a night of coding. Get in touch with more experianced coders,
1650 advertize for/bug squash on your favourite open source project, write that personal
1651 project you were planning to do for a while but haven't found the time. Don't
1652 have any ideas but want to sit and hack? We can find something for you to do.
1655 A fevered night of code, friends, fun, free energy drinks, and the CSC.
1659 <eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
1661 Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
1662 review. A video of insane, amazing, and mind blowing computer graphics.
1665 The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
1666 in which the latest and greatest in computer graphics premier. They record video
1667 and as a result produce a very nice Video Review of the conference. Come join us
1668 watching these videos, as well as a few professors from the UW Computer Graphics
1669 Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
1673 <eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
1675 Come out and meet other CSC members, find out about the CSC, meet the executive
1676 nominees, and join if you like what you see. Nominees should plan on attending.
1680 <eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
1682 Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
1683 The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
1684 sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
1685 campaigning after the nomination period has closed.
1689 <eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
1691 New to Unix? No problem, we'll teach you to power use circles around your friends!
1694 This first tutorial is an introduction to the Unix shell environment, both on the student
1695 servers and on other Unix environments. Topics covered include: using the shell, both basic
1696 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1697 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1698 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1699 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1703 <eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
1705 New to Unix? No problem, we'll teach you to power use circles around your friends!
1708 This first tutorial is an introduction to the Unix shell environment, both on the student
1709 servers and on other Unix environments. Topics covered include: using the shell, both basic
1710 interaction and advanced topics like scripting and job control, the filesystem and manipulating
1711 it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
1712 to Unix 102 to learn about documents, editing, and other related tasks, or watch out
1713 for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
1717 <eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
1719 Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
1722 This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed
1723 Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
1724 document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
1725 in the student environment and elsewhere. If you aren't interested or feel comfortable with these
1726 taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
1727 don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
1731 <eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
1732 <short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
1734 In this talk I will give an overview of the history of Relic and our
1735 development philosophy. The Talk will then proceed to talk about work
1736 that is being pursued in the area of early game prototyping with the
1737 introduction of game sketching methodology.
1742 Fired from his first job for playing Video Games Juancho Buchanan is
1743 currently the director of Technology for Relic Entertainment. Juancho
1744 Buchanan Wrote his first game in 1984 but then pursued other interests
1745 which included a master's in Program Visualization, A Doctorate in
1746 Computer Graphics, a stint as a professor at the University of Alberta
1747 where he pioneered early work in Non photo realistic rendering, A stint
1748 at Electronic Arts as Director, Advanced Technology, A stint at EA as
1749 the University Liaison Dude, A stint at Carnegie Mellon University where
1750 he researched the Game Sketching idea. His current role at Relic has
1751 him working with the soon to be released Dawn of War II.
1756 <eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
1758 The second official general meeting of the term. Items on the adgenda are CSC Merch,
1759 upcoming talks, and other possible planned events, as well as the announcement of
1760 a librarian and planning of an office cleanout and a library organization day.
1764 <!-- Spring 2008 -->
1766 <!-- Winter 2008 -->
1768 <eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
1769 <short>Tyler Lessard</short>
1771 Tyler Lessard from RIM will present a brief history of BlackBerry
1772 technology and will discuss how the evolution of BlackBerry as an
1773 end-to-end hardware, software and services platform has been
1774 instrumental to its success and growth in the market. Find out how the
1775 BlackBerry service components integrate with wireless carrier networks
1776 and get a sneak peek at where the wireless data market is going.
1780 <eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
1781 <short>Raymond Laflamme</short>
1783 Information processing devices are pervasive in our society; from the 5
1784 dollar watches to multi-billions satellite network. These devices have
1785 allowed the information revolution which is developing around us. It has
1786 transformed not only the way we communicate or entertain ourselves but
1787 also the way we do science and even the way we think. All this
1788 information is manipulated using the classical approximation to the laws
1789 of physics, but we know that there is a better approximation: the
1790 quantum mechanical laws. Would using quantum mechanics for information
1791 processing be an impediment or could it be an advantage? This is the
1792 fundamental question at the heart of quantum information processing
1793 (QIP). QIP is a young field with an incredible potential impact reaching
1794 from the way we understand fundamental physics to technological
1795 applications. I will give an overview of the Institute for Quantum
1796 Computing, comment on the effort in this field at Waterloo and in
1797 Canada and, time permitted visit some of the IQC labs.
1801 <eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
1802 <short>Yes, we know this is Valentine's Day.</short>
1804 Contestants will be writing an artificial intelligence to play Risk. The
1805 prize will be awarded to the intelligence which wins the most
1806 head-to-head matches against competing entries. We're providing easy
1807 APIs for several languages, as well as full documentation of the game
1808 protocol so contestants can write wrappers for any additional language
1809 they wish to work in.
1812 We officially support entries in Scheme, Perl, Java, C, and C++. If you
1813 would like help developing an API for some other language contact us
1814 through the systems committee mailing list (we will require that your API
1815 is made available to all entrants).
1818 To kick off the contest we're hosting an in-house coding session starting
1819 at 4:00PM on Thursday, February 14th in MC2061. Members of our contest
1820 administration team will be available to help you work out the details of
1821 our APIs, answer questions, and provide the necessities of life (ie,
1822 pizza). Submissions will open no later than 5:00PM on February 14th
1823 and will close no earlier than 12:00PM on February 17th.
1826 Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
1831 <eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
1832 <short>Elmer Horvath</short>
1834 The problem: coordinating and communicating between multiple processors
1835 in a distributed system (possibly containing heterogeneous elements)
1837 The open source TIPC (transparent interprocess communication) protocol
1838 has been incorporated into the Linux kernel and is available in VxWorks
1839 and, soon, other OSes. This emerging protocol has a number of
1840 advantages in a clustered environment to simplify application
1841 development while maintaining a familiar socket programming interface.
1842 The service oriented capabilities of TIPC help in applications easily
1843 finding required services in a system. The location transparent aspect
1844 of TIPC allows services to be located anywhere in the system as well as
1845 allowing redundant services for both load reduction and backup.
1847 Learn about the emerging cluster protocol.
1851 <eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
1853 Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
1854 The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
1855 not engage in campaigning after the nomination period has closed.
1862 <eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
1865 There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
1868 This is a chance to bring out any ideas and concerns about CSC happenings into the open, as well as a chance to make sure all CSC staff is up to speed on current CSC doings. The current agenda can be found at <a href="http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007">http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007.</a>
1873 <eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
1874 <short>Susan Abramovitch</short>
1877 This talk is run by the School of Computer Science
1880 How should virtual property created in games, such as weapons used in
1881 games like Mir 3 and real estate or clothing created or acquired in
1882 games like Second Life, be treated in law. Although the videogaming
1883 industry continues to multiply in value, virtual property created in
1884 virtual worlds has not been formally recognized by any North American
1885 court or legislature. A bridge has been taking shape from gaming's
1886 virtual economies to real world economies, for example, through
1887 unauthorized copying of designer clothes sold on Second Life for in-game
1888 cash, or real court damages awarded against deletion of player-earned
1889 swords in Mir 3. The trading of virtual property is important to a
1890 large number of people and property rights in virtual property are
1891 currently being recognized by some foreign legal bodies.
1894 Susan Abramovitch will explain the legal considerations in determining
1895 how virtual property can or should be governed, and ways it can be
1896 legally similar to tangible property. Virtual property can carry both
1897 physical and intellectual property rights. Typically video game
1898 developers retain these rights via online agreements, but Ms.
1899 Abramovitch questions whether these rights are ultimately enforceable
1900 and will describe policy issues that may impact law makers in deciding
1901 how to treat virtual property under such agreements.
1906 <eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
1907 <short>Brennan Taylor</short>
1909 <p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
1910 basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI
1911 programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can
1915 <eventitem date="2007-10-09" time="4:45 PM" room="MC 4060" title="Join-Calculus with JoCaml. Concurrent programming that doesn't fry your brain">
1916 <short>Brennan Taylor</short>
1919 A lecture on the fundamentals of Pi-Calculus followed by an introduction
1920 to Join-Calculus in JoCaml with some great examples. Various concurrent
1921 control structures are explored, as well as the current limitations of
1922 JoCaml. The examples section will mostly be concurrent programming,
1923 however some basic distributed examples will be explored. This lecture
1924 focuses on how easy concurrent programming can be.
1929 <eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
1930 <short>Ian Goldberg</short>
1933 Instant messaging (IM) is an increasingly popular mode of communication
1934 on the Internet. Although it is used for personal and private
1935 conversations, it is not at all a private medium. Not only are all of
1936 the messages unencrypted and unauthenticated, but they are all
1937 routedthrough a central server, forming a convenient interception point
1938 for an attacker. Users would benefit from being able to have truly
1939 private conversations over IM, combining the features of encryption,
1940 authentication, deniability, and forward secrecy, while working within
1941 their existing IM infrastructure.
1944 In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
1945 used software tool for secure and private instant messaging. I will
1946 outline the properties of Useful Security and Privacy Technologies that
1947 motivated OTR's design, compare it to other IM security mechanisms, and
1948 talk about its ongoing development directions.
1951 Ian Goldberg is an Assistant Professor of Computer Science at the
1952 University of Waterloo, where he is a founding member of the
1953 Cryptography, Security, and Privacy (CrySP) research group. He holds a
1954 Ph.D. from the University of California, Berkeley, where he discovered
1955 serious weaknesses in a number of widely deployed security systems,
1956 including those used by cellular phones and wireless networks. He also
1957 studied systems for protecting the personal privacy of Internet users,
1958 which led to his role as Chief Scientist at Zero-Knowledge Systems (now
1959 known as Radialpoint), where he commercialized his research as the
1966 <eventitem date="2007-11-20" time="4:30 PM" room="MC 4041" title="Why you should care about functional programming with Haskell *New-er Date*">
1967 <short>Andrei Barbu</short>
1971 <eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
1972 <short>Andrei Barbu</short>
1974 Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
1975 lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
1976 software transactional memory, a new approach to concurrency, will also be discussed. Before the end we'll also see the solution to an ACM problem
1977 to get a hands on feeling for the language. Don't worry if you haven't seen the first talk, you should be fine for this one anyway!
1982 <eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
1983 <short>Brennan Taylor</short>
1986 A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples.
1987 Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will
1988 mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy
1989 concurrent programming can be.
1994 <eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
1995 <short>David Tenty</short>
1998 With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
1999 However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
2000 PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
2001 Postponed to a later date.
2006 <eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
2007 <short>Win Prizes!</short>
2010 The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed.
2011 Prizes totalling in value of $75 will be distributed. You can participate online! For more information, including source files visit <a href="http://www.csclub.uwaterloo.ca/contest">http://www.csclub.uwaterloo.ca/contest</a>
2014 And Free Pizzaa for all who attend!
2018 <eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
2019 <short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
2022 Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
2023 Lots of fun! Possible Pizzaa!
2028 <eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
2029 <short>Brennan Taylor</short>
2032 A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some
2033 history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
2038 <eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
2039 <short>Holden Karau</short>
2042 An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
2045 Holden Karau participated in Google Summer of Code 2007 as a student on the subversion team. He created a set of scheme bindings for the
2055 <eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
2056 <short>Bjarne Stroustrup</short>
2058 A good programming language is far more than a simple collection of
2059 features. My ideal is to provide a set of facilities that smoothly work
2060 together to support design and programming styles of a generality beyond
2061 my imagination. Here, I briefly outline rules of thumb (guidelines,
2062 principles) that are being applied in the design of C++0x. Then, I
2063 present the state of the standards process (we are aiming for C++09) and
2064 give examples of a few of the proposals such as concepts, generalized
2065 initialization, being considered in the ISO C++ standards committee.
2066 Since there are far more proposals than could be presented in an hour,
2067 I'll take questions.
2071 <eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
2072 <short>Richard Stallman</short>
2074 Copyright developed in the age of the printing press, and was designed
2075 to fit with the system of centralized copying imposed by the printing
2076 press. But the copyright system does not fit well with computer
2077 networks, and only draconian punishments can enforce it.
2079 The global corporations that profit from copyright are lobbying for
2080 draconian punishments, and to increase their copyright powers, while
2081 suppressing public access to technology. But if we seriously hope to
2082 serve the only legitimate purpose of copyright--to promote progress, for
2083 the benefit of the public--then we must make changes in the other
2086 The CSC would like to thank MEF and Mathsoc for funding this talk.
2088 <a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
2089 <a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
2090 <a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
2091 <a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
2095 <eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
2096 <short>A talk by Michael Terry</short>
2098 What is the typical monitor resolution of a GIMP user? How many monitors
2099 do they have? What size images do they work on? How many layers are in
2100 their images? The answers to these questions are generally unknown: No
2101 means currently exist for open source applications to collect usage
2102 data. In this talk, I will present ingimp, a version of GIMP that has
2103 been instrumented to automatically collect usage data from real-world
2104 users. I will discuss ingimp's design, the type of data we collect, how
2105 we make the data available on the web, and initial results that begin to
2106 answer the motivating questions.
2108 ingimp can be found at http://www.ingimp.org.
2112 <eventitem date="2007-06-22" time="4:30 PM"
2114 title="Email encryption for the masses">
2115 <short>Ken Ho</short>
2117 E-mail transactions and confirmations have become commonplace and the
2118 information therein can often be sensitive. We use email for purposes as
2119 mundane as inbound marketing, to as sensitive as account passwords and
2120 financial transactions. And nearly all our email is sent in clear text;
2121 we trust only that others will not eavesdrop or modify our messages. But
2122 why rely on the goodness or apathy of your fellow man when you can
2123 ensure your message's confidentiality with encryption so strong not even
2124 the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
2125 and GNU Privacy Guard to ensure that your messages are sent, knowing
2126 that only your intended recipient can receive it.
2127 </p><p>An optional code-signing party will be held immediately
2128 afterwards; if you already have a PGP or GPG key and wish to
2129 participate, please submit the public key to
2130 <a href="mailto:gpg-keys@csclub.uwaterloo.ca">
2131 gpg-keys@csclub.uwaterloo.ca</a>.
2133 Laptop users are invited also to participate in key-pair sharing
2134 on-site, though it is preferable to send keys ahead of time.
2138 <eventitem date="2007-06-18" time="4:30 PM"
2139 room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
2140 <short>Peter Macdonald</short>
2142 The purpose of the talk is to address how students interact with the
2143 internet, and possibilities for how they could do so more efficiently.
2144 Information on events and happenings on UW campus is currently hosted
2145 on a desperate, series of internet applications. Interactions with
2146 WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a
2147 Facebook group, campus information at large comes from
2148 <a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There
2149 has been historical pressures from various bodies, including some
2150 thinkers in feds and the administration, to centralize these issues. To
2151 create a one stop shop for students on campus.
2153 It is not through confining data in cages that we will finally link all
2154 student activities together, instead it is by truly freeing it. When
2155 data can be anywhere, then it will be everywhere students need it. This
2156 is the underlying concept behind metadata, data that is freed from the
2157 confines of it's technical imprisonment. Metadata is the extension of
2158 people, organizations, and activities onto the internet in a way that is
2159 above the traditional understanding of how people interact with their
2160 networks. The talk will explore how Metadata can exist freely on the
2161 internet, how this affects concepts like Web 3.0, and how the university
2162 and the federation are poised to take advantage of this burgeoning new
2163 technology through adoptions of portals which will allow students to
2164 interact with a metaverse of data.
2168 <!-- Winter 2007 -->
2170 <eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
2171 <short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
2173 Richard Stallman has cancelled his trip to Canada.
2177 <eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
2178 <short>A talk by Simina Branzei</short>
2180 Abstract coming soon!
2184 <eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
2188 While reading Slashdot, Bill came across the recently digitized audio
2189 recording of his 1989 talk at the Computer Science Club. As Bill has always
2190 had a soft-spot for the Computer Science Club, he has decided to pay us a
2193 Bill promises to give away free copies of Windows Vista Ultimate, because
2194 frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
2195 to bring your resumes kids, because Bill will be recruiting for some
2196 exciting new positions at Microsoft, including Mindless Drone, Junior Code
2197 Monkey, and Assistant Human Cannonball.
2202 <eventitem date="2007-03-28" time="5:30 PM"
2203 room="MC 1056" title="Computational Physics Simulations">
2204 <short>A talk by David Tenty and Alex Parent</short>
2214 <eventitem date="2007-03-29" time="4:30 PM"
2215 room="MC 1056" title="All The Code">
2216 <short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
2219 Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find
2220 pre-existing code. So if you were writing some code and you wanted to find a csv library, for example, you could search for csv.
2221 <a href="http://www.allthecode.com/">All The Code</a> is a
2222 next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine
2226 The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>,
2227 along with a brief discussion of some of the technology behind it.
2233 <eventitem date="2007-04-04" time="4:00 PM"
2234 room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
2235 <short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
2236 circumstances</short>
2239 I am going to take an intuitive, CS-style approach to a discussion about the
2240 use of kernels in modern data analysis. This approach often lends us
2241 efficient ways to consider a dataset under various choices of inner product,
2242 which is roughly comparable to a measure of "similarity". Many new tools in
2243 AI arise from kernel methods, such as the infamous Support Vector Machines for
2244 classification, and kernel-PCA for nonlinear dimensionality reduction. I will
2245 attempt to highlight, and provide visualization for some of the math involved
2246 in these methods while keeping the material at an accessible, undergraduate
2254 <eventitem date="2007-02-26" time="4:30 pm"
2255 room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
2256 <short>A talk by Alex Ionescu</short>
2259 The ReactOS operating system has been in development for over eight years and aims to provide users
2260 with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
2261 its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
2262 identical to Windows, both visually and internally.
2264 More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
2265 students to learn a variety of skills useful to software testing, development and management, as well as
2266 providing a rich and clean implementation of Windows NT, with a kernel compatible to published
2267 internals book on the subject.
2269 This talk will introduce the ReactOS project, as well as the various software engineering challenges
2270 behind it. The building platform and development philosophies and utilities will be shown, and
2271 attendees will grasp the vast amount of effort and organization that needs to go into building an
2272 operating system or any other similarly large project. The speaker will gladly answer questions related to
2273 his background, experience and interests and information on joining the project, as well as any other
2274 related information.
2276 <strong>Speaker Bio</strong>
2278 Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
2279 and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
2280 and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
2281 world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
2282 providing hands-on workshops and lectures on Windows NT internals and security to various companies.
2288 <eventitem date="2007-02-15" time="4:30 PM"
2289 room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
2290 <short>A talk by James deBoer</short>
2294 This talk will introduce the Haskell programming language and and walk
2295 through building a recognizer for regular languages. The talk will
2296 include a quick overview of regular expressions, an introduction to
2297 Haskell and finally a line by line analysis of a regular language
2303 <eventitem date="2007-02-09" time="4:30 PM"
2304 room="MC 4041" title="Introduction to 3-d Graphics">
2305 <short>A talk by Chris "The Prof" Evensen</short>
2308 A talk for those interested in 3-dimensional graphics but unsure of where to
2309 start. Covers the basic math and theory behind projecting 3-dimensional
2310 polygons on screen, as well as simple cropping techniques to improve
2311 efficiency. Translation and rotation of polygons will also be discussed.
2316 <eventitem date="2007-02-09" time="8:30 PM"
2317 room="DC 1351" title="Writing World Class Software">
2318 <short>A talk by James Simpson</short>
2321 A common misconception amongst software developers is that top quality software
2322 encompasses certain platforms, is driven by a particular new piece of
2323 technology, or relies solely on a particular programming language. However as
2324 developers we tend to miss the less hyped issues and techniques involved in
2325 writing world class software. These techniques are universal to all
2326 programming languages, platforms and deployed technologies but are often times
2327 viewed as being so obvious that they are ignored by the typical developer. The
2328 topics covered in this lecture will include:
2330 - Writing bug-free to extremely low bug count software in real-time<br/>
2331 - The concept of single-source, universal platform software<br/>
2332 - Programming language interoperability<br/>
2334 ... and other less hyped yet vitally important concepts to writing
2335 World Class Software
2340 <eventitem date="2007-02-08" time="4:30 PM"
2341 room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
2342 <short>A talk by Larry Smith</short>
2345 A discussion of software start-ups founded by UW students and what they did
2346 that helped them grow and what failed to help. In order to share the most
2347 insights and guard the confidences of the individuals involved, none of the
2348 companies will be identified.
2354 <eventitem date="2007-02-07" time="4:30 PM"
2355 room="MC 4041" title="Riding The Multi-core Revolution">
2356 <short>How a Waterloo software company is changing the way people program computers.
2357 A talk by Stefanus Du Toit</short>
2360 For decades, mainstream parallel processing has been thought of as
2361 inevitable. Up until recent years, however, improvements in
2362 manufacturing processes and increases in clock speed have provided
2363 software with free Moore's Law-scale performance improvements on
2364 traditional single-core CPUs. As per-core CPU speed increases have
2365 slowed to a halt, processor vendors are embracing parallelism by
2366 multiplying the number of cores on CPUs, following what Graphics
2367 Processing Unit (GPU) vendors have been doing for years. The Multi-
2368 core revolution promises to provide unparalleled increases in
2369 performance, but it comes with a catch: traditional serial
2370 programming methods are not at all suited to programming these
2371 processors and methods such as multi-threading are cumbersome and
2372 rarely scale beyond a few cores. Learn how, with hundreds of cores in
2373 desktop computers on the horizon, a local software company is looking
2374 to revolutionize the way software is written to deliver on the
2375 promise multi-core holds.
2378 Refreshments (and possible pizza!) will be provided.
2383 <!-- <eventitem date="2007-01-24" time="4:00 PM"
2384 room="TBA" title="TBA">
2385 <short>A talk by Reg Quinton</short>
2393 <eventitem date="2007-01-31" time="4:00 PM"
2394 room="MC 4041" title="Network Security -- Intrusion Detection">
2395 <short>A talk by Reg Quinton</short>
2398 IST monitors the campus network for vulnerabilities and scans
2399 systems for security problems.
2400 This informal presentation will look behind the scenes to show the
2401 strategies and technologies used and to show the problem magnitude. We
2402 will review the IST Security web site with an emphasis on these pages
2404 <a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
2405 <a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
2406 <a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
2411 <eventitem date="2007-01-31" time="4:30 PM"
2412 room="TBA" title="An Brief Introduction to Projection Graphics">
2413 <short>A talk by Christopher Evensen</short>
2423 <!-- Nothing happened :( -->
2425 <!-- Spring 2006 -->
2428 <eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
2429 <short>Come out for the Club that Really Likes Dinner</short>
2432 Summer: the sparrows whistle through the teapot-steam breeze. The
2433 ubiquitous construction team tears the same pavement up for the third
2434 time, hammering passers-by with dust and noise: our shirts, worn for
2435 the third time, noisome from competing heat and shame. As Nature
2436 continues her Keynesian rotation of policy, and as society decrees yet
2437 another parting of ways, it is proper for the common victims to have
2438 an evening to themselves, looking both back and ahead, imagining new
2439 opportunities, and recognising those long since missed. God fucking
2443 This term's CTRL-D end-of-term dinner is taking place tomorrow
2444 (Saturday) at 7:00 P.M. at East Side Mario's, in the plaza. Meet in
2445 the C.S.C. fifteen minutes beforehand, so they don't take away our
2446 seats or anything nasty like that.
2449 A lot of people wanted to go to the Mongolian Grill, but I'm pretty
2450 sure this place has a similar price-to-tasty ratio; what's more,
2451 they'll actually grant us a reservation more than four nights a week.
2452 I've confirmed that the crazy allergenic peanuts no longer exist
2453 (sad), and they have a good vegetarian selection, which is likely
2454 coincides with their kosher and halal menus.
2457 Come out for the tasty and the awesome! If you pretend it's your
2458 birthday, everyone's a loser! Tell your friends, because I told the
2459 telephone I wanted to reserve for 10 to 12 people, and I don't wish to
2460 sully Calum T. Dalek's good name!
2467 <eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
2468 <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
2471 Does being in CS make you feel like a lemming? Is linear algebra driving you
2472 into walls? Do you pace back and forth, constantly, regardless of whatever's
2473 in your path? Then you should come out to CSC Lemmings Day. This time, we're
2474 playing the pseudo-sequel: Oh No! More Lemmings!
2477 <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
2478 <li>Projector screen: the pixels are man-sized!</li>
2479 <li>Enjoy classic Lemmings tunes</li>
2484 <eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
2485 <short>A part of Linux Awareness Week</short>
2488 The Computer Science Club is once again stepping forward to fulfill its ancient duty to the people-this time by installing one of the many
2489 fine distributions of Linux for you.
2492 Ubuntu? Debian? Gentoo? Fedora? We might not have them all, but we seem to have an awful lot! Bring your boxen down to the D.C. Fishbowl for
2496 Install Linux on your machine-install fear in your opponents!
2502 <eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
2503 <short>or How communities of interest drive modern software development.</short>
2506 Simon Law leads the Quality teams for Ubuntu, a free-software operating
2507 system built on Debian GNU/Linux. As such, he leads one of the largest
2508 community-based testing efforts for a software product. This does get a
2512 In this talk, we'll be exploring how the Internet is changing how
2513 software is developed. Concepts like open source and technologies like
2514 message forums are blurring the lines between producer and consumer.
2515 And this melting pot of people is causing people to take note, and
2516 changing the way they sling code.
2519 Co-Sponsored with CS-Commons Committee
2524 <eventitem date="2006-07-21" time="5:30 PM"
2525 room="MC1085" title="March of the Penguins">
2526 <short>The Computer Science Club will be showing March of the Penguins</short>
2529 <a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
2530 by some guy with a funny voice is being shown by the Computer Science club because penguins are cute and were bored [that and the
2531 whole Linux awareness week that forgot to tell people about].
2537 <eventitem date="2006-07-20" time="5:30 PM"
2538 room="MC4041" title="Cool Stuff to do With Python">
2539 <short>Albert O'Connor will be introducing the joys of programming in python</short>
2542 Albert O'Connor, a UW grad, will be giving a ~30 minute talk on introducing the joys of programming python. Python is an open source
2543 object-oriented programming language which is most awesome.
2548 <eventitem date="2006-07-20" time="4:30 PM"
2549 room="MC4041" title="Simulating multi-tasking on an embedded architecture">
2550 <short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
2553 In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must
2554 respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence
2555 crazy hacks must be used to get the benefits without paying the high costs. This talk will look at the common hack used to simulate multi-processing
2556 in a real time embedded environment.
2562 <eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
2563 <short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
2566 Could you write a good image recognizer for a 100 MHz mobile phone
2567 processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
2568 stack? It needs to locate and read two-dimensional barcodes made up of
2569 square modules which might be no more than a few pixels in size. We
2570 had to do that in order to establish Semacode, a local start up
2571 company that makes a software barcode reader for cell phones. The
2572 applications vary from ubiquitous computing to advertising. Simon
2573 Woodside (founder) will discuss what it's like to start a business and
2574 how the imaging code works.
2583 <eventitem date="2006-07-17" time="11:59 PM"
2584 room="MC3036" title="Midnight Madness, Alpha Edition">
2585 <short>Come out to discuss current & future plans/projects for the Club</short>
2588 The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
2589 together, solder, and eat free food (probably pizza).
2595 <eventitem date="2006-06-21" time="4:30 PM"
2596 room="MC4042" title="CSC General Meeting">
2597 <short>Come out to discuss current & future plans/projects for the Club</short>
2600 The venue will include:</p>
2602 <li><p>Computer usage agreement discussion (Holden has some changes he'd like to propose)</p></li>
2603 <li><p>Web site - Juti is redesigning the web site (you can see <a href="beta/">a beta here</a> - ideas are welcome.</p></li>
2604 <li><p>Frosh Linux cd's that could be put in frosh math faculty kits.</p></li>
2605 <li><p>VoIP "not phone services" ideas.</p></li>
2606 <li><p>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</p></li>
2607 <li><p>Ideas for books.</p></li>
2608 <li><p>General improvements/comments for the club.</p></li>
2611 If you have ideas, but can't attend, please email them to <a href="mailto:president@csclub.uwaterloo.ca">president@csclub.uwaterloo.ca</a> and they will be read them at the meeting.
2617 <eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
2618 <short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
2621 Rico Mariani, (BMath CS/EEE 1988) now an (almost) 18 year Microsoft veteran but then a CSC president comes to talk to us about the
2622 evolution of software tools for microcomputers. This talk promises to be a little bit about history and perspective (at least from
2623 the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what
2624 it's like to try to make the software industry more effective at what it does, and sometimes succeed!
2627 A video of the talk is available for download in our <a href="media/">media</a> section.
2632 <eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
2633 <short>Unix 101 and 102 recording</short>
2636 Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try
2637 and put them on the web. This Sunday we will be doing a first take.
2638 At the same time, we're going to be looking at adding new material
2639 that we haven't covered in the past. </p>
2641 Why should you come out? Not only will you get to hang out with a wonderful group of people,
2642 you can help impart your knowledge to the world. Don't know anything about Unix? That's cool too,
2643 we need people to make sure its easy to follow along and hopefully keep us from leaving something
2649 <eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
2650 <short> We don't know enough about V4L</short>
2653 We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which
2654 could benefit from a better understanding of Video 4 Linux. So, this Saturday a number of us will be trying to learn
2655 as much as possible about Video 4 Linux and doing weird things with webcam(s).
2660 <eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
2662 <short>Come out and vote for the Spring 2006 executive!</short>
2665 The Computer Science Club will be holding its elections for the Spring 2006
2666 term on Monday, May 8th. The elections will be held at 4:30 PM in the
2667 Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
2671 We are accepting nominations for the following positions: President,
2672 Vice-President, Treasurer, and Secretary. The nomination period continues
2673 until 4:30 PM on Sunday, May 7th. If you are interested in running for
2674 a position, or would like to nominate someone else, please email
2675 cro@csclub.uwaterloo.ca before the deadline.
2680 <!-- Winter 2006 -->
2682 <eventitem date="2006-03-06" time="4:45 PM"
2683 room="Physics 145" title="Creating Killer Applications">
2684 <short>A talk by Larry Smith</short>
2687 A discussion of how software creators can identify application opportunities
2688 that offer the promise of great social and commercial significance. Particular
2689 attention will be paid to the challenge of acquiring cross domain knowledge
2690 and setting up effective collaboration.
2696 <eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
2697 <short>Come out and meet your professors. Free food provided!</short>
2699 <p>Come out and meet your professors! This is a great opportunity to
2700 mingle with your professors before midterms or find out who you might
2701 have for future courses. All are welcome!</p>
2703 <p>Best of all, there will be <strong>free food!</strong></p>
2705 <p>You can pick up invitations for your professors at the Computer Science
2706 Club office in MC 3036.</p>
2708 <p>Pints with Profs will be held this term on Thursday, 9 February 2006
2709 from 5:30 to 8:00 PM in the Bombshelter.</p>
2715 <eventitem date="2005-11-29" time="5:30 PM"
2716 room="TBA" title="Programming Contest">
2717 <short>Come out, program, and win shiny things!</short>
2720 The Computer Science club is holding a programming contest open to all students on Tuesday the 29th of November at 5:30PM. C++,C,Perl,Scheme* are allowed. Prizes totalling in value of $75 will be distributed.
2724 <p>And best of all... free food!!!</p>
2729 <eventitem date="2005-10-17" time="5:30 PM"
2730 room="Fishbowl" title="Party with Profs!">
2731 <short>Get to know your profs and be the envy of your
2735 Come out and meet your professors!! This is a great opportunity to
2736 meet professors for Undergraduate Research jobs or to find out who
2737 you might have for future courses. One and all are welcome!
2740 <p>And best of all... free food!!!</p>
2745 <eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103: Scripting Unix">
2746 <short>You Too Can Be a Unix Taskmaster</short>
2749 This is the third in a series of seminars that cover the use of the
2750 UNIX Operating System. UNIX is used in a variety of applications, both
2751 in academia and industry. We will provide you with hands-on experience
2752 with the Math Faculty's UNIX environment in this tutorial.
2754 Topics that will be discussed include:
2756 <li>Shell scripting</li>
2757 <li>Searching through text files</li>
2758 <li>Batch editing text files</li>
2761 If you do not have a Math computer account, don't panic; one will be lent to
2762 you for the duration of this class.
2768 <eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
2769 <short>Fun with Unix</short>
2772 This is the second in a series of seminars that cover the use of the
2773 Unix Operating System. Unix is used in a variety of
2774 applications, both in academia and industry. We will provide you with hands-on
2775 experience with the Math Faculty's Unix environment in this tutorial.
2778 Topics that will be discussed include:
2780 <li>Interacting with Bourne and C shells</li>
2781 <li>Editing text using the vi text editor</li>
2782 <li>Editing text using the Emacs display editor</li>
2783 <li>Multi-tasking and the screen multiplexer</li>
2787 If you do not have a Math computer account, don't panic; one will be lent to
2788 you for the duration of this class.
2793 <eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
2794 <short>First UNIX tutorial</short>
2797 The CSC UNIX tutorials are intended to help first year CS and other
2798 interested learn UNIX and the CS UNIX environment.
2801 This is the first in a series of two or three tutorials. It will cover basic shell
2802 use, and simple text editors.
2808 <!-- Summer 2005 -->
2809 <eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
2810 <short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
2813 Server-side Web applications have grown increasingly common, sometimes
2814 even replacing brick and mortar as the principal interface of
2815 corporations. Correspondingly, Web browsers grow ever more powerful,
2816 empowering users to attach bookmarks, switch between pages, clone
2817 windows, and so forth. As a result, Web interactions are not
2818 straight-line dialogs but complex nets of interaction steps.
2821 In practice, programmers are unaware of or are unable to handle these
2822 nets of interaction, making the Web interfaces of even major
2823 organizations buggy and thus unreliable. Even when programmers do
2824 address these constraints, the resulting programs have a seemingly
2825 mangled structure, making them difficult to develop and hard to
2829 In this talk, I will describe these interactions and then show how
2830 programming language ideas can shed light on the resulting problems
2831 and present solutions at various levels. I will also describe some
2832 challenges these programs pose to computer-aided verification, and
2833 present solutions to these problems.
2837 <eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
2838 <short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
2841 I'll survey the evolution of our computer science curriculum over the
2842 past thirty-five years to try to convey the reasons (not always entirely
2843 rational) behind our current mix of courses and their division into core
2844 and optional. After some remarks about constraints and opportunities in
2845 the near future, I'll open the floor to discussion, and hope to hear
2846 some candid comments about the state of CS at UW and how it might be
2853 Prabhakar Ragde is a Professor in the School of Computer Science at UW.
2854 He was Associate Chair for Curricula during the period that saw the
2855 creation of the Bioinformatics and Software Engineering programs, the
2856 creation of the BCS degree, and the strengthening of the BMath/CS degree.
2861 <!-- Winter 2005 -->
2862 <eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
2863 <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
2866 Does being in CS make you feel like a lemming? Is linear algebra driving you
2867 into walls? Do you pace back and forth, constantly, regardless of whatever's
2868 in your path? Then you should come out to CSC Lemmings Day. This time, we're
2869 playing the pseudo-sequel: Oh No! More Lemmings!
2872 <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
2873 <li>Projector screen: the pixels are man-sized!</li>
2874 <li>Live-Action Lemmings (the rules are better this time)</li>
2875 <li>Lemmings look-alike contest</li>
2876 <li>Enjoy classic Lemmings tunes</li>
2881 <eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
2882 <short>Fun with Unix</short>
2885 This is the second in a series of seminars that cover the use of the
2886 Unix Operating System. Unix is used in a variety of
2887 applications, both in academia and industry. We will provide you with hands-on
2888 experience with the Math Faculty's Unix environment in this tutorial.
2891 Topics that will be discussed include:
2893 <li>Interacting with Bourne and C shells</li>
2894 <li>Editing text using the vi text editor</li>
2895 <li>Editing text using the Emacs display editor</li>
2896 <li>Multi-tasking and the screen multiplexer</li>
2900 If you do not have a Math computer account, don't panic; one will be lent to
2901 you for the duration of this class.
2907 <eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
2908 <short>First UNIX tutorial</short>
2911 The CSC UNIX tutorials are intended to help first year CS and other
2912 interested learn UNIX and the CS UNIX environment.
2915 This is the first in a series of two or three tutorials. It will cover basic shell
2916 use, and simple text editors.
2922 <eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
2924 <short>Come out and vote for the Winter 2005 executive!</short>
2927 The Computer Science Club will be holding its elections for the Winter 2005
2928 term on Thursday, January 13. The elections will be held at 4:30 PM in the
2929 Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
2933 We are accepting nominations for the following positions: President,
2934 Vice-President, Treasurer, and Secretary. The nomination period continues
2935 until 4:30 PM on Wednesday, January 12. If you are interested in running for
2936 a position, or would like to nominate someone else, please email
2937 cro@csclub.uwaterloo.ca before the deadline.
2945 <eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
2947 <short> This semesters CTRL-D (or the club that really likes
2948 dinner) is going to be at Mongolian grill. Be there or be square</short>
2951 Come to the end of term CTRL-D (club that really likes dinner) meeting.
2952 Remember : food is good
2958 <eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
2959 <short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
2960 interesting examples that can or cannot be straightened out</short>
2963 In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
2964 interesting examples that can or cannot be straightened out</p>
2970 <eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
2971 <short>How I Stopped Worrying and Learned to Love the IDE</short>
2974 How I stopped worrying and Learned to Love the IDE
2977 Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like
2978 the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs.
2982 I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or
2983 "Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
2990 <eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
2991 <short>Wiki software in PHP+MySQL</short>
2994 GracefulTavi is an open source wiki programmed by Net Integration
2995 Technologies Inc. It is used internally by more than 25 people, and is
2996 the primary internal wiki for NITI's R&D and QA.
2999 I'll start with a very brief introduction to wikis in general, then
3000 show off our special features: super-condensed formatting syntax,
3001 hierarchy management, version control, highlighted diffs, SchedUlator,
3002 the Table of Contents generator. As part of this, we'll explain the
3003 simple plugin architecture and show people how to write a basic wiki
3008 As well, I will show some of the "waterloo specific" macros that have
3009 been coded, and explain future plans for GracefulTavi.
3013 If time permits, I will explain how gracefulTavi can be easily used
3014 for a personal calendar and notepad system on your laptop.
3021 <eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
3022 <short>Everyone else is doing it!</short>
3025 Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
3026 regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
3029 <li>Play some old-skool Lemmings, Amiga-style</li>
3030 <li>Live-action lemmings</li>
3031 <li>Lemmings look-alike contest</li>
3032 <li>Enjoy classic Lemmings tunes</li>
3035 Everyone else is doing it!
3041 <eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
3042 <short>CSC Programming Contest</short>
3045 The Computer Science Club will be hosting a programming competition.
3046 You have the entire afternoon to design and implement an AI for a simple
3047 game. The competition will run until 5pm.
3053 <eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103: Scripting Unix">
3054 <short>You Too Can Be a Unix Taskmaster</short>
3057 This is the third in a series of seminars that cover the use of the
3058 UNIX Operating System. UNIX is used in a variety of applications, both
3059 in academia and industry. We will provide you with hands-on experience
3060 with the Math Faculty's UNIX environment in this tutorial.
3062 Topics that will be discussed include:
3064 <li>Shell scripting</li>
3065 <li>Searching through text files</li>
3066 <li>Batch editing text files</li>
3069 If you do not have a Math computer account, don't panic; one will be lent to
3070 you for the duration of this class.
3075 <eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
3076 <short>Fun with Unix</short>
3079 This is the second in a series of seminars that cover the use of the
3080 Unix Operating System. Unix is used in a variety of
3081 applications, both in academia and industry. We will provide you with hands-on
3082 experience with the Math Faculty's Unix environment in this tutorial.
3085 Topics that will be discussed include:
3087 <li>Interacting with Bourne and C shells</li>
3088 <li>Editing text using the vi text editor</li>
3089 <li>Editing text using the Emacs display editor</li>
3090 <li>Multi-tasking and the screen multiplexer</li>
3094 If you do not have a Math computer account, don't panic; one will be lent to
3095 you for the duration of this class.
3100 <!-- Spring 2004 -->
3102 <eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
3103 <short>First UNIX tutorial</short>
3106 The CSC UNIX tutorials are intended to help first year CS and other
3107 interested learn UNIX and the CS UNIX environment.
3110 This is the first in a series of three tutorials. It will cover basic shell
3111 use, and simple text editors.
3115 <eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
3117 <short>Come out and vote for the Fall 2004 executive!</short>
3120 The Computer Science Club will be holding its elections for the Fall 2004
3121 term on Friday, September 17. The elections will be held at 4:00 PM in the
3122 Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
3126 We are accepting nominations for the following positions: President,
3127 Vice-President, Treasurer, and Secretary. The nomination period continues
3128 until 4:30 PM on Thursday, September 16. If you are interested in running
3129 for a position, or would like to nominate someone else, please email
3130 cro@csclub.uwaterloo.ca before the deadline.
3135 <eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
3136 title="Game Complexity Theorists Ponder, by Jonathan Buss">
3137 <short>Attention AI buffs: Game Complexity presentation</short>
3140 Why are some games hard to play well? The study of computational
3141 complexity gives one answer: the games encode long computations.</p>
3143 <p>Any computation can be interpreted as an abstract game. Playing the
3144 game perfectly requires performing the computation. Remarkably, some
3145 natural games can encode these abstract games and thus simulate
3146 general computations. The more complex the game, the more complex the
3147 computations it can encode; games that can encode intractable problems
3148 are themselves intractable.</p>
3151 I will describe how games can encode computations, and discuss some
3152 examples of both provably hard games (checkers, chess, go, etc.) and
3153 games that are believed to be hard (hex, jigsaw puzzles, etc.).
3158 <eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
3159 title="Case Modding Workshop!">
3160 <short>Come and learn how to make your computer 1337!</short>
3163 Are you bored of beige?<br />
3164 Tired of an overheating computer?<br />
3165 Is your computer's noise level on par with a jet engine?
3168 Got a nifty modded case?<br />
3172 The Computer Science Club will be holding a Case Modding Workshop
3173 to help answer these questions.
3176 There will be demonstrations on how to make a case window, how
3177 to paint your case, managing cables and keeping your computer
3181 The event is FREE and there will be FREE PIZZA. All are welcome!
3184 To help you on your way to getting a wicked computer case, we have a limited
3185 number of "Case Modding Starters Kits" available. They come with an LED fan,
3186 a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more! They're
3187 only $10 and will be on sale at the event. Here's a <a
3188 href="redkit.jpg">picture</a>.
3191 If you already have a modded case, we encourage you to bring it out
3192 and show it off! There will be a prize for the best case!!
3195 We hope to see you there!
3198 This event is sponsored by Bigfoot Computers.
3203 <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
3204 title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
3205 <short>A talk by Richard Mann; School of Computer Science</short>
3208 When an observer moves through a 3D scene, nearby surfaces move faster in the
3209 image than do distant surfaces. This effect, called motion parallax, provides
3210 an observer with information both about their own motion relative the scene,
3211 and about the spatial layout and depth of surfaces in the scene.
3214 Classical methods for measuring image motion by computer have concentrated on
3215 the cases of optical flow in which the motion field is continuous, or layered
3216 motion in which the motion field is piecewise continuous. Here we introduce a
3217 third natural category which we call ``optical snow''. Optical snow arises in
3218 many natural situations such as camera motion in a highly cluttered 3-D scene,
3219 or a passive observer watching a snowfall. Optical snow yields dense motion
3220 parallax with depth discontinuities occurring near all image points. As such,
3221 constraints on smoothness or even smoothness in layers do not apply.
3224 We present a Fourier analysis of optical snow. In particular we show that,
3225 while such scenes appear complex in the time domain, there is a simple
3226 structure in the frequency domain, and this may be used to determine the
3227 direction of motion and the range of depths of objects in the scenes. Finally
3228 we show how Fourier analysis of two or more image regions may be combined to
3229 estimate heading direction.
3232 This talk will present current research at the undergraduate level. All are
3239 <eventitem date="2004-05-26" time="5:30 PM"
3240 room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
3241 <short>A talk by Larry Smith</short>
3244 Larry will challenge conventional assumptions about the directions of
3245 computing and software. The role of AI, expert systems, communications
3246 software and business applications will be presented both from a
3247 functional and commercial point of view. The great gaps in the
3248 marketplace will be highlighted, together with an indication of how
3249 these vacant fields will become home to new empires.
3253 <eventitem date="2004-05-12" time="4:30 PM"
3254 room="The Comfy Lounge" title="CSC Elections">
3255 <short>Come out and vote for the Spring 2004 executive!</short>
3258 The Computer Science Club will be holding its elections for the Spring
3259 2004 term on Wednesday, May 12. The elections will be held at 4:30 PM in
3260 the Comfy Lounge, on the 3rd floor of the MC. Please remember to come out
3264 We are accepting nominations for the following positions: President,
3265 Vice-President, Treasurer, and Secretary. The nomination period continues
3266 until 4:30 PM on Tuesday, May 11. If you are interested in running
3267 for a position, or would like to nominate someone else, please email
3268 cro@csclub.uwaterloo.ca before the deadline.
3273 <!-- Winter 2004 -->
3275 <eventitem date="2004-03-29" time="6:00 PM"
3276 room="MC 4058" title="LaTeXing your work report">
3277 <short>A talk by Simon Law</short>
3280 The work report is a familiar chore for any co-op student. Not only is
3281 there a report to write, but to add insult to injury, your report is
3282 returned if you do not follow your departmental guidelines.
3286 Fear no more! In this talk, you will learn how to use LaTeX and a
3287 specially developed class to automatically format your work reports.
3288 This talk is especially useful to Mathematics, Computer Science,
3289 Electrical & Computer Engineering, and Software Engineeering co-op
3290 students about to go on work term.
3295 <eventitem date="2004-03-30" time="5:30 PM"
3296 room="The Grad House" title="Pints with Profs!">
3297 <short>Get to know your profs and be the envy of your
3301 Come out and meet your professors!! This is a great opportunity to
3302 meet professors for Undergraduate Research jobs or to find out who
3303 you might have for future courses. One and all are welcome!
3306 <p>And best of all... free food!!!</p>
3310 <eventitem date="2004-03-23" time="6:00 PM"
3311 room="MC4058" title="Extending LaTeX with packages">
3312 <short>A talk by Simon Law</short>
3315 LaTeX is a document processing system. What this means is you describe
3316 the structure of your document, and LaTeX typesets it appealingly.
3317 However, LaTeX was developed in the late-80s and is now showing its age.
3321 How does it compete against modern systems? By being easily extensible,
3322 of course. This talk will describe the fundamentals of typesetting in
3323 LaTeX, and will then show you how to extend it with freely available
3324 packages. You will learn how to teach yourself LaTeX and how to find
3325 extensions that do what you want.
3329 As well, there will be a short introduction on creating your own
3330 packages, for your own personal use.
3335 <eventitem date="2004-03-16" time="6:00 PM"
3336 room="MC4058" title="Distributed programming for CS and Engineering
3338 <short>A talk by Simon Law</short>
3341 If you've ever worked with other group members, you know how difficult
3342 it is to code simultaneously. You might be working on one part of your
3343 assignment, and you need to send your source code to everyone else. Or
3344 you might be fixing a bug in someone else's part, and need to merge in
3345 the change. What a mess!
3349 This talk will explain some Best Practices for developing code in a
3350 distributed fashion. Whether you're working side-by-side in the lab, or
3351 developing from home, these methods can apply to your team. You will
3352 learn how to apply these techniques in the Unix environment using GNU
3353 Make, CVS, GNU diff and patch.
3358 <eventitem date="2004-03-15" time="5:30 PM"
3359 room="MC4040" title="SPARC Architecture">
3360 <short>A talk by James Morrison</short>
3363 Making a compiler? Bored? Think CISC sucks and RISC rules?
3367 This talk will run through the SPARC v8, IEEE-P1754, architecture.
3368 Including all the fun that can be had with register windows and the
3369 SPARC instruction set including the basic instructions, floating
3370 point instructions, and vector instructions.
3375 <eventitem date="2004-03-09" time="6:00 PM"
3376 room="MC4062" title="Managing your home directory using CVS">
3377 <short>A talk by Simon Law</short>
3380 If you have used Unix for a while, you know that you've created
3381 configuration files, or dotfiles. Each program seems to want its own
3382 particular settings, and you want to customize your environment. In a
3383 power-user's directory, you could have hundreds of these files.
3387 Isn't it annoying to migrate your configuration if you login to another
3388 machine? What if you build a new computer? Or perhaps you made a
3389 mistake to one of your configuration files, and want to undo it?
3393 In this talk, I will show you how to manage your home directory using
3394 CVS, the Concurrent Versions System. You can manage your files, revert
3395 to old versions in the past, and even send them over the network to
3396 another machine. I'll also discuss how to keep your configuration files
3397 portable, so they'll work even on different Unices, with different
3403 <eventitem date="2004-03-02" time="6:00 PM"
3404 room="MC4042" title="Graphing webs-of-trust">
3405 <short>A talk by Simon Law</short>
3408 In today's world, people have hundreds of connexions. And you can
3409 express these connexions with a graph. For instance, you may wish to
3410 represent the network of your friends.
3414 Originally, webs-of-trust were directed acyclic graphs of people who had
3415 identified each other. This way, if there was a path between you and
3416 the person who want to identify, then you could assume that each person
3417 along that path had verified the next person's identity.
3421 I will show you how to generate your own web-of-trust graph using Free
3422 Software. Of course, you can also use this knowledge to graph anything
3428 <eventitem date="2004-02-18" time="7:00 PM"
3429 room="DC2305" title="KW Perl Mongers">
3430 <short>Perl Modules: A look under the hood</short>
3433 <p>In Perl, a module is the basic unit of code-reuse. The talk will be
3434 mostly a look into GD::Text::Arc, a module written to draw TrueType text
3435 around the edge of a circle. The talk will consider:</p>
3438 <li>using and writing object-oriented perl code</li>
3439 <li>the Virtue of Laziness: or, reusing other peoples' code.</li>
3440 <li>writing tests while coding</li>
3441 <li>beer coasters</li>
3447 <eventitem date="2004-02-05" time="3:30 PM"
3448 room="MC4041" title="Constitutional Change">
3449 <short>Vote to change the CSC Constitution</short>
3452 <p>During the General Meeting on 19 January 2004, a proposed constitution
3453 change was passed around. This change is in response to a change in the
3454 MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>
3456 <p>This general meeting is called to vote on this proposed change. We must
3457 have quorum of 15 Full Members vote on this change. The following text was
3458 presented at the CSC Winter 2004 Elections.</p>
3460 <pre>We propose to make a Constitutional change on this day, 19 January 2004.
3461 The proposed change is to section 3.1 of the constitution which
3464 In compliance with MathSoc regulations and in recognition of the
3465 club being primarily targeted at undergraduate students, full
3466 membership is open to all undergraduate students in the Faculty of
3467 Mathematics and restricted to the same.
3469 Since MathSoc has changed its requirements for club membership, we
3470 propose that it be changed to:
3472 In compliance with MathSoc regulations and in recognition of the
3473 club being primarily targeted at undergraduate students, full
3474 membership is open to all Social Members of the Mathematics Society
3475 and restricted to the same.</pre>
3479 <eventitem date="2004-01-12" time="3:00 PM"
3480 room="DC1301" title="InstallFest">
3481 <short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
3484 <p>An Installfest is an opportunity to install software on your computer.
3485 People come with computers. Other people come with experience. The people
3486 get together and (when all goes well) everybody leaves satisfied.</p>
3488 <p>You are invited to our first installfest of the year. Come to get some
3489 software or to learn more about Open Source Software and why it is relevant
3490 to your life. The event is free, but you may want to bring blank CDs and/or
3491 money to purchase some open source action for your computer at home.</p>
3493 <p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
3494 website</a> for more details.</p>
3501 <eventitem date="2003-12-01" time="7:00 PM"
3502 room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
3503 <short> Free and Open Source software has been around for a long
3504 time, even longer then shrink-wrapped code.</short>
3506 <p>Free and Open Source software has been around for a long time, even
3507 longer then shrink-wrapped code. It has a long and noble history in the annals
3508 of education. Even more than ever, due to the drop of hardware prices and the
3509 increase of worldwide communications, Free and Open Source can open new
3510 avenues of teaching and doing research, not only in computer science, but in
3511 other university fields as well.</p>
3512 <p>Learn how Linux as an operating system can
3513 run on anything from a PDA to a supercomputer, and how Linux is reducing the
3514 cost of computing dramatically as the fastest growing operating system in the
3515 world. Learn how other Free and Open Source projects, such as office suites,
3516 audio and video editing and playing software, relational databases, etc. are
3517 created and are freely available.</p>
3519 <p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
3520 <h3>Speaker's Biography</h3>
3521 <p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
3522 a non-profit association of computer vendors who wish to support and promote
3523 the Linux Operating System. During his career which spans over thirty years,
3524 Mr. Hall has been a programmer, systems designer, systems administrator,
3525 product manager, technical marketing manager and educator. He has
3526 worked for such companies as Western Electric Corporation, Aetna Life and
3527 Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems,
3528 and is currently funded by SGI.</p>
3530 <p>He has taught at Hartford State Technical College, Merrimack College and
3531 Daniel Webster College. He still likes talking to students over pizza and beer
3532 (the pizza can be optional).</p>
3534 <p>Mr. Hall is the author of numerous magazine and newspaper articles, many
3535 presentations and one book, "Linux for Dummies".</p>
3537 <p>Mr. Hall serves on the boards of several companies, and several non-profit
3538 organizations, including the USENIX Association.</p>
3540 <p>Mr. Hall has traveled the world speaking on the benefits of Open Source
3541 Software, and received his BS in Commerce and Engineering from Drexel
3542 University, and his MSCS from RPI in Troy, New York.</p>
3544 <p>In his spare time maddog is working on his retirement project:</p>
3546 <center>maddog's monastery for microcomputing and microbrewing</center>
3551 <eventitem date="2003-11-05" time="4:30 PM - 8:30 PM"
3552 room="Grad House Pub (Green Room)" title="CS Pints With Profs">
3553 <short>Come have a pint with your favourite CS profs!</short>
3555 <p>Come meet CS profs in a relaxed atmosphere this Wednesday at
3556 the Grad House (by South Campus Hall). This is your chance to meet those CS profs
3557 you enjoyed in lectures in person, have a chat with them
3558 and find out what they're doing outside the lecture halls.</p>
3560 <p>We'll be providing free food, including hamburgers and nachos,
3561 and the Grad House offers a great selection of drinks.</p>
3563 <p>If you'd like to invite a particular prof, stop by on the third
3564 floor of the MC (outside of the Comfy) to pick up an invitation.</p>
3566 <p>Persons of all ages are welcome!</p>
3571 <eventitem date="2003-10-21" time="4:30 PM - 5:30 PM" room="MC2065"
3572 title=".NET & Linux: When Worlds Collide">
3573 <short>A talk by James Perry</short>
3576 <p>.NET is Microsoft's new development platform, including amongst
3577 other things a language called C# and a class library for various
3578 operating system services. .NET aims to be portable, although it is
3579 currently mostly only used on Windows systems.</p>
3581 <p>With the full backing of Microsoft, it seems unlikely that .NET
3582 will disappear any time soon. There are several efforts underway to
3583 bring .NET to the GNU/Linux platform. Hosted by the Computer Science
3584 Club, this talk will discuss a number of the issues surrounding .NET
3590 <eventitem date="2003-10-22" time="4:30 PM - 5:30 PM" room="MC4061"
3591 title="Real-Time Graphics Compilers">
3592 <short>Sh is a GPU metaprogramming language developed at the UW
3593 Computer Graphics Lab</short>
3596 <p>Sh is a GPU metaprogramming language developed at the University of
3597 Waterloo Computer Graphics Lab. It allows graphics programmers to
3598 write programs which run directly on the GPU (Graphics Processing
3599 Unit) using familiar C++ syntax. Furthermore, it allows
3600 metaprogramming of such programs, that is, writing programs which
3601 generate other programs, in an easy and natural manner.</p>
3603 <p>This talk will give a brief overview of how Sh works, the design of
3604 its intermediate representation and the (still somewhat simplistic)
3605 optimizer that the current reference implementation has and problems
3606 with applying traditional compiler optimizations.</p>
3608 <p>Stefanus Du Toit is an undergraduate student at the University of
3609 Waterloo. He is also a Research Assistant for Michael McCool from the
3610 University of Waterloo Graphics Lab. Over the Summer of 2003 Stefanus
3611 reimplemented the Sh reference implementation and designed and
3612 implemented the current Sh optimizer.</p>
3616 <eventitem date="2003-10-17" time="3:00 PM" room="MC3001 (Comfy)"
3617 title="Poster Team Meeting">
3618 <short>More free pizza from the Poster Team</short>
3620 <p>Are you interested in getting involved in the Computer Science
3623 <p>Come on out to the second meeting of our Poster Team, a bunch of
3624 students helping out with promotion for our events. The agenda for
3625 this meeting will include painting posters, designing event
3626 invitations, and organizing poster runs. Once again, we will be
3627 serving free pizza!</p>
3629 <p>See you there!</p>
3633 <eventitem date="2003-10-16" time="4:00 PM - 5:30 PM" room="MC2037"
3634 title="UNIX 103: Development Tools">
3635 <short>GCC, GDB, Make</short>
3637 <p>This tutorial will provide you with a practical introduction to GNU
3638 development tools on Unix such as the gcc compiler, the gdb debugger
3639 and the GNU make build tool.</p>
3641 <p>This talk is geared primarily at those mostly unfamiliar with these
3642 tools. Amongst other things we will introduce:</p>
3645 <li>gcc options, version differences, and peculiarities</li>
3646 <li>using gdb to debug segfaults, set breakpoints and find out what's
3648 <li>tiny Makefiles that will compile all of your 2nd and 3rd year CS
3652 <p>If you're in second year CS and unfamiliar with UNIX development it
3653 is highly recommended you go to this talk. All are welcome, including
3654 non-math students.</p>
3656 <p>Arrive early!</p>
3660 <eventitem date="2003-10-02" time="4:00 PM - 5:30 PM" room="MC2037"
3661 title="UNIX 101: Text Editors">
3662 <short>vi vs. emacs: The Ultimate Showdown</short>
3665 Have you ever wondered how those cryptic UNIX text editors work? Have you
3666 ever woken up at night with a cold sweat wondering "Is it CTRL-A, or CTRL-X
3667 CTRL-A?" Do you just hate pico with a passion?</p>
3669 <p>Then come to this tutorial and learn how to use vi and emacs!</p>
3671 <p>Basic UNIX commands will also be covered. This tutorial will be especially
3672 useful for first and second year students.</p>
3677 <eventitem date="2003-10-06" time="4:00 PM" room="MC3001 (Comfy)"
3678 title="Poster Team Meeting">
3679 <short>Join the Poster Team and get Free Pizza!</short>
3682 <li>Do you like computer science?</li>
3683 <li>Do you like posters?</li>
3684 <li>Do you like free pizza?</li>
3686 <p>If the answer to one of these questions is yes, then come
3687 out to the first meeting of the Computer Science Club Poster Team! The
3688 CSC is looking for interested students to help out with promotion and
3689 publicity for this term's events. We promise good times and free
3694 <eventitem date="2003-09-17" time="4:30 PM" room="MC3001 (Comfy)"
3695 title="CSC Elections">
3696 <short>CSC Fall 2003 Elections</short>
3698 <p>Elections will be held on Wednesday, September 17, 2003 at 4:30 PM in the
3700 Comfy Lounge, MC3001.</p>
3702 <p>I invite you to nominate yourself or others for executive positions,
3703 starting immediately. Simply e-mail me at cro@csclub.uwaterloo.ca
3704 with the name of the person who is to be nominated and the position
3705 they're nominated for.</p>
3707 <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
3709 <p>Positions open for elections are:</p>
3711 <ul><li>President: Organises the club, appoints committees, keeps everyone busy.
3712 If you have lots of ideas about the club in general and like bossing
3713 people around, go for it!</li>
3715 <li>Vice President: Organises events, acts as the president if he's not
3716 available. If you have lots of ideas for events, and spare time, go
3719 <li>Treasurer: Keeps track of the club's finances. Gets to sign cheques
3720 and stuff. If you enjoy dealing with money and have ideas on how to
3721 spend it, go for it!</li>
3723 <li>Secretary: Takes care of minutes and outside correspondence. If you
3724 enjoy writing things down and want to use our nifty new letterhead
3725 style, go for it!</li></ul>
3727 <p>Nominations will be accepted until Tuesday, September 16 at 4:30 PM.</p>
3729 <p>Additionally, a Sysadmin will be appointed after the elections. If you
3730 like working with Unix systems and have experience setting up and
3731 maintaining them, go for it!</p>
3733 <p>I hope that lots of people will show up; hopefully we'll have a great
3734 term with plenty of events. We always need other volunteers, so if you
3735 want to get involved just talk to the new exec after the
3736 meeting. Librarians, webmasters, poster runners, etc. are always
3739 <p>There will also be free pop.</p>
3741 <p>Memberships can be purchased at the elections or at least half an hour
3742 prior to at the CSC. Only undergrad math members can vote, but anyone can
3743 become a member.</p>
3747 <!-- Spring 2003 -->
3749 <eventitem date="2003-07-31" time="4:30 PM" room="MC4064"
3750 title="LaTeX and Work Reports">
3751 <short>Writing beautiful work reports</short>
3754 <p>The work report is a familiar chore for any co-op student. Not only is
3755 there a report to write, but to add insult to injury, your report is
3756 returned if you do not follow your departmental guidelines.</p>
3758 <p>Fear no more! In this talk, you will learn how to use LaTeX and a
3759 specially developed class to automatically format your work reports.
3760 This talk is especially useful to Mathematics, Computer Science,
3761 Electrical & Computer Engineering, and Software Engineeering co-op
3762 students about to go on work term.</p>
3765 href="http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/">http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/</a></p>
3770 <eventitem date="2003-07-24" time="4:30 PM" room="MC2037"
3771 title="vi: the visual editor">
3772 <short>It's not 6.</short>
3775 <p>In 1976, a University of California Berkeley student by the name of
3776 Bill Joy got sick of his text editor, ex. So he hacked it such that
3777 he could read his document as he wrote it. The result was "vi", which
3778 stands for VIsual editor. Today, it is shipped with every modern
3779 Unix system, due to its global influence.</p>
3781 <p>In this talk, you will learn how to use vi to edit documents
3782 quickly and efficiently. At the end, you should be able to:</p>
3785 <li>Navigate and search through documents</li>
3786 <li>Cut, copy, and paste across documents</li>
3787 <li>Search and replace regular expressions</li>
3790 <p>If you do not have a Math computer account, don't panic; one will be lent
3791 to you for the duration of this class.</p>
3796 <eventitem date="2003-07-24" time="3:00 PM" room="CSC Office" title="July
3798 <short> See Abstract for minutes </short>
3801 --paying Simon for Sugar
3804 Expense this to MathSoc in lieu of foreign speaker.
3806 --We currently have (including CD-R and pop-income not
3807 currently in safe) $972.85
3808 -We have $359.02 on budget that we can expense to MathSoc.
3810 --We got MEF money for books and video card. Funding for
3811 wireless microphone is dependent on whether MFCF is
3813 -Funding for casters was denied.
3814 -Shopping for the Video card.
3815 -Expecting it after August (Stefanus shopping for it.)
3816 -Will have to hear back regarding the microphone, best to
3817 delay that now, discuss it with MEF.
3818 -Better to do it this term, so it doesn't get lost.
3819 -Let MFCF know about this concern.
3820 -Regarding books, can be done anytime before September.
3823 -Generally, Jim Eliot talk when really well.
3824 -Apparently he was generally offensive.
3825 -When was the LaTeX talk? End of the month.
3826 -Kegger at Jim's place on the 16th.
3828 --Getting people in on the 6th, 7th, 8th for csc commercials
3830 -Hang out in here, and he'll make a CSC commercial.
3831 -Co-ordinate when everyone should be in here, so we can email Jason.
3834 -CEO needs it's database changed to use ISBN as a primary key.
3835 -Needs functionality to take out/return books.
3837 --Mark just entered financial stuff into GNUcash
3839 --Choose CRO for next term.
3840 -Stefanus has expressed desire not to be CRO.
3841 -Gary Simmons was suggested (and he accepted)
3844 --Mike Biggs has to get here naked.
3845 -Four unanimous votes.
3846 -Nakedness only applies to getting here, not being here.
3850 ACTION ITEM: Biggs and Cass
3851 -get labelmaker tape, masking tape
3852 whiteboard makers, coloured paper, CD sleeves
3853 -keep receipts for CSC office expenses.
3855 How is the progress on allowing executives and voters to be non-math
3857 -The vote is coming up Monday.
3858 -Proposal: Anyone who is a paying member can be a member
3859 -So you can either do two things:
3860 Pay MathSoc fees, or
3861 Get your faculty society to recognize CSC as a club.
3863 Stefanus wanted to mention that we should talk to Yolanda,
3864 Craig or Louie about a EYT event for frosh week.
3866 -Sugar Mountain trying to hook all the Frosh
3870 Reminder for Next Year's executive.
3871 -September 16th @ 5:00pm, get a table for Clubs day, and 17th
3872 and 18th, maintain the booth (full day events).
3875 -There should be executive before then
3877 Note: There needs to be a private section in the CSC Procedures Manual.
3878 (Only accessible by shell)
3883 -Talk to Plantops about:
3885 -Mounting corkboard.
3886 -Talk about CSC Sign
3891 <eventitem date="2003-06-27" time="2:30 PM" room="DC1302"
3892 title="Friday Flicks">
3893 <short> SIGGRAPH Electronic Theatre Showing </short>
3896 SIGGRAPH is the ACM's Special Interest Group for Graphics and
3897 simultaneously the world's largest graphics conference and
3898 exhibition, where the cutting edge of graphics research is presented
3901 With support from UW's Computer Graphics Lab, the CSC invites you to
3902 capture a glimpse of SIGGRAPH 2002. We will be presenting the
3903 Electronic Theatre showings from 2002, demonstrating the best of the
3904 animated, CG-produced movies presented at SIGGRAPH.
3905 </p><p> Don't miss this free showing!</p>
3908 <eventitem date="2003-07-08" time="4:00 PM" room="MC2065"
3909 title="Mainframes and Linux">
3910 <short>A talk by Jim Elliott. Jim is responsible for IBM's in Open Source
3911 activities and IBM's mainframe operating systems for Canada and the
3915 Linux and Open Source have become a significant reality in the
3916 working world of Information Technology. An indirect result has been a
3917 "rebirth" of the mainframe as a strategic platform for enterprise
3918 computing. In this session Jim Elliott, IBM's Linux Advocate, will provide
3919 an overview of these technologies and an inside look at IBM's participation
3920 in the community. Jim will examine Linux usage on the desktop, embedded
3921 systems and servers, a reality check on the common misconceptions that
3922 surround Linux and Open Source, and an overview of the history and current
3923 design of IBM's mainframe servers.</p>
3925 Jim Elliott is the Linux Advocate for IBM Canada. He is responsible
3926 for IBM's participation in Linux and Open Source activities and IBM's
3927 mainframe operating systems in Canada and the Caribbean. Jim is a popular
3928 speaker on Linux and Open Source at conferences and user groups across the
3929 Americas and Europe and has spoken to over 300 organizations over the past
3930 three years. Over his 30 years with IBM he has been the co-author of over
3931 15 IBM publications and he also coordinated the launch of Linux on IBM
3932 mainframes in the Americas. In his spare time, Jim is addicted to reading
3933 historical mystery novels and travel to their locales.
3935 <p><a href="http://www.vm.ibm.com/devpages/jelliott/events.html">Slides</a>
3939 <eventitem date="2003-07-04" time="3:30 PM" room="University of Guelph"
3940 title="Guelph Trip">
3941 <short>Come Visit the University of Guelph's Computer Science Club</short>
3943 The University of Waterloo Computer Science Club is going to visit the
3944 University of Guelph Computer Science Club. There will be a talk given
3945 as well as dinner with a fun social atmosphere.</p><p>Drivers Wanted</p>
3946 <p>Cancelled -- sorry Guelph cancelled on us.</p>
3949 <eventitem date="2003-07-17" time="4:30 PM" room="MC4064"
3951 <short>Metaprogramming your way to stunning effects.</short>
3954 Modern graphics processors allow developers to upload small "shader
3955 programs" to the GPU, which can be executed per-vertex or even
3956 per-pixel during the rendering. Such shaders allow stunning effects to
3957 be performed in real-time, but unfortunately aren't very easy to
3958 program since one generally has to write them at the assembly level.
3960 Recently a few high-level languages for shader programming have become
3961 available. Sh, a result of research at UW, is one such language. It
3962 allows programming powerful shaders in simple and intuitive ways. Sh
3963 is particularly interesting because of the way it is
3964 implemented. Instead of coming up with a language grammar and writing
3965 a full-fledged compiler, Sh is implemented as a C++ library, and
3966 shader programs are effectively written in C++. The actual compilation
3967 then takes place in a manner similar to JIT (Just-in-time)
3968 compilers. This has many advantages over the traditional approach,
3969 including C++'s familiar syntax for users, and much less work for the
3972 In this talk I will give an overview of GPUs and the Sh language as
3973 well as some interesting details on how Sh was implemented.
3974 </p><p> <!-- Is there a bio tag -->
3975 Stefanus Du Toit is a research assistant at the University of
3976 Waterloo. He has implemented the current version of Sh from scratch
3977 and is actively developing it under supervision of Michael McCool, the
3978 original designer of the language.
3982 <eventitem date="2003-06-19" time="4:30 PM" room="MC2037"
3983 title="vi: the visual editor">
3984 <short>It's not 6.</short>
3987 <p>In 1976, a University of California Berkeley student by the name of
3988 Bill Joy got sick of his text editor, ex. So he hacked it such that
3989 he could read his document as he wrote it. The result was "vi", which
3990 stands for VIsual editor. Today, it is shipped with every modern
3991 Unix system, due to its global influence.</p>
3993 <p>In this talk, you will learn how to use vi to edit documents
3994 quickly and efficiently. At the end, you should be able to:</p>
3997 <li>Navigate and search through documents</li>
3998 <li>Cut, copy, and paste across documents</li>
3999 <li>Search and replace regular expressions</li>
4002 <p>If you do not have a Math computer account, don't panic; one will be lent
4003 to you for the duration of this class.</p>
4008 <eventitem date="2003-06-12" time="3:30 PM" room="MC3036 CSC Office" title="June 12 Exec Meeting">
4009 <short>Have an issue that should be brought up? We'd love to hear it!</short>
4013 Budget: All the money we requested
4014 --No money from Pints from Profs
4015 --MathSoc has promised us $1250
4017 Feedback from Completed Events
4018 UNIX Talks: 17 people for first
4019 --12 people for second
4025 --People Jim didn't know talked to him for 1/2 hour
4027 History of CSC talk went well
4028 --Good variety of people
4032 --Only 1 E& CE prof
4034 --Jim will harass the profs at the School of CS Council meeting.
4036 We're starting to fall behind in planning
4040 --Might have to move RSB back
4041 --International site has a few test samples
4042 --Stefanus had some ideas
4043 --Coding will probably take an afternoon/evening
4044 --We need volunteers to run the competition
4045 --We have volunteers to code: Phil and Stefanus
4047 ACTION ITEM: Phil and Stefanus
4048 --code whatever you volunteered to code for.
4050 --Mike intends to visit classes and directly advertise
4051 --Email Christina Hotz
4053 --GH guy: Mike has an abstract, will have posters by tomorrow
4056 --Mathnet, Hackers, Wargames, Tron
4057 --Mike will get a room
4058 --Will be closed member
4060 Mike McCool is offering rooms for showing SIGGRAPH
4062 -check with Mike McCool.
4065 -Make posters for Movie Nights
4067 When is other movie night? (Will plan some time in July)
4069 Who is our foreign speaker?
4070 Action Item: jelliot@ca.ibm.com (Check name first) about
4071 getting a foreign speaker -- Note: Has already been contacted.
4073 Simon got money from Engsoc
4075 Cass needs coloured paper (CSC is out)
4077 ACTION ITEM: Cass and Mark
4078 --get labelmaker tape, masking tape,
4079 whiteboard makers, coloured paper
4080 --keep receipts for CSC office expenses
4082 NOTICE: Mike is now Imapd
4084 Simon distributed budget list
4085 Mark got the money from Mathsoc for last budget, deposited it.
4088 --Get MEF funding by July 4th (equipment)
4090 --Get WEEF funding by June 27th (book)
4092 Jim still working on allowing executives and voters to be
4095 We get free photocopying from MathSoc
4097 --write down code for free photocopying from MathSoc
4099 Simon has been able to get into the cscdisk account, still
4100 looking into getting into the cscceo account.
4102 Damien got an e-mail stating that the files for cscdisk are
4106 --provide SSH key to Phil for getting into cscdisk, cscceo, etc...
4107 --Renumber bootup scripts for sugar and powerpc so that they
4110 ACTION ITEM: Mike needs to do all the plantops stuff again.
4112 ACTION ITEM: Mike -- "Stapler