<?xml version='1.0'?>

<!DOCTYPE eventdefs SYSTEM "csc.dtd">
<eventdefs>

<!-- Spring 2009 -->
<eventitem date="2009-05-12" time="12:00 noon" room="MC 2034" title="PHP on Windows">
    <short><p>PHP Programming Contest Info Session</p></short>
    <abstract><p>
    Port or create a new PHP web application and you could win a prize
    of up to $10k. Microsoft is running a programming contest for PHP
    developers willing to support the Windows platform. The contest is
    ongoing; this will be a short introduction to it by
    representatives of Microsoft and an opportunity to ask questions.
    Pizza and pop will be provided.
    </p></abstract>
</eventitem>


<!-- Winter 2009 -->
<eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
  
    <short><p>A talk by Craig S. Kaplan.</p></short>
  
  
    <abstract><p>The combination of computer graphics, geometry, and rapid
prototyping technology has created a wide range of exciting
opportunities for using the computer as a medium for creative
expression.  In this talk, I will describe the most popular
technologies for computer-aided manufacturing, discuss
applications of these devices in art and design, and survey
the work of contemporary artists working in the area (with a
focus on mathematical art).  The talk will be primarily
non-technical, but I will mention some of the mathematical
and computational techniques that come into play.
</p></abstract>
  
</eventitem>
<eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
	   etime="6:00 AM" room="TBA" title="CTRL-D">
  <short>
    <p>
      Join the Club That Really Likes Dinner for the End Of Term
      party!  Inquire closer to the date for details.
    </p>
  </short>
  <abstract>
    <p>
      This is not an official club event and receives no funding.
      Bring food, drinks, deserts, etc.
    </p>
  </abstract>
</eventitem>

<eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
	   etime="12:00 PM" room="Comfy Lounge (MC)"
	   title="Code Party">
  <short>
    <p>
      CSC Code Party!  Same as always - no sleep, lots of caffeine,
      and really nerdy entertainment.  Bonus:  Free Cake!
    </p>
  </short>
  <abstract>
    <p>
      This code party will have the usual, plus it will double as the
      closing of the programming contest.  Our experts will be
      available to help you polish off your submission.
    </p>
  </abstract>
</eventitem>

<eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
	   etime="12:00 PM" room="MC2061"
	   title="Artificial Intelligence Contest">
    <short>
      <p>
	Come out and try your hand at writing a computer program that
	plays Minesweeper Flags, a two-player variant of the classic
	computer game, Minesweeper.  Once you're done, your program
	will compete head-to-head against the other entries in a
	fierce Minesweeper Flags tournament.  There will be a contest
	kick-off session on Thursday March 19 at 4:30 PM in room
	MC3036.  Submissions will be accepted until Saturday March 28.
      </p>
    </short>
    <abstract>
      <p>
	Come out and try your hand at writing a computer program that
	plays Minesweeper Flags, a two-player variant of the classic
	computer game, Minesweeper.  Once you're done, your program
	will compete head-to-head against the other entries in a
	fierce Minesweeper Flags tournament.  There will be a contest
	kick-off session on Thursday March 19 at 4:30 PM in room
	MC3036.  Submissions will be accepted until Saturday March 28.
      </p>
    </abstract>
</eventitem>

<eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
	   etime="6:30 PM" room="Comfy Lounge"
	   title="SIGGRAPH Night">
  <short>
    <p>
      Come out and watch the SIGGRAPH (Special Interest Group on
      Graphics) conference video review.  A video of insane, amazing,
      and mind blowing computer graphics. .
    </p>
  </short>
  <abstract>
    <p>
      The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
      conference yearly in which the latest and greatest in computer
      graphics premier. They record video and as a result produce a
      very nice Video Review of the conference. Come join us watching
      these videos, as well as a few professors from the UW Computer
      Graphics Lab. There will be some kind of food and drink, and its
      guranteed to be dazzling.
    </p>
  </abstract>
</eventitem>

<eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
	   etime="9:00 PM" room="Toronto Hilton"
	   title="Canadian Undergraduate Technology Conference">
  <short>
    <p>
      See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
    </p>
  </short>
  <abstract>
    <p>
      The Canadian Undergraduate Technology Conference is Canada's
      largest student-run conference. From humble roots it has emerged
      as a venue that offers an environment for students to grow
      socially, academically, and professionally. We target to exceed
      our past record of 600 students from 47 respected institutions
      nationwide. The event mingles ambitious as well as talented
      students with leaders from academia and industry to offer
      memorable experiences and valuable opportunities.
    </p>
  </abstract>
</eventitem>

<eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
	   title="Prabhakar Ragde">
    <short><p>
    Functional Lexing and Parsing</p></short>
    <abstract>
      <p>
	This talk will describe a non-traditional functional approach
	to the classical problems of lexing (breaking a stream of
	characters into "words" or tokens) and parsing (identifying
	tree structure in a stream of tokens based on a grammar,
	e.g. for a programming language that needs to be compiled or
	interpreted). The functional approach can clarify and organize
	a number of algorithms that tend to be opaque in their
	conventional imperative presentation. No prior background in
	functional programming, lexing, or parsing is assumed.
      </p>
    </abstract>
</eventitem>

<eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
	   title="IQC - Programming Quantum Computers">
    <short>
      <p>
	A brief intro to Quantum Computing and why it matters,
	followed by a talk on programming quantum computers.  Meet at
	the CSC at 4:00PM for a guided walk to the RAC.
      </p>
    </short>
    <abstract>
      <p>
	Raymond Laflamme is the director of the Institute for Quantum
	Computing at the University of Waterloo and holds the Canada
	Research Chair in Quantum Information.  He will give a brief
	introduction to quantum computing and why it matters, followed
	by a talk on programming quantum computers.  There will be
	tours of the IQC labs at the end, and pizza will be provided
	back at the CSC for all attendees.
      </p>
    </abstract>
</eventitem>

<eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
    <short><p>
    Come join the CSC as we head to Dooly's.</p></short>
    <abstract><p>
    Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
</eventitem>

<eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
    <short><p>
    Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
    <abstract><p>
    Unix 101 is an introduction to the Unix shell environment, both on the student
    servers and on other Unix environments. Topics covered include: using the shell, both basic
    interaction and advanced topics like scripting and job control, the filesystem and manipulating
    it, and ssh. </p><p>
    Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. 
    If you missed Unix101 but still know your way around you should be fine. 
    Topics covered include: "real" editors, document typesetting with LaTeX 
    (great for assignments!), bulk editing, spellchecking, and printing in the 
    student environment and elsewhere. </p><p>
    If you aren't interested or feel comfortable with these taskes, watch out for 
    Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
</eventitem>


<eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
    <short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
    <abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
        servers and on other Unix environments. Topics covered include: using the shell, both basic
        interaction and advanced topics like scripting and job control, the filesystem and manipulating
        it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
        to Unix 102 to learn about documents, editing, and other related tasks, or watch out
        for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
</eventitem>

<eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
  <short>
    <p>
      There is a CSC Code Party starting at 7:00PM (19:00).  Come out
      and enjoy some good old programming and meet others interested
      in writing code!  Free energy drinks and snacks for all.  Plus,
      we have lots of things that need to be done if you're looking
      for a project to work on!
    </p>
  </short>
  <abstract>
    <p>
      Code Party.  Awesome.  Need we say more?
    </p>
  </abstract>
</eventitem>

<eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
  
    <short><p>There is a CSC Code Party Tonight starting at 7:30PM
    (1930) until we get bored (likely in the early in morning). Come
    out for fun hacking times, spreading Intertube memes (optional),
    hacking on the OpenMoko, creating music mixes, and other general
    classyness. If we manage to swing it, there will be delicious
    energy drinks for your consumption! Alternatively, if we don't we
    will have each other as well as some delicious tea and
    coffee. Perhaps a crumpet
</p></short>
  
  
    <abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
	(1930) until we get bored (likely in the early in
	morning). Come out for fun hacking times, spreading Intertube
	memes (optional), hacking on the OpenMoko, creating music
	mixes, and other general classyness. If we manage to swing it,
	there will be delicious energy drinks for your consumption!
	Alternatively, if we don't we will have each other as well as
	some delicious tea and coffee. Perhaps a crumpet
</p></abstract>
  
</eventitem>

<eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
  <short><p> The Free Software Movement and the GNU/Linux Operating System </p>
  </short>
  <abstract>
  <p>
  Richard Stallman will speak about the Free Software Movement, which
  campaigns for freedom so that computer users can cooperate to
  control their own computing activities. The Free Software Movement
  developed the GNU operating system, often erroneously referred to as
  Linux, specifically to establish these freedoms.</p>
  <p><b>About Richard Stallman:</b> 
  Richard Stallman launched the development of the GNU operating system (see
  <a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
  software: everyone has the freedom to copy it and redistribute it,
  as well as to make changes either large or small. The GNU/Linux
  system, basically the GNU operating system with Linux added, is used
  on tens of millions of computers today. Stallman has received the
  ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
  Electronic Frontier Foundation's Pioneer award, and the the Takeda
  Award for Social/Economic Betterment, as well as several honorary
  doctorates.</p>
  </abstract>
</eventitem>

<eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
  <short><p> Joel Spolsky, of <a href="http://www.joelonsoftware.com">Joel on Software</a> will be giving a talk entitled "Computer Science Education and the Software Industry".</p>
  </short>
  <abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
  globally-recognized expert on the software development process. His
  website <em>Joel on Software</em>
  (<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
  is popular with software developers around the world and has been
  translated into over thirty languages. As the founder
  of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
  York City, he
  created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
  popular project management system for software teams. He is the
  co-creator of <a href="http://stackoverflow.com/">Stack
  Overflow</a>, a programmer Q&amp;A site. Joel has worked at
  Microsoft, where he designed VBA as a member of the Excel team, and
  at Juno Online Services, developing an Internet client used by
  millions. He has
  written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
  books</a>: <em>User Interface Design for Programmers</em> (Apress,
  2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
  Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
  Joel Spolsky's Concise Guide to Finding the Best Technical
  Talent </em>(Apress, 2007). He also writes a monthly column
  for<strong> </strong><em><a href="http://www.inc.com/">Inc
  Magazine</a>. </em>Joel holds a BS from Yale in Computer
  Science. Before college he served in the Israeli Defense Forces as a
  paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
 </abstract>
</eventitem>

<eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
  <short><p>Winter Elections</p>
  </short>
</eventitem>

<!-- Fall 2008 -->
<eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
  
    <short><p>Organized by Queen's students, Changing the World aims to bring together the world's greatest visionaries to inspire people to innovate and better our world.  Among these speakers include Nobel Peace Prize winner, Eric Chivian. He was a recipient for his work on stopping nuclear war. 
</p></short>
  
  
    <abstract><p>Organized by Queen's students, Changing the World
	aims to bring together the world's greatest visionaries to
	inspire people to innovate and better our world.  Among these
	speakers include Nobel Peace Prize winner, Eric Chivian.  He
	was a recipient for his work on stopping nuclear war.
      </p><p>The conference is modeled after TED (Technology,
	Entertainment, Design), an annual conference uniting the
	world's most fascinating thinkers and doers, and like TED,
	each speaker is given 18 minutes to give the talk of their
	lives.
      </p><p>Specifically for students in CS/Math, 50 tickets have
	been reserved (non-students: $500).  For those who would like
	to attend, please pick up your ticket in the Computer Science
	Club office.  The tickets are limited and they are first come
	first serve.
</p></abstract>
  
</eventitem>

<eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
  
    <short><p>Come join the CSC in celebrating the new releases of
    Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
    of them on your own system.
</p></short>
  
  
    <abstract><p>Come join the CSC in celebrating the new releases of
	Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
	one of them on your own system.
      </p><p>This is an event to celebrate the releases of new
	versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
	available and everyone is invited to bring their PC or laptop
	to get help installing any of these Free operating
	systems. Knowledgeable CSC members will be available to help
	with any installation troubles, or to troubleshooting any
	existing problems that users may have.
      </p><p>This event will also promote gaming on Linux, as well as
	FLOSS (Free/Libre and Open Source Software) in general. We may
	also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
	fame).
</p></abstract>
</eventitem>

<eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
  
    <short><p>This talk will survey concepts, techniques, and
    languages for functional programming from both historical and
    contemporary perspectives, with reference to Lisp, Scheme, ML,
    Haskell, and Erlang. No prior background is assumed.
</p></short>
  
  
    <abstract><p>This talk will survey concepts, techniques, and
	languages for functional programming from both historical and
	contemporary perspectives, with reference to Lisp, Scheme, ML,
Haskell, and Erlang. No prior background is assumed.
</p></abstract>
  
</eventitem>

<eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
  <abstract><p>
    Come join us for a night of coding. Get in touch with more experianced coders,
    advertize for/bug squash on your favourite open source project, write that personal
    project you were planning to do for a while but haven't found the time. Don't 
    have any ideas but want to sit and hack? We can find something for you to do.
  </p></abstract>
  <short><p>
    A fevered night of code, friends, fun, free energy drinks, and the CSC.
  </p></short>
</eventitem>

<eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
  <short><p>
    Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
    review. A video of insane, amazing, and mind blowing computer graphics.
  </p></short>
  <abstract><p>
    The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
    in which the latest and greatest in computer graphics premier. They record video
    and as a result produce a very nice Video Review of the conference. Come join us
    watching these videos, as well as a few professors from the UW Computer Graphics
    Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
  </p></abstract>
</eventitem>

<eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
  <short><p>
    Come out and meet other CSC members, find out about the CSC, meet the executive
    nominees, and join if you like what you see. Nominees should plan on attending.
  </p></short>
</eventitem>

<eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
  <short><p>
    Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
    The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
    sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
    campaigning after the nomination period has closed.
  </p></short>
</eventitem>

<eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
  <short><p>
    New to Unix? No problem, we'll teach you to power use circles around your friends!
  </p></short>
  <abstract><p>
    This first tutorial is an introduction to the Unix shell environment, both on the student
    servers and on other Unix environments. Topics covered include: using the shell, both basic
    interaction and advanced topics like scripting and job control, the filesystem and manipulating
    it, and ssh. If you feel you're already familiar with these topics don't hesitate to come 
    to Unix 102 to learn about documents, editing, and other related tasks, or watch out
    for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
  </p></abstract>
</eventitem>

<eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
  <short><p>
    New to Unix? No problem, we'll teach you to power use circles around your friends!
  </p></short>
  <abstract><p>
    This first tutorial is an introduction to the Unix shell environment, both on the student
    servers and on other Unix environments. Topics covered include: using the shell, both basic
    interaction and advanced topics like scripting and job control, the filesystem and manipulating
    it, and ssh. If you feel you're already familiar with these topics don't hesitate to come 
    to Unix 102 to learn about documents, editing, and other related tasks, or watch out
    for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
  </p></abstract>
</eventitem>

<eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
  <short><p>
    Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
  </p></short>
  <abstract><p>
    This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed 
    Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
    document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
    in the student environment and elsewhere. If you aren't interested or feel comfortable with these
    taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
    don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
  </p></abstract>
</eventitem>

<eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
  <short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
  <abstract><p>
      In this talk I will give an overview of the history of Relic and our
      development philosophy.  The Talk will then proceed to talk about work
      that is being pursued in the area of early game prototyping with the
      introduction of game sketching methodology.
    </p>
    <p>
      Bio:

      Fired from his first job for playing Video Games Juancho Buchanan is
      currently the director of Technology for Relic Entertainment.  Juancho
      Buchanan Wrote his first game in 1984 but then pursued other interests
      which included a master's in Program Visualization, A Doctorate in
      Computer Graphics, a stint as a professor at the University of Alberta
      where he pioneered early work in Non photo realistic rendering, A stint
      at Electronic Arts as Director, Advanced Technology, A stint at EA as
      the University Liaison Dude, A stint at Carnegie Mellon University where
      he researched the Game Sketching idea.  His current role at Relic has
      him working with the soon to be released Dawn of War II.
  </p></abstract>
</eventitem>


<eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
  <short><p>
    The second official general meeting of the term. Items on the adgenda are CSC Merch,
    upcoming talks, and other possible planned events, as well as the announcement of
    a librarian and planning of an office cleanout and a library organization day.
  </p></short>
</eventitem>

<!-- Spring 2008 -->

<!-- Winter 2008 -->

<eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
  <short>Tyler Lessard</short>
  <abstract><p>
Tyler Lessard from RIM will present a brief history of BlackBerry
technology and will discuss how the evolution of BlackBerry as an
end-to-end hardware, software and services platform has been
instrumental to its success and growth in the market.  Find out how the
BlackBerry service components integrate with wireless carrier networks
and get a sneak peek at where the wireless data market is going.
  </p></abstract>
</eventitem>

<eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
  <short>Raymond Laflamme</short>
  <abstract><p>
      Information processing devices are pervasive in our society; from the 5
      dollar watches to multi-billions satellite network.  These devices have
      allowed the information revolution which is developing around us. It has
      transformed not only the way we communicate or entertain ourselves but
      also the way we do science and even the way we think. All this
      information is manipulated using the classical approximation to the laws
      of physics, but we know that there is a better approximation: the
      quantum mechanical laws.  Would using quantum mechanics for information
      processing be an impediment or could  it be an advantage?  This is the
      fundamental question at the heart of quantum information processing
      (QIP). QIP is a young field with an incredible potential impact reaching
      from the way we understand fundamental physics to technological
      applications. I will give an overview of the Institute for Quantum
      Computing,  comment on the effort in this field at Waterloo and in
      Canada and, time permitted visit some of the IQC labs.
  </p></abstract>
</eventitem>

<eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
  <short>Yes, we know this is Valentine's Day.</short>
  <abstract><p>
      Contestants will be writing an artificial intelligence to play Risk.  The
      prize will be awarded to the intelligence which wins the most
      head-to-head matches against competing entries.  We're providing easy
      APIs for several languages, as well as full documentation of the game
      protocol so contestants can write wrappers for any additional language
      they wish to work in.
    </p>
    <p>
      We officially support entries in Scheme, Perl, Java, C, and C++.  If you
      would like help developing an API for some other language contact us
      through the systems committee mailing list (we will require that your API
      is made available to all entrants).
    </p>
    <p>
      To kick off the contest we're hosting an in-house coding session starting
      at 4:00PM on Thursday, February 14th in MC2061.  Members of our contest
      administration team will be available to help you work out the details of
      our APIs, answer questions, and provide the necessities of life (ie,
      pizza).  Submissions will open no later than 5:00PM on February 14th
      and will close no earlier than 12:00PM on February 17th.
    </p>
    <p>
      Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
  </p></abstract>
</eventitem>


<eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
  <short>Elmer Horvath</short>
  <abstract><p>
      The problem:  coordinating and communicating between multiple processors
      in a distributed system (possibly containing heterogeneous elements)
      </p><p>
      The open source TIPC (transparent interprocess communication) protocol
      has been incorporated into the Linux kernel and is available in VxWorks
      and, soon, other OSes.  This emerging protocol has a number of
      advantages in a clustered environment to simplify application
      development while maintaining a familiar socket programming interface.
      The service oriented capabilities of TIPC help in applications easily
      finding required services in a system.  The location transparent aspect
      of TIPC allows services to be located anywhere in the system as well as
      allowing redundant services for both load reduction and backup.
      
      Learn about the emerging cluster protocol.
  </p></abstract>
</eventitem>

<eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
  <abstract><p>
    Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
    The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
    not engage in campaigning after the nomination period has closed.
  </p></abstract>
</eventitem>


<!-- fall 2007 -->

	<eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
	<abstract>
	<p>
	There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
	</p>
	<p>
	This is a chance to bring out any ideas and concerns about CSC happenings into the open, as well as a chance to make sure all CSC staff is up to speed on current CSC doings. The current agenda can be found at <a href="http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007">http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007.</a>
	</p>
	</abstract>
	</eventitem>

	<eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
	 <short>Susan Abramovitch</short>
	 <abstract>
	<p>
	This talk is run by the School of Computer Science
	</p>
	<p>
	How should virtual property created in games, such as weapons used in
games like Mir 3 and real estate or clothing created or acquired in
games like Second Life, be treated in law.  Although the videogaming
industry continues to multiply in value, virtual property created in
virtual worlds has not been formally recognized by any North American
court or legislature.  A bridge has been taking shape from gaming's
virtual economies to real world economies, for example, through
unauthorized copying of designer clothes sold on Second Life for in-game
cash, or real court damages awarded against deletion of player-earned
swords in Mir 3.  The trading of virtual property is important to a
large number of people and property rights in virtual property are
currently being recognized by some foreign legal bodies.
</p>
<p>
Susan Abramovitch will explain the legal considerations in determining
how virtual property can or should be governed, and ways it can be
legally similar to tangible property.  Virtual property can carry both
physical and intellectual property rights.  Typically video game
developers retain these rights via online agreements, but Ms.
Abramovitch questions whether these rights are ultimately enforceable
and will describe policy issues that may impact law makers in deciding
how to treat virtual property under such agreements.
</p>
	 </abstract>
	</eventitem>

	<eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
	 <short>Brennan Taylor</short>
	 <abstract>
	<p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI 
programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can 
be.</p>
	 </abstract>
	</eventitem>
	<eventitem date="2007-10-09" time="4:45 PM" room="MC 4060" title="Join-Calculus with JoCaml. Concurrent programming that doesn't fry your brain">
	 <short>Brennan Taylor</short>
	 <abstract>
	<p>
	A lecture on the fundamentals of Pi-Calculus followed by an introduction
to Join-Calculus in JoCaml with some great examples. Various concurrent
control structures are explored, as well as the current limitations of
JoCaml. The examples section will mostly be concurrent programming,
however some basic distributed examples will be explored. This lecture
focuses on how easy concurrent programming can be.
	</p>
	 </abstract>
	</eventitem>

	<eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
	 <short>Ian Goldberg</short>
	 <abstract>
<p>
Instant messaging (IM) is an increasingly popular mode of communication
on the Internet.  Although it is used for personal and private
conversations, it is not at all a private medium.  Not only are all of
the messages unencrypted and unauthenticated, but they are all
routedthrough a central server, forming a convenient interception point
for an attacker.  Users would benefit from being able to have truly
private conversations over IM, combining the features of encryption,
authentication, deniability, and forward secrecy, while working within
their existing IM infrastructure.
</p>
<p>
In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
used software tool for secure and private instant messaging.  I will
outline the properties of Useful Security and Privacy Technologies that
motivated OTR's design, compare it to other IM security mechanisms, and
talk about its ongoing development directions.
</p>
<p>
Ian Goldberg is an Assistant Professor of Computer Science at the
University of Waterloo, where he is a founding member of the
Cryptography, Security, and Privacy (CrySP) research group.  He holds a
Ph.D. from the University of California, Berkeley, where he discovered
serious weaknesses in a number of widely deployed security systems,
including those used by cellular phones and wireless networks. He also
studied systems for protecting the personal privacy of Internet users,
which led to his role as Chief Scientist at Zero-Knowledge Systems (now
known as Radialpoint), where he commercialized his research as the
Freedom Network.
</p>
	 </abstract>
	</eventitem>


	<eventitem date="2007-11-20" time="4:30 PM" room="MC 4041" title="Why you should care about functional programming with Haskell *New-er Date*">
	 <short>Andrei Barbu</short>
	 <abstract>
	 </abstract>
	</eventitem>
	<eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
	 <short>Andrei Barbu</short>
	 <abstract>
Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
software transactional memory, a new approach to concurrency, will also be discussed. Before the end we'll also see the solution to an ACM problem
to get a hands on feeling for the language. Don't worry if you haven't seen the first talk, you should be fine for this one anyway!

	 </abstract>
	</eventitem>

	<eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
	 <short>Brennan Taylor</short>
	 <abstract>
	<p>
	A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples. 
	Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will 
	mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy 
	concurrent programming can be.
	</p>
	 </abstract>
	</eventitem>

	<eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
	 <short>David Tenty</short>
	 <abstract>
	<p>
	With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
	However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
	PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
	Postponed to a later date.
	</p>
	 </abstract>
	</eventitem>

	<eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
	 <short>Win Prizes!</short>
	 <abstract>
	<p>
	The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed. 
	Prizes totalling in value of $75 will be distributed. You can participate online! For more information, including source files visit <a href="http://www.csclub.uwaterloo.ca/contest">http://www.csclub.uwaterloo.ca/contest</a>
	</p>
	<p>
	And Free Pizzaa for all who attend!
	</p>
	 </abstract>
	</eventitem>
	<eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
	 <short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
	 <abstract>
	<p>
	Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
	Lots of fun! Possible Pizzaa!
	</p>
	 </abstract>
	</eventitem>

	<eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
	 <short>Brennan Taylor</short>
	 <abstract>
	<p>
	A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some 
	history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
	</p>
	 </abstract>
	</eventitem>

	<eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
	 <short>Holden Karau</short>
	 <abstract>
	<p>
	An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
	</p>
	<p>
	Holden Karau participated in Google Summer of Code 2007 as a student on the subversion team. He created a set of scheme bindings for the 
	subversion project.
	</p>
	 </abstract>
	</eventitem>



<!--spring 2007-->

  <eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
    <short>Bjarne Stroustrup</short>
    <abstract><p>
      A good programming language is far more than a simple collection of
      features. My ideal is to provide a set of facilities that smoothly work
      together to support design and programming styles of a generality beyond
      my imagination. Here, I briefly outline rules of thumb (guidelines,
      principles) that are being applied in the design of C++0x. Then, I
      present the state of the standards process (we are aiming for C++09) and
      give examples of a few of the proposals such as concepts, generalized
      initialization, being considered in the ISO C++ standards committee.
      Since there are far more proposals than could be presented in an hour,
      I'll take questions.
    </p></abstract>
  </eventitem>

  <eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
    <short>Richard Stallman</short>
    <abstract><p>
      Copyright developed in the age of the printing press, and was designed 
      to fit with the system of centralized copying imposed by the printing 
      press. But the copyright system does not fit well with computer 
      networks, and only draconian punishments can enforce it.
    </p><p>
      The global corporations that profit from copyright are lobbying for 
      draconian punishments, and to increase their copyright powers, while 
      suppressing public access to technology. But if we seriously hope to 
      serve the only legitimate purpose of copyright--to promote progress, for 
      the benefit of the public--then we must make changes in the other 
      direction.
    </p><p>
      The CSC would like to thank MEF and Mathsoc for funding this talk.
    </p><p>
      <a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
      <a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
      <a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
      <a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
    </p></abstract>
  </eventitem>

  <eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
    <short>A talk by Michael Terry</short>
    <abstract><p>
      What is the typical monitor resolution of a GIMP user? How many monitors 
      do they have? What size images do they work on? How many layers are in 
      their images? The answers to these questions are generally unknown: No 
      means currently exist for open source applications to collect usage 
      data. In this talk, I will present ingimp, a version of GIMP that has 
      been instrumented to automatically collect usage data from real-world 
      users. I will discuss ingimp's design, the type of data we collect, how 
      we make the data available on the web, and initial results that begin to 
      answer the motivating questions.
      </p><p>
      ingimp can be found at http://www.ingimp.org.
      </p></abstract>
  </eventitem>

  <eventitem date="2007-06-22" time="4:30 PM"
	room="MC 4042"
	title="Email encryption for the masses">
	<short>Ken Ho</short>
	<abstract><p>
      E-mail transactions and confirmations have become commonplace and the
      information therein can often be sensitive. We use email for purposes as
      mundane as inbound marketing, to as sensitive as account passwords and
      financial transactions. And nearly all our email is sent in clear text;
      we trust only that others will not eavesdrop or modify our messages. But
      why rely on the goodness or apathy of your fellow man when you can
      ensure your message's confidentiality with encryption so strong not even
      the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
      and GNU Privacy Guard to ensure that your messages are sent, knowing
      that only your intended recipient can receive it.
      </p><p>An optional code-signing party will be held immediately 
      afterwards; if you already have a PGP or GPG key and wish to 
      participate, please submit the public key to 
      <a href="mailto:gpg-keys@csclub.uwaterloo.ca">
      gpg-keys@csclub.uwaterloo.ca</a>.
    </p><p>
      Laptop users are invited also to participate in key-pair sharing 
      on-site, though it is preferable to send keys ahead of time.
    </p></abstract>
 </eventitem>

  <eventitem date="2007-06-18" time="4:30 PM"
	room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
	<short>Peter Macdonald</short>
	<abstract><p>
      The purpose of the talk is to address how students interact with the
      internet, and possibilities for how they could do so more efficiently. 
      Information on events and happenings on UW campus is currently hosted 
      on a desperate, series of internet applications. Interactions with 
      WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a 
      Facebook group, campus information at large comes from 
      <a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There 
      has been historical pressures from various bodies, including some 
      thinkers in feds and the administration, to centralize these issues. To 
      create a one stop shop for students on campus.
    </p><p>
      It is not through confining data in cages that we will finally link all 
      student activities together, instead it is by truly freeing it. When 
      data can be anywhere, then it will be everywhere students need it. This 
      is the underlying concept behind metadata, data that is freed from the 
      confines of it's technical imprisonment. Metadata is the extension of 
      people, organizations, and activities onto the internet in a way that is 
      above the traditional understanding of how people interact with their 
      networks. The talk will explore how Metadata can exist freely on the 
      internet, how this affects concepts like Web 3.0, and how the university 
      and the federation are poised to take advantage of this burgeoning new 
      technology through adoptions of portals which will allow students to 
      interact with a metaverse of data.
    </p></abstract>
  </eventitem>

<!-- Winter 2007 -->

  <eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
    <short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
    <abstract><p>
      Richard Stallman has cancelled his trip to Canada.
    </p></abstract>
  </eventitem>

  <eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
    <short>A talk by Simina Branzei</short>
    <abstract><p>
      Abstract coming soon!
    </p></abstract>
  </eventitem>

  <eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
    Bill Gates Visit">
   <abstract>
   <p>
   While reading Slashdot, Bill came across the recently digitized audio
   recording of his 1989 talk at the Computer Science Club. As Bill has always
   had a soft-spot for the Computer Science Club, he has decided to pay us a
   surprise visit.
   </p><p>
   Bill promises to give away free copies of Windows Vista Ultimate, because
   frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
   to bring your resumes kids, because Bill will be recruiting for some 
   exciting new positions at Microsoft, including Mindless Drone, Junior Code
   Monkey, and Assistant Human Cannonball.
   </p>
   </abstract>
 </eventitem>

  <eventitem date="2007-03-28" time="5:30 PM"
   room="MC 1056" title="Computational Physics Simulations">
   <short>A talk by David Tenty and Alex Parent</short>
   <abstract>
   <p>
        Coming Soon!
    </p>
    </abstract>
  </eventitem>



  <eventitem date="2007-03-29" time="4:30 PM"
   room="MC 1056" title="All The Code">
   <short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
   <abstract>
   <p>
Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find 
pre-existing code. So if you were writing some code and you wanted to find a csv library, for example, you could search for csv. 
<a href="http://www.allthecode.com/">All The Code</a> is a 
next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine 
relevance of code.
</p>
<p>
The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>, 
along with a brief discussion of some of the technology behind it.
    </p>
    </abstract>
  </eventitem>


  <eventitem date="2007-04-04" time="4:00 PM"
   room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
   <short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
   circumstances</short>
   <abstract>
   <p>
I am going to take an intuitive, CS-style approach to a discussion about the
use of kernels in modern data analysis.  This approach often lends us
efficient ways to consider a dataset under various choices of inner product,
which is roughly comparable to a measure of "similarity".  Many new tools in
AI arise from kernel methods, such as the infamous Support Vector Machines for
classification, and kernel-PCA for nonlinear dimensionality reduction.  I will
attempt to highlight, and provide visualization for some of the math involved
in these methods while keeping the material at an accessible, undergraduate
level.
    </p>
    </abstract>
  </eventitem>



  <eventitem date="2007-02-26" time="4:30 pm"
   room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
   <short>A talk by Alex Ionescu</short>
   <abstract>
   <p>
The ReactOS operating system has been in development for over eight years and aims to provide users
with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
identical to Windows, both visually and internally.
</p><p>
More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
students to learn a variety of skills useful to software testing, development and management, as well as
providing a rich and clean implementation of Windows NT, with a kernel compatible to published
internals book on the subject.
</p><p>
This talk will introduce the ReactOS project, as well as the various software engineering challenges
behind it. The building platform and development philosophies and utilities will be shown, and
attendees will grasp the vast amount of effort and organization that needs to go into building an
operating system or any other similarly large project. The speaker will gladly answer questions related to
his background, experience and interests and information on joining the project, as well as any other
related information.
</p><p>
<strong>Speaker Bio</strong>
</p><p>
Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
providing hands-on workshops and lectures on Windows NT internals and security to various companies.
    </p>
    </abstract>
  </eventitem>


  <eventitem date="2007-02-15" time="4:30 PM"
   room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
   <short>A talk by James deBoer</short>
   <abstract>
   <p>

This talk will introduce the Haskell programming language and and walk
through building a recognizer for regular languages. The talk will
include a quick overview of regular expressions, an introduction to
Haskell and finally a line by line analysis of a regular language
recognizer.
    </p>
    </abstract>
  </eventitem>

  <eventitem date="2007-02-09" time="4:30 PM"
   room="MC 4041" title="Introduction to 3-d Graphics">
   <short>A talk by Chris "The Prof" Evensen</short>
   <abstract>
   <p>
 A talk for those interested in 3-dimensional graphics but unsure of where to
 start.  Covers the basic math and theory behind projecting 3-dimensional
 polygons on screen, as well as simple cropping techniques to improve
 efficiency.  Translation and rotation of polygons will also be discussed.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2007-02-09" time="8:30 PM"
   room="DC 1351" title="Writing World Class Software">
   <short>A talk by James Simpson</short>
   <abstract>
   <p>
A common misconception amongst software developers is that top quality software 
encompasses certain platforms, is driven by a particular new piece of 
technology, or relies solely on a particular programming language.  However as 
developers we tend to miss the less hyped issues and techniques involved in 
writing world class software.  These techniques are universal to all 
programming languages, platforms and deployed technologies but are often times 
viewed as being so obvious that they are ignored by the typical developer.  The 
topics covered in this lecture will include:
</p><p>
- Writing bug-free to extremely low bug count software in real-time<br/>
- The concept of single-source, universal platform software<br/>
- Programming language interoperability<br/>
<br/>
... and other less hyped yet vitally important concepts to writing
World Class Software
   </p>
    </abstract>
  </eventitem>

  <eventitem date="2007-02-08" time="4:30 PM"
   room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
   <short>A talk by Larry Smith</short>
   <abstract>
   <p>
 A discussion of software start-ups founded by UW students and what they did 
 that helped them grow and what failed to help.  In order to share the most 
 insights and guard the confidences of the individuals involved, none of the 
 companies will be identified.
   </p>
    </abstract>
  </eventitem>


  <eventitem date="2007-02-07" time="4:30 PM"
   room="MC 4041" title="Riding The Multi-core Revolution">
   <short>How a Waterloo software company is changing the way people program computers. 
     A talk by Stefanus Du Toit</short>
   <abstract>
   <p>
	For decades, mainstream parallel processing has been thought of as
inevitable. Up until recent years, however, improvements in
manufacturing processes and increases in clock speed have provided
software with free Moore's Law-scale performance improvements on
traditional single-core CPUs. As per-core CPU speed increases have
slowed to a halt, processor vendors are embracing parallelism by
multiplying the number of cores on CPUs, following what Graphics
Processing Unit (GPU) vendors have been doing for years. The Multi-
core revolution promises to provide unparalleled increases in
performance, but it comes with a catch: traditional serial
programming methods are not at all suited to programming these
processors and methods such as multi-threading are cumbersome and
rarely scale beyond a few cores. Learn how, with hundreds of cores in
desktop computers on the horizon, a local software company is looking
to revolutionize the way software is written to deliver on the
promise multi-core holds.
    </p>
    <p>
	Refreshments (and possible pizza!) will be provided.
    </p>
    </abstract>
  </eventitem>

<!--  <eventitem date="2007-01-24" time="4:00 PM"
   room="TBA" title="TBA">
   <short>A talk by Reg Quinton</short>
   <abstract>
   <p>
	To be announced
    </p>
    </abstract>
  </eventitem>
-->
  <eventitem date="2007-01-31" time="4:00 PM"
   room="MC 4041" title="Network Security -- Intrusion Detection">
   <short>A talk by Reg Quinton</short>
   <abstract>
   <p>
 IST monitors the campus network for vulnerabilities and scans
 systems for security problems.
 This informal presentation will look behind the scenes to show the
 strategies and technologies used and to show the problem magnitude. We
 will review the IST Security web site with an emphasis on these pages
 </p><p>
 <a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
 <a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
 <a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
    </p>
    </abstract>
  </eventitem>
<!--
  <eventitem date="2007-01-31" time="4:30 PM"
   room="TBA" title="An Brief Introduction to Projection Graphics">
   <short>A talk by Christopher Evensen</short>
   <abstract>
   <p>
	To be announced
    </p>
    </abstract>
  </eventitem>
-->

<!-- Fall 2006 -->
<!-- Nothing happened :( -->

<!-- Spring 2006 -->


<eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
 <short>Come out for the Club that Really Likes Dinner</short>
 <abstract>
 <p>
Summer: the sparrows whistle through the teapot-steam breeze.  The
ubiquitous construction team tears the same pavement up for the third
time, hammering passers-by with dust and noise: our shirts, worn for
the third time, noisome from competing heat and shame.  As Nature
continues her Keynesian rotation of policy, and as society decrees yet
another parting of ways, it is proper for the common victims to have
an evening to themselves, looking both back and ahead, imagining new
opportunities, and recognising those long since missed.  God fucking
damn it.
</p>
<p>
This term's CTRL-D end-of-term dinner is taking place tomorrow
(Saturday) at 7:00 P.M. at East Side Mario's, in the plaza.  Meet in
the C.S.C. fifteen minutes beforehand, so they don't take away our
seats or anything nasty like that.
</p>
<p>
A lot of people wanted to go to the Mongolian Grill, but I'm pretty
sure this place has a similar price-to-tasty ratio; what's more,
they'll actually grant us a reservation more than four nights a week.
I've confirmed that the crazy allergenic peanuts no longer exist
(sad), and they have a good vegetarian selection, which is likely
coincides with their kosher and halal menus.
</p>
<p>
Come out for the tasty and the awesome!  If you pretend it's your
birthday, everyone's a loser!  Tell your friends, because I told the
telephone I wanted to reserve for 10 to 12 people, and I don't wish to
sully Calum T. Dalek's good name!
 </p>
 </abstract>

</eventitem>


<eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
 <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
 <abstract>
 <p>
 Does being in CS make you feel like a lemming?  Is linear algebra driving you
 into walls?  Do you pace back and forth, constantly, regardless of whatever's
 in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
 playing the pseudo-sequel:  Oh No! More Lemmings!
 </p>
 <ul>
  <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
  <li>Projector screen: the pixels are man-sized!</li>
  <li>Enjoy classic Lemmings tunes</li>
 </ul>
 </abstract>

</eventitem>
<eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
	<short>A part of Linux Awareness Week</short>
	<abstract>
	<p>
	The Computer Science Club is once again stepping forward to fulfill its ancient duty to the people-this time by installing one of the many 
fine distributions of Linux for you. 
	</p>
	<p>
	Ubuntu? Debian? Gentoo? Fedora? We might not have them all, but we seem to have an awful lot! Bring your boxen down to the D.C. Fishbowl for 
the awesome!
	</p>
	<p>
	Install Linux on your machine-install fear in your opponents!
	</p>
</abstract>
</eventitem>


<eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
	<short>or How communities of interest drive modern software development.</short>
	<abstract>
	<p>
		Simon Law leads the Quality teams for Ubuntu, a free-software operating
		system built on Debian GNU/Linux.  As such, he leads one of the largest
		community-based testing efforts for a software product.  This does get a
		bit busy sometimes.
	</p>
	<p>
		In this talk, we'll be exploring how the Internet is changing how
		software is developed.  Concepts like open source and technologies like
		message forums are blurring the lines between producer and consumer.
		And this melting pot of people is causing people to take note, and
		changing the way they sling code.
	</p>
	<p>
		Co-Sponsored with CS-Commons Committee
	</p>
</abstract>
</eventitem>

  <eventitem date="2006-07-21" time="5:30 PM"
   room="MC1085" title="March of the Penguins">
   <short>The Computer Science Club will be showing March of the Penguins</short>
   <abstract>
	<p>
	<a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
by some guy with a funny voice is being shown by the Computer Science club because penguins are cute and were bored [that and the
whole Linux awareness week that forgot to tell people about].
	</p>
   </abstract>
  </eventitem>


  <eventitem date="2006-07-20" time="5:30 PM"
   room="MC4041" title="Cool Stuff to do With Python">
   <short>Albert O'Connor will be introducing the joys of programming in python</short>
   <abstract>
	<p>
	Albert O'Connor, a UW grad,  will be giving a ~30 minute talk on introducing the joys of programming python. Python is an open source 
object-oriented programming language which is most awesome. 
	</p>
   </abstract>
  </eventitem>

  <eventitem date="2006-07-20" time="4:30 PM"
   room="MC4041" title="Simulating multi-tasking on an embedded architecture">
   <short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
   <abstract>
        <p>
In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must 
respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence 
crazy hacks must be used to get the benefits without paying the high costs. This talk will look at the common hack used to simulate multi-processing 
in a real time embedded environment.
        </p>
   </abstract>
  </eventitem>


<eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
	<short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
	<abstract>
	<p>
Could you write a good image recognizer for a 100 MHz mobile phone
processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
stack? It needs to locate and read two-dimensional barcodes made up of
square modules which might be no more than a few pixels in size. We
had to do that in order to establish Semacode, a local start up
company that makes a software barcode reader for cell phones. The
applications vary from ubiquitous computing to advertising. Simon
Woodside (founder) will discuss what it's like to start a business and
how the imaging code works.
	</p>
</abstract>
</eventitem>





  <eventitem date="2006-07-17" time="11:59 PM"
   room="MC3036" title="Midnight Madness, Alpha Edition">
   <short>Come out to discuss current &amp; future plans/projects for the Club</short>
   <abstract>
	<p>
        The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
together, solder, and eat free food (probably pizza).
	</p>
   </abstract>
  </eventitem>


  <eventitem date="2006-06-21" time="4:30 PM"
   room="MC4042" title="CSC General Meeting">
   <short>Come out to discuss current &amp; future plans/projects for the Club</short>
   <abstract>
	<p>
	The venue will include:</p>
		<p><ul>
		<li><p>Computer usage agreement discussion (Holden has some changes he'd like to propose)</p></li>
		<li><p>Web site - Juti is redesigning the web site (you can see <a href="beta/">a beta here</a> - ideas are welcome.</p></li>
		<li><p>Frosh Linux cd's that could be put in frosh math faculty kits.</p></li>
		<li><p>VoIP "not phone services" ideas.</p></li>
		<li><p>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</p></li>
		<li><p>Ideas for books.</p></li>
		<li><p>General improvements/comments for the club.</p></li>
		</ul></p>
	<p>
	If you have ideas, but can't attend, please email them to <a href="mailto:president@csclub.uwaterloo.ca">president@csclub.uwaterloo.ca</a> and they will be read them at the meeting.
	</p>
   </abstract>
  </eventitem>


<eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
 <short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
 <abstract>
  <p>
  Rico Mariani, (BMath CS/EEE 1988) now an (almost) 18 year Microsoft veteran but then a CSC president comes to talk to us about the 
evolution of software tools for microcomputers.  This talk promises to be a little bit about history and perspective (at least from 
the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what 
it's like to try to make the software industry more effective at what it does, and sometimes succeed!
  </p>
<p>
A video of the talk is available for download in our <a href="media/">media</a> section.
</p>
 </abstract>
</eventitem>

<eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
 <short>Unix 101 and 102 recording</short>
 <abstract>
  <p>
  Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try 
  and put them on the web. This Sunday we will be doing a first take.
  At the same time, we're going to be looking at adding new material
  that we haven't covered in the past. </p>
  <p>
  Why should you come out? Not only will you get to hang out with a wonderful group of people,
  you can help impart your knowledge to the world. Don't know anything about Unix? That's cool too,
  we need people to make sure its easy to follow along and hopefully keep us from leaving something
  out by mistake. 
  </p>
  </abstract>
</eventitem>

<eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
 <short> We don't know enough about V4L</short>
 <abstract>
  <p>
  We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which 
could benefit from a better understanding of Video 4 Linux. So, this Saturday a number of us will be trying to learn 
as much as possible about Video 4 Linux and doing weird things with webcam(s).
  </p>
  </abstract>
</eventitem>

<eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
Elections">
 <short>Come out and vote for the Spring 2006 executive!</short>
 <abstract>
  <p>
  The Computer Science Club will be holding its elections for the Spring 2006
  term on Monday, May 8th.  The elections will be held at 4:30 PM in the
  Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
  vote!
  </p>
  <p>
  We are accepting nominations for the following positions: President,
  Vice-President, Treasurer, and Secretary. The nomination period continues
  until 4:30 PM on Sunday, May 7th. If you are interested in running for
  a position, or would like to nominate someone else, please email
  cro@csclub.uwaterloo.ca before the deadline. 
  </p>
 </abstract>
</eventitem>

<!-- Winter 2006 -->

  <eventitem date="2006-03-06" time="4:45 PM"
   room="Physics 145" title="Creating Killer Applications">
   <short>A talk by Larry Smith</short>
   <abstract>
   <p>
	A discussion of how software creators can identify application opportunities
	that offer the promise of great social and commercial significance. Particular
	attention will be paid to the challenge of acquiring cross domain knowledge
	and setting up effective collaboration.
    </p>
    </abstract>
  </eventitem>


  <eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
    <short>Come out and meet your professors. Free food provided!</short>
    <abstract>
    <p>Come out and meet your professors!  This is a great opportunity to
    mingle with your professors before midterms or find out who you might
    have for future courses.  All are welcome!</p>

    <p>Best of all, there will be <strong>free food!</strong></p>

    <p>You can pick up invitations for your professors at the Computer Science
    Club office in MC 3036.</p>

    <p>Pints with Profs will be held this term on Thursday, 9 February 2006
    from 5:30 to 8:00 PM in the Bombshelter.</p>
    </abstract>
  </eventitem>

<!-- Fall 2005 -->

  <eventitem date="2005-11-29" time="5:30 PM"
   room="TBA" title="Programming Contest">
   <short>Come out, program, and win shiny things!</short>
   <abstract>
   <p>
	The Computer Science club is holding a programming contest open to all students on Tuesday the 29th of November at 5:30PM. C++,C,Perl,Scheme* are allowed. Prizes totalling in value of $75 will be distributed. 

   </p>

   <p>And best of all... free food!!!</p>
   </abstract>
  </eventitem>


  <eventitem date="2005-10-17" time="5:30 PM"
   room="Fishbowl" title="Party with Profs!">
   <short>Get to know your profs and be the envy of your
   friends!</short>
   <abstract>
   <p>
     Come out and meet your professors!!  This is a great opportunity to
     meet professors for Undergraduate Research jobs or to find out who
     you might have for future courses.  One and all are welcome!
   </p>

   <p>And best of all... free food!!!</p>
   </abstract>
  </eventitem>


<eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
 <short>You Too Can Be a Unix Taskmaster</short>
 <abstract>
  <p>
  This is the third in a series of seminars that cover the use of the
  UNIX Operating System. UNIX is used in a variety of applications, both
  in academia and industry. We will provide you with hands-on experience
  with the Math Faculty's UNIX environment in this tutorial.
  </p><p>
  Topics that will be discussed include:
  <ul>
  <li>Shell scripting</li>
  <li>Searching through text files</li>
  <li>Batch editing text files</li>
  </ul>
  </p><p>
  If you do not have a Math computer account, don't panic; one will be lent to
  you for the duration of this class.
  </p>
 </abstract>
</eventitem>


<eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
 <short>Fun with Unix</short>
 <abstract>
 <p>
 This is the second in a series of seminars that cover the use of the
 Unix Operating System. Unix is used in a variety of
 applications, both in academia and industry. We will provide you with hands-on
 experience with the Math Faculty's Unix environment in this tutorial.
 </p>
 <p>
 Topics that will be discussed include:
 <ul>
 <li>Interacting with Bourne and C shells</li>
 <li>Editing text using the vi text editor</li>
 <li>Editing text using the Emacs display editor</li>
 <li>Multi-tasking and the screen multiplexer</li>
 </ul>
 </p>
 <p>
 If you do not have a Math computer account, don't panic; one will be lent to
 you for the duration of this class.
 </p>
 </abstract>
</eventitem>

<eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
 <short>First UNIX tutorial</short>
 <abstract>
  <p>
  The CSC UNIX tutorials are intended to help first year CS and other
  interested learn UNIX and the CS UNIX environment.
  </p>
  <p>
  This is the first in a series of two or three tutorials. It will cover basic shell
  use, and simple text editors.
  </p>
 </abstract>
</eventitem>


<!-- Summer 2005 -->
<eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
 <short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
<abstract>
<p>
Server-side Web applications have grown increasingly common, sometimes
even replacing brick and mortar as the principal interface of
corporations.  Correspondingly, Web browsers grow ever more powerful,
empowering users to attach bookmarks, switch between pages, clone
windows, and so forth.  As a result, Web interactions are not
straight-line dialogs but complex nets of interaction steps.
</p>
<p>
In practice, programmers are unaware of or are unable to handle these
nets of interaction, making the Web interfaces of even major
organizations buggy and thus unreliable.  Even when programmers do
address these constraints, the resulting programs have a seemingly
mangled structure, making them difficult to develop and hard to
maintain.
</p>
<p>
In this talk, I will describe these interactions and then show how
programming language ideas can shed light on the resulting problems
and present solutions at various levels.  I will also describe some
challenges these programs pose to computer-aided verification, and
present solutions to these problems.
</p>
</abstract>
</eventitem>
<eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
<short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
<abstract>
<p>
I'll survey the evolution of our computer science curriculum over the
past thirty-five years to try to convey the reasons (not always entirely
rational) behind our current mix of courses and their division into core
and optional. After some remarks about constraints and opportunities in
the near future, I'll open the floor to discussion, and hope to hear
some candid comments about the state of CS at UW and how it might be
improved.
</p>
<p>
About the speaker:
</p>
<p>
Prabhakar Ragde is a Professor in the School of Computer Science at UW.
He was Associate Chair for Curricula during the period that saw the
creation of the Bioinformatics and Software Engineering programs, the
creation of the BCS degree, and the strengthening of the BMath/CS degree.
</p>
</abstract>
</eventitem>

<!-- Winter 2005 -->
<eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
 <short>Come out for some retro Amiga-style Lemmings gaming action!</short>
 <abstract>
 <p>
 Does being in CS make you feel like a lemming?  Is linear algebra driving you
 into walls?  Do you pace back and forth, constantly, regardless of whatever's
 in your path?  Then you should come out to CSC Lemmings Day.  This time, we're
 playing the pseudo-sequel:  Oh No! More Lemmings!
 </p>
 <ul>
  <li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
  <li>Projector screen: the pixels are man-sized!</li>
  <li>Live-Action Lemmings (the rules are better this time)</li>
  <li>Lemmings look-alike contest</li>
  <li>Enjoy classic Lemmings tunes</li>
 </ul>
 </abstract>
</eventitem>

<eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
 <short>Fun with Unix</short>
 <abstract>
 <p>
 This is the second in a series of seminars that cover the use of the
 Unix Operating System. Unix is used in a variety of
 applications, both in academia and industry. We will provide you with hands-on
 experience with the Math Faculty's Unix environment in this tutorial.
 </p>
 <p>
 Topics that will be discussed include:
 <ul>
 <li>Interacting with Bourne and C shells</li>
 <li>Editing text using the vi text editor</li>
 <li>Editing text using the Emacs display editor</li>
 <li>Multi-tasking and the screen multiplexer</li>
 </ul>
 </p>
 <p>
 If you do not have a Math computer account, don't panic; one will be lent to
 you for the duration of this class.
 </p>
 </abstract>
</eventitem>


<eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
 <short>First UNIX tutorial</short>
 <abstract>
  <p>
  The CSC UNIX tutorials are intended to help first year CS and other
  interested learn UNIX and the CS UNIX environment.
  </p>
  <p>
  This is the first in a series of two or three tutorials. It will cover basic shell
  use, and simple text editors.
  </p>
 </abstract>
</eventitem>


<eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
Elections">
 <short>Come out and vote for the Winter 2005 executive!</short>
 <abstract>
  <p>
  The Computer Science Club will be holding its elections for the Winter 2005
  term on Thursday, January 13.  The elections will be held at 4:30 PM in the
  Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
  vote!
  </p>
  <p>
  We are accepting nominations for the following positions: President,
  Vice-President, Treasurer, and Secretary. The nomination period continues
  until 4:30 PM on Wednesday, January 12. If you are interested in running for
  a position, or would like to nominate someone else, please email
  cro@csclub.uwaterloo.ca before the deadline. 
  </p>
 </abstract>
</eventitem>


<!-- Fall 2004 -->

<eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
title="CTRL-D">
 <short> This semesters CTRL-D (or the club that really likes
dinner) is going to be at Mongolian grill. Be there or be square</short>
 <abstract>
	<p>
Come to the end of term CTRL-D (club that really likes dinner) meeting.
Remember : food is good 
</p>
 </abstract>
</eventitem>


<eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
 <short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
interesting examples that can or cannot be straightened out</short>
 <abstract>
	<p>
 In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some 
interesting examples that can or cannot be straightened out</p>

 </abstract>
</eventitem>


<eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
 <short>How I Stopped Worrying and Learned to Love the IDE</short>
 <abstract>
  <p>
	How I stopped worrying and Learned to Love the IDE
  </p>
  <p>
	Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like 
the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs. 
  </p>

  <p>
	I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or 
"Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
  </p>

 </abstract>
</eventitem>


<eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
 <short>Wiki software in PHP+MySQL</short>
 <abstract>
  <p>
   GracefulTavi is an open source wiki programmed by Net Integration
   Technologies Inc. It is used internally by more than 25 people, and is
   the primary internal wiki for NITI's R&amp;D and QA.
  </p>
  <p>
   I'll start with a very brief introduction to wikis in general, then
   show off our special features: super-condensed formatting syntax,
   hierarchy management, version control, highlighted diffs, SchedUlator,
   the Table of Contents generator. As part of this, we'll explain the
   simple plugin architecture and show people how to write a basic wiki
   plugin.
  </p>

  <p>
   As well, I will show some of the "waterloo specific" macros that have
   been coded, and explain future plans for GracefulTavi.
  </p>

  <p>
   If time permits, I will explain how gracefulTavi can be easily used
   for a personal calendar and notepad system on your laptop.
  </p>
 </abstract>
</eventitem>



<eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
 <short>Everyone else is doing it!</short>
 <abstract>
  <p>
	Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
  </p><p>
  <ul>
  <li>Play some old-skool Lemmings, Amiga-style</li>
  <li>Live-action lemmings</li>
  <li>Lemmings look-alike contest</li>
  <li>Enjoy classic Lemmings tunes</li>
  </ul>
  </p><p>
	Everyone else is doing it!
  </p>
 </abstract>
</eventitem>


<eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
	<short>CSC Programming Contest</short>
	<abstract>
	<p>
	The Computer Science Club will be hosting a programming competition.
	You have the entire afternoon to design and implement an AI for a simple
	game. The competition will run until 5pm.
	</p>
	</abstract>
</eventitem>


<eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103:  Scripting Unix">
 <short>You Too Can Be a Unix Taskmaster</short>
 <abstract>
  <p>
  This is the third in a series of seminars that cover the use of the
  UNIX Operating System. UNIX is used in a variety of applications, both
  in academia and industry. We will provide you with hands-on experience
  with the Math Faculty's UNIX environment in this tutorial.
  </p><p>
  Topics that will be discussed include:
  <ul>
  <li>Shell scripting</li>
  <li>Searching through text files</li>
  <li>Batch editing text files</li>
  </ul>
  </p><p>
  If you do not have a Math computer account, don't panic; one will be lent to
  you for the duration of this class.
  </p>
 </abstract>
</eventitem>

<eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
 <short>Fun with Unix</short>
 <abstract>
 <p>
 This is the second in a series of seminars that cover the use of the
 Unix Operating System. Unix is used in a variety of
 applications, both in academia and industry. We will provide you with hands-on
 experience with the Math Faculty's Unix environment in this tutorial.
 </p>
 <p>
 Topics that will be discussed include:
 <ul>
 <li>Interacting with Bourne and C shells</li>
 <li>Editing text using the vi text editor</li>
 <li>Editing text using the Emacs display editor</li>
 <li>Multi-tasking and the screen multiplexer</li>
 </ul>
 </p>
 <p>
 If you do not have a Math computer account, don't panic; one will be lent to
 you for the duration of this class.
 </p>
 </abstract>
</eventitem>

<!-- Spring 2004 -->

<eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
 <short>First UNIX tutorial</short>
 <abstract>
  <p>
  The CSC UNIX tutorials are intended to help first year CS and other
  interested learn UNIX and the CS UNIX environment.
  </p>
  <p>
  This is the first in a series of three tutorials. It will cover basic shell
  use, and simple text editors.
  </p>
 </abstract>
</eventitem>
<eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
Elections">
 <short>Come out and vote for the Fall 2004 executive!</short>
 <abstract>
  <p>
  The Computer Science Club will be holding its elections for the Fall 2004
  term on Friday, September 17. The elections will be held at 4:00 PM in the
  Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
  vote!
  </p>
  <p>
  We are accepting nominations for the following positions: President,
  Vice-President, Treasurer, and Secretary. The nomination period continues
  until 4:30 PM on Thursday, September 16. If you are interested in running
  for a position, or would like to nominate someone else, please email
  cro@csclub.uwaterloo.ca before the deadline. 
  </p>
 </abstract>
</eventitem>

<eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
title="Game Complexity Theorists Ponder, by Jonathan Buss">
<short>Attention AI buffs: Game Complexity presentation</short>
<abstract>
<p>
Why are some games hard to play well?  The study of computational
complexity gives one answer: the games encode long computations.</p>

<p>Any computation can be interpreted as an abstract game.  Playing the
game perfectly requires performing the computation.  Remarkably, some
natural games can encode these abstract games and thus simulate
general computations.  The more complex the game, the more complex the
computations it can encode; games that can encode intractable problems
are themselves intractable.</p>

<p>
I will describe how games can encode computations, and discuss some
examples of both provably hard games (checkers, chess, go, etc.) and
games that are believed to be hard (hex, jigsaw puzzles, etc.).
</p>
</abstract>
</eventitem>  

<eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
   title="Case Modding Workshop!">
   <short>Come and learn how to make your computer 1337!</short>
   <abstract>
    <p>
Are you bored of beige?<br />
Tired of an overheating computer?<br />
Is your computer's noise level on par with a jet engine?
    </p>
    <p>
Got a nifty modded case?<br />
Want one?
    </p>
    <p>
The Computer Science Club will be holding a Case Modding Workshop
to help answer these questions.
    </p>
    <p>
There will be demonstrations on how to make a case window, how
to paint your case, managing cables and keeping your computer
quiet and cool.
    </p>
    <p>
The event is FREE and there will be FREE PIZZA.  All are welcome!
    </p>
    <p>
To help you on your way to getting a wicked computer case, we have a limited
number of "Case Modding Starters Kits" available.  They come with an LED fan,
a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more!  They're
only $10 and will be on sale at the event.  Here's a <a
href="redkit.jpg">picture</a>.
    </p>
    <p>
If you already have a modded case, we encourage you to bring it out
and show it off!  There will be a prize for the best case!!
    </p>
    <p>
We hope to see you there!
    </p>
    <p>
This event is sponsored by Bigfoot Computers.
    </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
   title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
   <short>A talk by Richard Mann; School of Computer Science</short>
   <abstract>
    <p>
When an observer moves through a 3D scene, nearby surfaces move faster in the
image than do distant surfaces.  This effect, called motion parallax, provides
an observer with information both about their own motion relative the scene,
and about the spatial layout and depth of surfaces in the scene.
    </p>
    <p>
Classical methods for measuring image motion by computer have concentrated on
the cases of optical flow in which the motion field is continuous, or layered
motion in which the motion field is piecewise continuous.  Here we introduce a
third natural category which we call ``optical snow''.  Optical snow arises in
many natural situations such as camera motion in a highly cluttered 3-D scene,
or a passive observer watching a snowfall.  Optical snow yields dense motion
parallax with depth discontinuities occurring near all image points.  As such,
constraints on smoothness or even smoothness in layers do not apply.
    </p>
    <p>
We present a Fourier analysis of optical snow.  In particular we show that,
while such scenes appear complex in the time domain, there is a simple
structure in the frequency domain, and this may be used to determine the
direction of motion and the range of depths of objects in the scenes.  Finally
we show how Fourier analysis of two or more image regions may be combined to
estimate heading direction.
    </p>
    <p>
This talk will present current research at the undergraduate level.  All are
welcome to attend.
    </p>
   </abstract>
  </eventitem>
  

  <eventitem date="2004-05-26" time="5:30 PM"
   room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
   <short>A talk by Larry Smith</short>
   <abstract>
   <p>
     Larry will challenge conventional assumptions about the directions of           
     computing and software. The role of AI, expert systems, communications          
     software and business applications will be presented both from a                
     functional and commercial point of view.  The great gaps in the                 
     marketplace will be highlighted, together with an indication of how             
     these vacant fields will become home to new empires.                            
    </p>
    </abstract>
  </eventitem>
  <eventitem date="2004-05-12" time="4:30 PM"
   room="The Comfy Lounge" title="CSC Elections">
   <short>Come out and vote for the Spring 2004 executive!</short>
   <abstract>
   <p>
     The Computer Science Club will be holding its elections for the Spring
     2004 term on Wednesday, May 12.  The elections will be held at 4:30 PM in
     the Comfy Lounge, on the 3rd floor of the MC.  Please remember to come out
     and vote!
   </p>
   <p>
     We are accepting nominations for the following positions: President,
     Vice-President, Treasurer, and Secretary.  The nomination period continues
     until 4:30 PM on Tuesday, May 11.  If you are interested in running
     for a position, or would like to nominate someone else, please email
     cro@csclub.uwaterloo.ca before the deadline.
   </p>
   </abstract>
  </eventitem>

<!-- Winter 2004 -->

  <eventitem date="2004-03-29" time="6:00 PM"
   room="MC 4058" title="LaTeXing your work report">
   <short>A talk by Simon Law</short>
   <abstract>
   <p>
     The work report is a familiar chore for any co-op student. Not only is
     there a report to write, but to add insult to injury, your report is
     returned if you do not follow your departmental guidelines.
   </p>

   <p>
     Fear no more! In this talk, you will learn how to use LaTeX and a
     specially developed class to automatically format your work reports.
     This talk is especially useful to Mathematics, Computer Science,
     Electrical &amp; Computer Engineering, and Software Engineeering co-op
     students about to go on work term.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-03-30" time="5:30 PM"
   room="The Grad House" title="Pints with Profs!">
   <short>Get to know your profs and be the envy of your
   friends!</short>
   <abstract>
   <p>
     Come out and meet your professors!!  This is a great opportunity to
     meet professors for Undergraduate Research jobs or to find out who
     you might have for future courses.  One and all are welcome!
   </p>

   <p>And best of all... free food!!!</p>
   </abstract>
  </eventitem>

  <eventitem date="2004-03-23" time="6:00 PM"
   room="MC4058" title="Extending LaTeX with packages">
   <short>A talk by Simon Law</short>
   <abstract>
   <p>
     LaTeX is a document processing system.  What this means is you describe
     the structure of your document, and LaTeX typesets it appealingly.
     However, LaTeX was developed in the late-80s and is now showing its age.
   </p>

   <p>
     How does it compete against modern systems?  By being easily extensible,
     of course.  This talk will describe the fundamentals of typesetting in
     LaTeX, and will then show you how to extend it with freely available
     packages.  You will learn how to teach yourself LaTeX and how to find
     extensions that do what you want.
   </p>

   <p>
     As well, there will be a short introduction on creating your own
     packages, for your own personal use.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-03-16" time="6:00 PM"
   room="MC4058" title="Distributed programming for CS and Engineering
   students">
   <short>A talk by Simon Law</short>
   <abstract>
   <p>
     If you've ever worked with other group members, you know how difficult
     it is to code simultaneously.  You might be working on one part of your
     assignment, and you need to send your source code to everyone else.  Or
     you might be fixing a bug in someone else's part, and need to merge in
     the change.  What a mess!
   </p>

   <p>
     This talk will explain some Best Practices for developing code in a
     distributed fashion.  Whether you're working side-by-side in the lab, or
     developing from home, these methods can apply to your team.  You will
     learn how to apply these techniques in the Unix environment using GNU
     Make, CVS, GNU diff and patch.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-03-15" time="5:30 PM"
   room="MC4040" title="SPARC Architecture">
   <short>A talk by James Morrison</short>
   <abstract>
   <p>
     Making a compiler?  Bored?  Think CISC sucks and RISC rules?
   </p>

   <p>
     This talk will run through the SPARC v8, IEEE-P1754, architecture.
     Including all the fun that can be had with register windows and the
     SPARC instruction set including the basic instructions, floating
     point instructions, and vector instructions.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-03-09" time="6:00 PM"
   room="MC4062" title="Managing your home directory using CVS">
   <short>A talk by Simon Law</short>
   <abstract>
   <p>
     If you have used Unix for a while, you know that you've created
     configuration files, or dotfiles.  Each program seems to want its own
     particular settings, and you want to customize your environment.  In a
     power-user's directory, you could have hundreds of these files.
   </p>

   <p>
     Isn't it annoying to migrate your configuration if you login to another
     machine?  What if you build a new computer?  Or perhaps you made a
     mistake to one of your configuration files, and want to undo it?
   </p>

   <p>
     In this talk, I will show you how to manage your home directory using
     CVS, the Concurrent Versions System.  You can manage your files, revert
     to old versions in the past, and even send them over the network to
     another machine.  I'll also discuss how to keep your configuration files
     portable, so they'll work even on different Unices, with different
     software installed.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-03-02" time="6:00 PM"
   room="MC4042" title="Graphing webs-of-trust">
   <short>A talk by Simon Law</short>
   <abstract>
   <p>
     In today's world, people have hundreds of connexions.  And you can
     express these connexions with a graph.  For instance, you may wish to
     represent the network of your friends.
   </p>

   <p>
     Originally, webs-of-trust were directed acyclic graphs of people who had
     identified each other.  This way, if there was a path between you and
     the person who want to identify, then you could assume that each person
     along that path had verified the next person's identity.
   </p>

   <p>
     I will show you how to generate your own web-of-trust graph using Free
     Software.  Of course, you can also use this knowledge to graph anything
     you like.
   </p>
   </abstract>
  </eventitem>

  <eventitem date="2004-02-18" time="7:00 PM"
   room="DC2305" title="KW Perl Mongers">
   <short>Perl Modules: A look under the hood</short>
   <abstract>

   <p>In Perl, a module is the basic unit of code-reuse.  The talk will be
   mostly a look into GD::Text::Arc, a module written to draw TrueType text
   around the edge of a circle.  The talk will consider:</p>

   <ul>
   <li>using and writing object-oriented perl code</li>
   <li>the Virtue of Laziness: or, reusing other peoples' code.</li>
   <li>writing tests while coding</li>
   <li>beer coasters</li>
   </ul>

   </abstract>
  </eventitem>

  <eventitem date="2004-02-05" time="3:30 PM"
   room="MC4041" title="Constitutional Change">
   <short>Vote to change the CSC Constitution</short>
   <abstract>

   <p>During the General Meeting on 19 January 2004, a proposed constitution
   change was passed around.  This change is in response to a change in the
   MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>

   <p>This general meeting is called to vote on this proposed change.  We must
   have quorum of 15 Full Members vote on this change.  The following text was
   presented at the CSC Winter 2004 Elections.</p>

<pre>We propose to make a Constitutional change on this day, 19 January 2004.
The proposed change is to section 3.1 of the constitution which
currently reads:

    In compliance with MathSoc regulations and in recognition of the
    club being primarily targeted at undergraduate students, full
    membership is open to all undergraduate students in the Faculty of
    Mathematics and restricted to the same.

Since MathSoc has changed its requirements for club membership, we
propose that it be changed to:

    In compliance with MathSoc regulations and in recognition of the
    club being primarily targeted at undergraduate students, full
    membership is open to all Social Members of the Mathematics Society
    and restricted to the same.</pre>
   </abstract>
  </eventitem>

  <eventitem date="2004-01-12" time="3:00 PM"
   room="DC1301" title="InstallFest">
   <short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
   <abstract>

   <p>An Installfest is an opportunity to install software on your computer.
   People come with computers. Other people come with experience. The people
   get together and (when all goes well) everybody leaves satisfied.</p>

   <p>You are invited to our first installfest of the year. Come to get some
   software or to learn more about Open Source Software and why it is relevant
   to your life. The event is free, but you may want to bring blank CDs and/or
   money to purchase some open source action for your computer at home.</p>

   <p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
   website</a> for more details.</p>

   </abstract>
  </eventitem>

<!-- Fall 2003 -->

  <eventitem date="2003-12-01" time="7:00 PM"
   room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
   <short> Free and Open Source software has been around for a long
   time, even longer then shrink-wrapped code.</short>
   <abstract>
 <p>Free and Open Source software has been around for a long time, even   
longer then shrink-wrapped code.  It has a long and noble history in the annals
of education.  Even more than ever, due to the drop of hardware prices and the
increase of worldwide communications, Free and Open Source can open new   
avenues of teaching and doing research, not only in computer science, but in
other university fields as well.</p>
 <p>Learn how Linux as an operating system can
run on anything from a PDA to a supercomputer, and how Linux is reducing the
cost of computing dramatically as the fastest growing operating system in the
world.  Learn how other Free and Open Source projects, such as office suites,
audio and video editing and playing software, relational databases, etc. are
created and are freely available.</p>

<p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
 <h3>Speaker's Biography</h3>
 <p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
a non-profit association of computer vendors who wish to support and promote
the Linux Operating System.  During his career which spans over thirty years,
Mr. Hall has been a programmer, systems designer, systems administrator,
product manager, technical marketing manager and educator.  He has
worked for such companies as Western Electric Corporation, Aetna Life and
Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems,
and is currently funded by SGI.</p>

<p>He has taught at Hartford State Technical College, Merrimack College and
Daniel Webster College.  He still likes talking to students over pizza and beer
(the pizza can be optional).</p>

<p>Mr. Hall is the author of numerous magazine and newspaper articles, many
presentations and one book, "Linux for Dummies".</p>

<p>Mr. Hall serves on the boards of several companies, and several non-profit
organizations, including the USENIX Association.</p>

<p>Mr. Hall has traveled the world speaking on the benefits of Open Source
Software, and received his BS in Commerce and Engineering from Drexel
University, and his MSCS from RPI in Troy, New York.</p>

<p>In his spare time maddog is working on his retirement project:</p>

<center>maddog's monastery for microcomputing and microbrewing</center>

   </abstract>
  </eventitem>

  <eventitem date="2003-11-05" time="4:30 PM - 8:30 PM"
   room="Grad House Pub (Green Room)" title="CS Pints With Profs">
   <short>Come have a pint with your favourite CS profs!</short>
   <abstract>
   <p>Come meet CS profs in a relaxed atmosphere this Wednesday at
   the Grad House (by South Campus Hall). This is your chance to meet those CS profs
   you enjoyed in lectures in person, have a chat with them
   and find out what they're doing outside the lecture halls.</p>

   <p>We'll be providing free food, including hamburgers and nachos,
   and the Grad House offers a great selection of drinks.</p>

   <p>If you'd like to invite a particular prof, stop by on the third
   floor of the MC (outside of the Comfy) to pick up an invitation.</p>

   <p>Persons of all ages are welcome!</p>
   </abstract>
  </eventitem>


  <eventitem date="2003-10-21" time="4:30 PM - 5:30 PM" room="MC2065"
   title=".NET &amp; Linux: When Worlds Collide">
  <short>A talk by James Perry</short>
  <abstract>

  <p>.NET is Microsoft's new development platform, including amongst
  other things a language called C# and a class library for various
  operating system services. .NET aims to be portable, although it is
  currently mostly only used on Windows systems.</p>

  <p>With the full backing of Microsoft, it seems unlikely that .NET
  will disappear any time soon. There are several efforts underway to
  bring .NET to the GNU/Linux platform. Hosted by the Computer Science
  Club, this talk will discuss a number of the issues surrounding .NET
  and Linux.</p>

  </abstract>
  </eventitem>

  <eventitem date="2003-10-22" time="4:30 PM - 5:30 PM" room="MC4061"
   title="Real-Time Graphics Compilers">
  <short>Sh is a GPU metaprogramming language developed at the UW
  Computer Graphics Lab</short>
  <abstract>

  <p>Sh is a GPU metaprogramming language developed at the University of
  Waterloo Computer Graphics Lab. It allows graphics programmers to
  write programs which run directly on the GPU (Graphics Processing
  Unit) using familiar C++ syntax. Furthermore, it allows
  metaprogramming of such programs, that is, writing programs which
  generate other programs, in an easy and natural manner.</p>

  <p>This talk will give a brief overview of how Sh works, the design of
  its intermediate representation and the (still somewhat simplistic)
  optimizer that the current reference implementation has and problems
  with applying traditional compiler optimizations.</p>

  <p>Stefanus Du Toit is an undergraduate student at the University of
  Waterloo.  He is also a Research Assistant for Michael McCool from the
  University of Waterloo Graphics Lab. Over the Summer of 2003 Stefanus
  reimplemented the Sh reference implementation and designed and
  implemented the current Sh optimizer.</p>
  </abstract>
  </eventitem>

  <eventitem date="2003-10-17" time="3:00 PM" room="MC3001 (Comfy)"
   title="Poster Team Meeting">
  <short>More free pizza from the Poster Team</short>
  <abstract>
  <p>Are you interested in getting involved in the Computer Science
  Club?</p>

  <p>Come on out to the second meeting of our Poster Team, a bunch of
  students helping out with promotion for our events. The agenda for
  this meeting will include painting posters, designing event
  invitations, and organizing poster runs. Once again, we will be
  serving free pizza!</p>

  <p>See you there!</p>
  </abstract>
  </eventitem>

  <eventitem date="2003-10-16" time="4:00 PM - 5:30 PM" room="MC2037"
   title="UNIX 103: Development Tools">
  <short>GCC, GDB, Make</short>
  <abstract>
  <p>This tutorial will provide you with a practical introduction to GNU 
  development tools on Unix such as the gcc compiler, the gdb debugger
  and the GNU make build tool.</p>

  <p>This talk is geared primarily at those mostly unfamiliar with these
  tools.  Amongst other things we will introduce:</p>

  <ul>
  <li>gcc options, version differences, and peculiarities</li>
  <li>using gdb to debug segfaults, set breakpoints and find out what's
    wrong</li>
  <li>tiny Makefiles that will compile all of your 2nd and 3rd year CS
    projects.</li>
  </ul>

  <p>If you're in second year CS and unfamiliar with UNIX development it
  is highly recommended you go to this talk. All are welcome, including
  non-math students.</p>

  <p>Arrive early!</p>
  </abstract>
  </eventitem>

  <eventitem date="2003-10-02" time="4:00 PM - 5:30 PM" room="MC2037"
   title="UNIX 101: Text Editors">
  <short>vi vs. emacs: The Ultimate Showdown</short>
  <abstract>
<p>
Have you ever wondered how those cryptic UNIX text editors work? Have you
ever woken up at night with a cold sweat wondering "Is it  CTRL-A, or CTRL-X
CTRL-A?" Do you just hate pico with a passion?</p>

<p>Then come to this tutorial and learn how to use vi and emacs!</p>

<p>Basic UNIX commands will also be covered. This tutorial will be especially
useful for first and second year students.</p>

  </abstract>
  </eventitem>

  <eventitem date="2003-10-06" time="4:00 PM" room="MC3001 (Comfy)"
   title="Poster Team Meeting">
  <short>Join the Poster Team and get Free Pizza!</short>
  <abstract>
    <ul>
    <li>Do you like computer science?</li>
    <li>Do you like posters?</li>
    <li>Do you like free pizza?</li>
    </ul>
    <p>If the answer to one of these questions is yes, then come
out to the first meeting of the Computer Science Club Poster Team! The
CSC is looking for interested students to help out with promotion and
publicity for this term's events. We promise good times and free
pizza!</p>
  </abstract>
  </eventitem>

  <eventitem date="2003-09-17" time="4:30 PM" room="MC3001 (Comfy)"
   title="CSC Elections">
  <short>CSC Fall 2003 Elections</short>
  <abstract>
   <p>Elections will be held on Wednesday, September 17, 2003 at 4:30 PM in the

   Comfy Lounge, MC3001.</p>

   <p>I invite you to nominate yourself or others for executive positions,
   starting immediately. Simply e-mail me at cro@csclub.uwaterloo.ca 
   with the name of the person who is to be nominated and the position
   they're nominated for.</p>

   <p>Nominees must be full-time undergraduate students in Math. Sorry!</p>

   <p>Positions open for elections are:</p>

   <ul><li>President: Organises the club, appoints committees, keeps everyone busy.
   If you have lots of ideas about the club in general and like bossing
   people around, go for it!</li>

   <li>Vice President: Organises events, acts as the president if he's not
   available. If you have lots of ideas for events, and spare time, go
   for it!</li>

   <li>Treasurer: Keeps track of the club's finances. Gets to sign cheques
   and stuff. If you enjoy dealing with money and have ideas on how to
   spend it, go for it!</li>

   <li>Secretary: Takes care of minutes and outside correspondence. If you
   enjoy writing things down and want to use our nifty new letterhead
   style, go for it!</li></ul>

   <p>Nominations will be accepted until Tuesday, September 16 at 4:30 PM.</p>

   <p>Additionally, a Sysadmin will be appointed after the elections. If you
   like working with Unix systems and have experience setting up and
   maintaining them, go for it!</p>

   <p>I hope that lots of people will show up; hopefully we'll have a great
   term with plenty of events. We always need other volunteers, so if you
   want to get involved just talk to the new exec after the
   meeting. Librarians, webmasters, poster runners, etc. are always
   sought after!</p>

   <p>There will also be free pop.</p>

   <p>Memberships can be purchased at the elections or at least half an hour
   prior to at the CSC. Only undergrad math members can vote, but anyone can
   become a member.</p>

  </abstract>
  </eventitem>
<!-- Spring 2003 -->

  <eventitem date="2003-07-31" time="4:30 PM" room="MC4064"
   title="LaTeX and Work Reports">
  <short>Writing beautiful work reports</short>
  <abstract> 

  <p>The work report is a familiar chore for any co-op student.  Not only is
  there a report to write, but to add insult to injury, your report is
  returned if you do not follow your departmental guidelines.</p>

  <p>Fear no more!  In this talk, you will learn how to use LaTeX and a
  specially developed class to automatically format your work reports.
  This talk is especially useful to Mathematics, Computer Science,
  Electrical &amp; Computer Engineering, and Software Engineeering co-op
  students about to go on work term.</p>

  <p><a
  href="http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/">http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/</a></p>

  </abstract>
  </eventitem>

  <eventitem date="2003-07-24" time="4:30 PM" room="MC2037"
   title="vi: the visual editor">
  <short>It's not 6.</short>
  <abstract> 

  <p>In 1976, a University of California Berkeley student by the name of
  Bill Joy got sick of his text editor, ex.  So he hacked it such that
  he could read his document as he wrote it.  The result was "vi", which
  stands for VIsual editor.   Today, it is shipped with every modern
  Unix system, due to its global influence.</p>

  <p>In this talk, you will learn  how to use vi to edit documents
  quickly and efficiently.  At the end, you should be able to:</p>

  <ul>
  <li>Navigate and search through documents</li>
  <li>Cut, copy, and paste across documents</li>
  <li>Search and replace regular expressions</li>
  </ul>

  <p>If you do not have a Math computer account, don't panic; one will be lent
  to you for the duration of this class.</p>  

  </abstract>
  </eventitem>

  <eventitem date="2003-07-24" time="3:00 PM" room="CSC Office" title="July 
  Exec Meeting">
  <short> See Abstract for minutes </short>
  <abstract>
  <pre>
--paying Simon for Sugar
-Unanimous yea.
-ACTION ITEM: Mark
	Expense this to MathSoc in lieu of foreign speaker.

--We currently have (including CD-R and pop-income not 
currently in safe) $972.85
-We have $359.02 on budget that we can expense to MathSoc.

--We got MEF money for books and video card. Funding for 
wireless microphone is dependent on whether MFCF is 
willing to host it.
-Funding for casters was denied.
-Shopping for the Video card.
-Expecting it after August (Stefanus shopping for it.)
-Will have to hear back regarding the microphone, best to 
delay that now, discuss it with MEF.
	-Better to do it this term, so it doesn't get lost.
	-Let MFCF know about this concern.
-Regarding books, can be done anytime before September.

--Events feedback
	-Generally, Jim Eliot talk when really well.
		-Apparently he was generally offensive.
	-When was the LaTeX talk? End of the month.
	-Kegger at Jim's place on the 16th.

--Getting people in on the 6th, 7th, 8th for csc commercials
filmed by Jason
	-Hang out in here, and he'll make a CSC commercial.
	-Co-ordinate when everyone should be in here, so we can email Jason.

--CEO progress
	-CEO needs it's database changed to use ISBN as a primary key.
	-Needs functionality to take out/return books.

--Mark just entered financial stuff into GNUcash

--Choose CRO for next term.
-Stefanus has expressed desire not to be CRO.
-Gary Simmons was suggested (and he accepted)
-Unanimous yea

--Mike Biggs has to get here naked.
	-Four unanimous votes.
	-Nakedness only applies to getting here, not being here.


From last meeting:
ACTION ITEM: Biggs and Cass
-get labelmaker tape, masking tape
whiteboard makers, coloured paper, CD sleeves
-keep receipts for CSC office expenses.

How is the progress on allowing executives and voters to be non-math
members?
-The vote is coming up Monday.
-Proposal: Anyone who is a paying member can be a member
	-So you can either do two things:
	Pay MathSoc fees, or
	Get your faculty society to recognize CSC as a club.

Stefanus wanted to mention that we should talk to Yolanda, 
Craig or Louie about a EYT event for frosh week.
-Organized by Meg.
-Sugar Mountain trying to hook all the Frosh
ACTION ITEM: Jim
-Email Meg

Reminder for Next Year's executive.
-September 16th @ 5:00pm, get a table for Clubs day, and 17th 
and 18th, maintain the booth (full day events).
-Update pamphlets.
ACTION ITEM: Gary
-There should be executive before then 

Note: There needs to be a private section in the CSC Procedures Manual.
(Only accessible by shell)
ACTION ITEM: Simon
-Do it.

ACTION ITEM: Mike
-Talk to Plantops about:
-Locks on doors
-Mounting corkboard.
-Talk about CSC Sign
  </pre>
  </abstract>

  </eventitem>
  <eventitem date="2003-06-27" time="2:30 PM" room="DC1302"
   title="Friday Flicks">
  <short> SIGGRAPH Electronic Theatre Showing </short>
  <abstract>
  <p>
   SIGGRAPH is the ACM's Special Interest Group for Graphics and
   simultaneously the world's largest graphics conference and
   exhibition, where the cutting edge of graphics research is presented
   every year.
   </p><p>
    With support from UW's Computer Graphics Lab, the CSC invites you to
    capture a glimpse of SIGGRAPH 2002. We will be presenting the
    Electronic Theatre showings from 2002, demonstrating the best of the
    animated, CG-produced movies presented at SIGGRAPH.
    </p><p> Don't miss this free showing!</p>
  </abstract>
  </eventitem>
  <eventitem date="2003-07-08" time="4:00 PM" room="MC2065"
   title="Mainframes and Linux">
  <short>A talk by Jim Elliott. Jim is responsible for IBM's in Open Source
  activities and IBM's mainframe operating systems for Canada and the 
  Carribbean.</short>
  <abstract>
  <p>
  Linux and Open Source have become a significant reality in the
  working world of Information Technology. An indirect result has been a
  "rebirth" of the mainframe as a strategic platform for enterprise
  computing. In this session Jim Elliott, IBM's Linux Advocate, will provide
  an overview of these technologies and an inside look at IBM's participation
  in the community. Jim will examine Linux usage on the desktop, embedded
  systems and servers, a reality check on the common misconceptions that
  surround Linux and Open Source, and an overview of the history and current
  design of IBM's mainframe servers.</p>
  <p>
  Jim Elliott is the Linux Advocate for IBM Canada. He is responsible
  for IBM's participation in Linux and Open Source activities and IBM's
  mainframe operating systems in Canada and the Caribbean. Jim is a popular
  speaker on Linux and Open Source at conferences and user groups across the
  Americas and Europe and has spoken to over 300 organizations over the past
  three years. Over his 30 years with IBM he has been the co-author of over
  15 IBM publications and he also coordinated the launch of Linux on IBM
  mainframes in the Americas. In his spare time, Jim is addicted to reading
  historical mystery novels and travel to their locales.
  </p>
  <p><a href="http://www.vm.ibm.com/devpages/jelliott/events.html">Slides</a>
  </p>
  </abstract>
  </eventitem>
  <eventitem date="2003-07-04" time="3:30 PM" room="University of Guelph"
   title="Guelph Trip">
  <short>Come Visit the University of Guelph's Computer Science Club</short>
  <abstract><p>
   The University of Waterloo Computer Science Club is going to visit the
   University of Guelph Computer Science Club.  There will be a talk given
   as well as dinner with a fun social atmosphere.</p><p>Drivers Wanted</p>
   <p>Cancelled -- sorry Guelph cancelled on us.</p>
  </abstract>
  </eventitem>
  <eventitem date="2003-07-17" time="4:30 PM" room="MC4064"
   title="Sh">
  <short>Metaprogramming your way to stunning effects.</short>
  <abstract>
  <p>
  Modern graphics processors allow developers to upload small "shader
  programs" to the GPU, which can be executed per-vertex or even
  per-pixel during the rendering. Such shaders allow stunning effects to
  be performed in real-time, but unfortunately aren't very easy to
  program since one generally has to write them at the assembly level.
  </p><p>
  Recently a few high-level languages for shader programming have become
  available. Sh, a result of research at UW, is one such language. It
  allows programming powerful shaders in simple and intuitive ways. Sh
  is particularly interesting because of the way it is
  implemented. Instead of coming up with a language grammar and writing
  a full-fledged compiler, Sh is implemented as a C++ library, and
  shader programs are effectively written in C++. The actual compilation
  then takes place in a manner similar to JIT (Just-in-time)
  compilers. This has many advantages over the traditional approach,
  including C++'s familiar syntax for users, and much less work for the
  Sh implementers.
  </p><p>
  In this talk I will give an overview of GPUs and the Sh language as
  well as some interesting details on how Sh was implemented.
  </p><p> <!-- Is there a bio tag -->
  Stefanus Du Toit is a research assistant at the University of
  Waterloo. He has implemented the current version of Sh from scratch
  and is actively developing it under supervision of Michael McCool, the
  original designer of the language.
  </p>
  </abstract>
  </eventitem>
  <eventitem date="2003-06-19" time="4:30 PM" room="MC2037"
   title="vi: the visual editor">
  <short>It's not 6.</short>
  <abstract> 

  <p>In 1976, a University of California Berkeley student by the name of
  Bill Joy got sick of his text editor, ex.  So he hacked it such that
  he could read his document as he wrote it.  The result was "vi", which
  stands for VIsual editor.   Today, it is shipped with every modern
  Unix system, due to its global influence.</p>

  <p>In this talk, you will learn  how to use vi to edit documents
  quickly and efficiently.  At the end, you should be able to:</p>

  <ul>
  <li>Navigate and search through documents</li>
  <li>Cut, copy, and paste across documents</li>
  <li>Search and replace regular expressions</li>
  </ul>

  <p>If you do not have a Math computer account, don't panic; one will be lent
  to you for the duration of this class.</p>  

  </abstract>
  </eventitem>

  <eventitem date="2003-06-12" time="3:30 PM" room="MC3036 CSC Office" title="June 12 Exec Meeting">
  <short>Have an issue that should be brought up? We'd love to hear it!</short>
  <abstract>
  <pre>
  
Budget: All the money we requested
	--No money from Pints from Profs
	--MathSoc has promised us $1250
	
Feedback from Completed Events
	UNIX Talks: 17 people for first
			--12 people for second
			--Things going well
			--Last talk today
			--VI next week
	IPsec
	--Sparse crowd
	--People Jim didn't know talked to him for 1/2 hour

	History of CSC talk went well
	--Good variety of people

	Pints with Profs
	--NO CS Profs
	--Only 1 E&amp; CE prof
	--Only 2 Math profs
	--Jim will harass the profs at the School of CS Council meeting.
	
	We're starting to fall behind in planning
	
	RoShamBo rules
	--Got a web site up
	--Might have to move RSB back
	--International site has a few test samples
	--Stefanus had some ideas
	--Coding will probably take an afternoon/evening
	--We need volunteers to run the competition
	--We have volunteers to code: Phil and Stefanus
	
	ACTION ITEM: Phil and Stefanus
	--code whatever you volunteered to code for.
	
	--Mike intends to visit classes and directly advertise
	--Email Christina Hotz 

	--GH guy: Mike has an abstract, will have posters by tomorrow
	
	CSC Movie Night
	--Mathnet, Hackers, Wargames, Tron
	--Mike will get a room
	--Will be closed member

	Mike McCool is offering rooms for showing SIGGRAPH 
	ACTION ITEM: Jim
	-check with Mike McCool.
	
	ACTION ITEM: Mike 
	-Make posters for Movie Nights

	When is other movie night? (Will plan some time in July)

	Who is our foreign speaker?
	Action Item: jelliot@ca.ibm.com (Check name first) about 
	getting a foreign speaker -- Note: Has already been contacted.

	Simon got money from Engsoc

	Cass needs coloured paper (CSC is out)

	ACTION ITEM: Cass and Mark 
	--get labelmaker tape, masking tape, 
	whiteboard makers, coloured paper 
	--keep receipts for CSC office expenses

	NOTICE: Mike is now Imapd

	Simon distributed budget list
	Mark got the money from Mathsoc for last budget, deposited it.

	ACTION ITEM:Mark
	--Get MEF funding by July 4th (equipment)
	ACTION ITEM: Simon
	--Get WEEF funding by June 27th (book)

	Jim still working on allowing executives and voters to be 
	non-math members

	We get free photocopying from MathSoc
	ACTION ITEM: Mike 
	--write down code for free photocopying from MathSoc
	
	Simon has been able to get into the cscdisk account, still 
	looking into getting into the cscceo account.

	Damien got an e-mail stating that the files for cscdisk are 
	out of date.
	
	ACTION ITEM: Simon
	--provide SSH key to Phil for getting into cscdisk, cscceo, etc...
	--Renumber bootup scripts for sugar and powerpc so that they 
	boot up happily.

	ACTION ITEM: Mike needs to do all the plantops stuff again.

	ACTION ITEM: Mike -- &quot;Stapler if you say please&quot; sign.

	CVS Tree for CEO has been exported.
	Damien has volunteered to finish CEO (found by Cass)

	All books with barcodes have been scanned
	All books without barcodes need to be bar-coded.

	ACTION ITEM: Mark
	--Find a Credit-card with a $500 or less limit.

	Note: There needs to be a private section in the 
	CSC Procedures Manual. (Only accessible by shell)

	Stefanus Wanted to mention that we should talk to 
	Yolanda, Craig or Louie about a EYT event for Frosh Week.
  </pre>
  </abstract>
  </eventitem>

  <eventitem date="2003-06-10" time="4:30 PM" room="MC2066"
   title="A Brief History of Computer Science">
  <abstract>

<p>War, insanity, espionage, beauty, domination, sacrifice, and tragic
death... not what one might associate with the history of computer
science. In this talk I will focus on the origin of our discipline in
the fields of engineering, mathematics, and science, and on the
complicated personalities that shaped its evolution. No advanced
technical knowledge is required.</p>

  </abstract>
  </eventitem>

  <eventitem date="2003-06-09" time="5:00 - 9:00 PM" room="The Grad House"
   title="Pints with Profs!">
  <short>Get to know your profs and be the envy of your friends!</short>
  <abstract>

<p>Come out and meet your professors!!  This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who you might
have for future courses.  One and all are welcome!</p>

<p>Best of all... free food!!!</p>

  </abstract>
  </eventitem>

  <eventitem date="2003-05-29" time="4:30 PM" room="MC2037"
   title="Unix 101: First Steps With Unix">
  <short>Learn Unix and be the envy of your friends!</short>
  <abstract> 

  <p>This is the first in a series of seminars that cover the use of the
  Unix Operating System.  Unix is used in a variety of applications, both
  in academia and industry. We will provide you with hands-on experience
  with the Math Faculty's Unix environment in this seminar.</p> 

  <p>Topics that will be discussed include:</p>

  <ul>
  <li>Navigating the Unix environment</li>
  <li>Using common Unix commands</li>
  <li>Using the PICO text editor</li>
  <li>Reading electronic mail and news with PINE</li>
  </ul>

  <p>If you do not have a Math computer account, don't panic; one will be lent
  to you for the duration of this class.</p>  

  </abstract>
  </eventitem>

  <eventitem date="2003-06-05" time="4:30 PM" room="MC2037"
   title="Unix 102: Fun With Unix">
  <short>Talking to your Unix can be fun and profitable</short>
  <abstract> 

  <p>This is the second in a series of seminars that cover the use of the
  Unix Operating System.  Unix is used in a variety of applications, both in
  academia and industry.  We will provide you with hands-on experience with
  the Math Faculty's Unix environment in this tutorial.</p>

  <p>Topics that will be discussed include:</p>

  <ul>
  <li>Interacting with Bourne and C shells</li>
  <li>Editing text with the vi text editor</li>
  <li>Editing text with the Emacs display editor</li>
  <li>Multi-tasking and the screen multiplexer</li>
  </ul>

  <p>If you do not have a Math computer account, don't panic; one will be
  lent to you for the duration of this class</p>

  </abstract>
  </eventitem>

  <eventitem date="2003-06-12" time="4:30 PM" room="MC2037"
   title="Unix 103: Scripting Unix">
  <short>You too can be a Unix taskmaster</short>
  <abstract> 

  <p>This is the third in a series of seminars that cover the use of the
  Unix Operating System.  Unix is used in a variety of applications, both in
  academia and industry.  We will provide you with hands-on experience with
  the Math Faculty's Unix environment in this tutorial.</p>

  <p>Topics that will be discussed include:</p>

  <ul>
  <li>Shell scripting</li>
  <li>Searching through text files</li>
  <li>Batch editing text files</li>
  </ul>

  <p>If you do not have a Math computer account, don't panic; one will be
  lent to you for the duration of this class</p>

  </abstract>
  </eventitem>

<eventitem date="2003-05-22" time="4:30 PM" room="MC3036 CSC Office" title="May 22 Exec Meeting">
<short>The execs discuss what needs discussion</short>
<abstract>
<pre>

Minutes for CSC Exec Meeting
May 22, 2003


* Add staff to burners group.
	-- Only office staff (people who do stuff) on burners list
  	-- No objections from executives

* We still need a webmaster, imapd
	-- Action Item: Mike
		--Check for pop delivery services (Like Grocery Gateway)
		so that we can replace imapd with an automated cronjob
		-- If this gets implemented, we must make sure that 
		someone is around to receive the pop whenever it is 
		delivered. 

* Budgets
    	Action Item: Simon
		-- Make sure execs receive a copy of the proposed budget
	Action Item: Mark
		-- Look into claiming money from Mathsoc for the last 
		term.
	--Will be looked over the week after next Monday at the Mathsoc
	Budget meeting.
	--June 27th is the WEF (Engineering Endowment Fund) deadline
	--EngSoc proposal for donations by the end of the month
	-- Around 15 events planned
		--Foreign Speaker
			--CS Departmant will pay for flight
			-- We can pay local expenses
		--Pints with Profs
		--Ro-Sham-Bo
		
*Changes in the MathSoc Clubs Policy
	Action Item: Jim and Stefanus
		--Bring thus up with MathSoc
		--Might be good to talk to Bioinformatics about this, as 
		they have science faculty members to take care of as well. 
	--Major issue: People who revoke their Mathsoc fees can still be
	voting 	members
	--We want it so that only people who have paid dues to Mathsoc 
	can vote.
	--Execs should not take back fees, as that is bad form.
	--All execs unanimously agreed with this proposal

*Confirming that we have free printing and photocopying
	Action Item: Mark
		--Does Faculty of Math billing code apply to CSC 
		(as Faculty of Math department?)
		-- Procedures manual has a billing code, but it should 
		be confirmed.
		-- Ask MUO, then Shirley after that.
	Action Item: Simon
		--Apparently there is a special Watcard that provides 
		free printing from MFCF
		--We do not know what account it is mapped to, 
		or the password.

* Getting csc_disk, csc, csc_ceo accounts on undergrad to work again.
	Action Item: Phil
		-- Get csc-disk back up for student use.
		-- What group permissions do we need?
		-- CSC-Disk should be used as a repository for custom 
		window managers, Mozilla, etc... (selling factor for
		CSC accounts)
		-- We should also have an announcement (MOTD, perhaps?) 
		that we are providing and supporting this software.
			--Consider: Having university-wide accessible 
			binaries might be a pain, as different machines
			might require different compilations.
		-- CSC-Disk is full of user data. Should that be blown away?

*Getting locker #7 from MathSoc (Don't we already have lockers 788 and 
789?)
	--Why were the locks snipped? (Bring up at council meeting)
	--We would prefer one combo-lock and one key-lock.

* Review of the CSC office organization
	Action Item: Damien
		--Give Mike sudo access for shutdown
			--Will be rewiring stuff on Saturday
				--involves re-plugging machines
	Action Item: Simon
		--Get rubber wheels for chairs
	
	Action Item: Mike
		-- Ask PlantOps about:
			--Waxing floors
			--Installing Electronic Lock (asap)
				--According to Faculty of Math, 
				we shouldn't need keys.
				--Currently, we still need keys
				--It is kosher to install Electronic lock
				--This provides access right control as 
				compared to key-control.		
				--Might be long term project.
				--Will green men do it?
			--Steam-clean chairs (at least once a term)
			--Cork-board
			--Making ugly wall prettier
				--PlantOps knows about office 
				organization, making environment better.
	--Whiteboards need to be put up
	--Proposal: Cork-board on pillar (no objections)
	--Metal frames on Whiteboard will be in least annoying place

*Do we provide public stapler access?
	--People are often unappreciative and rude
	--Sign -  "Stapler if you say please" -- Unanimously voted 
						 stapler policy
	
*MathSoc Sign
	--Action Item: Jim
		--Find out where to get CSC sign before Monday so we 
		can claim it in old budget. 

* Librarian's Report
	--Action Item: Jim
		--Find perl volunteer to finish CEO
		--Force Stefanus to export CVS tree and put onto Peri
	
	--Books were scanned into system with help of Mark
	--All books with valid barcodes entered into system on 
	May 20th
	--Books without valid barcodes are not in system
		--Someone needs to do it
	--Plan is to implement Dewey decimal system
		--May be inefficient as all books are about CS
		--We will figure out a system later
	--No plans to purchase new books
	--Librarian's Request:	Office Staff should not lend out books 
	that do not have barcodes (No objects to request) 
	--We are still using /media/iso/request to track books
	--Should be charge late fees for books?
	--We should have money in budget for repairing,maintaining books
	--Before spending money on maintaining books, check if DC will 
	do it
		--will it be cheaper/easier/better?

*Setting up extra quota for fun and profit.
	-- We don't implement quota properly right now
	-- Low demand for extra quota
	-- Counterpoint: Old CSC made tons of money
	-- Counter-counter-point: It's not that necessary for extra 
	quota nowadays. 
	-- Executives voted against proposal.

*Jim will spam with an update about the term
	--Consider making it opt-in
	--One email from a service you are using should be considered 
	reasonable mass mailing

*Should Jim bring anything up at the MathSoc meeting?**
	-- Has a list

* Student branches for ACM and IEEE
	Action Item: Gaelan
		--Contact IEEE Computing Society in UW and ask if they want 
		to merge or transfer society to us
	--Simon volunteers to be put down as exec for ACM
		--ACM rules state requirement that exec is a ACM member
	--Do we renew Calum's ACM membership?
		--Yes (3 Yes; 1 No; 1 Abstention)
	--ACM membership money in budget
	--ACM Student chapter form has not come in

* What to do with the donated Procedures Manual?
	--Term Task for webpage:
		--Put procedures manual on web-page.
		--Merge with current manual
	--We don't have a hard copy
	--Would be a good thing to read.
	--Many parts need updating

</pre>
</abstract>
</eventitem>

<eventitem date="2003-05-14" time="4:30 PM" room="MC3001 Comfy Lounge"
 title="Spring 2003 Elections">
 <short>Come on out and vote for your exec!</short>
 <abstract>
<p>Elections will be held on Wednesday, May 14, 2003 at 4:30 PM in the
Comfy Lounge, MC3001.</p>

<p>I invite you to nominate yourself or others for executive positions,
starting immediately. Simply e-mail me at sjdutoit@uwaterloo.ca or
cro@csclub.uwaterloo.ca with the name of the person who is to be
nominated and the position they're nominated for.</p>

<p>Nominees must be full-time undergraduate students in Math. Sorry!</p>

<p>Positions open for elections are:</p>

<ul>
<li>
President: Organises the club, appoints committees, keeps everyone busy.
If you have lots of ideas about the club in general and like bossing
people around, go for it!
</li>

<li>
Vice President: Organises events, acts as the president if he's not
available. If you have lots of ideas for events, and spare time, go
for it!
</li>

<li>
Treasurer: Keeps track of the club's finances. Gets to sign cheques
and stuff. If you enjoy dealing with money and have ideas on how to
spend it, go for it!
</li>

<li>
Secretary: Takes care of minutes and outside correspondence. If you
enjoy writing things down and want to use our nifty new letterhead
style, go for it!
</li>
</ul>

<p>Nominations will be accepted until Tuesday, May 13 at 4:30 PM.</p>

<p>Additionally, a Sysadmin will be appointed after the elections. If you
like working with Unix systems and have experience setting up and
maintaining them, go for it!</p>

<p>I hope that lots of people will show up; hopefully we'll have a great
term with plenty of events. We always need other volunteers, so if you
want to get involved just talk to the new exec after the
meeting. Librarians, webmasters, poster runners, etc. are always
sought after!</p>

<p>There will also be free pop, and if I remember, timbits :).</p>

<p>Memberships can be purchased at the elections. Only undergrad math
members can vote, but anyone can become a member.</p>

<p>Don't forget! Mark it on your calendar/wrist watch/PDA/brain implant!</p>

 </abstract>
</eventitem>

<!-- Winter 2003 -->

  <eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
   title="Unix 101 Tutorial">
  <short>Learn Unix and be the envy of your friends!</short>
  <abstract> 

  <p>This is the first in a series of seminars that cover the use of the
  UNIX Operating System.  UNIX is used in a variety of applications, both
  in academia and industry. We will provide you with hands-on experience
  with the Math Faculty's UNIX environment in this seminar.</p> 

  <p>Topics that will be discussed include:</p>

  <ul>
  <li> Navigating the UNIX environment</li>
  <li> Using common UNIX commands</li>
  <li>Using the PICO text editor</li>
  <li>Reading electronic mail and news with PINE</li>
  </ul>

  <p>If you do not have a Math computer account, don't panic; one will be lent
  to you for the duration of this class.</p>  

  </abstract>
  </eventitem>

  <eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
   title="Unix 102 Tutorial">
  <short>Learn more Unix and be the envy of your friends!</short>
  <abstract> 

  <p>Abstract to come soon.</p>

  </abstract>
  </eventitem>

  <eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
   title="Unix 103 Tutorial">
  <short>Learn more Unix and be the envy of your friends!</short>
  <abstract> 

  <p>Abstract to come soon. </p>

  </abstract>
  </eventitem>

  <eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
    title="W03 Elections">
    <short>Come out and vote for the new exec!</short>
   <abstract>

<p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
January 2) until 4:30 PM of the day before elections (Sunday, January 12).
In order to nominate someone you can either e-mail me directly, by depositing
a form with the required information in the CSC mailbox in the Mathsoc office
or by writing the nomination and clearly marking it as such on the large
whiteboard in the CSC office. E-mail is probably the best choice.
Please include the name of the person to be nominated as well as the position
you wish to nominate them for.</p>

<p>Candidates must be full members of the club. This means they must have paid
their membership for the given term and (due to recent changes in the
constitution) must be full-time undergraduate math students.
The same requirements hold for those voting. Please bring your Watcard to
the elections so that I can verify this. I will have a list of members with
me also.</p>

<p>The positions open are:</p>

<p><b>President</b> -- appoints all committees of the club, calls and presides at all
meetings of the club and audits the club's financial records. Really, this
is the person in charge.</p>

<p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
plans and coordinates events with the programmes committee and assumes any
other duties delegated by the President.
This is a really fun job if you enjoy coordinating events!</p>

<p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
A fairly light job, good choice if you just want to see what being an exec
is all about.</p>

<p><b>Treasurer</b> -- maintains all the finances of the club.
If you like money and keeping records, this is the job for you!</p>

<p>Additionally a Systems Administrator will be picked by the new executive.</p>

<p>Last term was a great term for the CSC -- many events, some office renovations
and a much improved image were all part of it. I hope to see the next term's
exec continue this. If you're interested in seeing this happen, do consider
going for a position, or helping out as office staff or on one of the
committees.</p>

<p>Anyways, hopefully I'll see many of you at the elections.
Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>

<p>If you have any further questions don't hesitate to contact the CRO,
      Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
    </abstract>
  </eventitem>

  <eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
    title="Regular Expressions">
    <short>Find your perfect match</short>
    <abstract>

    <p>Stephen Kleene developed regular expressions to describe what he
    called <q>the algebra of regular sets.</q>  Since he was a pioneering
    theorist in computer science, Kleene's regular expressions soon made
    it into searching algorithms and from there to everyday tools.</p>

    <p>Regular expressions can be powerful tools to manipulate text.
    You will be introduced to them in this talk.  As well, we will go
    further than the rigid mathematical definition of regular
    expressions, and delve into POSIX regular expressions which are
    typically available in most Unix tools.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
    title="sed &amp; awk">
    <short>Unix text editing</short>
    <abstract>

    <p><i>sed</i> is the Unix stream editor.  A powerful way to
    automatically edit a large batch of text.  <i>awk</i> is a
    programming language that allows you to manipulate structured data
    into formatted reports.</p>

    <p>Both of these tools come from early Unix, and both are still
    useful today.  Although modern programming languages such as Perl,
    Python, and Ruby have largely replaced the humble <i>sed</i> and
    <i>awk</i>, they still have their place in every Unix user's
    toolkit.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
    title="LaTeX: A Document Processor">
    <short>Typesetting beautiful text</short>
    <abstract>

    <p>Unix was one of the first electronic typesetting platforms.  The
    innovative AT&amp;T <i>troff</i> system allowed researches at Bell
    Labs to generate high quality camera-ready proofs for their papers.
    Later, Donald Knuth invented a typesetting system called
    T<small>E</small>X, which was far superior to other typesetting
    systems in the 1980s.  However, it was still a typesetting language,
    where one had to specify exactly how text was to be set.</p>

    <p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
    for the T<small>E</small>X system that allows an author to describe
    his document's function, thereby typesetting the text in an
    attractive and correct way.  In addition, one can define semantic
    tags to a document, in order to describe the meaning of the
    document; rather than the layout.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
    title="LaTeX: Reports">
    <short>Writing reports that look good.</short>
    <abstract>

    <p>Work term reports, papers, and other technical documents can be
    typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
    effect.  In this session, I will provide examples on how to typeset
    tables, figures, and references.  You will also learn how to make
    tables of contents, bibliographies, and how to create footnotes.</p>

    <p> I will also examine various packages of 
    L<sup><small>A</small></sup>T<small>E</small>X that can help you 
    meet requirements set by users of inferior typesetting systems.  
    These include double-spacing, hyphenation and specific margin 
    sizes.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
    title="LaTeX: Beautiful Mathematics">
    <short>LaTeX =&gt; fun</short>
    <abstract>

    <p>It is widely acknowledged that the best system by which to
    typeset beautiful mathematics is through the T<small>E</small>
    typesetting system, written by Donald Knuth in the early 1980s.</p>

    <p>In this talk, I will demonstrate
    L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
    elegant mathematical expressions.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
    title="The BSD License Family">
    <short>Free for all</short>
    <abstract>

    <p>Before the GNU project ever existed, before the phrase
    "Free Software" was ever coined, students and researchers
    at the University of California, Berkeley were already
    practising it.  They had acquired the source code to a
    little-known operating system developed at AT&amp;T
    Bell Laboratories, and were creating improvements at a
    ferocious rate.</p>

    <p>These improvements were sent back to Bell Labs, and
    shared to other Universities.  Each of them were licensed
    under what is now known as the "Original BSD license".  Find
    out what this license means, its implications, and what are
    its descendents by attending this short talk.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
    title="The GNU General Public License">
    <short>The teeth of Free Software</short>
    <abstract>

    <div style="font-style: italic"><blockquote>
      The licenses for most software are designed to take away your
      freedom to share and change it. By contrast, the GNU General
      Public License is intended to guarantee your freedom to share and
      change free software---to make sure the software is free for all
      its users.
      <br />
      <div style="text-align:right">--- Excerpt from the GNU GPL</div>
    </blockquote></div>
    
    <p> The GNU General Public License is one of the most influential
    software licenses in this day.  Written by Richard Stallman for the
    GNU Project, it is used by software developers around the world to
    protect their work.</p>

    <p>Unfortunately, software developers do not read licenses
    thoroughly, nor well.  In this talk, we will read the entire GNU GPL
    and explain the implications of its passages.  Along the way, we
    will debunk some myths and clarify common misunderstandings.</p>

    <p>After this session, you ought to understand what the GNU GPL
    means, how to use it, and when you cannot use it.  This session
    should also give you some insight into the social implications of
    this work.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
    title="XML">
    <short>Give your documents more markup</short>
    <abstract>

    <p>XML is the <q>eXtensible Markup Language,</q> a standard
    maintained by the World Wide Web Consortium.  A descendant of IBM's
    SGML.  It is a metalanguage which can be used to define markup
    languages for semantically describing a document.</p>

    <p>This talk will describe how to generate correct XML documents,
    and auxiliary technologies that work with XML.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
    title="XSLT">
    <short>Transforming your documents</short>
    <abstract>

    <p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
    a language for transforming XML documents into other XML
    documents.</p>

    <p>XSLT is used to manipulate XML documents into other forms: a sort
    of glue between data formats.  It can turn an XML document into an
    XHTML document, or even an HTML document.  With a little bit of
    hackery, it can even be convinced to spit out non-XML conforming
    documents.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-03-24" time="8:00 PM" 
    room="Humanities Theatre, Hagey Hall"
    title="Judy, or What Is It Like To Be A Robot?">
    <short>Held in co-operation with the UW Cognitive Science Club</short>
    <abstract>

    <p>A lot of claims have been made lately about the intelligence of 
    computers.  Some researchers say that computers will eventually attain 
    super-human intelligence.  Others call these claims... um, poppycock.  
    Oddly enough, in the search for the truth of the matter, both camps 
    have overlooked an obvious strategy: interviewing a computer and asking 
    her opinion.</p>

    <p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and 
    lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>

    <p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
    imagination stretcher that delights while it exercises your mind.  If you
    think you can't imagine a conscious robot, you're wrong---you can,
    especially once you've met Judy." --- Daniel C. Dennett,
    author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
    &amp;c.</p>

    <p>"...an engrossing evening...  Real questions about 
    consciousness, freedom to act, the relationship between the creator 
    and the created are woven into a bravura performance." --- Will 
    Stackman, <i>Aislesay.com</i></p>

    <p>Sponsored by the Mathematics Society, the Federation of Students, the
    Arts Student Union, the Graduate Student Association, and the Department of
    Philosophy. Tickets available at the Humanities box office (888-4908) and
    the offices of the Psychology Society and the Computer Science Club for
    $5.50.  For
    more information: <a
    href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
    title="Stream Processing">
    <short>A talk by Assistant Professor Michael McCool</short>
    <abstract>

    <p>Stream processing is an enhanced version of SIMD processing that
    permits efficient execution of conditionals and iteration.  Stream
    processors have many similarities to GPUs, and a hardware prototype,
    the Imagine processor, has been used to implement both OpenGL and
    Renderman.</p>

    <p>It is possible that GPUs will acquire certain properties
    of stream processors in the future, which should make them easier
    to use and more efficient for general-purpose computation that includes
    data-dependent iteration and conditionals.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
    title="Abusing the C++ Compiler">
    <short>Abusing template metaprogramming in C++</short>
    <abstract>

    <p>Templates are a useful feature in C++ when it comes to writing
    type-independent data structures and algorithms.  But that's not all
    they can be used for.  Essentially, it is possible to write certain
    programs in C++ that execute completely at compile-time rather
    than run-time.  Combined with some optimisations this is an interesting
    twist on regular C++ programming.</p>

    <p>This talk will give a short overview of the features of templates
    and then go on to describe how to "abuse" templates to perform complex
    computations at compile time. The speaker will present three programs of
    increasing complexity which execute at compile time. First a factorial
    listing program, then a prime listing program will be presented. Finally
    the talk will conclude with the presentation of a <i>Mandelbrot
    generator running at compile time.</i></p>

    <p>Some basic knowledge of C++ will be assumed.</p>

    </abstract>
  </eventitem>

  <eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
    title="SSH and Networks">
    <short>Once more into the breach</short>
    <abstract>

    <p>The Secure Shell (SSH) has now replaced traditional remote login
    tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
    <i>telnet</i>.  It is used to provide secure, authenticated,
    encrypted communications between remote systems.  However, the SSH
    protocol provides for much more than this.</p>

    <p>In this talk, we will discuss using SSH to its full extent.  Topics
    to be covered include:</p>
    <ul>
      <li>Remote logins</li>
      <li>Remote execution</li>
      <li>Password-free authentication</li>
      <li>X11 forwarding</li>
      <li>TCP forwarding</li>
      <li>SOCKS tunnelling</li>
    </ul>

    </abstract>
  </eventitem>

  <!-- Fall 1994 -->
	<eventitem
	 date="1994-09-13" time="9:00 PM"
	 room="Princess Cinema"
	 title="Movie Outing: Brainstorm">
		<short>
			No description available.
		</short>
		<abstract>
			<p>
			The first of this term's CSC social events, we will be going to see
			the movie ``Brainstorm'' at the Princess Cinema. This outing is
			intended primarily for the new first-year students.
			</p>
			<p>
			The Princess Cinema is Waterloo's repertoire theatre. This month
			and next, they are featuring a ``Cyber Film Festival''. Upcoming
			films include:
			</p>
			<ul>
				<li>Brazil</li>
		 		<li>Bladerunner (director's cut)</li>
		 		<li>2001: A Space Odyssey</li>
		 		<li>Naked Lunch</li>
			</ul>
			<p>
		 	Admission is $4.25 for a Princess member, $7.50 for a non-member.
			Membership to the Princess is $7.00 per year. 
			</p>
		</abstract>
	</eventitem>
	<eventitem
	 date="1994-09-16" time="4:30 PM"
	 room="MC 4040"
	 title="CSC Elections">
		<short>No description available</short>
		<abstract>No abstract available</abstract>
	</eventitem>
	<eventitem
	 date="1994-09-19" time="4:30 PM"
	 room="MC 3022"
	 title="UNIX I Tutorial">
		<short>No description available</short>
		<abstract>No abstract available</abstract>
	</eventitem>
	<eventitem
	 date="1994-09-21" time="6:30 PM"
	 room="DC 1302"
	 title="SIGGRAPH Video Night">
		<short>No description available</short>
		<abstract>No abstract available</abstract>
	</eventitem>
	<eventitem
	 date="1994-09-22" time="4:30 PM"
	 room="MC 3022"
	 title="UNIX I Tutorial">
		<short>No description available</short>
		<abstract>No abstract available</abstract>
	</eventitem>
	<eventitem
	 date="1994-09-26" time="4:30 PM"
	 room="MC 3022"
	 title="UNIX II Tutorial">
		<short>No description available</short>
		<abstract>No abstract available</abstract>
	</eventitem>
	<eventitem
	 date="1994-10-13" time="5:00 PM"
	 room="DC 1302"
	 title="Prograph: Picture the Future">
		<short>No description available</short>
		<abstract>
			<p>
			What is the next step in the evolution of computer languages?
			Intelligent agents? Distributed objects? or visual languages?
			</p>
			<p>
			Visual languages overcome many of the drawbacks and limitations
			of the textual languages that software development is based on
			today. Do you think about programming in a linear fashion? Or do
			you draw a mental picture of your algorithm and then linearize it
			for the benefit of your compiler? Wouldn't it be nice if you could
			code the same way you think?
			</p>
			<p>
			Visual C++ and Visual BASIC aren't visual languages, but Prograph
			is. Prograph is a commercially available, visual, object-oriented,
			data-flow language. It is well suited to graphical user interface
			development, but is as powerful for general-purpose programming as
			any textual language.
			</p>
			<p>
			The talk will comprise a discussion of the problems of textual
			languages that visual languages solve, a live demonstration of
			Prograph, and some of my observations of the applications of
			Prograph to software development.
			</p>
		</abstract>
	</eventitem>
	<eventitem
	 date="1994-10-15" time="10:00 AM"
	 room="MC 3022"
	 title="ACM-Style Programming Contest">
		<short>No description available</short>
		<abstract>
			<h3>Big Money and Prizes!</h3>
			<p>
			So you think you're a pretty good programmer? Pit your skills
			against others on campus in this triannual event! Contestants will
			have three hours to solve five programming problems in either C or
			Pascal.
			</p>
			<p>
			Last fall's winners went on to the International Finals and came
			first overall! You could be there, too!
			</p>
		</abstract>
	</eventitem>
	<eventitem
	 date="1994-10-20" time="4:30 PM"
	 room="MC 3009"
	 title="Exploring the Internet">
		<short>No description available</short>
		<abstract>
			<h3>Need something to do between assignments/beers?</h3>
			<p>
			 Did you know that your undergrad account at Waterloo gives you
			 access to the world's largest computer network? With thousands
			 of discussion groups, gigabytes of files to download, multimedia
			 information browsers, even on-line entertainment?
			</p>
			<p>
			The resources available on the Internet are vast and wondrous, but
			the tools for navigating it are sometimes confusing and arcane. In
			this hands-on tutorial you will get the chance to get your feet wet
			with the world's most mind-bogglingly big computer network, the
			protocols and programs used, and how to use them responsibly and
			effectively. 
			</p>
		</abstract>
	</eventitem>
	<eventitem
	 date="1994-11-02" time="4:30 PM"
	 room="MC 2038"
	 title="Game Theory">
		<short>No description available</short>
		<abstract>
			<h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
			<p>
			 This will be a discussion of the pitfalls of using mathematics and
			 algorithms to play classical board games. Thorough descriptions
			 shall be presented of the simple techniques used as the building
			 blocks that make all modern computer game players. I will use
			 tic-tac-toe as a control for my arguments. Other games such as
			 Chess, Othello and Go shall be the be a greater measure of progress;
			 and more importantly the targets of our dreams.
			 </p>
			<p>
			 To enhance the discussion of the future, Barney Pell's Metagamer
			 shall be introduced. His work in define classes of games is
			 important in identifying the features necessary for analysis. 
			 </p>
		</abstract>
	</eventitem>

  <!-- Fall 1999 -->

  <eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
  title="Living Laboratories: The Future Computing Environments at
  Georgia Tech">
    <short>By Blair MacIntyre and Elizabeth Mynatt</short>
    <abstract>
      <p>by   Blair MacIntyre and Elizabeth Mynatt</p>
      <p>The Future Computing Environments (FCE) Group at Georgia Tech
	is a collection of faculty and students that share a desire to
	understand the partnership between humans and technology that
	arises as computation and sensing become ubiquitous.  With
	expertise covering the breadth of Computer Science, but
	focusing on HCI, Computational Perception, and Machine
	Learning, the individual research agendas of the FCE faculty
	are grounded in a number of shared "living laboratories" where
	their research is applied to everyday life in the classroom
	(Classroom 2000), the home (the Aware Home), the office
	(Augmented Offices), and on one's person.  Professors
	MacIntyre and Mynatt will discuss a variety of these projects,
	with an emphasis on the HCI and Computer Science aspects of
	the FCE work.
      </p>
      <p>
	In addition to their affiliation with the FCE group,
	Professors Mynatt and MacIntyre are both members of the
	Graphics, Visualization and Usability Center (GVU) at Georgia
	Tech.  This interdisciplinary center brings together research
	in computer science, psychology, industrial engineering,
	architecture and media design by examining the role of
	computation in our everyday lives.  During the talk, they will
	touch on some of the research and educational opportunities
	available at both GVU and the College of Computing.
      </p>
    </abstract>
  </eventitem>

  <eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
  title="GDB, Purify Tutorial">
    <short>No description available.</short>
    <abstract>
      <p>
       Debugging can be the most difficult and time consuming part of
       any program's life-cycle. Far from an exact science, it's more
       of an art ... and close to some kind of dark magic. Cryptic
       error messages, lousy error checking, and icky things like
       implicit casts can make it nearly impossible to know what's
       going on inside your program.
      </p>
      <p>
	 Several tools are available to help automate your
	 debugging. GDB and Purify are among the most powerful
	 debugging tools available in a UNIX environment. GDB is an
	 interactive debugger, allowing you to `step' through
	  a program, examine function calls, variable contents, stack
	 traces and let you look at the state of a program after it
	 crashes. Purify is a commercial program designed to help find
	 and remove memory leaks from programs written in languages
	 without automatic garbage collection.
      </p>
      <p>
	This talk will cover how to compile your C and C++ programs
	for use with GDB and Purify, as well as how to use the
	available X interfaces. If a purify license is available on
	undergrad at the time of the talk, we will cover how to use it
	during runtime.
      </p>
    </abstract>
  </eventitem>

  <eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
    title="Homebrew Processors and Integrated Systems in FPGAs">
    <short>By Jan Gray</short>
    <abstract>
      <p>by Jan Gray</p>
      
      <p> With the advent of large inexpensive field-programmable gate
      arrays and tools it is now practical for anyone to design and
      build custom processors and systems-on-a-chip. Jan will discuss
      designing with FPGAs, and present the design and implementation
      of xr16, yet another FPGA-based RISC computer system with
      integrated peripherals.</p>

      <p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
      compilers, tools, and middleware at Microsoft from 1987-1998. He
      built the first 32-bit FPGA CPU and system-on-a-chip in
      1995. </p>
    </abstract>
  </eventitem>

  <eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
    title="Ctrl-D">
    <short>End-of-term dinner</short> 
    <abstract>
      No abstract available.
    </abstract>
  </eventitem>

  <eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
    title="Calculational Mathematics">
    <short>By Edgar Dijkstra</short>
    <abstract>
      <p> By Edgar Dijkstra</p>

      <p> This  talk will use  partial orders, lattice theory,  and, if
      time permits,  the Galois  connection as carriers  to illustrate
      the use of  calculi in mathematics. We hope  to show the brevity
      of  many calculations  (in order  to fight the  superstition that
      formal  proofs  are  necessarily  impractically long),  and  the
      strong   heuristic  guidance   that  is   available   for  their
      design. </p>

      <p> Dijkstra is known for early graph-theoretical algorithms,
      the first implementation of ALGOL 60, the first operating system
      composed of explicitly synchronized processes, the invention of
      guarded commands and of predicate transformers as a means for
      defining semantics, and programming methodology in the broadest
      sense of the word. </p>

      <p> His current research interests focus on the formal
      derivation of proofs and programs, and the streamlining of the
      mathematical argument in general.</p>
     
      <p> Dijkstra held the Schlumberger Centennial Chair in Computer
      Sciences at The University of Texas at Austin until retiring in
      October. </p>

    </abstract>
  </eventitem>

  <eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
  St Jerome's" title="Proofs and Programs">
    <short>By Edsger Dijkstra</short>
    <abstract>
      <p> This talk will show the use of programs for the proving of
      theorems. Its purpose is to show how our experience gained in
      the derivations of programs might be transferred to the
      derivation of proofs in general. The examples will go beyond the
      (traditional) existence theorems. </p>

      <p> Dijkstra is known for early graph-theoretical algorithms,
      the first implementation of ALGOL 60, the first operating system
      composed of explicitly synchronized processes, the invention of
      guarded commands and of predicate transformers as a means for
      defining semantics, and programming methodology in the broadest
      sense of the word. </p>

      <p> His current research interests focus on the formal
      derivation of proofs and programs, and the streamlining of the
      mathematical argument in general.</p>
     
      <p> Dijkstra held the Schlumberger Centennial Chair in Computer
      Sciences at The University of Texas at Austin until retiring in
      October. </p>

    </abstract>
  </eventitem>

  <eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
    title="Open Q&amp;A session">
    <short>By Edsger Dijkstra</short>
    <abstract>No description available.</abstract>
  </eventitem>

  <!-- Winter 2000 -->

  <eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
  title="Enterprise Java APIs and Implementing a Web Portal">
    <short>No description available.</short>
    <abstract>
      <h3>by Floyd Marinescu
      </h3>
      
      <p>
	The first talk will be an introduction to the Enterprise Java
	API's: Servlets, JSP, EJB, and how to use them to build
	eCommerce sites.
      </p>

      <p>
	The second talk will be about how these technologies were used
	to implement a real world portal.  The talk will include an
	overview of the design patterns used and will feature
	architectural information about the yet to be release portal
	(which I am one of the developers) called theserverside.com.
      </p>
    </abstract>
  </eventitem>

  <eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
    title="Enterprise Java APIs and Implementing a Web Portal (1)">
    <short>No description available.</short>
    <abstract>
      <p>Real World J2EE - Design Patterns and architecture behind the
	yet to be released J2EE portal: theserverside.com</p>

      <p>This talk will feature an exclusive look at the architecture
	behind the new J2EE portal: theserverside.com.  Join Floyd
	Marinescu in a walk-through of the back-end of the portal,
	while learning about J2EE and its real world patterns,
	applications, problems and benefits.</p>
    </abstract>
  </eventitem>

  <!-- Spring 2000 -->

  <eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
  House, 130 King Street S, Waterloo" title="Ctrl-D">
    <short>End-of-term dinner</short>
    <abstract>No abstract available.</abstract>
  </eventitem>

  <!-- Fall 2000 -->

  <eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
    title="CSC Elections">
    <short>Fall 2000 Elections for the CSC.</short>
    <abstract>
      <p>
	Would you like to get involved in the CSC? Would you like to have a
	say in what the CSC does this term?  Come out to the CSC Elections!
	In addition to electing the executive for the Fall term, we will be
	appointing office staff and other positions.  Look for details in
	uw.csc.
      </p>

      <p>Nominations for all positions are being taken in the CSC office, MC
	3036.</p>
    </abstract>
  </eventitem>

  <eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
    title="SIGGraph Video Night">
    <short> SIGGraph Video Night Featuring some truly awesome computer
    animations from Siggraph '99. </short>
    <abstract>
      <p> Interested in Computer Graphics?
      </p>
      
      <p> Enjoy watching state-of-the-art Animation?
      </p>
      
      <p> Looking for a cheap place to take a date?
      </p>
      
      <p> SIGGraph Video Night -
	Featuring some truly awesome computer animations from Siggraph '99.
      </p>

      <p>Come out for the Computer Science Club general elections at 6:00
	pm, right before SIGGraph!</p>
      </abstract>
  </eventitem>

 <eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
    title="Realising the Next Generation Internet">
    <short>By Frank Clegg of Microsoft Canada</short>
    <abstract>
<h3>Vitals</h3>
<dl>
<dt>By</dt>
<dd>Frank Clegg</dd>
<dd>President, Microsoft Canada</dd>
<dt>Date</dt>

<dd>Monday, September 25, 2000</dd>
<dt>Time</dt>
<dd>14:30 - 16:00</dd>
<dt>Place</dt>
<dd>DC 1302</dd>
<dd>(Davis Centre, Room 1302, University of Waterloo)</dd>

<dt>Cost</dt>
<dd>$0.00</dd>
<dt>Pre-registration</dt>
<dd>Recommended</dd>
<dd><a href="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
<dd>(519) 888-4004</dd>

</dl>

<h3>Abstract</h3>
<p>The Internet and the Web have revolutionized our communications, our access
to information and our business methods. However, there is still much room 
for improvement. Frank Clegg will discuss Microsoft's vision for what is 
beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a 
new platform, user experience and set of advanced software services planned 
to make all devices work together and connect seamlessly. With this next 
generation of software, Microsoft's goal is to make Internet-based 
computing and communications easier to use, more personalized, and more 
productive for businesses and consumers. In his new position of president 
of Microsoft Canada Co., Frank Clegg will be responsible for leading the 
organization toward the delivery of Microsoft .NET. He will speak about 
this new platform and the next generation Internet, how software developers 
and businesses will be able to take advantage of it, and what the .NET 
experience will look like for consumers and business users.</p>

<h3>The Speaker</h3>
<p>Frank Clegg was appointed president of Microsoft Canada Co. this month. 
Prior to his new position, Mr. Clegg was vice-president, Central Region, 
Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for 
sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined 
Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996. 
During that time, Mr. Clegg was instrumental in introducing several key 
initiatives to improve company efficiency, growth and market share. Mr. 
Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>

<h3>For More Information</h3>
<address>
Shirley Fenton<br />
The infraNET Project<br />
University of Waterloo<br />
519-888-4567 ext. 5611<br />
<a href="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
</address>
      </abstract>
  </eventitem>


 <!-- Winter 2001 -->

 <eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
    title="Executive elections">
  <short>Winter 2001 CSC Elections.</short>
  <abstract>
      <p>Would you like to get involved in the CSC? Would you like to
	have a say in what the CSC does this term? Come out to the CSC
	Elections! In addition to electing the executive for the
	Winter term, we will be appointing office staff and other
	positions. Look for details in uw.csc.
      </p>
      <p>
	Nominations for all positions are being taken in the CSC
	office, MC 3036.
      </p>
    </abstract>
 </eventitem>
  <eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
    title="Meeting #2">
    <short>Second CSC meeting for Winter 2001.</short>
    <abstract>
      <h3>Proposed agenda</h3>
      <dl>
	<dt>Book purchases</dt>
	<dd>
	  <p>They haven't been done in 2 terms.
	    We have an old list of books to buy.
	    Any suggestions from uw.csc are welcome.</p>
	</dd>
	<dt>CD Burner</dt>
	
	<dd>
	  <p>For doing Linux burns. It was allocated money on the budget
	    request - about $300. We should be able to get a decent 12x
	    burner with that (8x rewrite).</p>
	  <p>The obvious things to sell are Linux Distros and BSD variants.
	    Are there any other software that we can legally burn and sell
	    to students?</p>
	</dd>
	<dt>Unix talks</dt>
	<dd>
	  <p>Just a talk of the topics to be covered, when, where, whatnot.
	    Mike was right on this one, this should have been done earlier
     in the term.  Oh well, maybe we can fix this for next fall term.</p>
	  
	</dd>
	<dt>Game Contest</dt>
	<dd>
	  <p>We already put a bit of work into planning the Othello contest
	    before I read Mike's post. I still think it's viable. I've got
	    at least 2 people interested in writing entries for it. This
	    will be talked about more on Monday. Hopefully, Rory and I will
	    be able to present a basic outline of how the contest is going
	    to be run at that time.</p>
	</dd>
	<dt>Peri's closet cleaning</dt>
	<dd>
	  
	  <p>Current sysadmin (jmbeverl) and I (kvijayan) and
	    President (geduggan) had a nice conversation about this 2
	    days ago, having to do with completely erasing all of
	    peri, installing a clean stable potato debian on it, and
	    priming it for being a gradual replacement to calum. We'll
	    probably discuss how much we want to get done on this
	    front on Monday.</p>
	</dd>
      </dl>
      
      <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>
    </abstract>
  </eventitem>

  <eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
    title="ACM-Style programming contest">
    <short>Practice for the ACM international programming
    contest</short>
    <abstract>
<p>Our ACM-Style practice  contests involve answering five questions in three
hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
Waterloo's teams  have been in  the top ten  at the world  finals.
For more information, see
<a href="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>

<h3>Easy Question:</h3>
<p>A palindrome is a sequence of letters that reads the same backwards and
forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
only letters are important). Your task is to find the longest palindrome in
a line of text (if there is a tie, print the leftmost one).</p>
<pre>
Input:                              Output:

asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
abcbabCdcbaqwerewq                  abCdcba
</pre>

<h3>Hard Question:</h3>
<p>An anagram is a word formed by reordering the letters of another word.
Find all sets of anagrams that exist within a large dictionary.  The
input will be a sorted list of words (up to 4000 words), one per line.
Output each set of anagrams on a separate line.  Each set should be
in alphabetical order, and all lines of sets should be in alphabetical
order.  A word with no anagrams is a set of anagrams itself, and should
be displayed with no modifications.</p>

<pre>
Input:      Output:

post        post pots stop
pots        start
start
stop
</pre>
    </abstract>
  </eventitem>

  <eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
    title="Meeting #3">
    <short>No description available.</short>
    <abstract>No abstract available.</abstract>
  </eventitem>

  <eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
    title="Meeting #4">
    <short>No description available.</short>
    <abstract>No abstract available.</abstract>
  </eventitem>

  <eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
    title="Meeting #5">
    <short>No description available.</short>
    <abstract>No abstract available.</abstract>
  </eventitem>

  <!-- Spring 2001 -->

  <eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
    title="ACM-Style programming contest">
    <short>Practice for the ACM international programming
    contest</short>
    <abstract>
<p>Our ACM-Style practice  contests involve answering five questions in three
hours.   Solutions are written  in Pascal, C  or C++.   Seven years in  a row,
Waterloo's teams  have been in  the top ten  at the world  finals.
For more information, see
<a href="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>

<h3>Easy Question:</h3>
<p>A palindrome is a sequence of letters that reads the same backwards and
forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
only letters are important). Your task is to find the longest palindrome in
a line of text (if there is a tie, print the leftmost one).</p>
<pre>
Input:                              Output:

asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
abcbabCdcbaqwerewq                  abCdcba
</pre>

<h3>Hard Question:</h3>
<p>An anagram is a word formed by reordering the letters of another word.
Find all sets of anagrams that exist within a large dictionary.  The
input will be a sorted list of words (up to 4000 words), one per line.
Output each set of anagrams on a separate line.  Each set should be
in alphabetical order, and all lines of sets should be in alphabetical
order.  A word with no anagrams is a set of anagrams itself, and should
be displayed with no modifications.</p>

<pre>
Input:      Output:

post        post pots stop
pots        start
start
stop
</pre>
    </abstract>
  </eventitem>


 <!-- Winter 2002 -->

 <eventitem date="2002-01-26" time="2:00 PM"
  room="Comfy Lounge MC3001" 
  title="An Introduction to GNU Hurd">
  <short>Bored of GNU/Linux? Try this experimental operating
  system!</short>
  <abstract>
<p>GNU Hurd is an operating system kernel based on the microkernel
architecture design. It was the original GNU kernel, predating Linux,
and is still being actively developed by many volunteers.</p>
<p>The Toronto-area Hurd Users Group, in co-operation with the Computer
Science Club, is hosting an afternoon to show the Hurd to anyone
interested. Jeff Bailey, a Hurd developer, will give a presentation on
the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
James Morrison, also a Hurd developer, will be hosting a Debian
GNU/Hurd installation session.</p>
<p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
and mail your key to sjdutoit@uwaterloo.ca with the subject
``keysigning'' (see separate announcement).</p>
<p>Questions? Suggestions? Contact <a
href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
  </abstract>
 </eventitem>
 <eventitem date="2002-01-26" time="2:30 PM"
  room="Comfy Lounge MC3001" 
  title="GnuPG/PGP Keysigning Party">
  <short>Get more signatures on your key!</short>
  <abstract>
  <p>
   GnuPG and PGP provide public-key based encryption for e-mail and
   other electronic communication. In addition to preventing others
   from reading your private e-mail, this allows you to verify that an
   e-mail or file was indeed written by its perceived author.
  </p>
  <p>
   In order to make sure a GnuPG/PGP key belongs to the respective
   person, the key must be signed by someone who has checked the
   user's key fingerprint and verified the user's identification.
  </p>
  <p>
   A keysigning party is an ideal occasion to have your key signed by
   many people, thus strengthening the authority of your key. Everyone
   showing up exchanges key signatures after verifying ID and
   fingerprints. The Computer Science Club will be hosting such a
   keysigning party together with the Hurd presentation by THUG (see
   separate announcement). See
   <a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
   keysigning party homepage</a> for more information.
  </p>
  <p>
   Before attending it is important that you mail your key to
   sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
   sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
   a sheet of paper to the event.
  </p>
  </abstract>
 </eventitem>
 <eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
  title="UNIX 101: First Steps With UNIX">
  <abstract>
    This is the first in a series of seminars that cover the use of
    the UNIX Operating System. UNIX is used in a variety of
    applications, both in academia and industry. We will be covering
    the basics of the UNIX environment, as well as the use of PINE, an
    electronic mail and news reader.
  </abstract>
 </eventitem>
 <eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
  title="DVD-Video Under Linux">
  <short>Billy Biggs will be holding a talk on DVD technology
  (in particular, CSS and playback issues) under Linux, giving some
  technical details as well as an overview of the current status of
  Free Software efforts. All are welcome.</short>
  <abstract>
   <p>DVD copy protection: Content Scrambling System (CSS)</p>
   <ul>
    <li>A technical introduction to CSS and an overview of the ongoing
    legal battle to allow distribution of non-commercial DVD
    players</li>
    <li>The current Linux software efforts and open issues</li>
    <li>How applications and Linux distributions are handling the
    legal issues involved</li>
   </ul>
   <p>DVD-Video specifics: Menus and navigation</p>
   <ul>
    <li>An overview of the DVD-Video standard</li>
    <li>Reverse engineering efforts and their implementation status</li>
    <li>Progress of integration into Linux media players</li>
   </ul>
  </abstract>
 </eventitem>
 <eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
  title="Unix 102: Fun With UNIX">
  <short>This the second in a series of UNIX tutorials. Simon Law and
  James Perry will be presenting some more advanced UNIX
  techniques. All are welcome. Accounts will be provided for those
  needing them.</short>
  <abstract>
   <p>
    This is the second in a series of seminars that cover the use of
    the UNIX Operating System. UNIX is used in a variety of
    applications, both in academia and industry. We will provide you
    with hands-on experience with the Math Faculty's UNIX environment
    in this tutorial.
   </p>
   <p>Topics that will be discussed include:</p>
   <ul>
    <li>Interacting with Bourne and C shells</li>
    <li>Editing text using the vi text editor</li>
    <li>Editing text using the Emacs display editor</li>
    <li>Multi-tasking and the screen multiplexer</li>
   </ul>
   <p>
     If you do not have a Math computer account, don't panic; one will
     be lent to you for the duration of this class.
   </p>
  </abstract>
 </eventitem>
 <eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
  title="Computer Go, The Ultimate">
  <short>Thomas Wolf from Brock University will be holding a talk on
  the Asian game of Go. All are welcome.</short>
  <abstract>
   <p>
    The Asian game go is unique in a number of ways. It is the oldest
    board game known. It is a strategy game with very simple
    rules. Computer programs are very weak despite huge efforts and
    prizes of US$ &gt; 1.5M for a program beating professional
    players. The talk will quickly explain the rules of go, compare go
    and chess, mention various attempts to program go and describe our
    own efforts in this field. Students will have an opportunity to
    solve computer generated go problems. Prizes will be available.
   </p>
  </abstract>
 </eventitem>

  <!-- Spring 2002 -->

  <eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
    elections">
    <short>Come and vote for this term's exec</short>
    <abstract>
      <p>
	Vote for the exec this term. Meet at the CSC office.
      </p>
    </abstract>
  </eventitem>


  <!-- Fall 2002 -->

  <eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
  title="F02 elections">
    <short>Come and vote for this term's exec</short>
    <abstract>
      <p>
        Vote for the exec this term. Meet at the comfy
        lounge. There will be an opportunity to obtain or renew
        memberships. This term's CRO is Siyan Li
        (s8li@csclub.uwaterloo.ca).
      </p>
    </abstract>
  </eventitem>

  <eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
  title="Business Meeting">
    <short>Vote on a constitutional change.</short>
    <abstract>
      <p>
	 The executive has unanimously decided to try to change our
constitution to comply with MathSoc policy.  The clause we are trying
to change is the membership clause.  The following is the proposed new
reading of the clause.
      </p>
      <p><i>
	In compliance with MathSoc regulations and in recognition of
the club being primarily targeted at undergraduate students, full
membership is open to all undergraduate students in the Faculty of
Mathematics and restricted to the same.</i>
      </p>

      <p>
	The proposed change is illustrated <a
	href="http://www.csclub.uwaterloo.ca/about/constitution-change-20020920">on
	a web page</a>.
      </p>

      <p>
	There will be a business meeting on 30 Sept 2002 at 18:30 in
	the comfy lounge, MC 3001. Please come and vote
      </p>
    </abstract>
  </eventitem>

  <eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
  title="UNIX 101">
    <short>First Steps with UNIX</short>
    <abstract>
      <p>
	   Get to know UNIX and be the envy of your friends!
      </p>
      <p>
	This is the first in a series of seminars that cover the use
	of the UNIX Operating System.  UNIX is used in a variety of
	applications, both in academia and industry. We will provide
	you with hands-on experience with the Math Faculty's UNIX
	environment in this seminar.
      </p>
      <p>
	Topics that will be discussed include:
      </p>
      <ul>
        <li>Navigating the UNIX environment</li>
        <li>Using common UNIX commands</li>
        <li>Using the PICO text editor</li>
        <li>Reading electronic mail and news with PINE</li>
      </ul>
      <p>
    If you do not have a Math computer account, don't panic; one will be 
lent to you for the duration of this class.
      </p>
    </abstract>
  </eventitem>

  <eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
  title="Pints with the Profs">
    <short>Get to know your profs and be the envy of your friends!</short>
    <abstract>
    <p>Come out and meet your professors.  This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who you might
have for future courses.</p>

    <p>Profs who have confirmed their attendance are:</p>
    <ul>
      <li>Troy Vasiga, School of Computer Science</li>
      <li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
      <li>Michael McCool, School of Computer Science, CGL</li>
      <li>Martin Karsten, School of Computer Science, BBCR</li>
      <li>Gisli Hjaltason, School of Computer Science, DB</li>
    </ul>

    <p>There will also be...</p>
    <ul>
      <li>Free Food</li>
      <li>Free Food</li>
      <li>Free Food</li>
    </ul>
    </abstract>
  </eventitem>

  <eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
  title="UNIX 102">
    <short>Talking to your UNIX can be fun and profitable.</short>
    <abstract>
<p>This is the second in a series of seminars that cover the use of
the UNIX Operating System. UNIX is used in a variety of applications,
both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's UNIX environment in this
tutorial.</p>

<p>Topics that will be discussed include:</p>
<ul><li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>

<p>If you do not have a Math computer account, don't panic; one will be
lent to you for the duration of this class.</p>

</abstract>
  </eventitem>

  <eventitem date="2002-10-08" time="4:30PM" room="MC4045"
  title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
    <short>A talk by Filip Spacek, KGI developer</short>
    <abstract>
    Linux has proven itself as a reliable operating system but arguably,
    it still lacks in support of high performance graphics
    acceleration. This talk will describe basic components of a PC video
    card and the design and limitations the current Linux display driver
    architecture.  Finally a an overview of a new architecture, the Kernel
    Graphics Interface (KGI), will be given.  KGI attempts to solve the
    shortcomings of the current design, and provide a lightweight and
    portable interface to the display subsystem.
    </abstract>
  </eventitem>

  <eventitem date="2002-10-10" time="5:30pm" room="MC3006"
  title="UNIX 103">
    <short></short>
    <abstract>No abstract available yet.</abstract>
  </eventitem>

  <eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
  title="The Evil Side of C++">
    <short>Abusing template metaprogramming in C++; aka. writing a
    Mandelbrot generator that runs at compile time</short>
    <abstract>
      <p>Templates are a useful feature in C++ when it comes to writing
    type-independent data structures and algorithms. Relatively soon
    after their appearance it was realised that they could be used to
    do much more than this. Essentially it is possible to write
    certain programs in C++ that execute <i>completely at compile
    time</i> rather than run time. Combined with constant-expression
    optimisation this is an interesting twist on regular C++
    programming.</p>
    <p>This talk will give a short overview of the features of
    templates and then go on to describe how to &quot;abuse&quot;
    templates to perform complex computations at compile time. The
    speaker will present three programs of increasing complexity which
    execute at compile time. First a factorial listing program, then a
    prime listing program will be presented. Finally the talk will
    conclude with the presentation of a <b>Mandelbrot generator running
    at compile time</b>.</p>

    <p>If you are interested in programming for the fun of it, the C++
    language or silly tricks to do with languages, this talk is for
    you. No C++ knowledge should be necessary to enjoy this talk, but
    programming experience will make it more worthwile for you.</p>

    </abstract> </eventitem>

  <eventitem date="2002-11-02" time="11:00AM-3:00PM"
    room="MC3002 (Math Coffee and Donut Store)"
    title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
    <short>Bring over your computer and we'll help you install GNU/Linux</short>
    <abstract>
      <p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
      href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
      href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
      are jointly hosting a GNU/Linux InstallFest.  GNU/Linux is a
      powerful, free operating system for your computer.  It is mostly
      written by talented volunteers who like to share their efforts
      and help each other.</p>

      <p>Perhaps you have are you interested in installing GNU/Linux.
      If so, bring your computer, monitor and keyboard; and we will
      help you install GNU/Linux on your machine.  You can also find
      knowledgeable people who can answer your questions about
      GNU/Linux.</p>

      <hr />

      <h3>Frequently Asked Questions</h3>

<p><b>Q: </b>What is GNU/Linux?<br />
<b>A: </b>GNU/Linux is a free operating system for your computer.  It is mostly
   written by talented volunteers who like to share their efforts.
</p>

<p><b>Q: </b>Free?<br />
<b>A: </b>GNU/Linux is available for zero-cost.  As well, it allows you such
   freedom to share it with your friends, or to modify the software to
   your own needs and share that with your friends.  It's very friendly.
</p>

<p><b>Q: </b>What is an InstallFest?<br />
<b>A: </b>An InstallFest is a meeting where volunteers help people install
   GNU/Linux on their computers.  It's also a place to meet users, and
   talk to them about running GNU/Linux.
</p>

<p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
<b>A: </b>Almost any recent computer will do.  If you have an old machine
   kicking around, you can install GNU/Linux on it as well.  If it is
   at least 5 years old, it should be good enough.
</p>

<p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
<b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
   disk space to spare; then it should be possible.
</p>

<p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
<b>A: </b>You will want to bring:</p>
<ol>
<li>Computer</li>
<li>Monitor and monitor cable</li>
<li>Power cords</li>
<li>Keyboard and mouse</li>
</ol>

    </abstract>
  </eventitem>

  <eventitem date="2002-11-07" time="5:30pm" room="MC4063"
  title="The GNU General Public License">
    <short>The teeth of Free Software</short>
    <abstract>
<p>
<blockquote>
<i>
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License
is intended to guarantee your freedom to share and change free
software---to make sure the software is free for all its users.
</i><br/>--- Excerpt from the GNU GPL
</blockquote>
</p>
<p>The GNU General Public License is one of the most influential
software licenses in this day.  Written by Richard Stallman for the
GNU Project, it is used by software developers around the world to
protect their work.
</p>
<p>
Unfortunately, software developers do not read licenses thoroughly, nor
well.  In this talk, we will read the entire GNU GPL and explain the
implications of its passages.  Along the way, we will debunk some myths
and clarify common misunderstandings.
</p>
<p>
After this session, you ought to understand what the GNU GPL means, how
to use it, and when you cannot use it.  This session should also give
you some insight into the social implications of this work.
</p>
    </abstract>
  </eventitem>

  <eventitem date="2002-11-19" time="4:30pm" room="MC4058"
   title="Metaprogramming GPUs">
   <short>A talk by Michael McCool of the Computer Graphics Lab.</short>
   <abstract>
<p>
Modern graphics accelerators, or "GPUs", have embedded high-performance 
programmable components in the form of vertex and fragment shading units. 
Recently, these units have evolved from 8-bit computations to floating-point,
and other operations provide array gather, scatter, and summation.
These capabilities make GPUs akin to array processors of the 
past, but with a difference: every PC now has one!  I am interested 
in finding the best way to exploit this computational capacity for not
only graphics but for general-purpose computation.
</p><p>
Current APIs permit specification of the programs for GPUs
using an assembly-language level interface.  Compilers for high-level 
shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and 
DirectX will also include standardized shading languages.  This talk will 
review these.  However, compilers for these languages read in an external 
string specification, which can be inconvenient.   
</p><p>
However, it is possible, using standard C++, to define a high-level
shading language directly in the API.  Such a language can be nearly
indistinguishable from a special-purpose programming language, yet  
permits more direct interaction with the specification of textures 
(arrays) and parameters, simplifies implementation, and enables
on-the-fly generation, manipulation, and specialization of shader programs.
A shading language built into the API also permits the lifting of
C++ host language type, modularity, and scoping constructs into the shading
language without any additional implementation effort.   Such an
embedded language could be used to program other embedded processors
(such as DSP chips in sound cards) or even to generate machine language
on the fly for the host CPU.
</p>
    </abstract>
  </eventitem>

  <eventitem date="2002-11-16" time="1:30pm" room="York University"
  title="Trip to York University">
    <short>Going to visit the York University Computer Club</short>
    <abstract><p>YUCC and the UW CSC have having a join meeting at York 
University.  Dave Makalsky, the President of YUCC, will be giving a talk on 
Design-by-contract and Eiffel.  Stefanus Du Toit, Vice-President of the UW 
CSC, will be giving a talk on the evil depths of the black art known as C++.
</p><p>Schedule</p>
<ul><li>1:30pm: Leave UW</li>
<li>3:00pm: Arrive at York University.</li>
<li>3:30pm: The Evil side of C++</li>
<li>4:30pm: Design-by-Contract and Eiffel</li>
<li>6:00pm: Dinner</li>
<li>9:00pm: Arrive back at UW</li>
</ul>
</abstract>
  </eventitem>

  <eventitem date="2002-11-21" time="6:00pm" room="MC2066"
  title="Perl 6">
    <short>A talk by Simon Law</short>
    <abstract>
      <p>
	Perl, the Practical Extraction and Reporting Language can only
	be described as an eclectic language, invented and refined by
	a deranged system administrator, who was trained as a
	linguist.  This man, however, has declared:
      </p>
      <blockquote>
	<i>
	  Perl 5 was my rewrite of Perl.
	  I want Perl 6 to be the community's rewrite of Perl and of the
	  community.
	</i><br/>--- Larry Wall
      </blockquote>
      <p>
	Whenever a language is designed by a committee, it is common
	wisdom to avoid it.  Not so with Perl, for it cannot get
	worse.  However strange these Perl people seem, Perl 6 is a
	good thing coming.  In this talk, I will demonstrate some Perl
	5 programs, and talk about their Perl 6 counterparts, to show
	you that Perl 6 will be cleaner, friendlier, and prettier.
      </p>
    </abstract>
  </eventitem>

  <eventitem date="2002-11-21" time="4:30pm" room="MC2066"
   title="Samba and You">
    <short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
    <abstract><p>
Samba is a free implementation of the Server Message Block (SMB)
protocol. It also implements the Common Internet File System (CIFS)
protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
printers. </p><p>
SMB was originally developed in the early to mid-80's by IBM and was
further improved by Microsoft, Intel, SCO, Network Appliances, Digital
and many others over a period of 15 years. It has now morphed into CIFS,
a form strongly influenced by Microsoft. </p><p>
Samba is considered to be one of the key projects for the acceptance of
GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
corporate world: a traditional Windows NT/2000 stronghold. </p><p>
We will talk about interfacing Samba servers and desktops with the
Windows world.  From a simple GNU/Linux desktop in your home to the
corporate server that provides collaborative file/printer sharing,
logons and home directories to hundreds of users a day. </p>
    </abstract>
  </eventitem>

  <eventitem date="2002-10-26" time="1:30PM" room="MC2066"
  title="GNU/Linux on HPPA">
    <short>Carlos O'Donnell talks about &quot;the last of the legacy processors to fall before the barbarian horde&quot;</short>
    <abstract>
<p>This whirlwind talk is aimed at providing an overview of the
GNU/Linux port for the HP PARISC processor. The talk will focus on
the &quot;intricacies&quot; of the processor, and in particular the
implementations of the Linux kernel and GNU Libc. After the talk
you should be acutely aware of how little code needs to be written
to support a new architecture! Carlos has been working on the port
for two years, and enjoying the fruits of his labour on a 46-node
PARISC cluster.</p>

<hr />
<p>
Carlos is currently in his 5th year of study at the University
of Western Ontario. This is his last year in a concurrent
Computer Engineering and Computer Science degree. His research
interest range from distributed and parallel systems to low
level optimized hardware design. He likes playing guitar and
just bought a Cort NTL-20, jumbo body, solid spruce top with
a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
GNU Debugger, GNU Binutils and various Debian packages.
</p>


</abstract>
  </eventitem>

  <eventitem date="2002-10-26" time="3:00PM" room="MC2066"
  title="The Hurd Interfaces">
    <short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
    <abstract>
<p>The Hurd server interfaces are at the heart of the Hurd system.  They
 define the remote procedure calls (RPCs) that are used by the servers, the
 GNU C library and the utility programs to communicate with the Hurd system
 and to implement the POSIX personality of the Hurd as well as other
 features.</p>

<p>This talk is a walk through the Hurd RPCs, and will give an overview of how
 they are used to implement the system.  Individual RPCs will be used to
 illustrate important or exciting features of the Hurd system in general,
 and it will be shown how those features are accessible to the user at the
 command line, too.</p>

 <hr />

 <p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
 Germany.  He is one of maintainers of the GNU Hurd project and the
 initiator of the Debian GNU/Hurd binary distribution.  He designed and
 implemented the console subsystem of the Hurd, wrote the FAT filesystem
 server, and fixed a lot of bugs, thus increasing the stability and
 usability of the system.</p>

    </abstract>
  </eventitem>

  <eventitem date="2002-10-26" time="4:30PM" room="MC2066"
  title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
    <short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
    <abstract>
<p>Virtual memory management is one of the cornerstones of multiuser
operating systems.  Most systems available today place all of the
policy in a monolithic virtual memory manager, VMM, isolated from the
rest of the system.  Although secure and lightweight, users have no
way to communicate their anticipated memory needs and usage to the
system pager.  As a result, the VMM can only implement a global paging
policy (typically, an approximation of LRU) which may be good on
average but is best for nobody.</p>

<p>With the port of Hurd to the L4 microkernel, this situation is being
readdressed.  Due to its more distributed nature, a centralized
resource manager is not only more difficult to implement efficiently
but also contrary to the philosophy of the rest of the system.  We are
currently exploring a model whereby each program is fully self-paged
and all compete for memory from a physical memory server.  This talk
will first discuss how paging currently works in Mach and other
systems.  An argument for an external paging policy will then be
presented followed by the requirements of such a design and the design
itself.</p>

<hr />

<p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
Lowell.  Neal spent the summer of 2002 at University of Karlsruhe working
on porting the GNU Hurd to L4.</p>

    </abstract>
  </eventitem>

  <eventitem date="2002-10-17" time="5:30PM" room="MC2065"
  title="Debian in the Enterprise">
    <short>A talk by Simon Law</short>
    <abstract>
<p>The Debian Project produces a &quot;Universal Operating System&quot; that is
comprised entirely of Free Software.  This talk focuses on using Debian
GNU/Linux in an enterprise environment.  This includes:</p>
<ul>
  <li>Where Debian can be deployed</li>
  <li>Strategic advantages of Debian</li>
  <li>Ways for business to give back to Debian</li>
</ul>
   </abstract>
  </eventitem>

  <eventitem date="2002-11-12" time="4:30PM" room="MC4058"
  title="Automatic Memory Management and Garbage Collection">
    <short>A talk by James A. Morrison</short>
    <abstract>
<p>
  Do you ever wonder what java is doing while you wait?  Have you ever used
Modula-3?  Do you wonder how lazily you can Mark and Sweep?  Would you like to
know how to Stop-and-Copy?
</p><p>
 Come out to this talk and learn these things and more.  No prior knowledge of
Garbage Collection or memory management is needed.
</p>
   </abstract>
  </eventitem>

</eventdefs>

