4 <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
5 title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
6 <short>A talk by Richard Mann; School of Computer Science</short>
9 When an observer moves through a 3D scene, nearby surfaces move faster in the
10 image than do distant surfaces. This effect, called motion parallax, provides
11 an observer with information both about their own motion relative the scene,
12 and about the spatial layout and depth of surfaces in the scene.
15 Classical methods for measuring image motion by computer have concentrated on
16 the cases of optical flow in which the motion field is continuous, or layered
17 motion in which the motion field is piecewise continuous. Here we introduce a
18 third natural category which we call ``optical snow''. Optical snow arises in
19 many natural situations such as camera motion in a highly cluttered 3-D scene,
20 or a passive observer watching a snowfall. Optical snow yields dense motion
21 parallax with depth discontinuities occurring near all image points. As such,
22 constraints on smoothness or even smoothness in layers do not apply.
25 We present a Fourier analysis of optical snow. In particular we show that,
26 while such scenes appear complex in the time domain, there is a simple
27 structure in the frequency domain, and this may be used to determine the
28 direction of motion and the range of depths of objects in the scenes. Finally
29 we show how Fourier analysis of two or more image regions may be combined to
30 estimate heading direction.
33 This talk will present current research at the undergraduate level. All are
38 <eventitem date="2004-05-26" time="5:30 PM"
39 room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
40 <short>A talk by Larry Smith</short>
43 Larry will challenge conventional assumptions about the directions of
44 computing and software. The role of AI, expert systems, communications
45 software and business applications will be presented both from a
46 functional and commercial point of view. The great gaps in the
47 marketplace will be highlighted, together with an indication of how
48 these vacant fields will become home to new empires.
52 <eventitem date="2004-05-12" time="4:30 PM"
53 room="The Comfy Lounge" title="CSC Elections">
54 <short>Come out and vote for the Spring 2004 executive!</short>
57 The Computer Science Club will be holding its elections for the Spring
58 2004 term on Wednesday, May 12. The elections will be held at 4:30 PM in
59 the Comfy Lounge, on the 3rd floor of the MC. Please remember to come out
63 We are accepting nominations for the following positions: President,
64 Vice-President, Treasurer, and Secretary. The nomination period continues
65 until 4:30 PM on Tuesday, May 11. If you are interested in running
66 for a position, or would like to nominate someone else, please email
67 cro@csclub.uwaterloo.ca before the deadline.
74 <eventitem date="2004-03-29" time="6:00 PM"
75 room="MC 4058" title="LaTeXing your work report">
76 <short>A talk by Simon Law</short>
79 The work report is a familiar chore for any co-op student. Not only is
80 there a report to write, but to add insult to injury, your report is
81 returned if you do not follow your departmental guidelines.
85 Fear no more! In this talk, you will learn how to use LaTeX and a
86 specially developed class to automatically format your work reports.
87 This talk is especially useful to Mathematics, Computer Science,
88 Electrical & Computer Engineering, and Software Engineeering co-op
89 students about to go on work term.
94 <eventitem date="2004-03-30" time="5:30 PM"
95 room="The Grad House" title="Pints with Profs!">
96 <short>Get to know your profs and be the envy of your
100 Come out and meet your professors!! This is a great opportunity to
101 meet professors for Undergraduate Research jobs or to find out who
102 you might have for future courses. One and all are welcome!
105 <p>And best of all... free food!!!</p>
109 <eventitem date="2004-03-23" time="6:00 PM"
110 room="MC4058" title="Extending LaTeX with packages">
111 <short>A talk by Simon Law</short>
114 LaTeX is a document processing system. What this means is you describe
115 the structure of your document, and LaTeX typesets it appealingly.
116 However, LaTeX was developed in the late-80s and is now showing its age.
120 How does it compete against modern systems? By being easily extensible,
121 of course. This talk will describe the fundamentals of typesetting in
122 LaTeX, and will then show you how to extend it with freely available
123 packages. You will learn how to teach yourself LaTeX and how to find
124 extensions that do what you want.
128 As well, there will be a short introduction on creating your own
129 packages, for your own personal use.
134 <eventitem date="2004-03-16" time="6:00 PM"
135 room="MC4058" title="Distributed programming for CS and Engineering
137 <short>A talk by Simon Law</short>
140 If you've ever worked with other group members, you know how difficult
141 it is to code simultaneously. You might be working on one part of your
142 assignment, and you need to send your source code to everyone else. Or
143 you might be fixing a bug in someone else's part, and need to merge in
144 the change. What a mess!
148 This talk will explain some Best Practices for developing code in a
149 distributed fashion. Whether you're working side-by-side in the lab, or
150 developing from home, these methods can apply to your team. You will
151 learn how to apply these techniques in the Unix environment using GNU
152 Make, CVS, GNU diff and patch.
157 <eventitem date="2004-03-15" time="5:30 PM"
158 room="MC4040" title="SPARC Architecture">
159 <short>A talk by James Morrison</short>
162 Making a compiler? Bored? Think CISC sucks and RISC rules?
166 This talk will run through the SPARC v8, IEEE-P1754, architecture.
167 Including all the fun that can be had with register windows and the
168 SPARC instruction set including the basic instructions, floating
169 point instructions, and vector instructions.
174 <eventitem date="2004-03-09" time="6:00 PM"
175 room="MC4062" title="Managing your home directory using CVS">
176 <short>A talk by Simon Law</short>
179 If you have used Unix for a while, you know that you've created
180 configuration files, or dotfiles. Each program seems to want its own
181 particular settings, and you want to customize your environment. In a
182 power-user's directory, you could have hundreds of these files.
186 Isn't it annoying to migrate your configuration if you login to another
187 machine? What if you build a new computer? Or perhaps you made a
188 mistake to one of your configuration files, and want to undo it?
192 In this talk, I will show you how to manage your home directory using
193 CVS, the Concurrent Versions System. You can manage your files, revert
194 to old versions in the past, and even send them over the network to
195 another machine. I'll also discuss how to keep your configuration files
196 portable, so they'll work even on different Unices, with different
202 <eventitem date="2004-03-02" time="6:00 PM"
203 room="MC4042" title="Graphing webs-of-trust">
204 <short>A talk by Simon Law</short>
207 In today's world, people have hundreds of connexions. And you can
208 express these connexions with a graph. For instance, you may wish to
209 represent the network of your friends.
213 Originally, webs-of-trust were directed acyclic graphs of people who had
214 identified each other. This way, if there was a path between you and
215 the person who want to identify, then you could assume that each person
216 along that path had verified the next person's identity.
220 I will show you how to generate your own web-of-trust graph using Free
221 Software. Of course, you can also use this knowledge to graph anything
227 <eventitem date="2004-02-18" time="7:00 PM"
228 room="DC2305" title="KW Perl Mongers">
229 <short>Perl Modules: A look under the hood</short>
232 <p>In Perl, a module is the basic unit of code-reuse. The talk will be
233 mostly a look into GD::Text::Arc, a module written to draw TrueType text
234 around the edge of a circle. The talk will consider:</p>
237 <li>using and writing object-oriented perl code</li>
238 <li>the Virtue of Laziness: or, reusing other peoples' code.</li>
239 <li>writing tests while coding</li>
240 <li>beer coasters</li>
246 <eventitem date="2004-02-05" time="3:30 PM"
247 room="MC4041" title="Constitutional Change">
248 <short>Vote to change the CSC Constitution</short>
251 <p>During the General Meeting on 19 January 2004, a proposed constitution
252 change was passed around. This change is in response to a change in the
253 MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>
255 <p>This general meeting is called to vote on this proposed change. We must
256 have quorum of 15 Full Members vote on this change. The following text was
257 presented at the CSC Winter 2004 Elections.</p>
259 <pre>We propose to make a Constitutional change on this day, 19 January 2004.
260 The proposed change is to section 3.1 of the constitution which
263 In compliance with MathSoc regulations and in recognition of the
264 club being primarily targeted at undergraduate students, full
265 membership is open to all undergraduate students in the Faculty of
266 Mathematics and restricted to the same.
268 Since MathSoc has changed its requirements for club membership, we
269 propose that it be changed to:
271 In compliance with MathSoc regulations and in recognition of the
272 club being primarily targeted at undergraduate students, full
273 membership is open to all Social Members of the Mathematics Society
274 and restricted to the same.</pre>
278 <eventitem date="2004-01-12" time="3:00 PM"
279 room="DC1301" title="InstallFest">
280 <short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
283 <p>An Installfest is an opportunity to install software on your computer.
284 People come with computers. Other people come with experience. The people
285 get together and (when all goes well) everybody leaves satisfied.</p>
287 <p>You are invited to our first installfest of the year. Come to get some
288 software or to learn more about Open Source Software and why it is relevant
289 to your life. The event is free, but you may want to bring blank CDs and/or
290 money to purchase some open source action for your computer at home.</p>
292 <p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
293 website</a> for more details.</p>
300 <eventitem date="2003-12-01" time="7:00 PM"
301 room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
302 <short> Free and Open Source software has been around for a long
303 time, even longer then shrink-wrapped code.</short>
305 <p>Free and Open Source software has been around for a long time, even
306 longer then shrink-wrapped code. It has a long and noble history in the annals
307 of education. Even more than ever, due to the drop of hardware prices and the
308 increase of worldwide communications, Free and Open Source can open new
309 avenues of teaching and doing research, not only in computer science, but in
310 other university fields as well.</p>
311 <p>Learn how Linux as an operating system can
312 run on anything from a PDA to a supercomputer, and how Linux is reducing the
313 cost of computing dramatically as the fastest growing operating system in the
314 world. Learn how other Free and Open Source projects, such as office suites,
315 audio and video editing and playing software, relational databases, etc. are
316 created and are freely available.</p>
318 <p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
319 <h3>Speaker's Biography</h3>
320 <p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
321 a non-profit association of computer vendors who wish to support and promote
322 the Linux Operating System. During his career which spans over thirty years,
323 Mr. Hall has been a programmer, systems designer, systems administrator,
324 product manager, technical marketing manager and educator. He has
325 worked for such companies as Western Electric Corporation, Aetna Life and
326 Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems,
327 and is currently funded by SGI.</p>
329 <p>He has taught at Hartford State Technical College, Merrimack College and
330 Daniel Webster College. He still likes talking to students over pizza and beer
331 (the pizza can be optional).</p>
333 <p>Mr. Hall is the author of numerous magazine and newspaper articles, many
334 presentations and one book, "Linux for Dummies".</p>
336 <p>Mr. Hall serves on the boards of several companies, and several non-profit
337 organizations, including the USENIX Association.</p>
339 <p>Mr. Hall has traveled the world speaking on the benefits of Open Source
340 Software, and received his BS in Commerce and Engineering from Drexel
341 University, and his MSCS from RPI in Troy, New York.</p>
343 <p>In his spare time maddog is working on his retirement project:</p>
345 <center>maddog's monastery for microcomputing and microbrewing</center>
350 <eventitem date="2003-11-05" time="4:30 PM - 8:30 PM"
351 room="Grad House Pub (Green Room)" title="CS Pints With Profs">
352 <short>Come have a pint with your favourite CS profs!</short>
354 <p>Come meet CS profs in a relaxed atmosphere this Wednesday at
355 the Grad House (by South Campus Hall). This is your chance to meet those CS profs
356 you enjoyed in lectures in person, have a chat with them
357 and find out what they're doing outside the lecture halls.</p>
359 <p>We'll be providing free food, including hamburgers and nachos,
360 and the Grad House offers a great selection of drinks.</p>
362 <p>If you'd like to invite a particular prof, stop by on the third
363 floor of the MC (outside of the Comfy) to pick up an invitation.</p>
365 <p>Persons of all ages are welcome!</p>
370 <eventitem date="2003-10-21" time="4:30 PM - 5:30 PM" room="MC2065"
371 title=".NET & Linux: When Worlds Collide">
372 <short>A talk by James Perry</short>
375 <p>.NET is Microsoft's new development platform, including amongst
376 other things a language called C# and a class library for various
377 operating system services. .NET aims to be portable, although it is
378 currently mostly only used on Windows systems.</p>
380 <p>With the full backing of Microsoft, it seems unlikely that .NET
381 will disappear any time soon. There are several efforts underway to
382 bring .NET to the GNU/Linux platform. Hosted by the Computer Science
383 Club, this talk will discuss a number of the issues surrounding .NET
389 <eventitem date="2003-10-22" time="4:30 PM - 5:30 PM" room="MC4061"
390 title="Real-Time Graphics Compilers">
391 <short>Sh is a GPU metaprogramming language developed at the UW
392 Computer Graphics Lab</short>
395 <p>Sh is a GPU metaprogramming language developed at the University of
396 Waterloo Computer Graphics Lab. It allows graphics programmers to
397 write programs which run directly on the GPU (Graphics Processing
398 Unit) using familiar C++ syntax. Furthermore, it allows
399 metaprogramming of such programs, that is, writing programs which
400 generate other programs, in an easy and natural manner.</p>
402 <p>This talk will give a brief overview of how Sh works, the design of
403 its intermediate representation and the (still somewhat simplistic)
404 optimizer that the current reference implementation has and problems
405 with applying traditional compiler optimizations.</p>
407 <p>Stefanus Du Toit is an undergraduate student at the University of
408 Waterloo. He is also a Research Assistant for Michael McCool from the
409 University of Waterloo Graphics Lab. Over the Summer of 2003 Stefanus
410 reimplemented the Sh reference implementation and designed and
411 implemented the current Sh optimizer.</p>
415 <eventitem date="2003-10-17" time="3:00 PM" room="MC3001 (Comfy)"
416 title="Poster Team Meeting">
417 <short>More free pizza from the Poster Team</short>
419 <p>Are you interested in getting involved in the Computer Science
422 <p>Come on out to the second meeting of our Poster Team, a bunch of
423 students helping out with promotion for our events. The agenda for
424 this meeting will include painting posters, designing event
425 invitations, and organizing poster runs. Once again, we will be
426 serving free pizza!</p>
428 <p>See you there!</p>
432 <eventitem date="2003-10-16" time="4:00 PM - 5:30 PM" room="MC2037"
433 title="UNIX 103: Development Tools">
434 <short>GCC, GDB, Make</short>
436 <p>This tutorial will provide you with a practical introduction to GNU
437 development tools on Unix such as the gcc compiler, the gdb debugger
438 and the GNU make build tool.</p>
440 <p>This talk is geared primarily at those mostly unfamiliar with these
441 tools. Amongst other things we will introduce:</p>
444 <li>gcc options, version differences, and peculiarities</li>
445 <li>using gdb to debug segfaults, set breakpoints and find out what's
447 <li>tiny Makefiles that will compile all of your 2nd and 3rd year CS
451 <p>If you're in second year CS and unfamiliar with UNIX development it
452 is highly recommended you go to this talk. All are welcome, including
453 non-math students.</p>
459 <eventitem date="2003-10-02" time="4:00 PM - 5:30 PM" room="MC2037"
460 title="UNIX 101: Text Editors">
461 <short>vi vs. emacs: The Ultimate Showdown</short>
464 Have you ever wondered how those cryptic UNIX text editors work? Have you
465 ever woken up at night with a cold sweat wondering "Is it CTRL-A, or CTRL-X
466 CTRL-A?" Do you just hate pico with a passion?</p>
468 <p>Then come to this tutorial and learn how to use vi and emacs!</p>
470 <p>Basic UNIX commands will also be covered. This tutorial will be especially
471 useful for first and second year students.</p>
476 <eventitem date="2003-10-06" time="4:00 PM" room="MC3001 (Comfy)"
477 title="Poster Team Meeting">
478 <short>Join the Poster Team and get Free Pizza!</short>
481 <li>Do you like computer science?</li>
482 <li>Do you like posters?</li>
483 <li>Do you like free pizza?</li>
485 <p>If the answer to one of these questions is yes, then come
486 out to the first meeting of the Computer Science Club Poster Team! The
487 CSC is looking for interested students to help out with promotion and
488 publicity for this term's events. We promise good times and free
493 <eventitem date="2003-09-17" time="4:30 PM" room="MC3001 (Comfy)"
494 title="CSC Elections">
495 <short>CSC Fall 2003 Elections</short>
497 <p>Elections will be held on Wednesday, September 17, 2003 at 4:30 PM in the
499 Comfy Lounge, MC3001.</p>
501 <p>I invite you to nominate yourself or others for executive positions,
502 starting immediately. Simply e-mail me at cro@csclub.uwaterloo.ca
503 with the name of the person who is to be nominated and the position
504 they're nominated for.</p>
506 <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
508 <p>Positions open for elections are:</p>
510 <ul><li>President: Organises the club, appoints committees, keeps everyone busy.
511 If you have lots of ideas about the club in general and like bossing
512 people around, go for it!</li>
514 <li>Vice President: Organises events, acts as the president if he's not
515 available. If you have lots of ideas for events, and spare time, go
518 <li>Treasurer: Keeps track of the club's finances. Gets to sign cheques
519 and stuff. If you enjoy dealing with money and have ideas on how to
520 spend it, go for it!</li>
522 <li>Secretary: Takes care of minutes and outside correspondence. If you
523 enjoy writing things down and want to use our nifty new letterhead
524 style, go for it!</li></ul>
526 <p>Nominations will be accepted until Tuesday, September 16 at 4:30 PM.</p>
528 <p>Additionally, a Sysadmin will be appointed after the elections. If you
529 like working with unix systems and have experience setting up and
530 maintaining them, go for it!</p>
532 <p>I hope that lots of people will show up; hopefully we'll have a great
533 term with plenty of events. We always need other volunteers, so if you
534 want to get involved just talk to the new exec after the
535 meeting. Librarians, webmasters, poster runners, etc. are always
538 <p>There will also be free pop.</p>
540 <p>Memberships can be purchased at the elections or at least half an hour
541 prior to at the CSC. Only undergrad math members can vote, but anyone can
548 <eventitem date="2003-07-31" time="4:30 PM" room="MC4064"
549 title="LaTeX and Work Reports">
550 <short>Writing beautiful work reports</short>
553 <p>The work report is a familiar chore for any co-op student. Not only is
554 there a report to write, but to add insult to injury, your report is
555 returned if you do not follow your departmental guidelines.</p>
557 <p>Fear no more! In this talk, you will learn how to use LaTeX and a
558 specially developed class to automatically format your work reports.
559 This talk is especially useful to Mathematics, Computer Science,
560 Electrical & Computer Engineering, and Software Engineeering co-op
561 students about to go on work term.</p>
564 href="http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/">http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/</a></p>
569 <eventitem date="2003-07-24" time="4:30 PM" room="MC2037"
570 title="vi: the visual editor">
571 <short>It's not 6.</short>
574 <p>In 1976, a University of California Berkeley student by the name of
575 Bill Joy got sick of his text editor, ex. So he hacked it such that
576 he could read his document as he wrote it. The result was "vi", which
577 stands for VIsual editor. Today, it is shipped with every modern
578 Unix system, due to its global influence.</p>
580 <p>In this talk, you will learn how to use vi to edit documents
581 quickly and efficiently. At the end, you should be able to:</p>
584 <li>Navigate and search through documents</li>
585 <li>Cut, copy, and paste across documents</li>
586 <li>Search and replace regular expressions</li>
589 <p>If you do not have a Math computer account, don't panic; one will be lent
590 to you for the duration of this class.</p>
595 <eventitem date="2003-07-24" time="3:00 PM" room="CSC Office" title="July
597 <short> See Abstract for minutes </short>
600 --paying Simon for Sugar
603 Expense this to MathSoc in lieu of foreign speaker.
605 --We currently have (including CD-R and pop-income not
606 currently in safe) $972.85
607 -We have $359.02 on budget that we can expense to MathSoc.
609 --We got MEF money for books and video card. Funding for
610 wireless microphone is dependent on whether MFCF is
612 -Funding for casters was denied.
613 -Shopping for the Video card.
614 -Expecting it after auguest (Stefanus shopping for it.)
615 -Will have to hear back regarding the microphone, best to
616 delay that now, discuss it with MEF.
617 -Better to do it this term, so it doesn't get lost.
618 -Let MFCF know about this concern.
619 -Regarding books, can be done anytime before September.
622 -Generally, Jim Eliot talk when really well.
623 -Apparently he was generally offensive.
624 -When was the LaTeX talk? End of the month.
625 -Kegger at Jim's place on the 16th.
627 --Getting people in on the 6th, 7th, 8th for csc commercials
629 -Hang out in here, and he'll make a CSC commercial.
630 -Co-ordinate when everyone should be in here, so we can email Jason.
633 -CEO needs it's database changed to use ISBN as a primary key.
634 -Needs functionality to take out/return books.
636 --Mark just entered financial stuff into GNUcash
638 --Choose CRO for next term.
639 -Stefanus has expressed desire not to be CRO.
640 -Gary Simmons was suggested (and he accepted)
643 --Mike Biggs has to get here naked.
644 -Four unanimous votes.
645 -Nakedness only applies to getting here, not being here.
649 ACTION ITEM: Biggs and Cass
650 -get labelmaker tape, masking tape
651 whiteboard makers, coloured paper, CD sleeves
652 -keep reciepts for CSC office expenses.
654 How is the progess on allowing executives and voters to be non-math
656 -The vote is coming up Monday.
657 -Proposal: Anyone who is a paying member can be a member
658 -So you can either do two things:
660 Get your faculty society to recognize CSC as a club.
662 Stefanus wanted to mention that we shoudl talk to Yolanda,
663 Craig or Louie about a EYT event for frosh week.
665 -Sugar Mountain trying to hook all the Frosh
669 Reminder for Next Year's executive.
670 -September 16th @ 5:00pm, get a table for Clubs day, and 17th
671 and 18th, maintain the booth (full day events).
674 -There should be executive before then
676 Note: There needs to be a private section in the CSC Procedures Manual.
677 (Only accessible by shell)
682 -Talk to Plantops about:
690 <eventitem date="2003-06-27" time="2:30 PM" room="DC1302"
691 title="Friday Flicks">
692 <short> SIGGRAPH Electronic Theatre Showing </short>
695 SIGGRAPH is the ACM's Special Interest Group for Graphics and
696 simultaneously the world's largest graphics conference and
697 exhibition, where the cutting edge of graphics research is presented
700 With support from UW's Computer Graphics Lab, the CSC invites you to
701 capture a glimpse of SIGGRAPH 2002. We will be presenting the
702 Electronic Theatre showings from 2002, demonstrating the best of the
703 animated, CG-produced movies presented at SIGGRAPH.
704 </p><p> Don't miss this free showing!</p>
707 <eventitem date="2003-07-08" time="4:00 PM" room="MC2065"
708 title="Mainframes and Linux">
709 <short>A talk by Jim Elliott. Jim is responsible for IBM's in Open Source
710 activities and IBM's mainframe operating systems for Canada and the
714 Linux and Open Source have become a significant reality in the
715 working world of Information Technology. An indirect result has been a
716 "rebirth" of the mainframe as a strategic platform for enterprise
717 computing. In this session Jim Elliott, IBM's Linux Advocate, will provide
718 an overview of these technologies and an inside look at IBM's participation
719 in the community. Jim will examine Linux usage on the desktop, embedded
720 systems and servers, a reality check on the common misconceptions that
721 surround Linux and Open Source, and an overview of the history and current
722 design of IBM's mainframe servers.</p>
724 Jim Elliott is the Linux Advocate for IBM Canada. He is responsible
725 for IBM's participation in Linux and Open Source activities and IBM's
726 mainframe operating systems in Canada and the Caribbean. Jim is a popular
727 speaker on Linux and Open Source at conferences and user groups across the
728 Americas and Europe and has spoken to over 300 organizations over the past
729 three years. Over his 30 years with IBM he has been the co-author of over
730 15 IBM publications and he also coordinated the launch of Linux on IBM
731 mainframes in the Americas. In his spare time, Jim is addicted to reading
732 historical mystery novels and travel to their locales.
734 <p><a href="http://www.vm.ibm.com/devpages/jelliott/events.html">Slides</a>
738 <eventitem date="2003-07-04" time="3:30 PM" room="University of Guelph"
740 <short>Come Visit the University of Guelph's Computer Science Club</short>
742 The University of Waterloo Computer Science Club is going to visit the
743 University of Guelph Computer Science Club. There will be a talk given
744 as well as dinner with a fun social atmosphere.</p><p>Drivers Wanted</p>
745 <p>Cancelled -- sorry Guelph cancelled on us.</p>
748 <eventitem date="2003-07-17" time="4:30 PM" room="MC4064"
750 <short>Metaprogramming your way to stunning effects.</short>
753 Modern graphics processors allow developers to upload small "shader
754 programs" to the GPU, which can be executed per-vertex or even
755 per-pixel during the rendering. Such shaders allow stunning effects to
756 be performed in real-time, but unfortunately aren't very easy to
757 program since one generally has to write them at the assembly level.
759 Recently a few high-level languages for shader programming have become
760 available. Sh, a result of research at UW, is one such language. It
761 allows programming powerful shaders in simple and intuitive ways. Sh
762 is particularily interesting because of the way it is
763 implemented. Instead of coming up with a language grammar and writing
764 a full-fledged compiler, Sh is implemented as a C++ library, and
765 shader programs are effectively written in C++. The actual compilation
766 then takes place in a manner similar to JIT (Just-in-time)
767 compilers. This has many advantages over the traditional approach,
768 including C++'s familiar syntax for users, and much less work for the
771 In this talk I will give an overview of GPUs and the Sh language as
772 well as some interesting details on how Sh was implemented.
773 </p><p> <!-- Is there a bio tag -->
774 Stefanus Du Toit is a research assistant at the University of
775 Waterloo. He has implemented the current version of Sh from scratch
776 and is actively developing it under supervision of Michael McCool, the
777 original designer of the language.
781 <eventitem date="2003-06-19" time="4:30 PM" room="MC2037"
782 title="vi: the visual editor">
783 <short>It's not 6.</short>
786 <p>In 1976, a University of California Berkeley student by the name of
787 Bill Joy got sick of his text editor, ex. So he hacked it such that
788 he could read his document as he wrote it. The result was "vi", which
789 stands for VIsual editor. Today, it is shipped with every modern
790 Unix system, due to its global influence.</p>
792 <p>In this talk, you will learn how to use vi to edit documents
793 quickly and efficiently. At the end, you should be able to:</p>
796 <li>Navigate and search through documents</li>
797 <li>Cut, copy, and paste across documents</li>
798 <li>Search and replace regular expressions</li>
801 <p>If you do not have a Math computer account, don't panic; one will be lent
802 to you for the duration of this class.</p>
807 <eventitem date="2003-06-12" time="3:30 PM" room="MC3036 CSC Office" title="June 12 Exec Meeting">
808 <short>Have an issue that should be brought up? We'd love to hear it!</short>
812 Budget: All the money we requested
813 --No money from Pints from Profs
814 --MathSoc has promised us $1250
816 Feedback from Completed Events
817 UNIX Talks: 17 people for first
818 --12 people for second
824 --People Jim didn't know talked to him for 1/2 hour
826 History of CSC talk went well
827 --Good variety of people
831 --Only 1 E& CE prof
833 --Jim will harrass the profs at the School of CS Council meeting.
835 We're starting to fall behind in planning
839 --Might have to move RSB back
840 --International site has a few test samples
841 --Stefanus had some ideas
842 --Coding will probably take an afternoon/evening
843 --We need volunteers to run the competition
844 --We have volunteers to code: Phil and Stefanus
846 ACTION ITEM: Phil and Stefanus
847 --code whatever you volunteered to code for.
849 --Mike intends to visit classes and directly advertise
850 --Email Christina Hotz
852 --GH guy: Mike has an abstract, will have posters by tomorrow
855 --Mathnet, Hackers, Wargames, Tron
856 --Mike will get a room
857 --Will be closed member
859 Mike McCool is offering rooms for showing SIGGRAPH
861 -check with Mike McCool.
864 -Make posters for Movie Nights
866 When is other movie night? (Will plan some time in July)
868 Who is our foreign speaker?
869 Action Item: jelliot@ca.ibm.com (Check name first) about
870 getting a foreign speaker -- Note: Has already been contacted.
872 Simon got money from Engsoc
874 Cass meeds coloured paper (CSC is out)
876 ACTION ITEM: Cass and Mark
877 --get labelmaker tape, masking tape,
878 whiteboard makers, coloured paper
879 --keep reciepts for CSC office expenses
881 NOTICE: Mike is now Imapd
883 Simon distibuted budget list
884 Mark got the money from Mathsoc for last budget, deposited it.
887 --Get MEF funding by July 4th (equipment)
889 --Get WEEF funding by June 27th (book)
891 Jim still working on allowing executives and voters to be
894 We get free photocopying from MathSoc
896 --write down code for free photocopying from MathSoc
898 Simon has been able to get into the cscdisk account, still
899 looking into getting into the cscceo account.
901 Damien got an e-mail stating that the files for cscdisk are
905 --provide SSH key to Phil for getting into cscdisk, cscceo, etc...
906 --Renumber bootup scripts for sugar and powerpc so that they
909 ACTION ITEM: Mike needs to do all the plantops stuff again.
911 ACTION ITEM: Mike -- "Stapler if you say please" sign.
913 CVS Tree for CEO has been exported.
914 Damien has volunteered to finish CEO (found by Cass)
916 All books with barcodes have been scanned
917 All books without barcodes need to be bar-coded.
920 --Find a Credit-card with a $500 or less limit.
922 Note: There needs to be a private section in the
923 CSC Procedures Manual. (Only accessible by shell)
925 Stefanus Wanted to mention that we should talk to
926 Yolanda, Craig or Louie about a EYT event for Frosh Week.
931 <eventitem date="2003-06-10" time="4:30 PM" room="MC2066"
932 title="A Brief History of Computer Science">
935 <p>War, insanity, espionage, beauty, domination, sacrifice, and tragic
936 death... not what one might associate with the history of computer
937 science. In this talk I will focus on the origin of our discipline in
938 the fields of engineering, mathematics, and science, and on the
939 complicated personalities that shaped its evolution. No advanced
940 technical knowledge is required.</p>
945 <eventitem date="2003-06-09" time="5:00 - 9:00 PM" room="The Grad House"
946 title="Pints with Profs!">
947 <short>Get to know your profs and be the envy of your friends!</short>
950 <p>Come out and meet your professors!! This is a great opportunity to
951 meet professors for Undergraduate Research jobs or to find out who you might
952 have for future courses. One and all are welcome!</p>
954 <p>Best of all... free food!!!</p>
959 <eventitem date="2003-05-29" time="4:30 PM" room="MC2037"
960 title="Unix 101: First Steps With Unix">
961 <short>Learn Unix and be the envy of your friends!</short>
964 <p>This is the first in a series of seminars that cover the use of the
965 Unix Operating System. Unix is used in a variety of applications, both
966 in academia and industry. We will provide you with hands-on experience
967 with the Math Faculty's Unix environment in this seminar.</p>
969 <p>Topics that will be discussed include:</p>
972 <li>Navigating the Unix environment</li>
973 <li>Using common Unix commands</li>
974 <li>Using the PICO text editor</li>
975 <li>Reading electronic mail and news with PINE</li>
978 <p>If you do not have a Math computer account, don't panic; one will be lent
979 to you for the duration of this class.</p>
984 <eventitem date="2003-06-05" time="4:30 PM" room="MC2037"
985 title="Unix 102: Fun With Unix">
986 <short>Talking to your Unix can be fun and profitable</short>
989 <p>This is the second in a series of seminars that cover the use of the
990 Unix Operating System. Unix is used in a variety of applications, both in
991 academia and industry. We will provide you with hands-on experience with
992 the Math Faculty's Unix environment in this tutorial.</p>
994 <p>Topics that will be discussed include:</p>
997 <li>Interacting with Bourne and C shells</li>
998 <li>Editing text with the vi text editor</li>
999 <li>Editing text with the Emacs display editor</li>
1000 <li>Multi-tasking and the screen multiplexer</li>
1003 <p>If you do not have a Math computer account, don't panic; one will be
1004 lent to you for the duration of this class</p>
1009 <eventitem date="2003-06-12" time="4:30 PM" room="MC2037"
1010 title="Unix 103: Scripting Unix">
1011 <short>You too can be a Unix taskmaster</short>
1014 <p>This is the third in a series of seminars that cover the use of the
1015 Unix Operating System. Unix is used in a variety of applications, both in
1016 academia and industry. We will provide you with hands-on experience with
1017 the Math Faculty's Unix environment in this tutorial.</p>
1019 <p>Topics that will be discussed include:</p>
1022 <li>Shell scripting</li>
1023 <li>Searching through text files</li>
1024 <li>Batch editing text files</li>
1027 <p>If you do not have a Math computer account, don't panic; one will be
1028 lent to you for the duration of this class</p>
1033 <eventitem date="2003-05-22" time="4:30 PM" room="MC3036 CSC Office" title="May 22 Exec Meeting">
1034 <short>The execs discuss what needs discussion</short>
1038 Minutes for CSC Exec Meeting
1042 * Add staff to burners group.
1043 -- Only office staff (people who do stuff) on burners list
1044 -- No objections from executives
1046 * We still need a webmaster, imapd
1047 -- Action Item: Mike
1048 --Check for pop delivery services (Like Grocery Gateway)
1049 so that we can replace imapd with an automated cronjob
1050 -- If this gets implemented, we must make sure that
1051 someone is around to receive the pop whenever it is
1056 -- Make sure execs receive a copy of the proposed budget
1058 -- Look into claiming money from Mathsoc for the last
1060 --Will be looked over the week after next Monday at the Mathsoc
1062 --June 27th is the WEF (Engineering Endowment Fund) deadline
1063 --EngSoc proposal for donations by the end of the month
1064 -- Around 15 events planned
1066 --CS Departmant will pay for flight
1067 -- We can pay local expenses
1071 *Changes in the MathSoc Clubs Policy
1072 Action Item: Jim and Stefanus
1073 --Bring thus up with MathSoc
1074 --Might be good to talk to Bioinformatics about this, as
1075 they have science faculty members to take care of as well.
1076 --Major issue: People who revoke their Mathsoc fees can still be
1078 --We want it so that only people who have paid dues to Mathsoc
1080 --Execs should not take back fees, as that is bad form.
1081 --All execs unanimously agreed with this proposal
1083 *Confirming that we have free printing and photocopying
1085 --Does Faculty of Math billing code apply to CSC
1086 (as Faculty of Math department?)
1087 -- Procedures manual has a billing code, but it should
1089 -- Ask MUO, then Shirley after that.
1091 --Apparently there is a special Watcard that provides
1092 free printing from MFCF
1093 --We do not know what account it is mapped to,
1096 * Getting csc_disk, csc, csc_ceo accounts on undergrad to work again.
1098 -- Get csc-disk back up for student use.
1099 -- What group permissions do we need?
1100 -- CSC-Disk should be used as a repository for custom
1101 window managers, Mozilla, etc... (selling factor for
1103 -- We should also have an announcement (MOTD, perhaps?)
1104 that we are providing and supporting this software.
1105 --Consider: Having university-wide accessible
1106 binaries might be a pain, as different machines
1107 might require different compilations.
1108 -- CSC-Disk is full of user data. Should that be blown away?
1110 *Getting locker #7 from MathSoc (Don't we already have lockers 788 and
1112 --Why were the locks snipped? (Bring up at council meeting)
1113 --We would prefer one combo-lock and one key-lock.
1115 * Review of the CSC office organization
1117 --Give Mike sudo access for shutdown
1118 --Will be rewiring stuff on Saturday
1119 --involves re-plugging machines
1121 --Get rubber wheels for chairs
1124 -- Ask PlantOps about:
1126 --Installing Electronic Lock (asap)
1127 --According to Faculty of Math,
1128 we shouldn't need keys.
1129 --Currently, we still need keys
1130 --It is kosher to install Electronic lock
1131 --This provides access right control as
1132 compared to key-control.
1133 --Might be long term project.
1134 --Will green men do it?
1135 --Steam-clean chairs (at least once a term)
1137 --Making ugly wall prettier
1138 --PlantOps knows about office
1139 organization, making environment better.
1140 --Whiteboards need to be put up
1141 --Proposal: Cork-board on pillar (no objections)
1142 --Metal frames on Whiteboard will be in least annoying place
1144 *Do we provide public stapler access?
1145 --People are often unappreciative and rude
1146 --Sign - "Stapler if you say please" -- Unanimously voted
1151 --Find out where to get CSC sign before Monday so we
1152 can claim it in old budget.
1154 * Librarian's Report
1156 --Find perl volunteer to finish CEO
1157 --Force Stefanus to export CVS tree and put onto Peri
1159 --Books were scanned into system with help of Mark
1160 --All books with valid barcodes entered into system on
1162 --Books without valid barcodes are not in system
1163 --Someone needs to do it
1164 --Plan is to implement Dewey decimal system
1165 --May be inefficient as all books are about CS
1166 --We will figure out a system later
1167 --No plans to purchase new books
1168 --Librarian's Request: Office Staff should not lend out books
1169 that do not have barcodes (No objects to request)
1170 --We are still using /media/iso/request to track books
1171 --Should be charge late fees for books?
1172 --We should have money in budget for repairing,maintaining books
1173 --Before spending money on maintaining books, check if DC will
1175 --will it be cheaper/easier/better?
1177 *Setting up extra quota for fun and profit.
1178 -- We don't implement quota properly right now
1179 -- Low demand for extra quota
1180 -- Counterpoint: Old CSC made tons of money
1181 -- Counter-counter-point: It's not that necessary for extra
1183 -- Executives voted against proposal.
1185 *Jim will spam with an update about the term
1186 --Consider making it opt-in
1187 --One email from a service you are using should be considered
1188 reasonable mass mailing
1190 *Should Jim bring anything up at the MathSoc meeting?**
1193 * Student branches for ACM and IEEE
1195 --Contact IEEE Computing Society in UW and ask if they want
1196 to merge or transfer society to us
1197 --Simon volunteers to be put down as exec for ACM
1198 --ACM rules state requirement that exec is a ACM member
1199 --Do we renew Calum's ACM membership?
1200 --Yes (3 Yes; 1 No; 1 Abstention)
1201 --ACM membership money in budget
1202 --ACM Student chapter form has not come in
1204 * What to do with the donated Procedures Manual?
1205 --Term Task for webpage:
1206 --Put procedures manual on web-page.
1207 --Merge with current manual
1208 --We don't have a hard copy
1209 --Would be a good thing to read.
1210 --Many parts need updating
1216 <eventitem date="2003-05-14" time="4:30 PM" room="MC3001 Comfy Lounge"
1217 title="Spring 2003 Elections">
1218 <short>Come on out and vote for your exec!</short>
1220 <p>Elections will be held on Wednesday, May 14, 2003 at 4:30 PM in the
1221 Comfy Lounge, MC3001.</p>
1223 <p>I invite you to nominate yourself or others for executive positions,
1224 starting immediately. Simply e-mail me at sjdutoit@uwaterloo.ca or
1225 cro@csclub.uwaterloo.ca with the name of the person who is to be
1226 nominated and the position they're nominated for.</p>
1228 <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
1230 <p>Positions open for elections are:</p>
1234 President: Organises the club, appoints committees, keeps everyone busy.
1235 If you have lots of ideas about the club in general and like bossing
1236 people around, go for it!
1240 Vice President: Organises events, acts as the president if he's not
1241 available. If you have lots of ideas for events, and spare time, go
1246 Treasurer: Keeps track of the club's finances. Gets to sign cheques
1247 and stuff. If you enjoy dealing with money and have ideas on how to
1248 spend it, go for it!
1252 Secretary: Takes care of minutes and outside correspondence. If you
1253 enjoy writing things down and want to use our nifty new letterhead
1258 <p>Nominations will be accepted until Tuesday, May 13 at 4:30 PM.</p>
1260 <p>Additionally, a Sysadmin will be appointed after the elections. If you
1261 like working with unix systems and have experience setting up and
1262 maintaining them, go for it!</p>
1264 <p>I hope that lots of people will show up; hopefully we'll have a great
1265 term with plenty of events. We always need other volunteers, so if you
1266 want to get involved just talk to the new exec after the
1267 meeting. Librarians, webmasters, poster runners, etc. are always
1270 <p>There will also be free pop, and if I remember, timbits :).</p>
1272 <p>Memberships can be purchased at the elections. Only undergrad math
1273 members can vote, but anyone can become a member.</p>
1275 <p>Don't forget! Mark it on your calendar/wrist watch/PDA/brain implant!</p>
1280 <!-- Winter 2003 -->
1282 <eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
1283 title="Unix 101 Tutorial">
1284 <short>Learn Unix and be the envy of your friends!</short>
1287 <p>This is the first in a series of seminars that cover the use of the
1288 UNIX Operating System. UNIX is used in a variety of applications, both
1289 in academia and industy. We will provide you with hands-on experience
1290 with the Math Faculty's UNIX environment in this seminar.</p>
1292 <p>Topics that will be discussed include:</p>
1295 <li> Navigating the UNIX environment</li>
1296 <li> Using common UNIX commands</li>
1297 <li>Using the PICO text editor</li>
1298 <li>Reading electronic mail and news with PINE</li>
1301 <p>If you do not have a Math computer account, don't panic; one will be lent
1302 to you for the duration of this class.</p>
1307 <eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
1308 title="Unix 102 Tutorial">
1309 <short>Learn more Unix and be the envy of your friends!</short>
1312 <p>Abstract to come soon.</p>
1317 <eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
1318 title="Unix 103 Tutorial">
1319 <short>Learn more Unix and be the envy of your friends!</short>
1322 <p>Abstract to come soon. </p>
1327 <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
1328 title="W03 Elections">
1329 <short>Come out and vote for the new exec!</short>
1332 <p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
1333 MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
1334 January 2) until 4:30 PM of the day before elections (Sunday, January 12).
1335 In order to nominate someone you can either e-mail me directly, by depositing
1336 a form with the required information in the CSC mailbox in the Mathsoc office
1337 or by writing the nomination and clearly marking it as such on the large
1338 whiteboard in the CSC office. E-mail is probably the best choice.
1339 Please include the name of the person to be nominated as well as the position
1340 you wish to nominate them for.</p>
1342 <p>Candidates must be full members of the club. This means they must have paid
1343 their membership for the given term and (due to recent changes in the
1344 constitution) must be full-time undergraduate math students.
1345 The same requirements hold for those voting. Please bring your Watcard to
1346 the elections so that I can verify this. I will have a list of members with
1349 <p>The positions open are:</p>
1351 <p><b>President</b> -- appoints all commitees of the club, calls and presides at all
1352 meetings of the club and audits the club's financial records. Really, this
1353 is the person in charge.</p>
1355 <p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
1356 plans and coordinates events with the programmes committee and assumes any
1357 other duties delegated by the President.
1358 This is a really fun job if you enjoy coordinating events!</p>
1360 <p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
1361 A fairly light job, good choice if you just want to see what being an exec
1364 <p><b>Treasurer</b> -- maintains all the finances of the club.
1365 If you like money and keeping records, this is the job for you!</p>
1367 <p>Additionally a Systems Administrator will be picked by the new executive.</p>
1369 <p>Last term was a great term for the CSC -- many events, some office renovations
1370 and a much improved image were all part of it. I hope to see the next term's
1371 exec continue this. If you're interested in seeing this happen, do consider
1372 going for a position, or helping out as office staff or on one of the
1375 <p>Anyways, hopefully I'll see many of you at the elections.
1376 Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
1378 <p>If you have any further questions don't hesitate to contact the CRO,
1379 Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
1383 <eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
1384 title="Regular Expressions">
1385 <short>Find your perfect match</short>
1388 <p>Stephen Kleene developed regular expressions to describe what he
1389 called <q>the algebra of regular sets.</q> Since he was a pioneering
1390 theorist in computer science, Kleene's regular expressions soon made
1391 it into searching algorithms and from there to everyday tools.</p>
1393 <p>Regular expressions can be powerful tools to manipulate text.
1394 You will be introduced to them in this talk. As well, we will go
1395 further than the rigid mathematical definition of regular
1396 expressions, and delve into POSIX regular expressions which are
1397 typically available in most Unix tools.</p>
1402 <eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
1403 title="sed & awk">
1404 <short>Unix text editing</short>
1407 <p><i>sed</i> is the Unix stream editor. A powerful way to
1408 automatically edit a large batch of text. <i>awk</i> is a
1409 programming language that allows you to manipulate structured data
1410 into formatted reports.</p>
1412 <p>Both of these tools come from early Unix, and both are still
1413 useful today. Although modern programming languages such as Perl,
1414 Python, and Ruby have largely replaced the humble <i>sed</i> and
1415 <i>awk</i>, they still have their place in every Unix user's
1421 <eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
1422 title="LaTeX: A Document Processor">
1423 <short>Typesetting beautiful text</short>
1426 <p>Unix was one of the first electronic typesetting platforms. The
1427 innovative AT&T <i>troff</i> system allowed researches at Bell
1428 Labs to generate high quality camera-ready proofs for their papers.
1429 Later, Donald Knuth invented a typesetting system called
1430 T<small>E</small>X, which was far superior to other typesetting
1431 systems in the 1980s. However, it was still a typesetting language,
1432 where one had to specify exactly how text was to be set.</p>
1434 <p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
1435 for the T<small>E</small>X system that allows an author to describe
1436 his document's function, thereby typesetting the text in an
1437 attractive and correct way. In addition, one can define semantic
1438 tags to a document, in order to describe the meaning of the
1439 document; rather than the layout.</p>
1444 <eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
1445 title="LaTeX: Reports">
1446 <short>Writing reports that look good.</short>
1449 <p>Work term reports, papers, and other technical documents can be
1450 typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
1451 effect. In this session, I will provide examples on how to typeset
1452 tables, figures, and references. You will also learn how to make
1453 tables of contents, bibliographics, and how to create footnotes.</p>
1455 <p> I will also examine various packages of
1456 L<sup><small>A</small></sup>T<small>E</small>X that can help you
1457 meet requirements set by users of inferior typesetting systems.
1458 These include double-spacing, hyphenation and specific margin
1464 <eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
1465 title="LaTeX: Beautiful Mathematics">
1466 <short>LaTeX => fun</short>
1469 <p>It is widely acknowledged that the best system by which to
1470 typeset beautiful mathematics is through the T<small>E</small>
1471 typesetting system, written by Donald Knuth in the early 1980s.</p>
1473 <p>In this talk, I will demonstrate
1474 L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
1475 elegant mathematical expressions.</p>
1480 <eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
1481 title="The BSD License Family">
1482 <short>Free for all</short>
1485 <p>Before the GNU project ever existed, before the phrase
1486 "Free Software" was ever coined, students and researchers
1487 at the University of California, Berkeley were already
1488 practising it. They had acquired the source cdoe to a
1489 little-known operating system developed at AT&T
1490 Bell Laboratories, and were creating improvments at a
1493 <p>These improvements were sent back to Bell Labs, and
1494 shared to other Universities. Each of them were licensed
1495 under what is now known as the "Original BSD license". Find
1496 out what this license means, its implications, and what are
1497 its decendents by attending this short talk.</p>
1502 <eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
1503 title="The GNU General Public License">
1504 <short>The teeth of Free Software</short>
1507 <div style="font-style: italic"><blockquote>
1508 The licenses for most software are designed to take away your
1509 freedom to share and change it. By contrast, the GNU General
1510 Public License is intended to guarantee your freedom to share and
1511 change free software---to make sure the software is free for all
1514 <div style="text-align:right">--- Excerpt from the GNU GPL</div>
1517 <p> The GNU General Public License is one of the most influencial
1518 software licenses in this day. Written by Richard Stallman for the
1519 GNU Project, it is used by software developers around the world to
1520 protect their work.</p>
1522 <p>Unfortunately, software developers do not read licenses
1523 thoroughly, nor well. In this talk, we will read the entire GNU GPL
1524 and explain the implications of its passages. Along the way, we
1525 will debunk some myths and clarify common misunderstandings.</p>
1527 <p>After this session, you ought to understand what the GNU GPL
1528 means, how to use it, and when you cannot use it. This session
1529 should also give you some insight into the social implications of
1535 <eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
1537 <short>Give your documents more markup</short>
1540 <p>XML is the <q>eXtensible Markup Language,</q> a standard
1541 maintained by the World Wide Web Consortium. A descendant of IBM's
1542 SGML. It is a metalanguage which can be used to define markup
1543 languages for semantically describing a document.</p>
1545 <p>This talk will describe how to generate correct XML documents,
1546 and auxillary technologies that work with XML.</p>
1551 <eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
1553 <short>Transforming your documents</short>
1556 <p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
1557 a language for transforming XML documents into other XML
1560 <p>XSLT is used to manipulate XML documents into other forms: a sort
1561 of glue between data formats. It can turn an XML document into an
1562 XHTML document, or even an HTML document. With a little bit of
1563 hackery, it can even be convinced to spit out non-XML conforming
1569 <eventitem date="2003-03-24" time="8:00 PM"
1570 room="Humanities Theatre, Hagey Hall"
1571 title="Judy, or What Is It Like To Be A Robot?">
1572 <short>Held in co-operation with the UW Cognitive Science Club</short>
1575 <p>A lot of claims have been made lately about the intelligence of
1576 computers. Some researchers say that computers will eventually attain
1577 super-human intelligence. Others call thse claims... um, poppycock.
1578 Oddly enough, in the search for the truth of the matter, both camps
1579 have overlooked an obvious strategy: interviewing a computer and asking
1582 <p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and
1583 lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>
1585 <p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
1586 imagination stretcher that delights while it exercises your mind. If you
1587 think you can't imagine a conscious robot, you're wrong---you can,
1588 especially once you've met Judy." --- Daniel C. Dennett,
1589 author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
1592 <p>"...an engrossing evening... Real questions about
1593 consciousness, freedom to act, the relationship between the creator
1594 and the created are woven into a bravura performance." --- Will
1595 Stackman, <i>Aislesay.com</i></p>
1597 <p>Sponsored by the Mathematics Society, the Federation of Students, the
1598 Arts Student Union, the Graduate Student Association, and the Department of
1599 Philosophy. Tickets available at the Humanities box office (888-4908) and
1600 the offices of the Psychology Society and the Computer Science Club for
1602 more information: <a
1603 href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>
1608 <eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
1609 title="Stream Processing">
1610 <short>A talk by Assistant Professor Michael McCool</short>
1613 <p>Stream processing is an enhanced version of SIMD processing that
1614 permits efficient execution of conditionals and iteration. Stream
1615 processors have many similarities to GPUs, and a hardware prototype,
1616 the Imagine processor, has been used to implement both OpenGL and
1619 <p>It is possible that GPUs will acquire certain properties
1620 of stream processors in the future, which should make them easier
1621 to use and more efficient for general-purpose computation that includes
1622 data-dependent iteration and conditionals.</p>
1627 <eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
1628 title="Abusing the C++ Compiler">
1629 <short>Abusing template metaprogramming in C++</short>
1632 <p>Templates are a useful feature in C++ when it comes to writing
1633 type-independent data structures and algorithms. But that's not all
1634 they can be used for. Essentially, it is possible to write certain
1635 programs in C++ that execute completely at compile-time rather
1636 than run-time. Combined with some optimisations this is an interesting
1637 twist on regular C++ programming.</p>
1639 <p>This talk will give a short overview of the features of templates
1640 and then go on to describe how to "abuse" templates to perform complex
1641 computations at compile time. The speaker will present three programs of
1642 increasing complexity which execute at compile time. First a factorial
1643 listing program, then a prime listing program will be presented. Finally
1644 the talk will conclude with the presentation of a <i>Mandelbrot
1645 generator running at compile time.</i></p>
1647 <p>Some basic knowledge of C++ will be assumed.</p>
1652 <eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
1653 title="SSH and Networks">
1654 <short>Once more into the breach</short>
1657 <p>The Secure Shell (SSH) has now replaced traditional remote login
1658 tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
1659 <i>telnet</i>. It is used to provide secure, authenticated,
1660 encrypted communications between remote systems. However, the SSH
1661 protocol provides for much more than this.</p>
1663 <p>In this talk, we will discuss using SSH to its full extent. Topics
1664 to be covered include:</p>
1666 <li>Remote logins</li>
1667 <li>Remote execution</li>
1668 <li>Password-free authentication</li>
1669 <li>X11 forwarding</li>
1670 <li>TCP forwarding</li>
1671 <li>SOCKS tunnelling</li>
1679 date="1994-09-13" time="9:00 PM"
1680 room="Princess Cinema"
1681 title="Movie Outing: Brainstorm">
1683 No description available.
1687 The first of this term's CSC social events, we will be going to see
1688 the movie ``Brainstorm'' at the Princess Cinema. This outing is
1689 intended primarily for the new first-year students.
1692 The Princess Cinema is Waterloo's repertoire theatre. This month
1693 and next, they are featuring a ``Cyber Film Festival''. Upcoming
1698 <li>Bladerunner (director's cut)</li>
1699 <li>2001: A Space Odyssey</li>
1700 <li>Naked Lunch</li>
1703 Admission is $4.25 for a Princess member, $7.50 for a non-member.
1704 Membership to the Princess is $7.00 per year.
1709 date="1994-09-16" time="4:30 PM"
1711 title="CSC Elections">
1712 <short>No description available</short>
1713 <abstract>No abstract available</abstract>
1716 date="1994-09-19" time="4:30 PM"
1718 title="UNIX I Tutorial">
1719 <short>No description available</short>
1720 <abstract>No abstract available</abstract>
1723 date="1994-09-21" time="6:30 PM"
1725 title="SIGGRAPH Video Night">
1726 <short>No description available</short>
1727 <abstract>No abstract available</abstract>
1730 date="1994-09-22" time="4:30 PM"
1732 title="UNIX I Tutorial">
1733 <short>No description available</short>
1734 <abstract>No abstract available</abstract>
1737 date="1994-09-26" time="4:30 PM"
1739 title="UNIX II Tutorial">
1740 <short>No description available</short>
1741 <abstract>No abstract available</abstract>
1744 date="1994-10-13" time="5:00 PM"
1746 title="Prograph: Picture the Future">
1747 <short>No description available</short>
1750 What is the next step in the evolution of computer languages?
1751 Intelligent agents? Distributed objects? or visual languages?
1754 Visual languages overcome many of the drawbacks and limitations
1755 of the textual languages that software development is based on
1756 today. Do you think about programming in a linear fashion? Or do
1757 you draw a mental picture of your algorithm and then linearize it
1758 for the benefit of your compiler? Wouldn't it be nice if you could
1759 code the same way you think?
1762 Visual C++ and Visual BASIC aren't visual languages, but Prograph
1763 is. Prograph is a commercially available, visual, object-oriented,
1764 data-flow language. It is well suited to graphical user interface
1765 development, but is as powerful for general-purpose programming as
1766 any textual language.
1769 The talk will comprise a discussion of the problems of textual
1770 languages that visual languages solve, a live demonstration of
1771 Prograph, and some of my observations of the applications of
1772 Prograph to software development.
1777 date="1994-10-15" time="10:00 AM"
1779 title="ACM-Style Programming Contest">
1780 <short>No description available</short>
1782 <h3>Big Money and Prizes!</h3>
1784 So you think you're a pretty good programmer? Pit your skills
1785 against others on campus in this triannual event! Contestants will
1786 have three hours to solve five programming problems in either C or
1790 Last fall's winners went on to the International Finals and came
1791 first overall! You could be there, too!
1796 date="1994-10-20" time="4:30 PM"
1798 title="Exploring the Internet">
1799 <short>No description available</short>
1801 <h3>Need something to do between assignments/beers?</h3>
1803 Did you know that your undergrad account at Waterloo gives you
1804 access tothe world's largest computer network? With thousands
1805 of discussion groups, gigabytes of files to download, multimedia
1806 information browsers, even on-line entertainment?
1809 The resources available on the Internet are vast and wondrous, but
1810 the tools for navigating it are sometimes confusing and arcane. In
1811 this hands-on tutorial you will get the chance to get your feet wet
1812 with the world's most mind-bogglingly big computer network, the
1813 protocols and programs used, and how to use them responsibly and
1819 date="1994-11-02" time="4:30 PM"
1821 title="Game Theory">
1822 <short>No description available</short>
1824 <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
1826 This will be a descussion of the pitfalls of using mathematics and
1827 algorithms to play classical board games. Thorough descriptions
1828 shall be presented of the simple techniques used as the building
1829 blocks that make all modern computer game players. I will use
1830 tic-tac-toe as a control for my arguements. Other games such as
1831 Chess, Othello and Go shall be the be a greater measure of progress;
1832 and more importantly the targets of our dreams.
1835 To enhance the discussion of the future, Barney Pell's Metagamer
1836 shall be introduced. His work in define classes of games is
1837 important in identifying the features necessary for analysis.
1844 <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
1845 title="Living Laboratories: The Future Computing Environments at
1847 <short>By Blair MacIntyre and Elizabeth Mynatt</short>
1849 <p>by Blair MacIntyre and Elizabeth Mynatt</p>
1850 <p>The Future Computing Environments (FCE) Group at Georgia Tech
1851 is a collection of faculty and students that share a desire to
1852 understand the partnership between humans and technology that
1853 arises as computation and sensing become ubiquitous. With
1854 expertise covering the breadth of Computer Science, but
1855 focusing on HCI, Computational Perception, and Machine
1856 Learning, the individual research agendas of the FCE faculty
1857 are grounded in a number of shared "living laboratories" where
1858 their research is applied to everyday life in the classroom
1859 (Classroom 2000), the home (the Aware Home), the office
1860 (Augmented Offices), and on one's person. Professors
1861 MacIntyre and Mynatt will discuss a variety of these projects,
1862 with an emphasis on the HCI and Computer Science aspects of
1866 In addition to their affiliation with the FCE group,
1867 Professors Mynatt and MacIntyre are both members of the
1868 Graphics, Visualization and Usability Center (GVU) at Georgia
1869 Tech. This interdisciplinary center brings together research
1870 in computer science, psychology, industrial engineering,
1871 architecture and media design by examining the role of
1872 computation in our everyday lives. During the talk, they will
1873 touch on some of the research and educational opportunities
1874 available at both GVU and the College of Computing.
1879 <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
1880 title="GDB, Purify Tutorial">
1881 <short>No description available.</short>
1884 Debugging can be the most difficult and time consuming part of
1885 any program's life-cycle. Far from an exact science, it's more
1886 of an art ... and close to some kind of dark magic. Cryptic
1887 error messages, lousy error checking, and icky things like
1888 implicit casts can make it nearly impossible toknow what's
1889 going on inside your program.
1892 Several tools are available to help automate your
1893 debuggin. GDB and Purify are among the most powerful
1894 debugging tools available in a UNIX environment. GDB is an
1895 interactive debugger, allowing you to `step' through
1896 aprogram, examine function calls, variable contents, stack
1897 traces and let you look at the state of a program after it
1898 crashes. Purify is a commercial program designed to help find
1899 and remove memory leaks from programs written inlanguages
1900 without automatic garbage collection.
1903 This talk will cover how to compile your C and C++ programs
1904 for use with GDB and Purify, as well as how to use the
1905 available X interfaces. If a purify license is available on
1906 undergrad at the time of the talk, we will cover how to use it
1912 <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
1913 title="Homebrew Processors and Integrated Systems in FPGAs">
1914 <short>By Jan Gray</short>
1918 <p> With the advent of large inexpensive field-programmable gate
1919 arrays and tools it is now practical for anyone to design and
1920 build custom processors and systems-on-a-chip. Jan will discuss
1921 designing with FPGAs, and present the design and implementation
1922 of xr16, yet another FPGA-based RISC computer system with
1923 integrated peripherals.</p>
1925 <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
1926 compilers, tools, and middleware at Microsoft from 1987-1998. He
1927 built the first 32-bit FPGA CPU and system-on-a-chip in
1932 <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
1934 <short>End-of-term dinner</short>
1936 No abstract available.
1940 <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
1941 title="Calculational Mathematics">
1942 <short>By Edgar Dijkstra</short>
1944 <p> By Edgar Dijkstra</p>
1946 <p> This talk will use partial orders, lattice theory, and, if
1947 time permits, the Galois connection as carriers to illustrate
1948 the use of calculi in mathematics. We hope to show the brevity
1949 of many calculations (in order tofight the superstition that
1950 formal proofs are necessarily unpractically long), and the
1951 strong heuristic guidance that is available for their
1954 <p> Dijkstra is known for early graph-theoretical algorithms,
1955 the first implementation of ALGOL 60, the first operating system
1956 composed of explicitly synchronized processes, the invention of
1957 guarded commands and of predicate transformers as a means for
1958 defining semantics, and programming methodology in the broadest
1959 sense of the word. </p>
1961 <p> His current research interests focus on the formal
1962 derivation of proofs and programs, and the streamlining of the
1963 mathematical argument in general.</p>
1965 <p> Dijkstra held the Schlumberger Centennial Chair in Computer
1966 Sciences at The University of Texas at Austin until retiring in
1972 <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
1973 St Jerome's" title="Proofs and Programs">
1974 <short>By Edsger Dijkstra</short>
1976 <p> This talk will show the use of programs for the proving of
1977 theorems. Its purpose is to show how our experience gained in
1978 the derivations of programs might be transferred to the
1979 derivation of proofs in general. The examples will go beyond the
1980 (traditional) existence theorems. </p>
1982 <p> Dijkstra is known for early graph-theoretical algorithms,
1983 the first implementation of ALGOL 60, the first operating system
1984 composed of explicitly synchronized processes, the invention of
1985 guarded commands and of predicate transformers as a means for
1986 defining semantics, and programming methodology in the broadest
1987 sense of the word. </p>
1989 <p> His current research interests focus on the formal
1990 derivation of proofs and programs, and the streamlining of the
1991 mathematical argument in general.</p>
1993 <p> Dijkstra held the Schlumberger Centennial Chair in Computer
1994 Sciences at The University of Texas at Austin until retiring in
2000 <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
2001 title="Open Q&A session">
2002 <short>By Edsger Dijkstra</short>
2003 <abstract>No description available.</abstract>
2006 <!-- Winter 2000 -->
2008 <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
2009 title="Enterprise Java APIs and Implementing a Web Portal">
2010 <short>No description available.</short>
2012 <h3>by Floyd Marinescu
2016 The first talk will be an introduction to the Enterprise Java
2017 API's: Servlets, JSP, EJB, and how to use them to build
2022 The second talk will be about how these technologies were used
2023 to implement a real world portal. The talk will include an
2024 overview of the design patterns used and will feature
2025 architectural information about the yet to be release portal
2026 (which I am one of the developers) called theserverside.com.
2031 <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
2032 title="Enterprise Java APIs and Implementing a Web Portal (1)">
2033 <short>No description available.</short>
2035 <p>Real World J2EE - Design Patterns and architecture behind the
2036 yet to be released J2EE portal: theserverside.com</p>
2038 <p>This talk will feature an exclusive look at the architecture
2039 behind the new J2EE portal: theserverside.com. Join Floyd
2040 Marinescu in a walk-through ofthe back-end of the portal,
2041 while learning about J2EE and its real world patterns,
2042 applications, problems and benefits.</p>
2046 <!-- Spring 2000 -->
2048 <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
2049 House, 130 King Street S, Waterloo" title="Ctrl-D">
2050 <short>End-of-term dinner</short>
2051 <abstract>No abstract available.</abstract>
2056 <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
2057 title="CSC Elections">
2058 <short>Fall 2000 Elections for the CSC.</short>
2061 Would you like to get involved in the CSC? Would you like to have a
2062 say in what the CSC does this term? Come out to the CSC Elections!
2063 In addition to electing the executive for the Fall term, we will be
2064 appointing office staff and other positions. Look for details in
2068 <p>Nominations for all positions are being taken in the CSC office, MC
2073 <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
2074 title="SIGGraph Video Night">
2075 <short> SIGGraph Video Night Featuring some truly awesome computer
2076 animations from Siggraph '99. </short>
2078 <p> Interested in Computer Graphics?
2081 <p> Enjoy watching state-of-the-art Animation?
2084 <p> Looking for a cheap place to take a date?
2087 <p> SIGGraph Video Night -
2088 Featuring some truly awesome computer animations from Siggraph '99.
2091 <p>Come out for the Computer Science Club general elections at 6:00
2092 pm, right before SIGGraph!</p>
2096 <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
2097 title="Realising the Next Generation Internet">
2098 <short>By Frank Clegg of Microsoft Canada</short>
2103 <dd>Frank Clegg</dd>
2104 <dd>President, Microsoft Canada</dd>
2107 <dd>Monday, September 25, 2000</dd>
2109 <dd>14:30 - 16:00</dd>
2112 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
2116 <dt>Pre-registration</dt>
2117 <dd>Recommended</dd>
2118 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
2119 <dd>(519) 888-4004</dd>
2124 <p>The Internet and the Web have revolutionized our communications, our access
2125 to information and our business methods. However, there is still much room
2126 for improvement. Frank Clegg will discuss Microsoft's vision for what is
2127 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a
2128 new platform, user experience and set of advanced software services planned
2129 to make all devices work together and connect seamlessly. With this next
2130 generation of software, Microsoft's goal is to make Internet-based
2131 computing and communications easier to use, more personalized, and more
2132 productive for businesses and consumers. In his new position of president
2133 of Microsoft Canada Co., Frank Clegg will be responsible for leading the
2134 organization toward the delivery of Microsoft .NET. He will speak about
2135 this new platform and the next generation Internet, how software developers
2136 and businesses will be able to take advantage of it, and what the .NET
2137 experience will look like for consumers and business users.</p>
2139 <h3>The Speaker</h3>
2140 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month.
2141 Prior to his new position, Mr. Clegg was vice-president, Central Region,
2142 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for
2143 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined
2144 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996.
2145 During that time, Mr. Clegg was instrumental in introducing several key
2146 initiatives to improve company efficiency, growth and market share. Mr.
2147 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
2149 <h3>For More Information</h3>
2151 Shirley Fenton<br />
2152 The infraNET Project<br />
2153 University of Waterloo<br />
2154 519-888-4567 ext. 5611<br />
2155 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
2161 <!-- Winter 2001 -->
2163 <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
2164 title="Executive elections">
2165 <short>Winter 2001 CSC Elections.</short>
2167 <p>Would you like to get involved in the CSC? Would you like to
2168 have a say in what the CSC does this term? Come out to the CSC
2169 Elections! In addition to electing the executive for the
2170 Winter term, we will be appointing office staff and other
2171 positions. Look for details in uw.csc.
2174 Nominations for all positions are being taken in the CSC
2179 <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
2181 <short>Second CSC meeting for Winter 2001.</short>
2183 <h3>Proposed agenda</h3>
2185 <dt>Book purchases</dt>
2187 <p>They haven't been done in 2 terms.
2188 We have an old list of books to buy.
2189 Any suggestions from uw.csc are welcome.</p>
2194 <p>For doing linux burns. It was allocated money on the budget
2195 request - about $300. We should be able to get a decent 12x
2196 burner with that (8x rewrite).</p>
2197 <p>The obvious things to sell are Linux Distros and BSD variants.
2198 Are there any other software that we can legally burn and sell
2203 <p>Just a talk of the topics to be covered, when, where, whatnot.
2204 Mike was right on this one, this should have been done earlier
2205 in the term. Oh well, maybe we can fix this for next fall term.</p>
2208 <dt>Game Contest</dt>
2210 <p>We already put a bit of work into planning the Othello contest
2211 before I read Mike's post. I still think it's viable. I've got
2212 at least 2 people interested in writing entries for it. This
2213 will be talked about more on monday. Hopefully, Rory and I will
2214 be able to present a basic outline of how the contest is going
2215 to be run at that time.</p>
2217 <dt>Peri's closet cleaning</dt>
2220 <p>Current sysadmin (jmbeverl) and I (kvijayan) and
2221 President (geduggan) had a nice conversation about this 2
2222 days ago, having to do with completely erasing all of
2223 peri, installing a clean stable potato debian on it, and
2224 priming it for being a gradual replacement to calum. We'll
2225 probably discuss how much we want to get done on this
2226 front on Monday.</p>
2230 <p>Any <a HREF="nntp://news.math.uwaterloo.ca/uw.csc/8305">comments</a> from <a HREF="news:uw.csc">the newsgroup</a> are welcome.</p>
2234 <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
2235 title="ACM-Style programming contest">
2236 <short>Practice for the ACM international programming
2239 <p>Our ACM-Style practice contests involve answering five questions in three
2240 hours. Solutions are written in Pascal, C or C++. Seven years in a row,
2241 Waterloo's teams have been in the top ten at the world finals.
2242 For more information, see
2243 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
2245 <h3>Easy Question:</h3>
2246 <p>A palindrome is a sequence of letters that reads the same backwards and
2247 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
2248 only letters are important). Your task is to find the longest palindrome in
2249 a line of text (if there is a tie, print the leftmost one).</p>
2253 asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
2254 abcbabCdcbaqwerewq abCdcba
2257 <h3>Hard Question:</h3>
2258 <p>An anagram is a word formed by reordering the letters of another word.
2259 Find all sets of anagrams that exist within a large dictionary. The
2260 input will be a sorted list of words (up to 4000 words), one per line.
2261 Output each set of anagrams on a separate line. Each set should be
2262 in alphabetical order, and all lines of sets should be in alphabetical
2263 order. A word with no anagrams is a set of anagrams itself, and should
2264 be displayed with no modifications.</p>
2277 <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
2279 <short>No description available.</short>
2280 <abstract>No abstract available.</abstract>
2283 <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
2285 <short>No description available.</short>
2286 <abstract>No abstract available.</abstract>
2289 <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
2291 <short>No description available.</short>
2292 <abstract>No abstract available.</abstract>
2295 <!-- Spring 2001 -->
2297 <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
2298 title="ACM-Style programming contest">
2299 <short>Practice for the ACM international programming
2302 <p>Our ACM-Style practice contests involve answering five questions in three
2303 hours. Solutions are written in Pascal, C or C++. Seven years in a row,
2304 Waterloo's teams have been in the top ten at the world finals.
2305 For more information, see
2306 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
2308 <h3>Easy Question:</h3>
2309 <p>A palindrome is a sequence of letters that reads the same backwards and
2310 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
2311 only letters are important). Your task is to find the longest palindrome in
2312 a line of text (if there is a tie, print the leftmost one).</p>
2316 asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
2317 abcbabCdcbaqwerewq abCdcba
2320 <h3>Hard Question:</h3>
2321 <p>An anagram is a word formed by reordering the letters of another word.
2322 Find all sets of anagrams that exist within a large dictionary. The
2323 input will be a sorted list of words (up to 4000 words), one per line.
2324 Output each set of anagrams on a separate line. Each set should be
2325 in alphabetical order, and all lines of sets should be in alphabetical
2326 order. A word with no anagrams is a set of anagrams itself, and should
2327 be displayed with no modifications.</p>
2341 <!-- Winter 2002 -->
2343 <eventitem date="2002-01-26" time="2:00 PM"
2344 room="Comfy Lounge MC3001"
2345 title="An Introduction to GNU Hurd">
2346 <short>Bored of GNU/Linux? Try this experimental operating
2349 <p>GNU Hurd is an operating system kernel based on the microkernel
2350 architecture design. It was the original GNU kernel, predating Linux,
2351 and is still being actively developed by many volunteers.</p>
2352 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
2353 Science Club, is hosting an afternoon to show the Hurd to anyone
2354 interested. Jeff Bailey, a Hurd developer, will give a presentation on
2355 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
2356 James Morrison, also a Hurd developer, will be hosting a Debian
2357 GNU/Hurd installation session.</p>
2358 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
2359 and mail your key to sjdutoit@uwaterloo.ca with the subject
2360 ``keysigning'' (see separate announcement).</p>
2361 <p>Questions? Suggestions? Contact <a
2362 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
2365 <eventitem date="2002-01-26" time="2:30 PM"
2366 room="Comfy Lounge MC3001"
2367 title="GnuPG/PGP Keysigning Party">
2368 <short>Get more signatures on your key!</short>
2371 GnuPG and PGP provide public-key based encryption for e-mail and
2372 other electronic communication. In addition to preventing others
2373 from reading your private e-mail, this allows you to verify that an
2374 e-mail or file was indeed written by its perceived author.
2377 In order to make sure a GnuPG/PGP key belongs to the respective
2378 person, the key must be signed by someone who has checked the
2379 user's key fingerprint and verified the user's identification.
2382 A keysigning party is an ideal occasion to have your key signed by
2383 many people, thus strengthening the authority of your key. Everyone
2384 showing up exchanges key signatures after verifying ID and
2385 fingerprints. The Computer Science Club will be hosting such a
2386 keysigning party together with the Hurd presentation by THUG (see
2387 separate announcement). See
2388 <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
2389 keysigning party homepage</a> for more information.
2392 Before attending it is important that you mail your key to
2393 sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
2394 sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
2395 a sheet of paper to the event.
2399 <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
2400 title="UNIX 101: First Steps With UNIX">
2402 This is the first in a series of seminars that cover the use of
2403 the UNIX Operating System. UNIX is used in a variety of
2404 applications, both in academia and industy. We will be covering
2405 the basics of the UNIX environment, as well as the use of PINE, an
2406 electronic mail and news reader.
2409 <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
2410 title="DVD-Video Under Linux">
2411 <short>Billy Biggs will be holding a talk on DVD technology
2412 (in particular, CSS and playback issues) under Linux, giving some
2413 technical details as well as an overview of the current status of
2414 Free Software efforts. All are welcome.</short>
2416 <p>DVD copy protection: Content Scrambling System (CSS)</p>
2418 <li>A technical introduction to CSS and an overview of the ongoing
2419 legal battle to allow distribution of non-commercial DVD
2421 <li>The current Linux software efforts and open issues</li>
2422 <li>How applications and Linux distributions are handling the
2423 legal issues involved</li>
2425 <p>DVD-Video specifics: Menus and navigation</p>
2427 <li>An overview of the DVD-Video standard</li>
2428 <li>Reverse engineering efforts and their implementation status</li>
2429 <li>Progress of integration into Linux media players</li>
2433 <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
2434 title="Unix 102: Fun With UNIX">
2435 <short>This the second in a series of UNIX tutorials. Simon Law and
2436 James Perry will be presenting some more advanced UNIX
2437 techniques. All are welcome. Accounts will be provided for those
2438 needing them.</short>
2441 This is the second in a series of seminars that cover the use of
2442 the UNIX Operating System. UNIX is used in a variety of
2443 applications, both in academia and industry. We will provide you
2444 with hands-on experience with the Math Faculty's UNIX environment
2447 <p>Topics that will be discussed include:</p>
2449 <li>Interacting with Bourne and C shells</li>
2450 <li>Editing text using the vi text editor</li>
2451 <li>Editing text using the Emacs display editor</li>
2452 <li>Multi-tasking and the screen multiplexer</li>
2455 If you do not have a Math computer account, don't panic; one will
2456 be lent to you for the duration of this class.
2460 <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
2461 title="Computer Go, The Ultimate">
2462 <short>Thomas Wolf from Brock University will be holding a talk on
2463 the asian game of Go. All are welcome.</short>
2466 The asian game go is unique in a number of ways. It is the oldest
2467 board game known. It is a strategy game with very simple
2468 rules. Computer programs are very weak despite huge efforts and
2469 prizes of US$ > 1.5M for a program beating professional
2470 players. The talk will quickly explain the rules of go, compare go
2471 and chess, mention various attempts to program go and describe our
2472 own efforts in this field. Students will have an opportunity to
2473 solve computer generated go problems. Prizes will be available.
2478 <!-- Spring 2002 -->
2480 <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
2482 <short>Come and vote for this term's exec</short>
2485 Vote for the exec this term. Meet at the CSC office.
2493 <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
2494 title="F02 elections">
2495 <short>Come and vote for this term's exec</short>
2498 Vote for the exec this term. Meet at the comfy
2499 lounge. There will be an opportunity to obtain or renew
2500 memberships. This term's CRO is Siyan Li
2501 (s8li@csclub.uwaterloo.ca).
2506 <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
2507 title="Business Meeting">
2508 <short>Vote on a constitutional change.</short>
2511 The executive has unanimously decided to try to change our
2512 constitution to comply with MathSoc policy. The clause we are trying
2513 to change is the membership clause. The following is the proposed new
2514 reading of the clause.
2517 In compliance with MathSoc regulations and in recognition of
2518 the club being primarily targeted at undergraduate students, full
2519 membership is open to all undergraduate students in the Faculty of
2520 Mathematics and restricted to the same.</i>
2524 The proposed change is illustrated <a
2525 href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
2530 There will be a business meeting on 30 Sept 2002 at 18:30 in
2531 the comfy lounge, MC 3001. Please come and vote
2536 <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
2538 <short>First Steps with UNIX</short>
2541 Get to know UNIX and be the envy of your friends!
2544 This is the first in a series of seminars that cover the use
2545 of the UNIX Operating System. UNIX is used in a variety of
2546 applications, both in academia and industy. We will provide
2547 you with hands-on experience with the Math Faculty's UNIX
2548 environment in this seminar.
2551 Topics that will be discussed include:
2554 <li>Navigating the UNIX environment</li>
2555 <li>Using common UNIX commands</li>
2556 <li>Using the PICO text editor</li>
2557 <li>Reading electronic mail and news with PINE</li>
2560 If you do not have a Math computer account, don't panic; one will be
2561 lent to you for the duration of this class.
2566 <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
2567 title="Pints with the Profs">
2568 <short>Get to know your profs and be the envy of your friends!</short>
2570 <p>Come out and meet your professors. This is a great opportunity to
2571 meet professors for Undergraduate Research jobs or to find out who you might
2572 have for future courses.</p>
2574 <p>Profs who have confirmed their attendance are:</p>
2576 <li>Troy Vasiga, School of Computer Science</li>
2577 <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
2578 <li>Michael McCool, School of Computer Science, CGL</li>
2579 <li>Martin Karsten, School of Computer Science, BBCR</li>
2580 <li>Gisli Hjaltason, School of Computer Science, DB</li>
2583 <p>There will also be...</p>
2592 <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
2594 <short>Talking to your UNIX can be fun and profitable.</short>
2596 <p>This is the second in a series of seminars that cover the use of
2597 the UNIX Operating System. UNIX is used in a variety of applications,
2598 both in academia and industry. We will provide you with hands-on
2599 experience with the Math Faculty's UNIX environment in this
2602 <p>Topics that will be discussed include:</p>
2603 <ul><li>Interacting with Bourne and C shells</li>
2604 <li>Editing text using the vi text editor</li>
2605 <li>Editing text using the Emacs display editor</li>
2606 <li>Multi-tasking and the screen multiplexer</li>
2609 <p>If you do not have a Math computer account, don't panic; one will be
2610 lent to you for the duration of this class.</p>
2615 <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
2616 title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
2617 <short>A talk by Filip Spacek, KGI developer</short>
2619 Linux has proven itself as a reliable operating system but arguably,
2620 it still lacks in support of high performance graphics
2621 acceleration. This talk will describe basic components of a PC video
2622 card and the design and limitations the current Linux display driver
2623 architecture. Finally a an overview of a new architecture, the Kernel
2624 Graphics Interface (KGI), will be given. KGI attempts to solve the
2625 shortcomings of the current design, and provide a lightweight and
2626 portable interface to the display subsystem.
2630 <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
2633 <abstract>No abstract available yet.</abstract>
2636 <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
2637 title="The Evil Side of C++">
2638 <short>Abusing template metaprogramming in C++; aka. writing a
2639 Mandelbrot generator that runs at compile time</short>
2641 <p>Templates are a useful feature in C++ when it comes to writing
2642 type-independent data structures and algorithms. Relatively soon
2643 after their appearance it was realised that they could be used to
2644 do much more than this. Essentially it is possible to write
2645 certain programs in C++ that execute <i>completely at compile
2646 time</i> rather than run time. Combined with constant-expression
2647 optimisation this is an interesting twist on regular C++
2649 <p>This talk will give a short overview of the features of
2650 templates and then go on to describe how to "abuse"
2651 templates to perform complex computations at compile time. The
2652 speaker will present three programs of increasing complexity which
2653 execute at compile time. First a factorial listing program, then a
2654 prime listing program will be presented. Finally the talk will
2655 conclude with the presentation of a <b>Mandelbrot generator running
2656 at compile time</b>.</p>
2658 <p>If you are interested in programming for the fun of it, the C++
2659 language or silly tricks to do with languages, this talk is for
2660 you. No C++ knowledge should be necessary to enjoy this talk, but
2661 programming experience will make it more worthwile for you.</p>
2663 </abstract> </eventitem>
2665 <eventitem date="2002-11-02" time="11:00AM-3:00PM"
2666 room="MC3002 (Math Coffee and Donut Store)"
2667 title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
2668 <short>Bring over your computer and we'll help you install GNU/Linux</short>
2670 <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
2671 href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
2672 href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
2673 are jointly hosting a GNU/Linux InstallFest. GNU/Linux is a
2674 powerful, free operating system for your computer. It is mostly
2675 written by talented volunteers who like to share their efforts
2676 and help each other.</p>
2678 <p>Perhaps you have are you interested in installing GNU/Linux.
2679 If so, bring your computer, monitor and keyboard; and we will
2680 help you install GNU/Linux on your machine. You can also find
2681 knowledgable people who can answer your questions about
2686 <h3>Frequently Asked Questions</h3>
2688 <p><b>Q: </b>What is GNU/Linux?<br />
2689 <b>A: </b>GNU/Linux is a free operating system for your computer. It is mostly
2690 written by talented volunteers who like to share their efforts.
2693 <p><b>Q: </b>Free?<br />
2694 <b>A: </b>GNU/Linux is available for zero-cost. As well, it allows you such
2695 freedom to share it with your friends, or to modify the software to
2696 your own needs and share that with your friends. It's very friendly.
2699 <p><b>Q: </b>What is an InstallFest?<br />
2700 <b>A: </b>An InstallFest is a meeting where volunteers help people install
2701 GNU/Linux on their computers. It's also a place to meet users, and
2702 talk to them about running GNU/Linux.
2705 <p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
2706 <b>A: </b>Almost any recent computer will do. If you have an old machine
2707 kicking around, you can install GNU/Linux on it as well. If it is
2708 at least 5 years old, it should be good enough.
2711 <p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
2712 <b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
2713 disk space to spare; then it should be possible.
2716 <p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
2717 <b>A: </b>You will want to bring:</p>
2720 <li>Monitor and monitor cable</li>
2721 <li>Power cords</li>
2722 <li>Keyboard and mouse</li>
2728 <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
2729 title="The GNU General Public License">
2730 <short>The teeth of Free Software</short>
2735 The licenses for most software are designed to take away your freedom
2736 to share and change it. By contrast, the GNU General Public License
2737 is intended to guarantee your freedom to share and change free
2738 software---to make sure the software is free for all its users.
2739 </i><br/>--- Excerpt from the GNU GPL
2742 <p>The GNU General Public License is one of the most influencial
2743 software licenses in this day. Written by Richard Stallman for the
2744 GNU Project, it is used by software developers around the world to
2748 Unfortunately, software developers do not read licenses thoroughly, nor
2749 well. In this talk, we will read the entire GNU GPL and explain the
2750 implications of its passages. Along the way, we will debunk some myths
2751 and clarify common misunderstandings.
2754 After this session, you ought to understand what the GNU GPL means, how
2755 to use it, and when you cannot use it. This session should also give
2756 you some insight into the social implications of this work.
2761 <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
2762 title="Metaprogramming GPUs">
2763 <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
2766 Modern graphics accelerators, or "GPUs", have embedded high-performance
2767 programmable components in the form of vertex and fragment shading units.
2768 Recently, these units have evolved from 8-bit computations to floating-point,
2769 and other operations provide array gather, scatter, and summation.
2770 These capabilities make GPUs akin to array processors of the
2771 past, but with a difference: every PC now has one! I am interested
2772 in finding the best way to exploit this computational capacity for not
2773 only graphics but for general-purpose computation.
2775 Current APIs permit specification of the programs for GPUs
2776 using an assembly-language level interface. Compilers for high-level
2777 shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and
2778 DirectX will also include standardized shading languages. This talk will
2779 review these. However, compilers for these languages read in an external
2780 string specification, which can be inconvenient.
2782 However, it is possible, using standard C++, to define a high-level
2783 shading language directly in the API. Such a language can be nearly
2784 indistinguishable from a special-purpose programming language, yet
2785 permits more direct interaction with the specification of textures
2786 (arrays) and parameters, simplifies implementation, and enables
2787 on-the-fly generation, manipulation, and specialization of shader programs.
2788 A shading language built into the API also permits the lifting of
2789 C++ host language type, modularity, and scoping constructs into the shading
2790 language without any additional implementation effort. Such an
2791 embedded language could be used to program other embedded processors
2792 (such as DSP chips in sound cards) or even to generate machine language
2793 on the fly for the host CPU.
2798 <eventitem date="2002-11-16" time="1:30pm" room="York University"
2799 title="Trip to York University">
2800 <short>Going to visit the York University Computer Club</short>
2801 <abstract><p>YUCC and the UW CSC have having a join meeting at York
2802 University. Dave Makalsky, the President of YUCC, will be giving a talk on
2803 Design-by-constract and Eiffel. Stefanus Du Toit, Vice-President of the UW
2804 CSC, will be giving a talk on the evil depths of the black art known as C++.
2806 <ul><li>1:30pm: Leave UW</li>
2807 <li>3:00pm: Arrive at York University.</li>
2808 <li>3:30pm: The Evil side of C++</li>
2809 <li>4:30pm: Design-by-Contract and Eiffel</li>
2810 <li>6:00pm: Dinner</li>
2811 <li>9:00pm: Arrive back at UW</li>
2816 <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
2818 <short>A talk by Simon Law</short>
2821 Perl, the Practical Extraction and Reporting Language can only
2822 be described as an eclectic language, invented and refined by
2823 a deranged system administrator, who was trained as a
2824 linguist. This man, however, has declared:
2828 Perl 5 was my rewrite of Perl.
2829 I want Perl 6 to be the community's rewrite of Perl and of the
2831 </i><br/>--- Larry Wall
2834 Whenever a language is designed by a committee, it is common
2835 wisdom to avoid it. Not so with Perl, for it cannot get
2836 worse. However strange these Perl people seem, Perl 6 is a
2837 good thing coming. In this talk, I will demonstrate some Perl
2838 5 programs, and talk about their Perl 6 counterparts, to show
2839 you that Perl 6 will be cleaner, friendlier, and prettier.
2844 <eventitem date="2002-11-21" time="4:30pm" room="MC2066"
2845 title="Samba and You">
2846 <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
2848 Samba is a free implementation of the Server Message Block (SMB)
2849 protocol. It also implements the Common Internet File System (CIFS)
2850 protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
2852 SMB was originally developed in the early to mid-80's by IBM and was
2853 further improved by Microsoft, Intel, SCO, Network Appliances, Digital
2854 and many others over a period of 15 years. It has now morphed into CIFS,
2855 a form strongly influenced by Microsoft. </p><p>
2856 Samba is considered to be one of the key projects for the acceptance of
2857 GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
2858 corporate world: a traditional Windows NT/2000 stronghold. </p><p>
2859 We will talk about interfacing Samba servers and desktops with the
2860 Windows world. From a simple GNU/Linux desktop in your home to the
2861 corporate server that provides collaborative file/printer sharing,
2862 logons and home directories to hundreds of users a day. </p>
2866 <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
2867 title="GNU/Linux on HPPA">
2868 <short>Carlos O'Donnell talks about "the last of the legacy processors to fall before the barbarian horde"</short>
2870 <p>This whirlwind talk is aimed at providing an overview of the
2871 GNU/Linux port for the HP PARISC processor. The talk will focus on
2872 the "intricacies" of the processor, and in particular the
2873 implementations of the Linux kernel and GNU Libc. After the talk
2874 you should be acutely aware of how little code needs to be written
2875 to support a new architecture! Carlos has been working on the port
2876 for two years, and enjoying the fruits of his labour on a 46-node
2881 Carlos is currently in his 5th year of study at the University
2882 of Western Ontario. This is his last year in a concurrent
2883 Computer Engineering and Computer Science degree. His research
2884 interest range from distributed and parallel systems to low
2885 level optimized hardware design. He likes playing guitar and
2886 just bought a Cort NTL-20, jumbo body, solid spurce top with
2887 a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
2888 GNU Debugger, GNU Binutils and various Debian packages.
2895 <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
2896 title="The Hurd Interfaces">
2897 <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
2899 <p>The Hurd server interfaces are at the heart of the Hurd system. They
2900 define the remote procedure calls (RPCs) that are used by the servers, the
2901 GNU C library and the utility programs to communicate with the Hurd system
2902 and to implement the POSIX personality of the Hurd as well as other
2905 <p>This talk is a walk through the Hurd RPCs, and will give an overview of how
2906 they are used to implement the system. Individual RPCs will be used to
2907 illustrate important or exciting features of the Hurd system in general,
2908 and it will be shown how those features are accessible to the user at the
2909 command line, too.</p>
2913 <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
2914 Germany. He is one of maintainers of the GNU Hurd project and the
2915 initiator of the Debian GNU/Hurd binary distribution. He designed and
2916 implemented the console subsystem of the Hurd, wrote the FAT filesystem
2917 server, and fixed a lot of bugs, thus increasing the stability and
2918 usability of the system.</p>
2923 <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
2924 title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
2925 <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
2927 <p>Virtual memory management is one of the cornerstones of multiuser
2928 operating systems. Most systems available today place all of the
2929 policy in a monolithic virtual memory manager, VMM, isolated from the
2930 rest of the system. Although secure and lightweight, users have no
2931 way to communicate their anticipated memory needs and usage to the
2932 system pager. As a result, the VMM can only implement a global paging
2933 policy (typically, an approximation of LRU) which may be good on
2934 average but is best for nobody.</p>
2936 <p>With the port of Hurd to the L4 microkernel, this situation is being
2937 readdressed. Due to its more distributed nature, a centralized
2938 resource manager is not only more difficult to implement efficiently
2939 but also contrary to the philosophy of the rest of the system. We are
2940 currently exploring a model whereby each program is fully self-paged
2941 and all compete for memory from a physical memory server. This talk
2942 will first discuss how paging currently works in Mach and other
2943 systems. An argument for an external paging policy will then be
2944 presented followed by the requirements of such a design and the design
2949 <p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
2950 Lowell. Neal spent the summer of 2002 at University of Karlsruhe working
2951 on porting the GNU Hurd to L4.</p>
2956 <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
2957 title="Debian in the Enterprise">
2958 <short>A talk by Simon Law</short>
2960 <p>The Debian Project produces a "Universal Operating System" that is
2961 comprised entirely of Free Software. This talk focuses on using Debian
2962 GNU/Linux in an enterprise environment. This includes:</p>
2964 <li>Where Debian can be deployed</li>
2965 <li>Strategic advantages of Debian</li>
2966 <li>Ways for business to give back to Debian</li>
2971 <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
2972 title="Automatic Memory Management and Garbage Collection">
2973 <short>A talk by James A. Morrison</short>
2976 Do you ever wonder what java is doing while you wait? Have you ever used
2977 Modula-3? Do you wonder how lazily you can Mark and Sweep? Would you like to
2978 know how to Stop-and-Copy?
2980 Come out to this talk and learn these things and more. No prior knowledge of
2981 Garbage Collection or memory management is needed.