5 <eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
6 title="Unix 101 Tutorial">
7 <short>Learn Unix and be the envy of your friends!</short>
10 <p>This is the first in a series of seminars that cover the use of the
11 UNIX Operating System. UNIX is used in a variety of applications, both
12 in academia and industy. We will provide you with hands-on experience
13 with the Math Faculty's UNIX environment in this seminar.</p>
15 <p>Topics that will be discussed include:</p>
18 <li> Navigating the UNIX environment</li>
19 <li> Using common UNIX commands</li>
20 <li>Using the PICO text editor</li>
21 <li>Reading electronic mail and news with PINE</li>
24 <p>If you do not have a Math computer account, don't panic; one will be lent
25 to you for the duration of this class.</p>
30 <eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
31 title="Unix 102 Tutorial">
32 <short>Learn more Unix and be the envy of your friends!</short>
35 <p>Abstract to come soon.</p>
40 <eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
41 title="Unix 103 Tutorial">
42 <short>Learn more Unix and be the envy of your friends!</short>
45 <p>Abstract to come soon. </p>
50 <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
51 title="W03 Elections">
52 <short>Come out and vote for the new exec!</short>
55 <p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
56 MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
57 January 2) until 4:30 PM of the day before elections (Sunday, January 12).
58 In order to nominate someone you can either e-mail me directly, by depositing
59 a form with the required information in the CSC mailbox in the Mathsoc office
60 or by writing the nomination and clearly marking it as such on the large
61 whiteboard in the CSC office. E-mail is probably the best choice.
62 Please include the name of the person to be nominated as well as the position
63 you wish to nominate them for.</p>
65 <p>Candidates must be full members of the club. This means they must have paid
66 their membership for the given term and (due to recent changes in the
67 constitution) must be full-time undergraduate math students.
68 The same requirements hold for those voting. Please bring your Watcard to
69 the elections so that I can verify this. I will have a list of members with
72 <p>The positions open are:</p>
74 <p><b>President</b> -- appoints all commitees of the club, calls and presides at all
75 meetings of the club and audits the club's financial records. Really, this
76 is the person in charge.</p>
78 <p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
79 plans and coordinates events with the programmes committee and assumes any
80 other duties delegated by the President.
81 This is a really fun job if you enjoy coordinating events!</p>
83 <p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
84 A fairly light job, good choice if you just want to see what being an exec
87 <p><b>Treasurer</b> -- maintains all the finances of the club.
88 If you like money and keeping records, this is the job for you!</p>
90 <p>Additionally a Systems Administrator will be picked by the new executive.</p>
92 <p>Last term was a great term for the CSC -- many events, some office renovations
93 and a much improved image were all part of it. I hope to see the next term's
94 exec continue this. If you're interested in seeing this happen, do consider
95 going for a position, or helping out as office staff or on one of the
98 <p>Anyways, hopefully I'll see many of you at the elections.
99 Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
101 <p>If you have any further questions don't hesitate to contact the CRO,
102 Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
106 <eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
107 title="Regular Expressions">
108 <short>Find your perfect match</short>
111 <p>Stephen Kleene developed regular expressions to describe what he
112 called <q>the algebra of regular sets.</q> Since he was a pioneering
113 theorist in computer science, Kleene's regular expressions soon made
114 it into searching algorithms and from there to everyday tools.</p>
116 <p>Regular expressions can be powerful tools to manipulate text.
117 You will be introduced to them in this talk. As well, we will go
118 further than the rigid mathematical definition of regular
119 expressions, and delve into POSIX regular expressions which are
120 typically available in most Unix tools.</p>
125 <eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
126 title="sed & awk">
127 <short>Unix text editing</short>
130 <p><i>sed</i> is the Unix stream editor. A powerful way to
131 automatically edit a large batch of text. <i>awk</i> is a
132 programming language that allows you to manipulate structured data
133 into formatted reports.</p>
135 <p>Both of these tools come from early Unix, and both are still
136 useful today. Although modern programming languages such as Perl,
137 Python, and Ruby have largely replaced the humble <i>sed</i> and
138 <i>awk</i>, they still have their place in every Unix user's
144 <eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
145 title="LaTeX: A Document Processor">
146 <short>Typesetting beautiful text</short>
149 <p>Unix was one of the first electronic typesetting platforms. The
150 innovative AT&T <i>troff</i> system allowed researches at Bell
151 Labs to generate high quality camera-ready proofs for their papers.
152 Later, Donald Knuth invented a typesetting system called
153 T<small>E</small>X, which was far superior to other typesetting
154 systems in the 1980s. However, it was still a typesetting language,
155 where one had to specify exactly how text was to be set.</p>
157 <p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
158 for the T<small>E</small>X system that allows an author to describe
159 his document's function, thereby typesetting the text in an
160 attractive and correct way. In addition, one can define semantic
161 tags to a document, in order to describe the meaning of the
162 document; rather than the layout.</p>
167 <eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
168 title="LaTeX: Reports">
169 <short>Writing reports that look good.</short>
172 <p>Work term reports, papers, and other technical documents can be
173 typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
174 effect. In this session, I will provide examples on how to typeset
175 tables, figures, and references. You will also learn how to make
176 tables of contents, bibliographics, and how to create footnotes.</p>
178 <p> I will also examine various packages of
179 L<sup><small>A</small></sup>T<small>E</small>X that can help you
180 meet requirements set by users of inferior typesetting systems.
181 These include double-spacing, hyphenation and specific margin
187 <eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
188 title="LaTeX: Beautiful Mathematics">
189 <short>LaTeX => fun</short>
192 <p>It is widely acknowledged that the best system by which to
193 typeset beautiful mathematics is through the T<small>E</small>
194 typesetting system, written by Donald Knuth in the early 1980s.</p>
196 <p>In this talk, I will demonstrate
197 L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
198 elegant mathematical expressions.</p>
203 <eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
204 title="The BSD License Family">
205 <short>Free for all</short>
208 <p>Before the GNU project ever existed, before the phrase
209 "Free Software" was ever coined, students and researchers
210 at the University of California, Berkeley were already
211 practising it. They had acquired the source cdoe to a
212 little-known operating system developed at AT&T
213 Bell Laboratories, and were creating improvments at a
216 <p>These improvements were sent back to Bell Labs, and
217 shared to other Universities. Each of them were licensed
218 under what is now known as the "Original BSD license". Find
219 out what this license means, its implications, and what are
220 its decendents by attending this short talk.</p>
225 <eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
226 title="The GNU General Public License">
227 <short>The teeth of Free Software</short>
230 <div style="font-style: italic"><blockquote>
231 The licenses for most software are designed to take away your
232 freedom to share and change it. By contrast, the GNU General
233 Public License is intended to guarantee your freedom to share and
234 change free software---to make sure the software is free for all
237 <div style="text-align:right">--- Excerpt from the GNU GPL</div>
240 <p> The GNU General Public License is one of the most influencial
241 software licenses in this day. Written by Richard Stallman for the
242 GNU Project, it is used by software developers around the world to
243 protect their work.</p>
245 <p>Unfortunately, software developers do not read licenses
246 thoroughly, nor well. In this talk, we will read the entire GNU GPL
247 and explain the implications of its passages. Along the way, we
248 will debunk some myths and clarify common misunderstandings.</p>
250 <p>After this session, you ought to understand what the GNU GPL
251 means, how to use it, and when you cannot use it. This session
252 should also give you some insight into the social implications of
258 <eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
260 <short>Give your documents more markup</short>
263 <p>XML is the <q>eXtensible Markup Language,</q> a standard
264 maintained by the World Wide Web Consortium. A descendant of IBM's
265 SGML. It is a metalanguage which can be used to define markup
266 languages for semantically describing a document.</p>
268 <p>This talk will describe how to generate correct XML documents,
269 and auxillary technologies that work with XML.</p>
274 <eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
276 <short>Transforming your documents</short>
279 <p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
280 a language for transforming XML documents into other XML
283 <p>XSLT is used to manipulate XML documents into other forms: a sort
284 of glue between data formats. It can turn an XML document into an
285 XHTML document, or even an HTML document. With a little bit of
286 hackery, it can even be convinced to spit out non-XML conforming
292 <eventitem date="2003-03-24" time="8:00 PM"
293 room="Humanities Theatre, Hagey Hall"
294 title="Judy, or What Is It Like To Be A Robot?">
295 <short>Held in co-operation with the UW Cognitive Science Club</short>
298 <p>A lot of claims have been made lately about the intelligence of
299 computers. Some researchers say that computers will eventually attain
300 super-human intelligence. Others call thse claims... um, poppycock.
301 Oddly enough, in the search for the truth of the matter, both camps
302 have overlooked an obvious strategy: interviewing a computer and asking
305 <p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and
306 lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>
308 <p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
309 imagination stretcher that delights while it exercises your mind. If you
310 think you can't imagine a conscious robot, you're wrong---you can,
311 especially once you've met Judy." --- Daniel C. Dennett,
312 author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
315 <p>"...an engrossing evening... Real questions about
316 consciousness, freedom to act, the relationship between the creator
317 and the created are woven into a bravura performance." --- Will
318 Stackman, <i>Aislesay.com</i></p>
320 <p>Sponsored by the Mathematics Society, the Federation of Students, the
321 Arts Student Union, the Graduate Student Association, and the Department of
322 Philosophy. Tickets available at the Humanities box office (888-4908) and
323 the offices of the Psychology Society and the Computer Science Club for
326 href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>
331 <eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
332 title="Stream Processing">
336 <p>Stream processing is an enhanced version of SIMD processing that
337 permits efficient execution of conditionals and iteration. Stream
338 processors have many similarities to GPUs, and a hardware prototype,
339 the Imagine processor, has been used to implement both OpenGL and
342 <p>It is possible that GPUs will acquire certain properties
343 of stream processors in the future, which should make them easier
344 to use and more efficient for general-purpose computation that includes
345 data-dependent iteration and conditionals.</p>
350 <eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
351 title="Abusing the C++ Compiler">
352 <short>Abusing template metaprogramming in C++</short>
355 <p>Templates are a useful feature in C++ when it comes to writing
356 type-independent data structures and algorithms. But that's not all
357 they can be used for. Essentially, it is possible to write certain
358 programs in C++ that execute completely at compile-time rather
359 than run-time. Combined with some optimisations this is an interesting
360 twist on regular C++ programming.</p>
362 <p>This talk will give a short overview of the features of templates
363 and then go on to describe how to "abuse" templates to perform complex
364 computations at compile time. The speaker will present three programs of
365 increasing complexity which execute at compile time. First a factorial
366 listing program, then a prime listing program will be presented. Finally
367 the talk will conclude with the presentation of a <i>Mandelbrot
368 generator running at compile time.</i></p>
370 <p>Some basic knowledge of C++ will be assumed.</p>
375 <eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
376 title="SSH and Networks">
377 <short>Once more into the breach</short>
380 <p>The Secure Shell (SSH) has now replaced traditional remote login
381 tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
382 <i>telnet</i>. It is used to provide secure, authenticated,
383 encrypted communications between remote systems. However, the SSH
384 protocol provides for much more than this.</p>
386 <p>In this talk, we will discuss using SSH to its full extent. Topics
387 to be covered include:</p>
389 <li>Remote logins</li>
390 <li>Remote execution</li>
391 <li>Password-free authentication</li>
392 <li>X11 forwarding</li>
393 <li>TCP forwarding</li>
394 <li>SOCKS tunnelling</li>
402 date="1994-09-13" time="9:00 PM"
403 room="Princess Cinema"
404 title="Movie Outing: Brainstorm">
406 No description available.
410 The first of this term's CSC social events, we will be going to see
411 the movie ``Brainstorm'' at the Princess Cinema. This outing is
412 intended primarily for the new first-year students.
415 The Princess Cinema is Waterloo's repertoire theatre. This month
416 and next, they are featuring a ``Cyber Film Festival''. Upcoming
421 <li>Bladerunner (director's cut)</li>
422 <li>2001: A Space Odyssey</li>
426 Admission is $4.25 for a Princess member, $7.50 for a non-member.
427 Membership to the Princess is $7.00 per year.
432 date="1994-09-16" time="4:30 PM"
434 title="CSC Elections">
435 <short>No description available</short>
436 <abstract>No abstract available</abstract>
439 date="1994-09-19" time="4:30 PM"
441 title="UNIX I Tutorial">
442 <short>No description available</short>
443 <abstract>No abstract available</abstract>
446 date="1994-09-21" time="6:30 PM"
448 title="SIGGRAPH Video Night">
449 <short>No description available</short>
450 <abstract>No abstract available</abstract>
453 date="1994-09-22" time="4:30 PM"
455 title="UNIX I Tutorial">
456 <short>No description available</short>
457 <abstract>No abstract available</abstract>
460 date="1994-09-26" time="4:30 PM"
462 title="UNIX II Tutorial">
463 <short>No description available</short>
464 <abstract>No abstract available</abstract>
467 date="1994-10-13" time="5:00 PM"
469 title="Prograph: Picture the Future">
470 <short>No description available</short>
473 What is the next step in the evolution of computer languages?
474 Intelligent agents? Distributed objects? or visual languages?
477 Visual languages overcome many of the drawbacks and limitations
478 of the textual languages that software development is based on
479 today. Do you think about programming in a linear fashion? Or do
480 you draw a mental picture of your algorithm and then linearize it
481 for the benefit of your compiler? Wouldn't it be nice if you could
482 code the same way you think?
485 Visual C++ and Visual BASIC aren't visual languages, but Prograph
486 is. Prograph is a commercially available, visual, object-oriented,
487 data-flow language. It is well suited to graphical user interface
488 development, but is as powerful for general-purpose programming as
489 any textual language.
492 The talk will comprise a discussion of the problems of textual
493 languages that visual languages solve, a live demonstration of
494 Prograph, and some of my observations of the applications of
495 Prograph to software development.
500 date="1994-10-15" time="10:00 AM"
502 title="ACM-Style Programming Contest">
503 <short>No description available</short>
505 <h3>Big Money and Prizes!</h3>
507 So you think you're a pretty good programmer? Pit your skills
508 against others on campus in this triannual event! Contestants will
509 have three hours to solve five programming problems in either C or
513 Last fall's winners went on to the International Finals and came
514 first overall! You could be there, too!
519 date="1994-10-20" time="4:30 PM"
521 title="Exploring the Internet">
522 <short>No description available</short>
524 <h3>Need something to do between assignments/beers?</h3>
526 Did you know that your undergrad account at Waterloo gives you
527 access tothe world's largest computer network? With thousands
528 of discussion groups, gigabytes of files to download, multimedia
529 information browsers, even on-line entertainment?
532 The resources available on the Internet are vast and wondrous, but
533 the tools for navigating it are sometimes confusing and arcane. In
534 this hands-on tutorial you will get the chance to get your feet wet
535 with the world's most mind-bogglingly big computer network, the
536 protocols and programs used, and how to use them responsibly and
542 date="1994-11-02" time="4:30 PM"
545 <short>No description available</short>
547 <h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
549 This will be a descussion of the pitfalls of using mathematics and
550 algorithms to play classical board games. Thorough descriptions
551 shall be presented of the simple techniques used as the building
552 blocks that make all modern computer game players. I will use
553 tic-tac-toe as a control for my arguements. Other games such as
554 Chess, Othello and Go shall be the be a greater measure of progress;
555 and more importantly the targets of our dreams.
558 To enhance the discussion of the future, Barney Pell's Metagamer
559 shall be introduced. His work in define classes of games is
560 important in identifying the features necessary for analysis.
567 <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
568 title="Living Laboratories: The Future Computing Environments at
570 <short>By Blair MacIntyre and Elizabeth Mynatt</short>
572 <p>by Blair MacIntyre and Elizabeth Mynatt</p>
573 <p>The Future Computing Environments (FCE) Group at Georgia Tech
574 is a collection of faculty and students that share a desire to
575 understand the partnership between humans and technology that
576 arises as computation and sensing become ubiquitous. With
577 expertise covering the breadth of Computer Science, but
578 focusing on HCI, Computational Perception, and Machine
579 Learning, the individual research agendas of the FCE faculty
580 are grounded in a number of shared "living laboratories" where
581 their research is applied to everyday life in the classroom
582 (Classroom 2000), the home (the Aware Home), the office
583 (Augmented Offices), and on one's person. Professors
584 MacIntyre and Mynatt will discuss a variety of these projects,
585 with an emphasis on the HCI and Computer Science aspects of
589 In addition to their affiliation with the FCE group,
590 Professors Mynatt and MacIntyre are both members of the
591 Graphics, Visualization and Usability Center (GVU) at Georgia
592 Tech. This interdisciplinary center brings together research
593 in computer science, psychology, industrial engineering,
594 architecture and media design by examining the role of
595 computation in our everyday lives. During the talk, they will
596 touch on some of the research and educational opportunities
597 available at both GVU and the College of Computing.
602 <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
603 title="GDB, Purify Tutorial">
604 <short>No description available.</short>
607 Debugging can be the most difficult and time consuming part of
608 any program's life-cycle. Far from an exact science, it's more
609 of an art ... and close to some kind of dark magic. Cryptic
610 error messages, lousy error checking, and icky things like
611 implicit casts can make it nearly impossible toknow what's
612 going on inside your program.
615 Several tools are available to help automate your
616 debuggin. GDB and Purify are among the most powerful
617 debugging tools available in a UNIX environment. GDB is an
618 interactive debugger, allowing you to `step' through
619 aprogram, examine function calls, variable contents, stack
620 traces and let you look at the state of a program after it
621 crashes. Purify is a commercial program designed to help find
622 and remove memory leaks from programs written inlanguages
623 without automatic garbage collection.
626 This talk will cover how to compile your C and C++ programs
627 for use with GDB and Purify, as well as how to use the
628 available X interfaces. If a purify license is available on
629 undergrad at the time of the talk, we will cover how to use it
635 <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
636 title="Homebrew Processors and Integrated Systems in FPGAs">
637 <short>By Jan Gray</short>
641 <p> With the advent of large inexpensive field-programmable gate
642 arrays and tools it is now practical for anyone to design and
643 build custom processors and systems-on-a-chip. Jan will discuss
644 designing with FPGAs, and present the design and implementation
645 of xr16, yet another FPGA-based RISC computer system with
646 integrated peripherals.</p>
648 <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
649 compilers, tools, and middleware at Microsoft from 1987-1998. He
650 built the first 32-bit FPGA CPU and system-on-a-chip in
655 <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
657 <short>End-of-term dinner</short>
659 No abstract available.
663 <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
664 title="Calculational Mathematics">
665 <short>By Edgar Dijkstra</short>
667 <p> By Edgar Dijkstra</p>
669 <p> This talk will use partial orders, lattice theory, and, if
670 time permits, the Galois connection as carriers to illustrate
671 the use of calculi in mathematics. We hope to show the brevity
672 of many calculations (in order tofight the superstition that
673 formal proofs are necessarily unpractically long), and the
674 strong heuristic guidance that is available for their
677 <p> Dijkstra is known for early graph-theoretical algorithms,
678 the first implementation of ALGOL 60, the first operating system
679 composed of explicitly synchronized processes, the invention of
680 guarded commands and of predicate transformers as a means for
681 defining semantics, and programming methodology in the broadest
682 sense of the word. </p>
684 <p> His current research interests focus on the formal
685 derivation of proofs and programs, and the streamlining of the
686 mathematical argument in general.</p>
688 <p> Dijkstra held the Schlumberger Centennial Chair in Computer
689 Sciences at The University of Texas at Austin until retiring in
695 <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
696 St Jerome's" title="Proofs and Programs">
697 <short>By Edsger Dijkstra</short>
699 <p> This talk will show the use of programs for the proving of
700 theorems. Its purpose is to show how our experience gained in
701 the derivations of programs might be transferred to the
702 derivation of proofs in general. The examples will go beyond the
703 (traditional) existence theorems. </p>
705 <p> Dijkstra is known for early graph-theoretical algorithms,
706 the first implementation of ALGOL 60, the first operating system
707 composed of explicitly synchronized processes, the invention of
708 guarded commands and of predicate transformers as a means for
709 defining semantics, and programming methodology in the broadest
710 sense of the word. </p>
712 <p> His current research interests focus on the formal
713 derivation of proofs and programs, and the streamlining of the
714 mathematical argument in general.</p>
716 <p> Dijkstra held the Schlumberger Centennial Chair in Computer
717 Sciences at The University of Texas at Austin until retiring in
723 <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
724 title="Open Q&A session">
725 <short>By Edsger Dijkstra</short>
726 <abstract>No description available.</abstract>
731 <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
732 title="Enterprise Java APIs and Implementing a Web Portal">
733 <short>No description available.</short>
735 <h3>by Floyd Marinescu
739 The first talk will be an introduction to the Enterprise Java
740 API's: Servlets, JSP, EJB, and how to use them to build
745 The second talk will be about how these technologies were used
746 to implement a real world portal. The talk will include an
747 overview of the design patterns used and will feature
748 architectural information about the yet to be release portal
749 (which I am one of the developers) called theserverside.com.
754 <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
755 title="Enterprise Java APIs and Implementing a Web Portal (1)">
756 <short>No description available.</short>
758 <p>Real World J2EE - Design Patterns and architecture behind the
759 yet to be released J2EE portal: theserverside.com</p>
761 <p>This talk will feature an exclusive look at the architecture
762 behind the new J2EE portal: theserverside.com. Join Floyd
763 Marinescu in a walk-through ofthe back-end of the portal,
764 while learning about J2EE and its real world patterns,
765 applications, problems and benefits.</p>
771 <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
772 House, 130 King Street S, Waterloo" title="Ctrl-D">
773 <short>End-of-term dinner</short>
774 <abstract>No abstract available.</abstract>
779 <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
780 title="CSC Elections">
781 <short>Fall 2000 Elections for the CSC.</short>
784 Would you like to get involved in the CSC? Would you like to have a
785 say in what the CSC does this term? Come out to the CSC Elections!
786 In addition to electing the executive for the Fall term, we will be
787 appointing office staff and other positions. Look for details in
791 <p>Nominations for all positions are being taken in the CSC office, MC
796 <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
797 title="SIGGraph Video Night">
798 <short> SIGGraph Video Night Featuring some truly awesome computer
799 animations from Siggraph '99. </short>
801 <p> Interested in Computer Graphics?
804 <p> Enjoy watching state-of-the-art Animation?
807 <p> Looking for a cheap place to take a date?
810 <p> SIGGraph Video Night -
811 Featuring some truly awesome computer animations from Siggraph '99.
814 <p>Come out for the Computer Science Club general elections at 6:00
815 pm, right before SIGGraph!</p>
819 <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
820 title="Realising the Next Generation Internet">
821 <short>By Frank Clegg of Microsoft Canada</short>
827 <dd>President, Microsoft Canada</dd>
830 <dd>Monday, September 25, 2000</dd>
832 <dd>14:30 - 16:00</dd>
835 <dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
839 <dt>Pre-registration</dt>
841 <dd><a HREF="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
842 <dd>(519) 888-4004</dd>
847 <p>The Internet and the Web have revolutionized our communications, our access
848 to information and our business methods. However, there is still much room
849 for improvement. Frank Clegg will discuss Microsoft's vision for what is
850 beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a
851 new platform, user experience and set of advanced software services planned
852 to make all devices work together and connect seamlessly. With this next
853 generation of software, Microsoft's goal is to make Internet-based
854 computing and communications easier to use, more personalized, and more
855 productive for businesses and consumers. In his new position of president
856 of Microsoft Canada Co., Frank Clegg will be responsible for leading the
857 organization toward the delivery of Microsoft .NET. He will speak about
858 this new platform and the next generation Internet, how software developers
859 and businesses will be able to take advantage of it, and what the .NET
860 experience will look like for consumers and business users.</p>
863 <p>Frank Clegg was appointed president of Microsoft Canada Co. this month.
864 Prior to his new position, Mr. Clegg was vice-president, Central Region,
865 Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for
866 sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined
867 Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996.
868 During that time, Mr. Clegg was instrumental in introducing several key
869 initiatives to improve company efficiency, growth and market share. Mr.
870 Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
872 <h3>For More Information</h3>
875 The infraNET Project<br />
876 University of Waterloo<br />
877 519-888-4567 ext. 5611<br />
878 <a HREF="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
886 <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
887 title="Executive elections">
888 <short>Winter 2001 CSC Elections.</short>
890 <p>Would you like to get involved in the CSC? Would you like to
891 have a say in what the CSC does this term? Come out to the CSC
892 Elections! In addition to electing the executive for the
893 Winter term, we will be appointing office staff and other
894 positions. Look for details in uw.csc.
897 Nominations for all positions are being taken in the CSC
902 <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
904 <short>Second CSC meeting for Winter 2001.</short>
906 <h3>Proposed agenda</h3>
908 <dt>Book purchases</dt>
910 <p>They haven't been done in 2 terms.
911 We have an old list of books to buy.
912 Any suggestions from uw.csc are welcome.</p>
917 <p>For doing linux burns. It was allocated money on the budget
918 request - about $300. We should be able to get a decent 12x
919 burner with that (8x rewrite).</p>
920 <p>The obvious things to sell are Linux Distros and BSD variants.
921 Are there any other software that we can legally burn and sell
926 <p>Just a talk of the topics to be covered, when, where, whatnot.
927 Mike was right on this one, this should have been done earlier
928 in the term. Oh well, maybe we can fix this for next fall term.</p>
931 <dt>Game Contest</dt>
933 <p>We already put a bit of work into planning the Othello contest
934 before I read Mike's post. I still think it's viable. I've got
935 at least 2 people interested in writing entries for it. This
936 will be talked about more on monday. Hopefully, Rory and I will
937 be able to present a basic outline of how the contest is going
938 to be run at that time.</p>
940 <dt>Peri's closet cleaning</dt>
943 <p>Current sysadmin (jmbeverl) and I (kvijayan) and
944 President (geduggan) had a nice conversation about this 2
945 days ago, having to do with completely erasing all of
946 peri, installing a clean stable potato debian on it, and
947 priming it for being a gradual replacement to calum. We'll
948 probably discuss how much we want to get done on this
953 <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>
957 <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
958 title="ACM-Style programming contest">
959 <short>Practice for the ACM international programming
962 <p>Our ACM-Style practice contests involve answering five questions in three
963 hours. Solutions are written in Pascal, C or C++. Seven years in a row,
964 Waterloo's teams have been in the top ten at the world finals.
965 For more information, see
966 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
968 <h3>Easy Question:</h3>
969 <p>A palindrome is a sequence of letters that reads the same backwards and
970 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
971 only letters are important). Your task is to find the longest palindrome in
972 a line of text (if there is a tie, print the leftmost one).</p>
976 asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
977 abcbabCdcbaqwerewq abCdcba
980 <h3>Hard Question:</h3>
981 <p>An anagram is a word formed by reordering the letters of another word.
982 Find all sets of anagrams that exist within a large dictionary. The
983 input will be a sorted list of words (up to 4000 words), one per line.
984 Output each set of anagrams on a separate line. Each set should be
985 in alphabetical order, and all lines of sets should be in alphabetical
986 order. A word with no anagrams is a set of anagrams itself, and should
987 be displayed with no modifications.</p>
1000 <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
1002 <short>No description available.</short>
1003 <abstract>No abstract available.</abstract>
1006 <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
1008 <short>No description available.</short>
1009 <abstract>No abstract available.</abstract>
1012 <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
1014 <short>No description available.</short>
1015 <abstract>No abstract available.</abstract>
1018 <!-- Spring 2001 -->
1020 <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
1021 title="ACM-Style programming contest">
1022 <short>Practice for the ACM international programming
1025 <p>Our ACM-Style practice contests involve answering five questions in three
1026 hours. Solutions are written in Pascal, C or C++. Seven years in a row,
1027 Waterloo's teams have been in the top ten at the world finals.
1028 For more information, see
1029 <a HREF="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
1031 <h3>Easy Question:</h3>
1032 <p>A palindrome is a sequence of letters that reads the same backwards and
1033 forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
1034 only letters are important). Your task is to find the longest palindrome in
1035 a line of text (if there is a tie, print the leftmost one).</p>
1039 asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
1040 abcbabCdcbaqwerewq abCdcba
1043 <h3>Hard Question:</h3>
1044 <p>An anagram is a word formed by reordering the letters of another word.
1045 Find all sets of anagrams that exist within a large dictionary. The
1046 input will be a sorted list of words (up to 4000 words), one per line.
1047 Output each set of anagrams on a separate line. Each set should be
1048 in alphabetical order, and all lines of sets should be in alphabetical
1049 order. A word with no anagrams is a set of anagrams itself, and should
1050 be displayed with no modifications.</p>
1064 <!-- Winter 2002 -->
1066 <eventitem date="2002-01-26" time="2:00 PM"
1067 room="Comfy Lounge MC3001"
1068 title="An Introduction to GNU Hurd">
1069 <short>Bored of GNU/Linux? Try this experimental operating
1072 <p>GNU Hurd is an operating system kernel based on the microkernel
1073 architecture design. It was the original GNU kernel, predating Linux,
1074 and is still being actively developed by many volunteers.</p>
1075 <p>The Toronto-area Hurd Users Group, in co-operation with the Computer
1076 Science Club, is hosting an afternoon to show the Hurd to anyone
1077 interested. Jeff Bailey, a Hurd developer, will give a presentation on
1078 the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
1079 James Morrison, also a Hurd developer, will be hosting a Debian
1080 GNU/Hurd installation session.</p>
1081 <p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
1082 and mail your key to sjdutoit@uwaterloo.ca with the subject
1083 ``keysigning'' (see separate announcement).</p>
1084 <p>Questions? Suggestions? Contact <a
1085 href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
1088 <eventitem date="2002-01-26" time="2:30 PM"
1089 room="Comfy Lounge MC3001"
1090 title="GnuPG/PGP Keysigning Party">
1091 <short>Get more signatures on your key!</short>
1094 GnuPG and PGP provide public-key based encryption for e-mail and
1095 other electronic communication. In addition to preventing others
1096 from reading your private e-mail, this allows you to verify that an
1097 e-mail or file was indeed written by its perceived author.
1100 In order to make sure a GnuPG/PGP key belongs to the respective
1101 person, the key must be signed by someone who has checked the
1102 user's key fingerprint and verified the user's identification.
1105 A keysigning party is an ideal occasion to have your key signed by
1106 many people, thus strengthening the authority of your key. Everyone
1107 showing up exchanges key signatures after verifying ID and
1108 fingerprints. The Computer Science Club will be hosting such a
1109 keysigning party together with the Hurd presentation by THUG (see
1110 separate announcement). See
1111 <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
1112 keysigning party homepage</a> for more information.
1115 Before attending it is important that you mail your key to
1116 sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
1117 sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
1118 a sheet of paper to the event.
1122 <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
1123 title="UNIX 101: First Steps With UNIX">
1125 This is the first in a series of seminars that cover the use of
1126 the UNIX Operating System. UNIX is used in a variety of
1127 applications, both in academia and industy. We will be covering
1128 the basics of the UNIX environment, as well as the use of PINE, an
1129 electronic mail and news reader.
1132 <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
1133 title="DVD-Video Under Linux">
1134 <short>Billy Biggs will be holding a talk on DVD technology
1135 (in particular, CSS and playback issues) under Linux, giving some
1136 technical details as well as an overview of the current status of
1137 Free Software efforts. All are welcome.</short>
1139 <p>DVD copy protection: Content Scrambling System (CSS)</p>
1141 <li>A technical introduction to CSS and an overview of the ongoing
1142 legal battle to allow distribution of non-commercial DVD
1144 <li>The current Linux software efforts and open issues</li>
1145 <li>How applications and Linux distributions are handling the
1146 legal issues involved</li>
1148 <p>DVD-Video specifics: Menus and navigation</p>
1150 <li>An overview of the DVD-Video standard</li>
1151 <li>Reverse engineering efforts and their implementation status</li>
1152 <li>Progress of integration into Linux media players</li>
1156 <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
1157 title="Unix 102: Fun With UNIX">
1158 <short>This the second in a series of UNIX tutorials. Simon Law and
1159 James Perry will be presenting some more advanced UNIX
1160 techniques. All are welcome. Accounts will be provided for those
1161 needing them.</short>
1164 This is the second in a series of seminars that cover the use of
1165 the UNIX Operating System. UNIX is used in a variety of
1166 applications, both in academia and industry. We will provide you
1167 with hands-on experience with the Math Faculty's UNIX environment
1170 <p>Topics that will be discussed include:</p>
1172 <li>Interacting with Bourne and C shells</li>
1173 <li>Editing text using the vi text editor</li>
1174 <li>Editing text using the Emacs display editor</li>
1175 <li>Multi-tasking and the screen multiplexer</li>
1178 If you do not have a Math computer account, don't panic; one will
1179 be lent to you for the duration of this class.
1183 <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
1184 title="Computer Go, The Ultimate">
1185 <short>Thomas Wolf from Brock University will be holding a talk on
1186 the asian game of Go. All are welcome.</short>
1189 The asian game go is unique in a number of ways. It is the oldest
1190 board game known. It is a strategy game with very simple
1191 rules. Computer programs are very weak despite huge efforts and
1192 prizes of US$ > 1.5M for a program beating professional
1193 players. The talk will quickly explain the rules of go, compare go
1194 and chess, mention various attempts to program go and describe our
1195 own efforts in this field. Students will have an opportunity to
1196 solve computer generated go problems. Prizes will be available.
1201 <!-- Spring 2002 -->
1203 <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
1205 <short>Come and vote for this term's exec</short>
1208 Vote for the exec this term. Meet at the CSC office.
1216 <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
1217 title="F02 elections">
1218 <short>Come and vote for this term's exec</short>
1221 Vote for the exec this term. Meet at the comfy
1222 lounge. There will be an opportunity to obtain or renew
1223 memberships. This term's CRO is Siyan Li
1224 (s8li@csclub.uwaterloo.ca).
1229 <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
1230 title="Business Meeting">
1231 <short>Vote on a constitutional change.</short>
1234 The executive has unanimously decided to try to change our
1235 constitution to comply with MathSoc policy. The clause we are trying
1236 to change is the membership clause. The following is the proposed new
1237 reading of the clause.
1240 In compliance with MathSoc regulations and in recognition of
1241 the club being primarily targeted at undergraduate students, full
1242 membership is open to all undergraduate students in the Faculty of
1243 Mathematics and restricted to the same.</i>
1247 The proposed change is illustrated <a
1248 href="http://www.csclub.uwaterloo.ca/docs/constitution-change-20020920.html">on
1253 There will be a business meeting on 30 Sept 2002 at 18:30 in
1254 the comfy lounge, MC 3001. Please come and vote
1259 <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
1261 <short>First Steps with UNIX</short>
1264 Get to know UNIX and be the envy of your friends!
1267 This is the first in a series of seminars that cover the use
1268 of the UNIX Operating System. UNIX is used in a variety of
1269 applications, both in academia and industy. We will provide
1270 you with hands-on experience with the Math Faculty's UNIX
1271 environment in this seminar.
1274 Topics that will be discussed include:
1277 <li>Navigating the UNIX environment</li>
1278 <li>Using common UNIX commands</li>
1279 <li>Using the PICO text editor</li>
1280 <li>Reading electronic mail and news with PINE</li>
1283 If you do not have a Math computer account, don't panic; one will be
1284 lent to you for the duration of this class.
1289 <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
1290 title="Pints with the Profs">
1291 <short>Get to know your profs and be the envy of your friends!</short>
1293 <p>Come out and meet your professors. This is a great opportunity to
1294 meet professors for Undergraduate Research jobs or to find out who you might
1295 have for future courses.</p>
1297 <p>Profs who have confirmed their attendance are:</p>
1299 <li>Troy Vasiga, School of Computer Science</li>
1300 <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
1301 <li>Michael McCool, School of Computer Science, CGL</li>
1302 <li>Martin Karsten, School of Computer Science, BBCR</li>
1303 <li>Gisli Hjaltason, School of Computer Science, DB</li>
1306 <p>There will also be...</p>
1315 <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
1317 <short>Talking to your UNIX can be fun and profitable.</short>
1319 <p>This is the second in a series of seminars that cover the use of
1320 the UNIX Operating System. UNIX is used in a variety of applications,
1321 both in academia and industry. We will provide you with hands-on
1322 experience with the Math Faculty's UNIX environment in this
1325 <p>Topics that will be discussed include:</p>
1326 <ul><li>Interacting with Bourne and C shells</li>
1327 <li>Editing text using the vi text editor</li>
1328 <li>Editing text using the Emacs display editor</li>
1329 <li>Multi-tasking and the screen multiplexer</li>
1332 <p>If you do not have a Math computer account, don't panic; one will be
1333 lent to you for the duration of this class.</p>
1338 <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
1339 title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
1340 <short>A talk by Filip Spacek, KGI developer</short>
1342 Linux has proven itself as a reliable operating system but arguably,
1343 it still lacks in support of high performance graphics
1344 acceleration. This talk will describe basic components of a PC video
1345 card and the design and limitations the current Linux display driver
1346 architecture. Finally a an overview of a new architecture, the Kernel
1347 Graphics Interface (KGI), will be given. KGI attempts to solve the
1348 shortcomings of the current design, and provide a lightweight and
1349 portable interface to the display subsystem.
1353 <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
1356 <abstract>No abstract available yet.</abstract>
1359 <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
1360 title="The Evil Side of C++">
1361 <short>Abusing template metaprogramming in C++; aka. writing a
1362 Mandelbrot generator that runs at compile time</short>
1364 <p>Templates are a useful feature in C++ when it comes to writing
1365 type-independent data structures and algorithms. Relatively soon
1366 after their appearance it was realised that they could be used to
1367 do much more than this. Essentially it is possible to write
1368 certain programs in C++ that execute <i>completely at compile
1369 time</i> rather than run time. Combined with constant-expression
1370 optimisation this is an interesting twist on regular C++
1372 <p>This talk will give a short overview of the features of
1373 templates and then go on to describe how to "abuse"
1374 templates to perform complex computations at compile time. The
1375 speaker will present three programs of increasing complexity which
1376 execute at compile time. First a factorial listing program, then a
1377 prime listing program will be presented. Finally the talk will
1378 conclude with the presentation of a <b>Mandelbrot generator running
1379 at compile time</b>.</p>
1381 <p>If you are interested in programming for the fun of it, the C++
1382 language or silly tricks to do with languages, this talk is for
1383 you. No C++ knowledge should be necessary to enjoy this talk, but
1384 programming experience will make it more worthwile for you.</p>
1386 </abstract> </eventitem>
1388 <eventitem date="2002-11-02" time="11:00AM-3:00PM"
1389 room="MC3002 (Math Coffee and Donut Store)"
1390 title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
1391 <short>Bring over your computer and we'll help you install GNU/Linux</short>
1393 <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
1394 href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
1395 href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
1396 are jointly hosting a GNU/Linux InstallFest. GNU/Linux is a
1397 powerful, free operating system for your computer. It is mostly
1398 written by talented volunteers who like to share their efforts
1399 and help each other.</p>
1401 <p>Perhaps you have are you interested in installing GNU/Linux.
1402 If so, bring your computer, monitor and keyboard; and we will
1403 help you install GNU/Linux on your machine. You can also find
1404 knowledgable people who can answer your questions about
1409 <h3>Frequently Asked Questions</h3>
1411 <p><b>Q: </b>What is GNU/Linux?<br />
1412 <b>A: </b>GNU/Linux is a free operating system for your computer. It is mostly
1413 written by talented volunteers who like to share their efforts.
1416 <p><b>Q: </b>Free?<br />
1417 <b>A: </b>GNU/Linux is available for zero-cost. As well, it allows you such
1418 freedom to share it with your friends, or to modify the software to
1419 your own needs and share that with your friends. It's very friendly.
1422 <p><b>Q: </b>What is an InstallFest?<br />
1423 <b>A: </b>An InstallFest is a meeting where volunteers help people install
1424 GNU/Linux on their computers. It's also a place to meet users, and
1425 talk to them about running GNU/Linux.
1428 <p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
1429 <b>A: </b>Almost any recent computer will do. If you have an old machine
1430 kicking around, you can install GNU/Linux on it as well. If it is
1431 at least 5 years old, it should be good enough.
1434 <p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
1435 <b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
1436 disk space to spare; then it should be possible.
1439 <p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
1440 <b>A: </b>You will want to bring:</p>
1443 <li>Monitor and monitor cable</li>
1444 <li>Power cords</li>
1445 <li>Keyboard and mouse</li>
1451 <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
1452 title="The GNU General Public License">
1453 <short>The teeth of Free Software</short>
1458 The licenses for most software are designed to take away your freedom
1459 to share and change it. By contrast, the GNU General Public License
1460 is intended to guarantee your freedom to share and change free
1461 software---to make sure the software is free for all its users.
1462 </i><br/>--- Excerpt from the GNU GPL
1465 <p>The GNU General Public License is one of the most influencial
1466 software licenses in this day. Written by Richard Stallman for the
1467 GNU Project, it is used by software developers around the world to
1471 Unfortunately, software developers do not read licenses thoroughly, nor
1472 well. In this talk, we will read the entire GNU GPL and explain the
1473 implications of its passages. Along the way, we will debunk some myths
1474 and clarify common misunderstandings.
1477 After this session, you ought to understand what the GNU GPL means, how
1478 to use it, and when you cannot use it. This session should also give
1479 you some insight into the social implications of this work.
1484 <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
1485 title="Metaprogramming GPUs">
1486 <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
1489 Modern graphics accelerators, or "GPUs", have embedded high-performance
1490 programmable components in the form of vertex and fragment shading units.
1491 Recently, these units have evolved from 8-bit computations to floating-point,
1492 and other operations provide array gather, scatter, and summation.
1493 These capabilities make GPUs akin to array processors of the
1494 past, but with a difference: every PC now has one! I am interested
1495 in finding the best way to exploit this computational capacity for not
1496 only graphics but for general-purpose computation.
1498 Current APIs permit specification of the programs for GPUs
1499 using an assembly-language level interface. Compilers for high-level
1500 shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and
1501 DirectX will also include standardized shading languages. This talk will
1502 review these. However, compilers for these languages read in an external
1503 string specification, which can be inconvenient.
1505 However, it is possible, using standard C++, to define a high-level
1506 shading language directly in the API. Such a language can be nearly
1507 indistinguishable from a special-purpose programming language, yet
1508 permits more direct interaction with the specification of textures
1509 (arrays) and parameters, simplifies implementation, and enables
1510 on-the-fly generation, manipulation, and specialization of shader programs.
1511 A shading language built into the API also permits the lifting of
1512 C++ host language type, modularity, and scoping constructs into the shading
1513 language without any additional implementation effort. Such an
1514 embedded language could be used to program other embedded processors
1515 (such as DSP chips in sound cards) or even to generate machine language
1516 on the fly for the host CPU.
1521 <eventitem date="2002-11-16" time="1:30pm" room="York University"
1522 title="Trip to York University">
1523 <short>Going to visit the York University Computer Club</short>
1524 <abstract><p>YUCC and the UW CSC have having a join meeting at York
1525 University. Dave Makalsky, the President of YUCC, will be giving a talk on
1526 Design-by-constract and Eiffel. Stefanus Du Toit, Vice-President of the UW
1527 CSC, will be giving a talk on the evil depths of the black art known as C++.
1529 <ul><li>1:30pm: Leave UW</li>
1530 <li>3:00pm: Arrive at York University.</li>
1531 <li>3:30pm: The Evil side of C++</li>
1532 <li>4:30pm: Design-by-Contract and Eiffel</li>
1533 <li>6:00pm: Dinner</li>
1534 <li>9:00pm: Arrive back at UW</li>
1539 <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
1541 <short>A talk by Simon Law</short>
1544 Perl, the Practical Extraction and Reporting Language can only
1545 be described as an eclectic language, invented and refined by
1546 a deranged system administrator, who was trained as a
1547 linguist. This man, however, has declared:
1551 Perl 5 was my rewrite of Perl.
1552 I want Perl 6 to be the community's rewrite of Perl and of the
1554 </i><br/>--- Larry Wall
1557 Whenever a language is designed by a committee, it is common
1558 wisdom to avoid it. Not so with Perl, for it cannot get
1559 worse. However strange these Perl people seem, Perl 6 is a
1560 good thing coming. In this talk, I will demonstrate some Perl
1561 5 programs, and talk about their Perl 6 counterparts, to show
1562 you that Perl 6 will be cleaner, friendlier, and prettier.
1567 <eventitem date="2002-11-21" time="4:30pm" room="MC2066"
1568 title="Samba and You">
1569 <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
1571 Samba is a free implementation of the Server Message Block (SMB)
1572 protocol. It also implements the Common Internet File System (CIFS)
1573 protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
1575 SMB was originally developed in the early to mid-80's by IBM and was
1576 further improved by Microsoft, Intel, SCO, Network Appliances, Digital
1577 and many others over a period of 15 years. It has now morphed into CIFS,
1578 a form strongly influenced by Microsoft. </p><p>
1579 Samba is considered to be one of the key projects for the acceptance of
1580 GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
1581 corporate world: a traditional Windows NT/2000 stronghold. </p><p>
1582 We will talk about interfacing Samba servers and desktops with the
1583 Windows world. From a simple GNU/Linux desktop in your home to the
1584 corporate server that provides collaborative file/printer sharing,
1585 logons and home directories to hundreds of users a day. </p>
1589 <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
1590 title="GNU/Linux on HPPA">
1591 <short>Carlos O'Donnell talks about "the last of the legacy processors to fall before the barbarian horde"</short>
1593 <p>This whirlwind talk is aimed at providing an overview of the
1594 GNU/Linux port for the HP PARISC processor. The talk will focus on
1595 the "intricacies" of the processor, and in particular the
1596 implementations of the Linux kernel and GNU Libc. After the talk
1597 you should be acutely aware of how little code needs to be written
1598 to support a new architecture! Carlos has been working on the port
1599 for two years, and enjoying the fruits of his labour on a 46-node
1604 Carlos is currently in his 5th year of study at the University
1605 of Western Ontario. This is his last year in a concurrent
1606 Computer Engineering and Computer Science degree. His research
1607 interest range from distributed and parallel systems to low
1608 level optimized hardware design. He likes playing guitar and
1609 just bought a Cort NTL-20, jumbo body, solid spurce top with
1610 a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
1611 GNU Debugger, GNU Binutils and various Debian packages.
1618 <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
1619 title="The Hurd Interfaces">
1620 <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
1622 <p>The Hurd server interfaces are at the heart of the Hurd system. They
1623 define the remote procedure calls (RPCs) that are used by the servers, the
1624 GNU C library and the utility programs to communicate with the Hurd system
1625 and to implement the POSIX personality of the Hurd as well as other
1628 <p>This talk is a walk through the Hurd RPCs, and will give an overview of how
1629 they are used to implement the system. Individual RPCs will be used to
1630 illustrate important or exciting features of the Hurd system in general,
1631 and it will be shown how those features are accessible to the user at the
1632 command line, too.</p>
1636 <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
1637 Germany. He is one of maintainers of the GNU Hurd project and the
1638 initiator of the Debian GNU/Hurd binary distribution. He designed and
1639 implemented the console subsystem of the Hurd, wrote the FAT filesystem
1640 server, and fixed a lot of bugs, thus increasing the stability and
1641 usability of the system.</p>
1646 <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
1647 title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
1648 <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
1650 <p>Virtual memory management is one of the cornerstones of multiuser
1651 operating systems. Most systems available today place all of the
1652 policy in a monolithic virtual memory manager, VMM, isolated from the
1653 rest of the system. Although secure and lightweight, users have no
1654 way to communicate their anticipated memory needs and usage to the
1655 system pager. As a result, the VMM can only implement a global paging
1656 policy (typically, an approximation of LRU) which may be good on
1657 average but is best for nobody.</p>
1659 <p>With the port of Hurd to the L4 microkernel, this situation is being
1660 readdressed. Due to its more distributed nature, a centralized
1661 resource manager is not only more difficult to implement efficiently
1662 but also contrary to the philosophy of the rest of the system. We are
1663 currently exploring a model whereby each program is fully self-paged
1664 and all compete for memory from a physical memory server. This talk
1665 will first discuss how paging currently works in Mach and other
1666 systems. An argument for an external paging policy will then be
1667 presented followed by the requirements of such a design and the design
1672 <p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
1673 Lowell. Neal spent the summer of 2002 at University of Karlsruhe working
1674 on porting the GNU Hurd to L4.</p>
1679 <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
1680 title="Debian in the Enterprise">
1681 <short>A talk by Simon Law</short>
1683 <p>The Debian Project produces a "Universal Operating System" that is
1684 comprised entirely of Free Software. This talk focuses on using Debian
1685 GNU/Linux in an enterprise environment. This includes:</p>
1687 <li>Where Debian can be deployed</li>
1688 <li>Strategic advantages of Debian</li>
1689 <li>Ways for business to give back to Debian</li>
1694 <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
1695 title="Automatic Memory Management and Garbage Collection">
1696 <short>A talk by James A. Morrison</short>
1699 Do you ever wonder what java is doing while you wait? Have you ever used
1700 Modula-3? Do you wonder how lazily you can Mark and Sweep? Would you like to
1701 know how to Stop-and-Copy?
1703 Come out to this talk and learn these things and more. No prior knowledge of
1704 Garbage Collection or memory management is needed.