<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.csclub.uwaterloo.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Laden</id>
	<title>CSCWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.csclub.uwaterloo.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Laden"/>
	<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/Special:Contributions/Laden"/>
	<updated>2026-04-23T18:52:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&amp;diff=3965</id>
		<title>Past Executive</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&amp;diff=3965"/>
		<updated>2016-05-16T00:06:52Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* 2016 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Data sources for this exec list have been: CSC records, MathNEWS.&lt;br /&gt;
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: &#039;&#039;This week on campus&#039;&#039;. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
 #define PR President&lt;br /&gt;
 #define VP Vice-president&lt;br /&gt;
 #define TR Treasurer&lt;br /&gt;
 #define SE Secretary&lt;br /&gt;
 #define SA Sysadmin&lt;br /&gt;
 #define OF Office Manager&lt;br /&gt;
 #define LI Librarian&lt;br /&gt;
 #define FL Flasher&lt;br /&gt;
 #define DE Deity&lt;br /&gt;
 #define WW Webmaster&lt;br /&gt;
 #define OF Office Manager&lt;br /&gt;
 #define SE-TR Secretary-Treasurer (Position was split)&lt;br /&gt;
 #define FR Fridge Regent&lt;br /&gt;
&lt;br /&gt;
=Founding 1967=&lt;br /&gt;
&lt;br /&gt;
 Sponsor - J. Peter Sprung&lt;br /&gt;
 PR: K. Rugger&lt;br /&gt;
 VP: R. Jaques&lt;br /&gt;
 SE-TR: G. Sutherland&lt;br /&gt;
&lt;br /&gt;
 Founding Members:&lt;br /&gt;
 B. Kindree&lt;br /&gt;
 R. Melen&lt;br /&gt;
 V. Neglia&lt;br /&gt;
 R. Charney&lt;br /&gt;
 R. Truman&lt;br /&gt;
 Glenn Berry&lt;br /&gt;
 D. Meek&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Bill Kindred&lt;br /&gt;
 VP: Rick Jacques&lt;br /&gt;
 SE-TR: Graham Sutherland&lt;br /&gt;
&lt;br /&gt;
Committee members: R. Stallwerthy, C. de Vries&lt;br /&gt;
&lt;br /&gt;
=1968=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Bill Kindred&lt;br /&gt;
 VP: Rick Jacques&lt;br /&gt;
 SE-TR: Graham Sutherland&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 SE-TR: Glenn Berry&lt;br /&gt;
&lt;br /&gt;
=1969=&lt;br /&gt;
&lt;br /&gt;
Unknown, only one letter found in the folder &#039;ACM History&#039; addressed to Glenn Berry, which makes it likely that he was SE-TR once again. May be indicated in membership lists. The club appears to have died this academic year.&lt;br /&gt;
&lt;br /&gt;
=1970=&lt;br /&gt;
&lt;br /&gt;
===A note on ACM affiliation===&lt;br /&gt;
&lt;br /&gt;
The first attempt at joining the ACM was started with an informal inquiry Dec 5, 1967. This lead to a series of constitution edits (working towards affiliation) in Winter 1968. There was a break for the spring (no correspondence found, I presume we were waiting on a reply). In the fall records indicate that our constitution and chartering was rejected, further correspondence was sent in Fall 1968 by Glenn Berry. A new inquiry, seemingly unaware of the first was sent Dec 7, 1970&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Rick Beach&lt;br /&gt;
 VP: Lee Santon&lt;br /&gt;
 TR: Randy Melen&lt;br /&gt;
 SE: Vic Neglia&lt;br /&gt;
&lt;br /&gt;
=1971=&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 VP: James H. &amp;quot;Jim&amp;quot; Finch and James W. Welch both signed letters as VP.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 VP: James W. Welch&lt;br /&gt;
&lt;br /&gt;
=1972=&lt;br /&gt;
&lt;br /&gt;
It appears we visited Western and Western visited us this year (there is some reference to a similar occurrence the year previous). Documents from 1973 indicate a termly exec structure, this probably goes back to 1972.&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Mike Campbell&lt;br /&gt;
 VP: Edgar Hew&lt;br /&gt;
 SE-TR: Doug Lacy&lt;br /&gt;
&lt;br /&gt;
There is also stuff from James W. Welch without a position.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Ian McIntosh&lt;br /&gt;
&lt;br /&gt;
=1973=&lt;br /&gt;
&lt;br /&gt;
 Faculty Sponsor: Morven Gentleman&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 SE: Douglas E. Lacy&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Parry&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Parry&lt;br /&gt;
 VP: Ray Walden&lt;br /&gt;
 TR: Slavko Stemberger&lt;br /&gt;
 SE: Mario Festival&lt;br /&gt;
&lt;br /&gt;
=1974=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Russell Crook&lt;br /&gt;
&lt;br /&gt;
=1975-1977=&lt;br /&gt;
&lt;br /&gt;
 Faculty Sponsor: Morven Gentleman??&lt;br /&gt;
&lt;br /&gt;
 Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.&lt;br /&gt;
 Sylvia Eng: 1975/6 as some position.&lt;br /&gt;
 Dave Buckingham: a VP at some point&lt;br /&gt;
 Allison Nolan: 1977 time&lt;br /&gt;
 Peter Stevens: 1977&lt;br /&gt;
 Russel Crook???&lt;br /&gt;
&lt;br /&gt;
Dennis Ritchie came. So did Jeffrey D. Ullman.&lt;br /&gt;
&lt;br /&gt;
=1976=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
Progcom: Peter Stevens&lt;br /&gt;
&lt;br /&gt;
=1977=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
===Spring=== &lt;br /&gt;
&lt;br /&gt;
 PR: Peter Stevens&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Andrzej Jan Taramina&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
=1978=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Peter Stevens&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 TR: K.G. Dykes&lt;br /&gt;
 SE: Kandry Mutheardy&lt;br /&gt;
&lt;br /&gt;
Brian Kernighan gave a talk this term. So did Ken Thompson.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
=1979=&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Robert Biddle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1987=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Boritz&lt;br /&gt;
 VP: Ted Timar&lt;br /&gt;
 TR: Gayla Boritz&lt;br /&gt;
 SE: Edwin Hoogerbeets&lt;br /&gt;
&lt;br /&gt;
=1988=&lt;br /&gt;
&lt;br /&gt;
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)&lt;br /&gt;
Tim Timar - cc&#039;d on memos/mentioned on mathsoc minutes in 1987/88.&lt;br /&gt;
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The &#039;Record Management Profile&#039; that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC&lt;br /&gt;
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first &amp;quot;real&amp;quot; computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 SA: Wade Richards&lt;br /&gt;
&lt;br /&gt;
=1989=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg&lt;br /&gt;
&lt;br /&gt;
Left to right:  Jim Boritz (bottom), Wade Richards (top), Ted Timar, ???, Keven Smith, Bill Gates (not exec), Angela Chambers, Ross Ridge (top), Sean Goggin (bottom), ??? &lt;br /&gt;
&lt;br /&gt;
 PR: Barry W. Smith&lt;br /&gt;
 VP: Angela Chambers&lt;br /&gt;
 TR:&lt;br /&gt;
 SE: Sean Goggin&lt;br /&gt;
 SA: Wade Richards / Ross Ridge&lt;br /&gt;
&lt;br /&gt;
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Thornton&lt;br /&gt;
 VP: Gayla Boritz&lt;br /&gt;
 TR: David Fenger&lt;br /&gt;
 SE: Kivi Shapiro&lt;br /&gt;
 SA: Reid Pinchback&lt;br /&gt;
&lt;br /&gt;
Assistance to sysadmin: Jim Boritz.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: James Boritz&lt;br /&gt;
 VP: Edmond Bourne&lt;br /&gt;
 SA: Ross Ridge&lt;br /&gt;
&lt;br /&gt;
=1990=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 TR: Jim Thornton&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 TR: Karen Smith&lt;br /&gt;
 SE: Robyn Steward&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Wade Richards&lt;br /&gt;
 TR: Carolyn Duke&lt;br /&gt;
 SE: Robyn Stewart - attended mathsoc meeting on our behalf.&lt;br /&gt;
 Kivi Shapiro - attended mathsoc meeting on our behalf.&lt;br /&gt;
              - Censured by mathsoc for his actions during the election.&lt;br /&gt;
 Shannon Mann - attended mathsoc meeting on our behalf.&lt;br /&gt;
&lt;br /&gt;
=1991=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 VP: Edmond Bourne&lt;br /&gt;
 TR: Carolyn Duke&lt;br /&gt;
 SE: Robyn Stewart&lt;br /&gt;
 Shannon Mann - attended mathsoc meeting on our behalf.&lt;br /&gt;
&lt;br /&gt;
John McCarthy came this term.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 Jason Knell - attended mathsoc meeting on our and PMC&#039;s behalf.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 TR: Mike Van Lingen&lt;br /&gt;
 Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1992=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Norm Ross&lt;br /&gt;
 SE: Brent Williams&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Dale Wick&lt;br /&gt;
 TR: Stephen A. Mills&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 TR: Mark Plumb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1993=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 VP: Tim Prime&lt;br /&gt;
 OF: Dave Ebbo&lt;br /&gt;
 LI: Norm Ross&lt;br /&gt;
