5 <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
7 <short>Come out and vote for the new exec!</short>
10 <p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
11 MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
12 January 2) until 4:30 PM of the day before elections (Sunday, January 12).
13 In order to nominate someone you can either e-mail me directly, by depositing
14 a form with the required information in the CSC mailbox in the Mathsoc office
15 or by writing the nomination and clearly marking it as such on the large
16 whiteboard in the CSC office. E-mail is probably the best choice.
17 Please include the name of the person to be nominated as well as the position
18 you wish to nominate them for.</p>
20 <p>Candidates must be full members of the club. This means they must have paid
21 their membership for the given term and (due to recent changes in the
22 constitution) must be full-time undergraduate math students.
23 The same requirements hold for those voting. Please bring your Watcard to
24 the elections so that I can verify this. I will have a list of members with
27 <p>The positions open are:</p>
29 <p><b>President</b> -- appoints all commitees of the club, calls and presides at all
30 meetings of the club and audits the club's financial records. Really, this
31 is the person in charge.</p>
33 <p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
34 plans and coordinates events with the programmes committee and assumes any
35 other duties delegated by the President.
36 This is a really fun job if you enjoy coordinating events!</p>
38 <p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
39 A fairly light job, good choice if you just want to see what being an exec
42 <p><b>Treasurer</b> -- maintains all the finances of the club.
43 If you like money and keeping records, this is the job for you!</p>
45 <p>Additionally a Systems Administrator will be picked by the new executive.</p>
47 <p>Last term was a great term for the CSC -- many events, some office renovations
48 and a much improved image were all part of it. I hope to see the next term's
49 exec continue this. If you're interested in seeing this happen, do consider
50 going for a position, or helping out as office staff or on one of the
53 <p>Anyways, hopefully I'll see many of you at the elections.
54 Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
56 <p>If you have any further questions don't hesitate to contact the CRO,
57 Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
63 date="1994-09-13" time="9:00 PM"
64 room="Princess Cinema"
65 title="Movie Outing: Brainstorm">
67 No description available.
71 The first of this term's CSC social events, we will be going to see
72 the movie ``Brainstorm'' at the Princess Cinema. This outing is
73 intended primarily for the new first-year students.
76 The Princess Cinema is Waterloo's repertoire theatre. This month
77 and next, they are featuring a ``Cyber Film Festival''. Upcoming
82 <li>Bladerunner (director's cut)</li>
83 <li>2001: A Space Odyssey</li>
87 Admission is $4.25 for a Princess member, $7.50 for a non-member.
88 Membership to the Princess is $7.00 per year.
93 date="1994-09-16" time="4:30 PM"
95 title="CSC Elections">
96 <short>No description available</short>
97 <abstract>No abstract available</abstract>
100 date="1994-09-19" time="4:30 PM"
102 title="UNIX I Tutorial">
103 <short>No description available</short>
104 <abstract>No abstract available</abstract>
107 date="1994-09-21" time="6:30 PM"
109 title="SIGGRAPH Video Night">
110 <short>No description available</short>
111 <abstract>No abstract available</abstract>
114 date="1994-09-22" time="4:30 PM"
116 title="UNIX I Tutorial">
117 <short>No description available</short>
118 <abstract>No abstract available</abstract>
121 date="1994-09-26" time="4:30 PM"
123 title="UNIX II Tutorial">
124 <short>No description available</short>
125 <abstract>No abstract available</abstract>
128 date="1994-10-13" time="5:00 PM"
130 title="Prograph: Picture the Future">
131 <short>No description available</short>
134 What is the next step in the evolution of computer languages?
135 Intelligent agents? Distributed objects? or visual languages?
138 Visual languages overcome many of the drawbacks and limitations
139 of the textual languages that software development is based on
140 today. Do you think about programming in a linear fashion? Or do
141 you draw a mental picture of your algorithm and then linearize it
142 for the benefit of your compiler? Wouldn't it be nice if you could
143 code the same way you think?
146 Visual C++ and Visual BASIC aren't visual languages, but Prograph
147 is. Prograph is a commercially available, visual, object-oriented,
148 data-flow language. It is well suited to graphical user interface
149 development, but is as powerful for general-purpose programming as
150 any textual language.
153 The talk will comprise a discussion of the problems of textual
154 languages that visual languages solve, a live demonstration of
155 Prograph, and some of my observations of the applications of
156 Prograph to software development.
161 date="1994-10-15" time="10:00 AM"
163 title="ACM-Style Programming Contest">
164 <short>No description available</short>
166 <h3>Big Money and Prizes!</h3>
168 So you think you're a pretty good programmer? Pit your skills
169 against others on campus in this triannual event! Contestants will
170 have three hours to solve five programming problems in either C or
174 Last fall's winners went on to the International Finals and came
175 first overall! You could be there, too!
180 date="1994-10-20" time="4:30 PM"
182 title="Exploring the Internet">
183 <short>No description available</short>
185 <h3>Need something to do between assignments/beers?</h3>
187 Did you know that your undergrad account at Waterloo gives you
188 access tothe world's largest computer network? With thousands
189 of discussion groups, gigabytes of files to download, multimedia
190 information browsers, even on-line entertainment?
193 The resources available on the Internet are vast and wondrous, but
194 the tools for navigating it are sometimes confusing and arcane. In
195 this hands-on tutorial you will get the chance to get your feet wet
196 with the world's most mind-bogglingly big computer network, the
197 protocols and programs used, and how to use them responsibly and
203 date="1994-11-02" time="4:30 PM"
206 <short>No description available</short>
208 <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
210 This will be a descussion of the pitfalls of using mathematics and
211 algorithms to play classical board games. Thorough descriptions
212 shall be presented of the simple techniques used as the building
213 blocks that make all modern computer game players. I will use
214 tic-tac-toe as a control for my arguements. Other games such as
215 Chess, Othello and Go shall be the be a greater measure of progress;
216 and more importantly the targets of our dreams.
219 To enhance the discussion of the future, Barney Pell's Metagamer
220 shall be introduced. His work in define classes of games is
221 important in identifying the features necessary for analysis.
228 <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
229 title="Living Laboratories: The Future Computing Environments at
231 <short>By Blair MacIntyre and Elizabeth Mynatt</short>
233 <p>by Blair MacIntyre and Elizabeth Mynatt</p>
234 <p>The Future Computing Environments (FCE) Group at Georgia Tech
235 is a collection of faculty and students that share a desire to
236 understand the partnership between humans and technology that
237 arises as computation and sensing become ubiquitous. With
238 expertise covering the breadth of Computer Science, but
239 focusing on HCI, Computational Perception, and Machine
240 Learning, the individual research agendas of the FCE faculty
241 are grounded in a number of shared "living laboratories" where
242 their research is applied to everyday life in the classroom
243 (Classroom 2000), the home (the Aware Home), the office
244 (Augmented Offices), and on one's person. Professors
245 MacIntyre and Mynatt will discuss a variety of these projects,
246 with an emphasis on the HCI and Computer Science aspects of
250 In addition to their affiliation with the FCE group,
251 Professors Mynatt and MacIntyre are both members of the
252 Graphics, Visualization and Usability Center (GVU) at Georgia
253 Tech. This interdisciplinary center brings together research
254 in computer science, psychology, industrial engineering,
255 architecture and media design by examining the role of
256 computation in our everyday lives. During the talk, they will
257 touch on some of the research and educational opportunities
258 available at both GVU and the College of Computing.
263 <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
264 title="GDB, Purify Tutorial">
265 <short>No description available.</short>
268 Debugging can be the most difficult and time consuming part of
269 any program's life-cycle. Far from an exact science, it's more
270 of an art ... and close to some kind of dark magic. Cryptic
271 error messages, lousy error checking, and icky things like
272 implicit casts can make it nearly impossible toknow what's
273 going on inside your program.
276 Several tools are available to help automate your
277 debuggin. GDB and Purify are among the most powerful
278 debugging tools available in a UNIX environment. GDB is an
279 interactive debugger, allowing you to `step' through
280 aprogram, examine function calls, variable contents, stack
281 traces and let you look at the state of a program after it
282 crashes. Purify is a commercial program designed to help find
283 and remove memory leaks from programs written inlanguages
284 without automatic garbage collection.
287 This talk will cover how to compile your C and C++ programs
288 for use with GDB and Purify, as well as how to use the
289 available X interfaces. If a purify license is available on
290 undergrad at the time of the talk, we will cover how to use it
296 <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
297 title="Homebrew Processors and Integrated Systems in FPGAs">
298 <short>By Jan Gray</short>
302 <p> With the advent of large inexpensive field-programmable gate
303 arrays and tools it is now practical for anyone to design and
304 build custom processors and systems-on-a-chip. Jan will discuss
305 designing with FPGAs, and present the design and implementation
306 of xr16, yet another FPGA-based RISC computer system with
307 integrated peripherals.</p>
309 <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
310 compilers, tools, and middleware at Microsoft from 1987-1998. He
311 built the first 32-bit FPGA CPU and system-on-a-chip in
316 <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
318 <short>End-of-term dinner</short>
320 No abstract available.
324 <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
325 title="Calculational Mathematics">
326 <short>By Edgar Dijkstra</short>
328 <p> By Edgar Dijkstra</p>
330 <p> This talk will use partial orders, lattice theory, and, if
331 time permits, the Galois connection as carriers to illustrate
332 the use of calculi in mathematics. We hope to show the brevity
333 of many calculations (in order tofight the superstition that
334 formal proofs are necessarily unpractically long), and the
335 strong heuristic guidance that is available for their
338 <p> Dijkstra is known for early graph-theoretical algorithms,
339 the first implementation of ALGOL 60, the first operating system
340 composed of explicitly synchronized processes, the invention of
341 guarded commands and of predicate transformers as a means for
342 defining semantics, and programming methodology in the broadest
343 sense of the word. </p>
345 <p> His current research interests focus on the formal
346 derivation of proofs and programs, and the streamlining of the
347 mathematical argument in general.</p>
349 <p> Dijkstra held the Schlumberger Centennial Chair in Computer
350 Sciences at The University of Texas at Austin until retiring in
356 <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
357 St Jerome's" title="Proofs and Programs">
358 <short>By Edsger Dijkstra</short>
360 <p> This talk will show the use of programs for the proving of
361 theorems. Its purpose is to show how our experience gained in
362 the derivations of programs might be transferred to the
363 derivation of proofs in general. The examples will go beyond the
364 (traditional) existence theorems. </p>
366 <p> Dijkstra is known for early graph-theoretical algorithms,
367 the first implementation of ALGOL 60, the first operating system
368 composed of explicitly synchronized processes, the invention of
369 guarded commands and of predicate transformers as a means for
370 defining semantics, and programming methodology in the broadest
371 sense of the word. </p>
373 <p> His current research interests focus on the formal
374 derivation of proofs and programs, and the streamlining of the
375 mathematical argument in general.</p>
377 <p> Dijkstra held the Schlumberger Centennial Chair in Computer
378 Sciences at The University of Texas at Austin until retiring in
384 <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
385 title="Open Q&A session">
386 <short>By Edsger Dijkstra</short>
387 <abstract>No description available.</abstract>
392 <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
393 title="Enterprise Java APIs and Implementing a Web Portal">
394 <short>No description available.</short>
396 <h3>by Floyd Marinescu
400 The first talk will be an introduction to the Enterprise Java
401 API's: Servlets, JSP, EJB, and how to use them to build
406 The second talk will be about how these technologies were used
407 to implement a real world portal. The talk will include an
408 overview of the design patterns used and will feature
409 architectural information about the yet to be release portal
410 (which I am one of the developers) called theserverside.com.
415 <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
416 title="Enterprise Java APIs and Implementing a Web Portal (1)">
417 <short>No description available.</short>
419 <p>Real World J2EE - Design Patterns and architecture behind the
420 yet to be released J2EE portal: theserverside.com</p>
422 <p>This talk will feature an exclusive look at the architecture
423 behind the new J2EE portal: theserverside.com. Join Floyd
424 Marinescu in a walk-through ofthe back-end of the portal,
425 while learning about J2EE and its real world patterns,
426 applications, problems and benefits.</p>
432 <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
433 House, 130 King Street S, Waterloo" title="Ctrl-D">
434 <short>End-of-term dinner</short>
435 <abstract>No abstract available.</abstract>
440 <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
441 title="CSC Elections">
442 <short>Fall 2000 Elections for the CSC.</short>
445 Would you like to get involved in the CSC? Would you like to have a
446 say in what the CSC does this term? Come out to the CSC Elections!
447 In addition to electing the executive for the Fall term, we will be
448 appointing office staff and other positions. Look for details in
452 <p>Nominations for all positions are being taken in the CSC office, MC
457 <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
458 title="SIGGraph Video Night">
459 <short> SIGGraph Video Night Featuring some truly awesome computer
460 animations from Siggraph '99. </short>
462 <p> Interested in Computer Graphics?
465 <p> Enjoy watching state-of-the-art Animation?
468 <p> Looking for a cheap place to take a date?
471 <p> SIGGraph Video Night -
472 Featuring some truly awesome computer animations from Siggraph '99.
475 <p>Come out for the Computer Science Club general elections at 6:00
476 pm, right before SIGGraph!</p>
480 <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
481 title="Realising the Next Generation Internet">
482 <short>By Frank Clegg of Microsoft Canada</short>
488 <dd>President, Microsoft Canada</dd>
491 <dd>Monday, September 25, 2000</dd>
493 <dd>14:30 - 16:00</dd>
496 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
500 <dt>Pre-registration</dt>
502 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
503 <dd>(519) 888-4004</dd>
508 <p>The Internet and the Web have revolutionized our communications, our access
509 to information and our business methods. However, there is still much room
510 for improvement. Frank Clegg will discuss Microsoft's vision for what is
511 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a
512 new platform, user experience and set of advanced software services planned
513 to make all devices work together and connect seamlessly. With this next
514 generation of software, Microsoft's goal is to make Internet-based
515 computing and communications easier to use, more personalized, and more
516 productive for businesses and consumers. In his new position of president
517 of Microsoft Canada Co., Frank Clegg will be responsible for leading the
518 organization toward the delivery of Microsoft .NET. He will speak about
519 this new platform and the next generation Internet, how software developers
520 and businesses will be able to take advantage of it, and what the .NET
521 experience will look like for consumers and business users.</p>
524 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month.
525 Prior to his new position, Mr. Clegg was vice-president, Central Region,
526 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for
527 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined
528 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996.
529 During that time, Mr. Clegg was instrumental in introducing several key
530 initiatives to improve company efficiency, growth and market share. Mr.
531 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
533 <h3>For More Information</h3>
536 The infraNET Project<br />
537 University of Waterloo<br />
538 519-888-4567 ext. 5611<br />
539 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
547 <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
548 title="Executive elections">
549 <short>Winter 2001 CSC Elections.</short>
551 <p>Would you like to get involved in the CSC? Would you like to
552 have a say in what the CSC does this term? Come out to the CSC
553 Elections! In addition to electing the executive for the
554 Winter term, we will be appointing office staff and other
555 positions. Look for details in uw.csc.
558 Nominations for all positions are being taken in the CSC
563 <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
565 <short>Second CSC meeting for Winter 2001.</short>
567 <h3>Proposed agenda</h3>
569 <dt>Book purchases</dt>
571 <p>They haven't been done in 2 terms.
572 We have an old list of books to buy.
573 Any suggestions from uw.csc are welcome.</p>
578 <p>For doing linux burns. It was allocated money on the budget
579 request - about $300. We should be able to get a decent 12x
580 burner with that (8x rewrite).</p>
581 <p>The obvious things to sell are Linux Distros and BSD variants.
582 Are there any other software that we can legally burn and sell
587 <p>Just a talk of the topics to be covered, when, where, whatnot.
588 Mike was right on this one, this should have been done earlier
589 in the term. Oh well, maybe we can fix this for next fall term.</p>
592 <dt>Game Contest</dt>
594 <p>We already put a bit of work into planning the Othello contest
595 before I read Mike's post. I still think it's viable. I've got
596 at least 2 people interested in writing entries for it. This
597 will be talked about more on monday. Hopefully, Rory and I will
598 be able to present a basic outline of how the contest is going
599 to be run at that time.</p>
601 <dt>Peri's closet cleaning</dt>
604 <p>Current sysadmin (jmbeverl) and I (kvijayan) and
605 President (geduggan) had a nice conversation about this 2
606 days ago, having to do with completely erasing all of
607 peri, installing a clean stable potato debian on it, and
608 priming it for being a gradual replacement to calum. We'll
609 probably discuss how much we want to get done on this
614 <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>
618 <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
619 title="ACM-Style programming contest">
620 <short>Practice for the ACM international programming
623 <p>Our ACM-Style practice contests involve answering five questions in three
624 hours. Solutions are written in Pascal, C or C++. Seven years in a row,
625 Waterloo's teams have been in the top ten at the world finals.
626 For more information, see
627 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
629 <h3>Easy Question:</h3>
630 <p>A palindrome is a sequence of letters that reads the same backwards and
631 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
632 only letters are important). Your task is to find the longest palindrome in
633 a line of text (if there is a tie, print the leftmost one).</p>
637 asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
638 abcbabCdcbaqwerewq abCdcba
641 <h3>Hard Question:</h3>
642 <p>An anagram is a word formed by reordering the letters of another word.
643 Find all sets of anagrams that exist within a large dictionary. The
644 input will be a sorted list of words (up to 4000 words), one per line.
645 Output each set of anagrams on a separate line. Each set should be
646 in alphabetical order, and all lines of sets should be in alphabetical
647 order. A word with no anagrams is a set of anagrams itself, and should
648 be displayed with no modifications.</p>
661 <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
663 <short>No description available.</short>
664 <abstract>No abstract available.</abstract>
667 <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
669 <short>No description available.</short>
670 <abstract>No abstract available.</abstract>
673 <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
675 <short>No description available.</short>
676 <abstract>No abstract available.</abstract>
681 <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
682 title="ACM-Style programming contest">
683 <short>Practice for the ACM international programming
686 <p>Our ACM-Style practice contests involve answering five questions in three
687 hours. Solutions are written in Pascal, C or C++. Seven years in a row,
688 Waterloo's teams have been in the top ten at the world finals.
689 For more information, see
690 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
692 <h3>Easy Question:</h3>
693 <p>A palindrome is a sequence of letters that reads the same backwards and
694 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
695 only letters are important). Your task is to find the longest palindrome in
696 a line of text (if there is a tie, print the leftmost one).</p>
700 asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
701 abcbabCdcbaqwerewq abCdcba
704 <h3>Hard Question:</h3>
705 <p>An anagram is a word formed by reordering the letters of another word.
706 Find all sets of anagrams that exist within a large dictionary. The
707 input will be a sorted list of words (up to 4000 words), one per line.
708 Output each set of anagrams on a separate line. Each set should be
709 in alphabetical order, and all lines of sets should be in alphabetical
710 order. A word with no anagrams is a set of anagrams itself, and should
711 be displayed with no modifications.</p>
727 <eventitem date="2002-01-26" time="2:00 PM"
728 room="Comfy Lounge MC3001"
729 title="An Introduction to GNU Hurd">
730 <short>Bored of GNU/Linux? Try this experimental operating
733 <p>GNU Hurd is an operating system kernel based on the microkernel
734 architecture design. It was the original GNU kernel, predating Linux,
735 and is still being actively developed by many volunteers.</p>
736 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
737 Science Club, is hosting an afternoon to show the Hurd to anyone
738 interested. Jeff Bailey, a Hurd developer, will give a presentation on
739 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
740 James Morrison, also a Hurd developer, will be hosting a Debian
741 GNU/Hurd installation session.</p>
742 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
743 and mail your key to sjdutoit@uwaterloo.ca with the subject
744 ``keysigning'' (see separate announcement).</p>
745 <p>Questions? Suggestions? Contact <a
746 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
749 <eventitem date="2002-01-26" time="2:30 PM"
750 room="Comfy Lounge MC3001"
751 title="GnuPG/PGP Keysigning Party">
752 <short>Get more signatures on your key!</short>
755 GnuPG and PGP provide public-key based encryption for e-mail and
756 other electronic communication. In addition to preventing others
757 from reading your private e-mail, this allows you to verify that an
758 e-mail or file was indeed written by its perceived author.
761 In order to make sure a GnuPG/PGP key belongs to the respective
762 person, the key must be signed by someone who has checked the
763 user's key fingerprint and verified the user's identification.
766 A keysigning party is an ideal occasion to have your key signed by
767 many people, thus strengthening the authority of your key. Everyone
768 showing up exchanges key signatures after verifying ID and
769 fingerprints. The Computer Science Club will be hosting such a
770 keysigning party together with the Hurd presentation by THUG (see
771 separate announcement). See
772 <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
773 keysigning party homepage</a> for more information.
776 Before attending it is important that you mail your key to
777 sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
778 sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
779 a sheet of paper to the event.
783 <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
784 title="UNIX 101: First Steps With UNIX">
786 This is the first in a series of seminars that cover the use of
787 the UNIX Operating System. UNIX is used in a variety of
788 applications, both in academia and industy. We will be covering
789 the basics of the UNIX environment, as well as the use of PINE, an
790 electronic mail and news reader.
793 <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
794 title="DVD-Video Under Linux">
795 <short>Billy Biggs will be holding a talk on DVD technology
796 (in particular, CSS and playback issues) under Linux, giving some
797 technical details as well as an overview of the current status of
798 Free Software efforts. All are welcome.</short>
800 <p>DVD copy protection: Content Scrambling System (CSS)</p>
802 <li>A technical introduction to CSS and an overview of the ongoing
803 legal battle to allow distribution of non-commercial DVD
805 <li>The current Linux software efforts and open issues</li>
806 <li>How applications and Linux distributions are handling the
807 legal issues involved</li>
809 <p>DVD-Video specifics: Menus and navigation</p>
811 <li>An overview of the DVD-Video standard</li>
812 <li>Reverse engineering efforts and their implementation status</li>
813 <li>Progress of integration into Linux media players</li>
817 <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
818 title="Unix 102: Fun With UNIX">
819 <short>This the second in a series of UNIX tutorials. Simon Law and
820 James Perry will be presenting some more advanced UNIX
821 techniques. All are welcome. Accounts will be provided for those
822 needing them.</short>
825 This is the second in a series of seminars that cover the use of
826 the UNIX Operating System. UNIX is used in a variety of
827 applications, both in academia and industry. We will provide you
828 with hands-on experience with the Math Faculty's UNIX environment
831 <p>Topics that will be discussed include:</p>
833 <li>Interacting with Bourne and C shells</li>
834 <li>Editing text using the vi text editor</li>
835 <li>Editing text using the Emacs display editor</li>
836 <li>Multi-tasking and the screen multiplexer</li>
839 If you do not have a Math computer account, don't panic; one will
840 be lent to you for the duration of this class.
844 <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
845 title="Computer Go, The Ultimate">
846 <short>Thomas Wolf from Brock University will be holding a talk on
847 the asian game of Go. All are welcome.</short>
850 The asian game go is unique in a number of ways. It is the oldest
851 board game known. It is a strategy game with very simple
852 rules. Computer programs are very weak despite huge efforts and
853 prizes of US$ > 1.5M for a program beating professional
854 players. The talk will quickly explain the rules of go, compare go
855 and chess, mention various attempts to program go and describe our
856 own efforts in this field. Students will have an opportunity to
857 solve computer generated go problems. Prizes will be available.
864 <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
866 <short>Come and vote for this term's exec</short>
869 Vote for the exec this term. Meet at the CSC office.
877 <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
878 title="F02 elections">
879 <short>Come and vote for this term's exec</short>
882 Vote for the exec this term. Meet at the comfy
883 lounge. There will be an opportunity to obtain or renew
884 memberships. This term's CRO is Siyan Li
885 (s8li@csclub.uwaterloo.ca).
890 <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
891 title="Business Meeting">
892 <short>Vote on a constitutional change.</short>
895 The executive has unanimously decided to try to change our
896 constitution to comply with MathSoc policy. The clause we are trying
897 to change is the membership clause. The following is the proposed new
898 reading of the clause.
901 In compliance with MathSoc regulations and in recognition of
902 the club being primarily targeted at undergraduate students, full
903 membership is open to all undergraduate students in the Faculty of
904 Mathematics and restricted to the same.</i>
908 The proposed change is illustrated <a
909 href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
914 There will be a business meeting on 30 Sept 2002 at 18:30 in
915 the comfy lounge, MC 3001. Please come and vote
920 <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
922 <short>First Steps with UNIX</short>
925 Get to know UNIX and be the envy of your friends!
928 This is the first in a series of seminars that cover the use
929 of the UNIX Operating System. UNIX is used in a variety of
930 applications, both in academia and industy. We will provide
931 you with hands-on experience with the Math Faculty's UNIX
932 environment in this seminar.
935 Topics that will be discussed include:
938 <li>Navigating the UNIX environment</li>
939 <li>Using common UNIX commands</li>
940 <li>Using the PICO text editor</li>
941 <li>Reading electronic mail and news with PINE</li>
944 If you do not have a Math computer account, don't panic; one will be
945 lent to you for the duration of this class.
950 <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
951 title="Pints with the Profs">
952 <short>Get to know your profs and be the envy of your friends!</short>
954 <p>Come out and meet your professors. This is a great opportunity to
955 meet professors for Undergraduate Research jobs or to find out who you might
956 have for future courses.</p>
958 <p>Profs who have confirmed their attendance are:</p>
960 <li>Troy Vasiga, School of Computer Science</li>
961 <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
962 <li>Michael McCool, School of Computer Science, CGL</li>
963 <li>Martin Karsten, School of Computer Science, BBCR</li>
964 <li>Gisli Hjaltason, School of Computer Science, DB</li>
967 <p>There will also be...</p>
976 <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
978 <short>Talking to your UNIX can be fun and profitable.</short>
980 <p>This is the second in a series of seminars that cover the use of
981 the UNIX Operating System. UNIX is used in a variety of applications,
982 both in academia and industry. We will provide you with hands-on
983 experience with the Math Faculty's UNIX environment in this
986 <p>Topics that will be discussed include:</p>
987 <ul><li>Interacting with Bourne and C shells</li>
988 <li>Editing text using the vi text editor</li>
989 <li>Editing text using the Emacs display editor</li>
990 <li>Multi-tasking and the screen multiplexer</li>
993 <p>If you do not have a Math computer account, don't panic; one will be
994 lent to you for the duration of this class.</p>
999 <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
1000 title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
1001 <short>A talk by Filip Spacek, KGI developer</short>
1003 Linux has proven itself as a reliable operating system but arguably,
1004 it still lacks in support of high performance graphics
1005 acceleration. This talk will describe basic components of a PC video
1006 card and the design and limitations the current Linux display driver
1007 architecture. Finally a an overview of a new architecture, the Kernel
1008 Graphics Interface (KGI), will be given. KGI attempts to solve the
1009 shortcomings of the current design, and provide a lightweight and
1010 portable interface to the display subsystem.
1014 <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
1017 <abstract>No abstract available yet.</abstract>
1020 <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
1021 title="The Evil Side of C++">
1022 <short>Abusing template metaprogramming in C++; aka. writing a
1023 Mandelbrot generator that runs at compile time</short>
1025 <p>Templates are a useful feature in C++ when it comes to writing
1026 type-independent data structures and algorithms. Relatively soon
1027 after their appearance it was realised that they could be used to
1028 do much more than this. Essentially it is possible to write
1029 certain programs in C++ that execute <i>completely at compile
1030 time</i> rather than run time. Combined with constant-expression
1031 optimisation this is an interesting twist on regular C++
1033 <p>This talk will give a short overview of the features of
1034 templates and then go on to describe how to "abuse"
1035 templates to perform complex computations at compile time. The
1036 speaker will present three programs of increasing complexity which
1037 execute at compile time. First a factorial listing program, then a
1038 prime listing program will be presented. Finally the talk will
1039 conclude with the presentation of a <b>Mandelbrot generator running
1040 at compile time</b>.</p>
1042 <p>If you are interested in programming for the fun of it, the C++
1043 language or silly tricks to do with languages, this talk is for
1044 you. No C++ knowledge should be necessary to enjoy this talk, but
1045 programming experience will make it more worthwile for you.</p>
1047 </abstract> </eventitem>
1049 <eventitem date="2002-11-02" time="11:00AM-3:00PM"
1050 room="MC3002 (Math Coffee and Donut Store)"
1051 title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
1052 <short>Bring over your computer and we'll help you install GNU/Linux</short>
1054 <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
1055 href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
1056 href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
1057 are jointly hosting a GNU/Linux InstallFest. GNU/Linux is a
1058 powerful, free operating system for your computer. It is mostly
1059 written by talented volunteers who like to share their efforts
1060 and help each other.</p>
1062 <p>Perhaps you have are you interested in installing GNU/Linux.
1063 If so, bring your computer, monitor and keyboard; and we will
1064 help you install GNU/Linux on your machine. You can also find
1065 knowledgable people who can answer your questions about
1070 <h3>Frequently Asked Questions</h3>
1072 <p><b>Q: </b>What is GNU/Linux?<br />
1073 <b>A: </b>GNU/Linux is a free operating system for your computer. It is mostly
1074 written by talented volunteers who like to share their efforts.
1077 <p><b>Q: </b>Free?<br />
1078 <b>A: </b>GNU/Linux is available for zero-cost. As well, it allows you such
1079 freedom to share it with your friends, or to modify the software to
1080 your own needs and share that with your friends. It's very friendly.
1083 <p><b>Q: </b>What is an InstallFest?<br />
1084 <b>A: </b>An InstallFest is a meeting where volunteers help people install
1085 GNU/Linux on their computers. It's also a place to meet users, and
1086 talk to them about running GNU/Linux.
1089 <p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
1090 <b>A: </b>Almost any recent computer will do. If you have an old machine
1091 kicking around, you can install GNU/Linux on it as well. If it is
1092 at least 5 years old, it should be good enough.
1095 <p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
1096 <b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
1097 disk space to spare; then it should be possible.
1100 <p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
1101 <b>A: </b>You will want to bring:</p>
1104 <li>Monitor and monitor cable</li>
1105 <li>Power cords</li>
1106 <li>Keyboard and mouse</li>
1112 <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
1113 title="The GNU General Public License">
1114 <short>The teeth of Free Software</short>
1119 The licenses for most software are designed to take away your freedom
1120 to share and change it. By contrast, the GNU General Public License
1121 is intended to guarantee your freedom to share and change free
1122 software---to make sure the software is free for all its users.
1123 </i><br/>--- Excerpt from the GNU GPL
1126 <p>The GNU General Public License is one of the most influencial
1127 software licenses in this day. Written by Richard Stallman for the
1128 GNU Project, it is used by software developers around the world to
1132 Unfortunately, software developers do not read licenses thoroughly, nor
1133 well. In this talk, we will read the entire GNU GPL and explain the
1134 implications of its passages. Along the way, we will debunk some myths
1135 and clarify common misunderstandings.
1138 After this session, you ought to understand what the GNU GPL means, how
1139 to use it, and when you cannot use it. This session should also give
1140 you some insight into the social implications of this work.
1145 <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
1146 title="Metaprogramming GPUs">
1147 <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
1150 Modern graphics accelerators, or "GPUs", have embedded high-performance
1151 programmable components in the form of vertex and fragment shading units.
1152 Recently, these units have evolved from 8-bit computations to floating-point,
1153 and other operations provide array gather, scatter, and summation.
1154 These capabilities make GPUs akin to array processors of the
1155 past, but with a difference: every PC now has one! I am interested
1156 in finding the best way to exploit this computational capacity for not
1157 only graphics but for general-purpose computation.
1159 Current APIs permit specification of the programs for GPUs
1160 using an assembly-language level interface. Compilers for high-level
1161 shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and
1162 DirectX will also include standardized shading languages. This talk will
1163 review these. However, compilers for these languages read in an external
1164 string specification, which can be inconvenient.
1166 However, it is possible, using standard C++, to define a high-level
1167 shading language directly in the API. Such a language can be nearly
1168 indistinguishable from a special-purpose programming language, yet
1169 permits more direct interaction with the specification of textures
1170 (arrays) and parameters, simplifies implementation, and enables
1171 on-the-fly generation, manipulation, and specialization of shader programs.
1172 A shading language built into the API also permits the lifting of
1173 C++ host language type, modularity, and scoping constructs into the shading
1174 language without any additional implementation effort. Such an
1175 embedded language could be used to program other embedded processors
1176 (such as DSP chips in sound cards) or even to generate machine language
1177 on the fly for the host CPU.
1182 <eventitem date="2002-11-16" time="1:30pm" room="York University"
1183 title="Trip to York University">
1184 <short>Going to visit the York University Computer Club</short>
1185 <abstract><p>YUCC and the UW CSC have having a join meeting at York
1186 University. Dave Makalsky, the President of YUCC, will be giving a talk on
1187 Design-by-constract and Eiffel. Stefanus Du Toit, Vice-President of the UW
1188 CSC, will be giving a talk on the evil depths of the black art known as C++.
1190 <ul><li>1:30pm: Leave UW</li>
1191 <li>3:00pm: Arrive at York University.</li>
1192 <li>3:30pm: The Evil side of C++</li>
1193 <li>4:30pm: Design-by-Contract and Eiffel</li>
1194 <li>6:00pm: Dinner</li>
1195 <li>9:00pm: Arrive back at UW</li>
1200 <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
1202 <short>A talk by Simon Law</short>
1205 Perl, the Practical Extraction and Reporting Language can only
1206 be described as an eclectic language, invented and refined by
1207 a deranged system administrator, who was trained as a
1208 linguist. This man, however, has declared:
1212 Perl 5 was my rewrite of Perl.
1213 I want Perl 6 to be the community's rewrite of Perl and of the
1215 </i><br/>--- Larry Wall
1218 Whenever a language is designed by a committee, it is common
1219 wisdom to avoid it. Not so with Perl, for it cannot get
1220 worse. However strange these Perl people seem, Perl 6 is a
1221 good thing coming. In this talk, I will demonstrate some Perl
1222 5 programs, and talk about their Perl 6 counterparts, to show
1223 you that Perl 6 will be cleaner, friendlier, and prettier.
1228 <eventitem date="2002-11-21" time="4:30pm" room="MC2066"
1229 title="Samba and You">
1230 <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
1232 Samba is a free implementation of the Server Message Block (SMB)
1233 protocol. It also implements the Common Internet File System (CIFS)
1234 protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
1236 SMB was originally developed in the early to mid-80's by IBM and was
1237 further improved by Microsoft, Intel, SCO, Network Appliances, Digital
1238 and many others over a period of 15 years. It has now morphed into CIFS,
1239 a form strongly influenced by Microsoft. </p><p>
1240 Samba is considered to be one of the key projects for the acceptance of
1241 GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
1242 corporate world: a traditional Windows NT/2000 stronghold. </p><p>
1243 We will talk about interfacing Samba servers and desktops with the
1244 Windows world. From a simple GNU/Linux desktop in your home to the
1245 corporate server that provides collaborative file/printer sharing,
1246 logons and home directories to hundreds of users a day. </p>
1250 <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
1251 title="GNU/Linux on HPPA">
1252 <short>Carlos O'Donnell talks about "the last of the legacy processors to fall before the barbarian horde"</short>
1254 <p>This whirlwind talk is aimed at providing an overview of the
1255 GNU/Linux port for the HP PARISC processor. The talk will focus on
1256 the "intricacies" of the processor, and in particular the
1257 implementations of the Linux kernel and GNU Libc. After the talk
1258 you should be acutely aware of how little code needs to be written
1259 to support a new architecture! Carlos has been working on the port
1260 for two years, and enjoying the fruits of his labour on a 46-node
1265 Carlos is currently in his 5th year of study at the University
1266 of Western Ontario. This is his last year in a concurrent
1267 Computer Engineering and Computer Science degree. His research
1268 interest range from distributed and parallel systems to low
1269 level optimized hardware design. He likes playing guitar and
1270 just bought a Cort NTL-20, jumbo body, solid spurce top with
1271 a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
1272 GNU Debugger, GNU Binutils and various Debian packages.
1279 <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
1280 title="The Hurd Interfaces">
1281 <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
1283 <p>The Hurd server interfaces are at the heart of the Hurd system. They
1284 define the remote procedure calls (RPCs) that are used by the servers, the
1285 GNU C library and the utility programs to communicate with the Hurd system
1286 and to implement the POSIX personality of the Hurd as well as other
1289 <p>This talk is a walk through the Hurd RPCs, and will give an overview of how
1290 they are used to implement the system. Individual RPCs will be used to
1291 illustrate important or exciting features of the Hurd system in general,
1292 and it will be shown how those features are accessible to the user at the
1293 command line, too.</p>
1297 <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
1298 Germany. He is one of maintainers of the GNU Hurd project and the
1299 initiator of the Debian GNU/Hurd binary distribution. He designed and
1300 implemented the console subsystem of the Hurd, wrote the FAT filesystem
1301 server, and fixed a lot of bugs, thus increasing the stability and
1302 usability of the system.</p>
1307 <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
1308 title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
1309 <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
1311 <p>Virtual memory management is one of the cornerstones of multiuser
1312 operating systems. Most systems available today place all of the
1313 policy in a monolithic virtual memory manager, VMM, isolated from the
1314 rest of the system. Although secure and lightweight, users have no
1315 way to communicate their anticipated memory needs and usage to the
1316 system pager. As a result, the VMM can only implement a global paging
1317 policy (typically, an approximation of LRU) which may be good on
1318 average but is best for nobody.</p>
1320 <p>With the port of Hurd to the L4 microkernel, this situation is being
1321 readdressed. Due to its more distributed nature, a centralized
1322 resource manager is not only more difficult to implement efficiently
1323 but also contrary to the philosophy of the rest of the system. We are
1324 currently exploring a model whereby each program is fully self-paged
1325 and all compete for memory from a physical memory server. This talk
1326 will first discuss how paging currently works in Mach and other
1327 systems. An argument for an external paging policy will then be
1328 presented followed by the requirements of such a design and the design
1333 <p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
1334 Lowell. Neal spent the summer of 2002 at University of Karlsruhe working
1335 on porting the GNU Hurd to L4.</p>
1340 <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
1341 title="Debian in the Enterprise">
1342 <short>A talk by Simon Law</short>
1344 <p>The Debian Project produces a "Universal Operating System" that is
1345 comprised entirely of Free Software. This talk focuses on using Debian
1346 GNU/Linux in an enterprise environment. This includes:</p>
1348 <li>Where Debian can be deployed</li>
1349 <li>Strategic advantages of Debian</li>
1350 <li>Ways for business to give back to Debian</li>
1355 <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
1356 title="Automatic Memory Management and Garbage Collection">
1357 <short>A talk by James A. Morrison</short>
1360 Do you ever wonder what java is doing while you wait? Have you ever used
1361 Modula-3? Do you wonder how lazily you can Mark and Sweep? Would you like to
1362 know how to Stop-and-Copy?
1364 Come out to this talk and learn these things and more. No prior knowledge of
1365 Garbage Collection or memory management is needed.