&lt;br /&gt;
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Mark Tompsett &lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Ian Goldberg&lt;br /&gt;
&lt;br /&gt;
=1994=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Ian Goldberg&lt;br /&gt;
 TR: Mark Tompsett&lt;br /&gt;
 SE: Tom Rathbourne&lt;br /&gt;
 LI: Michael Van Biesbrouck&lt;br /&gt;
 Norm Ross assisted with finances.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Dale Wick (?)&lt;br /&gt;
 TR: Steve Mills&lt;br /&gt;
 SA: Ian Goldberg (?)&lt;br /&gt;
 Norm Ross assisted with finances.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Ross Ridge&lt;br /&gt;
 VP: Tom Rathbourne (?)&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 SA: Zygo Blaxell&lt;br /&gt;
 LI: Michael Van Biesbrouck&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1995=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Sharlene Schmeichel&lt;br /&gt;
 Amy Brown and Rob Ridge purchased books.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Steve Mills&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Amy Brown (arbrown) &lt;br /&gt;
 VP: Christina Norman (cbnorman)&lt;br /&gt;
 TR: Steven Mills (samills)&lt;br /&gt;
 SE: Allyson Graham (akgraham)&lt;br /&gt;
 SA: Gavin Peters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1996=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Nikita Borisov (nborisov)&lt;br /&gt;
 VP: Joseph Deu Ngoc (dtdeungo) &lt;br /&gt;
 TR: Stephen Mills (samills)&lt;br /&gt;
 SE: Sharlene Schmeichel (saschmei)&lt;br /&gt;
 SA: Dave Brown (dagbrown)&lt;br /&gt;
 OF: Somsack Tsai (stsai)&lt;br /&gt;
 LI: Devin Carless (dccarles)&lt;br /&gt;
 FL: Allyson Graham (akgraham)&lt;br /&gt;
 DE: Ian Goldberg (iagoldbe)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Blake Winton (bwinton)&lt;br /&gt;
 VP: Nick Harvey (njaharve)&lt;br /&gt;
 TR: Nikita Borisov (nborisov)&lt;br /&gt;
 SE: Viet-Trung Luu (vluu)&lt;br /&gt;
 SA: Drew Hamilton (awhamilt)&lt;br /&gt;
 OF: Jillian Arnott (jarnott)&lt;br /&gt;
 LI: Ross Ridge (rridge)&lt;br /&gt;
 FL: Devin Carless (dccarles)&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Shannon Mann (sjbmann) &lt;br /&gt;
 VP: Joe &amp;quot;Frosh&amp;quot; Deu Ngoc (jtdeungo)    resigned (heavy workload)&lt;br /&gt;
 TR: Michal Van Biesbrouck (mlvanbie) &lt;br /&gt;
 SE: Nikita Borisov (nborisov) &lt;br /&gt;
 SA: Chris Rovers &lt;br /&gt;
 OF: Dax Hutcheon (ddhutche)            became VP upon jtduengo&#039;s resignation&lt;br /&gt;
 LI: Aliz Csenki (acsenki) &lt;br /&gt;
 FL: Aaron Chmielowiec (archmiel) &lt;br /&gt;
 DE: Skuld (no uwuserid yet...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1997=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Dima Brodsky &lt;br /&gt;
 VP: Nikita Borisov (nborisov)&lt;br /&gt;
 TR: Stephen Mills (samills)&lt;br /&gt;
 SE: Evan Jones (ejones)&lt;br /&gt;
 SA: Alex Brodsky&lt;br /&gt;
 OF: Chris Doherty&lt;br /&gt;
 LI: Matt Corks &lt;br /&gt;
 FL: Paul Prescod&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Chris Rovers (cdrovers) &lt;br /&gt;
 VP: Michael van Biesbrouck (mlvanbie) &lt;br /&gt;
 TR: Somsack Tsai (stsai) &lt;br /&gt;
 SE: Matt Corks (mvcorks)&lt;br /&gt;
 SA: Lennart Sorensen (lsorense) &lt;br /&gt;
 LI: Chmielowiec (archmiel) &lt;br /&gt;
 OF: Devin Carless (dccarles) &lt;br /&gt;
 FL: Aaron Chmielowiec (archmiel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 1998 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Suresh Naidu  &lt;br /&gt;
 VP: Viet-Trung Luu &lt;br /&gt;
 TR: Tim Coleman &lt;br /&gt;
 SE: Dax Hutcheon &lt;br /&gt;
 Librarian: Dax Hutcheon &lt;br /&gt;
 Flasher: Dax Hutcheon &lt;br /&gt;
 Webmaster: Dax Hutcheon &lt;br /&gt;
 SA: Robin Powell&lt;br /&gt;
 OF: Aaron Chmielowiec&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
&lt;br /&gt;
 Position	Name	You might call them...&lt;br /&gt;
 President	roconnor	Russell O&#039;Connor&lt;br /&gt;
 Vice-president	trwcolem	Tim Coleman&lt;br /&gt;
 Treasurer	knzarysk	Karl Zaryski&lt;br /&gt;
 Secretary	(bwinton)	(Blake Winton)&lt;br /&gt;
 Sysadmin	wbiggs	Billy Biggs&lt;br /&gt;
 Librarian	snaidu	Suresh Naidu&lt;br /&gt;
 Flasher	pechrysl	Paul Chrysler&lt;br /&gt;
 Office Manager	dccarles	Devin Carless&lt;br /&gt;
 WWWW	trwcolem	Tim Coleman&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
&lt;br /&gt;
 President	Joe Deu Ngoc	jtdeungo&lt;br /&gt;
 Vice-President	Wai Ling Yee	wlyee&lt;br /&gt;
 Treasurer	Fjord	j2lynn&lt;br /&gt;
 Secretary	Matt Corks	mvcorks&lt;br /&gt;
 Sysadmin	Andrew Hamilton	awhamilt&lt;br /&gt;
&lt;br /&gt;
 World Wide Web Wench	Dax Hutcheon	ddhutche&lt;br /&gt;
 Office Manager	Richard Bell	rlbell&lt;br /&gt;
 Librarian	Damian Gryski	dgryski&lt;br /&gt;
 Flasher	Paul Chrysler	pechrysl&lt;br /&gt;
 Official Deity	Ian Goldberg	iagoldbe&lt;br /&gt;
 Official Chairbeing	Calum T. Dalek	calum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1999=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2000=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Will Chartrand (wgchartr)&lt;br /&gt;
 VP: Gavin Duggan (geduggan)&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA: Lennart Sorensen (lsorense)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP: &lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA: bioster&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2001=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=2002=&lt;br /&gt;
&lt;br /&gt;
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Billy Biggs&lt;br /&gt;
 VP: Stefanus Du Toit&lt;br /&gt;
 TR: Melissa Basinger&lt;br /&gt;
 SE: James Perry&lt;br /&gt;
 SA: Barry Genova&lt;br /&gt;
 Librarian: Ryan Golbeck&lt;br /&gt;
 Webmaster: Jonathan Beverley&lt;br /&gt;
 Office Manager: Sayan Li&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Alex Pop&lt;br /&gt;
 VP: Melissa Basinger&lt;br /&gt;
 TR: Siyan Li&lt;br /&gt;
 SE: James A Morrison&lt;br /&gt;
 SA: Jonathan Beverley&lt;br /&gt;
 Webmaster: Stefanus Du Toit&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: James A. Morrison&lt;br /&gt;
 VP: Stefanus Du Toit&lt;br /&gt;
 TR: James Perry&lt;br /&gt;
 SE: Michael Biggs&lt;br /&gt;
 SA: Ryan Golbeck&lt;br /&gt;
 Librarian: Mark Sherry, Cassandra Schopf&lt;br /&gt;
 Webmaster: Stefanus Du Toit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2003=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Kannan Vijayan (kvijayan)&lt;br /&gt;
 VP: Meg Darragh (m2darrag)&lt;br /&gt;
 TR: James Perry (jeperry)&lt;br /&gt;
 SE: Wojciech Kosnik (wkosnik)&lt;br /&gt;
 SA: Stefanus Du Toit (sjdutoit)&lt;br /&gt;
 LI: Simon Law (sfllaw)&lt;br /&gt;
 WM: Julie Lavoie (jlavoie)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Stefanus Du Toit (sjdutoit)&lt;br /&gt;
 VP: Meg Darragh (m2darrag)&lt;br /&gt;
 TR: Tor Myklebust (tmyklebu)&lt;br /&gt;
 SE: James Perry (jeperry)&lt;br /&gt;
 SA: Simon Law (sfllaw)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2004=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Simon Law (sfllaw)&lt;br /&gt;
 VP: fspacek&lt;br /&gt;
 TR: ljain&lt;br /&gt;
 SE: Julie Lavoie (jlavoie)&lt;br /&gt;
 SA: Tor Myklebust(tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: dnmorton ?&lt;br /&gt;
 VP: Tim Loach (tloach)&lt;br /&gt;
 TR: Michael Biggs (mbiggs)&lt;br /&gt;
 SE: Lesley Northam (lanortha)&lt;br /&gt;
 SA: &lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: jeperry&lt;br /&gt;
 VP: mtsay&lt;br /&gt;
 TR: Mark Sherry (mdsherry)&lt;br /&gt;
 SE: Tor Myklebust (tmyklebu)&lt;br /&gt;
 SA: jlavoie&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2005=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: mtsay&lt;br /&gt;
 VP: Lesley Northam (lanortha)&lt;br /&gt;
 TR: Holden Karau (hkarau)&lt;br /&gt;
 SE: domorton&lt;br /&gt;
 SA: Tor Myklebust (tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Mark Sherry (mdsherry)&lt;br /&gt;
 VP: Martin Kess (mdkess)&lt;br /&gt;
 TR: Ali Piccioni (apiccion)&lt;br /&gt;
 SE: Michael Biggs (mbiggs)&lt;br /&gt;
 SA: Tor Myklebust (tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Tim Loach (tloach)&lt;br /&gt;
 VP: Lesley Northam (lanortha)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: The Professor&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2006=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Tor Myklebust (tmyklebu)&lt;br /&gt;
 VP: Michael Druker (mdruker)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: Mark Sherry (mdsherry)&lt;br /&gt;
 SA: William O&#039;Connor (woconnor)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: David Bartley (dtbartle)&lt;br /&gt;
 VP: David Belanger (dbelange)&lt;br /&gt;
 TR: David Tenty (daltenty)&lt;br /&gt;
 SE: Chris Evensen (cevensen)&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Martin Kess (mdkess)&lt;br /&gt;
 VP: Mark Sherry (mdsherry)&lt;br /&gt;
 TR: Sylvan L. Mably (slmably)&lt;br /&gt;
 SE: Caelyn McAulay (cmcaulay) &lt;br /&gt;
 SA: William O&#039;Connor (woconnor)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2007=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: David Bartley (dtbartle)&lt;br /&gt;
 VP: David Belanger (dbelange)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: David Tenty (daltenty)&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 Webmaster: jnopporn&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Gaelan D&#039;costa (gdcosta)&lt;br /&gt;
 VP: Kyle Larose (kmlarose)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Erik Louie (elouie)&lt;br /&gt;
 SA: Michael Spang (mspang)&lt;br /&gt;
 Librarian: David Tenty (daltenty)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: Holden Karau (hkarau)&lt;br /&gt;
 VP: Alex McCausland (amccausl)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Sean Cumming (sgcummin)&lt;br /&gt;
 SA: David Tenty (daltenty)&lt;br /&gt;
 OF:&lt;br /&gt;
 WW: dtbartle / jnopporn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2008=&lt;br /&gt;
&lt;br /&gt;
===Winter ===&lt;br /&gt;
 PR: Sean Cumming (sgcummin)&lt;br /&gt;
 VP: Matt Lawrence (m3lawren)&lt;br /&gt;
 TR: Mateusz Tarkowski (mtarkows)&lt;br /&gt;
 SE: Edgar Bering (ebering)&lt;br /&gt;
 SA: Jordan Saunders (jmsaunde)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Summer ===&lt;br /&gt;
 PR: Brennan Taylor (b4taylor)&lt;br /&gt;
 VP: Qifan Xi (qxi)&lt;br /&gt;
 TR: Matt Lawrence (m3lawren)&lt;br /&gt;
 SE: Nick Guenther (nguenthe)&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: Matthew Lawrence (m3lawren)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Michael Gregson (mgregson)&lt;br /&gt;
 SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik &#039;Domo&#039; Chłobowski&lt;br /&gt;
 SA: Kyle Spaans (kspaans)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2009=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Michael Gregson (mgregson)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Brennan Taylor (b4taylor)&lt;br /&gt;
 SE: James Simpson (j2simpso)  resigned for business reasons, replaced by Rebecca Putinski (rjputins) &lt;br /&gt;
 SA: Jacob Parker (j3parker) &lt;br /&gt;
 OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)&lt;br /&gt;
&lt;br /&gt;
===Spring ===&lt;br /&gt;
 PR: Michael Spang (mspang)&lt;br /&gt;
 VP: Jacob Parker (j3parker)&lt;br /&gt;
 TR: Sapphyre Gervais (sagervai)&lt;br /&gt;
 SE: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SA: Anthony Brennan (a2brenna)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Jacob Parker (j3parker)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Michael Spang (mspang)&lt;br /&gt;
 SE: Brennan Taylor (b4taylor)&lt;br /&gt;
 SA: Michael Ellis (m2ellis)&lt;br /&gt;
 OF: Rebecca Putinski (rjputins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Kyle Spaans (kspaans)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Sapphyre Gervais (sagervai)&lt;br /&gt;
 SE: Ajnu Jacob (ajacob)&lt;br /&gt;
 SA: Matthew Thiffault (mthiffau)&lt;br /&gt;
 OF: Jacob Parker (j3parker)&lt;br /&gt;
&lt;br /&gt;
 Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Jeff Cameron (j3camero)&lt;br /&gt;
 VP: Brennan Taylor (b4taylor)&lt;br /&gt;
 TR: Vardhan Mudunuru (vmudunur)&lt;br /&gt;
 SE: Matthew Lawrence (m3lawren)&lt;br /&gt;
 SA: Michael Ellis (m2ellis)&lt;br /&gt;
 OF: Edgar Bering (ebering)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Jacob Parker (j3parker)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Rebecca Putinski (rjputins)&lt;br /&gt;
 SE: Kyle Spaans (kspaans)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Amir Sayed Khader (askhader)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Edgar Bering (ebering)&lt;br /&gt;
 VP: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Elana &amp;quot;Alana&amp;quot; Hashman (ehashman)&lt;br /&gt;
 SA: Peter &amp;quot;Bofh&amp;quot; Barfuss (pbarfuss)&lt;br /&gt;
 OF: Marc Burns (Marc Burns)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Matthew Thiffault (mthiffau)&lt;br /&gt;
 VP: Matthew McPherrin (mimcpher)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Kwame Andrew Ansong (kansong)&lt;br /&gt;
 SA: Jeremy Brandon Roman (jbroman)&lt;br /&gt;
 OF: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Katharine Hyatt (kshyatt)&lt;br /&gt;
 TR: Jacob Parker (j3parker)&lt;br /&gt;
 SE: Elana Hashman (ehashman)&lt;br /&gt;
 SA: Anthony &amp;quot;hatguy/hotgay&amp;quot; Brennan (a2brenna)&lt;br /&gt;
 OF: Kyle Spaans (kspaans)&lt;br /&gt;
 LIB: Edgar Bering (ebering)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Elana Hashman (ehashman)&lt;br /&gt;
 TR: Jacob Parker (j3parker)&lt;br /&gt;
 SE: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Luqman Aden (laden)&lt;br /&gt;
 LIB: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
&lt;br /&gt;
===Summer===&lt;br /&gt;
 PR: Anthony Brennan (a2brenna)&lt;br /&gt;
 VP: Luqman Aden (laden)&lt;br /&gt;
 TR: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SE: Elana Hashman (ehashman)&lt;br /&gt;
 SA: Sarah Harvey (sharvey)&lt;br /&gt;
 OF: Marc Burns (m4burns)&lt;br /&gt;
 LIB: John Ladan (jladan)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Salem Talha (satalha)&lt;br /&gt;
 TR: Jennifer Wong (jy2wong)&lt;br /&gt;
 SE: Elana Hashman (ehashman), resigned&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Luqman Aden (laden)&lt;br /&gt;
 LIB: John Ladan (jladan)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Anthony Brennan (a2brenna)&lt;br /&gt;
 VP: Marc Burns (m4burns)&lt;br /&gt;
 TR: John Mumford (jsmumfor)&lt;br /&gt;
 SE: Matt Olechnowicz (mgolechn)&lt;br /&gt;
 SA: Sarah Harvey (sharvey)&lt;br /&gt;
 OF: Bryan Coutts (b2coutts)&lt;br /&gt;
 LIB: Matthew McPherrin (mimcpher)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Shane Robert Creighton-Young (srcreigh)&lt;br /&gt;
 VP: Visishta Vijayanand (vvijayan)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Youn Jin Kim (yj7kim)&lt;br /&gt;
 SA: Anthony Brennan (a2brenna)&lt;br /&gt;
 OF: Marc Burns (m4burns)&lt;br /&gt;
 IMAPD: Dominik Chlobowski (dchlobow)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Elana Hashman (ehashman)&lt;br /&gt;
 VP: Marc Burns (m4burns)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Edward Lee (e45lee)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Sean Hunt (scshunt)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2014 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Bryan Coutts (b2coutts)&lt;br /&gt;
 VP: Visishta Vijayanand (vvijayan)&lt;br /&gt;
 TR: Marc Burns (m4burns)&lt;br /&gt;
 SE: Mark Farrell (m4farrel)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Nicholas Black (nablack)&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Youn Jin Kim (yj7kim)&lt;br /&gt;
 VP: Luke Franceschini (l3france)&lt;br /&gt;
 TR: Joseph Chouinard (jchouina)&lt;br /&gt;
 SE: Ifaz Kabir (ikabir)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Matthew Thiffault (mthiffau)&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Youn Jin Kim (yj7kim)&lt;br /&gt;
 VP: Theodor Belaire (tbelaire)&lt;br /&gt;
 TR: Jonathan Jerel Bailey (jj2baile)&lt;br /&gt;
 SE: Shane Robert Creighton-Young (srcreigh)&lt;br /&gt;
 SA: Sean Hunt (scshunt)&lt;br /&gt;
 OF: Mark Farrell (m4farrel)&lt;br /&gt;
 LIB: Gianni Leonardo Gambetti (glgambet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2015 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Gianni Leonardo Gambetti (glgambet)&lt;br /&gt;
 VP: Luke Franceschini (l3france)&lt;br /&gt;
 TR: Edward Lee (e45lee)&lt;br /&gt;
 SE: Patrick James Melanson (pj2melan)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Shikhar Singh (s285sing)&lt;br /&gt;
 LIB: Aishwarya Gupta (a72gupta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Luqman Aden (laden)&lt;br /&gt;
 VP: Patrick Melanson (pj2melan)&lt;br /&gt;
 TR: Jonathan Bailey (jj2baile)&lt;br /&gt;
 SE: Keri Warr (kpwarr)&lt;br /&gt;
 SA: Nik Black (nablack)&lt;br /&gt;
 OF: Ilia Chtcherbakov (ischtche)&lt;br /&gt;
 LIB: Yomna Nasser (ynasser)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Simone Hu (ss2hu)&lt;br /&gt;
 VP: Theo Belaire (tbelaire)&lt;br /&gt;
 TR: Jordan Taylore Upiter (jtupiter)&lt;br /&gt;
 SE: Daniel Marin (dmarin)&lt;br /&gt;
 SA: Jordan Xavier Pryde (jxpryde)&lt;br /&gt;
 OF: Ilia Chtcherbakov (ischtche)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2016 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Patrick Melanson (pj2melan)&lt;br /&gt;
 VP: Patrick Melanson (pj2melan)&lt;br /&gt;
 Acting VP, progcom chair: Theo Belaire (tbelaire)&lt;br /&gt;
 TR: Luqman Aden (laden)&lt;br /&gt;
 SE: Naomi Koo (m3koo)&lt;br /&gt;
 SA: Zachary Seguin (ztseguin)&lt;br /&gt;
 OF: Reila Zheng (wy2zheng)&lt;br /&gt;
 LI: Felix Bauckholt (fbauckho)&lt;br /&gt;
 FR: Marc Mailhot (mnmailho)&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Luqman Aden (laden)&lt;br /&gt;
 VP: Melissa Angelica Mary Tedesco (matedesc)&lt;br /&gt;
 TR: Jonathan Jerel Bailey (jj2baile)&lt;br /&gt;
 SE: Aditya Shivam Kothari (askothar)&lt;br /&gt;
 SA: Jordan Xavier Pryde (jxpryde)&lt;br /&gt;
 OF: Zachary Seguin (ztseguin)&lt;br /&gt;
 LI: Charlie Wang (s455wang)&lt;br /&gt;
 FR: Marc Mailhot (mnmailho)&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&amp;diff=3964</id>
		<title>Past Executive</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&amp;diff=3964"/>
		<updated>2016-05-16T00:02:18Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* Winter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Data sources for this exec list have been: CSC records, MathNEWS.&lt;br /&gt;
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: &#039;&#039;This week on campus&#039;&#039;. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
 #define PR President&lt;br /&gt;
 #define VP Vice-president&lt;br /&gt;
 #define TR Treasurer&lt;br /&gt;
 #define SE Secretary&lt;br /&gt;
 #define SA Sysadmin&lt;br /&gt;
 #define OF Office Manager&lt;br /&gt;
 #define LI Librarian&lt;br /&gt;
 #define FL Flasher&lt;br /&gt;
 #define DE Deity&lt;br /&gt;
 #define WW Webmaster&lt;br /&gt;
 #define OF Office Manager&lt;br /&gt;
 #define SE-TR Secretary-Treasurer (Position was split)&lt;br /&gt;
 #define FR Fridge Regent&lt;br /&gt;
&lt;br /&gt;
=Founding 1967=&lt;br /&gt;
&lt;br /&gt;
 Sponsor - J. Peter Sprung&lt;br /&gt;
 PR: K. Rugger&lt;br /&gt;
 VP: R. Jaques&lt;br /&gt;
 SE-TR: G. Sutherland&lt;br /&gt;
&lt;br /&gt;
 Founding Members:&lt;br /&gt;
 B. Kindree&lt;br /&gt;
 R. Melen&lt;br /&gt;
 V. Neglia&lt;br /&gt;
 R. Charney&lt;br /&gt;
 R. Truman&lt;br /&gt;
 Glenn Berry&lt;br /&gt;
 D. Meek&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Bill Kindred&lt;br /&gt;
 VP: Rick Jacques&lt;br /&gt;
 SE-TR: Graham Sutherland&lt;br /&gt;
&lt;br /&gt;
Committee members: R. Stallwerthy, C. de Vries&lt;br /&gt;
&lt;br /&gt;
=1968=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Bill Kindred&lt;br /&gt;
 VP: Rick Jacques&lt;br /&gt;
 SE-TR: Graham Sutherland&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 SE-TR: Glenn Berry&lt;br /&gt;
&lt;br /&gt;
=1969=&lt;br /&gt;
&lt;br /&gt;
Unknown, only one letter found in the folder &#039;ACM History&#039; addressed to Glenn Berry, which makes it likely that he was SE-TR once again. May be indicated in membership lists. The club appears to have died this academic year.&lt;br /&gt;
&lt;br /&gt;
=1970=&lt;br /&gt;
&lt;br /&gt;
===A note on ACM affiliation===&lt;br /&gt;
&lt;br /&gt;
The first attempt at joining the ACM was started with an informal inquiry Dec 5, 1967. This lead to a series of constitution edits (working towards affiliation) in Winter 1968. There was a break for the spring (no correspondence found, I presume we were waiting on a reply). In the fall records indicate that our constitution and chartering was rejected, further correspondence was sent in Fall 1968 by Glenn Berry. A new inquiry, seemingly unaware of the first was sent Dec 7, 1970&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Rick Beach&lt;br /&gt;
 VP: Lee Santon&lt;br /&gt;
 TR: Randy Melen&lt;br /&gt;
 SE: Vic Neglia&lt;br /&gt;
&lt;br /&gt;
=1971=&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 VP: James H. &amp;quot;Jim&amp;quot; Finch and James W. Welch both signed letters as VP.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 VP: James W. Welch&lt;br /&gt;
&lt;br /&gt;
=1972=&lt;br /&gt;
&lt;br /&gt;
It appears we visited Western and Western visited us this year (there is some reference to a similar occurrence the year previous). Documents from 1973 indicate a termly exec structure, this probably goes back to 1972.&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Mike Campbell&lt;br /&gt;
 VP: Edgar Hew&lt;br /&gt;
 SE-TR: Doug Lacy&lt;br /&gt;
&lt;br /&gt;
There is also stuff from James W. Welch without a position.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Ian McIntosh&lt;br /&gt;
&lt;br /&gt;
=1973=&lt;br /&gt;
&lt;br /&gt;
 Faculty Sponsor: Morven Gentleman&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 SE: Douglas E. Lacy&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Parry&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Parry&lt;br /&gt;
 VP: Ray Walden&lt;br /&gt;
 TR: Slavko Stemberger&lt;br /&gt;
 SE: Mario Festival&lt;br /&gt;
&lt;br /&gt;
=1974=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Russell Crook&lt;br /&gt;
&lt;br /&gt;
=1975-1977=&lt;br /&gt;
&lt;br /&gt;
 Faculty Sponsor: Morven Gentleman??&lt;br /&gt;
&lt;br /&gt;
 Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.&lt;br /&gt;
 Sylvia Eng: 1975/6 as some position.&lt;br /&gt;
 Dave Buckingham: a VP at some point&lt;br /&gt;
 Allison Nolan: 1977 time&lt;br /&gt;
 Peter Stevens: 1977&lt;br /&gt;
 Russel Crook???&lt;br /&gt;
&lt;br /&gt;
Dennis Ritchie came. So did Jeffrey D. Ullman.&lt;br /&gt;
&lt;br /&gt;
=1976=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
Progcom: Peter Stevens&lt;br /&gt;
&lt;br /&gt;
=1977=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
===Spring=== &lt;br /&gt;
&lt;br /&gt;
 PR: Peter Stevens&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Andrzej Jan Taramina&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
=1978=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Peter Stevens&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 TR: K.G. Dykes&lt;br /&gt;
 SE: Kandry Mutheardy&lt;br /&gt;
&lt;br /&gt;
Brian Kernighan gave a talk this term. So did Ken Thompson.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
=1979=&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Robert Biddle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1987=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Boritz&lt;br /&gt;
 VP: Ted Timar&lt;br /&gt;
 TR: Gayla Boritz&lt;br /&gt;
 SE: Edwin Hoogerbeets&lt;br /&gt;
&lt;br /&gt;
=1988=&lt;br /&gt;
&lt;br /&gt;
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)&lt;br /&gt;
Tim Timar - cc&#039;d on memos/mentioned on mathsoc minutes in 1987/88.&lt;br /&gt;
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The &#039;Record Management Profile&#039; that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC&lt;br /&gt;
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first &amp;quot;real&amp;quot; computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 SA: Wade Richards&lt;br /&gt;
&lt;br /&gt;
=1989=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg&lt;br /&gt;
&lt;br /&gt;
Left to right:  Jim Boritz (bottom), Wade Richards (top), Ted Timar, ???, Keven Smith, Bill Gates (not exec), Angela Chambers, Ross Ridge (top), Sean Goggin (bottom), ??? &lt;br /&gt;
&lt;br /&gt;
 PR: Barry W. Smith&lt;br /&gt;
 VP: Angela Chambers&lt;br /&gt;
 TR:&lt;br /&gt;
 SE: Sean Goggin&lt;br /&gt;
 SA: Wade Richards / Ross Ridge&lt;br /&gt;
&lt;br /&gt;
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Thornton&lt;br /&gt;
 VP: Gayla Boritz&lt;br /&gt;
 TR: David Fenger&lt;br /&gt;
 SE: Kivi Shapiro&lt;br /&gt;
 SA: Reid Pinchback&lt;br /&gt;
&lt;br /&gt;
Assistance to sysadmin: Jim Boritz.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: James Boritz&lt;br /&gt;
 VP: Edmond Bourne&lt;br /&gt;
 SA: Ross Ridge&lt;br /&gt;
&lt;br /&gt;
=1990=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 TR: Jim Thornton&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 TR: Karen Smith&lt;br /&gt;
 SE: Robyn Steward&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Wade Richards&lt;br /&gt;
 TR: Carolyn Duke&lt;br /&gt;
 SE: Robyn Stewart - attended mathsoc meeting on our behalf.&lt;br /&gt;
 Kivi Shapiro - attended mathsoc meeting on our behalf.&lt;br /&gt;
              - Censured by mathsoc for his actions during the election.&lt;br /&gt;
 Shannon Mann - attended mathsoc meeting on our behalf.&lt;br /&gt;
&lt;br /&gt;
=1991=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 VP: Edmond Bourne&lt;br /&gt;
 TR: Carolyn Duke&lt;br /&gt;
 SE: Robyn Stewart&lt;br /&gt;
 Shannon Mann - attended mathsoc meeting on our behalf.&lt;br /&gt;
&lt;br /&gt;
John McCarthy came this term.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 Jason Knell - attended mathsoc meeting on our and PMC&#039;s behalf.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 TR: Mike Van Lingen&lt;br /&gt;
 Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1992=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Norm Ross&lt;br /&gt;
 SE: Brent Williams&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Dale Wick&lt;br /&gt;
 TR: Stephen A. Mills&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 TR: Mark Plumb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1993=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 VP: Tim Prime&lt;br /&gt;
 OF: Dave Ebbo&lt;br /&gt;
 LI: Norm Ross&lt;br /&gt;
&lt;br /&gt;
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Mark Tompsett &lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Ian Goldberg&lt;br /&gt;
&lt;br /&gt;
=1994=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Ian Goldberg&lt;br /&gt;
 TR: Mark Tompsett&lt;br /&gt;
 SE: Tom Rathbourne&lt;br /&gt;
 LI: Michael Van Biesbrouck&lt;br /&gt;
 Norm Ross assisted with finances.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Dale Wick (?)&lt;br /&gt;
 TR: Steve Mills&lt;br /&gt;
 SA: Ian Goldberg (?)&lt;br /&gt;
 Norm Ross assisted with finances.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Ross Ridge&lt;br /&gt;
 VP: Tom Rathbourne (?)&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 SA: Zygo Blaxell&lt;br /&gt;
 LI: Michael Van Biesbrouck&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1995=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Sharlene Schmeichel&lt;br /&gt;
 Amy Brown and Rob Ridge purchased books.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Steve Mills&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Amy Brown (arbrown) &lt;br /&gt;
 VP: Christina Norman (cbnorman)&lt;br /&gt;
 TR: Steven Mills (samills)&lt;br /&gt;
 SE: Allyson Graham (akgraham)&lt;br /&gt;
 SA: Gavin Peters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1996=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Nikita Borisov (nborisov)&lt;br /&gt;
 VP: Joseph Deu Ngoc (dtdeungo) &lt;br /&gt;
 TR: Stephen Mills (samills)&lt;br /&gt;
 SE: Sharlene Schmeichel (saschmei)&lt;br /&gt;
 SA: Dave Brown (dagbrown)&lt;br /&gt;
 OF: Somsack Tsai (stsai)&lt;br /&gt;
 LI: Devin Carless (dccarles)&lt;br /&gt;
 FL: Allyson Graham (akgraham)&lt;br /&gt;
 DE: Ian Goldberg (iagoldbe)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Blake Winton (bwinton)&lt;br /&gt;
 VP: Nick Harvey (njaharve)&lt;br /&gt;
 TR: Nikita Borisov (nborisov)&lt;br /&gt;
 SE: Viet-Trung Luu (vluu)&lt;br /&gt;
 SA: Drew Hamilton (awhamilt)&lt;br /&gt;
 OF: Jillian Arnott (jarnott)&lt;br /&gt;
 LI: Ross Ridge (rridge)&lt;br /&gt;
 FL: Devin Carless (dccarles)&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Shannon Mann (sjbmann) &lt;br /&gt;
 VP: Joe &amp;quot;Frosh&amp;quot; Deu Ngoc (jtdeungo)    resigned (heavy workload)&lt;br /&gt;
 TR: Michal Van Biesbrouck (mlvanbie) &lt;br /&gt;
 SE: Nikita Borisov (nborisov) &lt;br /&gt;
 SA: Chris Rovers &lt;br /&gt;
 OF: Dax Hutcheon (ddhutche)            became VP upon jtduengo&#039;s resignation&lt;br /&gt;
 LI: Aliz Csenki (acsenki) &lt;br /&gt;
 FL: Aaron Chmielowiec (archmiel) &lt;br /&gt;
 DE: Skuld (no uwuserid yet...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1997=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Dima Brodsky &lt;br /&gt;
 VP: Nikita Borisov (nborisov)&lt;br /&gt;
 TR: Stephen Mills (samills)&lt;br /&gt;
 SE: Evan Jones (ejones)&lt;br /&gt;
 SA: Alex Brodsky&lt;br /&gt;
 OF: Chris Doherty&lt;br /&gt;
 LI: Matt Corks &lt;br /&gt;
 FL: Paul Prescod&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Chris Rovers (cdrovers) &lt;br /&gt;
 VP: Michael van Biesbrouck (mlvanbie) &lt;br /&gt;
 TR: Somsack Tsai (stsai) &lt;br /&gt;
 SE: Matt Corks (mvcorks)&lt;br /&gt;
 SA: Lennart Sorensen (lsorense) &lt;br /&gt;
 LI: Chmielowiec (archmiel) &lt;br /&gt;
 OF: Devin Carless (dccarles) &lt;br /&gt;
 FL: Aaron Chmielowiec (archmiel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 1998 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Suresh Naidu  &lt;br /&gt;
 VP: Viet-Trung Luu &lt;br /&gt;
 TR: Tim Coleman &lt;br /&gt;
 SE: Dax Hutcheon &lt;br /&gt;
 Librarian: Dax Hutcheon &lt;br /&gt;
 Flasher: Dax Hutcheon &lt;br /&gt;
 Webmaster: Dax Hutcheon &lt;br /&gt;
 SA: Robin Powell&lt;br /&gt;
 OF: Aaron Chmielowiec&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
&lt;br /&gt;
 Position	Name	You might call them...&lt;br /&gt;
 President	roconnor	Russell O&#039;Connor&lt;br /&gt;
 Vice-president	trwcolem	Tim Coleman&lt;br /&gt;
 Treasurer	knzarysk	Karl Zaryski&lt;br /&gt;
 Secretary	(bwinton)	(Blake Winton)&lt;br /&gt;
 Sysadmin	wbiggs	Billy Biggs&lt;br /&gt;
 Librarian	snaidu	Suresh Naidu&lt;br /&gt;
 Flasher	pechrysl	Paul Chrysler&lt;br /&gt;
 Office Manager	dccarles	Devin Carless&lt;br /&gt;
 WWWW	trwcolem	Tim Coleman&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
&lt;br /&gt;
 President	Joe Deu Ngoc	jtdeungo&lt;br /&gt;
 Vice-President	Wai Ling Yee	wlyee&lt;br /&gt;
 Treasurer	Fjord	j2lynn&lt;br /&gt;
 Secretary	Matt Corks	mvcorks&lt;br /&gt;
 Sysadmin	Andrew Hamilton	awhamilt&lt;br /&gt;
&lt;br /&gt;
 World Wide Web Wench	Dax Hutcheon	ddhutche&lt;br /&gt;
 Office Manager	Richard Bell	rlbell&lt;br /&gt;
 Librarian	Damian Gryski	dgryski&lt;br /&gt;
 Flasher	Paul Chrysler	pechrysl&lt;br /&gt;
 Official Deity	Ian Goldberg	iagoldbe&lt;br /&gt;
 Official Chairbeing	Calum T. Dalek	calum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1999=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2000=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Will Chartrand (wgchartr)&lt;br /&gt;
 VP: Gavin Duggan (geduggan)&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA: Lennart Sorensen (lsorense)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP: &lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA: bioster&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2001=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=2002=&lt;br /&gt;
&lt;br /&gt;
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Billy Biggs&lt;br /&gt;
 VP: Stefanus Du Toit&lt;br /&gt;
 TR: Melissa Basinger&lt;br /&gt;
 SE: James Perry&lt;br /&gt;
 SA: Barry Genova&lt;br /&gt;
 Librarian: Ryan Golbeck&lt;br /&gt;
 Webmaster: Jonathan Beverley&lt;br /&gt;
 Office Manager: Sayan Li&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Alex Pop&lt;br /&gt;
 VP: Melissa Basinger&lt;br /&gt;
 TR: Siyan Li&lt;br /&gt;
 SE: James A Morrison&lt;br /&gt;
 SA: Jonathan Beverley&lt;br /&gt;
 Webmaster: Stefanus Du Toit&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: James A. Morrison&lt;br /&gt;
 VP: Stefanus Du Toit&lt;br /&gt;
 TR: James Perry&lt;br /&gt;
 SE: Michael Biggs&lt;br /&gt;
 SA: Ryan Golbeck&lt;br /&gt;
 Librarian: Mark Sherry, Cassandra Schopf&lt;br /&gt;
 Webmaster: Stefanus Du Toit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2003=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Kannan Vijayan (kvijayan)&lt;br /&gt;
 VP: Meg Darragh (m2darrag)&lt;br /&gt;
 TR: James Perry (jeperry)&lt;br /&gt;
 SE: Wojciech Kosnik (wkosnik)&lt;br /&gt;
 SA: Stefanus Du Toit (sjdutoit)&lt;br /&gt;
 LI: Simon Law (sfllaw)&lt;br /&gt;
 WM: Julie Lavoie (jlavoie)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Stefanus Du Toit (sjdutoit)&lt;br /&gt;
 VP: Meg Darragh (m2darrag)&lt;br /&gt;
 TR: Tor Myklebust (tmyklebu)&lt;br /&gt;
 SE: James Perry (jeperry)&lt;br /&gt;
 SA: Simon Law (sfllaw)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2004=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Simon Law (sfllaw)&lt;br /&gt;
 VP: fspacek&lt;br /&gt;
 TR: ljain&lt;br /&gt;
 SE: Julie Lavoie (jlavoie)&lt;br /&gt;
 SA: Tor Myklebust(tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: dnmorton ?&lt;br /&gt;
 VP: Tim Loach (tloach)&lt;br /&gt;
 TR: Michael Biggs (mbiggs)&lt;br /&gt;
 SE: Lesley Northam (lanortha)&lt;br /&gt;
 SA: &lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: jeperry&lt;br /&gt;
 VP: mtsay&lt;br /&gt;
 TR: Mark Sherry (mdsherry)&lt;br /&gt;
 SE: Tor Myklebust (tmyklebu)&lt;br /&gt;
 SA: jlavoie&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2005=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: mtsay&lt;br /&gt;
 VP: Lesley Northam (lanortha)&lt;br /&gt;
 TR: Holden Karau (hkarau)&lt;br /&gt;
 SE: domorton&lt;br /&gt;
 SA: Tor Myklebust (tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Mark Sherry (mdsherry)&lt;br /&gt;
 VP: Martin Kess (mdkess)&lt;br /&gt;
 TR: Ali Piccioni (apiccion)&lt;br /&gt;
 SE: Michael Biggs (mbiggs)&lt;br /&gt;
 SA: Tor Myklebust (tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Tim Loach (tloach)&lt;br /&gt;
 VP: Lesley Northam (lanortha)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: The Professor&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2006=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Tor Myklebust (tmyklebu)&lt;br /&gt;
 VP: Michael Druker (mdruker)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: Mark Sherry (mdsherry)&lt;br /&gt;
 SA: William O&#039;Connor (woconnor)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: David Bartley (dtbartle)&lt;br /&gt;
 VP: David Belanger (dbelange)&lt;br /&gt;
 TR: David Tenty (daltenty)&lt;br /&gt;
 SE: Chris Evensen (cevensen)&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Martin Kess (mdkess)&lt;br /&gt;
 VP: Mark Sherry (mdsherry)&lt;br /&gt;
 TR: Sylvan L. Mably (slmably)&lt;br /&gt;
 SE: Caelyn McAulay (cmcaulay) &lt;br /&gt;
 SA: William O&#039;Connor (woconnor)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2007=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: David Bartley (dtbartle)&lt;br /&gt;
 VP: David Belanger (dbelange)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: David Tenty (daltenty)&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 Webmaster: jnopporn&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Gaelan D&#039;costa (gdcosta)&lt;br /&gt;
 VP: Kyle Larose (kmlarose)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Erik Louie (elouie)&lt;br /&gt;
 SA: Michael Spang (mspang)&lt;br /&gt;
 Librarian: David Tenty (daltenty)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: Holden Karau (hkarau)&lt;br /&gt;
 VP: Alex McCausland (amccausl)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Sean Cumming (sgcummin)&lt;br /&gt;
 SA: David Tenty (daltenty)&lt;br /&gt;
 OF:&lt;br /&gt;
 WW: dtbartle / jnopporn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2008=&lt;br /&gt;
&lt;br /&gt;
===Winter ===&lt;br /&gt;
 PR: Sean Cumming (sgcummin)&lt;br /&gt;
 VP: Matt Lawrence (m3lawren)&lt;br /&gt;
 TR: Mateusz Tarkowski (mtarkows)&lt;br /&gt;
 SE: Edgar Bering (ebering)&lt;br /&gt;
 SA: Jordan Saunders (jmsaunde)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Summer ===&lt;br /&gt;
 PR: Brennan Taylor (b4taylor)&lt;br /&gt;
 VP: Qifan Xi (qxi)&lt;br /&gt;
 TR: Matt Lawrence (m3lawren)&lt;br /&gt;
 SE: Nick Guenther (nguenthe)&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: Matthew Lawrence (m3lawren)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Michael Gregson (mgregson)&lt;br /&gt;
 SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik &#039;Domo&#039; Chłobowski&lt;br /&gt;
 SA: Kyle Spaans (kspaans)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2009=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Michael Gregson (mgregson)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Brennan Taylor (b4taylor)&lt;br /&gt;
 SE: James Simpson (j2simpso)  resigned for business reasons, replaced by Rebecca Putinski (rjputins) &lt;br /&gt;
 SA: Jacob Parker (j3parker) &lt;br /&gt;
 OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)&lt;br /&gt;
&lt;br /&gt;
===Spring ===&lt;br /&gt;
 PR: Michael Spang (mspang)&lt;br /&gt;
 VP: Jacob Parker (j3parker)&lt;br /&gt;
 TR: Sapphyre Gervais (sagervai)&lt;br /&gt;
 SE: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SA: Anthony Brennan (a2brenna)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Jacob Parker (j3parker)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Michael Spang (mspang)&lt;br /&gt;
 SE: Brennan Taylor (b4taylor)&lt;br /&gt;
 SA: Michael Ellis (m2ellis)&lt;br /&gt;
 OF: Rebecca Putinski (rjputins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Kyle Spaans (kspaans)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Sapphyre Gervais (sagervai)&lt;br /&gt;
 SE: Ajnu Jacob (ajacob)&lt;br /&gt;
 SA: Matthew Thiffault (mthiffau)&lt;br /&gt;
 OF: Jacob Parker (j3parker)&lt;br /&gt;
&lt;br /&gt;
 Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Jeff Cameron (j3camero)&lt;br /&gt;
 VP: Brennan Taylor (b4taylor)&lt;br /&gt;
 TR: Vardhan Mudunuru (vmudunur)&lt;br /&gt;
 SE: Matthew Lawrence (m3lawren)&lt;br /&gt;
 SA: Michael Ellis (m2ellis)&lt;br /&gt;
 OF: Edgar Bering (ebering)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Jacob Parker (j3parker)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Rebecca Putinski (rjputins)&lt;br /&gt;
 SE: Kyle Spaans (kspaans)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Amir Sayed Khader (askhader)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Edgar Bering (ebering)&lt;br /&gt;
 VP: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Elana &amp;quot;Alana&amp;quot; Hashman (ehashman)&lt;br /&gt;
 SA: Peter &amp;quot;Bofh&amp;quot; Barfuss (pbarfuss)&lt;br /&gt;
 OF: Marc Burns (Marc Burns)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Matthew Thiffault (mthiffau)&lt;br /&gt;
 VP: Matthew McPherrin (mimcpher)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Kwame Andrew Ansong (kansong)&lt;br /&gt;
 SA: Jeremy Brandon Roman (jbroman)&lt;br /&gt;
 OF: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Katharine Hyatt (kshyatt)&lt;br /&gt;
 TR: Jacob Parker (j3parker)&lt;br /&gt;
 SE: Elana Hashman (ehashman)&lt;br /&gt;
 SA: Anthony &amp;quot;hatguy/hotgay&amp;quot; Brennan (a2brenna)&lt;br /&gt;
 OF: Kyle Spaans (kspaans)&lt;br /&gt;
 LIB: Edgar Bering (ebering)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Elana Hashman (ehashman)&lt;br /&gt;
 TR: Jacob Parker (j3parker)&lt;br /&gt;
 SE: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Luqman Aden (laden)&lt;br /&gt;
 LIB: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
&lt;br /&gt;
===Summer===&lt;br /&gt;
 PR: Anthony Brennan (a2brenna)&lt;br /&gt;
 VP: Luqman Aden (laden)&lt;br /&gt;
 TR: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SE: Elana Hashman (ehashman)&lt;br /&gt;
 SA: Sarah Harvey (sharvey)&lt;br /&gt;
 OF: Marc Burns (m4burns)&lt;br /&gt;
 LIB: John Ladan (jladan)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Salem Talha (satalha)&lt;br /&gt;
 TR: Jennifer Wong (jy2wong)&lt;br /&gt;
 SE: Elana Hashman (ehashman), resigned&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Luqman Aden (laden)&lt;br /&gt;
 LIB: John Ladan (jladan)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Anthony Brennan (a2brenna)&lt;br /&gt;
 VP: Marc Burns (m4burns)&lt;br /&gt;
 TR: John Mumford (jsmumfor)&lt;br /&gt;
 SE: Matt Olechnowicz (mgolechn)&lt;br /&gt;
 SA: Sarah Harvey (sharvey)&lt;br /&gt;
 OF: Bryan Coutts (b2coutts)&lt;br /&gt;
 LIB: Matthew McPherrin (mimcpher)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Shane Robert Creighton-Young (srcreigh)&lt;br /&gt;
 VP: Visishta Vijayanand (vvijayan)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Youn Jin Kim (yj7kim)&lt;br /&gt;
 SA: Anthony Brennan (a2brenna)&lt;br /&gt;
 OF: Marc Burns (m4burns)&lt;br /&gt;
 IMAPD: Dominik Chlobowski (dchlobow)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Elana Hashman (ehashman)&lt;br /&gt;
 VP: Marc Burns (m4burns)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Edward Lee (e45lee)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Sean Hunt (scshunt)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2014 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Bryan Coutts (b2coutts)&lt;br /&gt;
 VP: Visishta Vijayanand (vvijayan)&lt;br /&gt;
 TR: Marc Burns (m4burns)&lt;br /&gt;
 SE: Mark Farrell (m4farrel)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Nicholas Black (nablack)&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Youn Jin Kim (yj7kim)&lt;br /&gt;
 VP: Luke Franceschini (l3france)&lt;br /&gt;
 TR: Joseph Chouinard (jchouina)&lt;br /&gt;
 SE: Ifaz Kabir (ikabir)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Matthew Thiffault (mthiffau)&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Youn Jin Kim (yj7kim)&lt;br /&gt;
 VP: Theodor Belaire (tbelaire)&lt;br /&gt;
 TR: Jonathan Jerel Bailey (jj2baile)&lt;br /&gt;
 SE: Shane Robert Creighton-Young (srcreigh)&lt;br /&gt;
 SA: Sean Hunt (scshunt)&lt;br /&gt;
 OF: Mark Farrell (m4farrel)&lt;br /&gt;
 LIB: Gianni Leonardo Gambetti (glgambet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2015 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Gianni Leonardo Gambetti (glgambet)&lt;br /&gt;
 VP: Luke Franceschini (l3france)&lt;br /&gt;
 TR: Edward Lee (e45lee)&lt;br /&gt;
 SE: Patrick James Melanson (pj2melan)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Shikhar Singh (s285sing)&lt;br /&gt;
 LIB: Aishwarya Gupta (a72gupta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Luqman Aden (laden)&lt;br /&gt;
 VP: Patrick Melanson (pj2melan)&lt;br /&gt;
 TR: Jonathan Bailey (jj2baile)&lt;br /&gt;
 SE: Keri Warr (kpwarr)&lt;br /&gt;
 SA: Nik Black (nablack)&lt;br /&gt;
 OF: Ilia Chtcherbakov (ischtche)&lt;br /&gt;
 LIB: Yomna Nasser (ynasser)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Simone Hu (ss2hu)&lt;br /&gt;
 VP: Theo Belaire (tbelaire)&lt;br /&gt;
 TR: Jordan Taylore Upiter (jtupiter)&lt;br /&gt;
 SE: Daniel Marin (dmarin)&lt;br /&gt;
 SA: Jordan Xavier Pryde (jxpryde)&lt;br /&gt;
 OF: Ilia Chtcherbakov (ischtche)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2016 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Patrick Melanson (pj2melan)&lt;br /&gt;
 VP: Patrick Melanson (pj2melan)&lt;br /&gt;
 Acting VP, progcom chair: Theo Belaire (tbelaire)&lt;br /&gt;
 TR: Luqman Aden (laden)&lt;br /&gt;
 SE: Naomi Koo (m3koo)&lt;br /&gt;
 SA: Zachary Seguin (ztseguin)&lt;br /&gt;
 OF: Reila Zheng (wy2zheng)&lt;br /&gt;
 FR: Marc Mailhot (mnmailho)&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Website&amp;diff=3915</id>
		<title>Website</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Website&amp;diff=3915"/>
		<updated>2016-01-28T20:13:38Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* Testing your changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to install a few dependencies to build the website; the following command will install all dependencies if you&#039;re using a Debian-based system:&lt;br /&gt;
&lt;br /&gt;
 sudo aptitude install python python-libxslt1 python-libxml2 python-tz git-core python-ldap&lt;br /&gt;
&lt;br /&gt;
== Checking out the website ==&lt;br /&gt;
&lt;br /&gt;
The website is managed in a [http://git.csclub.uwaterloo.ca/?p=www/www.git git repository].&lt;br /&gt;
&lt;br /&gt;
Any member can checkout the website using git clone:&lt;br /&gt;
 git clone /users/www/www&lt;br /&gt;
&lt;br /&gt;
This creates a directory called &amp;quot;www&amp;quot; that contains the entire website and its history. If you want to make changes to the website, you&#039;ll need to ask someone on the [[Systems Committee]] to add you to the &amp;quot;www&amp;quot; group. You should also subscribe to our [http://csclub.uwaterloo.ca/mailman/listinfo/git git mailing list].&lt;br /&gt;
&lt;br /&gt;
== Testing your changes ==&lt;br /&gt;
&lt;br /&gt;
You should test any changes you make before pushing them out for all the world to see. The easiest way to see your changes without committing them is to create a symlink into your public &amp;quot;www/build&amp;quot; directory. For example, say your local copy of the website lives in &amp;quot;/users/$USER/csc/www&amp;quot;. You could symlink &amp;quot;/users/$USER/csc/www/build&amp;quot; to &amp;quot;/users/$USER/www/csc&amp;quot;. Do this by typing:&lt;br /&gt;
&lt;br /&gt;
 ln -s /users/$USER/csc/www/build /users/$USER/www/csc&lt;br /&gt;
&lt;br /&gt;
Type make in the directory. Now you can see your copy of the website at this URL:&lt;br /&gt;
&lt;br /&gt;
 http://csclub.uwaterloo.ca/~USERNAME/csc/&lt;br /&gt;
&lt;br /&gt;
= Committing changes to the website =&lt;br /&gt;
&lt;br /&gt;
If you add a new file to the website, you can add it to git:&lt;br /&gt;
 git add file&lt;br /&gt;
&lt;br /&gt;
To delete a file type:&lt;br /&gt;
 git rm file&lt;br /&gt;
&lt;br /&gt;
And to rename or move a file type:&lt;br /&gt;
 git mv old-file new-file&lt;br /&gt;
&lt;br /&gt;
Once you&#039;re done modifying the website you can commit your changes:&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
The above command only commits the change to your local repository; you need to push the changes out to the master repository:&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
The above command will also automatically rebuild the website and send out an email to the git mailing list with the details of your change, as long as you are on caffeine when you push.&lt;br /&gt;
&lt;br /&gt;
= Building the website =&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve checked out the website, you can build the website by running:&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
This will build the website into the build directory. When git-pushing, the website will be built into /srv/www-csc.&lt;br /&gt;
&lt;br /&gt;
You can remove the generated files by running:&lt;br /&gt;
 make clean&lt;br /&gt;
&lt;br /&gt;
= Modifying the website =&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
&lt;br /&gt;
The website&#039;s data is contained in a series of XML files. A series of XSLT files are used to transform the XML data into HTML files. If you want to add new information to the website you&#039;ll want to modify the XML files.&lt;br /&gt;
&lt;br /&gt;
Some notable XML files:&lt;br /&gt;
* events.xml - past and upcoming events&lt;br /&gt;
* news.xml - past and upcoming items&lt;br /&gt;
* media/index.xml - media items (e.g. talks)&lt;br /&gt;
&lt;br /&gt;
XML should be fairly easy to work with. Some important things to remember:&lt;br /&gt;
* All opening tags must be closed.&lt;br /&gt;
* All tags should be in lowercase.&lt;br /&gt;
* Tag and attribute names are case-sensitive.&lt;br /&gt;
&lt;br /&gt;
If you want more information on XML, the following are good resources:&lt;br /&gt;
* The XML specification: http://www.w3.org/TR/2006/REC-xml-20060816/&lt;br /&gt;
* XML tutorials and general reference: http://www.w3schools.com/xml/default.asp&lt;br /&gt;
&lt;br /&gt;
== XSLT ==&lt;br /&gt;
&lt;br /&gt;
If you want to change the HTML layout you&#039;ll want to modify the XSLT files. Almost all XSLT files are located in the &#039;xsl&#039; directory. We are using XSLT 1.0 and a python front-end (xmlproc.py) to libxslt.&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
If you want to change the style of the HTML you&#039;ll want to modify default.css. We primarily target Firefox 2.0 but every effort should be made to use CSS that renders correctly in Internet Explorer 6.0 and other browsers. You can test various Internet Explorer versions from Linux by installing [http://www.tatanka.com.br/ ies4linux]. There&#039;s also [http://browsershots.org/ browsershots.org], which will take screenshots of a page in various browsers.&lt;br /&gt;
&lt;br /&gt;
== Data files ==&lt;br /&gt;
&lt;br /&gt;
Data files, such as PDF&#039;s, should be copied to /srv/www-csc-misc. These files are accessible via http://csclub.uwaterloo.ca/misc/.&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
To change media files, you need to update the /media/index.xml file. The format of new entries should be fairly self evident based on the pre-existing entries.&lt;br /&gt;
&lt;br /&gt;
Once you have a bunch of MTS data from a talk, you need to run it through the scripts in ~git/public/csc-media to compress it and generate thumbnails (check them out, and read the readme). The scripts generate a fairly large amount of output. If you happen to be near the member quota you will want to create symlinks for encodes and timings into /scratch.&lt;br /&gt;
&lt;br /&gt;
The scripts should get run on a beefy machine (ie, high-fructose-corn-syrup).&lt;br /&gt;
&lt;br /&gt;
Once the video files have been encoded, the encoded files need to get uploaded to mirror. The website automagically links the &amp;lt;*file /&amp;gt; tags to &amp;quot;mirror.csclub.../csclub/TALK_FILE&amp;quot;. Contact syscom to do this.&lt;br /&gt;
&lt;br /&gt;
= Website vs Wiki =&lt;br /&gt;
&lt;br /&gt;
In order to keep things organized, the following guidelines should be followed.&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* Information not likely to change frequently (e.g. services, general information)&lt;br /&gt;
* Information that should only be modifiable by the exec&lt;br /&gt;
* Official documents (e.g. constitution, policies)&lt;br /&gt;
* Current and past executive&lt;br /&gt;
* User and club lists&lt;br /&gt;
* News, events, and media items&lt;br /&gt;
* Anything we want non-members to see when they first encounter our site&lt;br /&gt;
&lt;br /&gt;
Wiki:&lt;br /&gt;
* Information that changes frequently&lt;br /&gt;
* Information that any club member should be able to add to or modify&lt;br /&gt;
* Exec and office staff guides/manuals&lt;br /&gt;
* System and hardware documentation&lt;br /&gt;
* Past funding opportunities and advice (assuming this can be publicly posted)&lt;br /&gt;
* Contacts (e.g. CSCF, SCS) (assuming this can be publicly posted)&lt;br /&gt;
&lt;br /&gt;
Also note that we can protect various pages if they shouldn&#039;t be edited in general.&lt;br /&gt;
&lt;br /&gt;
= Conventions =&lt;br /&gt;
&lt;br /&gt;
== Email Addresses ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: this convention is not currently used and is not recommended for now.&lt;br /&gt;
&lt;br /&gt;
Email addresses should be wrapped in &amp;lt;email&amp;gt; tags. For example, if you want to include the email example@csclub.uwaterloo.ca you should include the following xml snippet:&lt;br /&gt;
 &amp;lt;email&amp;gt;example@csclub.uwaterloo.ca&amp;lt;/email&amp;gt;&lt;br /&gt;
Leading and trailing whitespace will be stripped so it is safe to do this:&lt;br /&gt;
 &amp;lt;email&amp;gt;&lt;br /&gt;
   example@csclub.uwaterloo.ca&lt;br /&gt;
 &amp;lt;/email&amp;gt;&lt;br /&gt;
Currently this just generates an standard mailto link. In order to prevent spammers from harvesting address, I want to generate an image that contains the address.&lt;br /&gt;
&lt;br /&gt;
My current plan is to generate the email images while running make. This would be accomplished by creating a csc:email function that generates and saves the image to http://csclub.uwaterloo.ca/images/. The image name would be generated from HMAC(email, key), where key is some secret key/phrase.&lt;br /&gt;
&lt;br /&gt;
= Feature Requests and Ideas =&lt;br /&gt;
&lt;br /&gt;
* Possibly move club list onto wiki.&lt;br /&gt;
* Convert cellspacing and cellpadding to CSS equivalents.&lt;br /&gt;
* Make RSS and ICS feeds more prominent.&lt;br /&gt;
* Replace or compliment /events with a web-based calendar?&lt;br /&gt;
* Replace all email addresses with generated graphics or javascript obfuscation?&lt;br /&gt;
* Replace &amp;amp;lt;br&amp;amp;gt;&#039;s with &amp;amp;lt;p&amp;amp;gt;&#039;s wherever it makes sense.&lt;br /&gt;
* Replace &amp;amp;lt;strong&amp;amp;gt;, &amp;amp;lt;b&amp;amp;gt;, &amp;amp;lt;i&amp;amp;gt;, etc... tags with CSS.&lt;br /&gt;
* Highlight (e.g. make left bar green) current page in directory header&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:Policy]]&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Books_Wishlist&amp;diff=3911</id>
		<title>Books Wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Books_Wishlist&amp;diff=3911"/>
		<updated>2016-01-26T22:54:14Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* W16 Whiteboard books in progress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page consists of books we&#039;d like to get to stock the [[library]]. It is divided into 3 sections. The first is books going on this term&#039;s MEF proposal, this should be done by whoever is writing the proposal. The second is a list of actual books with ISBN. The third is vague ideas of what kind of books we need. The goal is for this page to be emptied by way of moving things from section three up to section one and then off.&lt;br /&gt;
&lt;br /&gt;
A bunch of these were bought.  That needs to be updated.&lt;br /&gt;
&lt;br /&gt;
Programming Windows by Charles Petzold used to be the definitive guide to Win32&lt;br /&gt;
http://www.amazon.ca/Programming-Windows%C2%AE-Charles-Petzold/dp/157231995X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1269631483&amp;amp;sr=8-1&lt;br /&gt;
&lt;br /&gt;
TCP/IP illustrated (All three volumes $180)&lt;br /&gt;
http://www.amazon.com/TCP-IP-Illustrated-Vol-Protocols/dp/0201633469&lt;br /&gt;
= MEF Proposal = &lt;br /&gt;
MEF Proposal books should include a quote and a sentence or two of justification.&lt;br /&gt;
&lt;br /&gt;
= W16 Whiteboard books in progress =&lt;br /&gt;
This is a list of books that people have put on the whiteboard so far. May still change.&lt;br /&gt;
*Analytic Number Theory&lt;br /&gt;
*To Mock a Mockingbird&lt;br /&gt;
*Regular Polytopes By Coxeter&lt;br /&gt;
*Matroid Theory (2nd Edition)&lt;br /&gt;
*Model Theory (?)&lt;br /&gt;
*Polyhedral and Semidefinite Programming Methods in Combinatorial Optimization, by Levent Tuncel&lt;br /&gt;
*Quantum Computing Since Democritus&lt;br /&gt;
*Theory of Linear and Integer Programming&lt;br /&gt;
&lt;br /&gt;
= Actual Books =&lt;br /&gt;
Actual books should have a precise title and ISBN for edition desired.&lt;br /&gt;
&lt;br /&gt;
*Coders at work&lt;br /&gt;
*Thinking as Computation&lt;br /&gt;
** http://mitpress.mit.edu/books/thinking-computation&lt;br /&gt;
*The Linux Programming Interface&lt;br /&gt;
** ISBN 978-1-59327-220-3&lt;br /&gt;
* The Shellcoder&#039;s Handbook: Discovering and Exploiting Security Holes &lt;br /&gt;
** ISBN-10: 047008023X&lt;br /&gt;
** ISBN-13: 978-0470080238&lt;br /&gt;
&lt;br /&gt;
== j2simpso&#039;s suggestions should be sorted ==&lt;br /&gt;
*Dreaming in Code&lt;br /&gt;
** ISBN 978-1400082469&lt;br /&gt;
*Founter&#039;s at Work: Stories of Startup&#039;s early Days&lt;br /&gt;
** ISBN 978-1590597149&lt;br /&gt;
*Metaprogramminging GPUs with SH&lt;br /&gt;
** ISBN 978-1568812298&lt;br /&gt;
*High Performance Computing&lt;br /&gt;
** ISBN 978-1566923126&lt;br /&gt;
*Critical Testing Processes: Plan, Prepare, Perform, Perfect&lt;br /&gt;
** ISBN 978-0201748680&lt;br /&gt;
* GREP pocket reference&lt;br /&gt;
** ISBN 978-0596153601&lt;br /&gt;
* Programming Embedded Systems&lt;br /&gt;
** ISBN 978-0596009830&lt;br /&gt;
* High Availability and Disaster REcovery&lt;br /&gt;
** ISBN 978-3540244608&lt;br /&gt;
* An Introduction to Mathematical Cryptography&lt;br /&gt;
** ISBN 978-0387779930&lt;br /&gt;
* Real Time Systems Design and Analysis&lt;br /&gt;
** ISBN 978-0471228554&lt;br /&gt;
* The Black Swan: The Impact of the Highly Improbable&lt;br /&gt;
** ISBN 978-1400063512&lt;br /&gt;
&lt;br /&gt;
== Non-technical ==&lt;br /&gt;
* How to Win Friends and Influence People&lt;br /&gt;
** ISBN 978-0671027032&lt;br /&gt;
* A Field Guide to Earthlings: An Autistic/Asperger View of Neurotypical Behavior&lt;br /&gt;
** ISBN 978-0615426198&lt;br /&gt;
* Mythical Man Month (20th Anniversary ed)&lt;br /&gt;
** ISBN 0-201-83595-9&lt;br /&gt;
* Natural Harvest - A Collection of Semen-Based Recipes &lt;br /&gt;
** ISBN 1-4743-1461-5&lt;br /&gt;
* Logicomix: An Epic Search for Truth&lt;br /&gt;
** ISBN 978-0747597209&lt;br /&gt;
&lt;br /&gt;
== UI &amp;amp; HCI ==&lt;br /&gt;
*Sketching User Experiences&lt;br /&gt;
** ISBN 978-0-12-374037-3&lt;br /&gt;
*The Design of Everyday Things&lt;br /&gt;
** ISBN 978-0465067107&lt;br /&gt;
*The Laws of Simplicty&lt;br /&gt;
** ISBN 978-0262134729&lt;br /&gt;
&lt;br /&gt;
== Course Textbooks ==&lt;br /&gt;
* CSfoo: &#039;&#039;&#039;rebind&#039;&#039;&#039; CLRS&lt;br /&gt;
* CS116: Downey, Python for Software Design: How to Think Like a Computer Scientist&lt;br /&gt;
** ISBN 978-0521725965&lt;br /&gt;
* CS136: King, C programming&lt;br /&gt;
** ISBN 978-0393979503&lt;br /&gt;
* CS240: GOODRICH &amp;amp; TAMASSIA:ALGORITHM DESIGN&lt;br /&gt;
** ISBN 978-0471383659&lt;br /&gt;
* CS246: SAVITCH:ABSOLUTE C++ 4TH ED&lt;br /&gt;
** ISBN 978-0136083818&lt;br /&gt;
* CS246: MEYERS:EFFECTIVE C++&lt;br /&gt;
** ISBN 978-0321334879&lt;br /&gt;
* CS365: Sipser, &#039;&#039;Introduction to the Theory of Computation&#039;&#039; SECOND EDITION&lt;br /&gt;
** ISBN 0-534-95097-3&lt;br /&gt;
* CS462 SHALLIT:SECOND COURSE IN FORMAL LANGUAGES &amp;amp; AUTOMATA THEOR&lt;br /&gt;
** ISBN 9780521865722&lt;br /&gt;
&lt;br /&gt;
== Foundations/Field Surveys ==&lt;br /&gt;
* Knuth, The Art of Computer Programming (Copies that aren&#039;t signed)&lt;br /&gt;
** Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium&lt;br /&gt;
*** ISBN 978-0201853926&lt;br /&gt;
** Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions&lt;br /&gt;
*** ISBN 978-0321534965&lt;br /&gt;
** Volume 4, Fascicle 1: Bitwise Tricks &amp;amp; Techniques; Binary Decision Diagrams&lt;br /&gt;
*** ISBN 978-0321580504&lt;br /&gt;
** Volume 4, Fascicle 2: Generating All Tuples and Permutations &lt;br /&gt;
*** ISBN 978-0201853933&lt;br /&gt;
** Volume 4, Fascicle 3: Generating All Combinations and Partitions &lt;br /&gt;
*** ISBN 978-0201853940&lt;br /&gt;
**  Volume 4, Fascicle 4: Generating All Trees--History of Combinatorial Generation&lt;br /&gt;
*** ISBN 978-0321335708&lt;br /&gt;
* Wirth, Algorithms + Data Structures = Programs&lt;br /&gt;
** ISBN 978-0130224187&lt;br /&gt;
* Dijkstra, A Discipline of Programming&lt;br /&gt;
** ISBN 978-0132158718&lt;br /&gt;
* Abelson, Structure and Interpretation of Computer Programs&lt;br /&gt;
** ISBN 978-0070004849&lt;br /&gt;
* Basic Category Theory for Computer Scientists&lt;br /&gt;
** ISBN 978-0262660716&lt;br /&gt;
&lt;br /&gt;
== Strict Theory ==&lt;br /&gt;
* Recommended by John Watrous: http://www.amazon.com/Computational-Complexity-Approach-Sanjeev-Arora/dp/0521424267/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1276314046&amp;amp;sr=1-1&lt;br /&gt;
* [http://www.lulu.com/shop/univalent-foundations-project/homotopy-type-theory-hardcover/hardcover/product-21679084.html#productDetails Homotopy Type Theory]&lt;br /&gt;
* [http://www.amazon.com/Computational-Complexity-Christos-H-Papadimitriou/dp/0201530821/ Papadimitriou, &#039;&#039;Computational Complexity&#039;&#039;] or newer equivalent&lt;br /&gt;
** ISBN 0201530821&lt;br /&gt;
* [http://www.amazon.com/Computability-Theory-Chapman-Hall-Mathematics/dp/1584882379 Cooper, &#039;&#039;Computability Theory&#039;&#039;] or similar (Cooper is buggy)&lt;br /&gt;
** ISBN 1-58-488237-9&lt;br /&gt;
* [http://www.amazon.com/Introduction-Kolmogorov-Complexity-Applications-Computer/dp/0387339981/ Li and Vitanyi &#039;&#039;Kolmogorov Complexity and its Applications]&lt;br /&gt;
** ISBN 978-0387339986&lt;br /&gt;
* [http://www.amazon.com/Cambridge-Tracts-Theoretical-Computer-Science/dp/0521802008 Blackburn, de Rijke, Venema, &#039;&#039;Modal Logic&#039;&#039;]&lt;br /&gt;
** ISBN 978-0521802000&lt;br /&gt;
* Kozen, &#039;&#039;Theory of Computation&#039;&#039;&lt;br /&gt;
** ISBN 978-1846282973&lt;br /&gt;
&lt;br /&gt;
== Programming Languages ==&lt;br /&gt;
&lt;br /&gt;
* Theory of&lt;br /&gt;
** Friedman &amp;amp; Wand, Essentials of Programming Languages, 3rd Edition&lt;br /&gt;
*** ISBN 978-0262062794&lt;br /&gt;
** Pierce, Types and Programming Languages&lt;br /&gt;
*** ISBN 978-0262162098&lt;br /&gt;
* C++&lt;br /&gt;
** Bjarne Stroustrup, A Tour of C++&lt;br /&gt;
*** ISBN 978-0321958310&lt;br /&gt;
** Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied&lt;br /&gt;
*** ISBN 978-0201704310&lt;br /&gt;
* Scheme&lt;br /&gt;
** Friedman, The Little Schemer - 4th Edition&lt;br /&gt;
*** ISBN 978-0262560993&lt;br /&gt;
** Friedman, The Seasoned Schemer&lt;br /&gt;
*** ISBN 978-0262561006&lt;br /&gt;
** Friedman, The Reasoned Schemer&lt;br /&gt;
*** ISBN 978-0262562140&lt;br /&gt;
** Dybvig, The Scheme Programming Language, 3rd Edition&lt;br /&gt;
*** ISBN 978-0262541480&lt;br /&gt;
* ML&lt;br /&gt;
** Reppy, Concurrent Programming in ML&lt;br /&gt;
*** ISBN 978-0521714723&lt;br /&gt;
** Paulson, ML For The Working Programmer&lt;br /&gt;
*** ISBN 978-0521565431&lt;br /&gt;
* Haskell&lt;br /&gt;
** Hutton, Programming in Haskell&lt;br /&gt;
*** ISBN 978-0521692694&lt;br /&gt;
** Hudak, The Haskell School of Expression&lt;br /&gt;
*** ISBN 978-0521644082&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Structures ==&lt;br /&gt;
* Okasaki, Purely Functional Data Structures&lt;br /&gt;
** ISBN 978-0521663502&lt;br /&gt;
&lt;br /&gt;
== Typography ==&lt;br /&gt;
* Bringhurst, The Elements of Typographic Style&lt;br /&gt;
** ISBN 978-0881792065&lt;br /&gt;
* Knuth, Computers &amp;amp; Typesetting, Volumes A-E Boxed Set&lt;br /&gt;
** ISBN 978-0201734164&lt;br /&gt;
&lt;br /&gt;
= Vague Ideas =&lt;br /&gt;
These can be anything from a title missing an edition choice to a topic name to a binding style/colour.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
* Approximation Algorithms&lt;br /&gt;
* Randomized Algorithms&lt;br /&gt;
* Computer and Intractability (Grey &amp;amp; Johnson)&lt;br /&gt;
* Human Computer Interaction (HCI)&lt;br /&gt;
* Project Management &lt;br /&gt;
** Software Requirements&lt;br /&gt;
** Software Design &amp;amp; Architecture&lt;br /&gt;
** Software Testing&lt;br /&gt;
* Concurrency/Multithreading&lt;br /&gt;
* Security (Firewalls)&lt;br /&gt;
* Introduction to the Theory of Computation&lt;br /&gt;
* Numerical Analysis&lt;br /&gt;
* Numerical Methods?  (Stoer &amp;amp;amp; Bulirsch)&lt;br /&gt;
** This is probably not the actual title.  We want a book on numerical methods by Stoer &amp;amp;amp; Bulirsch&lt;br /&gt;
* Computer Systems: A Programmer&#039;s Perspective (Bryant &amp;amp; O&#039;Hallaron)&lt;br /&gt;
* Quantum Computing book (from QIP)&lt;br /&gt;
** We have the course text, do we need more on the topic? IQC Recommendation?&lt;br /&gt;
&lt;br /&gt;
== Programming Languages ==&lt;br /&gt;
* Python&lt;br /&gt;
* Haskell .NET&lt;br /&gt;
* Ruby&lt;br /&gt;
* C#&lt;br /&gt;
* Visual Basic .NET&lt;br /&gt;
* OCaml&lt;br /&gt;
* F#&lt;br /&gt;
* Basic&lt;br /&gt;
* Groovy&lt;br /&gt;
* Javascript&lt;br /&gt;
* C/C++&lt;br /&gt;
* Assembly .NET&lt;br /&gt;
* Databases [SQL]&lt;br /&gt;
* Coq .NET&lt;br /&gt;
&lt;br /&gt;
== Technology Books ==&lt;br /&gt;
* Ubuntu&lt;br /&gt;
* Unix/Linux Beginner Books&lt;br /&gt;
* OpenGL/DirectX&lt;br /&gt;
* GTK&lt;br /&gt;
* Unix Network Programming&lt;br /&gt;
&lt;br /&gt;
[[Category:Library]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&amp;diff=3792</id>
		<title>Past Executive</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&amp;diff=3792"/>
		<updated>2015-06-10T18:26:00Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* Spring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Data sources for this exec list have been: CSC records, MathNEWS.&lt;br /&gt;
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: &#039;&#039;This week on campus&#039;&#039;. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
 #define PR President&lt;br /&gt;
 #define VP Vice-president&lt;br /&gt;
 #define TR Treasurer&lt;br /&gt;
 #define SE Secretary&lt;br /&gt;
 #define SA Sysadmin&lt;br /&gt;
 #define OF Office Manager&lt;br /&gt;
 #define LI Librarian&lt;br /&gt;
 #define FL Flasher&lt;br /&gt;
 #define DE Deity&lt;br /&gt;
 #define WW Webmaster&lt;br /&gt;
 #define OF Office Manager&lt;br /&gt;
 #define SE-TR Secretary-Treasurer (Position was split)&lt;br /&gt;
&lt;br /&gt;
=Founding 1967=&lt;br /&gt;
&lt;br /&gt;
 Sponsor - J. Peter Sprung&lt;br /&gt;
 PR: K. Rugger&lt;br /&gt;
 VP: R. Jaques&lt;br /&gt;
 SE-TR: G. Sutherland&lt;br /&gt;
&lt;br /&gt;
 Founding Members:&lt;br /&gt;
 B. Kindree&lt;br /&gt;
 R. Melen&lt;br /&gt;
 V. Neglia&lt;br /&gt;
 R. Charney&lt;br /&gt;
 R. Truman&lt;br /&gt;
 Glenn Berry&lt;br /&gt;
 D. Meek&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Bill Kindred&lt;br /&gt;
 VP: Rick Jacques&lt;br /&gt;
 SE-TR: Graham Sutherland&lt;br /&gt;
&lt;br /&gt;
Committee members: R. Stallwerthy, C. de Vries&lt;br /&gt;
&lt;br /&gt;
=1968=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Bill Kindred&lt;br /&gt;
 VP: Rick Jacques&lt;br /&gt;
 SE-TR: Graham Sutherland&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 SE-TR: Glenn Berry&lt;br /&gt;
&lt;br /&gt;
=1969=&lt;br /&gt;
&lt;br /&gt;
Unknown, only one letter found in the folder &#039;ACM History&#039; addressed to Glenn Berry, which makes it likely that he was SE-TR once again. May be indicated in membership lists. The club appears to have died this academic year.&lt;br /&gt;
&lt;br /&gt;
=1970=&lt;br /&gt;
&lt;br /&gt;
===A note on ACM affiliation===&lt;br /&gt;
&lt;br /&gt;
The first attempt at joining the ACM was started with an informal inquiry Dec 5, 1967. This lead to a series of constitution edits (working towards affiliation) in Winter 1968. There was a break for the spring (no correspondence found, I presume we were waiting on a reply). In the fall records indicate that our constitution and chartering was rejected, further correspondence was sent in Fall 1968 by Glenn Berry. A new inquiry, seemingly unaware of the first was sent Dec 7, 1970&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Rick Beach&lt;br /&gt;
 VP: Lee Santon&lt;br /&gt;
 TR: Randy Melen&lt;br /&gt;
 SE: Vic Neglia&lt;br /&gt;
&lt;br /&gt;
=1971=&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 VP: James H. &amp;quot;Jim&amp;quot; Finch and James W. Welch both signed letters as VP.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 VP: James W. Welch&lt;br /&gt;
&lt;br /&gt;
=1972=&lt;br /&gt;
&lt;br /&gt;
It appears we visited Western and Western visited us this year (there is some reference to a similar occurrence the year previous). Documents from 1973 indicate a termly exec structure, this probably goes back to 1972.&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Mike Campbell&lt;br /&gt;
 VP: Edgar Hew&lt;br /&gt;
 SE-TR: Doug Lacy&lt;br /&gt;
&lt;br /&gt;
There is also stuff from James W. Welch without a position.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Ian McIntosh&lt;br /&gt;
&lt;br /&gt;
=1973=&lt;br /&gt;
&lt;br /&gt;
 Faculty Sponsor: Morven Gentleman&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 SE: Douglas E. Lacy&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Parry&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Parry&lt;br /&gt;
 VP: Ray Walden&lt;br /&gt;
 TR: Slavko Stemberger&lt;br /&gt;
 SE: Mario Festival&lt;br /&gt;
&lt;br /&gt;
=1974=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Russell Crook&lt;br /&gt;
&lt;br /&gt;
=1975-1977=&lt;br /&gt;
&lt;br /&gt;
 Faculty Sponsor: Morven Gentleman??&lt;br /&gt;
&lt;br /&gt;
 Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.&lt;br /&gt;
 Sylvia Eng: 1975/6 as some position.&lt;br /&gt;
 Dave Buckingham: a VP at some point&lt;br /&gt;
 Allison Nolan: 1977 time&lt;br /&gt;
 Peter Stevens: 1977&lt;br /&gt;
 Russel Crook???&lt;br /&gt;
&lt;br /&gt;
Dennis Ritchie came. So did Jeffrey D. Ullman.&lt;br /&gt;
&lt;br /&gt;
=1976=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
Progcom: Peter Stevens&lt;br /&gt;
&lt;br /&gt;
=1977=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
===Spring=== &lt;br /&gt;
&lt;br /&gt;
 PR: Peter Stevens&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Andrzej Jan Taramina&lt;br /&gt;
 Progcom: Allison Nowlan&lt;br /&gt;
&lt;br /&gt;
=1978=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Peter Stevens&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 TR: K.G. Dykes&lt;br /&gt;
 SE: Kandry Mutheardy&lt;br /&gt;
&lt;br /&gt;
Brian Kernighan gave a talk this term. So did Ken Thompson.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
=1979=&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Robert Biddle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1987=&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Boritz&lt;br /&gt;
 VP: Ted Timar&lt;br /&gt;
 TR: Gayla Boritz&lt;br /&gt;
 SE: Edwin Hoogerbeets&lt;br /&gt;
&lt;br /&gt;
=1988=&lt;br /&gt;
&lt;br /&gt;
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)&lt;br /&gt;
Tim Timar - cc&#039;d on memos/mentioned on mathsoc minutes in 1987/88.&lt;br /&gt;
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The &#039;Record Management Profile&#039; that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC&lt;br /&gt;
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first &amp;quot;real&amp;quot; computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 SA: Wade Richards&lt;br /&gt;
&lt;br /&gt;
=1989=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg&lt;br /&gt;
&lt;br /&gt;
Left to right:  Jim Boritz (bottom), Wade Richards (top), Ted Timar, ???, Keven Smith, Bill Gates (not exec), Angela Chambers, Ross Ridge (top), Sean Goggin (bottom), ??? &lt;br /&gt;
&lt;br /&gt;
 PR: Barry W. Smith&lt;br /&gt;
 VP: Angela Chambers&lt;br /&gt;
 TR:&lt;br /&gt;
 SE: Sean Goggin&lt;br /&gt;
 SA: Wade Richards / Ross Ridge&lt;br /&gt;
&lt;br /&gt;
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Jim Thornton&lt;br /&gt;
 VP: Gayla Boritz&lt;br /&gt;
 TR: David Fenger&lt;br /&gt;
 SE: Kivi Shapiro&lt;br /&gt;
 SA: Reid Pinchback&lt;br /&gt;
&lt;br /&gt;
Assistance to sysadmin: Jim Boritz.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: James Boritz&lt;br /&gt;
 VP: Edmond Bourne&lt;br /&gt;
 SA: Ross Ridge&lt;br /&gt;
&lt;br /&gt;
=1990=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 TR: Jim Thornton&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 TR: Karen Smith&lt;br /&gt;
 SE: Robyn Steward&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Wade Richards&lt;br /&gt;
 TR: Carolyn Duke&lt;br /&gt;
 SE: Robyn Stewart - attended mathsoc meeting on our behalf.&lt;br /&gt;
 Kivi Shapiro - attended mathsoc meeting on our behalf.&lt;br /&gt;
              - Censured by mathsoc for his actions during the election.&lt;br /&gt;
 Shannon Mann - attended mathsoc meeting on our behalf.&lt;br /&gt;
&lt;br /&gt;
=1991=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 VP: Edmond Bourne&lt;br /&gt;
 TR: Carolyn Duke&lt;br /&gt;
 SE: Robyn Stewart&lt;br /&gt;
 Shannon Mann - attended mathsoc meeting on our behalf.&lt;br /&gt;
&lt;br /&gt;
John McCarthy came this term.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 Jason Knell - attended mathsoc meeting on our and PMC&#039;s behalf.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 TR: Mike Van Lingen&lt;br /&gt;
 Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1992=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Norm Ross&lt;br /&gt;
 SE: Brent Williams&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Dale Wick&lt;br /&gt;
 TR: Stephen A. Mills&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 TR: Mark Plumb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1993=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 VP: Tim Prime&lt;br /&gt;
 OF: Dave Ebbo&lt;br /&gt;
 LI: Norm Ross&lt;br /&gt;
&lt;br /&gt;
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Mark Tompsett &lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Ian Goldberg&lt;br /&gt;
&lt;br /&gt;
=1994=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Ian Goldberg&lt;br /&gt;
 TR: Mark Tompsett&lt;br /&gt;
 SE: Tom Rathbourne&lt;br /&gt;
 LI: Michael Van Biesbrouck&lt;br /&gt;
 Norm Ross assisted with finances.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Dale Wick (?)&lt;br /&gt;
 TR: Steve Mills&lt;br /&gt;
 SA: Ian Goldberg (?)&lt;br /&gt;
 Norm Ross assisted with finances.&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Ross Ridge&lt;br /&gt;
 VP: Tom Rathbourne (?)&lt;br /&gt;
 TR: Rob Leitman&lt;br /&gt;
 SA: Zygo Blaxell&lt;br /&gt;
 LI: Michael Van Biesbrouck&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1995=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 TR: Sharlene Schmeichel&lt;br /&gt;
 Amy Brown and Rob Ridge purchased books.&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 TR: Steve Mills&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Amy Brown (arbrown) &lt;br /&gt;
 VP: Christina Norman (cbnorman)&lt;br /&gt;
 TR: Steven Mills (samills)&lt;br /&gt;
 SE: Allyson Graham (akgraham)&lt;br /&gt;
 SA: Gavin Peters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1996=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Nikita Borisov (nborisov)&lt;br /&gt;
 VP: Joseph Deu Ngoc (dtdeungo) &lt;br /&gt;
 TR: Stephen Mills (samills)&lt;br /&gt;
 SE: Sharlene Schmeichel (saschmei)&lt;br /&gt;
 SA: Dave Brown (dagbrown)&lt;br /&gt;
 OF: Somsack Tsai (stsai)&lt;br /&gt;
 LI: Devin Carless (dccarles)&lt;br /&gt;
 FL: Allyson Graham (akgraham)&lt;br /&gt;
 DE: Ian Goldberg (iagoldbe)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Blake Winton (bwinton)&lt;br /&gt;
 VP: Nick Harvey (njaharve)&lt;br /&gt;
 TR: Nikita Borisov (nborisov)&lt;br /&gt;
 SE: Viet-Trung Luu (vluu)&lt;br /&gt;
 SA: Drew Hamilton (awhamilt)&lt;br /&gt;
 OF: Jillian Arnott (jarnott)&lt;br /&gt;
 LI: Ross Ridge (rridge)&lt;br /&gt;
 FL: Devin Carless (dccarles)&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Shannon Mann (sjbmann) &lt;br /&gt;
 VP: Joe &amp;quot;Frosh&amp;quot; Deu Ngoc (jtdeungo)    resigned (heavy workload)&lt;br /&gt;
 TR: Michal Van Biesbrouck (mlvanbie) &lt;br /&gt;
 SE: Nikita Borisov (nborisov) &lt;br /&gt;
 SA: Chris Rovers &lt;br /&gt;
 OF: Dax Hutcheon (ddhutche)            became VP upon jtduengo&#039;s resignation&lt;br /&gt;
 LI: Aliz Csenki (acsenki) &lt;br /&gt;
 FL: Aaron Chmielowiec (archmiel) &lt;br /&gt;
 DE: Skuld (no uwuserid yet...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1997=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Dima Brodsky &lt;br /&gt;
 VP: Nikita Borisov (nborisov)&lt;br /&gt;
 TR: Stephen Mills (samills)&lt;br /&gt;
 SE: Evan Jones (ejones)&lt;br /&gt;
 SA: Alex Brodsky&lt;br /&gt;
 OF: Chris Doherty&lt;br /&gt;
 LI: Matt Corks &lt;br /&gt;
 FL: Paul Prescod&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Chris Rovers (cdrovers) &lt;br /&gt;
 VP: Michael van Biesbrouck (mlvanbie) &lt;br /&gt;
 TR: Somsack Tsai (stsai) &lt;br /&gt;
 SE: Matt Corks (mvcorks)&lt;br /&gt;
 SA: Lennart Sorensen (lsorense) &lt;br /&gt;
 LI: Chmielowiec (archmiel) &lt;br /&gt;
 OF: Devin Carless (dccarles) &lt;br /&gt;
 FL: Aaron Chmielowiec (archmiel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 1998 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Suresh Naidu  &lt;br /&gt;
 VP: Viet-Trung Luu &lt;br /&gt;
 TR: Tim Coleman &lt;br /&gt;
 SE: Dax Hutcheon &lt;br /&gt;
 Librarian: Dax Hutcheon &lt;br /&gt;
 Flasher: Dax Hutcheon &lt;br /&gt;
 Webmaster: Dax Hutcheon &lt;br /&gt;
 SA: Robin Powell&lt;br /&gt;
 OF: Aaron Chmielowiec&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
&lt;br /&gt;
 Position	Name	You might call them...&lt;br /&gt;
 President	roconnor	Russell O&#039;Connor&lt;br /&gt;
 Vice-president	trwcolem	Tim Coleman&lt;br /&gt;
 Treasurer	knzarysk	Karl Zaryski&lt;br /&gt;
 Secretary	(bwinton)	(Blake Winton)&lt;br /&gt;
 Sysadmin	wbiggs	Billy Biggs&lt;br /&gt;
 Librarian	snaidu	Suresh Naidu&lt;br /&gt;
 Flasher	pechrysl	Paul Chrysler&lt;br /&gt;
 Office Manager	dccarles	Devin Carless&lt;br /&gt;
 WWWW	trwcolem	Tim Coleman&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
&lt;br /&gt;
 President	Joe Deu Ngoc	jtdeungo&lt;br /&gt;
 Vice-President	Wai Ling Yee	wlyee&lt;br /&gt;
 Treasurer	Fjord	j2lynn&lt;br /&gt;
 Secretary	Matt Corks	mvcorks&lt;br /&gt;
 Sysadmin	Andrew Hamilton	awhamilt&lt;br /&gt;
&lt;br /&gt;
 World Wide Web Wench	Dax Hutcheon	ddhutche&lt;br /&gt;
 Office Manager	Richard Bell	rlbell&lt;br /&gt;
 Librarian	Damian Gryski	dgryski&lt;br /&gt;
 Flasher	Paul Chrysler	pechrysl&lt;br /&gt;
 Official Deity	Ian Goldberg	iagoldbe&lt;br /&gt;
 Official Chairbeing	Calum T. Dalek	calum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=1999=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2000=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Will Chartrand (wgchartr)&lt;br /&gt;
 VP: Gavin Duggan (geduggan)&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA: Lennart Sorensen (lsorense)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP: &lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA: bioster&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2001=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: geduggan&lt;br /&gt;
 VP:&lt;br /&gt;
 TR:&lt;br /&gt;
 SE:&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
=2002=&lt;br /&gt;
&lt;br /&gt;
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Billy Biggs&lt;br /&gt;
 VP: Stefanus Du Toit&lt;br /&gt;
 TR: Melissa Basinger&lt;br /&gt;
 SE: James Perry&lt;br /&gt;
 SA: Barry Genova&lt;br /&gt;
 Librarian: Ryan Golbeck&lt;br /&gt;
 Webmaster: Jonathan Beverley&lt;br /&gt;
 Office Manager: Sayan Li&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Alex Pop&lt;br /&gt;
 VP: Melissa Basinger&lt;br /&gt;
 TR: Siyan Li&lt;br /&gt;
 SE: James A Morrison&lt;br /&gt;
 SA: Jonathan Beverley&lt;br /&gt;
 Webmaster: Stefanus Du Toit&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: James A. Morrison&lt;br /&gt;
 VP: Stefanus Du Toit&lt;br /&gt;
 TR: James Perry&lt;br /&gt;
 SE: Michael Biggs&lt;br /&gt;
 SA: Ryan Golbeck&lt;br /&gt;
 Librarian: Mark Sherry, Cassandra Schopf&lt;br /&gt;
 Webmaster: Stefanus Du Toit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2003=&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Kannan Vijayan (kvijayan)&lt;br /&gt;
 VP: Meg Darragh (m2darrag)&lt;br /&gt;
 TR: James Perry (jeperry)&lt;br /&gt;
 SE: Wojciech Kosnik (wkosnik)&lt;br /&gt;
 SA: Stefanus Du Toit (sjdutoit)&lt;br /&gt;
 LI: Simon Law (sfllaw)&lt;br /&gt;
 WM: Julie Lavoie (jlavoie)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Stefanus Du Toit (sjdutoit)&lt;br /&gt;
 VP: Meg Darragh (m2darrag)&lt;br /&gt;
 TR: Tor Myklebust (tmyklebu)&lt;br /&gt;
 SE: James Perry (jeperry)&lt;br /&gt;
 SA: Simon Law (sfllaw)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2004=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Simon Law (sfllaw)&lt;br /&gt;
 VP: fspacek&lt;br /&gt;
 TR: ljain&lt;br /&gt;
 SE: Julie Lavoie (jlavoie)&lt;br /&gt;
 SA: Tor Myklebust(tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: dnmorton ?&lt;br /&gt;
 VP: Tim Loach (tloach)&lt;br /&gt;
 TR: Michael Biggs (mbiggs)&lt;br /&gt;
 SE: Lesley Northam (lanortha)&lt;br /&gt;
 SA: &lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: jeperry&lt;br /&gt;
 VP: mtsay&lt;br /&gt;
 TR: Mark Sherry (mdsherry)&lt;br /&gt;
 SE: Tor Myklebust (tmyklebu)&lt;br /&gt;
 SA: jlavoie&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2005=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: mtsay&lt;br /&gt;
 VP: Lesley Northam (lanortha)&lt;br /&gt;
 TR: Holden Karau (hkarau)&lt;br /&gt;
 SE: domorton&lt;br /&gt;
 SA: Tor Myklebust (tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
&lt;br /&gt;
 PR: Mark Sherry (mdsherry)&lt;br /&gt;
 VP: Martin Kess (mdkess)&lt;br /&gt;
 TR: Ali Piccioni (apiccion)&lt;br /&gt;
 SE: Michael Biggs (mbiggs)&lt;br /&gt;
 SA: Tor Myklebust (tmyklebu)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Tim Loach (tloach)&lt;br /&gt;
 VP: Lesley Northam (lanortha)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: The Professor&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2006=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
&lt;br /&gt;
 PR: Tor Myklebust (tmyklebu)&lt;br /&gt;
 VP: Michael Druker (mdruker)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: Mark Sherry (mdsherry)&lt;br /&gt;
 SA: William O&#039;Connor (woconnor)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: David Bartley (dtbartle)&lt;br /&gt;
 VP: David Belanger (dbelange)&lt;br /&gt;
 TR: David Tenty (daltenty)&lt;br /&gt;
 SE: Chris Evensen (cevensen)&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
&lt;br /&gt;
 PR: Martin Kess (mdkess)&lt;br /&gt;
 VP: Mark Sherry (mdsherry)&lt;br /&gt;
 TR: Sylvan L. Mably (slmably)&lt;br /&gt;
 SE: Caelyn McAulay (cmcaulay) &lt;br /&gt;
 SA: William O&#039;Connor (woconnor)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2007=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: David Bartley (dtbartle)&lt;br /&gt;
 VP: David Belanger (dbelange)&lt;br /&gt;
 TR: Caelyn McAulay (cmcaulay)&lt;br /&gt;
 SE: David Tenty (daltenty)&lt;br /&gt;
 SA: Holden Karau (hkarau)&lt;br /&gt;
 Webmaster: jnopporn&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Gaelan D&#039;costa (gdcosta)&lt;br /&gt;
 VP: Kyle Larose (kmlarose)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Erik Louie (elouie)&lt;br /&gt;
 SA: Michael Spang (mspang)&lt;br /&gt;
 Librarian: David Tenty (daltenty)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: Holden Karau (hkarau)&lt;br /&gt;
 VP: Alex McCausland (amccausl)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Sean Cumming (sgcummin)&lt;br /&gt;
 SA: David Tenty (daltenty)&lt;br /&gt;
 OF:&lt;br /&gt;
 WW: dtbartle / jnopporn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2008=&lt;br /&gt;
&lt;br /&gt;
===Winter ===&lt;br /&gt;
 PR: Sean Cumming (sgcummin)&lt;br /&gt;
 VP: Matt Lawrence (m3lawren)&lt;br /&gt;
 TR: Mateusz Tarkowski (mtarkows)&lt;br /&gt;
 SE: Edgar Bering (ebering)&lt;br /&gt;
 SA: Jordan Saunders (jmsaunde)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Summer ===&lt;br /&gt;
 PR: Brennan Taylor (b4taylor)&lt;br /&gt;
 VP: Qifan Xi (qxi)&lt;br /&gt;
 TR: Matt Lawrence (m3lawren)&lt;br /&gt;
 SE: Nick Guenther (nguenthe)&lt;br /&gt;
 SA:&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall ===&lt;br /&gt;
 PR: Matthew Lawrence (m3lawren)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Michael Gregson (mgregson)&lt;br /&gt;
 SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik &#039;Domo&#039; Chłobowski&lt;br /&gt;
 SA: Kyle Spaans (kspaans)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2009=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Michael Gregson (mgregson)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Brennan Taylor (b4taylor)&lt;br /&gt;
 SE: James Simpson (j2simpso)  resigned for business reasons, replaced by Rebecca Putinski (rjputins) &lt;br /&gt;
 SA: Jacob Parker (j3parker) &lt;br /&gt;
 OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)&lt;br /&gt;
&lt;br /&gt;
===Spring ===&lt;br /&gt;
 PR: Michael Spang (mspang)&lt;br /&gt;
 VP: Jacob Parker (j3parker)&lt;br /&gt;
 TR: Sapphyre Gervais (sagervai)&lt;br /&gt;
 SE: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SA: Anthony Brennan (a2brenna)&lt;br /&gt;
 OF:&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Jacob Parker (j3parker)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Michael Spang (mspang)&lt;br /&gt;
 SE: Brennan Taylor (b4taylor)&lt;br /&gt;
 SA: Michael Ellis (m2ellis)&lt;br /&gt;
 OF: Rebecca Putinski (rjputins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Kyle Spaans (kspaans)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Sapphyre Gervais (sagervai)&lt;br /&gt;
 SE: Ajnu Jacob (ajacob)&lt;br /&gt;
 SA: Matthew Thiffault (mthiffau)&lt;br /&gt;
 OF: Jacob Parker (j3parker)&lt;br /&gt;
&lt;br /&gt;
 Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Jeff Cameron (j3camero)&lt;br /&gt;
 VP: Brennan Taylor (b4taylor)&lt;br /&gt;
 TR: Vardhan Mudunuru (vmudunur)&lt;br /&gt;
 SE: Matthew Lawrence (m3lawren)&lt;br /&gt;
 SA: Michael Ellis (m2ellis)&lt;br /&gt;
 OF: Edgar Bering (ebering)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Jacob Parker (j3parker)&lt;br /&gt;
 VP: Edgar Bering (ebering)&lt;br /&gt;
 TR: Rebecca Putinski (rjputins)&lt;br /&gt;
 SE: Kyle Spaans (kspaans)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Amir Sayed Khader (askhader)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2011=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Edgar Bering (ebering)&lt;br /&gt;
 VP: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Elana &amp;quot;Alana&amp;quot; Hashman (ehashman)&lt;br /&gt;
 SA: Peter &amp;quot;Bofh&amp;quot; Barfuss (pbarfuss)&lt;br /&gt;
 OF: Marc Burns (Marc Burns)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Matthew Thiffault (mthiffau)&lt;br /&gt;
 VP: Matthew McPherrin (mimcpher)&lt;br /&gt;
 TR: Kyle Spaans (kspaans)&lt;br /&gt;
 SE: Kwame Andrew Ansong (kansong)&lt;br /&gt;
 SA: Jeremy Brandon Roman (jbroman)&lt;br /&gt;
 OF: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Katharine Hyatt (kshyatt)&lt;br /&gt;
 TR: Jacob Parker (j3parker)&lt;br /&gt;
 SE: Elana Hashman (ehashman)&lt;br /&gt;
 SA: Anthony &amp;quot;hatguy/hotgay&amp;quot; Brennan (a2brenna)&lt;br /&gt;
 OF: Kyle Spaans (kspaans)&lt;br /&gt;
 LIB: Edgar Bering (ebering)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Elana Hashman (ehashman)&lt;br /&gt;
 TR: Jacob Parker (j3parker)&lt;br /&gt;
 SE: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Luqman Aden (laden)&lt;br /&gt;
 LIB: Jennifer &amp;quot;Emily&amp;quot; Wong (jy2wong)&lt;br /&gt;
&lt;br /&gt;
===Summer===&lt;br /&gt;
 PR: Anthony Brennan (a2brenna)&lt;br /&gt;
 VP: Luqman Aden (laden)&lt;br /&gt;
 TR: Matthew McPherrin (mimcpher)&lt;br /&gt;
 SE: Elana Hashman (ehashman)&lt;br /&gt;
 SA: Sarah Harvey (sharvey)&lt;br /&gt;
 OF: Marc Burns (m4burns)&lt;br /&gt;
 LIB: John Ladan (jladan)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Marc Burns (m4burns)&lt;br /&gt;
 VP: Salem Talha (satalha)&lt;br /&gt;
 TR: Jennifer Wong (jy2wong)&lt;br /&gt;
 SE: Elana Hashman (ehashman), resigned&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Luqman Aden (laden)&lt;br /&gt;
 LIB: John Ladan (jladan)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
&lt;br /&gt;
===Winter===&lt;br /&gt;
 PR: Anthony Brennan (a2brenna)&lt;br /&gt;
 VP: Marc Burns (m4burns)&lt;br /&gt;
 TR: John Mumford (jsmumfor)&lt;br /&gt;
 SE: Matt Olechnowicz (mgolechn)&lt;br /&gt;
 SA: Sarah Harvey (sharvey)&lt;br /&gt;
 OF: Bryan Coutts (b2coutts)&lt;br /&gt;
 LIB: Matthew McPherrin (mimcpher)&lt;br /&gt;
&lt;br /&gt;
===Spring===&lt;br /&gt;
 PR: Shane Robert Creighton-Young (srcreigh)&lt;br /&gt;
 VP: Visishta Vijayanand (vvijayan)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Youn Jin Kim (yj7kim)&lt;br /&gt;
 SA: Anthony Brennan (a2brenna)&lt;br /&gt;
 OF: Marc Burns (m4burns)&lt;br /&gt;
 IMAPD: Dominik Chlobowski (dchlobow)&lt;br /&gt;
&lt;br /&gt;
===Fall===&lt;br /&gt;
 PR: Elana Hashman (ehashman)&lt;br /&gt;
 VP: Marc Burns (m4burns)&lt;br /&gt;
 TR: Dominik Chlobowski (dchlobow)&lt;br /&gt;
 SE: Edward Lee (e45lee)&lt;br /&gt;
 SA: Jeremy Roman (jbroman)&lt;br /&gt;
 OF: Sean Hunt (scshunt)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2014 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Bryan Coutts (b2coutts)&lt;br /&gt;
 VP: Visishta Vijayanand (vvijayan)&lt;br /&gt;
 TR: Marc Burns (m4burns)&lt;br /&gt;
 SE: Mark Farrell (m4farrel)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Nicholas Black (nablack)&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Youn Jin Kim (yj7kim)&lt;br /&gt;
 VP: Luke Franceschini (l3france)&lt;br /&gt;
 TR: Joseph Chouinard (jchouina)&lt;br /&gt;
 SE: Ifaz Kabir (ikabir)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Matthew Thiffault (mthiffau)&lt;br /&gt;
&lt;br /&gt;
=== Fall ===&lt;br /&gt;
 PR: Youn Jin Kim (yj7kim)&lt;br /&gt;
 VP: Theodor Belaire (tbelaire)&lt;br /&gt;
 TR: Jonathan Jerel Bailey (jj2baile)&lt;br /&gt;
 SE: Shane Robert Creighton-Young (srcreigh)&lt;br /&gt;
 SA: Sean Hunt (scshunt)&lt;br /&gt;
 OF: Mark Farrell (m4farrel)&lt;br /&gt;
 LIB: Gianni Leonardo Gambetti (glgambet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2015 =&lt;br /&gt;
&lt;br /&gt;
=== Winter ===&lt;br /&gt;
 PR: Gianni Leonardo Gambetti (glgambet)&lt;br /&gt;
 VP: Luke Franceschini (l3france)&lt;br /&gt;
 TR: Edward Lee (e45lee)&lt;br /&gt;
 SE: Patrick James Melanson (pj2melan)&lt;br /&gt;
 SA: Murphy Berzish (mtrberzi)&lt;br /&gt;
 OF: Shikhar Singh (s285sing)&lt;br /&gt;
 LIB: Aishwarya Gupta (a72gupta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spring ===&lt;br /&gt;
 PR: Luqman Aden (laden)&lt;br /&gt;
 VP: Patrick Melanson (pj2melan)&lt;br /&gt;
 TR: Jonathan Bailey (jj2baile)&lt;br /&gt;
 SE: Keri Warr (kpwarr)&lt;br /&gt;
 SA: Nik Black (nablack)&lt;br /&gt;
 OF: Ilia Chtcherbakov (ischtche)&lt;br /&gt;
 LIB: Yomna Nasser (ynasser)&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Ident&amp;diff=3791</id>
		<title>Ident</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Ident&amp;diff=3791"/>
		<updated>2015-06-10T02:03:34Z</updated>

		<summary type="html">&lt;p&gt;Laden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Machine List#taurine|taurine]] needs to provide ident services to raise the IRC connection cap. A small ident daemon written by m4burns in Racket lives in &amp;lt;tt&amp;gt;/home/ident&amp;lt;/tt&amp;gt; on taurine.&lt;br /&gt;
&lt;br /&gt;
To get it running, run it as the `indent` user and add an iptables rule sending port 113 to port 1113.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  iptables -t nat -A PREROUTING -p tcp --dport 113 -j REDIRECT --to-port 1113&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:Webcams&amp;diff=3645</id>
		<title>Historical:Webcams</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:Webcams&amp;diff=3645"/>
		<updated>2014-10-01T16:45:21Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* bit-shifter cam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [http://csclub.uwaterloo.ca/office/webcam live webcam feed] of the office is available online.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
&lt;br /&gt;
We use [http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome Motion] to serve this webcam feed. It uses video4linux to read from the webcam, and pushes frames to the client (who maintains an HTTP connection). Frames are pushed when a certain amount of motion has detected, or a set maximum amount of time has passed since the last frame. One of these runs on each of our webcam hosts ([[Machine_List#maltodextrin|maltodextrin]] and [[Machine_List#bit-shifter|bit-shifter]]). Motion includes a builtin tiny HTTP server (running on port 8081 in our case) which serves a sequence of JPEG images to the browser. An ordinary &amp;lt;tt&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/tt&amp;gt; tag is embedded in the web page, and browsers will update the image when they receive a new one over the HTTP connection.&lt;br /&gt;
&lt;br /&gt;
The Motion documentation is fairly self-explanatory, but here are the options we use for the webcam server part:&lt;br /&gt;
&lt;br /&gt;
 webcam_port 8081&lt;br /&gt;
 webcam_quality 30&lt;br /&gt;
 webcam_motion on&lt;br /&gt;
 webcam_maxrate 5&lt;br /&gt;
 webcam_localhost off&lt;br /&gt;
 webcam_limit 1000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also have a couple of udev rules to map the camera devices to a constant location and to disable any on-camera mice. These rules exist at /etc/udev/rules.d/99-csc-webcams.rules on the right machines.&lt;br /&gt;
&lt;br /&gt;
=== maltodextrin cam ===&lt;br /&gt;
&lt;br /&gt;
 # Create symlink for camera device at /dev/csc/malto-cam&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;046d&amp;quot;, ATTRS{idProduct}==&amp;quot;0808&amp;quot;, ATTRS{serial}==&amp;quot;714B8C60&amp;quot;, ATTRS{bInterfaceClass}==&amp;quot;0e&amp;quot;, SYMLINK+=&amp;quot;csc/malto-cam&amp;quot;, GROUP=&amp;quot;motion&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Disable the cam&#039;s mic&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;046d&amp;quot;, ATTRS{idProduct}==&amp;quot;0808&amp;quot;, ATTRS{serial}==&amp;quot;714B8C60&amp;quot;, ATTRS{bInterfaceClass}==&amp;quot;01&amp;quot;, ATTR{authorized}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== bit-shifter cam ===&lt;br /&gt;
&lt;br /&gt;
 # Create symlink for camera device at /dev/csc/bitshifter-cam&lt;br /&gt;
 SUBSYSTEM==&amp;quot;video4linux&amp;quot;, SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;046d&amp;quot;, ATTRS{idProduct}==&amp;quot;082c&amp;quot;, ATTRS{serial}==&amp;quot;AF2F2AD0&amp;quot;, SYMLINK+=&amp;quot;csc/bitshifter-cam&amp;quot;, GROUP=&amp;quot;motion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Webcam Counter ==&lt;br /&gt;
&lt;br /&gt;
Also known as the &amp;quot;implicit consent sign&amp;quot;. The sign is connected via serial to bit-shifter. Associated scripts which update the counter are found in /opt/camcount/ on bit-shifter.&lt;br /&gt;
&lt;br /&gt;
If the counter isn&#039;t working, /opt/camcount/daemon likely needs to be restarted.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Messenger ===&lt;br /&gt;
* USB IDs: 046d:08da&lt;br /&gt;
* Kernel module: gspca (gspca-source)&lt;br /&gt;
* Max resolution: 640x480&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Zoom ===&lt;br /&gt;
* USB IDs: 046d:08b3&lt;br /&gt;
* Kernel module: pwc&lt;br /&gt;
* Max resolution: 640x480&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Web ===&lt;br /&gt;
* USB IDs: 046d:0850&lt;br /&gt;
* Kernel module: quickcam (qc-usb-source package)&lt;br /&gt;
* Max resolution: 480x360&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Chat ===&lt;br /&gt;
* USB IDs: 046d:092c&lt;br /&gt;
* Kernel module: gspca (gspca-source)&lt;br /&gt;
* Max resolution: 480x360&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:Webcams&amp;diff=3639</id>
		<title>Historical:Webcams</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:Webcams&amp;diff=3639"/>
		<updated>2014-09-29T16:03:11Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* Operation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [http://csclub.uwaterloo.ca/office/webcam live webcam feed] of the office is available online.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
&lt;br /&gt;
We use [http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome Motion] to serve this webcam feed. It uses video4linux to read from the webcam, and pushes frames to the client (who maintains an HTTP connection). Frames are pushed when a certain amount of motion has detected, or a set maximum amount of time has passed since the last frame. One of these runs on each of our webcam hosts ([[Machine_List#maltodextrin|maltodextrin]] and [[Machine_List#bit-shifter|bit-shifter]]). Motion includes a builtin tiny HTTP server (running on port 8081 in our case) which serves a sequence of JPEG images to the browser. An ordinary &amp;lt;tt&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/tt&amp;gt; tag is embedded in the web page, and browsers will update the image when they receive a new one over the HTTP connection.&lt;br /&gt;
&lt;br /&gt;
The Motion documentation is fairly self-explanatory, but here are the options we use for the webcam server part:&lt;br /&gt;
&lt;br /&gt;
 webcam_port 8081&lt;br /&gt;
 webcam_quality 30&lt;br /&gt;
 webcam_motion on&lt;br /&gt;
 webcam_maxrate 5&lt;br /&gt;
 webcam_localhost off&lt;br /&gt;
 webcam_limit 1000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also have a couple of udev rules to map the camera devices to a constant location and to disable any on-camera mice. These rules exist at /etc/udev/rules.d/99-csc-webcams.rules on the right machines.&lt;br /&gt;
&lt;br /&gt;
=== maltodextrin cam ===&lt;br /&gt;
&lt;br /&gt;
 # Create symlink for camera device at /dev/csc/malto-cam&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;046d&amp;quot;, ATTRS{idProduct}==&amp;quot;0808&amp;quot;, ATTRS{serial}==&amp;quot;714B8C60&amp;quot;, ATTRS{bInterfaceClass}==&amp;quot;0e&amp;quot;, SYMLINK+=&amp;quot;csc/malto-cam&amp;quot;, GROUP=&amp;quot;motion&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Disable the cam&#039;s mic&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;046d&amp;quot;, ATTRS{idProduct}==&amp;quot;0808&amp;quot;, ATTRS{serial}==&amp;quot;714B8C60&amp;quot;, ATTRS{bInterfaceClass}==&amp;quot;01&amp;quot;, ATTR{authorized}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== bit-shifter cam ===&lt;br /&gt;
&lt;br /&gt;
 # Create symlink for camera device at /dev/csc/bitshifter-cam&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;046d&amp;quot;, ATTRS{idProduct}==&amp;quot;082c&amp;quot;, ATTRS{serial}==&amp;quot;AF2F2AD0&amp;quot;, SYMLINK+=&amp;quot;csc/bitshifter-cam&amp;quot;, GROUP=&amp;quot;motion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Webcam Counter ==&lt;br /&gt;
&lt;br /&gt;
Also known as the &amp;quot;implicit consent sign&amp;quot;. The sign is connected via serial to bit-shifter. Associated scripts which update the counter are found in /opt/camcount/ on bit-shifter.&lt;br /&gt;
&lt;br /&gt;
If the counter isn&#039;t working, /opt/camcount/daemon likely needs to be restarted.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Messenger ===&lt;br /&gt;
* USB IDs: 046d:08da&lt;br /&gt;
* Kernel module: gspca (gspca-source)&lt;br /&gt;
* Max resolution: 640x480&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Zoom ===&lt;br /&gt;
* USB IDs: 046d:08b3&lt;br /&gt;
* Kernel module: pwc&lt;br /&gt;
* Max resolution: 640x480&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Web ===&lt;br /&gt;
* USB IDs: 046d:0850&lt;br /&gt;
* Kernel module: quickcam (qc-usb-source package)&lt;br /&gt;
* Max resolution: 480x360&lt;br /&gt;
&lt;br /&gt;
=== Logitech QuickCam Chat ===&lt;br /&gt;
* USB IDs: 046d:092c&lt;br /&gt;
* Kernel module: gspca (gspca-source)&lt;br /&gt;
* Max resolution: 480x360&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3519</id>
		<title>New CSC Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3519"/>
		<updated>2013-10-11T03:33:28Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* New Distribution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Booting =&lt;br /&gt;
&lt;br /&gt;
* Put the TFTP image in place (if dist-arch pair installed before, you may skip this).&lt;br /&gt;
e.g. extract http://mirror.csclub.uwaterloo.ca/ubuntu/dists/oneiric/main/installer-amd64/current/images/netboot/netboot.tar.gz to caffeine:/srv/tftp/oneiric-amd64&lt;br /&gt;
&lt;br /&gt;
* Configure DHCP server; see caffeine:/etc/dhcp/dhcpd.conf. This allow caffeine to identify the host by its MAC address and give it the correct IP and boot image. e.g.&lt;br /&gt;
 host bit-shifter {&lt;br /&gt;
   hardware ethernet 6C:F0:49:08:49:48;&lt;br /&gt;
   fixed-address 129.97.134.111;&lt;br /&gt;
   next-server 129.97.134.17;&lt;br /&gt;
   filename &amp;quot;raring-amd64/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Force network boot in the BIOS. This may be called &amp;quot;Legacy LAN&amp;quot; or other such cryptic things. If this doesn&#039;t work, boot from CD or USB instead.&lt;br /&gt;
&lt;br /&gt;
It is preferred to use the &amp;quot;alternate&amp;quot; Ubuntu installer image, based on debian-installer, instead of the Ubiquity installer. This installer supports software RAID and LVM out of the box, and will generally make your life easier. If installing Debian, this is the usual installer, so don&#039;t sweat it.&lt;br /&gt;
&lt;br /&gt;
= Installing =&lt;br /&gt;
&lt;br /&gt;
== debian-installer ==&lt;br /&gt;
&lt;br /&gt;
At least in expert mode, you can choose a custom mirror (top of the countries list) and give the path for mirror directly. This will make installation super-fast compared to installing from anywhere else.&lt;br /&gt;
&lt;br /&gt;
Please install to LVM volumes, as this is our standard configuration on all machines where possible. It allows more flexible partitioning across available volumes. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
You may enable unattended upgrades, but do not enable Canonical&#039;s remote management service or any such nonsense. This is mostly a straightforward Debian/Ubuntu install.&lt;br /&gt;
&lt;br /&gt;
== Ubiquity ==&lt;br /&gt;
&lt;br /&gt;
Ubiquity is the Ubuntu GUI installer. For it to have lvm support, run:&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
If you still can&#039;t see the partitions (even if lvscan sees them, but no devices exist), run &amp;lt;tt&amp;gt;vgscan&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;vgchange -ay&amp;lt;/tt&amp;gt; as root. Now the partitioner should be able to see them. We prefer to use LVM for partitions. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
After installing with Ubiquity, you must also add LVM support to the newly installed system, and in particular its initramfs.&lt;br /&gt;
&lt;br /&gt;
 mount /dev/vg0/root /mnt&lt;br /&gt;
 mount /dev/sda1 /mnt/boot&lt;br /&gt;
 chroot /mnt&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
You should see an update-initramfs update. Reboot.&lt;br /&gt;
&lt;br /&gt;
= After Installing =&lt;br /&gt;
&lt;br /&gt;
Add the new machine&#039;s ip to /etc/hosts and propagate to all other machines (~syscom/bin/alldist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== apt ==&lt;br /&gt;
&lt;br /&gt;
If you did not during installation, change all references in &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; to use &amp;lt;tt&amp;gt;mirror&amp;lt;/tt&amp;gt; instead of the usual mirrors.&lt;br /&gt;
&lt;br /&gt;
Also add support for the CSC packages. Add the following to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/csclub.list&amp;lt;/tt&amp;gt; (or copy from another host):&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
 deb-src http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need the CSC archive signing key (if &amp;lt;tt&amp;gt;curl&amp;lt;/tt&amp;gt; is not installed, install it).&lt;br /&gt;
 curl -s http://debian.csclub.uwaterloo.ca/csclub.asc | apt-key add -&lt;br /&gt;
&lt;br /&gt;
If you are running Debian, our package list installs some cross-compilers that are in the Emdebian repository. Install the package &amp;lt;tt&amp;gt;emdebian-archive-keyring&amp;lt;/tt&amp;gt; and then add the following entry to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/emdebian.list&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 deb http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
 deb-src http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
&lt;br /&gt;
You should now run &amp;lt;tt&amp;gt;apt-get update&amp;lt;/tt&amp;gt; to reflect these changes.&lt;br /&gt;
&lt;br /&gt;
Next, install &amp;lt;tt&amp;gt;inapt&amp;lt;/tt&amp;gt; (it is in the CSC Debian archive). If it hasn&#039;t previously been built for the current platform, clone and build it (TODO: describe how to do this).&lt;br /&gt;
&lt;br /&gt;
Clone &amp;lt;tt&amp;gt;~git/public/packages.git&amp;lt;/tt&amp;gt;, update it if necessary (notably updating &amp;lt;tt&amp;gt;nodes.ia&amp;lt;/tt&amp;gt; to reflect the distribution and role of the machine), then run:&lt;br /&gt;
 inapt *.ia&lt;br /&gt;
&lt;br /&gt;
(Due to a bug, if a warning is thrown, this will segfault. Until fixed, just temporarily remove whatever packages it complains about from the list.)&lt;br /&gt;
&lt;br /&gt;
Warning: this will take a long time due to the large number of packages being installed. Some of the below can be done once the relevant packages are installed, but while other packages are still being installed.&lt;br /&gt;
&lt;br /&gt;
Note that inapt current uninstalls NetworkManager, which is what Ubuntu uses by default to configure the network. Once this completes, open &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; and set up a static networking configuration (otherwise, networking will not come back up on reboot). It should look something like this:&lt;br /&gt;
&lt;br /&gt;
 # This file describes the network interfaces available on your system&lt;br /&gt;
 # and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
 &lt;br /&gt;
 # The loopback network interface&lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 # The primary network interface&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
         address 129.97.134.xxx&lt;br /&gt;
         netmask 255.255.255.0&lt;br /&gt;
         gateway 129.97.134.1&lt;br /&gt;
         network 129.97.134.0&lt;br /&gt;
         broadcast 129.97.134.255&lt;br /&gt;
         dns-nameservers 129.97.2.1 129.97.47.5 129.97.47.6&lt;br /&gt;
         dns-search csclub.uwaterloo.ca uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
For unattended upgrades in the future, install the &amp;lt;tt&amp;gt;unattended-upgrades&amp;lt;/tt&amp;gt; package and copy &amp;lt;tt&amp;gt;/etc/apt/apt.conf&amp;lt;/tt&amp;gt; from another host.&lt;br /&gt;
&lt;br /&gt;
== Keys ==&lt;br /&gt;
&lt;br /&gt;
If this is a reinstall of an existing host, copy back the SSH host keys and &amp;lt;tt&amp;gt;/etc/krb5.keytab&amp;lt;/tt&amp;gt; from its former incarnation. Otherwise, create a new Kerberos principal and copy the keytab over, as follows (run from the host in question):&lt;br /&gt;
 kadmin -p sysadmin/admin   # or any other admin principal; the password for this one is the usual root password&lt;br /&gt;
 addprinc -randkey host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
 ktadd host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
This will generate a new principal (you can skip this step if one already exists) and add it to the local Kerberos keytab.&lt;br /&gt;
&lt;br /&gt;
Also copy &amp;lt;tt&amp;gt;/etc/ssl/certs/GlobalSign_Intermediate_Root.pem&amp;lt;/tt&amp;gt; from another host, as many of our services use a certificate issued by this CA.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
The following config files are needed to work in the CSC environment (examples given below for an office terminal; perhaps refer to another host if preferred).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nsswitch.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nsswitch.conf&lt;br /&gt;
 #&lt;br /&gt;
 # Example configuration of GNU Name Service Switch functionality.&lt;br /&gt;
 # If you have the `glibc-doc-reference&#039; and `info&#039; packages installed, try:&lt;br /&gt;
 # `info libc &amp;quot;Name Service Switch&amp;quot;&#039; for information about this file.&lt;br /&gt;
 &lt;br /&gt;
 passwd:         files ldap&lt;br /&gt;
 group:          files ldap&lt;br /&gt;
 shadow:         files ldap&lt;br /&gt;
 sudoers:        files ldap&lt;br /&gt;
 &lt;br /&gt;
 hosts:          files dns&lt;br /&gt;
 networks:       files&lt;br /&gt;
 &lt;br /&gt;
 protocols:      db files&lt;br /&gt;
 services:       db files&lt;br /&gt;
 ethers:         db files&lt;br /&gt;
 rpc:            db files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/ldap/ldap.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # LDAP Defaults&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # See ldap.conf(5) for details&lt;br /&gt;
 # This file should be world readable but not world writable.&lt;br /&gt;
 &lt;br /&gt;
 BASE   dc=csclub, dc=uwaterloo, dc=ca&lt;br /&gt;
 URI     ldap://ldap1.csclub.uwaterloo.ca ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 SIZELIMIT      0&lt;br /&gt;
 &lt;br /&gt;
 TLS_CACERT      /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 TLS_CACERTFILE /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 &lt;br /&gt;
 SUDOERS_BASE    ou=SUDOers,dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
&lt;br /&gt;
(On Debian, also copy &amp;lt;tt&amp;gt;/etc/sudo-ldap.conf&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nslcd.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nslcd.conf&lt;br /&gt;
 # nslcd configuration file. See nslcd.conf(5)&lt;br /&gt;
 # for details.&lt;br /&gt;
 &lt;br /&gt;
 # The user and group nslcd should run as.&lt;br /&gt;
 uid nslcd&lt;br /&gt;
 gid nslcd&lt;br /&gt;
 &lt;br /&gt;
 # The location at which the LDAP server(s) should be reachable.&lt;br /&gt;
 uri ldap://ldap1.csclub.uwaterloo.ca&lt;br /&gt;
 uri ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 # The search base that will be used for all queries.&lt;br /&gt;
 base dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
 &lt;br /&gt;
 # use the uniqueMember attribute for group membership&lt;br /&gt;
 # (not applicable on Debian squeeze)&lt;br /&gt;
 map group member uniqueMember&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/krb5.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 [libdefaults]&lt;br /&gt;
         default_realm = CSCLUB.UWATERLOO.CA&lt;br /&gt;
         forwardable = true&lt;br /&gt;
         proxiable = true&lt;br /&gt;
         dns_lookup_kdc = false&lt;br /&gt;
         dns_lookup_realm = false&lt;br /&gt;
 &lt;br /&gt;
 [realms]&lt;br /&gt;
         CSCLUB.UWATERLOO.CA = {&lt;br /&gt;
                 kdc = kdc1.csclub.uwaterloo.ca&lt;br /&gt;
                 kdc = kdc2.csclub.uwaterloo.ca&lt;br /&gt;
                 admin_server = kadmin.csclub.uwaterloo.ca&lt;br /&gt;
         }&lt;br /&gt;
 (rest omitted for brevity)&lt;br /&gt;
&lt;br /&gt;
Update: &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is basically a no-op in recent Kerberos versions - but this is not a problem as any linux kernel with version &amp;gt;= 2.6.38.2 can use any cipher available to the kernel to grab tickets from the KDC for the purpose of NFS sec=krb5. Notably, this means you can use ciphersuites less craptastic than des-cbc-crc (the only one that used to work prior to this kernel revision) for NFS sec=krb5 mounts. Therefore, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; has been removed from /etc/krb5.conf on all our machines.&lt;br /&gt;
&lt;br /&gt;
Furthermore, the lines &amp;lt;tt&amp;gt;dns_lookup_kdc&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dns_lookup_realm&amp;lt;/tt&amp;gt; have been added - they are needed to stop the KDC from basically throwing a shitfit if IST&#039;s DNS servers ever explode - an event that has happened in the recent past far more often than I&#039;d like it to.&lt;br /&gt;
&lt;br /&gt;
Notably, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is currently needed to mount &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt; (/music and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; is sec=sys and thus will always mount, even when krb5 is down and/or broken). Otherwise, you will get a mysterious &amp;quot;permission denied&amp;quot; error (even though the server claims to have authenticated the mount successfully).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/pam.d/common-account&amp;lt;/tt&amp;gt;&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/pam.d/common-account - authorization settings common to all services&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # here are the per-package modules (the &amp;quot;Primary&amp;quot; block)&lt;br /&gt;
 account        [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so &lt;br /&gt;
 # here&#039;s the fallback if no module succeeds&lt;br /&gt;
 account        requisite                       pam_deny.so&lt;br /&gt;
 # prime the stack with a positive return value if there isn&#039;t one already;&lt;br /&gt;
 # this avoids us returning an error just because nothing sets a success code&lt;br /&gt;
 # since the modules above will each just jump around&lt;br /&gt;
 account        required                        pam_permit.so&lt;br /&gt;
 # and here are more per-package modules (the &amp;quot;Additional&amp;quot; block)&lt;br /&gt;
 account        required                        pam_krb5.so minimum_uid=10000&lt;br /&gt;
 # end of pam-auth-update config&lt;br /&gt;
 &lt;br /&gt;
 # Make sure the user is up to date. System accounts and syscom are exempt.&lt;br /&gt;
 account [success=2 default=ignore]     pam_succeed_if.so quiet uid &amp;lt; 10000&lt;br /&gt;
 account [success=1 default=ignore]     pam_succeed_if.so quiet user ingroup syscom&lt;br /&gt;
 account required        pam_csc.so&lt;br /&gt;
&lt;br /&gt;
This file is notably different on syscom-only hosts. Look at an existing syscom-only host to see the difference.&lt;br /&gt;
&lt;br /&gt;
Alter &amp;lt;tt&amp;gt;/etc/default/nfs-common&amp;lt;/tt&amp;gt; to enable &amp;lt;tt&amp;gt;statd&amp;lt;/tt&amp;gt;, and more importantly &amp;lt;tt&amp;gt;gssd&amp;lt;/tt&amp;gt; (needed for Kerberos NFS mounts). Start both daemons manually for now.&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;/music&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; (as appropriate for the machine&#039;s role), make their mount points and mount them. Note that &amp;lt;tt&amp;gt;/music&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; are sec=sys whereas /users is sec=krb5 (with exceptions granted on a case-by-case basis for servers only, office terminals are always sec=krb5 for security reasons).&lt;br /&gt;
&lt;br /&gt;
To allow single sign-on as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; (primarily useful for pushing files to all machines simultaneously), put the following in &amp;lt;tt&amp;gt;/root/.k5login&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 sysadmin/admin@CSCLUB.UWATERLOO.CA&lt;br /&gt;
&lt;br /&gt;
Also copy the following files from another CSC host:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_config&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/ssh/sshd_config&amp;lt;/tt&amp;gt; (for single sign-on)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_known_hosts&amp;lt;/tt&amp;gt; (to remove hostkey warnings within our network)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/hosts&amp;lt;/tt&amp;gt; (for host tab completion and emergency name resolution)&lt;br /&gt;
&lt;br /&gt;
=== Display Manager ===&lt;br /&gt;
&lt;br /&gt;
LightDM (with unity-greeter) is the current display manager of choice for CSC office terminals. Copy &amp;lt;tt&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/lightdm/users.conf&amp;lt;/tt&amp;gt; from another CSC machine to configure it properly. If kdm or another display manager gets installed, please ensure that you continue to choose LightDM as the default display manager.&lt;br /&gt;
&lt;br /&gt;
Please leave AccountsService enabled, as LightDM and certain parts of the GNOME packages work better when it is available.&lt;br /&gt;
&lt;br /&gt;
The Unity greeter configuration is now in gsettings. We currently have a novelty wallpaper configured. To configure this, copy &amp;lt;tt&amp;gt;/usr/local/share/backgrounds/tarkin.png&amp;lt;/tt&amp;gt; from another machine and run:&lt;br /&gt;
&lt;br /&gt;
 sudo -u lightdm dbus-launch gsettings set com.canonical.unity-greeter background /usr/local/share/backgrounds/tarkin.png&lt;br /&gt;
&lt;br /&gt;
=== Tweaks ===&lt;br /&gt;
&lt;br /&gt;
On Ubuntu precise, even when &amp;lt;tt&amp;gt;gnome-keyring&amp;lt;/tt&amp;gt; is uninstalled, it leaves a config file behind that causes error messages. Remove &amp;lt;tt&amp;gt;/etc/pkcs11/modules/gnome-keyring-module&amp;lt;/tt&amp;gt; to fix this.&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
You probably already created the host in the University IPAM system beforehand. If not, please do so.&lt;br /&gt;
&lt;br /&gt;
Please also add the host to the [[Machine List]] here on the Wiki, and to &amp;lt;tt&amp;gt;/users/syscom/csc-machines&amp;lt;/tt&amp;gt; (and &amp;lt;tt&amp;gt;csc-office-machines&amp;lt;/tt&amp;gt;, if applicable).&lt;br /&gt;
&lt;br /&gt;
== Munin (System Monitoring) ==&lt;br /&gt;
&lt;br /&gt;
If the new machine is not a container, you probably want to have it participate in the Munin cluster. Run &amp;lt;tt&amp;gt;apt-get install munin-node&amp;lt;/tt&amp;gt; to install the monitoring client, then&lt;br /&gt;
edit the file /etc/munin/munin-node.conf. Look for a line that says &amp;lt;tt&amp;gt;allow ^127\.0\.0\.1$&amp;lt;/tt&amp;gt; and add the following on a new line immediately below it:&lt;br /&gt;
&amp;lt;tt&amp;gt;allow ^129\.97\.134\.51$&amp;lt;/tt&amp;gt; (this is the IP address for munin.csclub). Save the file, then &amp;lt;tt&amp;gt;/etc/init.d/munin-node restart&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;update-rc.d munin-node defaults&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then, ssh into munin.csclub and edit the file /etc/munin/munin.conf and add the following lines to the end:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[NEW-MACHINE-NAME.csclub] &amp;lt;br/&amp;gt;&lt;br /&gt;
addr 129.97.134.### &amp;lt;br /&amp;gt;&lt;br /&gt;
use_node_name yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= New Distribution =&lt;br /&gt;
&lt;br /&gt;
If you&#039;re adding a new distribution, there a couple of steps you&#039;ll need to take in updating the CSClub Debian repository on [[Machine_List#sodium_benzoate|sodium-benzoate/mirror]]. &lt;br /&gt;
&lt;br /&gt;
The steps to add a new Debian release (in the examples, jessie) is as follows, modify as necessary:&lt;br /&gt;
&lt;br /&gt;
=== Step 0: Create a GPG key ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;gpg --gen-key&amp;quot; or something like that. Skip this if you already have one.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Add to Uploaders ===&lt;br /&gt;
&lt;br /&gt;
The /srv/debian/conf/uploaders file on mirror contains the list of people who can upload. Add your GPG key id to this file.  Use &amp;quot;gpg --list-secret-keys&amp;quot; to find out the key ID. You also need to import your key into the mirror&#039;s gpg homedir as follows:&lt;br /&gt;
&lt;br /&gt;
 gpg --export $KEYID | sudo env GNUPGHOME=/srv/debian/gpg gpg --import&lt;br /&gt;
&lt;br /&gt;
You only need to do this step once.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Add Distro ===&lt;br /&gt;
&lt;br /&gt;
Add a new section to /srv/debian/conf/distributions:&lt;br /&gt;
&lt;br /&gt;
 Origin: CSC&lt;br /&gt;
 Label: Debian&lt;br /&gt;
 Codename: &#039;&#039;&#039;jessie&#039;&#039;&#039;&lt;br /&gt;
 Architectures: alpha amd64 i386 mips mipsel sparc powerpc armel source&lt;br /&gt;
 Components: main contrib non-free&lt;br /&gt;
 Uploaders: uploaders&lt;br /&gt;
 Update: dell chrome&lt;br /&gt;
 SignWith: yes&lt;br /&gt;
 Log: jessie.log&lt;br /&gt;
  --changes notifier&lt;br /&gt;
&lt;br /&gt;
And update the &#039;&#039;&#039;Allow&#039;&#039;&#039; line in /srv/debian/conf/incoming:&lt;br /&gt;
&lt;br /&gt;
 Allow: &#039;&#039;&#039;jessie&amp;gt;jessie&#039;&#039;&#039; oldstable&amp;gt;squeeze stable&amp;gt;wheezy lucid&amp;gt;lucid maverick&amp;gt;maverick oneiric&amp;gt;oneiric precise&amp;gt;precise quantal&amp;gt;quantal&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Update from Sources ===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 sudo env GNUPGHOME=/srv/debian/gpg rrr-update&lt;br /&gt;
&lt;br /&gt;
If all went well you should see the new distribution listed at http://debian.csclub.uwaterloo.ca/dists/&lt;br /&gt;
&lt;br /&gt;
=== Step 4: CSC Packages ===&lt;br /&gt;
&lt;br /&gt;
Now that we&#039;ve got our new distribution set up we need to generate our packages and have them uploaded. Namely, ceo, libpam-csc &amp;amp; inapt. Using libpam-csc as an example:&lt;br /&gt;
&lt;br /&gt;
Get the package:&lt;br /&gt;
&lt;br /&gt;
 git clone ~git/public/libpam-csc.git&lt;br /&gt;
 cd libpam-csc&lt;br /&gt;
&lt;br /&gt;
Update change log:&lt;br /&gt;
&lt;br /&gt;
 EMAIL=[you]@csclub.uwaterloo.ca NAME=&amp;quot;Your Name&amp;quot; dch -i&lt;br /&gt;
&lt;br /&gt;
Update as necessary, i.e:&lt;br /&gt;
&lt;br /&gt;
 libpam-csc (1.10&#039;&#039;&#039;jessie0&#039;&#039;&#039;) &#039;&#039;&#039;jessie&#039;&#039;&#039;; urgency=low&lt;br /&gt;
 &lt;br /&gt;
   * Packaging for jessie.&lt;br /&gt;
 &lt;br /&gt;
  -- Your Name &amp;lt;[you]@csclub.uwaterloo.ca&amp;gt;  Thu, 10 Oct 2013 22:08:48 -0400&lt;br /&gt;
&lt;br /&gt;
Build! (You may need to install various dependencies, which it will yell at you if you don&#039;t have.)&lt;br /&gt;
&lt;br /&gt;
 debuild -k&#039;&#039;&#039;YOURKEYID&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Yay, it built now let&#039;s upload it to the repo. The build process which create a PACKAGE.changes file in the parent directory (replace PACKAGE with the actual package name).&lt;br /&gt;
&lt;br /&gt;
 dupload libpam-csc_1.10jessie0_amd64.changes&lt;br /&gt;
&lt;br /&gt;
Finally, log into mirror and type &amp;quot;sudo rrr-incoming&amp;quot;. This is supposed to happen once every few minutes however it is always faster to run it manually.&lt;br /&gt;
&lt;br /&gt;
And you&#039;re done. Just repeat the previous bit for other csc packages.&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3518</id>
		<title>New CSC Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3518"/>
		<updated>2013-10-11T03:32:59Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* New Distribution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Booting =&lt;br /&gt;
&lt;br /&gt;
* Put the TFTP image in place (if dist-arch pair installed before, you may skip this).&lt;br /&gt;
e.g. extract http://mirror.csclub.uwaterloo.ca/ubuntu/dists/oneiric/main/installer-amd64/current/images/netboot/netboot.tar.gz to caffeine:/srv/tftp/oneiric-amd64&lt;br /&gt;
&lt;br /&gt;
* Configure DHCP server; see caffeine:/etc/dhcp/dhcpd.conf. This allow caffeine to identify the host by its MAC address and give it the correct IP and boot image. e.g.&lt;br /&gt;
 host bit-shifter {&lt;br /&gt;
   hardware ethernet 6C:F0:49:08:49:48;&lt;br /&gt;
   fixed-address 129.97.134.111;&lt;br /&gt;
   next-server 129.97.134.17;&lt;br /&gt;
   filename &amp;quot;raring-amd64/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Force network boot in the BIOS. This may be called &amp;quot;Legacy LAN&amp;quot; or other such cryptic things. If this doesn&#039;t work, boot from CD or USB instead.&lt;br /&gt;
&lt;br /&gt;
It is preferred to use the &amp;quot;alternate&amp;quot; Ubuntu installer image, based on debian-installer, instead of the Ubiquity installer. This installer supports software RAID and LVM out of the box, and will generally make your life easier. If installing Debian, this is the usual installer, so don&#039;t sweat it.&lt;br /&gt;
&lt;br /&gt;
= Installing =&lt;br /&gt;
&lt;br /&gt;
== debian-installer ==&lt;br /&gt;
&lt;br /&gt;
At least in expert mode, you can choose a custom mirror (top of the countries list) and give the path for mirror directly. This will make installation super-fast compared to installing from anywhere else.&lt;br /&gt;
&lt;br /&gt;
Please install to LVM volumes, as this is our standard configuration on all machines where possible. It allows more flexible partitioning across available volumes. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
You may enable unattended upgrades, but do not enable Canonical&#039;s remote management service or any such nonsense. This is mostly a straightforward Debian/Ubuntu install.&lt;br /&gt;
&lt;br /&gt;
== Ubiquity ==&lt;br /&gt;
&lt;br /&gt;
Ubiquity is the Ubuntu GUI installer. For it to have lvm support, run:&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
If you still can&#039;t see the partitions (even if lvscan sees them, but no devices exist), run &amp;lt;tt&amp;gt;vgscan&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;vgchange -ay&amp;lt;/tt&amp;gt; as root. Now the partitioner should be able to see them. We prefer to use LVM for partitions. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
After installing with Ubiquity, you must also add LVM support to the newly installed system, and in particular its initramfs.&lt;br /&gt;
&lt;br /&gt;
 mount /dev/vg0/root /mnt&lt;br /&gt;
 mount /dev/sda1 /mnt/boot&lt;br /&gt;
 chroot /mnt&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
You should see an update-initramfs update. Reboot.&lt;br /&gt;
&lt;br /&gt;
= After Installing =&lt;br /&gt;
&lt;br /&gt;
Add the new machine&#039;s ip to /etc/hosts and propagate to all other machines (~syscom/bin/alldist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== apt ==&lt;br /&gt;
&lt;br /&gt;
If you did not during installation, change all references in &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; to use &amp;lt;tt&amp;gt;mirror&amp;lt;/tt&amp;gt; instead of the usual mirrors.&lt;br /&gt;
&lt;br /&gt;
Also add support for the CSC packages. Add the following to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/csclub.list&amp;lt;/tt&amp;gt; (or copy from another host):&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
 deb-src http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need the CSC archive signing key (if &amp;lt;tt&amp;gt;curl&amp;lt;/tt&amp;gt; is not installed, install it).&lt;br /&gt;
 curl -s http://debian.csclub.uwaterloo.ca/csclub.asc | apt-key add -&lt;br /&gt;
&lt;br /&gt;
If you are running Debian, our package list installs some cross-compilers that are in the Emdebian repository. Install the package &amp;lt;tt&amp;gt;emdebian-archive-keyring&amp;lt;/tt&amp;gt; and then add the following entry to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/emdebian.list&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 deb http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
 deb-src http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
&lt;br /&gt;
You should now run &amp;lt;tt&amp;gt;apt-get update&amp;lt;/tt&amp;gt; to reflect these changes.&lt;br /&gt;
&lt;br /&gt;
Next, install &amp;lt;tt&amp;gt;inapt&amp;lt;/tt&amp;gt; (it is in the CSC Debian archive). If it hasn&#039;t previously been built for the current platform, clone and build it (TODO: describe how to do this).&lt;br /&gt;
&lt;br /&gt;
Clone &amp;lt;tt&amp;gt;~git/public/packages.git&amp;lt;/tt&amp;gt;, update it if necessary (notably updating &amp;lt;tt&amp;gt;nodes.ia&amp;lt;/tt&amp;gt; to reflect the distribution and role of the machine), then run:&lt;br /&gt;
 inapt *.ia&lt;br /&gt;
&lt;br /&gt;
(Due to a bug, if a warning is thrown, this will segfault. Until fixed, just temporarily remove whatever packages it complains about from the list.)&lt;br /&gt;
&lt;br /&gt;
Warning: this will take a long time due to the large number of packages being installed. Some of the below can be done once the relevant packages are installed, but while other packages are still being installed.&lt;br /&gt;
&lt;br /&gt;
Note that inapt current uninstalls NetworkManager, which is what Ubuntu uses by default to configure the network. Once this completes, open &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; and set up a static networking configuration (otherwise, networking will not come back up on reboot). It should look something like this:&lt;br /&gt;
&lt;br /&gt;
 # This file describes the network interfaces available on your system&lt;br /&gt;
 # and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
 &lt;br /&gt;
 # The loopback network interface&lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 # The primary network interface&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
         address 129.97.134.xxx&lt;br /&gt;
         netmask 255.255.255.0&lt;br /&gt;
         gateway 129.97.134.1&lt;br /&gt;
         network 129.97.134.0&lt;br /&gt;
         broadcast 129.97.134.255&lt;br /&gt;
         dns-nameservers 129.97.2.1 129.97.47.5 129.97.47.6&lt;br /&gt;
         dns-search csclub.uwaterloo.ca uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
For unattended upgrades in the future, install the &amp;lt;tt&amp;gt;unattended-upgrades&amp;lt;/tt&amp;gt; package and copy &amp;lt;tt&amp;gt;/etc/apt/apt.conf&amp;lt;/tt&amp;gt; from another host.&lt;br /&gt;
&lt;br /&gt;
== Keys ==&lt;br /&gt;
&lt;br /&gt;
If this is a reinstall of an existing host, copy back the SSH host keys and &amp;lt;tt&amp;gt;/etc/krb5.keytab&amp;lt;/tt&amp;gt; from its former incarnation. Otherwise, create a new Kerberos principal and copy the keytab over, as follows (run from the host in question):&lt;br /&gt;
 kadmin -p sysadmin/admin   # or any other admin principal; the password for this one is the usual root password&lt;br /&gt;
 addprinc -randkey host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
 ktadd host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
This will generate a new principal (you can skip this step if one already exists) and add it to the local Kerberos keytab.&lt;br /&gt;
&lt;br /&gt;
Also copy &amp;lt;tt&amp;gt;/etc/ssl/certs/GlobalSign_Intermediate_Root.pem&amp;lt;/tt&amp;gt; from another host, as many of our services use a certificate issued by this CA.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
The following config files are needed to work in the CSC environment (examples given below for an office terminal; perhaps refer to another host if preferred).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nsswitch.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nsswitch.conf&lt;br /&gt;
 #&lt;br /&gt;
 # Example configuration of GNU Name Service Switch functionality.&lt;br /&gt;
 # If you have the `glibc-doc-reference&#039; and `info&#039; packages installed, try:&lt;br /&gt;
 # `info libc &amp;quot;Name Service Switch&amp;quot;&#039; for information about this file.&lt;br /&gt;
 &lt;br /&gt;
 passwd:         files ldap&lt;br /&gt;
 group:          files ldap&lt;br /&gt;
 shadow:         files ldap&lt;br /&gt;
 sudoers:        files ldap&lt;br /&gt;
 &lt;br /&gt;
 hosts:          files dns&lt;br /&gt;
 networks:       files&lt;br /&gt;
 &lt;br /&gt;
 protocols:      db files&lt;br /&gt;
 services:       db files&lt;br /&gt;
 ethers:         db files&lt;br /&gt;
 rpc:            db files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/ldap/ldap.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # LDAP Defaults&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # See ldap.conf(5) for details&lt;br /&gt;
 # This file should be world readable but not world writable.&lt;br /&gt;
 &lt;br /&gt;
 BASE   dc=csclub, dc=uwaterloo, dc=ca&lt;br /&gt;
 URI     ldap://ldap1.csclub.uwaterloo.ca ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 SIZELIMIT      0&lt;br /&gt;
 &lt;br /&gt;
 TLS_CACERT      /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 TLS_CACERTFILE /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 &lt;br /&gt;
 SUDOERS_BASE    ou=SUDOers,dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
&lt;br /&gt;
(On Debian, also copy &amp;lt;tt&amp;gt;/etc/sudo-ldap.conf&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nslcd.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nslcd.conf&lt;br /&gt;
 # nslcd configuration file. See nslcd.conf(5)&lt;br /&gt;
 # for details.&lt;br /&gt;
 &lt;br /&gt;
 # The user and group nslcd should run as.&lt;br /&gt;
 uid nslcd&lt;br /&gt;
 gid nslcd&lt;br /&gt;
 &lt;br /&gt;
 # The location at which the LDAP server(s) should be reachable.&lt;br /&gt;
 uri ldap://ldap1.csclub.uwaterloo.ca&lt;br /&gt;
 uri ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 # The search base that will be used for all queries.&lt;br /&gt;
 base dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
 &lt;br /&gt;
 # use the uniqueMember attribute for group membership&lt;br /&gt;
 # (not applicable on Debian squeeze)&lt;br /&gt;
 map group member uniqueMember&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/krb5.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 [libdefaults]&lt;br /&gt;
         default_realm = CSCLUB.UWATERLOO.CA&lt;br /&gt;
         forwardable = true&lt;br /&gt;
         proxiable = true&lt;br /&gt;
         dns_lookup_kdc = false&lt;br /&gt;
         dns_lookup_realm = false&lt;br /&gt;
 &lt;br /&gt;
 [realms]&lt;br /&gt;
         CSCLUB.UWATERLOO.CA = {&lt;br /&gt;
                 kdc = kdc1.csclub.uwaterloo.ca&lt;br /&gt;
                 kdc = kdc2.csclub.uwaterloo.ca&lt;br /&gt;
                 admin_server = kadmin.csclub.uwaterloo.ca&lt;br /&gt;
         }&lt;br /&gt;
 (rest omitted for brevity)&lt;br /&gt;
&lt;br /&gt;
Update: &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is basically a no-op in recent Kerberos versions - but this is not a problem as any linux kernel with version &amp;gt;= 2.6.38.2 can use any cipher available to the kernel to grab tickets from the KDC for the purpose of NFS sec=krb5. Notably, this means you can use ciphersuites less craptastic than des-cbc-crc (the only one that used to work prior to this kernel revision) for NFS sec=krb5 mounts. Therefore, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; has been removed from /etc/krb5.conf on all our machines.&lt;br /&gt;
&lt;br /&gt;
Furthermore, the lines &amp;lt;tt&amp;gt;dns_lookup_kdc&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dns_lookup_realm&amp;lt;/tt&amp;gt; have been added - they are needed to stop the KDC from basically throwing a shitfit if IST&#039;s DNS servers ever explode - an event that has happened in the recent past far more often than I&#039;d like it to.&lt;br /&gt;
&lt;br /&gt;
Notably, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is currently needed to mount &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt; (/music and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; is sec=sys and thus will always mount, even when krb5 is down and/or broken). Otherwise, you will get a mysterious &amp;quot;permission denied&amp;quot; error (even though the server claims to have authenticated the mount successfully).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/pam.d/common-account&amp;lt;/tt&amp;gt;&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/pam.d/common-account - authorization settings common to all services&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # here are the per-package modules (the &amp;quot;Primary&amp;quot; block)&lt;br /&gt;
 account        [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so &lt;br /&gt;
 # here&#039;s the fallback if no module succeeds&lt;br /&gt;
 account        requisite                       pam_deny.so&lt;br /&gt;
 # prime the stack with a positive return value if there isn&#039;t one already;&lt;br /&gt;
 # this avoids us returning an error just because nothing sets a success code&lt;br /&gt;
 # since the modules above will each just jump around&lt;br /&gt;
 account        required                        pam_permit.so&lt;br /&gt;
 # and here are more per-package modules (the &amp;quot;Additional&amp;quot; block)&lt;br /&gt;
 account        required                        pam_krb5.so minimum_uid=10000&lt;br /&gt;
 # end of pam-auth-update config&lt;br /&gt;
 &lt;br /&gt;
 # Make sure the user is up to date. System accounts and syscom are exempt.&lt;br /&gt;
 account [success=2 default=ignore]     pam_succeed_if.so quiet uid &amp;lt; 10000&lt;br /&gt;
 account [success=1 default=ignore]     pam_succeed_if.so quiet user ingroup syscom&lt;br /&gt;
 account required        pam_csc.so&lt;br /&gt;
&lt;br /&gt;
This file is notably different on syscom-only hosts. Look at an existing syscom-only host to see the difference.&lt;br /&gt;
&lt;br /&gt;
Alter &amp;lt;tt&amp;gt;/etc/default/nfs-common&amp;lt;/tt&amp;gt; to enable &amp;lt;tt&amp;gt;statd&amp;lt;/tt&amp;gt;, and more importantly &amp;lt;tt&amp;gt;gssd&amp;lt;/tt&amp;gt; (needed for Kerberos NFS mounts). Start both daemons manually for now.&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;/music&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; (as appropriate for the machine&#039;s role), make their mount points and mount them. Note that &amp;lt;tt&amp;gt;/music&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; are sec=sys whereas /users is sec=krb5 (with exceptions granted on a case-by-case basis for servers only, office terminals are always sec=krb5 for security reasons).&lt;br /&gt;
&lt;br /&gt;
To allow single sign-on as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; (primarily useful for pushing files to all machines simultaneously), put the following in &amp;lt;tt&amp;gt;/root/.k5login&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 sysadmin/admin@CSCLUB.UWATERLOO.CA&lt;br /&gt;
&lt;br /&gt;
Also copy the following files from another CSC host:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_config&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/ssh/sshd_config&amp;lt;/tt&amp;gt; (for single sign-on)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_known_hosts&amp;lt;/tt&amp;gt; (to remove hostkey warnings within our network)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/hosts&amp;lt;/tt&amp;gt; (for host tab completion and emergency name resolution)&lt;br /&gt;
&lt;br /&gt;
=== Display Manager ===&lt;br /&gt;
&lt;br /&gt;
LightDM (with unity-greeter) is the current display manager of choice for CSC office terminals. Copy &amp;lt;tt&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/lightdm/users.conf&amp;lt;/tt&amp;gt; from another CSC machine to configure it properly. If kdm or another display manager gets installed, please ensure that you continue to choose LightDM as the default display manager.&lt;br /&gt;
&lt;br /&gt;
Please leave AccountsService enabled, as LightDM and certain parts of the GNOME packages work better when it is available.&lt;br /&gt;
&lt;br /&gt;
The Unity greeter configuration is now in gsettings. We currently have a novelty wallpaper configured. To configure this, copy &amp;lt;tt&amp;gt;/usr/local/share/backgrounds/tarkin.png&amp;lt;/tt&amp;gt; from another machine and run:&lt;br /&gt;
&lt;br /&gt;
 sudo -u lightdm dbus-launch gsettings set com.canonical.unity-greeter background /usr/local/share/backgrounds/tarkin.png&lt;br /&gt;
&lt;br /&gt;
=== Tweaks ===&lt;br /&gt;
&lt;br /&gt;
On Ubuntu precise, even when &amp;lt;tt&amp;gt;gnome-keyring&amp;lt;/tt&amp;gt; is uninstalled, it leaves a config file behind that causes error messages. Remove &amp;lt;tt&amp;gt;/etc/pkcs11/modules/gnome-keyring-module&amp;lt;/tt&amp;gt; to fix this.&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
You probably already created the host in the University IPAM system beforehand. If not, please do so.&lt;br /&gt;
&lt;br /&gt;
Please also add the host to the [[Machine List]] here on the Wiki, and to &amp;lt;tt&amp;gt;/users/syscom/csc-machines&amp;lt;/tt&amp;gt; (and &amp;lt;tt&amp;gt;csc-office-machines&amp;lt;/tt&amp;gt;, if applicable).&lt;br /&gt;
&lt;br /&gt;
== Munin (System Monitoring) ==&lt;br /&gt;
&lt;br /&gt;
If the new machine is not a container, you probably want to have it participate in the Munin cluster. Run &amp;lt;tt&amp;gt;apt-get install munin-node&amp;lt;/tt&amp;gt; to install the monitoring client, then&lt;br /&gt;
edit the file /etc/munin/munin-node.conf. Look for a line that says &amp;lt;tt&amp;gt;allow ^127\.0\.0\.1$&amp;lt;/tt&amp;gt; and add the following on a new line immediately below it:&lt;br /&gt;
&amp;lt;tt&amp;gt;allow ^129\.97\.134\.51$&amp;lt;/tt&amp;gt; (this is the IP address for munin.csclub). Save the file, then &amp;lt;tt&amp;gt;/etc/init.d/munin-node restart&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;update-rc.d munin-node defaults&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then, ssh into munin.csclub and edit the file /etc/munin/munin.conf and add the following lines to the end:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[NEW-MACHINE-NAME.csclub] &amp;lt;br/&amp;gt;&lt;br /&gt;
addr 129.97.134.### &amp;lt;br /&amp;gt;&lt;br /&gt;
use_node_name yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= New Distribution =&lt;br /&gt;
&lt;br /&gt;
If new distribution, create in conf/distributions AND conf/uploaders, and do rrr-update as well as rrr-incoming.&lt;br /&gt;
(TODO: expand this to describe building and pushing core CSC packages)&lt;br /&gt;
&lt;br /&gt;
If you&#039;re adding a new distribution, there a couple of steps you&#039;ll need to take in updating the CSClub Debian repository on [[Machine_List#sodium_benzoate|sodium-benzoate/mirror]]. &lt;br /&gt;
&lt;br /&gt;
The steps to add a new Debian release (in the examples, jessie) is as follows, modify as necessary:&lt;br /&gt;
&lt;br /&gt;
=== Step 0: Create a GPG key ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;gpg --gen-key&amp;quot; or something like that. Skip this if you already have one.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Add to Uploaders ===&lt;br /&gt;
&lt;br /&gt;
The /srv/debian/conf/uploaders file on mirror contains the list of people who can upload. Add your GPG key id to this file.  Use &amp;quot;gpg --list-secret-keys&amp;quot; to find out the key ID. You also need to import your key into the mirror&#039;s gpg homedir as follows:&lt;br /&gt;
&lt;br /&gt;
 gpg --export $KEYID | sudo env GNUPGHOME=/srv/debian/gpg gpg --import&lt;br /&gt;
&lt;br /&gt;
You only need to do this step once.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Add Distro ===&lt;br /&gt;
&lt;br /&gt;
Add a new section to /srv/debian/conf/distributions:&lt;br /&gt;
&lt;br /&gt;
 Origin: CSC&lt;br /&gt;
 Label: Debian&lt;br /&gt;
 Codename: &#039;&#039;&#039;jessie&#039;&#039;&#039;&lt;br /&gt;
 Architectures: alpha amd64 i386 mips mipsel sparc powerpc armel source&lt;br /&gt;
 Components: main contrib non-free&lt;br /&gt;
 Uploaders: uploaders&lt;br /&gt;
 Update: dell chrome&lt;br /&gt;
 SignWith: yes&lt;br /&gt;
 Log: jessie.log&lt;br /&gt;
  --changes notifier&lt;br /&gt;
&lt;br /&gt;
And update the &#039;&#039;&#039;Allow&#039;&#039;&#039; line in /srv/debian/conf/incoming:&lt;br /&gt;
&lt;br /&gt;
 Allow: &#039;&#039;&#039;jessie&amp;gt;jessie&#039;&#039;&#039; oldstable&amp;gt;squeeze stable&amp;gt;wheezy lucid&amp;gt;lucid maverick&amp;gt;maverick oneiric&amp;gt;oneiric precise&amp;gt;precise quantal&amp;gt;quantal&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Update from Sources ===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 sudo env GNUPGHOME=/srv/debian/gpg rrr-update&lt;br /&gt;
&lt;br /&gt;
If all went well you should see the new distribution listed at http://debian.csclub.uwaterloo.ca/dists/&lt;br /&gt;
&lt;br /&gt;
=== Step 4: CSC Packages ===&lt;br /&gt;
&lt;br /&gt;
Now that we&#039;ve got our new distribution set up we need to generate our packages and have them uploaded. Namely, ceo, libpam-csc &amp;amp; inapt. Using libpam-csc as an example:&lt;br /&gt;
&lt;br /&gt;
Get the package:&lt;br /&gt;
&lt;br /&gt;
 git clone ~git/public/libpam-csc.git&lt;br /&gt;
 cd libpam-csc&lt;br /&gt;
&lt;br /&gt;
Update change log:&lt;br /&gt;
&lt;br /&gt;
 EMAIL=[you]@csclub.uwaterloo.ca NAME=&amp;quot;Your Name&amp;quot; dch -i&lt;br /&gt;
&lt;br /&gt;
Update as necessary, i.e:&lt;br /&gt;
&lt;br /&gt;
 libpam-csc (1.10&#039;&#039;&#039;jessie0&#039;&#039;&#039;) &#039;&#039;&#039;jessie&#039;&#039;&#039;; urgency=low&lt;br /&gt;
 &lt;br /&gt;
   * Packaging for jessie.&lt;br /&gt;
 &lt;br /&gt;
  -- Your Name &amp;lt;[you]@csclub.uwaterloo.ca&amp;gt;  Thu, 10 Oct 2013 22:08:48 -0400&lt;br /&gt;
&lt;br /&gt;
Build! (You may need to install various dependencies, which it will yell at you if you don&#039;t have.)&lt;br /&gt;
&lt;br /&gt;
 debuild -k&#039;&#039;&#039;YOURKEYID&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Yay, it built now let&#039;s upload it to the repo. The build process which create a PACKAGE.changes file in the parent directory (replace PACKAGE with the actual package name).&lt;br /&gt;
&lt;br /&gt;
 dupload libpam-csc_1.10jessie0_amd64.changes&lt;br /&gt;
&lt;br /&gt;
Finally, log into mirror and type &amp;quot;sudo rrr-incoming&amp;quot;. This is supposed to happen once every few minutes however it is always faster to run it manually.&lt;br /&gt;
&lt;br /&gt;
And you&#039;re done. Just repeat the previous bit for other csc packages.&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3384</id>
		<title>New CSC Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3384"/>
		<updated>2013-05-10T22:26:03Z</updated>

		<summary type="html">&lt;p&gt;Laden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Booting =&lt;br /&gt;
&lt;br /&gt;
* Put the TFTP image in place (if dist-arch pair installed before, you may skip this).&lt;br /&gt;
e.g. extract http://mirror.csclub.uwaterloo.ca/ubuntu/dists/oneiric/main/installer-amd64/current/images/netboot/netboot.tar.gz to caffeine:/srv/tftp/oneiric-amd64&lt;br /&gt;
&lt;br /&gt;
* Configure DHCP server; see caffeine:/etc/dhcp/dhcpd.conf. This allow caffeine to identify the host by its MAC address and give it the correct IP and boot image. e.g.&lt;br /&gt;
 host bit-shifter {&lt;br /&gt;
   hardware ethernet 6C:F0:49:08:49:48;&lt;br /&gt;
   fixed-address 129.97.134.111;&lt;br /&gt;
   next-server 129.97.134.17;&lt;br /&gt;
   filename &amp;quot;raring-amd64/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Force network boot in the BIOS. This may be called &amp;quot;Legacy LAN&amp;quot; or other such cryptic things. If this doesn&#039;t work, boot from CD or USB instead.&lt;br /&gt;
&lt;br /&gt;
It is preferred to use the &amp;quot;alternate&amp;quot; Ubuntu installer image, based on debian-installer, instead of the Ubiquity installer. This installer supports software RAID and LVM out of the box, and will generally make your life easier. If installing Debian, this is the usual installer, so don&#039;t sweat it.&lt;br /&gt;
&lt;br /&gt;
= Installing =&lt;br /&gt;
&lt;br /&gt;
== debian-installer ==&lt;br /&gt;
&lt;br /&gt;
At least in expert mode, you can choose a custom mirror (top of the countries list) and give the path for mirror directly. This will make installation super-fast compared to installing from anywhere else.&lt;br /&gt;
&lt;br /&gt;
Please install to LVM volumes, as this is our standard configuration on all machines where possible. It allows more flexible partitioning across available volumes. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
You may enable unattended upgrades, but do not enable Canonical&#039;s remote management service or any such nonsense. This is mostly a straightforward Debian/Ubuntu install.&lt;br /&gt;
&lt;br /&gt;
== Ubiquity ==&lt;br /&gt;
&lt;br /&gt;
Ubiquity is the Ubuntu GUI installer. For it to have lvm support, run:&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
If you still can&#039;t see the partitions (even if lvscan sees them, but no devices exist), run &amp;lt;tt&amp;gt;vgscan&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;vgchange -ay&amp;lt;/tt&amp;gt; as root. Now the partitioner should be able to see them. We prefer to use LVM for partitions. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
After installing with Ubiquity, you must also add LVM support to the newly installed system, and in particular its initramfs.&lt;br /&gt;
&lt;br /&gt;
 mount /dev/vg0/root /mnt&lt;br /&gt;
 mount /dev/sda1 /mnt/boot&lt;br /&gt;
 chroot /mnt&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
You should see an update-initramfs update. Reboot.&lt;br /&gt;
&lt;br /&gt;
= After Installing =&lt;br /&gt;
&lt;br /&gt;
Add the new machine&#039;s ip to /etc/hosts and propagate to all other machines (~syscom/bin/alldist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== apt ==&lt;br /&gt;
&lt;br /&gt;
If you did not during installation, change all references in &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; to use &amp;lt;tt&amp;gt;mirror&amp;lt;/tt&amp;gt; instead of the usual mirrors.&lt;br /&gt;
&lt;br /&gt;
Also add support for the CSC packages. Add the following to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/csclub.list&amp;lt;/tt&amp;gt; (or copy from another host):&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
 deb-src http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need the CSC archive signing key (if &amp;lt;tt&amp;gt;curl&amp;lt;/tt&amp;gt; is not installed, install it).&lt;br /&gt;
 curl -s http://debian.csclub.uwaterloo.ca/csclub.asc | apt-key add -&lt;br /&gt;
&lt;br /&gt;
If you are running Debian, our package list installs some cross-compilers that are in the Emdebian repository. Install the package &amp;lt;tt&amp;gt;emdebian-archive-keyring&amp;lt;/tt&amp;gt; and then add the following entry to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/emdebian.list&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 deb http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
 deb-src http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
&lt;br /&gt;
You should now run &amp;lt;tt&amp;gt;apt-get update&amp;lt;/tt&amp;gt; to reflect these changes.&lt;br /&gt;
&lt;br /&gt;
Next, install &amp;lt;tt&amp;gt;inapt&amp;lt;/tt&amp;gt; (it is in the CSC Debian archive). If it hasn&#039;t previously been built for the current platform, clone and build it (TODO: describe how to do this).&lt;br /&gt;
&lt;br /&gt;
Clone &amp;lt;tt&amp;gt;~git/public/packages.git&amp;lt;/tt&amp;gt;, update it if necessary (notably updating &amp;lt;tt&amp;gt;nodes.ia&amp;lt;/tt&amp;gt; to reflect the distribution and role of the machine), then run:&lt;br /&gt;
 inapt *.ia&lt;br /&gt;
&lt;br /&gt;
(Due to a bug, if a warning is thrown, this will segfault. Until fixed, just temporarily remove whatever packages it complains about from the list.)&lt;br /&gt;
&lt;br /&gt;
Warning: this will take a long time due to the large number of packages being installed. Some of the below can be done once the relevant packages are installed, but while other packages are still being installed.&lt;br /&gt;
&lt;br /&gt;
Note that inapt current uninstalls NetworkManager, which is what Ubuntu uses by default to configure the network. Once this completes, open &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; and set up a static networking configuration (otherwise, networking will not come back up on reboot). It should look something like this:&lt;br /&gt;
&lt;br /&gt;
 # This file describes the network interfaces available on your system&lt;br /&gt;
 # and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
 &lt;br /&gt;
 # The loopback network interface&lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 # The primary network interface&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
         address 129.97.134.xxx&lt;br /&gt;
         netmask 255.255.255.0&lt;br /&gt;
         gateway 129.97.134.1&lt;br /&gt;
         network 129.97.134.0&lt;br /&gt;
         broadcast 129.97.134.255&lt;br /&gt;
         dns-nameservers 129.97.2.1 129.97.47.5 129.97.47.6&lt;br /&gt;
         dns-search csclub.uwaterloo.ca uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
For unattended upgrades in the future, install the &amp;lt;tt&amp;gt;unattended-upgrades&amp;lt;/tt&amp;gt; package and copy &amp;lt;tt&amp;gt;/etc/apt/apt.conf&amp;lt;/tt&amp;gt; from another host.&lt;br /&gt;
&lt;br /&gt;
== Keys ==&lt;br /&gt;
&lt;br /&gt;
If this is a reinstall of an existing host, copy back the SSH host keys and &amp;lt;tt&amp;gt;/etc/krb5.keytab&amp;lt;/tt&amp;gt; from its former incarnation. Otherwise, create a new Kerberos principal and copy the keytab over, as follows (run from the host in question):&lt;br /&gt;
 kadmin -p sysadmin/admin   # or any other admin principal; the password for this one is the usual root password&lt;br /&gt;
 addprinc -randkey host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
 ktadd host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
This will generate a new principal (you can skip this step if one already exists) and add it to the local Kerberos keytab.&lt;br /&gt;
&lt;br /&gt;
Also copy &amp;lt;tt&amp;gt;/etc/ssl/certs/GlobalSign_Intermediate_Root.pem&amp;lt;/tt&amp;gt; from another host, as many of our services use a certificate issued by this CA.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
The following config files are needed to work in the CSC environment (examples given below for an office terminal; perhaps refer to another host if preferred).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nsswitch.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nsswitch.conf&lt;br /&gt;
 #&lt;br /&gt;
 # Example configuration of GNU Name Service Switch functionality.&lt;br /&gt;
 # If you have the `glibc-doc-reference&#039; and `info&#039; packages installed, try:&lt;br /&gt;
 # `info libc &amp;quot;Name Service Switch&amp;quot;&#039; for information about this file.&lt;br /&gt;
 &lt;br /&gt;
 passwd:         files ldap&lt;br /&gt;
 group:          files ldap&lt;br /&gt;
 shadow:         files ldap&lt;br /&gt;
 sudoers:        files ldap&lt;br /&gt;
 &lt;br /&gt;
 hosts:          files dns&lt;br /&gt;
 networks:       files&lt;br /&gt;
 &lt;br /&gt;
 protocols:      db files&lt;br /&gt;
 services:       db files&lt;br /&gt;
 ethers:         db files&lt;br /&gt;
 rpc:            db files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/ldap/ldap.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # LDAP Defaults&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # See ldap.conf(5) for details&lt;br /&gt;
 # This file should be world readable but not world writable.&lt;br /&gt;
 &lt;br /&gt;
 BASE   dc=csclub, dc=uwaterloo, dc=ca&lt;br /&gt;
 URI     ldap://ldap1.csclub.uwaterloo.ca ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 SIZELIMIT      0&lt;br /&gt;
 &lt;br /&gt;
 TLS_CACERT      /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 TLS_CACERTFILE /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 &lt;br /&gt;
 SUDOERS_BASE    ou=SUDOers,dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
&lt;br /&gt;
(On Debian, also copy &amp;lt;tt&amp;gt;/etc/sudo-ldap.conf&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nslcd.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nslcd.conf&lt;br /&gt;
 # nslcd configuration file. See nslcd.conf(5)&lt;br /&gt;
 # for details.&lt;br /&gt;
 &lt;br /&gt;
 # The user and group nslcd should run as.&lt;br /&gt;
 uid nslcd&lt;br /&gt;
 gid nslcd&lt;br /&gt;
 &lt;br /&gt;
 # The location at which the LDAP server(s) should be reachable.&lt;br /&gt;
 uri ldap://ldap1.csclub.uwaterloo.ca&lt;br /&gt;
 uri ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 # The search base that will be used for all queries.&lt;br /&gt;
 base dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
 &lt;br /&gt;
 # use the uniqueMember attribute for group membership&lt;br /&gt;
 # (not applicable on Debian squeeze)&lt;br /&gt;
 map group member uniqueMember&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/krb5.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 [libdefaults]&lt;br /&gt;
         default_realm = CSCLUB.UWATERLOO.CA&lt;br /&gt;
         forwardable = true&lt;br /&gt;
         proxiable = true&lt;br /&gt;
         dns_lookup_kdc = false&lt;br /&gt;
         dns_lookup_realm = false&lt;br /&gt;
 &lt;br /&gt;
 [realms]&lt;br /&gt;
         CSCLUB.UWATERLOO.CA = {&lt;br /&gt;
                 kdc = kdc1.csclub.uwaterloo.ca&lt;br /&gt;
                 kdc = kdc2.csclub.uwaterloo.ca&lt;br /&gt;
                 admin_server = kadmin.csclub.uwaterloo.ca&lt;br /&gt;
         }&lt;br /&gt;
 (rest omitted for brevity)&lt;br /&gt;
&lt;br /&gt;
Update: &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is basically a no-op in recent Kerberos versions - but this is not a problem as any linux kernel with version &amp;gt;= 2.6.38.2 can use any cipher available to the kernel to grab tickets from the KDC for the purpose of NFS sec=krb5. Notably, this means you can use ciphersuites less craptastic than des-cbc-crc (the only one that used to work prior to this kernel revision) for NFS sec=krb5 mounts. Therefore, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; has been removed from /etc/krb5.conf on all our machines.&lt;br /&gt;
&lt;br /&gt;
Furthermore, the lines &amp;lt;tt&amp;gt;dns_lookup_kdc&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dns_lookup_realm&amp;lt;/tt&amp;gt; have been added - they are needed to stop the KDC from basically throwing a shitfit if IST&#039;s DNS servers ever explode - an event that has happened in the recent past far more often than I&#039;d like it to.&lt;br /&gt;
&lt;br /&gt;
Notably, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is currently needed to mount &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt; (though oddly, not &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt;. /music is sec=sys and thus will always mount, even when krb5 is down and/or broken). Otherwise, you will get a mysterious &amp;quot;permission denied&amp;quot; error (even though the server claims to have authenticated the mount successfully).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/pam.d/common-account&amp;lt;/tt&amp;gt;&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/pam.d/common-account - authorization settings common to all services&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # here are the per-package modules (the &amp;quot;Primary&amp;quot; block)&lt;br /&gt;
 account        [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so &lt;br /&gt;
 # here&#039;s the fallback if no module succeeds&lt;br /&gt;
 account        requisite                       pam_deny.so&lt;br /&gt;
 # prime the stack with a positive return value if there isn&#039;t one already;&lt;br /&gt;
 # this avoids us returning an error just because nothing sets a success code&lt;br /&gt;
 # since the modules above will each just jump around&lt;br /&gt;
 account        required                        pam_permit.so&lt;br /&gt;
 # and here are more per-package modules (the &amp;quot;Additional&amp;quot; block)&lt;br /&gt;
 account        required                        pam_krb5.so minimum_uid=10000&lt;br /&gt;
 # end of pam-auth-update config&lt;br /&gt;
 &lt;br /&gt;
 # Make sure the user is up to date. System accounts and syscom are exempt.&lt;br /&gt;
 account [success=2 default=ignore]     pam_succeed_if.so quiet uid &amp;lt; 10000&lt;br /&gt;
 account [success=1 default=ignore]     pam_succeed_if.so quiet user ingroup syscom&lt;br /&gt;
 account required        pam_csc.so&lt;br /&gt;
&lt;br /&gt;
This file is notably different on syscom-only hosts. Look at an existing syscom-only host to see the difference.&lt;br /&gt;
&lt;br /&gt;
Alter &amp;lt;tt&amp;gt;/etc/default/nfs-common&amp;lt;/tt&amp;gt; to enable &amp;lt;tt&amp;gt;statd&amp;lt;/tt&amp;gt;, and more importantly &amp;lt;tt&amp;gt;gssd&amp;lt;/tt&amp;gt; (needed for Kerberos NFS mounts). Start both daemons manually for now.&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;/music&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; (as appropriate for the machine&#039;s role), make their mount points and mount them. Note that /music is sec=sys whereas /users and /scratch are both sec=krb5 (with exceptions granted on a case-by-case basis for servers only, office terminals are always sec=krb5 for security reasons).&lt;br /&gt;
&lt;br /&gt;
To allow single sign-on as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; (primarily useful for pushing files to all machines simultaneously), put the following in &amp;lt;tt&amp;gt;/root/.k5login&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 sysadmin/admin@CSCLUB.UWATERLOO.CA&lt;br /&gt;
&lt;br /&gt;
Also copy the following files from another CSC host:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_config&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/ssh/sshd_config&amp;lt;/tt&amp;gt; (for single sign-on)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_known_hosts&amp;lt;/tt&amp;gt; (to remove hostkey warnings within our network)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/hosts&amp;lt;/tt&amp;gt; (for host tab completion and emergency name resolution)&lt;br /&gt;
&lt;br /&gt;
=== Display Manager ===&lt;br /&gt;
&lt;br /&gt;
LightDM (with unity-greeter) is the current display manager of choice for CSC office terminals. Copy &amp;lt;tt&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/lightdm/users.conf&amp;lt;/tt&amp;gt; from another CSC machine to configure it properly. If kdm or another display manager gets installed, please ensure that you continue to choose LightDM as the default display manager.&lt;br /&gt;
&lt;br /&gt;
Please leave AccountsService enabled, as LightDM and certain parts of the GNOME packages work better when it is available.&lt;br /&gt;
&lt;br /&gt;
The Unity greeter configuration is now in gsettings. We currently have a novelty wallpaper configured. To configure this, copy &amp;lt;tt&amp;gt;/usr/local/share/backgrounds/tarkin.png&amp;lt;/tt&amp;gt; from another machine and run:&lt;br /&gt;
&lt;br /&gt;
 sudo -u lightdm dbus-launch gsettings set com.canonical.unity-greeter background /usr/local/share/backgrounds/tarkin.png&lt;br /&gt;
&lt;br /&gt;
=== Tweaks ===&lt;br /&gt;
&lt;br /&gt;
On Ubuntu precise, even when &amp;lt;tt&amp;gt;gnome-keyring&amp;lt;/tt&amp;gt; is uninstalled, it leaves a config file behind that causes error messages. Remove &amp;lt;tt&amp;gt;/etc/pkcs11/modules/gnome-keyring-module&amp;lt;/tt&amp;gt; to fix this.&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
You probably already created the host in the University IPAM system beforehand. If not, please do so.&lt;br /&gt;
&lt;br /&gt;
Please also add the host to the [[Machine List]] here on the Wiki, and to &amp;lt;tt&amp;gt;/users/syscom/csc-machines&amp;lt;/tt&amp;gt; (and &amp;lt;tt&amp;gt;csc-office-machines&amp;lt;/tt&amp;gt;, if applicable).&lt;br /&gt;
&lt;br /&gt;
= New Distribution =&lt;br /&gt;
&lt;br /&gt;
If new distribution, create in conf/distributions AND conf/uploaders, and do rrr-update as well as rrr-incoming.&lt;br /&gt;
(TODO: expand this to describe building and pushing core CSC packages)&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Sunlight&amp;diff=3328</id>
		<title>Sunlight</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Sunlight&amp;diff=3328"/>
		<updated>2012-10-25T21:47:45Z</updated>

		<summary type="html">&lt;p&gt;Laden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On occasion, sunlight reflects off the DC, through mathsoc, into the CSC.&lt;br /&gt;
&lt;br /&gt;
On 11 July, 2012, sunlight was observed at 4:08 PM.&lt;br /&gt;
&lt;br /&gt;
On 25 October, 2012, sunlight was observed at 5:45 PM.&lt;br /&gt;
&lt;br /&gt;
==geometry==&lt;br /&gt;
&lt;br /&gt;
The square of light in the CSC was approximately 15cm high by 20cm wide.  It was approximately 150cm off the floor.  These are from memory, and need to be re-confirmed. I believe the CSC door being partly open was restricting the width of the square.&lt;br /&gt;
&lt;br /&gt;
Measurements:&lt;br /&gt;
 * 162 cm top 177 cm.  32 cm wide 5:13 pm Sept 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although solar alignments are not uncommon among passage graves, the [[University of Waterloo Computer Science Club]] is one of few to contain the additional roofbox feature ([[Cairn G]] at [[Carrowkeel Megalithic Cemetery]] is another, and it has been suggested that one can be found at [[Bryn Celli Ddu]].). The alignment is such that although the roofbox is above the passage entrance, the light hits the floor of the inner chamber. Today the first light enters about four minutes after sunrise, but calculations based on the precession of the Earth show that 5,000 years ago first light would have entered exactly at sunrise.&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Sunlight&amp;diff=3327</id>
		<title>Sunlight</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Sunlight&amp;diff=3327"/>
		<updated>2012-10-25T21:47:20Z</updated>

		<summary type="html">&lt;p&gt;Laden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On occasion, sunlight reflects off the DC, through mathsoc, into the CSC.&lt;br /&gt;
&lt;br /&gt;
On 11 July, 2012, sunlight was observed at 4:08 PM.&lt;br /&gt;
On 25 October, 2012, sunlight was observed at 5:45 PM.&lt;br /&gt;
&lt;br /&gt;
==geometry==&lt;br /&gt;
&lt;br /&gt;
The square of light in the CSC was approximately 15cm high by 20cm wide.  It was approximately 150cm off the floor.  These are from memory, and need to be re-confirmed. I believe the CSC door being partly open was restricting the width of the square.&lt;br /&gt;
&lt;br /&gt;
Measurements:&lt;br /&gt;
 * 162 cm top 177 cm.  32 cm wide 5:13 pm Sept 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although solar alignments are not uncommon among passage graves, the [[University of Waterloo Computer Science Club]] is one of few to contain the additional roofbox feature ([[Cairn G]] at [[Carrowkeel Megalithic Cemetery]] is another, and it has been suggested that one can be found at [[Bryn Celli Ddu]].). The alignment is such that although the roofbox is above the passage entrance, the light hits the floor of the inner chamber. Today the first light enters about four minutes after sunrise, but calculations based on the precession of the Earth show that 5,000 years ago first light would have entered exactly at sunrise.&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Machine_List&amp;diff=3306</id>
		<title>Machine List</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Machine_List&amp;diff=3306"/>
		<updated>2012-09-19T23:50:27Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* nullsleep */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Servers =&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;ascorbic-acid&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Ascorbic-acid is Sun Netra T1. Needs &#039;rootdelay=15&#039; kernel argument to boot.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Sun Netra T1&lt;br /&gt;
* 256MB RAM&lt;br /&gt;
* 2 &amp;amp;times; 20 GB Seagate hard drive, configured as a 34 GB LVM volume group&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Runs ssh on ports 21,22,53,80,81,443,8000,8080 for user&#039;s convenience.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;caffeine&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Caffeine is the Computer Science Club&#039;s primary server. It serves websites, databases for websites, and a large amount of other services. It is a [[Virtualization#Linux_Containers|Linux container]] at present.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* currently hosted on [[#glomag|glomag]]&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Club and member web sites with [[Apache]]&lt;br /&gt;
* [[MySQL]] databases&lt;br /&gt;
* [[PostgreSQL]] databases  (deprecated, not backed up.)&lt;br /&gt;
* [[ceo]] daemon&lt;br /&gt;
* mail was migrated to [[#mail|mail]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;corn-syrup&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
PowerEdge 2950&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 2 × Intel Xeon E5405 @ 2.00 GHz&lt;br /&gt;
* 32 GB RAM&lt;br /&gt;
* eth0 (&amp;quot;Gb0&amp;quot;) mac addr 00:24:e8:52:41:27&lt;br /&gt;
* eth1 (&amp;quot;Gb1&amp;quot;) mac addr 00:24:e8:52:41:29&lt;br /&gt;
* IPMI mac addr 00:24:e8:52:41:2b&lt;br /&gt;
* 3 &amp;amp;times; Western-Digital 160GB SATA hard drive (445 GB software RAID0 array)&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
* Use eth0/Gb0 for the mathstudentorgsnet connection&lt;br /&gt;
* has ipmi on corn-syrup-impi.csclub.uwaterloo.ca.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Hosts 1 TB &amp;lt;tt&amp;gt;[[scratch|/scratch]]&amp;lt;/tt&amp;gt; and exports via NFS (sec=krb5)&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;denardo&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Sun Fire V210&lt;br /&gt;
* TI UltraSparc IIIi (Jalapeño)&lt;br /&gt;
* 2 GB RAM&lt;br /&gt;
* 160 GB RAID array&lt;br /&gt;
* ALOM on denardo-alom.csclub can be used to power machine on/off&lt;br /&gt;
&lt;br /&gt;
Currently offline due to faulty hard drive&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;high-fructose-corn-syrup&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
High-fructose-corn-syrup (or hfcs) is our more powerful version of corn-syrup. It&#039;s been in CSC service since April 2012.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 4x AMD Opteron 6272 (2.4 GHz, 16 cores each)&lt;br /&gt;
* 64 GB RAM&lt;br /&gt;
* Supermicro H8QGi+-F Motherboard Quad 1944-pin Socket [http://csclub.uwaterloo.ca/misc/manuals/motherboard-H8QGI+-F.pdf (Manual)]&lt;br /&gt;
* 500 GB Seagate Barracuda&lt;br /&gt;
* Supermicro Case Rackmount CSE-748TQ-R1400B 4U [http://csclub.uwaterloo.ca/misc/manuals/SC748.pdf (Manual)]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;potassium-citrate&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Potassium-citrate is a dual-processor Alpha machine. It is on extended loan from pbarfuss. Needs &#039;rootdelay=15&#039; kernel argument to boot.  Might have bad memory, which needs to be investigated.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Alphaserver CS20 (2 833MHz EV68al CPUs)&lt;br /&gt;
* 512MB RAM&lt;br /&gt;
* 36 GB Seagate SCSI hard drive&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;taurine&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 2 AMD Opteron 2218 CPUs&lt;br /&gt;
* 8GB RAM&lt;br /&gt;
* 136 GB LVM volume group&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Virtual machines&lt;br /&gt;
* BitlBee IRC instant messaging gateway (localhost only)&lt;br /&gt;
* ident server to maintain high connection cap to freenode&lt;br /&gt;
* Runs ssh on ports 21,22,53,80,81,443,8000,8080 for user&#039;s convenience.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;sid&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Sid is a container with Debian testing installed.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Newer software&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;freebsd&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
FreeBSD is a virtual machine with FreeBSD installed.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Newer software&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;rainbowdragoneyes&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Rainbowdragoneyes is our Lemote Fuloong MIPS machine. This machine is aliased to rde.csclub.uwaterloo.ca.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 800MHz MIPS Loongson 2f CPU&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;daystar&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
daystar is a Sun E6500 machine donated by Sanjay Singh. This machine is in the process of being set up.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 15 full CPU/memory boards&lt;br /&gt;
** 2x UltraSPARC II 464MHz / 8MB Cache Processors&lt;br /&gt;
** ??? RAM?&lt;br /&gt;
* 1 I/O board (type=???)&lt;br /&gt;
** ???x disks?&lt;br /&gt;
* 1 CD-ROM drive&lt;br /&gt;
&lt;br /&gt;
* [http://mirror.csclub.uwaterloo.ca/csclub/sun_e6500/ent6k.srvr/ e6500 documentation (hosted on mirror)]&lt;br /&gt;
* [http://www.e6500.com/ e6500]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;psilodump&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
psilodump is a NetApp FAS3000 series fileserver donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;honey&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
honey is a taurine clone donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;dextrose&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
dextrose is a taurine clone donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;aspartame&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
aspartame is a taurine clone donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
= Office Terminals =&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;bit-shifter&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
bit-shifter is an office terminal.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel(R) Core(TM)2 Quad CPU    Q8300&lt;br /&gt;
* 4GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/motherboard_manual_ga-ep45-ud3l.pdf Gigabyte GA-EP45-UD3L] Motherboard&lt;br /&gt;
* nVidea GeForce GT 240&lt;br /&gt;
* 1x 750GB Segate SATA drive&lt;br /&gt;
* 1x 80GB IDE Drive (part of a striped LVM volume for /video)&lt;br /&gt;
* Jacob Parker&#039;s Firewire Card&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [http://csclub.uwaterloo.ca/office/webcam Office webcam]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;gwem&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
gwem is an office terminal that was created because AMD donated a graphics card. It entered CSC service in February 2012.&lt;br /&gt;
&lt;br /&gt;
=== Specs ===&lt;br /&gt;
&lt;br /&gt;
* AMD FX-8150 3.6GHz 8-Core CPU&lt;br /&gt;
* 16 GB RAM&lt;br /&gt;
* 1x 160GB SATA drive&lt;br /&gt;
* AMD Radeon 6870 HD 1GB GPU&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;maltodextrin&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Maltodextrin is an office terminal; it used to be Bartle&#039;s Box of doom.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Core 2 Duo E7200 @ 2.53 GHz&lt;br /&gt;
* 2GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/ga-ep35_s3l_e.pdf Gigabyte GA-EP35-DS3L] Motherboard&lt;br /&gt;
* Seagate Barracuda 400 GB SATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [http://csclub.uwaterloo.ca/office/webcam Office webcam]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;natural-flavours&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Natural-flavours is an office terminal; it used to be our mirror.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Core 2 Duo E6300 @ 1.86 GHz&lt;br /&gt;
* 2x1GB RAM&lt;br /&gt;
* 320 GB Seagate Barracuda hard drive&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/ga-ep35_s3l_e.pdf ASUS P5L-MX] Motherboard&lt;br /&gt;
* DVD Burner&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;nullsleep&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
nullsleep is an [http://csclub.uwaterloo.ca/misc/manuals/ASRock_ION_330.pdf ASRock ION 330] machine given to us by CSCF and funded by MEF.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel® Dual Core Atom™ 330&lt;br /&gt;
* 2GB RAM&lt;br /&gt;
* NVIDIA® ION™ graphics&lt;br /&gt;
* 320 GB hard drive&lt;br /&gt;
* DVD Burner&lt;br /&gt;
&lt;br /&gt;
==== Speakers ====&lt;br /&gt;
Nullsleep has the office speakers currently connected to it.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
Strombola runs MPD for playing music. Control of MPD is available only to users in the &amp;quot;audio&amp;quot; group.&lt;br /&gt;
Music is located in /music on the office terminals&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;strombola&#039;&#039;==&lt;br /&gt;
It is named after Gordon Strombola.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Intel Core2 Quad Q8200 @ 2.33GHz&lt;br /&gt;
* 4 GB RAM&lt;br /&gt;
* nVidia GeForce 8600 GTS&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/strombola.pdf Gigabyte GA-EP45-UD3L] Motherboard&lt;br /&gt;
* Western-Digital Caviar Blue 160 GB SATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Speakers ====&lt;br /&gt;
Strombola has integrated 5.1 channel sound and has speakers connected to it.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;acesulfame-potassium&#039;&#039; (decommissioned) ==&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Intel Pentium 4 2.67GHz&lt;br /&gt;
* 1GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/ABIT_VT7.pdf ABIT VT7] Motherboard&lt;br /&gt;
* ATI Radeon 7000&lt;br /&gt;
&lt;br /&gt;
= Syscom Only =&lt;br /&gt;
&lt;br /&gt;
The following systems may only be accessible to members of the [[Systems Committee]] for a variety of reasons; the most common of which being that some of these machines host [[Kerberos]] authentication services for the CSC.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;artificial-flavours&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Artificial-flavours is our backup server. It used to be an office terminal.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Celeron 3.2GHz&lt;br /&gt;
* 2GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/Biostar_P4M80-M4.pdf Biostar P4M80-M4] Motherboard&lt;br /&gt;
* Western-Digital 80 GB ATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Backup [[Kerberos|authentication]] and [[OpenLDAP|directory services]]&lt;br /&gt;
* [[MySQL]] replica&lt;br /&gt;
* Secondary [[Mail]] exchanger&lt;br /&gt;
&lt;br /&gt;
Note: secondary mail exchanger is offline due to improper relay setup.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;ginseng&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Ginseng is our file server.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Pentium Dual Core E2180&lt;br /&gt;
* 8GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/s3000ah_tps_1_1.pdf Intel S3000AHV Motherboard]&lt;br /&gt;
* 4 &amp;amp;times; 640 GB Western-Digital Caviar Blue in [http://en.wikipedia.org/wiki/Nested_RAID_levels#RAID_10_.28RAID_1.2B0.29 RAID 10] behind a [http://www.3ware.com/products/serial_ata2-9650.asp 3ware 9650SE RAID card].&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[User-data|/users]] via NFS&lt;br /&gt;
* Directory services with [[OpenLDAP]]&lt;br /&gt;
* Authentication with [[Kerberos]]&lt;br /&gt;
* [[ceo]] daemon&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;glomag&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Glomag is a newish server (as of Fall 2009) which hosts [[#caffeine|caffeine]]. Only syscom are allowed to SSH in here directly, though SSH to caffeine is permitted to all members.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Xeon X3450 @ 2.67 GHz&lt;br /&gt;
* 6 GB RAM&lt;br /&gt;
* vg0: 465 GB software RAID1 (contains root partition):&lt;br /&gt;
** 750 GB Seagate Barracuda SATA hard drive&lt;br /&gt;
** 500 GB Western-Digital Caviar Blue SATA hard drive&lt;br /&gt;
* vg1: 596 GB software RAID1 (contains caffeine):&lt;br /&gt;
** 2 &amp;amp;times; 640 GB Western-Digital Caviar Blue SATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[Virtualization#Linux_Container|Linux containers]]; see [[#caffeine|caffeine]], [[#mail|mail]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;sodium-benzoate&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Sodium-benzoate is our mirror server, funded by MEF.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Xeon Quad Core E5405 @ 2.00 GHz&lt;br /&gt;
* 16GB RAM&lt;br /&gt;
* vg0: 228 GB block device behind DELL PERC 6/i (contains root partition)&lt;br /&gt;
* mirror: ~14 TB block device behind DELL PERC 6/i (contains mirror)&lt;br /&gt;
** 8 &amp;amp;times; 2 TB hard drive (RAID-5)&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[Mirror]]&lt;br /&gt;
* [[Talks]] mirror&lt;br /&gt;
* [[Debian_Repository|CSClub packages repository]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;mail&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
mail is the CSC&#039;s mail server. It hosts mail delivery, imap(s), smtp(s), and mailman. It is also syscom-only. It is a [[Virtualization#Linux_Containers|Linux container]] at present.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* currently hosted on [[#glomag|glomag]]&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[Mail]] services&lt;br /&gt;
* mailman&lt;br /&gt;
* web interface to mail, mailman&lt;br /&gt;
* [[ceo]] daemon&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;sodium-citrate&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Sodium-citrate is an SGI O2 machine.&lt;br /&gt;
&lt;br /&gt;
In order to net boot you need to set /proc/sys/net/ipv4/ip_no_pmtu_disc to 1. When the O2 boots, hit F5 at the boot menu and type bootp():.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* SGI O2 MIPS processor&lt;br /&gt;
* 423 MB (?) RAM&lt;br /&gt;
* 2 &amp;amp;times; 2 GB hard drive&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;romana&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Romana is a BeBox that has been in the CSC&#039;s possession since long before BeOS became defunct.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 2 PowerPC based procccessors&lt;br /&gt;
* Stylish Blinken processor-load lights&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;goto80&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This is a small ARM machine we picked up in order to have similar hardware to the Real Time Operating Systems (CS 452) course. It has a [[TS-7800_JTAG|JTAG]] interface.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 500 MHz Feroceon (ARM926ej-s compatible) processor&lt;br /&gt;
* ARMv5TEJ architecture&lt;br /&gt;
&lt;br /&gt;
Use -march=armv5te -mtune=arm926ej-s options to GCC.&lt;br /&gt;
&lt;br /&gt;
For information on the TS-7800&#039;s hardware see here:&lt;br /&gt;
http://www.embeddedarm.com/products/board-detail.php?product=ts-7800&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;binaerpilot&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This is a Gumstix Overo Tide CPU on a Tobi expansion board.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* TI OMAP 3530 750Mhz (ARM Cortex-A8)&lt;br /&gt;
* 512MB RAM&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;anamanaguchi&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This is a Gumstix Overo Tide CPU on a Chestnut43 expansion board.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* TI OMAP 3530 750Mhz (ARM Cortex-A8)&lt;br /&gt;
* 512MB RAM&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;paza&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
An iMac G3 that is used as a dumb terminal.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 233Mhz PowerPC 740/750&lt;br /&gt;
* 96 MB RAM&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;digital cutter&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
See [[Digital Cutter|here]].&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Lisp machine&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
A recently acquired Symbolics XL1200 Lisp machine. dseagrav [at] lunar-tokyo.net wants us to drop him an email if we ever get it running, or anybody ever dumps the ROM images from it.&lt;br /&gt;
&lt;br /&gt;
http://www.globalnerdy.com/2008/12/03/symbolics-xl1200-lisp-machine-free-to-a-good-home/ for some history on this hardware.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
Currently inoperable due to (at least) a missing console cable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Machine_List&amp;diff=3305</id>
		<title>Machine List</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Machine_List&amp;diff=3305"/>
		<updated>2012-09-19T23:50:00Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* Office Terminals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Servers =&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;ascorbic-acid&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Ascorbic-acid is Sun Netra T1. Needs &#039;rootdelay=15&#039; kernel argument to boot.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Sun Netra T1&lt;br /&gt;
* 256MB RAM&lt;br /&gt;
* 2 &amp;amp;times; 20 GB Seagate hard drive, configured as a 34 GB LVM volume group&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Runs ssh on ports 21,22,53,80,81,443,8000,8080 for user&#039;s convenience.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;caffeine&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Caffeine is the Computer Science Club&#039;s primary server. It serves websites, databases for websites, and a large amount of other services. It is a [[Virtualization#Linux_Containers|Linux container]] at present.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* currently hosted on [[#glomag|glomag]]&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Club and member web sites with [[Apache]]&lt;br /&gt;
* [[MySQL]] databases&lt;br /&gt;
* [[PostgreSQL]] databases  (deprecated, not backed up.)&lt;br /&gt;
* [[ceo]] daemon&lt;br /&gt;
* mail was migrated to [[#mail|mail]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;corn-syrup&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
PowerEdge 2950&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 2 × Intel Xeon E5405 @ 2.00 GHz&lt;br /&gt;
* 32 GB RAM&lt;br /&gt;
* eth0 (&amp;quot;Gb0&amp;quot;) mac addr 00:24:e8:52:41:27&lt;br /&gt;
* eth1 (&amp;quot;Gb1&amp;quot;) mac addr 00:24:e8:52:41:29&lt;br /&gt;
* IPMI mac addr 00:24:e8:52:41:2b&lt;br /&gt;
* 3 &amp;amp;times; Western-Digital 160GB SATA hard drive (445 GB software RAID0 array)&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
* Use eth0/Gb0 for the mathstudentorgsnet connection&lt;br /&gt;
* has ipmi on corn-syrup-impi.csclub.uwaterloo.ca.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Hosts 1 TB &amp;lt;tt&amp;gt;[[scratch|/scratch]]&amp;lt;/tt&amp;gt; and exports via NFS (sec=krb5)&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;denardo&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Sun Fire V210&lt;br /&gt;
* TI UltraSparc IIIi (Jalapeño)&lt;br /&gt;
* 2 GB RAM&lt;br /&gt;
* 160 GB RAID array&lt;br /&gt;
* ALOM on denardo-alom.csclub can be used to power machine on/off&lt;br /&gt;
&lt;br /&gt;
Currently offline due to faulty hard drive&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;high-fructose-corn-syrup&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
High-fructose-corn-syrup (or hfcs) is our more powerful version of corn-syrup. It&#039;s been in CSC service since April 2012.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 4x AMD Opteron 6272 (2.4 GHz, 16 cores each)&lt;br /&gt;
* 64 GB RAM&lt;br /&gt;
* Supermicro H8QGi+-F Motherboard Quad 1944-pin Socket [http://csclub.uwaterloo.ca/misc/manuals/motherboard-H8QGI+-F.pdf (Manual)]&lt;br /&gt;
* 500 GB Seagate Barracuda&lt;br /&gt;
* Supermicro Case Rackmount CSE-748TQ-R1400B 4U [http://csclub.uwaterloo.ca/misc/manuals/SC748.pdf (Manual)]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;potassium-citrate&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Potassium-citrate is a dual-processor Alpha machine. It is on extended loan from pbarfuss. Needs &#039;rootdelay=15&#039; kernel argument to boot.  Might have bad memory, which needs to be investigated.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Alphaserver CS20 (2 833MHz EV68al CPUs)&lt;br /&gt;
* 512MB RAM&lt;br /&gt;
* 36 GB Seagate SCSI hard drive&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;taurine&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 2 AMD Opteron 2218 CPUs&lt;br /&gt;
* 8GB RAM&lt;br /&gt;
* 136 GB LVM volume group&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Virtual machines&lt;br /&gt;
* BitlBee IRC instant messaging gateway (localhost only)&lt;br /&gt;
* ident server to maintain high connection cap to freenode&lt;br /&gt;
* Runs ssh on ports 21,22,53,80,81,443,8000,8080 for user&#039;s convenience.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;sid&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Sid is a container with Debian testing installed.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Newer software&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;freebsd&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
FreeBSD is a virtual machine with FreeBSD installed.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Newer software&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;rainbowdragoneyes&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Rainbowdragoneyes is our Lemote Fuloong MIPS machine. This machine is aliased to rde.csclub.uwaterloo.ca.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 800MHz MIPS Loongson 2f CPU&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;daystar&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
daystar is a Sun E6500 machine donated by Sanjay Singh. This machine is in the process of being set up.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 15 full CPU/memory boards&lt;br /&gt;
** 2x UltraSPARC II 464MHz / 8MB Cache Processors&lt;br /&gt;
** ??? RAM?&lt;br /&gt;
* 1 I/O board (type=???)&lt;br /&gt;
** ???x disks?&lt;br /&gt;
* 1 CD-ROM drive&lt;br /&gt;
&lt;br /&gt;
* [http://mirror.csclub.uwaterloo.ca/csclub/sun_e6500/ent6k.srvr/ e6500 documentation (hosted on mirror)]&lt;br /&gt;
* [http://www.e6500.com/ e6500]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;psilodump&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
psilodump is a NetApp FAS3000 series fileserver donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;honey&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
honey is a taurine clone donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;dextrose&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
dextrose is a taurine clone donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;aspartame&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
aspartame is a taurine clone donated by CSCF. This machine is in the process of being transferred to CSC.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
= Office Terminals =&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;bit-shifter&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
bit-shifter is an office terminal.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel(R) Core(TM)2 Quad CPU    Q8300&lt;br /&gt;
* 4GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/motherboard_manual_ga-ep45-ud3l.pdf Gigabyte GA-EP45-UD3L] Motherboard&lt;br /&gt;
* nVidea GeForce GT 240&lt;br /&gt;
* 1x 750GB Segate SATA drive&lt;br /&gt;
* 1x 80GB IDE Drive (part of a striped LVM volume for /video)&lt;br /&gt;
* Jacob Parker&#039;s Firewire Card&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [http://csclub.uwaterloo.ca/office/webcam Office webcam]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;gwem&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
gwem is an office terminal that was created because AMD donated a graphics card. It entered CSC service in February 2012.&lt;br /&gt;
&lt;br /&gt;
=== Specs ===&lt;br /&gt;
&lt;br /&gt;
* AMD FX-8150 3.6GHz 8-Core CPU&lt;br /&gt;
* 16 GB RAM&lt;br /&gt;
* 1x 160GB SATA drive&lt;br /&gt;
* AMD Radeon 6870 HD 1GB GPU&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;maltodextrin&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Maltodextrin is an office terminal; it used to be Bartle&#039;s Box of doom.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Core 2 Duo E7200 @ 2.53 GHz&lt;br /&gt;
* 2GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/ga-ep35_s3l_e.pdf Gigabyte GA-EP35-DS3L] Motherboard&lt;br /&gt;
* Seagate Barracuda 400 GB SATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [http://csclub.uwaterloo.ca/office/webcam Office webcam]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;natural-flavours&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Natural-flavours is an office terminal; it used to be our mirror.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Core 2 Duo E6300 @ 1.86 GHz&lt;br /&gt;
* 2x1GB RAM&lt;br /&gt;
* 320 GB Seagate Barracuda hard drive&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/ga-ep35_s3l_e.pdf ASUS P5L-MX] Motherboard&lt;br /&gt;
* DVD Burner&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;nullsleep&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
nullsleep is an [http://csclub.uwaterloo.ca/misc/manuals/ASRock_ION_330.pdf ASRock ION 330] machine given to us by CSCF and funded by MEF.&lt;br /&gt;
&lt;br /&gt;
==== Speakers ====&lt;br /&gt;
Nullsleep has the office speakers currently connected to it.&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
Strombola runs MPD for playing music. Control of MPD is available only to users in the &amp;quot;audio&amp;quot; group.&lt;br /&gt;
Music is located in /music on the office terminals&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel® Dual Core Atom™ 330&lt;br /&gt;
* 2GB RAM&lt;br /&gt;
* NVIDIA® ION™ graphics&lt;br /&gt;
* 320 GB hard drive&lt;br /&gt;
* DVD Burner&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;strombola&#039;&#039;==&lt;br /&gt;
It is named after Gordon Strombola.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Intel Core2 Quad Q8200 @ 2.33GHz&lt;br /&gt;
* 4 GB RAM&lt;br /&gt;
* nVidia GeForce 8600 GTS&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/strombola.pdf Gigabyte GA-EP45-UD3L] Motherboard&lt;br /&gt;
* Western-Digital Caviar Blue 160 GB SATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Speakers ====&lt;br /&gt;
Strombola has integrated 5.1 channel sound and has speakers connected to it.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;acesulfame-potassium&#039;&#039; (decommissioned) ==&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* Intel Pentium 4 2.67GHz&lt;br /&gt;
* 1GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/ABIT_VT7.pdf ABIT VT7] Motherboard&lt;br /&gt;
* ATI Radeon 7000&lt;br /&gt;
&lt;br /&gt;
= Syscom Only =&lt;br /&gt;
&lt;br /&gt;
The following systems may only be accessible to members of the [[Systems Committee]] for a variety of reasons; the most common of which being that some of these machines host [[Kerberos]] authentication services for the CSC.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;artificial-flavours&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Artificial-flavours is our backup server. It used to be an office terminal.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Celeron 3.2GHz&lt;br /&gt;
* 2GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/Biostar_P4M80-M4.pdf Biostar P4M80-M4] Motherboard&lt;br /&gt;
* Western-Digital 80 GB ATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* Backup [[Kerberos|authentication]] and [[OpenLDAP|directory services]]&lt;br /&gt;
* [[MySQL]] replica&lt;br /&gt;
* Secondary [[Mail]] exchanger&lt;br /&gt;
&lt;br /&gt;
Note: secondary mail exchanger is offline due to improper relay setup.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;ginseng&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Ginseng is our file server.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Pentium Dual Core E2180&lt;br /&gt;
* 8GB RAM&lt;br /&gt;
* [http://csclub.uwaterloo.ca/misc/manuals/s3000ah_tps_1_1.pdf Intel S3000AHV Motherboard]&lt;br /&gt;
* 4 &amp;amp;times; 640 GB Western-Digital Caviar Blue in [http://en.wikipedia.org/wiki/Nested_RAID_levels#RAID_10_.28RAID_1.2B0.29 RAID 10] behind a [http://www.3ware.com/products/serial_ata2-9650.asp 3ware 9650SE RAID card].&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[User-data|/users]] via NFS&lt;br /&gt;
* Directory services with [[OpenLDAP]]&lt;br /&gt;
* Authentication with [[Kerberos]]&lt;br /&gt;
* [[ceo]] daemon&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;glomag&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Glomag is a newish server (as of Fall 2009) which hosts [[#caffeine|caffeine]]. Only syscom are allowed to SSH in here directly, though SSH to caffeine is permitted to all members.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Xeon X3450 @ 2.67 GHz&lt;br /&gt;
* 6 GB RAM&lt;br /&gt;
* vg0: 465 GB software RAID1 (contains root partition):&lt;br /&gt;
** 750 GB Seagate Barracuda SATA hard drive&lt;br /&gt;
** 500 GB Western-Digital Caviar Blue SATA hard drive&lt;br /&gt;
* vg1: 596 GB software RAID1 (contains caffeine):&lt;br /&gt;
** 2 &amp;amp;times; 640 GB Western-Digital Caviar Blue SATA hard drive&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[Virtualization#Linux_Container|Linux containers]]; see [[#caffeine|caffeine]], [[#mail|mail]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;sodium-benzoate&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Sodium-benzoate is our mirror server, funded by MEF.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* Intel Xeon Quad Core E5405 @ 2.00 GHz&lt;br /&gt;
* 16GB RAM&lt;br /&gt;
* vg0: 228 GB block device behind DELL PERC 6/i (contains root partition)&lt;br /&gt;
* mirror: ~14 TB block device behind DELL PERC 6/i (contains mirror)&lt;br /&gt;
** 8 &amp;amp;times; 2 TB hard drive (RAID-5)&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[Mirror]]&lt;br /&gt;
* [[Talks]] mirror&lt;br /&gt;
* [[Debian_Repository|CSClub packages repository]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;mail&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
mail is the CSC&#039;s mail server. It hosts mail delivery, imap(s), smtp(s), and mailman. It is also syscom-only. It is a [[Virtualization#Linux_Containers|Linux container]] at present.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* currently hosted on [[#glomag|glomag]]&lt;br /&gt;
&lt;br /&gt;
==== Services ====&lt;br /&gt;
&lt;br /&gt;
* [[Mail]] services&lt;br /&gt;
* mailman&lt;br /&gt;
* web interface to mail, mailman&lt;br /&gt;
* [[ceo]] daemon&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;sodium-citrate&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Sodium-citrate is an SGI O2 machine.&lt;br /&gt;
&lt;br /&gt;
In order to net boot you need to set /proc/sys/net/ipv4/ip_no_pmtu_disc to 1. When the O2 boots, hit F5 at the boot menu and type bootp():.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
* SGI O2 MIPS processor&lt;br /&gt;
* 423 MB (?) RAM&lt;br /&gt;
* 2 &amp;amp;times; 2 GB hard drive&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;romana&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Romana is a BeBox that has been in the CSC&#039;s possession since long before BeOS became defunct.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 2 PowerPC based procccessors&lt;br /&gt;
* Stylish Blinken processor-load lights&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;goto80&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This is a small ARM machine we picked up in order to have similar hardware to the Real Time Operating Systems (CS 452) course. It has a [[TS-7800_JTAG|JTAG]] interface.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 500 MHz Feroceon (ARM926ej-s compatible) processor&lt;br /&gt;
* ARMv5TEJ architecture&lt;br /&gt;
&lt;br /&gt;
Use -march=armv5te -mtune=arm926ej-s options to GCC.&lt;br /&gt;
&lt;br /&gt;
For information on the TS-7800&#039;s hardware see here:&lt;br /&gt;
http://www.embeddedarm.com/products/board-detail.php?product=ts-7800&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;binaerpilot&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This is a Gumstix Overo Tide CPU on a Tobi expansion board.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* TI OMAP 3530 750Mhz (ARM Cortex-A8)&lt;br /&gt;
* 512MB RAM&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;anamanaguchi&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This is a Gumstix Overo Tide CPU on a Chestnut43 expansion board.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* TI OMAP 3530 750Mhz (ARM Cortex-A8)&lt;br /&gt;
* 512MB RAM&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;paza&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
An iMac G3 that is used as a dumb terminal.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
* 233Mhz PowerPC 740/750&lt;br /&gt;
* 96 MB RAM&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;digital cutter&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
See [[Digital Cutter|here]].&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Lisp machine&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
A recently acquired Symbolics XL1200 Lisp machine. dseagrav [at] lunar-tokyo.net wants us to drop him an email if we ever get it running, or anybody ever dumps the ROM images from it.&lt;br /&gt;
&lt;br /&gt;
http://www.globalnerdy.com/2008/12/03/symbolics-xl1200-lisp-machine-free-to-a-good-home/ for some history on this hardware.&lt;br /&gt;
&lt;br /&gt;
==== Specs ====&lt;br /&gt;
&lt;br /&gt;
Currently inoperable due to (at least) a missing console cable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3294</id>
		<title>New CSC Machine</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=New_CSC_Machine&amp;diff=3294"/>
		<updated>2012-07-30T23:08:16Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* apt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Booting =&lt;br /&gt;
&lt;br /&gt;
* Put the TFTP image in place (if dist-arch pair installed before, you may skip this).&lt;br /&gt;
e.g. extract http://mirror.csclub.uwaterloo.ca/ubuntu/dists/oneiric/main/installer-amd64/current/images/netboot/netboot.tar.gz to caffeine:/srv/tftp/oneiric-amd64&lt;br /&gt;
&lt;br /&gt;
* Configure DHCP server; see caffeine:/etc/dhcp/dhcpd.conf. This allow caffeine to identify the host by its MAC address and give it the correct IP and boot image. e.g.&lt;br /&gt;
 host bit-shifter {&lt;br /&gt;
   hardware ethernet 6C:F0:49:08:49:48;&lt;br /&gt;
   fixed-address 129.97.134.111;&lt;br /&gt;
   next-server 129.97.134.17;&lt;br /&gt;
   filename &amp;quot;precise-amd64/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Force network boot in the BIOS. This may be called &amp;quot;Legacy LAN&amp;quot; or other such cryptic things. If this doesn&#039;t work, boot from CD or USB instead.&lt;br /&gt;
&lt;br /&gt;
It is preferred to use the &amp;quot;alternate&amp;quot; Ubuntu installer image, based on debian-installer, instead of the Ubiquity installer. This installer supports software RAID and LVM out of the box, and will generally make your life easier. If installing Debian, this is the usual installer, so don&#039;t sweat it.&lt;br /&gt;
&lt;br /&gt;
= Installing =&lt;br /&gt;
&lt;br /&gt;
== debian-installer ==&lt;br /&gt;
&lt;br /&gt;
At least in expert mode, you can choose a custom mirror (top of the countries list) and give the path for mirror directly. This will make installation super-fast compared to installing from anywhere else.&lt;br /&gt;
&lt;br /&gt;
Please install to LVM volumes, as this is our standard configuration on all machines where possible. It allows more flexible partitioning across available volumes. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
You may enable unattended upgrades, but do not enable Canonical&#039;s remote management service or any such nonsense. This is mostly a straightforward Debian/Ubuntu install.&lt;br /&gt;
&lt;br /&gt;
== Ubiquity ==&lt;br /&gt;
&lt;br /&gt;
Ubiquity is the Ubuntu GUI installer. For it to have lvm support, run:&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
If you still can&#039;t see the partitions (even if lvscan sees them, but no devices exist), run &amp;lt;tt&amp;gt;vgscan&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;vgchange -ay&amp;lt;/tt&amp;gt; as root. Now the partitioner should be able to see them. We prefer to use LVM for partitions. Since GRUB 2, even /boot may be on LVM; this is the preferred configuration for simplicity, except when legacy partitioning setups make this inconvenient.&lt;br /&gt;
&lt;br /&gt;
After installing with Ubiquity, you must also add LVM support to the newly installed system, and in particular its initramfs.&lt;br /&gt;
&lt;br /&gt;
 mount /dev/vg0/root /mnt&lt;br /&gt;
 mount /dev/sda1 /mnt/boot&lt;br /&gt;
 chroot /mnt&lt;br /&gt;
 apt-get install lvm2&lt;br /&gt;
&lt;br /&gt;
You should see an update-initramfs update. Reboot.&lt;br /&gt;
&lt;br /&gt;
= After Installing =&lt;br /&gt;
&lt;br /&gt;
== apt ==&lt;br /&gt;
&lt;br /&gt;
If you did not during installation, change all references in &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; to use &amp;lt;tt&amp;gt;mirror&amp;lt;/tt&amp;gt; instead of the usual mirrors.&lt;br /&gt;
&lt;br /&gt;
Also add support for the CSC packages. Add the following to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/csclub.list&amp;lt;/tt&amp;gt; (or copy from another host):&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
 deb-src http://debian.csclub.uwaterloo.ca/ &amp;lt;distribution&amp;gt; main contrib non-free&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need the CSC archive signing key (if &amp;lt;tt&amp;gt;curl&amp;lt;/tt&amp;gt; is not installed, install it).&lt;br /&gt;
 curl -s http://debian.csclub.uwaterloo.ca/csclub.asc | apt-key add -&lt;br /&gt;
&lt;br /&gt;
If you are running Debian, our package list installs some cross-compilers that are in the Emdebian repository. Install the package &amp;lt;tt&amp;gt;emdebian-archive-keyring&amp;lt;/tt&amp;gt; and then add the following entry to &amp;lt;tt&amp;gt;/etc/apt/sources.list.d/emdebian.list&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 deb http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
 deb-src http://mirror.csclub.uwaterloo.ca/emdebian/ squeeze main&lt;br /&gt;
&lt;br /&gt;
You should now run &amp;lt;tt&amp;gt;apt-get update&amp;lt;/tt&amp;gt; to reflect these changes.&lt;br /&gt;
&lt;br /&gt;
Next, install &amp;lt;tt&amp;gt;inapt&amp;lt;/tt&amp;gt; (it is in the CSC Debian archive). If it hasn&#039;t previously been built for the current platform, clone and build it (TODO: describe how to do this).&lt;br /&gt;
&lt;br /&gt;
Clone &amp;lt;tt&amp;gt;~git/public/packages.git&amp;lt;/tt&amp;gt;, update it if necessary (notably updating &amp;lt;tt&amp;gt;nodes.ia&amp;lt;/tt&amp;gt; to reflect the distribution and role of the machine), then run:&lt;br /&gt;
 inapt *.ia&lt;br /&gt;
&lt;br /&gt;
(Due to a bug, if a warning is thrown, this will segfault. Until fixed, just temporarily remove whatever packages it complains about from the list.)&lt;br /&gt;
&lt;br /&gt;
Warning: this will take a long time due to the large number of packages being installed. Some of the below can be done once the relevant packages are installed, but while other packages are still being installed.&lt;br /&gt;
&lt;br /&gt;
Note that inapt current uninstalls NetworkManager, which is what Ubuntu uses by default to configure the network. Once this completes, open &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; and set up a static networking configuration (otherwise, networking will not come back up on reboot). It should look something like this:&lt;br /&gt;
&lt;br /&gt;
 # This file describes the network interfaces available on your system&lt;br /&gt;
 # and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
 &lt;br /&gt;
 # The loopback network interface&lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 # The primary network interface&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
         address 129.97.134.xxx&lt;br /&gt;
         netmask 255.255.255.0&lt;br /&gt;
         gateway 129.97.134.1&lt;br /&gt;
         network 129.97.134.0&lt;br /&gt;
         broadcast 129.97.134.255&lt;br /&gt;
         dns-nameservers 129.97.2.1 129.97.152.10 129.97.152.100&lt;br /&gt;
         dns-search csclub.uwaterloo.ca uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
For unattended upgrades in the future, install the &amp;lt;tt&amp;gt;unattended-upgrades&amp;lt;/tt&amp;gt; package and copy &amp;lt;tt&amp;gt;/etc/apt/apt.conf&amp;lt;/tt&amp;gt; from another host.&lt;br /&gt;
&lt;br /&gt;
== Keys ==&lt;br /&gt;
&lt;br /&gt;
If this is a reinstall of an existing host, copy back the SSH host keys and &amp;lt;tt&amp;gt;/etc/krb5.keytab&amp;lt;/tt&amp;gt; from its former incarnation. Otherwise, create a new Kerberos principal and copy the keytab over, as follows (run from the host in question):&lt;br /&gt;
 kadmin -p sysadmin/admin   # or any other admin principal; the password for this one is the usual root password&lt;br /&gt;
 addprinc -randkey host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
 ktadd host/[hostname].csclub.uwaterloo.ca&lt;br /&gt;
&lt;br /&gt;
This will generate a new principal (you can skip this step if one already exists) and add it to the local Kerberos keytab.&lt;br /&gt;
&lt;br /&gt;
Also copy &amp;lt;tt&amp;gt;/etc/ssl/certs/GlobalSign_Intermediate_Root.pem&amp;lt;/tt&amp;gt; from another host, as many of our services use a certificate issued by this CA.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
The following config files are needed to work in the CSC environment (examples given below for an office terminal; perhaps refer to another host if preferred).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nsswitch.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nsswitch.conf&lt;br /&gt;
 #&lt;br /&gt;
 # Example configuration of GNU Name Service Switch functionality.&lt;br /&gt;
 # If you have the `glibc-doc-reference&#039; and `info&#039; packages installed, try:&lt;br /&gt;
 # `info libc &amp;quot;Name Service Switch&amp;quot;&#039; for information about this file.&lt;br /&gt;
 &lt;br /&gt;
 passwd:         files ldap&lt;br /&gt;
 group:          files ldap&lt;br /&gt;
 shadow:         files&lt;br /&gt;
 sudoers:        files ldap&lt;br /&gt;
 &lt;br /&gt;
 hosts:          files dns&lt;br /&gt;
 networks:       files&lt;br /&gt;
 &lt;br /&gt;
 protocols:      db files&lt;br /&gt;
 services:       db files&lt;br /&gt;
 ethers:         db files&lt;br /&gt;
 rpc:            db files&lt;br /&gt;
 &lt;br /&gt;
 netgroup:       nis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/ldap/ldap.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # LDAP Defaults&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # See ldap.conf(5) for details&lt;br /&gt;
 # This file should be world readable but not world writable.&lt;br /&gt;
 &lt;br /&gt;
 BASE   dc=csclub, dc=uwaterloo, dc=ca&lt;br /&gt;
 URI     ldaps://ldap1.csclub.uwaterloo.ca ldaps://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 SIZELIMIT      0&lt;br /&gt;
 &lt;br /&gt;
 TLS_CACERT      /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 TLS_CACERTFILE /etc/ssl/certs/GlobalSign_Intermediate_Root.pem&lt;br /&gt;
 &lt;br /&gt;
 SUDOERS_BASE    ou=SUDOers,dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
&lt;br /&gt;
(On Debian, also copy &amp;lt;tt&amp;gt;/etc/sudo-ldap.conf&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/nslcd.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 # /etc/nslcd.conf&lt;br /&gt;
 # nslcd configuration file. See nslcd.conf(5)&lt;br /&gt;
 # for details.&lt;br /&gt;
 &lt;br /&gt;
 # The user and group nslcd should run as.&lt;br /&gt;
 uid nslcd&lt;br /&gt;
 gid nslcd&lt;br /&gt;
 &lt;br /&gt;
 # The location at which the LDAP server(s) should be reachable.&lt;br /&gt;
 uri ldap://ldap1.csclub.uwaterloo.ca&lt;br /&gt;
 uri ldap://ldap2.csclub.uwaterloo.ca&lt;br /&gt;
 &lt;br /&gt;
 # The search base that will be used for all queries.&lt;br /&gt;
 base dc=csclub,dc=uwaterloo,dc=ca&lt;br /&gt;
 &lt;br /&gt;
 # use the uniqueMember attribute for group membership&lt;br /&gt;
 # (not applicable on Debian squeeze)&lt;br /&gt;
 map group member uniqueMember&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/krb5.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
 [libdefaults]&lt;br /&gt;
         default_realm = CSCLUB.UWATERLOO.CA&lt;br /&gt;
         forwardable = true&lt;br /&gt;
         proxiable = true&lt;br /&gt;
 &lt;br /&gt;
         # remove this once NFS mounts without it&lt;br /&gt;
         allow_weak_crypto = true&lt;br /&gt;
 &lt;br /&gt;
 [realms]&lt;br /&gt;
         CSCLUB.UWATERLOO.CA = {&lt;br /&gt;
                 kdc = kdc1.csclub.uwaterloo.ca&lt;br /&gt;
                 kdc = kdc2.csclub.uwaterloo.ca&lt;br /&gt;
                 admin_server = kadmin.csclub.uwaterloo.ca&lt;br /&gt;
         }&lt;br /&gt;
 (rest omitted for brevity)&lt;br /&gt;
&lt;br /&gt;
Notably, &amp;lt;tt&amp;gt;allow_weak_crypto&amp;lt;/tt&amp;gt; is currently needed to mount &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt; (though oddly, not &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt;. /music is sec=sys and thus will always mount, even when krb5 is down and/or broken). Otherwise, you will get a mysterious &amp;quot;permission denied&amp;quot; error (even though the server claims to have authenticated the mount successfully).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/pam.d/common-account&amp;lt;/tt&amp;gt;&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/pam.d/common-account - authorization settings common to all services&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # here are the per-package modules (the &amp;quot;Primary&amp;quot; block)&lt;br /&gt;
 account        [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so &lt;br /&gt;
 # here&#039;s the fallback if no module succeeds&lt;br /&gt;
 account        requisite                       pam_deny.so&lt;br /&gt;
 # prime the stack with a positive return value if there isn&#039;t one already;&lt;br /&gt;
 # this avoids us returning an error just because nothing sets a success code&lt;br /&gt;
 # since the modules above will each just jump around&lt;br /&gt;
 account        required                        pam_permit.so&lt;br /&gt;
 # and here are more per-package modules (the &amp;quot;Additional&amp;quot; block)&lt;br /&gt;
 account        required                        pam_krb5.so minimum_uid=10000&lt;br /&gt;
 # end of pam-auth-update config&lt;br /&gt;
 &lt;br /&gt;
 # Make sure the user is up to date. System accounts and syscom are exempt.&lt;br /&gt;
 account [success=2 default=ignore]     pam_succeed_if.so quiet uid &amp;lt; 10000&lt;br /&gt;
 account [success=1 default=ignore]     pam_succeed_if.so quiet user ingroup syscom&lt;br /&gt;
 account required        pam_csc.so&lt;br /&gt;
&lt;br /&gt;
This file is notably different on syscom-only hosts. Look at an existing syscom-only host to see the difference.&lt;br /&gt;
&lt;br /&gt;
Alter &amp;lt;tt&amp;gt;/etc/default/nfs-common&amp;lt;/tt&amp;gt; to enable &amp;lt;tt&amp;gt;statd&amp;lt;/tt&amp;gt;, and more importantly &amp;lt;tt&amp;gt;gssd&amp;lt;/tt&amp;gt; (needed for Kerberos NFS mounts). Start both daemons manually for now.&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;/users&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;/music&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; (as appropriate for the machine&#039;s role), make their mount points and mount them. Note that /music is sec=sys whereas /users and /scratch are both sec=krb5 (with exceptions granted on a case-by-case basis for servers only, office terminals are always sec=krb5 for security reasons).&lt;br /&gt;
&lt;br /&gt;
To allow single sign-on as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; (primarily useful for pushing files to all machines simultaneously), put the following in &amp;lt;tt&amp;gt;/root/.k5login&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 sysadmin/admin@CSCLUB.UWATERLOO.CA&lt;br /&gt;
&lt;br /&gt;
Also copy the following files from another CSC host:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_config&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/ssh/sshd_config&amp;lt;/tt&amp;gt; (for single sign-on)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ssh/ssh_known_hosts&amp;lt;/tt&amp;gt; (to remove hostkey warnings within our network)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/hosts&amp;lt;/tt&amp;gt; (for host tab completion and emergency name resolution)&lt;br /&gt;
&lt;br /&gt;
=== Display Manager ===&lt;br /&gt;
&lt;br /&gt;
LightDM (with unity-greeter) is the current display manager of choice for CSC office terminals. Copy &amp;lt;tt&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/etc/lightdm/users.conf&amp;lt;/tt&amp;gt; from another CSC machine to configure it properly. If kdm or another display manager gets installed, please ensure that you continue to choose LightDM as the default display manager.&lt;br /&gt;
&lt;br /&gt;
Please leave AccountsService enabled, as LightDM and certain parts of the GNOME packages work better when it is available.&lt;br /&gt;
&lt;br /&gt;
The Unity greeter configuration is now in gsettings. We currently have a novelty wallpaper configured. To configure this, copy &amp;lt;tt&amp;gt;/usr/local/share/backgrounds/tarkin.png&amp;lt;/tt&amp;gt; from another machine and run:&lt;br /&gt;
&lt;br /&gt;
 sudo -u lightdm dbus-launch gsettings set com.canonical.unity-greeter background /usr/local/share/backgrounds/tarkin.png&lt;br /&gt;
&lt;br /&gt;
=== Tweaks ===&lt;br /&gt;
&lt;br /&gt;
On Ubuntu precise, even when &amp;lt;tt&amp;gt;gnome-keyring&amp;lt;/tt&amp;gt; is uninstalled, it leaves a config file behind that causes error messages. Remove &amp;lt;tt&amp;gt;/etc/pkcs11/modules/gnome-keyring-module&amp;lt;/tt&amp;gt; to fix this.&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
You probably already created the host in the University IPAM system beforehand. If not, please do so.&lt;br /&gt;
&lt;br /&gt;
Please also add the host to the [[Machine List]] here on the Wiki, and to &amp;lt;tt&amp;gt;/users/syscom/csc-machines&amp;lt;/tt&amp;gt; (and &amp;lt;tt&amp;gt;csc-office-machines&amp;lt;/tt&amp;gt;, if applicable).&lt;br /&gt;
&lt;br /&gt;
= New Distribution =&lt;br /&gt;
&lt;br /&gt;
If new distribution, create in conf/distributions AND conf/uploaders, and do rrr-update as well as rrr-incoming.&lt;br /&gt;
(TODO: expand this to describe building and pushing core CSC packages)&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Mail&amp;diff=3265</id>
		<title>Mail</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Mail&amp;diff=3265"/>
		<updated>2012-05-18T22:51:17Z</updated>

		<summary type="html">&lt;p&gt;Laden: /* Mail Transfer (Incoming) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mail services are currently handled by [[Machine_List#caffeine|caffeine]].&lt;br /&gt;
&lt;br /&gt;
== Reading your mail ==&lt;br /&gt;
&lt;br /&gt;
You can use any user agent that supports maildir locally (mutt, alpine, etc), and any client that supports POP3 or IMAP either locally or remotely. We also have webmail.&lt;br /&gt;
&lt;br /&gt;
Here are the details:&lt;br /&gt;
&lt;br /&gt;
* maildir&lt;br /&gt;
** Location: $HOME/.maildir/&lt;br /&gt;
&lt;br /&gt;
* [[Webmail]]&lt;br /&gt;
** URL: https://mail.csclub.uwaterloo.ca/&lt;br /&gt;
&lt;br /&gt;
* POP3&lt;br /&gt;
** Hostname: mail.csclub.uwaterloo.ca&lt;br /&gt;
** Port: 110 (POP3), 995 (POP3S)&lt;br /&gt;
** POP3 is considered deprecated. We would like to get rid of it someday, so please don&#039;t use it unless no other alternatives exist for you.&lt;br /&gt;
&lt;br /&gt;
* IMAP&lt;br /&gt;
** Hostname: mail.csclub.uwaterloo.ca&lt;br /&gt;
** Port: 143 (IMAP), 993 (IMAPS)&lt;br /&gt;
&lt;br /&gt;
* SMTP&lt;br /&gt;
** Hostname: mail.csclub.uwaterloo.ca&lt;br /&gt;
** SSL encryption and authentication required&lt;br /&gt;
** Port: 25, 465, or 587&lt;br /&gt;
&lt;br /&gt;
== Spamfiltering ==&lt;br /&gt;
&lt;br /&gt;
By default, we do not run any Bayesian Spamfilters on user email, as they stand a chance of false-positives leading to users not recieving legitimate mails. However, you can configure procmail (the application that postfix calls to deliver any mail that it recieved to the user that it was sent to) to pipe your message through spamassassin, and then optionally place it in special folders and/or delete it based on its spam score and/or whether it got flagged as spam or not. In order to do this, you need to configure procmail via .procmailrc in your home directory. An example such .procmailrc is below:&lt;br /&gt;
&lt;br /&gt;
 #Begin spamfilter-enabled procmailrc&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/bin:/usr/bin&lt;br /&gt;
 LOGABSTRACT=all&lt;br /&gt;
 MAILDIR=$HOME/.maildir&lt;br /&gt;
 LOGFILE=$MAILDIR/procmail.log&lt;br /&gt;
 VERBOSE=off&lt;br /&gt;
&lt;br /&gt;
 #Spamassassin start&lt;br /&gt;
 :0fw: spamassassin.lock&lt;br /&gt;
 | /usr/bin/spamc&lt;br /&gt;
 #Spamassassin end&lt;br /&gt;
&lt;br /&gt;
 :0:&lt;br /&gt;
 * ^X-Spam-Status: Yes&lt;br /&gt;
 spam&lt;br /&gt;
 #End spamfilter-enabled procmailrc&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
=== Mail Transfer (Incoming) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.postfix.org/ Postfix] is our MTA and runs on mail. Incoming mail is received inbound on smtp/25 or ssmtp/465 and goes through a sequence of filters before being delivered to users.&lt;br /&gt;
&lt;br /&gt;
We are using the following filters for incoming mail, to combat spam and malware:&lt;br /&gt;
&lt;br /&gt;
* zen.spamhaus.org RBL&lt;br /&gt;
* Greylisting with postgrey&lt;br /&gt;
&lt;br /&gt;
These filters reject truckloads of spam, preventing them from reaching your inbox. Greylisting adds a delay to mail delivery from unknown servers, but after a small number of successes they will be auto-whitelisted. If that isn&#039;t good enough, ask systems-committee@csclub.uwaterloo.ca to whitelist all mail to your address.&lt;br /&gt;
&lt;br /&gt;
=== Mail Delivery ===&lt;br /&gt;
&lt;br /&gt;
User mail is delivered, by default, to procmail. This is configurable by adding a comma-separated list of destinations in $HOME/.forward. See aliases(5) for more details.&lt;br /&gt;
&lt;br /&gt;
Procmail, in turn, writes mail to $HOME/.maildir unless instructed otherwise. You can customize procmail by editing $HOME/.procmailrc. See procmailrc(5) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Failures ====&lt;br /&gt;
&lt;br /&gt;
If you are out of quota or another error occurs writing to your home directory, procmail will deliver your message to /var/mail/$USER on the mail server. If that too fails, caffeine is probably on fire. The message will be returned to the queue where it will eventually bounce.&lt;br /&gt;
&lt;br /&gt;
=== Mail Retrieval ===&lt;br /&gt;
&lt;br /&gt;
We run [http://www.dovecot.org Dovecot], a POP3 and IMAP server. It reads messages from $HOME/.maildir, so if you have procmail deliver your mail elsewhere you will be unable to retrieve your mail using POP3 or IMAP.&lt;br /&gt;
&lt;br /&gt;
=== Mail Submission (Outgoing) ===&lt;br /&gt;
&lt;br /&gt;
On caffeine, outgoing mail is submitted directly to Postfix via the sendmail(1) wrapper or on submission/587. Submitted mail is then queued for delivery to its destination. The other systems have no MTA and instead run sSMTP, which relays mail through caffeine immediately without any queue or daemon.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Finance:Budget/S2012&amp;diff=3264</id>
		<title>Finance:Budget/S2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Finance:Budget/S2012&amp;diff=3264"/>
		<updated>2012-05-18T22:16:32Z</updated>

		<summary type="html">&lt;p&gt;Laden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Proposed Budget==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Spring 2012&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Revenue&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| * MathSoc Members || 156&lt;br /&gt;
|-&lt;br /&gt;
| * Non-MathSoc Members || 119&lt;br /&gt;
|-&lt;br /&gt;
| * Mathsoc Funding Cap || ($2 + $7.50) * 156 = 1482&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Expenses&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Social Events&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| * CSC Goes Outside. Est. Turnout: 25-30. Frisbee, campfire, food. || $60 Food. $40 other supplies.&lt;br /&gt;
|-&lt;br /&gt;
| * Movie night.  || $40 (Popcorn &amp;amp; Soda)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Social Total&#039;&#039;&#039; || 140&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Academic Events&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| * 3 Code Parties || 180&lt;br /&gt;
|-&lt;br /&gt;
| * CSC Contest.  food+prizes || 150&lt;br /&gt;
|-&lt;br /&gt;
| * 3 Member Talks || 3 * 30 = 90.&lt;br /&gt;
|-&lt;br /&gt;
| * 2 Prof talks. || 2 * 50 = 100.&lt;br /&gt;
|-&lt;br /&gt;
| * RIM events. || $150&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Academic Total&#039;&#039;&#039; || $680&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Office Supplies&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| * CDs || 20&lt;br /&gt;
|-&lt;br /&gt;
| * Whiteboard Markers || $35&lt;br /&gt;
|-&lt;br /&gt;
| * Handvac for keyboards || $70&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Office Supplies Total&#039;&#039;&#039; || 125&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Technology&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| * Tool shelf/box type thing for tools || 100&lt;br /&gt;
|-&lt;br /&gt;
| * Tackle box for electronics components || 30&lt;br /&gt;
|-&lt;br /&gt;
| * corn-syrup replacement drives (2 x 1TB drives) || 2x$150 = $300 (+$11 shipping)&lt;br /&gt;
|-&lt;br /&gt;
| * Hardware for HFCS: RAM, CPU, Disk || ??? Remainder&lt;br /&gt;
|-&lt;br /&gt;
| * 2x Computer mice. || $100&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Technology Total&#039;&#039;&#039; || 530&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Miscellaneous&#039;&#039;&#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| * Bank Fees || 17&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Other Total&#039;&#039;&#039; || 17&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Total&#039;&#039;&#039; || 1482&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;MathSoc Funding Cap&#039;&#039;&#039; || 1482&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Budget|Budget201205]]&lt;/div&gt;</summary>
		<author><name>Laden</name></author>
	</entry>
</feed>