https://wiki.csclub.uwaterloo.ca/api.php?action=feedcontributions&user=Pj2melan&feedformat=atomCSCWiki - User contributions [en]2024-03-19T01:54:34ZUser contributionsMediaWiki 1.39.4https://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&diff=4219Past Executive2018-05-31T06:25:40Z<p>Pj2melan: added f17 w18 s18</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sources for this exec list have been: CSC records, MathNEWS.<br />
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: ''This week on campus''. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.<br />
<br />
= Definitions =<br />
#define PR President<br />
#define VP Vice-president<br />
#define TR Treasurer<br />
#define SE Secretary<br />
#define AV Assistant Vice-president<br />
#define SA Sysadmin<br />
#define OF Office Manager<br />
#define LI Librarian<br />
#define FL Flasher<br />
#define DE Deity<br />
#define WW Webmaster<br />
#define OF Office Manager<br />
#define SE-TR Secretary-Treasurer (Position was split)<br />
#define FR Fridge Regent<br />
<br />
=Founding 1967=<br />
<br />
Sponsor - J. Peter Sprung<br />
PR: K. Rugger<br />
VP: R. Jaques<br />
SE-TR: G. Sutherland<br />
<br />
Founding Members:<br />
B. Kindree<br />
R. Melen<br />
V. Neglia<br />
R. Charney<br />
R. Truman<br />
Glenn Berry<br />
D. Meek<br />
<br />
===Fall===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
Committee members: R. Stallwerthy, C. de Vries<br />
<br />
=1968=<br />
<br />
===Winter===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
===Fall===<br />
<br />
SE-TR: Glenn Berry<br />
<br />
=1969=<br />
<br />
Unknown, only one letter found in the folder 'ACM History' 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.<br />
<br />
=1970=<br />
<br />
===A note on ACM affiliation===<br />
<br />
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<br />
<br />
===Fall===<br />
<br />
PR: Rick Beach<br />
VP: Lee Santon<br />
TR: Randy Melen<br />
SE: Vic Neglia<br />
<br />
=1971=<br />
<br />
===Spring===<br />
<br />
VP: James H. "Jim" Finch and James W. Welch both signed letters as VP.<br />
<br />
===Fall===<br />
<br />
VP: James W. Welch<br />
<br />
=1972=<br />
<br />
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.<br />
<br />
===Winter===<br />
<br />
PR: Mike Campbell<br />
VP: Edgar Hew<br />
SE-TR: Doug Lacy<br />
<br />
There is also stuff from James W. Welch without a position.<br />
<br />
===Fall===<br />
<br />
PR: Ian McIntosh<br />
<br />
=1973=<br />
<br />
Faculty Sponsor: Morven Gentleman<br />
<br />
===Winter===<br />
<br />
SE: Douglas E. Lacy<br />
<br />
===Spring===<br />
<br />
PR: Jim Parry<br />
<br />
===Fall===<br />
<br />
PR: Jim Parry<br />
VP: Ray Walden<br />
TR: Slavko Stemberger<br />
SE: Mario Festival<br />
<br />
=1974=<br />
<br />
===Fall===<br />
<br />
PR: Russell Crook<br />
<br />
=1975-1977=<br />
<br />
Faculty Sponsor: Morven Gentleman??<br />
<br />
Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.<br />
Sylvia Eng: 1975/6 as some position.<br />
Dave Buckingham: a VP at some point<br />
Allison Nolan: 1977 time<br />
Peter Stevens: 1977<br />
Russel Crook???<br />
<br />
Dennis Ritchie came. So did Jeffrey D. Ullman.<br />
<br />
=1976=<br />
<br />
===Fall===<br />
<br />
Progcom: Peter Stevens<br />
<br />
=1977=<br />
<br />
===Winter===<br />
<br />
Progcom: Allison Nowlan<br />
<br />
===Spring=== <br />
<br />
PR: Peter Stevens<br />
Progcom: Allison Nowlan<br />
<br />
===Fall===<br />
<br />
PR: Andrzej Jan Taramina<br />
Progcom: Allison Nowlan<br />
<br />
=1978=<br />
<br />
===Winter===<br />
<br />
PR: Peter Stevens<br />
<br />
===Spring===<br />
<br />
TR: K.G. Dykes<br />
SE: Kandry Mutheardy<br />
<br />
Brian Kernighan gave a talk this term. So did Ken Thompson.<br />
<br />
===Fall===<br />
<br />
=1979=<br />
<br />
===Spring===<br />
<br />
PR: Robert Biddle<br />
<br />
<br />
=1987=<br />
<br />
===Fall===<br />
<br />
PR: Jim Boritz<br />
VP: Ted Timar<br />
TR: Gayla Boritz<br />
SE: Edwin Hoogerbeets<br />
<br />
=1988=<br />
<br />
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
Tim Timar - cc'd on memos/mentioned on mathsoc minutes in 1987/88.<br />
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The 'Record Management Profile' that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC<br />
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first "real" computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.<br />
<br />
===Fall===<br />
<br />
SA: Wade Richards<br />
<br />
=1989=<br />
<br />
===Winter===<br />
<br />
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg<br />
<br />
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), ??? <br />
<br />
PR: Barry W. Smith<br />
VP: Angela Chambers<br />
TR:<br />
SE: Sean Goggin<br />
SA: Wade Richards / Ross Ridge<br />
<br />
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
<br />
===Spring===<br />
<br />
PR: Jim Thornton<br />
VP: Gayla Boritz<br />
TR: David Fenger<br />
SE: Kivi Shapiro<br />
SA: Reid Pinchback<br />
<br />
Assistance to sysadmin: Jim Boritz.<br />
<br />
===Fall===<br />
<br />
PR: James Boritz<br />
VP: Edmond Bourne<br />
SA: Ross Ridge<br />
<br />
=1990=<br />
<br />
===Winter===<br />
<br />
TR: Jim Thornton<br />
<br />
===Spring===<br />
<br />
TR: Karen Smith<br />
SE: Robyn Steward<br />
<br />
===Fall===<br />
PR: Wade Richards<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart - attended mathsoc meeting on our behalf.<br />
Kivi Shapiro - attended mathsoc meeting on our behalf.<br />
- Censured by mathsoc for his actions during the election.<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
=1991=<br />
<br />
===Winter===<br />
VP: Edmond Bourne<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
John McCarthy came this term.<br />
<br />
===Spring===<br />
TR: Rob Leitman<br />
Jason Knell - attended mathsoc meeting on our and PMC's behalf.<br />
<br />
===Fall===<br />
TR: Mike Van Lingen<br />
Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.<br />
<br />
<br />
=1992=<br />
<br />
===Winter===<br />
TR: Norm Ross<br />
SE: Brent Williams<br />
<br />
===Spring===<br />
PR: Dale Wick<br />
TR: Stephen A. Mills<br />
<br />
===Fall===<br />
TR: Mark Plumb<br />
<br />
<br />
=1993=<br />
<br />
===Winter===<br />
TR: Rob Leitman<br />
VP: Tim Prime<br />
OF: Dave Ebbo<br />
LI: Norm Ross<br />
<br />
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray<br />
<br />
===Spring===<br />
TR: Mark Tompsett <br />
<br />
===Fall===<br />
<br />
PR: Ian Goldberg<br />
<br />
=1994=<br />
<br />
===Winter===<br />
PR: Ian Goldberg<br />
TR: Mark Tompsett<br />
SE: Tom Rathbourne<br />
LI: Michael Van Biesbrouck<br />
Norm Ross assisted with finances.<br />
<br />
===Spring===<br />
PR: Dale Wick (?)<br />
TR: Steve Mills<br />
SA: Ian Goldberg (?)<br />
Norm Ross assisted with finances.<br />
<br />
===Fall===<br />
PR: Ross Ridge<br />
VP: Tom Rathbourne (?)<br />
TR: Rob Leitman<br />
SA: Zygo Blaxell<br />
LI: Michael Van Biesbrouck<br />
<br />
<br />
=1995=<br />
<br />
===Winter===<br />
TR: Sharlene Schmeichel<br />
Amy Brown and Rob Ridge purchased books.<br />
<br />
===Spring===<br />
TR: Steve Mills<br />
<br />
===Fall===<br />
PR: Amy Brown (arbrown) <br />
VP: Christina Norman (cbnorman)<br />
TR: Steven Mills (samills)<br />
SE: Allyson Graham (akgraham)<br />
SA: Gavin Peters<br />
<br />
<br />
=1996=<br />
<br />
===Winter===<br />
PR: Nikita Borisov (nborisov)<br />
VP: Joseph Deu Ngoc (dtdeungo) <br />
TR: Stephen Mills (samills)<br />
SE: Sharlene Schmeichel (saschmei)<br />
SA: Dave Brown (dagbrown)<br />
OF: Somsack Tsai (stsai)<br />
LI: Devin Carless (dccarles)<br />
FL: Allyson Graham (akgraham)<br />
DE: Ian Goldberg (iagoldbe)<br />
<br />
===Spring===<br />
PR: Blake Winton (bwinton)<br />
VP: Nick Harvey (njaharve)<br />
TR: Nikita Borisov (nborisov)<br />
SE: Viet-Trung Luu (vluu)<br />
SA: Drew Hamilton (awhamilt)<br />
OF: Jillian Arnott (jarnott)<br />
LI: Ross Ridge (rridge)<br />
FL: Devin Carless (dccarles)<br />
<br />
=== Fall ===<br />
PR: Shannon Mann (sjbmann) <br />
VP: Joe "Frosh" Deu Ngoc (jtdeungo) resigned (heavy workload)<br />
TR: Michal Van Biesbrouck (mlvanbie) <br />
SE: Nikita Borisov (nborisov) <br />
SA: Chris Rovers <br />
OF: Dax Hutcheon (ddhutche) became VP upon jtduengo's resignation<br />
LI: Aliz Csenki (acsenki) <br />
FL: Aaron Chmielowiec (archmiel) <br />
DE: Skuld (no uwuserid yet...)<br />
<br />
<br />
=1997=<br />
<br />
===Winter===<br />
PR: Dima Brodsky <br />
VP: Nikita Borisov (nborisov)<br />
TR: Stephen Mills (samills)<br />
SE: Evan Jones (ejones)<br />
SA: Alex Brodsky<br />
OF: Chris Doherty<br />
LI: Matt Corks <br />
FL: Paul Prescod<br />
<br />
=== Fall ===<br />
PR: Chris Rovers (cdrovers) <br />
VP: Michael van Biesbrouck (mlvanbie) <br />
TR: Somsack Tsai (stsai) <br />
SE: Matt Corks (mvcorks)<br />
SA: Lennart Sorensen (lsorense) <br />
LI: Chmielowiec (archmiel) <br />
OF: Devin Carless (dccarles) <br />
FL: Aaron Chmielowiec (archmiel)<br />
<br />
<br />
= 1998 =<br />
<br />
=== Winter ===<br />
PR: Suresh Naidu <br />
VP: Viet-Trung Luu <br />
TR: Tim Coleman <br />
SE: Dax Hutcheon <br />
Librarian: Dax Hutcheon <br />
Flasher: Dax Hutcheon <br />
Webmaster: Dax Hutcheon <br />
SA: Robin Powell<br />
OF: Aaron Chmielowiec<br />
<br />
=== Spring ===<br />
<br />
Position Name You might call them...<br />
President roconnor Russell O'Connor<br />
Vice-president trwcolem Tim Coleman<br />
Treasurer knzarysk Karl Zaryski<br />
Secretary (bwinton) (Blake Winton)<br />
Sysadmin wbiggs Billy Biggs<br />
Librarian snaidu Suresh Naidu<br />
Flasher pechrysl Paul Chrysler<br />
Office Manager dccarles Devin Carless<br />
WWWW trwcolem Tim Coleman<br />
<br />
=== Fall ===<br />
<br />
President Joe Deu Ngoc jtdeungo<br />
Vice-President Wai Ling Yee wlyee<br />
Treasurer Fjord j2lynn<br />
Secretary Matt Corks mvcorks<br />
Sysadmin Andrew Hamilton awhamilt<br />
<br />
World Wide Web Wench Dax Hutcheon ddhutche<br />
Office Manager Richard Bell rlbell<br />
Librarian Damian Gryski dgryski<br />
Flasher Paul Chrysler pechrysl<br />
Official Deity Ian Goldberg iagoldbe<br />
Official Chairbeing Calum T. Dalek calum<br />
<br />
<br />
=1999=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
<br />
<br />
=2000=<br />
<br />
=== Winter ===<br />
PR: Will Chartrand (wgchartr)<br />
VP: Gavin Duggan (geduggan)<br />
TR:<br />
SE:<br />
SA: Lennart Sorensen (lsorense)<br />
OF:<br />
<br />
=== Fall ===<br />
PR: geduggan<br />
VP: <br />
TR:<br />
SE:<br />
SA: bioster<br />
OF:<br />
<br />
<br />
=2001=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=== Spring ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=2002=<br />
<br />
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php<br />
<br />
=== Winter ===<br />
PR: Billy Biggs<br />
VP: Stefanus Du Toit<br />
TR: Melissa Basinger<br />
SE: James Perry<br />
SA: Barry Genova<br />
Librarian: Ryan Golbeck<br />
Webmaster: Jonathan Beverley<br />
Office Manager: Sayan Li<br />
<br />
=== Spring ===<br />
PR: Alex Pop<br />
VP: Melissa Basinger<br />
TR: Siyan Li<br />
SE: James A Morrison<br />
SA: Jonathan Beverley<br />
Webmaster: Stefanus Du Toit<br />
<br />
=== Fall ===<br />
PR: James A. Morrison<br />
VP: Stefanus Du Toit<br />
TR: James Perry<br />
SE: Michael Biggs<br />
SA: Ryan Golbeck<br />
Librarian: Mark Sherry, Cassandra Schopf<br />
Webmaster: Stefanus Du Toit<br />
<br />
<br />
=2003=<br />
<br />
=== Winter ===<br />
PR: Kannan Vijayan (kvijayan)<br />
VP: Meg Darragh (m2darrag)<br />
TR: James Perry (jeperry)<br />
SE: Wojciech Kosnik (wkosnik)<br />
SA: Stefanus Du Toit (sjdutoit)<br />
LI: Simon Law (sfllaw)<br />
WM: Julie Lavoie (jlavoie)<br />
<br />
===Fall===<br />
PR: Stefanus Du Toit (sjdutoit)<br />
VP: Meg Darragh (m2darrag)<br />
TR: Tor Myklebust (tmyklebu)<br />
SE: James Perry (jeperry)<br />
SA: Simon Law (sfllaw)<br />
OF:<br />
<br />
<br />
=2004=<br />
<br />
===Winter===<br />
PR: Simon Law (sfllaw)<br />
VP: fspacek<br />
TR: ljain<br />
SE: Julie Lavoie (jlavoie)<br />
SA: Tor Myklebust(tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
PR: dnmorton ?<br />
VP: Tim Loach (tloach)<br />
TR: Michael Biggs (mbiggs)<br />
SE: Lesley Northam (lanortha)<br />
SA: <br />
OF:<br />
<br />
===Fall ===<br />
PR: jeperry<br />
VP: mtsay<br />
TR: Mark Sherry (mdsherry)<br />
SE: Tor Myklebust (tmyklebu)<br />
SA: jlavoie<br />
OF:<br />
<br />
<br />
=2005=<br />
<br />
===Winter===<br />
<br />
PR: mtsay<br />
VP: Lesley Northam (lanortha)<br />
TR: Holden Karau (hkarau)<br />
SE: domorton<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
<br />
PR: Mark Sherry (mdsherry)<br />
VP: Martin Kess (mdkess)<br />
TR: Ali Piccioni (apiccion)<br />
SE: Michael Biggs (mbiggs)<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Tim Loach (tloach)<br />
VP: Lesley Northam (lanortha)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: The Professor<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
<br />
=2006=<br />
<br />
===Winter===<br />
<br />
PR: Tor Myklebust (tmyklebu)<br />
VP: Michael Druker (mdruker)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: Mark Sherry (mdsherry)<br />
SA: William O'Connor (woconnor)<br />
OF:<br />
<br />
===Spring===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: David Tenty (daltenty)<br />
SE: Chris Evensen (cevensen)<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Martin Kess (mdkess)<br />
VP: Mark Sherry (mdsherry)<br />
TR: Sylvan L. Mably (slmably)<br />
SE: Caelyn McAulay (cmcaulay) <br />
SA: William O'Connor (woconnor)<br />
<br />
<br />
=2007=<br />
<br />
===Winter===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: David Tenty (daltenty)<br />
SA: Holden Karau (hkarau)<br />
Webmaster: jnopporn<br />
OF:<br />
<br />
===Spring===<br />
PR: Gaelan D'costa (gdcosta)<br />
VP: Kyle Larose (kmlarose)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Erik Louie (elouie)<br />
SA: Michael Spang (mspang)<br />
Librarian: David Tenty (daltenty)<br />
OF:<br />
<br />
===Fall ===<br />
PR: Holden Karau (hkarau)<br />
VP: Alex McCausland (amccausl)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Sean Cumming (sgcummin)<br />
SA: David Tenty (daltenty)<br />
OF:<br />
WW: dtbartle / jnopporn<br />
<br />
<br />
=2008=<br />
<br />
===Winter ===<br />
PR: Sean Cumming (sgcummin)<br />
VP: Matt Lawrence (m3lawren)<br />
TR: Mateusz Tarkowski (mtarkows)<br />
SE: Edgar Bering (ebering)<br />
SA: Jordan Saunders (jmsaunde)<br />
OF:<br />
<br />
===Summer ===<br />
PR: Brennan Taylor (b4taylor)<br />
VP: Qifan Xi (qxi)<br />
TR: Matt Lawrence (m3lawren)<br />
SE: Nick Guenther (nguenthe)<br />
SA:<br />
OF:<br />
<br />
===Fall ===<br />
PR: Matthew Lawrence (m3lawren)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Gregson (mgregson)<br />
SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik 'Domo' Chłobowski<br />
SA: Kyle Spaans (kspaans)<br />
OF:<br />
<br />
<br />
=2009=<br />
<br />
===Winter===<br />
PR: Michael Gregson (mgregson)<br />
VP: Edgar Bering (ebering)<br />
TR: Brennan Taylor (b4taylor)<br />
SE: James Simpson (j2simpso) resigned for business reasons, replaced by Rebecca Putinski (rjputins) <br />
SA: Jacob Parker (j3parker) <br />
OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)<br />
<br />
===Spring ===<br />
PR: Michael Spang (mspang)<br />
VP: Jacob Parker (j3parker)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Anthony Brennan (a2brenna)<br />
OF:<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Spang (mspang)<br />
SE: Brennan Taylor (b4taylor)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Rebecca Putinski (rjputins)<br />
<br />
<br />
=2010=<br />
<br />
===Winter===<br />
PR: Kyle Spaans (kspaans)<br />
VP: Edgar Bering (ebering)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Ajnu Jacob (ajacob)<br />
SA: Matthew Thiffault (mthiffau)<br />
OF: Jacob Parker (j3parker)<br />
<br />
Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr<br />
<br />
===Spring===<br />
PR: Jeff Cameron (j3camero)<br />
VP: Brennan Taylor (b4taylor)<br />
TR: Vardhan Mudunuru (vmudunur)<br />
SE: Matthew Lawrence (m3lawren)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Edgar Bering (ebering)<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Rebecca Putinski (rjputins)<br />
SE: Kyle Spaans (kspaans)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Amir Sayed Khader (askhader)<br />
<br />
<br />
=2011=<br />
<br />
===Winter===<br />
PR: Edgar Bering (ebering)<br />
VP: Jennifer "Emily" Wong (jy2wong)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Elana "Alana" Hashman (ehashman)<br />
SA: Peter "Bofh" Barfuss (pbarfuss)<br />
OF: Marc Burns (Marc Burns)<br />
<br />
===Spring===<br />
PR: Matthew Thiffault (mthiffau)<br />
VP: Matthew McPherrin (mimcpher)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Kwame Andrew Ansong (kansong)<br />
SA: Jeremy Brandon Roman (jbroman)<br />
OF: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Katharine Hyatt (kshyatt)<br />
TR: Jacob Parker (j3parker)<br />
SE: Elana Hashman (ehashman)<br />
SA: Anthony "hatguy/hotgay" Brennan (a2brenna)<br />
OF: Kyle Spaans (kspaans)<br />
LIB: Edgar Bering (ebering)<br />
<br />
<br />
=2012=<br />
<br />
===Winter===<br />
PR: Marc Burns (m4burns)<br />
VP: Elana Hashman (ehashman)<br />
TR: Jacob Parker (j3parker)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Summer===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Luqman Aden (laden)<br />
TR: Matthew McPherrin (mimcpher)<br />
SE: Elana Hashman (ehashman)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Marc Burns (m4burns)<br />
LIB: John Ladan (jladan)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Salem Talha (satalha)<br />
TR: Jennifer Wong (jy2wong)<br />
SE: Elana Hashman (ehashman), resigned<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: John Ladan (jladan)<br />
<br />
<br />
=2013=<br />
<br />
===Winter===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Marc Burns (m4burns)<br />
TR: John Mumford (jsmumfor)<br />
SE: Matt Olechnowicz (mgolechn)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Bryan Coutts (b2coutts)<br />
LIB: Matthew McPherrin (mimcpher)<br />
<br />
===Spring===<br />
PR: Shane Robert Creighton-Young (srcreigh)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Youn Jin Kim (yj7kim)<br />
SA: Anthony Brennan (a2brenna)<br />
OF: Marc Burns (m4burns)<br />
IMAPD: Dominik Chlobowski (dchlobow)<br />
<br />
===Fall===<br />
PR: Elana Hashman (ehashman)<br />
VP: Marc Burns (m4burns)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Edward Lee (e45lee)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Sean Hunt (scshunt)<br />
<br />
<br />
= 2014 =<br />
<br />
=== Winter ===<br />
PR: Bryan Coutts (b2coutts)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Marc Burns (m4burns)<br />
SE: Mark Farrell (m4farrel)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Nicholas Black (nablack)<br />
<br />
=== Spring ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Luke Franceschini (l3france)<br />
TR: Joseph Chouinard (jchouina)<br />
SE: Ifaz Kabir (ikabir)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Matthew Thiffault (mthiffau)<br />
<br />
=== Fall ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Theodor Belaire (tbelaire)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Shane Robert Creighton-Young (srcreigh)<br />
SA: Alexis Hunt (aechunt)<br />
OF: Mark Farrell (m4farrel)<br />
LIB: Gianni Leonardo Gambetti (glgambet)<br />
<br />
= 2015 =<br />
<br />
=== Winter ===<br />
PR: Gianni Leonardo Gambetti (glgambet)<br />
VP: Luke Franceschini (l3france)<br />
TR: Edward Lee (e45lee)<br />
SE: Patrick James Melanson (pj2melan)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Shikhar Singh (s285sing)<br />
LIB: Aishwarya Gupta (a72gupta)<br />
<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Patrick Melanson (pj2melan)<br />
TR: Jonathan Bailey (jj2baile)<br />
SE: Keri Warr (kpwarr)<br />
SA: Nik Black (nablack)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
LIB: Yomna Nasser (ynasser)<br />
<br />
<br />
=== Fall ===<br />
PR: Simone Hu (ss2hu)<br />
VP: Theo Belaire (tbelaire)<br />
TR: Jordan Taylore Upiter (jtupiter)<br />
SE: Daniel Marin (dmarin)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
<br />
<br />
= 2016 =<br />
<br />
=== Winter ===<br />
PR: Patrick Melanson (pj2melan)<br />
VP: Patrick Melanson (pj2melan)<br />
Acting VP, progcom chair: Theo Belaire (tbelaire)<br />
TR: Luqman Aden (laden)<br />
SE: Naomi Koo (m3koo)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Reila Zheng (wy2zheng)<br />
LI: Felix Bauckholt (fbauckho)<br />
FR: Marc Mailhot (mnmailho)<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Melissa Angelica Mary Tedesco (matedesc)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Aditya Shivam Kothari (askothar)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Zachary Seguin (ztseguin)<br />
LI: Charlie Wang (s455wang)<br />
FR: Marc Mailhot (mnmailho)<br />
<br />
=== Fall ===<br />
PR: Charlie Wang (s455wang)<br />
VP: Bryan Coutts (b2coutts)<br />
TR: Laura Song (lhsong)<br />
SE: Uday Barar (ubarar)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Jamie Sinn (j2sinn)<br />
LI: Felix Bauckholt (fbauckho)<br />
FR: Ilia Chtcherbakov (ischtche)<br />
<br />
= 2017 =<br />
<br />
=== Winter ===<br />
PR: Wilson Cheang (wyschean)<br />
VP: Tristan Hume (tghume)<br />
TR: Jordan Pryde (jxpryde)<br />
SE: Amir Fata (aafata)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Felix Bauckholt (fbaukcho)<br />
LI: Connor Murphy (cfmurph)<br />
FR: Marc Mailhot (mnmailho)<br />
<br />
=== Spring ===<br />
<br />
PR: Felix Bauckholt (fbauckho)<br />
VP: Zichuan Wei (z34wei)<br />
TR: Laura Song (lhsong)<br />
SE: Bo Mo (bzmo)<br />
SA: Zachary Seguin (ztseguin)<br />
OM: Uday Barar (ubarar)<br />
LI: Patrick Melanson (pj2melan)<br />
FR: Uday Barar (ubarar)<br />
<br />
=== Fall ===<br />
<br />
PR: Melissa Tedesco (matedesc)<br />
VP: Victor Brestoiu (vabresto)<br />
TR: Tristan Hume (tghume)<br />
SE: Marc Mailhot (mnmailho)<br />
SA: Jordan Pryde (jxpryde)<br />
OM: Zoë Laing (zlaing)<br />
LI: Felix Bauckholt (fbauckho)<br />
FR: Marc Mailhot (mnmailho)<br />
<br />
= 2018 =<br />
<br />
=== Winter ===<br />
<br />
PR: Patrick Melanson (pj2melan)<br />
VP: Charlie Wang (s455wang)<br />
TR: Ashley Dewiputri Pranajaya (adpranaj)<br />
SE: Arshia Mufti (a2mufti)<br />
SA: Jordan Pryde (jxpryde)<br />
OM: Zoë Laing (zlaing)<br />
LI: Zichuan Wei (z34wei)<br />
FR: Uday Barar (ubarar)<br />
<br />
=== Spring ===<br />
<br />
PR: Melissa Tedesco (matedesc)<br />
VP: Dhruv Jauhar (djauhar)<br />
TR: Tristan Hume (tghume)<br />
AV: Marc Mailhot (mnmailho)<br />
SA: Jennifer Zhou (c7zou)<br />
OM: Aditya Thakral (a3thakra)<br />
LI: Archer Zhang (z577zhan)<br />
FR: Marc Mailhot (mnmailho)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4165How to IRC2018-03-20T03:21:08Z<p>Pj2melan: rearranged images</p>
<hr />
<div>= Chatting with us =<br />
<br />
We self-host [https://mattermost.csclub.uwaterloo.ca/ Mattermost] now, it's easier to use if you're not familiar with IRC. If you know how to use IRC, we're #csc on Freenode and there should be a #csc bridge that relays messages between #csc and our Mattermost instance.<br />
<br />
Both #csc on Freenode ([http://webchat.freenode.net/?channels=%23csc&uio=d4 Freenode Webchat] or via IRC clients e.g. irssi, weechat) and ~freenode-csc on Mattermost are official channels to interact with CSC members!<br />
<br />
= Mattermost Setup =<br />
<br />
[[File:Mattermost-phone-sample.jpg|alt=Mattermost android screenshot of #csc channel|200px|top|left|thumbnail|A screen capture of the #csc channel, as seen from Mattermost Android client]]<br />
[[File:Mattermost-csc-sample.png|alt=Mattermost #csc screen capture, including a conversation between members of the channel|200px|top|right|thumbnail|A screen capture of the #csc channel, as seen from Mattermost desktop]]<br />
<br />
Make an account at [https://mattermost.csclub.uwaterloo.ca/signup_email our self-hosted Mattermost]. For username, you can put your questid (i.e. your CSC username), although you can always set your full name as it will appear in Mattermost.<br />
<br />
The benefit of Mattermost over Slack and family is that Slack stores all your information on Slack's servers, wherever they are in the US. They do this so they can sell your data back to you (e.g. not allowing you to see old messages), but Slack is also closed-source even though it was derived from IRC. Mattermost is open-source and hosted on CSC servers.<br />
<br />
For iOS users, Mattermost's mobile app is also a superior option if you wish to receive push notifications as it supports Apple's native push via iCloud/APN.<br />
<br />
= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|450px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Once you have entered in all these commands, you don't need your terminal anymore. You can close your ssh window!<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client:</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /server add freenode chat.freenode.net/7000 -ssl -autoconnect<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
You're now connected to the main IRC network! Connected by an SSL connection, so you're super sneaky as well. Way to go.<br />
<br />
Now, to join the CSC channel!<br />
<br />
In your client, you'll now have two buffers that you can switch to. One is called "weechat" and the other is "freenode".<br />
<br />
Switch to the "freenode" buffer and type:<br />
<br />
> /join #csc<br />
<br />
Congratulations you win!<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, use <br />
> /q [nick] [optional message] <br />
which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use <br />
> /join [channel]<br />
For example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to run `screen -U weechat` again to start your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Securing Glowing Bear - SSL/TLS Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
== Quick SSH-based Setup ==<br />
<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/server add -auto -net freenode -ssl -ssl_verify chat.freenode.net 6697<br />
/save<br />
/connect freenode<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
/save<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4157How to IRC2018-03-19T23:59:13Z<p>Pj2melan: </p>
<hr />
<div>= IRC Setup =<br />
<br />
We self-host mattermost now, it's easier to use. If you know how to use IRC, we're #csc on freenode and there may or may not be a #csc bridge that relays messages between #csc and our mattermost. But #csc is now on mattermost.<br />
<br />
= Mattermost Setup =<br />
<br />
[[File:Mattermost-phone-sample.jpg|alt=Mattermost android screenshot of #csc channel|200px|right|thumbnail|A screen capture of the #csc channel, as seen from Mattermost Android client]]<br />
<br />
Make an account at [https://mattermost.csclub.uwaterloo.ca/signup_email our self-hosted mattermost]. For username, you can put your questid (i.e. your CSC username), although you can always set your full name as it will appear in mattermost.<br />
<br />
The benefit of mattermost over slack and family is that slack stores all your information on slack's servers, wherever they are in the US. They do this so they can sell your data back to you (e.g. not allowing you to see old messages), but slack is also closed-source even though it was derived from IRC. Mattermost is open-source and hosted on CSC servers.<br />
<br />
[[File:Mattermost-csc-sample.png|alt=Mattermost #csc screen capture, including a conversation between members of the channel|600px|left|thumbnail|A screen capture of the #csc channel, as seen from Mattermost desktop]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4156How to IRC2018-03-19T23:58:42Z<p>Pj2melan: IRC -> mattermost, yo</p>
<hr />
<div>= IRC Setup =<br />
<br />
We self-host mattermost now, it's easier to use. If you know how to use IRC, we're #csc on freenode and there may or may not be a #csc bridge that relays messages between #csc and our mattermost. But #csc is now on mattermost.<br />
<br />
= Mattermost Setup =<br />
<br />
Make an account at [https://mattermost.csclub.uwaterloo.ca/signup_email our self-hosted mattermost]. For username, you can put your questid (i.e. your CSC username), although you can always set your full name as it will appear in mattermost.<br />
<br />
The benefit of mattermost over slack and family is that slack stores all your information on slack's servers, wherever they are in the US. They do this so they can sell your data back to you (e.g. not allowing you to see old messages), but slack is also closed-source even though it was derived from IRC. Mattermost is open-source and hosted on CSC servers.<br />
<br />
[[File:Mattermost-csc-sample.png|alt=Mattermost #csc screen capture, including a conversation between members of the channel|600px|left|thumbnail|A screen capture of the #csc channel, as seen from Mattermost desktop]]<br />
<br />
[[File:Mattermost-phone-sample.jpg|alt=Mattermost android screenshot of #csc channel|200px|right|thumbnail|A screen capture of the #csc channel, as seen from Mattermost Android client]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=File:Mattermost-phone-sample.jpg&diff=4155File:Mattermost-phone-sample.jpg2018-03-19T23:43:13Z<p>Pj2melan: </p>
<hr />
<div></div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=File:Mattermost-csc-sample.png&diff=4154File:Mattermost-csc-sample.png2018-03-19T23:34:15Z<p>Pj2melan: </p>
<hr />
<div></div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Printing&diff=4144Printing2018-02-17T21:37:26Z<p>Pj2melan: /* MathSoc Printer (new) */ deprecated page</p>
<hr />
<div>= Setting up printers =<br />
<br />
We usually support the MathSoc and MFCF printers on our office terminals.<br />
<br />
== MathSoc Printer (new) ==<br />
As of 2018, this section is old and needs to be updated. The Mathsoc printer isn't an HP LaserJet anymore. If you can update this article, that would be appreciated!<br />
<br />
The new MathSoc Printer is an HP LaserJet Pro MFP M476dn, and requires the HPLIP v3.14.4 drivers. This model is not supported by the default version of HPLIP in Ubuntu 14.04 (3.14.3); therefore, you will need to run the installation scripts.<br />
<br />
# Go to [http://hplipopensource.com/hplip-web/install/install/index.html the HP Linux Imaging and Printing site] and download hplip, version >= 3.14.4.<br />
# Follow the installation walkthrough; make sure you put the run script in <tt>/tmp</tt> to avoid NFS permissions problems. Then execute <pre>sh hplip-x.xx.x.run</pre><br />
#* All the default options are fine. You can select the automatic setup process.<br />
#** This is '''not''' true for <tt>maltodextrin</tt>, which had some issues with the scanner group during the setup process. We don't actually need scanner support, so I fixed this by selecting a subset of features (that excluded scanning) in the "custom" install.<br />
#* This will take a while and install all your dependencies; you need to supply it your sudo password.<br />
#* When prompted about USB-conncted printers, you can select "i=ignore".<br />
# Now you should be able to add the printer through the Ubuntu GUI: <pre>gksudo /usr/share/system-config-printer/system-config-printer.py</pre> Follow the wizard step-by-step:<br />
## URI: <pre>ipp://lp-mc3038.mathsoc.uwaterloo.ca/ipp</pre><br />
## Choose "Select Printer from Database", and select details:<br />
##* Brand: HP<br />
##* Make: Color LaserJet Pro MFP m476dn<br />
## Fill in printer info:<br />
##* Name: MathSoc<br />
##* Description: The colour printer in MathSoc. Printing is 10 cents per double-sided black and white sheet, and 35 cents per colour side.<br />
##* Location: MC 3038<br />
## Set default options: make sure that Job Options > print-color-mode: is set to '''monochrome''' and Printer Options > Two-sided: is set to '''Long-Edge Binding'''.<br />
<br />
== ljp_3016 printer ==<br />
<br />
# Printer Connection: <pre>ipp://print.cs.uwaterloo.ca/printers/ljp_3016</pre><br />
# Name: ljp_3016<br />
# Description: Main Math Printers<br />
# Location: MC 3016<br />
# Brand: HP<br />
# Make: LaserJet 4250 Foomatic/Postscript<br />
# Default options: make sure that two-sided printing is set to long-edge<br />
<br />
'''NOTE: If the brand/make is not available for selection, don't download any third-party drivers. These drivers are available in apt. Find them there.'''<br />
<br />
Print quota is done via IST's XAS system, which can be accessed here: [http://strobe.uwaterloo.ca/ist/services/index.php?service=62] or [https://ist-xas.uwaterloo.ca/xas/]<br />
<br />
= Setting up CUPS, the printing subsystem =<br />
# Install <tt>cups</tt>.<br />
# Go to <tt>http://localhost:631/</tt>. Go to 'Add Printer'. You may need to supply the root username/password.<br />
# Click 'Internet Printing Protocol (ipp)'. CSC doesn't have any local printers, chances are all printers are connected via LAN. If it is LAN, then it is ipp.<br />
# Enter connection, name, and description of the printer.<br />
<br />
If there is a machine with printing already properly set up, you may copy the file /etc/cups/printers.conf to the corresponding location on machines that aren't set up. Ensure that you stop CUPS (sudo service cups stop) on the fresh machine before copying over printers.conf (and don't forget to start it again afterward).</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4112How to IRC2017-09-24T18:11:37Z<p>Pj2melan: </p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Once you have entered in all these commands, you don't need your terminal anymore. You can close your ssh window!<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client:</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /server add freenode chat.freenode.net/7000 -ssl -autoconnect<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
You're now connected to the main IRC network! Connected by an SSL connection, so you're super sneaky as well. Way to go.<br />
<br />
Now, to join the CSC channel!<br />
<br />
In your client, you'll now have two buffers that you can switch to. One is called "weechat" and the other is "freenode".<br />
<br />
Switch to the "freenode" buffer and type:<br />
<br />
> /join #csc<br />
<br />
Congratulations you win!<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to run `screen -U weechat` again to start your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4111How to IRC2017-09-24T18:10:27Z<p>Pj2melan: netwrok -> network</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Once you have entered in all these commands, you don't need your terminal anymore. You can close your ssh window!<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client:</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /server add freenode chat.freenode.net/7000 -ssl -autoconnect<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
You're now connected to the main IRC network! Connected by an SSL connection, so you're super sneaky as well. Way to go.<br />
<br />
Now, to join the CSC channel!<br />
<br />
In your client, you'll now have two buffers that you can switch to. One is called "weechat" and the other is "freenode".<br />
<br />
Switch to the "freenode" buffer and type:<br />
<br />
> /join #csc<br />
<br />
Congratulations you win!<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4110How to IRC2017-09-24T18:09:33Z<p>Pj2melan: /* IRC Setup */ turns out you can add freenode server and turn on ssl/autoconnect in one command. Cool!</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Once you have entered in all these commands, you don't need your terminal anymore. You can close your ssh window!<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client:</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /server add freenode chat.freenode.net/7000 -ssl -autoconnect<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
You're now connected to the main IRC netwrok! Connected by an SSL connection, so you're super sneaky as well. Way to go.<br />
<br />
Now, to join the CSC channel!<br />
<br />
In your client, you'll now have two buffers that you can switch to. One is called "weechat" and the other is "freenode".<br />
<br />
Switch to the "freenode" buffer and type:<br />
<br />
> /join #csc<br />
<br />
Congratulations you win!<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Exec_Manual&diff=4106Exec Manual2017-07-04T15:30:37Z<p>Pj2melan: /* Secretary */ added how-to render and upload talks.</p>
<hr />
<div>= President =<br />
This section covers various useful notes for the CSC president, ranging from who to call for room bookings to when the term should end. I'll rant some more later.<br />
<br />
== What to do ==<br />
<br />
The President is the person responsible. As ungrammatical as that may seem, it is exactly accurate. He or she is responsible to make certain that everything the CSC is involved in gets proper attention. Specifically, the President's duties are:<br />
<br />
* to call and preside at all general, special, and executive meetings of the Club;<br />
<br />
* to appoint all committees of the Club and the committee chair of such committees, except the chair of the Programme Committee;<br />
<br />
* to audit, or to appoint a representative to audit, the financial records of the club at the end of each academic term.<br />
<br />
Wherever possible, the President should delegate tasks to others. Not doing this can overburden the President.<br />
<br />
== Explanation ==<br />
<br />
As listed above the president is responsible for appointing committee chair's and other positions. So, it is basically up to the president to decide whether or not there is an explicit office staff. How do people become office staff? Must the office close every day? What do the members expect to get out of the club in this term?<br />
<br />
== MathSoc ==<br />
<br />
The CSC is a MathSoc club as such you should know the [http://www.math.uwaterloo.ca/pinkbook.php MathSoc club policies] and know that the president is a non-voting member of MathSoc council, like MathSoc directors.<br />
<br />
== SCS ==<br />
<br />
See [[SCS Guide]] for how to deal with the School of Computer Science.<br />
<br />
== Planning events ==<br />
<br />
Planning events is a useful thing to know, so go read the Vice-President's section.<br />
<br />
= Vice President =<br />
This section covers various useful notes for the CSC vice president, ranging from who to call for room bookings to how to promote your events.<br />
<br />
== Planning events ==<br />
<br />
So, you're the CSC Vice President and you want to (hopefully) have the CSC host some really cool events this term. Congratulations! This chapter should help you get started with that. For starters, the most important thing to remember is this: plan your events early!. I recommend about 2 to 3 weeks in advance. This rough timeline should help:<br />
<br />
* 2-3 weeks in advance: Get a title and abstract for the event from the speaker as well as a date and time.<br />
<br />
* 2 weeks in advance: Book the room and any necessary equipment (projectors etc). Make posters for the event. Make initial announcements on Usenet and possibly by e-mail.<br />
<br />
* 1 week in advance: For events with food, order food. This can be pizza (cheap, somewhat filling), pastry/fruit/sandwich platter from the CnD (instructions later in this section), Kismet (yummy, for when you have money), and SLC Tim Hortons (timbits are very cheap, and you can get several dozen on little notice).<br />
<br />
* 2 Days in advance: E-mail Chris Redmond (credmond@uwaterloo.ca) to get the event into the Daily Bulletin. Include a short (one-paragraph) description.<br />
<br />
* 1 day in advance: Speak with ICR (in DC, first floor) about getting the speaker a parking pass if needed.<br />
<br />
* Day of the event: Try to be at the event, or find someone who will be to make sure things go smoothly. Remember to get the projector if necessary. If there are people in the room you booked, ask them to leave politely. Mention that you have the room booked. Get refreshments to the room as necessary. Introduce the speaker.<br />
<br />
* After the event: Thank the speaker in front of the audience and applaud. Offer to take the speaker out for dinner. Clean up the room and return any loaned equipment. Write him or her a cheque for any expenses if necessary. For out-of-town speakers a small gift might be nice.<br />
<br />
<br />
The rest of this section will outline various tips that should be useful when running events and suggest some events that you might want to run.<br />
<br />
=== Ordering food from the CnD ===<br />
The Math CnD is right across from the CSC office and Rose is really nice. As another bonus, when ordering through the CnD lets Mathsoc take care of all the accounting such that you don't even have to pay using your own credit card.<br />
<br />
To order, just fill out the CnD order form available at ~exec/veep/cnd-catering-form.doc with what you want to order and how much budget you have for the event. The order form was created by Rose the CnD manager in S17, but it will probably be very similar in future terms if it ever changes.<br />
<br />
Once you have filled out the order form, get it signed by a Mathsoc VPF/VPI/Prez, then bring it to the CnD manager. Then just pick up the food on the day of the event. It's really super easy. The CnD is so cool.<br />
<br />
=== Getting ideas and speakers for events ===<br />
<br />
Obviously you will have to start your planning by coming up with an event. Here are some types of events you might want to hold:<br />
<br />
* Talks held by CSC members. Ask around, there are probably a few members who have interesting things to give talks on. In the past CSC members have given talks about programming languages they like, Operating Systems, research projects, etc.<br />
<br />
* Talks held by Faculty: Simply ask your CS profs, or get other exec to ask their profs or interesting faculty. Approaching faculty in person might get you better results than e-mailing, but be sure to follow up with an e-mail so that you have something written to remind them.<br />
<br />
* Out-of-town speakers. The [http://www.acm.org/chapters/stu/ ACM student chapter website] has a section called "Lectureship series" where you can find information on getting an ACM Distinguished Lecturer. You can also simply approach interesting people (in Academia, Industry or the Free Software scene) by e-mail and ask them if they'd like to come and give a talk (or a few talks). Don't be afraid to ask high-profile people, the worst you can get is a "no." Be sure to have the treasurer budget money to pay for the guest speaker's expenses. If you can, try to pay for travel expenses (unless the speaker offers), but at the very least arrange for meals and accommodation as well as transport from the airport or bus/train station if necessary.<br />
<br />
* Special events. In the past we've had an event called "Pints with Profs" where we invited the CS faculty (cs-faculty@cs.uwaterloo.ca) and any interested CS students to come out to a pub. The Bomber is a convenient location but we've found their catering to be expensive. Weaver's Arms (in WCRI) might be a good alternative. Be sure to budget this with Mathsoc, so you can pay for free food. Try to get both meat and vegetarian alternatives (e.g. Wings and Veggie Platters). Make sure you publicize this event very well, and don't hesitate to ask the profs to announce it in class (giving them overheads might be a good idea). This is definitely an event you should try to hold. If you can think of any other special events, go right ahead, be creative! Be sure to add them here.<br />
<br />
* Tutorials. Usually we hold a few UNIX tutorials at the beginning of the term. These are quite popular and you can get Faculty (especially the first and second-year CS profs) to announce them in class. Be sure to book a lab. If there are more than one or two other people in the lab, politely ask them to leave - in our experience, asking such groups to be quiet doesn't usually work very well. Aside from UNIX you could have tutorials for LaTeX, some programming language, some programming problem (e.g. "Writing a raytracer") or anything you think would be useful for people to learn.<br />
<br />
* Contests. Programming contests can be a lot of fun and will certainly raise interest in the club. Try to get nice prizes so that you can attract a large group of contestants. Be sure to have the rules and the environment set up early on. Game solving contests are a good idea (this can range from writing programs to play rock-paper-scissors to having programs compete at playing chess), demo programming contests can also be fun or you might go for something more useful. It's up to you - be creative!<br />
<br />
* Anything else you can think of. Be imaginative and ask for suggestions. The ACM website also has some good suggestions for events. Don't limit yourself to computer-related events - a volleyball match against the Pure Math Club might be fun.<br />
<br />
= Treasurer =<br />
<br />
The treasurer's responsibilities include:<br />
<br />
* Preparing and presenting to MathSoc the budget for the term<br />
* Keeping the cash box filled with change and small bills<br />
* Writing checks to reimburse members for items they purchase for the club<br />
* Submitting forms to MathSoc, MEF, etc. for items purchased, and MAKING SURE we receive promised funding<br />
<br />
== Getting Reimbursed ==<br />
<br />
It's important that we be reimbursed for all of our purchases. For expenses on the MathSoc budget, fill out an expense form (usually in the tray outside MC 3038) and submit it to the VPF. Make sure to specify which budget line item each expense is claimed against. Submit copies of all receipts and invoices, and keep the originals in the safe until we are reimbursed. Finally, bug the MathSoc VPF if we still haven't received a cheque from MathSoc after a week or two.<br />
<br />
= Secretary =<br />
<br />
The secretary is usually responsible for:<br />
<br />
* Keeping members and students informed of upcoming events<br />
** Posting minutes of club meetings<br />
** Advertising club events (see section on advertising below)<br />
* Club correspondence<br />
** Regularly checking our mailbox in MC 3038 (MathSoc)<br />
** Reading and responding to mail we receive<br />
* Recruitment<br />
** Membership drives<br />
** Maintaining club bulletin board and other propaganda<br />
* Recording CSC events (jointly with the VP)<br />
** Getting that recording rendered and up onto the website at https://csclub.uwaterloo.ca/media<br />
<br />
=== Announcing the event: Very General Overview ===<br />
<br />
Before the event, you should<br />
<br />
* Print out ~18 posters on the CSC budget and put them up on the CSC reserved poster boards. In the hallways of third and second floor MC there are locked display cases and reserved corkboards for staples only. Make sure to clear these of any posters that the CSC doesn't put up or sanction.<br />
<br />
* Update twitter and facebook with the event.<br />
<br />
* Update the IRC topic to include the deets for when and where the event is being held. This is even more restrictive on character count than a tweet is.<br />
<br />
* Send out an email with the details to csc-general.<br />
<br />
* Talk about it with your friends. The importance of word-of-mouth advertising is hard to overstate.<br />
<br />
Right before the event, optionally and temporarily put up any remaining posters around, e.g. right on doors. Go to the event, enjoy it, then take down the temporary posters (and all the other posters while you're at it sure why not).<br />
<br />
After the event, remember to<br />
<br />
* Reset the IRC topic.<br />
<br />
* Take down all posters.<br />
<br />
* Pat yourself on the back.<br />
<br />
=== Announcing the event: Posters and Posts ===<br />
<br />
Once you have the abstract and the room booked you should get the word out. For starters you should send an announcement to the members by e-mail (try to reserve the latter for special events, although an update with upcoming events every now and then might be a good idea).<br />
<br />
You'll also want to make printed posters. You can find lots of good files for making posters in ~git/public/csc-propaganda.git, and a default sample-poster.tex is included. Try to not have too much text on the posters so that they grab more attention. Getting posters out earlier rather than later is definitely beneficial. To actually distribute posters you should use several methods:<br />
<br />
* Put up the posters on the CSC boards. There are poster cases in the North-South hallways of MC third floor, two stapling boards in the main East-West hallway of MC third floor, one stapling board just outside of the CSC office, two staple boards and two poster cases at the South entrance of MC second floor, and one poster case on the North side of MC second floor.<br />
<br />
* Give 6 posters to Mathsoc. Just drop by 6 posters in the Mathsoc office and they'll put them up around the MC and DC.<br />
<br />
* For special events, make use of the [http://www.feds.ca/additional-resources/poster-run/ FEDS poster run]. FEDS offers a (reasonably cheap) poster run where they will distribute many posters around campus. While we aren't a FEDS club, we are part of MathSoc, so try to get the "student society" price. Also, make sure you budget for this from Mathsoc, you can probably get funds from them to use this.<br />
<br />
* If you ask in the event form to put the event on the Feds events calendar, it will be put into the UW Portal clubs events widget.<br />
<br />
There are other ways to get people to know about the event. If the event is relevant to classes, try to convince profs to announce it in class (giving them an overhead with the details is a good idea). Also, have the event announced in the Daily Bulletin (a daily update on the UW website about what's happening on campus). To do so, e-mail Chris Redmond (credmond@uwaterloo.ca).<br />
<br />
Word of mouth is another important channel. Tell others in the CSC (both executives and members) to tell their friends about events. Tell your own friends and classmates about events that they might find interesting. Word of mouth is often how events get most of their publicity.<br />
<br />
Lastly, you'll want to add the event to the website. Contact the CSC webmaster (or if there is none, the sysadmin) to have him or her do that for you, or find out how to do it yourself. This way others can check for events on the website, and you can also conveniently point people there if they ask, "What events is the CSC offering this term?"<br />
<br />
=== Recording Talks ===<br />
<br />
This step is pretty easy, but requires a lot of processing time. You will need access to the CSC mirror, either by asking syscom to put you in the 'mirror' group, or just asking syscom to upload your files.<br />
<br />
The high-level overview here is: Record the talk, move the *.MTS files off the camera, use the csc-media tools to convert it into *.mp4, then upload the resulting *.mp4 files to https://csclub.uwaterloo.ca/media . The list below looks long, but it's just because I included a lot of auxiliary information. This is actually probably like 20 or so commands.<br />
<br />
* Once the talk has been recorded, plug the camera in using the mini-USB cable that comes in the box. If you're using a CSC terminal, open up a file manager that auto-mounts things for you (e.g. Thunar) and it should mount the camera for you. Once you have copied all the files off the camera, make sure to delete everything on the camera so future secretaries/VPs will not run out of memory halfway through a prof talk!<br />
<br />
* You'll see a bunch of files like <code>00008.MTS</code> <code>00009.MTS</code> on the camera. The camera will create one of these MTS files until it's 2 GB, at which point it will create another file and keep recording. So when you record, say, an hour-long talk you'll get something like <code>00002.MTS</code> (2 GB), <code>00003.MTS</code> (2 GB), <code>00004.MTS</code> (2 GB), <code>00005.MTS</code> (800 MB). From this, you can probably conclude that <code>0000[2-5].MTS</code> is your recording. Then all you have to do is just type <code>cat 0000[2-5].MTS > my-talk.mts</code> and it'll just make one big file. Wow, how did that happen? Either it's a consequence of the encoding format, or pure magic. Who knows!?<br />
<br />
* Normally it would be a pretty hard process to figure out how to turn this .MTS file into a .mp4 file, but luckily we have some scripts to help you with this (thanks Peter). To use this, just <code>ssh hfcs</code> (because that's the CSC's beefiest machine), navigate to (a mountpoint that I'm asking syscom about, I'll edit this in), then <code>git clone ~git/public/csc-media.git</code> and go through the README in csc-media to encode your file. You'll notice that we have already done step 1, so good for us! Note that the encoding job will take a really long time (an hour or so), so if you want to close your terminal, type <code>screen ./encode.sh ...</code> instead of <code>./encode.ssh ...</code> for step 2.<br />
<br />
* Nice! Now you have an .mp4 and .jpg thumbnails. We just have to upload this to the CSC mirror. At this point you'll need privileges to copy the files you made onto mirror, so either ask syscom to upload it, or ask them to add you to the <code>mirror</code> group (in which case they'll tell you to <code>scp</code> it to <code>mirror:/mirror/root/csclub/</code> or similar). Copy the .mp4 and the small .jpg thumbnail, we'll use both for the next step.<br />
<br />
* The final step is to update the CSC website to include an entry for your new video. "Oh no, I'm not good at webdev" don't worry it's just an XML file. Simply <code>git clone ~git/www ~/csc-website</code> and edit <code>~/csc-website/media/index.xml</code> to include your talk file, following the format of previous events. To test your changes, run <code>make</code> in <code>~/csc-website</code> and then make a symlink with <code>ln -s ~/csc-website/build ~/www/csc-website-testing</code> and navigate to <code>https://csclub.uwaterloo.ca/~yourusername/csc-website-testing</code> in your browser.<br />
<br />
Wow, isn't that fancy!<br />
<br />
To make your changes public, ssh into caffeine, go to your ~/csc-website directory, commit your changes using git, then <code>git push</code>. Your changes should be on the CSC website now! You might have to ctrl-F5 to get the latest page.<br />
<br />
Thank you, kind secretary. Future denizens of the CSC will appreciate this.<br />
<br />
=== Recruiting: Propaganda and Membership Drives ===<br />
<br />
A notably successful way to recruit new members is to hold a membership drive. Recently, we have booked a table in the 3rd floor MC lobby through MathSoc and asked math students passing by to join. An effective tactic is to provide vouchers for $2.00 worth of pop as an incentive. The tickets in the office desk can be used for this purpose. Only new users should get free pop. Two tickets can be given, with half a ticket representing a free can. The tickets should expire after one week and you should count exactly how many you give out. This simplifies our accounting for the recruitment budget.<br />
<br />
= Systems Administrator =<br />
<br />
The system administrator chairs the [[Systems Committee]], and is responsible for keeping all of our computers in working order. The CSC computing environment is good, but not nearly perfect, and the sysadmin should look for ways to improve it. We don't have a strict "if it works, don't touch it" policy, and encourage people to try new things to see if they work better. Because of this, we don't have "5 nines" uptime or anything close, but do have a modern computing environment that is constantly improving. Our systems should be, and often are, better at the end of term than the beginning.<br />
<br />
Early in the term, the sysadmin should consider what hardware upgrades we would like to have, and send proposals to the treasurer to add to the budget. A bit later, this happens again with MEF proposals.<br />
<br />
The sysadmin should also make sure requests by our users (to systems-committee@csclub) are answered, and make recommendations to the Executive Council to add new systems committee members or reevaluate old ones.<br />
<br />
= General Information =<br />
<br />
== Useful Contacts ==<br />
<br />
There are several people that many exec will need contact information for. Their contact info follows and should be updated when these people change!<br />
<br />
* Donna Schell: Book most rooms in the MC or elsewhere on campus. She can generally book any lecture hall. If she can't do it, she can tell you who can! She can be reached at dschell@uwaterloo.ca or at extension 2207.<br />
<br />
* Vera Korody: ICR secretary. Should we wish to use the DC fishbowl for anything we can contact her. She may require us to get the permission of a ICR director to use it. Currently the friendly director is Vic DiCiccio at vicd@uwaterloo.ca. I am including the text of an email I sent and the response from Vic below. It is easiest to talk to her directly at the ICR reception area beside the fishbowl in DC, however she can also be e-mailed at vkorody@uwaterloo.ca or called at ext. 2042.<br />
<br />
Hi,<br />
<br />
The Computer Science Club is interested in booking DC 1301 (The Fishbowl) for a student-prof <br />
mixer on the afternoon Monday, October 17. We were told that it would require the permission <br />
of someone higher up in ICR since we're a student club. We considered asking our faculty <br />
advisor, Prabhakar Ragde, to book it on our behalf, but that would require him to be present <br />
for the entire event and we don't want to impose on him to that extent unless we have to. We <br />
are hoping to get your permission to book it since our primary purpose is to remove alcohol <br />
from the picture, to get it away from the "pints" mentallity and focus it more towards the <br />
frosh.<br />
<br />
Thanks for your consideration.<br />
<br />
Tim Loach<br />
<br />
CSC President<br />
<br />
His Response:<br />
<br />
Hi Timothy,<br />
<br />
Sure, I would definitely approve this. Have you been turned down by others? But you need to <br />
email Vera Korody to book the room, because it might be booked, and you need to get her <br />
rules about moving chairs, etc. I'll copy her on this email.<br />
<br />
BTW, does the CSC know that Mike Lazaridis is coming to Fed Hall on Oct 3 to explain why <br />
RIM is a cool place to work, and that there are still challenges there to interest co-ops <br />
and grads. We could use your help in getting the word out. You've probably seen the posters.<br />
<br />
Best,<br />
<br />
Vic<br />
<br />
* MathSoc: It is often smart to have executive in MathSoc who are friendly with the CSC. To that end it is helpful to keep up with the MathSoc exec and attend MathSoc events. Their office is directly across the always closed door from ours. The president and VPF are particularily helpful, in case we go a little over budget for any event they can approve funding up to $100 extra by themselves. They can be reached at president@mathsoc.uwaterloo.ca and VPF@mathsoc.uwaterloo.ca. They also have a projector that we can borrow from time to time.<br />
<br />
* AV stuff should be handled through AV services at extension 3033. Keys for AV stuff can be obtained at E2 1309. Note that they will charge you $80 if you intend to use a projector (and that's non-refundable - apparently bulbs are expensive and need to be replaced often).<br />
<br />
== External links ==<br />
<br />
* [http://csclub.uwaterloo.ca/misc/procedure.tex Old procedure manual (LaTeX)]<br />
* [http://csclub.uwaterloo.ca/misc/procedure.pdf Old procedure manual (PDF)]<br />
* [http://csclub.uwaterloo.ca/misc/mathsoc.club.pdf MathSoc club manual (PDF)]<br />
<br />
[[Category:Guides]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4105How to IRC2017-06-26T15:26:23Z<p>Pj2melan: </p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Once you have entered in all these commands, you don't need your terminal anymore. You can close your ssh window!<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client:</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4104How to IRC2017-06-26T15:24:24Z<p>Pj2melan: </p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Once you have entered in all these commands, you don't need your terminal anymore. You can directly close it even!<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client:</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4103How to IRC2017-06-26T15:22:06Z<p>Pj2melan: </p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
<br />
A "WeeChat" window should have opened up. Type the following commands into this window, replacing [yourpassword] with a password of your choice and [yourport] with a number in the range of [28100-28400]:<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
<li>Your personal WeeChat server is set up. Now connect to it using a pretty client!</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type:<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Exec_Manual&diff=4102Exec Manual2017-06-22T17:33:58Z<p>Pj2melan: /* Planning events */ added in info about ordering food from the CnD</p>
<hr />
<div>= President =<br />
This section covers various useful notes for the CSC president, ranging from who to call for room bookings to when the term should end. I'll rant some more later.<br />
<br />
== What to do ==<br />
<br />
The President is the person responsible. As ungrammatical as that may seem, it is exactly accurate. He or she is responsible to make certain that everything the CSC is involved in gets proper attention. Specifically, the President's duties are:<br />
<br />
* to call and preside at all general, special, and executive meetings of the Club;<br />
<br />
* to appoint all committees of the Club and the committee chair of such committees, except the chair of the Programme Committee;<br />
<br />
* to audit, or to appoint a representative to audit, the financial records of the club at the end of each academic term.<br />
<br />
Wherever possible, the President should delegate tasks to others. Not doing this can overburden the President.<br />
<br />
== Explanation ==<br />
<br />
As listed above the president is responsible for appointing committee chair's and other positions. So, it is basically up to the president to decide whether or not there is an explicit office staff. How do people become office staff? Must the office close every day? What do the members expect to get out of the club in this term?<br />
<br />
== MathSoc ==<br />
<br />
The CSC is a MathSoc club as such you should know the [http://www.math.uwaterloo.ca/pinkbook.php MathSoc club policies] and know that the president is a non-voting member of MathSoc council, like MathSoc directors.<br />
<br />
== SCS ==<br />
<br />
See [[SCS Guide]] for how to deal with the School of Computer Science.<br />
<br />
== Planning events ==<br />
<br />
Planning events is a useful thing to know, so go read the Vice-President's section.<br />
<br />
= Vice President =<br />
This section covers various useful notes for the CSC vice president, ranging from who to call for room bookings to how to promote your events.<br />
<br />
== Planning events ==<br />
<br />
So, you're the CSC Vice President and you want to (hopefully) have the CSC host some really cool events this term. Congratulations! This chapter should help you get started with that. For starters, the most important thing to remember is this: plan your events early!. I recommend about 2 to 3 weeks in advance. This rough timeline should help:<br />
<br />
* 2-3 weeks in advance: Get a title and abstract for the event from the speaker as well as a date and time.<br />
<br />
* 2 weeks in advance: Book the room and any necessary equipment (projectors etc). Make posters for the event. Make initial announcements on Usenet and possibly by e-mail.<br />
<br />
* 1 week in advance: For events with food, order food. This can be pizza (cheap, somewhat filling), pastry/fruit/sandwich platter from the CnD (instructions later in this section), Kismet (yummy, for when you have money), and SLC Tim Hortons (timbits are very cheap, and you can get several dozen on little notice).<br />
<br />
* 2 Days in advance: E-mail Chris Redmond (credmond@uwaterloo.ca) to get the event into the Daily Bulletin. Include a short (one-paragraph) description.<br />
<br />
* 1 day in advance: Speak with ICR (in DC, first floor) about getting the speaker a parking pass if needed.<br />
<br />
* Day of the event: Try to be at the event, or find someone who will be to make sure things go smoothly. Remember to get the projector if necessary. If there are people in the room you booked, ask them to leave politely. Mention that you have the room booked. Get refreshments to the room as necessary. Introduce the speaker.<br />
<br />
* After the event: Thank the speaker in front of the audience and applaud. Offer to take the speaker out for dinner. Clean up the room and return any loaned equipment. Write him or her a cheque for any expenses if necessary. For out-of-town speakers a small gift might be nice.<br />
<br />
<br />
The rest of this section will outline various tips that should be useful when running events and suggest some events that you might want to run.<br />
<br />
=== Ordering food from the CnD ===<br />
The Math CnD is right across from the CSC office and Rose is really nice. As another bonus, when ordering through the CnD lets Mathsoc take care of all the accounting such that you don't even have to pay using your own credit card.<br />
<br />
To order, just fill out the CnD order form available at ~exec/veep/cnd-catering-form.doc with what you want to order and how much budget you have for the event. The order form was created by Rose the CnD manager in S17, but it will probably be very similar in future terms if it ever changes.<br />
<br />
Once you have filled out the order form, get it signed by a Mathsoc VPF/VPI/Prez, then bring it to the CnD manager. Then just pick up the food on the day of the event. It's really super easy. The CnD is so cool.<br />
<br />
=== Getting ideas and speakers for events ===<br />
<br />
Obviously you will have to start your planning by coming up with an event. Here are some types of events you might want to hold:<br />
<br />
* Talks held by CSC members. Ask around, there are probably a few members who have interesting things to give talks on. In the past CSC members have given talks about programming languages they like, Operating Systems, research projects, etc.<br />
<br />
* Talks held by Faculty: Simply ask your CS profs, or get other exec to ask their profs or interesting faculty. Approaching faculty in person might get you better results than e-mailing, but be sure to follow up with an e-mail so that you have something written to remind them.<br />
<br />
* Out-of-town speakers. The [http://www.acm.org/chapters/stu/ ACM student chapter website] has a section called "Lectureship series" where you can find information on getting an ACM Distinguished Lecturer. You can also simply approach interesting people (in Academia, Industry or the Free Software scene) by e-mail and ask them if they'd like to come and give a talk (or a few talks). Don't be afraid to ask high-profile people, the worst you can get is a "no." Be sure to have the treasurer budget money to pay for the guest speaker's expenses. If you can, try to pay for travel expenses (unless the speaker offers), but at the very least arrange for meals and accommodation as well as transport from the airport or bus/train station if necessary.<br />
<br />
* Special events. In the past we've had an event called "Pints with Profs" where we invited the CS faculty (cs-faculty@cs.uwaterloo.ca) and any interested CS students to come out to a pub. The Bomber is a convenient location but we've found their catering to be expensive. Weaver's Arms (in WCRI) might be a good alternative. Be sure to budget this with Mathsoc, so you can pay for free food. Try to get both meat and vegetarian alternatives (e.g. Wings and Veggie Platters). Make sure you publicize this event very well, and don't hesitate to ask the profs to announce it in class (giving them overheads might be a good idea). This is definitely an event you should try to hold. If you can think of any other special events, go right ahead, be creative! Be sure to add them here.<br />
<br />
* Tutorials. Usually we hold a few UNIX tutorials at the beginning of the term. These are quite popular and you can get Faculty (especially the first and second-year CS profs) to announce them in class. Be sure to book a lab. If there are more than one or two other people in the lab, politely ask them to leave - in our experience, asking such groups to be quiet doesn't usually work very well. Aside from UNIX you could have tutorials for LaTeX, some programming language, some programming problem (e.g. "Writing a raytracer") or anything you think would be useful for people to learn.<br />
<br />
* Contests. Programming contests can be a lot of fun and will certainly raise interest in the club. Try to get nice prizes so that you can attract a large group of contestants. Be sure to have the rules and the environment set up early on. Game solving contests are a good idea (this can range from writing programs to play rock-paper-scissors to having programs compete at playing chess), demo programming contests can also be fun or you might go for something more useful. It's up to you - be creative!<br />
<br />
* Anything else you can think of. Be imaginative and ask for suggestions. The ACM website also has some good suggestions for events. Don't limit yourself to computer-related events - a volleyball match against the Pure Math Club might be fun.<br />
<br />
= Treasurer =<br />
<br />
The treasurer's responsibilities include:<br />
<br />
* Preparing and presenting to MathSoc the budget for the term<br />
* Keeping the cash box filled with change and small bills<br />
* Writing checks to reimburse members for items they purchase for the club<br />
* Submitting forms to MathSoc, MEF, etc. for items purchased, and MAKING SURE we receive promised funding<br />
<br />
== Getting Reimbursed ==<br />
<br />
It's important that we be reimbursed for all of our purchases. For expenses on the MathSoc budget, fill out an expense form (usually in the tray outside MC 3038) and submit it to the VPF. Make sure to specify which budget line item each expense is claimed against. Submit copies of all receipts and invoices, and keep the originals in the safe until we are reimbursed. Finally, bug the MathSoc VPF if we still haven't received a cheque from MathSoc after a week or two.<br />
<br />
= Secretary =<br />
<br />
The secretary is usually responsible for:<br />
<br />
* Keeping members and students informed of upcoming events<br />
** Posting minutes of club meetings<br />
** Advertising club events (see section on advertising below)<br />
* Club correspondence<br />
** Regularly checking our mailbox in MC 3038 (MathSoc)<br />
** Reading and responding to mail we receive<br />
* Recruitment<br />
** Membership drives<br />
** Maintaining club bulletin board and other propaganda<br />
<br />
=== Announcing the event: Very General Overview ===<br />
<br />
Before the event, you should<br />
<br />
* Print out ~18 posters on the CSC budget and put them up on the CSC reserved poster boards. In the hallways of third and second floor MC there are locked display cases and reserved corkboards for staples only. Make sure to clear these of any posters that the CSC doesn't put up or sanction.<br />
<br />
* Update twitter and facebook with the event.<br />
<br />
* Update the IRC topic to include the deets for when and where the event is being held. This is even more restrictive on character count than a tweet is.<br />
<br />
* Send out an email with the details to csc-general.<br />
<br />
* Talk about it with your friends. The importance of word-of-mouth advertising is hard to overstate.<br />
<br />
Right before the event, optionally and temporarily put up any remaining posters around, e.g. right on doors. Go to the event, enjoy it, then take down the temporary posters (and all the other posters while you're at it sure why not).<br />
<br />
After the event, remember to<br />
<br />
* Reset the IRC topic.<br />
<br />
* Take down all posters.<br />
<br />
* Pat yourself on the back.<br />
<br />
=== Announcing the event: Posters and Posts ===<br />
<br />
Once you have the abstract and the room booked you should get the word out. For starters you should send an announcement to the members by e-mail (try to reserve the latter for special events, although an update with upcoming events every now and then might be a good idea).<br />
<br />
You'll also want to make printed posters. You can find lots of good files for making posters in ~git/public/csc-propaganda.git, and a default sample-poster.tex is included. Try to not have too much text on the posters so that they grab more attention. Getting posters out earlier rather than later is definitely beneficial. To actually distribute posters you should use several methods:<br />
<br />
* Put up the posters on the CSC boards. There are poster cases in the North-South hallways of MC third floor, two stapling boards in the main East-West hallway of MC third floor, one stapling board just outside of the CSC office, two staple boards and two poster cases at the South entrance of MC second floor, and one poster case on the North side of MC second floor.<br />
<br />
* Give 6 posters to Mathsoc. Just drop by 6 posters in the Mathsoc office and they'll put them up around the MC and DC.<br />
<br />
* For special events, make use of the [http://www.feds.ca/additional-resources/poster-run/ FEDS poster run]. FEDS offers a (reasonably cheap) poster run where they will distribute many posters around campus. While we aren't a FEDS club, we are part of MathSoc, so try to get the "student society" price. Also, make sure you budget for this from Mathsoc, you can probably get funds from them to use this.<br />
<br />
* If you ask in the event form to put the event on the Feds events calendar, it will be put into the UW Portal clubs events widget.<br />
<br />
There are other ways to get people to know about the event. If the event is relevant to classes, try to convince profs to announce it in class (giving them an overhead with the details is a good idea). Also, have the event announced in the Daily Bulletin (a daily update on the UW website about what's happening on campus). To do so, e-mail Chris Redmond (credmond@uwaterloo.ca).<br />
<br />
Word of mouth is another important channel. Tell others in the CSC (both executives and members) to tell their friends about events. Tell your own friends and classmates about events that they might find interesting. Word of mouth is often how events get most of their publicity.<br />
<br />
Lastly, you'll want to add the event to the website. Contact the CSC webmaster (or if there is none, the sysadmin) to have him or her do that for you, or find out how to do it yourself. This way others can check for events on the website, and you can also conveniently point people there if they ask, "What events is the CSC offering this term?"<br />
<br />
=== Recruiting: Propaganda and Membership Drives ===<br />
<br />
A notably successful way to recruit new members is to hold a membership drive. Recently, we have booked a table in the 3rd floor MC lobby through MathSoc and asked math students passing by to join. An effective tactic is to provide vouchers for $2.00 worth of pop as an incentive. The tickets in the office desk can be used for this purpose. Only new users should get free pop. Two tickets can be given, with half a ticket representing a free can. The tickets should expire after one week and you should count exactly how many you give out. This simplifies our accounting for the recruitment budget.<br />
<br />
= Systems Administrator =<br />
<br />
The system administrator chairs the [[Systems Committee]], and is responsible for keeping all of our computers in working order. The CSC computing environment is good, but not nearly perfect, and the sysadmin should look for ways to improve it. We don't have a strict "if it works, don't touch it" policy, and encourage people to try new things to see if they work better. Because of this, we don't have "5 nines" uptime or anything close, but do have a modern computing environment that is constantly improving. Our systems should be, and often are, better at the end of term than the beginning.<br />
<br />
Early in the term, the sysadmin should consider what hardware upgrades we would like to have, and send proposals to the treasurer to add to the budget. A bit later, this happens again with MEF proposals.<br />
<br />
The sysadmin should also make sure requests by our users (to systems-committee@csclub) are answered, and make recommendations to the Executive Council to add new systems committee members or reevaluate old ones.<br />
<br />
= General Information =<br />
<br />
== Useful Contacts ==<br />
<br />
There are several people that many exec will need contact information for. Their contact info follows and should be updated when these people change!<br />
<br />
* Donna Schell: Book most rooms in the MC or elsewhere on campus. She can generally book any lecture hall. If she can't do it, she can tell you who can! She can be reached at dschell@uwaterloo.ca or at extension 2207.<br />
<br />
* Vera Korody: ICR secretary. Should we wish to use the DC fishbowl for anything we can contact her. She may require us to get the permission of a ICR director to use it. Currently the friendly director is Vic DiCiccio at vicd@uwaterloo.ca. I am including the text of an email I sent and the response from Vic below. It is easiest to talk to her directly at the ICR reception area beside the fishbowl in DC, however she can also be e-mailed at vkorody@uwaterloo.ca or called at ext. 2042.<br />
<br />
Hi,<br />
<br />
The Computer Science Club is interested in booking DC 1301 (The Fishbowl) for a student-prof <br />
mixer on the afternoon Monday, October 17. We were told that it would require the permission <br />
of someone higher up in ICR since we're a student club. We considered asking our faculty <br />
advisor, Prabhakar Ragde, to book it on our behalf, but that would require him to be present <br />
for the entire event and we don't want to impose on him to that extent unless we have to. We <br />
are hoping to get your permission to book it since our primary purpose is to remove alcohol <br />
from the picture, to get it away from the "pints" mentallity and focus it more towards the <br />
frosh.<br />
<br />
Thanks for your consideration.<br />
<br />
Tim Loach<br />
<br />
CSC President<br />
<br />
His Response:<br />
<br />
Hi Timothy,<br />
<br />
Sure, I would definitely approve this. Have you been turned down by others? But you need to <br />
email Vera Korody to book the room, because it might be booked, and you need to get her <br />
rules about moving chairs, etc. I'll copy her on this email.<br />
<br />
BTW, does the CSC know that Mike Lazaridis is coming to Fed Hall on Oct 3 to explain why <br />
RIM is a cool place to work, and that there are still challenges there to interest co-ops <br />
and grads. We could use your help in getting the word out. You've probably seen the posters.<br />
<br />
Best,<br />
<br />
Vic<br />
<br />
* MathSoc: It is often smart to have executive in MathSoc who are friendly with the CSC. To that end it is helpful to keep up with the MathSoc exec and attend MathSoc events. Their office is directly across the always closed door from ours. The president and VPF are particularily helpful, in case we go a little over budget for any event they can approve funding up to $100 extra by themselves. They can be reached at president@mathsoc.uwaterloo.ca and VPF@mathsoc.uwaterloo.ca. They also have a projector that we can borrow from time to time.<br />
<br />
* AV stuff should be handled through AV services at extension 3033. Keys for AV stuff can be obtained at E2 1309. Note that they will charge you $80 if you intend to use a projector (and that's non-refundable - apparently bulbs are expensive and need to be replaced often).<br />
<br />
== External links ==<br />
<br />
* [http://csclub.uwaterloo.ca/misc/procedure.tex Old procedure manual (LaTeX)]<br />
* [http://csclub.uwaterloo.ca/misc/procedure.pdf Old procedure manual (PDF)]<br />
* [http://csclub.uwaterloo.ca/misc/mathsoc.club.pdf MathSoc club manual (PDF)]<br />
<br />
[[Category:Guides]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Club_Hosting&diff=4101Club Hosting2017-06-05T17:12:26Z<p>Pj2melan: fixed line numbers</p>
<hr />
<div>The Computer Science Club provides web hosting to other clubs free of charge. We host many club web sites. If you have a question about our hosting service, contact syscom at csclub dot uwaterloo dot ca or visit our office in MC 3036.<br />
<br />
== Hosting Features ==<br />
<br />
* 4 GB web space<br />
* Scripting<br />
** PHP (mod_fcgid)<br />
** Perl (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
** Python (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
*** Django (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
** Ruby (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
* Databases<br />
** [[MySQL]]<br />
<br />
This is not an exhaustive list. Contact us if you want something not listed or installed.<br />
<br />
== Getting Hosted ==<br />
<br />
To get hosted, you need a '''club account''' and one '''user account''' for each person who will be updating the club's web site or other files.<br />
<br />
The general process to get yourself an account on our systems to host your club website is:<br />
<br />
1. Request a free club account on the CSC systems by emailing syscom@csclub.uwaterloo.ca from an official club email (an official club email is one that is posted on your Facebook page or website, for example). Something along the lines of "I am from the ActSci club and am the current webmaster. Can I be registered for a club account to access the ActSci website?"<br />
<br />
2. Once syscom has replied to your email, come into the CSC office on MC third floor and ask for a club account and show the email thread with syscom. You will be registered for your club account.<br />
<br />
3. Email back syscom@csclub.uwaterloo.ca saying that you have received your club account, and they will give you permission to access your club website by adding you to your corresponding club group (for example, the actsci user group).<br />
<br />
=== Club Account ===<br />
<br />
Each club we host has a "club account" that owns and stores club resources. You can request a club account via email or in person. The club account:<br />
<br />
* Is named after the club, possibly abbreviated.<br />
* Has a home directory named /users/clubname, where club files are stored.<br />
* Is not permitted to log in. You must use your own user account to login.<br />
<br />
The Systems Committee will create club accounts when sent a request from the club's email address to syscom@csclub.uwaterloo.ca. Verification of the club's university affiliation may be required, for instance by contacting the Federation of Students or the club's faculty advisor.<br />
<br />
=== User Accounts ===<br />
<br />
Each user who needs access to the club account must have his/her own user account on our machines. There are two ways to get an account:<br />
<br />
* Become a member of the Computer Science Club. Membership is $2.00 per term.<br />
* Request a free "club representative" account. These accounts are to be used solely for managing the club account, and expire at the end of the term.<br />
<br />
In both cases, you must come to MC 3036/3037 in person for initial registration. Club representatives can request renewal of their free accounts if they still need the account in future terms. Renewal can be done in person or via email.<br />
<br />
Your user account must also be authorized to change club files. Each club has a "club group" whose members may update the clubs files. We add (and remove) users to the group when we are asked to do so by the club exec. The exec must email the Systems Committee (syscom@csclub.uwaterloo.ca) from a club email address.<br />
<br />
Any office staff member may create and renew both member and club representative accounts using [[ceo]]. Only Systems Committee members may modify club access lists.<br />
<br />
== Accessing Club Resources ==<br />
<br />
At this point, you have a user account and a club account, and need to get started with your web site. Before you can do anything, you need to log into our machines somehow. <br />
<br />
=== Shell Access ===<br />
<br />
To gain shell access to your site, you can:<br />
<br />
* Log in using a terminal in the office<br />
* Log in from anywhere using SSH. We discourage SSH'ing into our web server (caffeine), you should use a different general-use machine (like corn-syrup.csclub.uwaterloo.ca)<br />
<br />
The club's files are stored in /users/clubname.<br />
<br />
If you want, you can become the club user by typing "become_club clubname". This is not usually necessary, as the permissions should allow you to make changes as yourself.<br />
<br />
=== SFTP File Access ===<br />
<br />
You may access files stored on our servers, or upload new ones, via SFTP and SCP. If you are a Windows user you should use [http://winscp.net/ WinSCP] or a similar client with SFTP/SCP abilities. If you are using OS X you can use the sftp or scp Terminal commands, or you can install a graphical client such as [http://cyberduck.ch/ Cyberduck]. Similarly on GNU/Linux you can use the shell commands or a graphical client such as gftp.<br />
<br />
== Services ==<br />
<br />
=== Web Hosting ===<br />
<br />
See [[Web Hosting]].<br />
<br />
=== Databases ===<br />
<br />
See [[MySQL]].<br />
<br />
You can create a MySQL database yourself through [[ceo]] by following [[MySQL#Using_ceo|these instructions]].<br />
<br />
[[Category:Services]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Club_Hosting&diff=4100Club Hosting2017-06-05T17:11:54Z<p>Pj2melan: gave an overview of how to get set up for club hosting because someone came in and asked me this information</p>
<hr />
<div>The Computer Science Club provides web hosting to other clubs free of charge. We host many club web sites. If you have a question about our hosting service, contact syscom at csclub dot uwaterloo dot ca or visit our office in MC 3036.<br />
<br />
== Hosting Features ==<br />
<br />
* 4 GB web space<br />
* Scripting<br />
** PHP (mod_fcgid)<br />
** Perl (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
** Python (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
*** Django (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
** Ruby (https://wiki.csclub.uwaterloo.ca/Web_Hosting#Dynamic_Sites)<br />
* Databases<br />
** [[MySQL]]<br />
<br />
This is not an exhaustive list. Contact us if you want something not listed or installed.<br />
<br />
== Getting Hosted ==<br />
<br />
To get hosted, you need a '''club account''' and one '''user account''' for each person who will be updating the club's web site or other files.<br />
<br />
The general process to get yourself an account on our systems to host your club website is:<br />
<br />
1. Request a free club account on the CSC systems by emailing syscom@csclub.uwaterloo.ca from an official club email (an official club email is one that is posted on your Facebook page or website, for example). Something along the lines of "I am from the ActSci club and am the current webmaster. Can I be registered for a club account to access the ActSci website?"<br />
2. Once syscom has replied to your email, come into the CSC office on MC third floor and ask for a club account and show the email thread with syscom. You will be registered for your club account.<br />
3. Email back syscom@csclub.uwaterloo.ca saying that you have received your club account, and they will give you permission to access your club website by adding you to your corresponding club group (for example, the actsci user group).<br />
<br />
=== Club Account ===<br />
<br />
Each club we host has a "club account" that owns and stores club resources. You can request a club account via email or in person. The club account:<br />
<br />
* Is named after the club, possibly abbreviated.<br />
* Has a home directory named /users/clubname, where club files are stored.<br />
* Is not permitted to log in. You must use your own user account to login.<br />
<br />
The Systems Committee will create club accounts when sent a request from the club's email address to syscom@csclub.uwaterloo.ca. Verification of the club's university affiliation may be required, for instance by contacting the Federation of Students or the club's faculty advisor.<br />
<br />
=== User Accounts ===<br />
<br />
Each user who needs access to the club account must have his/her own user account on our machines. There are two ways to get an account:<br />
<br />
* Become a member of the Computer Science Club. Membership is $2.00 per term.<br />
* Request a free "club representative" account. These accounts are to be used solely for managing the club account, and expire at the end of the term.<br />
<br />
In both cases, you must come to MC 3036/3037 in person for initial registration. Club representatives can request renewal of their free accounts if they still need the account in future terms. Renewal can be done in person or via email.<br />
<br />
Your user account must also be authorized to change club files. Each club has a "club group" whose members may update the clubs files. We add (and remove) users to the group when we are asked to do so by the club exec. The exec must email the Systems Committee (syscom@csclub.uwaterloo.ca) from a club email address.<br />
<br />
Any office staff member may create and renew both member and club representative accounts using [[ceo]]. Only Systems Committee members may modify club access lists.<br />
<br />
== Accessing Club Resources ==<br />
<br />
At this point, you have a user account and a club account, and need to get started with your web site. Before you can do anything, you need to log into our machines somehow. <br />
<br />
=== Shell Access ===<br />
<br />
To gain shell access to your site, you can:<br />
<br />
* Log in using a terminal in the office<br />
* Log in from anywhere using SSH. We discourage SSH'ing into our web server (caffeine), you should use a different general-use machine (like corn-syrup.csclub.uwaterloo.ca)<br />
<br />
The club's files are stored in /users/clubname.<br />
<br />
If you want, you can become the club user by typing "become_club clubname". This is not usually necessary, as the permissions should allow you to make changes as yourself.<br />
<br />
=== SFTP File Access ===<br />
<br />
You may access files stored on our servers, or upload new ones, via SFTP and SCP. If you are a Windows user you should use [http://winscp.net/ WinSCP] or a similar client with SFTP/SCP abilities. If you are using OS X you can use the sftp or scp Terminal commands, or you can install a graphical client such as [http://cyberduck.ch/ Cyberduck]. Similarly on GNU/Linux you can use the shell commands or a graphical client such as gftp.<br />
<br />
== Services ==<br />
<br />
=== Web Hosting ===<br />
<br />
See [[Web Hosting]].<br />
<br />
=== Databases ===<br />
<br />
See [[MySQL]].<br />
<br />
You can create a MySQL database yourself through [[ceo]] by following [[MySQL#Using_ceo|these instructions]].<br />
<br />
[[Category:Services]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4099How to IRC2017-06-05T02:47:52Z<p>Pj2melan: Pointed out http is required</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[http://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`. Make sure to use the http version of the website with this guide! HTTPS only works if you set up encryption. That's not covered here.<br />
<br />
'''Recommended''': [https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4005How to IRC2016-07-18T19:57:53Z<p>Pj2melan: /* Advanced, But Recommended SSL Setup */</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
You might have warnings about untrusted certificates, but since you made the certificate yourself you can trust yourself and add required security exceptions.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4004How to IRC2016-07-18T18:51:31Z<p>Pj2melan: /* IRC Setup */ Added mobile client screenshot of Weechat Android</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
[[File:Weechat-Android-screenshot.png|alt=Weechat Android screen capture of #csc IRC channel|right|thumbnail|A screen capture of the #csc IRC channel, as seen from Weechat Android client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=File:Weechat-Android-screenshot.png&diff=4003File:Weechat-Android-screenshot.png2016-07-18T18:49:53Z<p>Pj2melan: Screenshot of an Android device using Weechat Android to view #csc</p>
<hr />
<div>Screenshot of an Android device using Weechat Android to view #csc</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=4002How to IRC2016-07-18T18:42:56Z<p>Pj2melan: /* Advanced, But Recommended SSL Setup */ <p> tags</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
<p>In your weechat client (glowing-bear, or Weechat Android), run</p><br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
<p>For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.</p><br />
<br />
<p>For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.</p><br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3997How to IRC2016-07-18T17:28:09Z<p>Pj2melan: /* Advanced, But Reccommended Setup */</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Recommended SSL Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
In your weechat client (glowing-bear, or Weechat Android), run<br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.<br />
<br />
For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.<br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3996How to IRC2016-07-18T17:27:51Z<p>Pj2melan: /* IRC Setup */ added client - weechat SSL instructions</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
== Advanced, But Reccommended Setup ==<br />
<br />
With the default setup, when you log in to your weechat relay using a client such as glowing-bear or Weechat Android ''your password is sent in the clear''. If you believe this to be a bad thing, follow these steps to enable SSL encryption between you and your weechat relay running on taurine.<br />
<br />
<ol><br />
<li>Log in to caffeine.csclub.uwaterloo.ca to generate an SSL certificate:<br />
<br />
<pre><br />
$ ssh caffeine.csclub.uwaterloo.ca<br />
$ mkdir ~/.weechat/ssl<br />
$ cd ~/.weechat/ssl<br />
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem # Fill in the fields as it asks<br />
$ exit<br />
</pre><br />
</li><br />
<br />
<li>Tell weechat to use the new certificate you generated, and add a new relay with a different password (since your old password was likely compromised):<br />
<br />
In your weechat client (glowing-bear, or Weechat Android), run<br />
<br />
<pre><br />
> /set relay.network.password [newpassword]<br />
> /relay sslcertkey<br />
> /relay del weechat<br />
> /relay add ssl.weechat [yourport]<br />
</pre><br />
</li><br />
<br />
<li>Tell your client to connect to your relay using SSL:<br />
<br />
For glowing-bear, refresh and simply check the "Encryption. Check settings for help." checkbox when logging in with your new password.<br />
<br />
For Weechat Android, in Settings > Connection, change Connection type to WeeChat SSL and change your Relay password.<br />
</li><br />
<br />
</ol><br />
<br />
Enjoy fully encrypted communication!<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3995How to IRC2016-07-18T16:54:40Z<p>Pj2melan: </p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client, and on iOS. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3994How to IRC2016-07-18T16:51:08Z<p>Pj2melan: /* IRC Setup */</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /set irc.server.freenode.autoconnect on<br />
> /set irc.server.freenode.autojoin "#csc"<br />
> /save<br />
> /connect freenode<br />
<br />
This has the effect of enabling SSL communication between you and the Freenode IRC network, and having weechat automatically reconnect to everything if it is shut down.<br />
<br />
Now, to join the CSC channel:<br />
<br />
> /join #csc<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3993How to IRC2016-07-18T16:34:40Z<p>Pj2melan: /* IRC Setup */ Changed instructions to have SSL secured connection from taurine's weechat to freenode</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
Replace ctdalek with your username<br />
<br />
<pre><br />
$ ssh ctdalek@taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /join #csc<br />
<br />
If you do not see a Freenode tab, first type<br />
<br />
> /set irc.server.freenode.addresses "chat.freenode.net/7000"<br />
> /set irc.server.freenode.ssl on<br />
> /connect chat.freenode.net<br />
<br />
(The first two commands enable SSL between your weechat relay running on taurine and the Freenode IRC network)<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3990How to IRC2016-07-13T15:42:54Z<p>Pj2melan: added caption to glowing bear screencap</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|alt=glowing-bear screen capture of #csc IRC channel|right|thumbnail|500px|A screen capture of the #csc IRC channel, as seen from glowing-bear client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
<pre><br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /join #csc<br />
<br />
If you do not see a Freenode tab, first type<br />
<br />
> /connect chat.freenode.net<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3989How to IRC2016-07-13T15:18:11Z<p>Pj2melan: added screencap of glowing-bear</p>
<hr />
<div>= IRC Setup =<br />
<br />
[[File:Glowing-bear-screencap.png|right|thumbnail|alt=The #csc IRC channel, as seen through the glowing-bear IRC client]]<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
<pre><br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /join #csc<br />
<br />
If you do not see a Freenode tab, first type<br />
<br />
> /connect chat.freenode.net<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning ctdalek http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=File:Glowing-bear-screencap.png&diff=3988File:Glowing-bear-screencap.png2016-07-13T15:15:55Z<p>Pj2melan: Screen capture of the #csc channel as seen through glowing-bear</p>
<hr />
<div>Screen capture of the #csc channel as seen through glowing-bear</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Web_Hosting&diff=3980Web Hosting2016-07-13T14:55:34Z<p>Pj2melan: /* How do I make a website? */</p>
<hr />
<div>The CSC offers web hosting for [[Club Hosting|clubs]] and [http://csclub.uwaterloo.ca/about/ our members] in accordance with our [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. This is a quick guide for the kinds of hosting we offer on our webserver, <tt>csclub.uwaterloo.ca</tt>, also known as [[Machine List#caffeine|caffeine]].<br />
<br />
We run an Apache httpd webserver and we offer you the use of a [[MySQL|MySQL database]].<br />
<br />
== What can I host on my website? ==<br />
<br />
Web hosting is provided in accordance with the CSC [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. As a reminder, you are '''not permitted''' to host any of the following:<br />
<br />
* '''Ads.''' Advertisements are not permitted because using our machines for commercial purposes is forbidden by university policy.<br />
* '''Your start-up's website.''' Again, commercial use of our hosting is not permitted.<br />
* '''Unauthorized copyrighted materials.''' Violating the law is a violation of our Machine Usage Agreement.<br />
<br />
Please note that '''this is not an exhaustive list. Websites may be taken down ''without notice''''' at the discretion of the Systems Committee. (We will always let you know that we took your site down, but if it is breaking our shared environment, we can't provide an advance warning.)<br />
<br />
Some great examples of things members host on our webserver:<br />
<br />
* Academic projects!<br />
* A personal website or blog!<br />
* [[Club Hosting|Club websites!]]<br />
<br />
== How do I make a website? ==<br />
<br />
If this is your first time making a website, this section may be useful to you.<br />
<br />
To build your website, CS Club suggests you use http://blog.getpelican.com/<br />
(Python) or https://jekyllrb.com/ (Ruby). They generate static sites<br />
and are faster, simpler and more secure than CMSs like WordPress<br />
(dyamic and written in PHP) for small sites. We routinely disable<br />
WordPress sites that are more than a few weeks out of date.<br />
<br />
You can transfer files to the CS Club via SFTP (if you run Windows use<br />
https://winscp.net/eng/index.php and if you use OS X use<br />
https://cyberduck.io/?l=en, Linux can directly access SFTP by using<br />
ssh:// urls in their GUI file managers). You can use SSH for direct<br />
shell access, just run <tt>ssh a25huang@corn-syrup.csclub.uwaterloo.ca</tt> or<br />
look at https://wiki.csclub.uwaterloo.ca/Machine_List for our other<br />
machines. You can also just create your site on our servers or in our<br />
office to avoid having to shuffle files around. Your home directory is<br />
distributed everywhere via NFS. Bonus points if you use Git to sync<br />
your own computer with our servers.<br />
<br />
Email <tt>syscom@csclub.uwaterloo.ca</tt> if you need help, or come to the<br />
CS Club office on the MC 3rd floor across from the Mathsoc CnD.<br />
<br />
== DNS and Your Domain Name ==<br />
<br />
You can serve files without any additional configuration by placing them in your <tt>www</tt> directory and accessing them at <tt>http://csclub.uwaterloo.ca/~userid</tt>, where <tt>userid</tt> is your CSC user ID. However, many of our members and clubs prefer to use a custom domain name.<br />
<br />
Note that this means you ''do not'' have to register a domain name to be able to use our services. You can just put a website at <tt>http://csclub.uwaterloo.ca/~userid</tt>.<br />
<br />
=== uwaterloo.ca domain Names ===<br />
<br />
If you represent a UWaterloo organization, you may be eligible for a custom <tt>uwaterloo.ca</tt> domain name, such as <tt>csclub.uwaterloo.ca</tt>. We can request this on your behalf.<br />
<br />
In order to do so, we must have verified that the organization is a legitimate UWaterloo-affiliated group, and that you, the representative, are authorized to request a domain name on their behalf. This all takes place when you request [[Club Hosting|club hosting]] with the Computer Science Club.<br />
<br />
Once you register as a club representative of your particular organization, you can send an email from your official club account to syscom@csclub.uwaterloo.ca to request the domain <tt>yourdomain.uwaterloo.ca</tt>. Assuming it is available, we will file a ticket and request the domain in your name.<br />
<br />
=== Your personal domain name ===<br />
<br />
These virtual hosts must be approved by the Executive and Systems Committee. If interested, send syscom@csclub.uwaterloo.ca an email. If your request is approved, the Systems Committee will direct you to create a CNAME record for your domain and point it at <tt>csclub.uwaterloo.ca</tt>.<br />
<br />
If you are interested in receiving mail or having other records on your domain, the apex of your domain cannot be a CNAME. If this is the case, then your domain should contain an "A" record of <tt>129.97.134.17</tt> and a (optional, but recommended) "AAAA" record of <tt>2620:101:f000:4901:c5c::caff:e12e</tt>.<br />
<br />
== Static Sites ==<br />
<br />
You can place all your static content into your web directory, <tt>/users/userid/www</tt>.<br />
<br />
If you have been approved for a virtual host, you can access this content using your personal domain once the Systems Committee makes the appropriate configuration changes. Here is an example configuration file:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
DocumentRoot /users/userid/www/<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
</VirtualHost><br />
<br />
== Dynamic Sites ==<br />
<br />
If you require use of a database, we offer you the sole choice of MySQL. See [[MySQL|this guide]] for how to create your database and connect to MySQL.<br />
<br />
=== ***NOTICE*** ===<br />
<br />
We '''STRONGLY''' discourage the use of content management systems such as<br />
WordPress. These packages are notorious for the number of security<br />
vulnerabilities they contain and pose a threat to our systems if they are not<br />
kept up to date. The Systems Committee '''WILL,''' at its discretion, disable<br />
any website using a package such as WordPress that is not updated to the latest<br />
version or that is found to contain exploitable security flaws. In such a case,<br />
the member or club serving that site will be notified of the termination; the<br />
site will not be re-enabled until the issues are addressed.<br />
<br />
=== Using PHP ===<br />
<br />
Because we use Apache, it's as simple as placing your <tt>index.php</tt> file in your <tt>/users/userid/www</tt>. That's it!<br />
<br />
You can even include rewrite rules in an <tt>.htaccess</tt> file in your web directory.<br />
<br />
=== Reverse Proxy (Python, Ruby, Perl, etc.) ===<br />
<br />
(In progress... Cliff Notes below)<br />
<br />
If computationally expensive, please run the server on a general-use server and proxy to Caffiene.<br />
<br />
If Python, (1) use a [http://docs.python-guide.org/en/latest/dev/virtualenvs/ virtual environment] (2) host your app (within the virtualenv) with [http://gunicorn.org/ Gunicorn] on a high port, bound to localhost<br />
<br />
If Ruby (Note, I've never used Ruby so take this with a grain of salt), use [http://unicorn.bogomips.org/ Unicorn]<br />
<br />
==== .htaccess Config ====<br />
<br />
Put the following in the appropriate .htaccess file. Replace HOST with localhost if running on Caffiene or the hostname if running elsewhere; replace port with your chosen port number.<br />
<br />
<pre><br />
Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteCond %{SCRIPT_FILENAME} !-d<br />
RewriteCond %{SCRIPT_FILENAME} !-f<br />
RewriteRule "^(.*)$" "http://HOST:RANDOM_PORT/$1" [P]<br />
</pre><br />
<br />
=== ['''Deprecated'''] Using WSGI ===<br />
<br />
We newly support <tt>mod_wsgi</tt> for dynamic frameworks you may not want to run through FCGI, such as Django. If you'd like to set up one of these sites, you'll need Systems Committee approval and assistance with the configuration. You will be responsible for setting up the site in your home directory and all the associated WSGI scripts.<br />
<br />
Here is a sample configuration file for a Django site:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
<br />
WSGIDaemonProcess process_name python-path=your/path/here/:possibly:/users/userid/site:/users/userid/.env/...<br />
WSGIScriptAlias / /path/to/your/wsgi/script<br />
WSGIProcessGroup process_name<br />
<br />
Alias /robots.txt /path/if/necessary/robots.txt<br />
Alias /favicon.ico /path/if/necessary/favicon.ico<br />
<br />
<Directory /path/to/your/wsgi/script><br />
<Files wsgi.py><br />
Require all granted<br />
</Files><br />
</Directory><br />
</VirtualHost><br />
<br />
== Syscom ==<br />
<br />
=== Disabling insecure or infringing sites ===<br />
<br />
To disable a webspace that has known security vulnerabilities add the following snippet to `/etc/apache2/conf-available/disable-vuln-site.conf`. This rewrites all accesses of the directory or its children to the given file. Note that our disable page uses PHP to always return HTTP status code 503. (TODO: move files to somewhere in /srv)<br />
<br />
<Directory /users/$BADUSER/www><br />
AllowOverride None<br />
RewriteEngine On<br />
RewriteRule . /~sysadmin/insecure/index.php [L]<br />
</Directory><br />
<br />
=== Expired Websites ===<br />
<br />
There is a cron job running hourly on caffeine which disables expired member's websites (and re-enables them when they've renewed their membership).<br />
<br />
The script is here: http://git.csclub.uwaterloo.ca/?p=public/expire-sites.git;a=summary<br />
<br />
Some highlights:<br />
<br />
* The script provides a 1-month grace period (corresponding to the grace period of pam-csc)<br />
* The expired page returns HTTP status code of 503 (Service Unavailable)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Web_Hosting&diff=3979Web Hosting2016-07-13T14:54:52Z<p>Pj2melan: added a first-time guide to building a website, based off of jxpryde's quick thoughts</p>
<hr />
<div>The CSC offers web hosting for [[Club Hosting|clubs]] and [http://csclub.uwaterloo.ca/about/ our members] in accordance with our [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. This is a quick guide for the kinds of hosting we offer on our webserver, <tt>csclub.uwaterloo.ca</tt>, also known as [[Machine List#caffeine|caffeine]].<br />
<br />
We run an Apache httpd webserver and we offer you the use of a [[MySQL|MySQL database]].<br />
<br />
== What can I host on my website? ==<br />
<br />
Web hosting is provided in accordance with the CSC [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. As a reminder, you are '''not permitted''' to host any of the following:<br />
<br />
* '''Ads.''' Advertisements are not permitted because using our machines for commercial purposes is forbidden by university policy.<br />
* '''Your start-up's website.''' Again, commercial use of our hosting is not permitted.<br />
* '''Unauthorized copyrighted materials.''' Violating the law is a violation of our Machine Usage Agreement.<br />
<br />
Please note that '''this is not an exhaustive list. Websites may be taken down ''without notice''''' at the discretion of the Systems Committee. (We will always let you know that we took your site down, but if it is breaking our shared environment, we can't provide an advance warning.)<br />
<br />
Some great examples of things members host on our webserver:<br />
<br />
* Academic projects!<br />
* A personal website or blog!<br />
* [[Club Hosting|Club websites!]]<br />
<br />
== How do I make a website? ==<br />
<br />
If this is your first time making a website, this section may be useful to you.<br />
<br />
To build your website, CS Club suggests you use http://blog.getpelican.com/<br />
(Python) or https://jekyllrb.com/ (Ruby). They generate static sites<br />
and are faster, simpler and more secure than CMSs like WordPress<br />
(dyamic and written in PHP) for small sites. We routinely disable<br />
WordPress sites that are more than a few weeks out of date.<br />
<br />
You can transfer files to the CS Club via SFTP (if you run Windows use<br />
https://winscp.net/eng/index.php and if you use OS X use<br />
https://cyberduck.io/?l=en, Linux can directly access SFTP by using<br />
ssh:// urls in their GUI file managers). You can use SSH for direct<br />
shell access, just run <tt>ssh a25huang@corn-syrup.csclub.uwaterloo.ca</tt> or<br />
look at https://wiki.csclub.uwaterloo.ca/Machine_List for our other<br />
machines. You can also just create your site on our servers or in our<br />
office to avoid having to shuffle files around. Your home directory is<br />
distributed everywhere via NFS. Bonus points if you use Git to sync<br />
your own computer with our servers.<br />
<br />
== DNS and Your Domain Name ==<br />
<br />
You can serve files without any additional configuration by placing them in your <tt>www</tt> directory and accessing them at <tt>http://csclub.uwaterloo.ca/~userid</tt>, where <tt>userid</tt> is your CSC user ID. However, many of our members and clubs prefer to use a custom domain name.<br />
<br />
Note that this means you ''do not'' have to register a domain name to be able to use our services. You can just put a website at <tt>http://csclub.uwaterloo.ca/~userid</tt>.<br />
<br />
=== uwaterloo.ca domain Names ===<br />
<br />
If you represent a UWaterloo organization, you may be eligible for a custom <tt>uwaterloo.ca</tt> domain name, such as <tt>csclub.uwaterloo.ca</tt>. We can request this on your behalf.<br />
<br />
In order to do so, we must have verified that the organization is a legitimate UWaterloo-affiliated group, and that you, the representative, are authorized to request a domain name on their behalf. This all takes place when you request [[Club Hosting|club hosting]] with the Computer Science Club.<br />
<br />
Once you register as a club representative of your particular organization, you can send an email from your official club account to syscom@csclub.uwaterloo.ca to request the domain <tt>yourdomain.uwaterloo.ca</tt>. Assuming it is available, we will file a ticket and request the domain in your name.<br />
<br />
=== Your personal domain name ===<br />
<br />
These virtual hosts must be approved by the Executive and Systems Committee. If interested, send syscom@csclub.uwaterloo.ca an email. If your request is approved, the Systems Committee will direct you to create a CNAME record for your domain and point it at <tt>csclub.uwaterloo.ca</tt>.<br />
<br />
If you are interested in receiving mail or having other records on your domain, the apex of your domain cannot be a CNAME. If this is the case, then your domain should contain an "A" record of <tt>129.97.134.17</tt> and a (optional, but recommended) "AAAA" record of <tt>2620:101:f000:4901:c5c::caff:e12e</tt>.<br />
<br />
== Static Sites ==<br />
<br />
You can place all your static content into your web directory, <tt>/users/userid/www</tt>.<br />
<br />
If you have been approved for a virtual host, you can access this content using your personal domain once the Systems Committee makes the appropriate configuration changes. Here is an example configuration file:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
DocumentRoot /users/userid/www/<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
</VirtualHost><br />
<br />
== Dynamic Sites ==<br />
<br />
If you require use of a database, we offer you the sole choice of MySQL. See [[MySQL|this guide]] for how to create your database and connect to MySQL.<br />
<br />
=== ***NOTICE*** ===<br />
<br />
We '''STRONGLY''' discourage the use of content management systems such as<br />
WordPress. These packages are notorious for the number of security<br />
vulnerabilities they contain and pose a threat to our systems if they are not<br />
kept up to date. The Systems Committee '''WILL,''' at its discretion, disable<br />
any website using a package such as WordPress that is not updated to the latest<br />
version or that is found to contain exploitable security flaws. In such a case,<br />
the member or club serving that site will be notified of the termination; the<br />
site will not be re-enabled until the issues are addressed.<br />
<br />
=== Using PHP ===<br />
<br />
Because we use Apache, it's as simple as placing your <tt>index.php</tt> file in your <tt>/users/userid/www</tt>. That's it!<br />
<br />
You can even include rewrite rules in an <tt>.htaccess</tt> file in your web directory.<br />
<br />
=== Reverse Proxy (Python, Ruby, Perl, etc.) ===<br />
<br />
(In progress... Cliff Notes below)<br />
<br />
If computationally expensive, please run the server on a general-use server and proxy to Caffiene.<br />
<br />
If Python, (1) use a [http://docs.python-guide.org/en/latest/dev/virtualenvs/ virtual environment] (2) host your app (within the virtualenv) with [http://gunicorn.org/ Gunicorn] on a high port, bound to localhost<br />
<br />
If Ruby (Note, I've never used Ruby so take this with a grain of salt), use [http://unicorn.bogomips.org/ Unicorn]<br />
<br />
==== .htaccess Config ====<br />
<br />
Put the following in the appropriate .htaccess file. Replace HOST with localhost if running on Caffiene or the hostname if running elsewhere; replace port with your chosen port number.<br />
<br />
<pre><br />
Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteCond %{SCRIPT_FILENAME} !-d<br />
RewriteCond %{SCRIPT_FILENAME} !-f<br />
RewriteRule "^(.*)$" "http://HOST:RANDOM_PORT/$1" [P]<br />
</pre><br />
<br />
=== ['''Deprecated'''] Using WSGI ===<br />
<br />
We newly support <tt>mod_wsgi</tt> for dynamic frameworks you may not want to run through FCGI, such as Django. If you'd like to set up one of these sites, you'll need Systems Committee approval and assistance with the configuration. You will be responsible for setting up the site in your home directory and all the associated WSGI scripts.<br />
<br />
Here is a sample configuration file for a Django site:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
<br />
WSGIDaemonProcess process_name python-path=your/path/here/:possibly:/users/userid/site:/users/userid/.env/...<br />
WSGIScriptAlias / /path/to/your/wsgi/script<br />
WSGIProcessGroup process_name<br />
<br />
Alias /robots.txt /path/if/necessary/robots.txt<br />
Alias /favicon.ico /path/if/necessary/favicon.ico<br />
<br />
<Directory /path/to/your/wsgi/script><br />
<Files wsgi.py><br />
Require all granted<br />
</Files><br />
</Directory><br />
</VirtualHost><br />
<br />
== Syscom ==<br />
<br />
=== Disabling insecure or infringing sites ===<br />
<br />
To disable a webspace that has known security vulnerabilities add the following snippet to `/etc/apache2/conf-available/disable-vuln-site.conf`. This rewrites all accesses of the directory or its children to the given file. Note that our disable page uses PHP to always return HTTP status code 503. (TODO: move files to somewhere in /srv)<br />
<br />
<Directory /users/$BADUSER/www><br />
AllowOverride None<br />
RewriteEngine On<br />
RewriteRule . /~sysadmin/insecure/index.php [L]<br />
</Directory><br />
<br />
=== Expired Websites ===<br />
<br />
There is a cron job running hourly on caffeine which disables expired member's websites (and re-enables them when they've renewed their membership).<br />
<br />
The script is here: http://git.csclub.uwaterloo.ca/?p=public/expire-sites.git;a=summary<br />
<br />
Some highlights:<br />
<br />
* The script provides a 1-month grace period (corresponding to the grace period of pam-csc)<br />
* The expired page returns HTTP status code of 503 (Service Unavailable)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Web_Hosting&diff=3978Web Hosting2016-07-13T14:51:03Z<p>Pj2melan: /* DNS and Your Domain Name */</p>
<hr />
<div>The CSC offers web hosting for [[Club Hosting|clubs]] and [http://csclub.uwaterloo.ca/about/ our members] in accordance with our [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. This is a quick guide for the kinds of hosting we offer on our webserver, <tt>csclub.uwaterloo.ca</tt>, also known as [[Machine List#caffeine|caffeine]].<br />
<br />
We run an Apache httpd webserver and we offer you the use of a [[MySQL|MySQL database]].<br />
<br />
== What can I host on my website? ==<br />
<br />
Web hosting is provided in accordance with the CSC [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. As a reminder, you are '''not permitted''' to host any of the following:<br />
<br />
* '''Ads.''' Advertisements are not permitted because using our machines for commercial purposes is forbidden by university policy.<br />
* '''Your start-up's website.''' Again, commercial use of our hosting is not permitted.<br />
* '''Unauthorized copyrighted materials.''' Violating the law is a violation of our Machine Usage Agreement.<br />
<br />
Please note that '''this is not an exhaustive list. Websites may be taken down ''without notice''''' at the discretion of the Systems Committee. (We will always let you know that we took your site down, but if it is breaking our shared environment, we can't provide an advance warning.)<br />
<br />
Some great examples of things members host on our webserver:<br />
<br />
* Academic projects!<br />
* A personal website or blog!<br />
* [[Club Hosting|Club websites!]]<br />
<br />
== DNS and Your Domain Name ==<br />
<br />
You can serve files without any additional configuration by placing them in your <tt>www</tt> directory and accessing them at <tt>http://csclub.uwaterloo.ca/~userid</tt>, where <tt>userid</tt> is your CSC user ID. However, many of our members and clubs prefer to use a custom domain name.<br />
<br />
Note that this means you ''do not'' have to register a domain name to be able to use our services. You can just put a website at <tt>http://csclub.uwaterloo.ca/~userid</tt>.<br />
<br />
=== uwaterloo.ca domain Names ===<br />
<br />
If you represent a UWaterloo organization, you may be eligible for a custom <tt>uwaterloo.ca</tt> domain name, such as <tt>csclub.uwaterloo.ca</tt>. We can request this on your behalf.<br />
<br />
In order to do so, we must have verified that the organization is a legitimate UWaterloo-affiliated group, and that you, the representative, are authorized to request a domain name on their behalf. This all takes place when you request [[Club Hosting|club hosting]] with the Computer Science Club.<br />
<br />
Once you register as a club representative of your particular organization, you can send an email from your official club account to syscom@csclub.uwaterloo.ca to request the domain <tt>yourdomain.uwaterloo.ca</tt>. Assuming it is available, we will file a ticket and request the domain in your name.<br />
<br />
=== Your personal domain name ===<br />
<br />
These virtual hosts must be approved by the Executive and Systems Committee. If interested, send syscom@csclub.uwaterloo.ca an email. If your request is approved, the Systems Committee will direct you to create a CNAME record for your domain and point it at <tt>csclub.uwaterloo.ca</tt>.<br />
<br />
If you are interested in receiving mail or having other records on your domain, the apex of your domain cannot be a CNAME. If this is the case, then your domain should contain an "A" record of <tt>129.97.134.17</tt> and a (optional, but recommended) "AAAA" record of <tt>2620:101:f000:4901:c5c::caff:e12e</tt>.<br />
<br />
== Static Sites ==<br />
<br />
You can place all your static content into your web directory, <tt>/users/userid/www</tt>.<br />
<br />
If you have been approved for a virtual host, you can access this content using your personal domain once the Systems Committee makes the appropriate configuration changes. Here is an example configuration file:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
DocumentRoot /users/userid/www/<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
</VirtualHost><br />
<br />
== Dynamic Sites ==<br />
<br />
If you require use of a database, we offer you the sole choice of MySQL. See [[MySQL|this guide]] for how to create your database and connect to MySQL.<br />
<br />
=== ***NOTICE*** ===<br />
<br />
We '''STRONGLY''' discourage the use of content management systems such as<br />
WordPress. These packages are notorious for the number of security<br />
vulnerabilities they contain and pose a threat to our systems if they are not<br />
kept up to date. The Systems Committee '''WILL,''' at its discretion, disable<br />
any website using a package such as WordPress that is not updated to the latest<br />
version or that is found to contain exploitable security flaws. In such a case,<br />
the member or club serving that site will be notified of the termination; the<br />
site will not be re-enabled until the issues are addressed.<br />
<br />
=== Using PHP ===<br />
<br />
Because we use Apache, it's as simple as placing your <tt>index.php</tt> file in your <tt>/users/userid/www</tt>. That's it!<br />
<br />
You can even include rewrite rules in an <tt>.htaccess</tt> file in your web directory.<br />
<br />
=== Reverse Proxy (Python, Ruby, Perl, etc.) ===<br />
<br />
(In progress... Cliff Notes below)<br />
<br />
If computationally expensive, please run the server on a general-use server and proxy to Caffiene.<br />
<br />
If Python, (1) use a [http://docs.python-guide.org/en/latest/dev/virtualenvs/ virtual environment] (2) host your app (within the virtualenv) with [http://gunicorn.org/ Gunicorn] on a high port, bound to localhost<br />
<br />
If Ruby (Note, I've never used Ruby so take this with a grain of salt), use [http://unicorn.bogomips.org/ Unicorn]<br />
<br />
==== .htaccess Config ====<br />
<br />
Put the following in the appropriate .htaccess file. Replace HOST with localhost if running on Caffiene or the hostname if running elsewhere; replace port with your chosen port number.<br />
<br />
<pre><br />
Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteCond %{SCRIPT_FILENAME} !-d<br />
RewriteCond %{SCRIPT_FILENAME} !-f<br />
RewriteRule "^(.*)$" "http://HOST:RANDOM_PORT/$1" [P]<br />
</pre><br />
<br />
=== ['''Deprecated'''] Using WSGI ===<br />
<br />
We newly support <tt>mod_wsgi</tt> for dynamic frameworks you may not want to run through FCGI, such as Django. If you'd like to set up one of these sites, you'll need Systems Committee approval and assistance with the configuration. You will be responsible for setting up the site in your home directory and all the associated WSGI scripts.<br />
<br />
Here is a sample configuration file for a Django site:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
<br />
WSGIDaemonProcess process_name python-path=your/path/here/:possibly:/users/userid/site:/users/userid/.env/...<br />
WSGIScriptAlias / /path/to/your/wsgi/script<br />
WSGIProcessGroup process_name<br />
<br />
Alias /robots.txt /path/if/necessary/robots.txt<br />
Alias /favicon.ico /path/if/necessary/favicon.ico<br />
<br />
<Directory /path/to/your/wsgi/script><br />
<Files wsgi.py><br />
Require all granted<br />
</Files><br />
</Directory><br />
</VirtualHost><br />
<br />
== Syscom ==<br />
<br />
=== Disabling insecure or infringing sites ===<br />
<br />
To disable a webspace that has known security vulnerabilities add the following snippet to `/etc/apache2/conf-available/disable-vuln-site.conf`. This rewrites all accesses of the directory or its children to the given file. Note that our disable page uses PHP to always return HTTP status code 503. (TODO: move files to somewhere in /srv)<br />
<br />
<Directory /users/$BADUSER/www><br />
AllowOverride None<br />
RewriteEngine On<br />
RewriteRule . /~sysadmin/insecure/index.php [L]<br />
</Directory><br />
<br />
=== Expired Websites ===<br />
<br />
There is a cron job running hourly on caffeine which disables expired member's websites (and re-enables them when they've renewed their membership).<br />
<br />
The script is here: http://git.csclub.uwaterloo.ca/?p=public/expire-sites.git;a=summary<br />
<br />
Some highlights:<br />
<br />
* The script provides a 1-month grace period (corresponding to the grace period of pam-csc)<br />
* The expired page returns HTTP status code of 503 (Service Unavailable)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Web_Hosting&diff=3977Web Hosting2016-07-13T14:50:55Z<p>Pj2melan: /* DNS and Your Domain Name */ italics</p>
<hr />
<div>The CSC offers web hosting for [[Club Hosting|clubs]] and [http://csclub.uwaterloo.ca/about/ our members] in accordance with our [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. This is a quick guide for the kinds of hosting we offer on our webserver, <tt>csclub.uwaterloo.ca</tt>, also known as [[Machine List#caffeine|caffeine]].<br />
<br />
We run an Apache httpd webserver and we offer you the use of a [[MySQL|MySQL database]].<br />
<br />
== What can I host on my website? ==<br />
<br />
Web hosting is provided in accordance with the CSC [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. As a reminder, you are '''not permitted''' to host any of the following:<br />
<br />
* '''Ads.''' Advertisements are not permitted because using our machines for commercial purposes is forbidden by university policy.<br />
* '''Your start-up's website.''' Again, commercial use of our hosting is not permitted.<br />
* '''Unauthorized copyrighted materials.''' Violating the law is a violation of our Machine Usage Agreement.<br />
<br />
Please note that '''this is not an exhaustive list. Websites may be taken down ''without notice''''' at the discretion of the Systems Committee. (We will always let you know that we took your site down, but if it is breaking our shared environment, we can't provide an advance warning.)<br />
<br />
Some great examples of things members host on our webserver:<br />
<br />
* Academic projects!<br />
* A personal website or blog!<br />
* [[Club Hosting|Club websites!]]<br />
<br />
== DNS and Your Domain Name ==<br />
<br />
You can serve files without any additional configuration by placing them in your <tt>www</tt> directory and accessing them at <tt>http://csclub.uwaterloo.ca/~userid</tt>, where <tt>userid</tt> is your CSC user ID. However, many of our members and clubs prefer to use a custom domain name.<br />
<br />
Note that this means you ''do not''have to register a domain name to be able to use our services. You can just put a website at <tt>http://csclub.uwaterloo.ca/~userid</tt>.<br />
<br />
=== uwaterloo.ca domain Names ===<br />
<br />
If you represent a UWaterloo organization, you may be eligible for a custom <tt>uwaterloo.ca</tt> domain name, such as <tt>csclub.uwaterloo.ca</tt>. We can request this on your behalf.<br />
<br />
In order to do so, we must have verified that the organization is a legitimate UWaterloo-affiliated group, and that you, the representative, are authorized to request a domain name on their behalf. This all takes place when you request [[Club Hosting|club hosting]] with the Computer Science Club.<br />
<br />
Once you register as a club representative of your particular organization, you can send an email from your official club account to syscom@csclub.uwaterloo.ca to request the domain <tt>yourdomain.uwaterloo.ca</tt>. Assuming it is available, we will file a ticket and request the domain in your name.<br />
<br />
=== Your personal domain name ===<br />
<br />
These virtual hosts must be approved by the Executive and Systems Committee. If interested, send syscom@csclub.uwaterloo.ca an email. If your request is approved, the Systems Committee will direct you to create a CNAME record for your domain and point it at <tt>csclub.uwaterloo.ca</tt>.<br />
<br />
If you are interested in receiving mail or having other records on your domain, the apex of your domain cannot be a CNAME. If this is the case, then your domain should contain an "A" record of <tt>129.97.134.17</tt> and a (optional, but recommended) "AAAA" record of <tt>2620:101:f000:4901:c5c::caff:e12e</tt>.<br />
<br />
== Static Sites ==<br />
<br />
You can place all your static content into your web directory, <tt>/users/userid/www</tt>.<br />
<br />
If you have been approved for a virtual host, you can access this content using your personal domain once the Systems Committee makes the appropriate configuration changes. Here is an example configuration file:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
DocumentRoot /users/userid/www/<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
</VirtualHost><br />
<br />
== Dynamic Sites ==<br />
<br />
If you require use of a database, we offer you the sole choice of MySQL. See [[MySQL|this guide]] for how to create your database and connect to MySQL.<br />
<br />
=== ***NOTICE*** ===<br />
<br />
We '''STRONGLY''' discourage the use of content management systems such as<br />
WordPress. These packages are notorious for the number of security<br />
vulnerabilities they contain and pose a threat to our systems if they are not<br />
kept up to date. The Systems Committee '''WILL,''' at its discretion, disable<br />
any website using a package such as WordPress that is not updated to the latest<br />
version or that is found to contain exploitable security flaws. In such a case,<br />
the member or club serving that site will be notified of the termination; the<br />
site will not be re-enabled until the issues are addressed.<br />
<br />
=== Using PHP ===<br />
<br />
Because we use Apache, it's as simple as placing your <tt>index.php</tt> file in your <tt>/users/userid/www</tt>. That's it!<br />
<br />
You can even include rewrite rules in an <tt>.htaccess</tt> file in your web directory.<br />
<br />
=== Reverse Proxy (Python, Ruby, Perl, etc.) ===<br />
<br />
(In progress... Cliff Notes below)<br />
<br />
If computationally expensive, please run the server on a general-use server and proxy to Caffiene.<br />
<br />
If Python, (1) use a [http://docs.python-guide.org/en/latest/dev/virtualenvs/ virtual environment] (2) host your app (within the virtualenv) with [http://gunicorn.org/ Gunicorn] on a high port, bound to localhost<br />
<br />
If Ruby (Note, I've never used Ruby so take this with a grain of salt), use [http://unicorn.bogomips.org/ Unicorn]<br />
<br />
==== .htaccess Config ====<br />
<br />
Put the following in the appropriate .htaccess file. Replace HOST with localhost if running on Caffiene or the hostname if running elsewhere; replace port with your chosen port number.<br />
<br />
<pre><br />
Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteCond %{SCRIPT_FILENAME} !-d<br />
RewriteCond %{SCRIPT_FILENAME} !-f<br />
RewriteRule "^(.*)$" "http://HOST:RANDOM_PORT/$1" [P]<br />
</pre><br />
<br />
=== ['''Deprecated'''] Using WSGI ===<br />
<br />
We newly support <tt>mod_wsgi</tt> for dynamic frameworks you may not want to run through FCGI, such as Django. If you'd like to set up one of these sites, you'll need Systems Committee approval and assistance with the configuration. You will be responsible for setting up the site in your home directory and all the associated WSGI scripts.<br />
<br />
Here is a sample configuration file for a Django site:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
<br />
WSGIDaemonProcess process_name python-path=your/path/here/:possibly:/users/userid/site:/users/userid/.env/...<br />
WSGIScriptAlias / /path/to/your/wsgi/script<br />
WSGIProcessGroup process_name<br />
<br />
Alias /robots.txt /path/if/necessary/robots.txt<br />
Alias /favicon.ico /path/if/necessary/favicon.ico<br />
<br />
<Directory /path/to/your/wsgi/script><br />
<Files wsgi.py><br />
Require all granted<br />
</Files><br />
</Directory><br />
</VirtualHost><br />
<br />
== Syscom ==<br />
<br />
=== Disabling insecure or infringing sites ===<br />
<br />
To disable a webspace that has known security vulnerabilities add the following snippet to `/etc/apache2/conf-available/disable-vuln-site.conf`. This rewrites all accesses of the directory or its children to the given file. Note that our disable page uses PHP to always return HTTP status code 503. (TODO: move files to somewhere in /srv)<br />
<br />
<Directory /users/$BADUSER/www><br />
AllowOverride None<br />
RewriteEngine On<br />
RewriteRule . /~sysadmin/insecure/index.php [L]<br />
</Directory><br />
<br />
=== Expired Websites ===<br />
<br />
There is a cron job running hourly on caffeine which disables expired member's websites (and re-enables them when they've renewed their membership).<br />
<br />
The script is here: http://git.csclub.uwaterloo.ca/?p=public/expire-sites.git;a=summary<br />
<br />
Some highlights:<br />
<br />
* The script provides a 1-month grace period (corresponding to the grace period of pam-csc)<br />
* The expired page returns HTTP status code of 503 (Service Unavailable)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Web_Hosting&diff=3976Web Hosting2016-07-13T14:50:20Z<p>Pj2melan: /* DNS and Your Domain Name */ said that you don't need a domain name twice, since someone was a lil confused when reading this guide and emailed syscom</p>
<hr />
<div>The CSC offers web hosting for [[Club Hosting|clubs]] and [http://csclub.uwaterloo.ca/about/ our members] in accordance with our [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. This is a quick guide for the kinds of hosting we offer on our webserver, <tt>csclub.uwaterloo.ca</tt>, also known as [[Machine List#caffeine|caffeine]].<br />
<br />
We run an Apache httpd webserver and we offer you the use of a [[MySQL|MySQL database]].<br />
<br />
== What can I host on my website? ==<br />
<br />
Web hosting is provided in accordance with the CSC [http://csclub.uwaterloo.ca/services/machine_usage Machine Usage Agreement]. As a reminder, you are '''not permitted''' to host any of the following:<br />
<br />
* '''Ads.''' Advertisements are not permitted because using our machines for commercial purposes is forbidden by university policy.<br />
* '''Your start-up's website.''' Again, commercial use of our hosting is not permitted.<br />
* '''Unauthorized copyrighted materials.''' Violating the law is a violation of our Machine Usage Agreement.<br />
<br />
Please note that '''this is not an exhaustive list. Websites may be taken down ''without notice''''' at the discretion of the Systems Committee. (We will always let you know that we took your site down, but if it is breaking our shared environment, we can't provide an advance warning.)<br />
<br />
Some great examples of things members host on our webserver:<br />
<br />
* Academic projects!<br />
* A personal website or blog!<br />
* [[Club Hosting|Club websites!]]<br />
<br />
== DNS and Your Domain Name ==<br />
<br />
You can serve files without any additional configuration by placing them in your <tt>www</tt> directory and accessing them at <tt>http://csclub.uwaterloo.ca/~userid</tt>, where <tt>userid</tt> is your CSC user ID. However, many of our members and clubs prefer to use a custom domain name.<br />
<br />
Note that this means you <emph>do not</emph> have to register a domain name to be able to use our services. You can just put a website at <tt>http://csclub.uwaterloo.ca/~userid</tt>.<br />
<br />
=== uwaterloo.ca domain Names ===<br />
<br />
If you represent a UWaterloo organization, you may be eligible for a custom <tt>uwaterloo.ca</tt> domain name, such as <tt>csclub.uwaterloo.ca</tt>. We can request this on your behalf.<br />
<br />
In order to do so, we must have verified that the organization is a legitimate UWaterloo-affiliated group, and that you, the representative, are authorized to request a domain name on their behalf. This all takes place when you request [[Club Hosting|club hosting]] with the Computer Science Club.<br />
<br />
Once you register as a club representative of your particular organization, you can send an email from your official club account to syscom@csclub.uwaterloo.ca to request the domain <tt>yourdomain.uwaterloo.ca</tt>. Assuming it is available, we will file a ticket and request the domain in your name.<br />
<br />
=== Your personal domain name ===<br />
<br />
These virtual hosts must be approved by the Executive and Systems Committee. If interested, send syscom@csclub.uwaterloo.ca an email. If your request is approved, the Systems Committee will direct you to create a CNAME record for your domain and point it at <tt>csclub.uwaterloo.ca</tt>.<br />
<br />
If you are interested in receiving mail or having other records on your domain, the apex of your domain cannot be a CNAME. If this is the case, then your domain should contain an "A" record of <tt>129.97.134.17</tt> and a (optional, but recommended) "AAAA" record of <tt>2620:101:f000:4901:c5c::caff:e12e</tt>.<br />
<br />
== Static Sites ==<br />
<br />
You can place all your static content into your web directory, <tt>/users/userid/www</tt>.<br />
<br />
If you have been approved for a virtual host, you can access this content using your personal domain once the Systems Committee makes the appropriate configuration changes. Here is an example configuration file:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
DocumentRoot /users/userid/www/<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
</VirtualHost><br />
<br />
== Dynamic Sites ==<br />
<br />
If you require use of a database, we offer you the sole choice of MySQL. See [[MySQL|this guide]] for how to create your database and connect to MySQL.<br />
<br />
=== ***NOTICE*** ===<br />
<br />
We '''STRONGLY''' discourage the use of content management systems such as<br />
WordPress. These packages are notorious for the number of security<br />
vulnerabilities they contain and pose a threat to our systems if they are not<br />
kept up to date. The Systems Committee '''WILL,''' at its discretion, disable<br />
any website using a package such as WordPress that is not updated to the latest<br />
version or that is found to contain exploitable security flaws. In such a case,<br />
the member or club serving that site will be notified of the termination; the<br />
site will not be re-enabled until the issues are addressed.<br />
<br />
=== Using PHP ===<br />
<br />
Because we use Apache, it's as simple as placing your <tt>index.php</tt> file in your <tt>/users/userid/www</tt>. That's it!<br />
<br />
You can even include rewrite rules in an <tt>.htaccess</tt> file in your web directory.<br />
<br />
=== Reverse Proxy (Python, Ruby, Perl, etc.) ===<br />
<br />
(In progress... Cliff Notes below)<br />
<br />
If computationally expensive, please run the server on a general-use server and proxy to Caffiene.<br />
<br />
If Python, (1) use a [http://docs.python-guide.org/en/latest/dev/virtualenvs/ virtual environment] (2) host your app (within the virtualenv) with [http://gunicorn.org/ Gunicorn] on a high port, bound to localhost<br />
<br />
If Ruby (Note, I've never used Ruby so take this with a grain of salt), use [http://unicorn.bogomips.org/ Unicorn]<br />
<br />
==== .htaccess Config ====<br />
<br />
Put the following in the appropriate .htaccess file. Replace HOST with localhost if running on Caffiene or the hostname if running elsewhere; replace port with your chosen port number.<br />
<br />
<pre><br />
Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteCond %{SCRIPT_FILENAME} !-d<br />
RewriteCond %{SCRIPT_FILENAME} !-f<br />
RewriteRule "^(.*)$" "http://HOST:RANDOM_PORT/$1" [P]<br />
</pre><br />
<br />
=== ['''Deprecated'''] Using WSGI ===<br />
<br />
We newly support <tt>mod_wsgi</tt> for dynamic frameworks you may not want to run through FCGI, such as Django. If you'd like to set up one of these sites, you'll need Systems Committee approval and assistance with the configuration. You will be responsible for setting up the site in your home directory and all the associated WSGI scripts.<br />
<br />
Here is a sample configuration file for a Django site:<br />
<br />
<VirtualHost *:80><br />
ServerName foobar.uwaterloo.ca<br />
ServerAlias *.foobar.uwaterloo.ca foobar<br />
ServerAdmin your@email.here.tld<br />
<br />
ErrorLog /var/log/apache2/luser-userid-error.log<br />
CustomLog /var/log/apache2/luser-userid-access.log combined<br />
<br />
WSGIDaemonProcess process_name python-path=your/path/here/:possibly:/users/userid/site:/users/userid/.env/...<br />
WSGIScriptAlias / /path/to/your/wsgi/script<br />
WSGIProcessGroup process_name<br />
<br />
Alias /robots.txt /path/if/necessary/robots.txt<br />
Alias /favicon.ico /path/if/necessary/favicon.ico<br />
<br />
<Directory /path/to/your/wsgi/script><br />
<Files wsgi.py><br />
Require all granted<br />
</Files><br />
</Directory><br />
</VirtualHost><br />
<br />
== Syscom ==<br />
<br />
=== Disabling insecure or infringing sites ===<br />
<br />
To disable a webspace that has known security vulnerabilities add the following snippet to `/etc/apache2/conf-available/disable-vuln-site.conf`. This rewrites all accesses of the directory or its children to the given file. Note that our disable page uses PHP to always return HTTP status code 503. (TODO: move files to somewhere in /srv)<br />
<br />
<Directory /users/$BADUSER/www><br />
AllowOverride None<br />
RewriteEngine On<br />
RewriteRule . /~sysadmin/insecure/index.php [L]<br />
</Directory><br />
<br />
=== Expired Websites ===<br />
<br />
There is a cron job running hourly on caffeine which disables expired member's websites (and re-enables them when they've renewed their membership).<br />
<br />
The script is here: http://git.csclub.uwaterloo.ca/?p=public/expire-sites.git;a=summary<br />
<br />
Some highlights:<br />
<br />
* The script provides a 1-month grace period (corresponding to the grace period of pam-csc)<br />
* The expired page returns HTTP status code of 503 (Service Unavailable)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=How_to_IRC&diff=3974How to IRC2016-07-11T02:03:35Z<p>Pj2melan: added weechat setup</p>
<hr />
<div>= IRC Setup =<br />
<br />
This method will establish a persistent IRC sessions that you can connect to with different clients. A weechat server program running on a CSClub server will remain connected to IRC networks at all times, and simply connecting to your weechat server program will give you all the chat history upon connection.<br />
<br />
To set up your weechat server program:<br />
<ol><br />
<li>Log in to a CS Club general-use server, such as taurine.csclub.uwaterloo.ca, and run `weechat` in such a way that it will keep running after you log out</li><br />
<br />
<pre><br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U weechat<br />
</pre><br />
(you can now close the terminal window and weechat will keep running. Or CTRL-A CTRL-D to leave the screen session)<br />
<br />
<li>Set up your weechat server</li><br />
<br />
(in the weechat window that was opened by the previous command)<br />
<br />
> /set relay.network.password [yourpassword]<br />
> /relay add weechat [yourport]<br />
> /save<br />
<br />
Replace [yourpassword] with a password of your choice and [yourport] with a port in the range of [28100-28400]<br />
<br />
<li>Connect to your weechat server using any weechat client</li><br />
<br />
[https://www.glowing-bear.org/ glowing-bear] is a free and open source web-based weechat client. It works well as a desktop client. To connect using glowing-bear, fill in "Connection Settings" with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
[https://play.google.com/store/apps/details?id=com.ubergeek42.WeechatAndroid Weechat Android] is a free and open source android weechat client. It gives notifications when your receive a direct message or your name is mentioned in one of the channels you are in. To connect using Weechat Android, fill in Settings > Connection with `taurine.csclub.uwaterloo.ca`, `[yourport]`, and `[yourpassword]`.<br />
<br />
<li>Join the #csc IRC channel</li><br />
<br />
In your weechat client (e.g. glowing-bear or Weechat Android), switch to the 'Freenode' tab and type<br />
<br />
> /join #csc<br />
<br />
If you do not see a Freenode tab, first type<br />
<br />
> /connect chat.freenode.net<br />
<br />
<li>Know some IRC commands</li><br />
<br />
Welcome to the channel! Go ahead and say something, like<br />
<br />
> Good morning pj2melan http://www.total-knowledge.com/~ilya/mips/ugt.html<br />
<br />
If you want to privately message someone, the command is `/q [nick] [optional message]` which will open a new tab with that person. For example `/q pj2melan ping pong`.<br />
<br />
If you want to join another channel, use `/join [channel]`, for example `/join #csc`.<br />
</ol><br />
''Note about CSClub server restarts:'' If taurine or any server you're using to run the weechat program on is restarted for any reason (we'll email you if it does), Make sure to complete step 1 again to start up your server. You won't have to reconfigure weechat (step 2) though.<br />
<br />
= Quick Basic Setup =<br />
1. Open up an IRC client, i.e. irssi. Launch irssi in a screen session, which you<br />
can return to later.<br />
<br />
$ ssh taurine.csclub.uwaterloo.ca<br />
$ screen -U irssi<br />
<br />
2. In irssi, connect to the freenode network and join our channel. <br />
<br />
/connect chat.freenode.net<br />
/join #csc<br />
<br />
3. Please set your nickname to your Quest ID so we know who you are. <br />
<br />
/nick $YOUR_QUEST_ID<br />
<br />
You can register your nickname on the freenode network by messaging NickServ.<br />
<br />
/msg NickServ REGISTER password email <br />
<br />
4. Close your screen session, which you can return to later.<br />
<br />
CTRL-A CTRL-D<br />
<br />
5. Return to your screen session. You will have remained connected to the channel. <br />
<br />
$ ssh taurine.csclub.uwaterloo.ca -t "screen -Urd"</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Books_Wishlist&diff=3943Books Wishlist2016-03-03T15:48:50Z<p>Pj2melan: /* j2simpso's suggestions should be sorted */</p>
<hr />
<div>This page consists of books we'd like to get to stock the [[library]]. It is divided into 3 sections. The first is books going on this term'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.<br />
<br />
A bunch of these were bought. That needs to be updated.<br />
<br />
Programming Windows by Charles Petzold used to be the definitive guide to Win32<br />
http://www.amazon.ca/Programming-Windows%C2%AE-Charles-Petzold/dp/157231995X/ref=sr_1_1?ie=UTF8&s=books&qid=1269631483&sr=8-1<br />
<br />
TCP/IP illustrated (All three volumes $180)<br />
http://www.amazon.com/TCP-IP-Illustrated-Vol-Protocols/dp/0201633469<br />
<br />
= Books we are going to buy with $1500 by some guy =<br />
<br />
* Mockingbird: $16 (used $12): http://www.amazon.com/Mock-Mockingbird-Puzzles-Raymond-Smullyan/dp/B00DIL4IZQ/ref=sr_1_1?s=books&ie=UTF8&qid=1456780814&sr=1-1&keywords=to+mock+a+mockingbird<br />
* Cracking the code interview: $40: http://www.amazon.ca/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=sr_1_1?ie=UTF8&qid=1456780879&sr=8-1&keywords=cracking+the+code+interview<br />
* Regular Polytopes By Coxeter: $22 (Hardcover: $187): http://www.amazon.ca/Regular-Polytopes-H-S-Coxeter/dp/0486614808/ref=sr_1_1?s=books&ie=UTF8&qid=1456780992&sr=1-1&keywords=Regular+Polytopes+By+Coxeter<br />
* Matroid Theory: $89 (Hardcover: $194): http://www.amazon.ca/Matroid-Theory-James-Oxley/dp/0199603391/ref=sr_1_1?s=books&ie=UTF8&qid=1456781109&sr=1-1&keywords=Matroid+Theory<br />
* Polyhedral and Semidefinite Programming Methods in Combinatorial Optimization, by Levent Tuncel: $135: http://www.amazon.ca/Polyhedral-Semidefinite-Programming-Combinatorial-Optimization/dp/0821833529/ref=sr_1_2?s=books&ie=UTF8&qid=1456781386&sr=1-2&keywords=Polyhedral+and+Semidefinite+Programming+Methods+in+Combinatorial+Optimization%2C+by+Levent+Tuncel<br />
* Quantum Computing Since Democritus: $45: http://www.amazon.ca/Quantum-Computing-since-Democritus-Aaronson/dp/0521199565/ref=sr_1_1?s=books&ie=UTF8&qid=1456781451&sr=1-1&keywords=Quantum+Computing+Since+Democritus<br />
* Theory of Linear and Integer Programming: $146: http://www.amazon.ca/Theory-Integer-Programming-Alexander-Schrijver/dp/0471982326/ref=sr_1_1?s=books&ie=UTF8&qid=1456781503&sr=1-1&keywords=Theory+of+Linear+and+Integer+Programming<br />
* Sedra and Smith's microelectronic circuits: Price range from $40 to $250 (no idea why): http://www.amazon.ca/Microelectronic-Circuits-Adel-Sedra/dp/0199339139/ref=sr_1_1?s=books&ie=UTF8&qid=1456781566&sr=1-1&keywords=Sedra+and+Smith%27s+microelectronic+circuits http://www.amazon.ca/Microelectronic-Circuits-Adel-S-Sedra/dp/0195142519/ref=sr_1_3?s=books&ie=UTF8&qid=1456781566&sr=1-3&keywords=Sedra+and+Smith%27s+microelectronic+circuits<br />
* Analytic Combinatorics: $118 http://www.amazon.ca/Analytic-Combinatorics-Philippe-Flajolet/dp/0521898064/ref=sr_1_sc_1?s=books&ie=UTF8&qid=1456781737&sr=1-1-spell&keywords=Analytic+cominatorics<br />
* Naive Set theory: $17 (Hardcover: $118): http://www.amazon.ca/Naive-Set-Theory-Paul-Halmos/dp/1614271313/ref=sr_1_1?s=books&ie=UTF8&qid=1456781830&sr=1-1&keywords=Naive+Set+Theory<br />
<br />
The sum so far:<br />
<br />
All hardcovers: $1249<br />
<br />
All paperbacks: $678<br />
<br />
Actual Books:<br />
* Thinking as Computation: $46: http://www.amazon.com/Thinking-as-Computation-First-Course/dp/0262016990/ref=sr_1_1?s=books&ie=UTF8&qid=1456782446&sr=1-1&keywords=thinking+as+computation<br />
* Linux Programming Interface: $63: http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=sr_1_1?s=books&ie=UTF8&qid=1456782537&sr=1-1&keywords=linux+programming+interface<br />
* Shellcoders Handbook: $34: http://www.amazon.com/Shellcoders-Handbook-Discovering-Exploiting-Security/dp/047008023X/ref=sr_1_1?s=books&ie=UTF8&qid=1456782575&sr=1-1&keywords=The+Shellcoder%27s+Handbook%3A+Discovering+and+Exploiting+Security+Holes<br />
<br />
Sum: $143<br />
<br />
= MEF Proposal = <br />
MEF Proposal books should include a quote and a sentence or two of justification.<br />
<br />
= W16 Whiteboard books in progress =<br />
This is a list of books that people have put on the whiteboard so far. May still change.<br />
*Cracking the Code Inteview (++++++)(maybe two copies of this)<br />
*Analytic Number Theory (? There are several such books)<br />
*To Mock a Mockingbird(++)<br />
*Regular Polytopes By Coxeter<br />
*Matroid Theory<br />
*Model Theory 2nd edition (?)<br />
*Polyhedral and Semidefinite Programming Methods in Combinatorial Optimization, by Levent Tuncel<br />
*Quantum Computing Since Democritus<br />
*Theory of Linear and Integer Programming<br />
*Sedra and Smith's microelectronic circuits<br />
*Analytic cominatorics<br />
*Haskell Programming from first principles (Allen & Moronuki)<br />
*Analytic Combinatorics<br />
*Naive Set Theory<br />
*Starlight [unreadable] student handbook<br />
<br />
= Actual Books =<br />
Actual books should have a precise title and ISBN for edition desired.<br />
<br />
*Thinking as Computation<br />
** http://mitpress.mit.edu/books/thinking-computation<br />
*The Linux Programming Interface<br />
** ISBN 978-1-59327-220-3<br />
* The Shellcoder's Handbook: Discovering and Exploiting Security Holes <br />
** ISBN-10: 047008023X<br />
** ISBN-13: 978-0470080238<br />
<br />
== j2simpso's suggestions should be sorted ==<br />
<br />
[note: do we want this section, with books about "Startup's early Days"?<br />
<br />
*Dreaming in Code<br />
** ISBN 978-1400082469<br />
*Founter's at Work: Stories of Startup's early Days<br />
** ISBN 978-1590597149<br />
*Metaprogramminging GPUs with SH<br />
** ISBN 978-1568812298<br />
*High Performance Computing<br />
** ISBN 978-1566923126<br />
*Critical Testing Processes: Plan, Prepare, Perform, Perfect<br />
** ISBN 978-0201748680<br />
* GREP pocket reference<br />
** ISBN 978-0596153601<br />
* Programming Embedded Systems<br />
** ISBN 978-0596009830<br />
* High Availability and Disaster REcovery<br />
** ISBN 978-3540244608<br />
* An Introduction to Mathematical Cryptography<br />
** ISBN 978-0387779930<br />
* Real Time Systems Design and Analysis<br />
** ISBN 978-0471228554<br />
* The Black Swan: The Impact of the Highly Improbable<br />
** ISBN 978-1400063512<br />
<br />
== Non-technical ==<br />
* How to Win Friends and Influence People<br />
** ISBN 978-0671027032<br />
* A Field Guide to Earthlings: An Autistic/Asperger View of Neurotypical Behavior<br />
** ISBN 978-0615426198<br />
* Mythical Man Month (20th Anniversary ed) (An older edition exists, so probably no?)<br />
** ISBN 0-201-83595-9<br />
* Natural Harvest - A Collection of Semen-Based Recipes <br />
** ISBN 1-4743-1461-5<br />
* Logicomix: An Epic Search for Truth<br />
** ISBN 978-0747597209<br />
<br />
== UI & HCI ==<br />
*Sketching User Experiences<br />
** ISBN 978-0-12-374037-3<br />
*The Design of Everyday Things<br />
** ISBN 978-0465067107<br />
*The Laws of Simplicty<br />
** ISBN 978-0262134729<br />
<br />
== Course Textbooks ==<br />
* CSfoo: '''rebind''' CLRS<br />
* CS116: Downey, Python for Software Design: How to Think Like a Computer Scientist<br />
** ISBN 978-0521725965<br />
* CS136: King, C programming<br />
** ISBN 978-0393979503<br />
* CS240: GOODRICH & TAMASSIA:ALGORITHM DESIGN<br />
** ISBN 978-0471383659<br />
* CS246: SAVITCH:ABSOLUTE C++ 4TH ED<br />
** ISBN 978-0136083818<br />
* CS246: MEYERS:EFFECTIVE C++<br />
** ISBN 978-0321334879<br />
* CS365: Sipser, ''Introduction to the Theory of Computation'' SECOND EDITION<br />
** ISBN 0-534-95097-3<br />
* CS462 SHALLIT:SECOND COURSE IN FORMAL LANGUAGES & AUTOMATA THEOR<br />
** ISBN 9780521865722<br />
<br />
== Foundations/Field Surveys ==<br />
* Knuth, The Art of Computer Programming (Copies that aren't signed)<br />
** Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium<br />
*** ISBN 978-0201853926<br />
** Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions<br />
*** ISBN 978-0321534965<br />
** Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams<br />
*** ISBN 978-0321580504<br />
** Volume 4, Fascicle 2: Generating All Tuples and Permutations <br />
*** ISBN 978-0201853933<br />
** Volume 4, Fascicle 3: Generating All Combinations and Partitions <br />
*** ISBN 978-0201853940<br />
** Volume 4, Fascicle 4: Generating All Trees--History of Combinatorial Generation<br />
*** ISBN 978-0321335708<br />
* Wirth, Algorithms + Data Structures = Programs<br />
** ISBN 978-0130224187<br />
* Dijkstra, A Discipline of Programming<br />
** ISBN 978-0132158718<br />
* Abelson, Structure and Interpretation of Computer Programs<br />
** ISBN 978-0070004849<br />
* Basic Category Theory for Computer Scientists<br />
** ISBN 978-0262660716<br />
<br />
== Strict Theory ==<br />
* Recommended by John Watrous: http://www.amazon.com/Computational-Complexity-Approach-Sanjeev-Arora/dp/0521424267/ref=sr_1_1?ie=UTF8&s=books&qid=1276314046&sr=1-1<br />
* [http://www.lulu.com/shop/univalent-foundations-project/homotopy-type-theory-hardcover/hardcover/product-21679084.html#productDetails Homotopy Type Theory]<br />
* [http://www.amazon.com/Computational-Complexity-Christos-H-Papadimitriou/dp/0201530821/ Papadimitriou, ''Computational Complexity''] or newer equivalent<br />
** ISBN 0201530821<br />
* [http://www.amazon.com/Computability-Theory-Chapman-Hall-Mathematics/dp/1584882379 Cooper, ''Computability Theory''] or similar (Cooper is buggy)<br />
** ISBN 1-58-488237-9<br />
* [http://www.amazon.com/Introduction-Kolmogorov-Complexity-Applications-Computer/dp/0387339981/ Li and Vitanyi ''Kolmogorov Complexity and its Applications]<br />
** ISBN 978-0387339986<br />
* [http://www.amazon.com/Cambridge-Tracts-Theoretical-Computer-Science/dp/0521802008 Blackburn, de Rijke, Venema, ''Modal Logic'']<br />
** ISBN 978-0521802000<br />
* Kozen, ''Theory of Computation''<br />
** ISBN 978-1846282973<br />
<br />
== Programming Languages ==<br />
<br />
* Theory of<br />
** Friedman & Wand, Essentials of Programming Languages, 3rd Edition<br />
*** ISBN 978-0262062794<br />
** Pierce, Types and Programming Languages<br />
*** ISBN 978-0262162098<br />
* C++<br />
** Bjarne Stroustrup, A Tour of C++<br />
*** ISBN 978-0321958310<br />
** Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied<br />
*** ISBN 978-0201704310<br />
* Scheme<br />
** Friedman, The Little Schemer - 4th Edition<br />
*** ISBN 978-0262560993<br />
** Friedman, The Seasoned Schemer<br />
*** ISBN 978-0262561006<br />
** Friedman, The Reasoned Schemer<br />
*** ISBN 978-0262562140<br />
** Dybvig, The Scheme Programming Language, 3rd Edition<br />
*** ISBN 978-0262541480<br />
* ML<br />
** Reppy, Concurrent Programming in ML<br />
*** ISBN 978-0521714723<br />
** Paulson, ML For The Working Programmer<br />
*** ISBN 978-0521565431<br />
* Haskell<br />
** Hutton, Programming in Haskell<br />
*** ISBN 978-0521692694<br />
** Hudak, The Haskell School of Expression<br />
*** ISBN 978-0521644082<br />
<br />
<br />
= Vague Ideas =<br />
These can be anything from a title missing an edition choice to a topic name to a binding style/colour.<br />
<br />
== Theory ==<br />
* Approximation Algorithms<br />
* Randomized Algorithms<br />
* Computer and Intractability (Grey & Johnson)<br />
* Human Computer Interaction (HCI)<br />
* Project Management <br />
** Software Requirements<br />
** Software Design & Architecture<br />
** Software Testing<br />
* Concurrency/Multithreading<br />
* Security (Firewalls)<br />
* Introduction to the Theory of Computation<br />
* Numerical Analysis<br />
* Numerical Methods? (Stoer &amp; Bulirsch)<br />
** This is probably not the actual title. We want a book on numerical methods by Stoer &amp; Bulirsch<br />
* Computer Systems: A Programmer's Perspective (Bryant & O'Hallaron)<br />
* Quantum Computing book (from QIP)<br />
** We have the course text, do we need more on the topic? IQC Recommendation?<br />
<br />
== Programming Languages ==<br />
* Python<br />
* Haskell .NET<br />
* Ruby<br />
* C#<br />
* Visual Basic .NET<br />
* OCaml<br />
* F#<br />
* Basic<br />
* Groovy<br />
* Javascript<br />
* C/C++<br />
* Assembly .NET<br />
* Databases [SQL]<br />
* Coq .NET<br />
<br />
== Technology Books ==<br />
* Ubuntu<br />
* Unix/Linux Beginner Books<br />
* OpenGL/DirectX<br />
* GTK<br />
* Unix Network Programming<br />
<br />
[[Category:Library]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Books_Wishlist&diff=3932Books Wishlist2016-02-12T17:28:24Z<p>Pj2melan: crack dat code interview</p>
<hr />
<div>This page consists of books we'd like to get to stock the [[library]]. It is divided into 3 sections. The first is books going on this term'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.<br />
<br />
A bunch of these were bought. That needs to be updated.<br />
<br />
Programming Windows by Charles Petzold used to be the definitive guide to Win32<br />
http://www.amazon.ca/Programming-Windows%C2%AE-Charles-Petzold/dp/157231995X/ref=sr_1_1?ie=UTF8&s=books&qid=1269631483&sr=8-1<br />
<br />
TCP/IP illustrated (All three volumes $180)<br />
http://www.amazon.com/TCP-IP-Illustrated-Vol-Protocols/dp/0201633469<br />
= MEF Proposal = <br />
MEF Proposal books should include a quote and a sentence or two of justification.<br />
<br />
= W16 Whiteboard books in progress =<br />
This is a list of books that people have put on the whiteboard so far. May still change.<br />
*Cracking the Code Inteview (++++++)(maybe two copies of this)<br />
*Analytic Number Theory<br />
*To Mock a Mockingbird(++)<br />
*Regular Polytopes By Coxeter<br />
*Matroid Theory (2nd Edition)<br />
*Model Theory 2nd edition (?)<br />
*Polyhedral and Semidefinite Programming Methods in Combinatorial Optimization, by Levent Tuncel<br />
*Quantum Computing Since Democritus<br />
*Theory of Linear and Integer Programming<br />
*Sedra and Smith's microelectronic circuits<br />
*Analytic cominatorics<br />
*Haskell Programming from first principles (Allen & Moronuki)<br />
*Analytic Combinatorics<br />
*Naive Set Theory<br />
*Starlight [unreadable] student handbook<br />
<br />
= Actual Books =<br />
Actual books should have a precise title and ISBN for edition desired.<br />
<br />
*Thinking as Computation<br />
** http://mitpress.mit.edu/books/thinking-computation<br />
*The Linux Programming Interface<br />
** ISBN 978-1-59327-220-3<br />
* The Shellcoder's Handbook: Discovering and Exploiting Security Holes <br />
** ISBN-10: 047008023X<br />
** ISBN-13: 978-0470080238<br />
<br />
== j2simpso's suggestions should be sorted ==<br />
*Dreaming in Code<br />
** ISBN 978-1400082469<br />
*Founter's at Work: Stories of Startup's early Days<br />
** ISBN 978-1590597149<br />
*Metaprogramminging GPUs with SH<br />
** ISBN 978-1568812298<br />
*High Performance Computing<br />
** ISBN 978-1566923126<br />
*Critical Testing Processes: Plan, Prepare, Perform, Perfect<br />
** ISBN 978-0201748680<br />
* GREP pocket reference<br />
** ISBN 978-0596153601<br />
* Programming Embedded Systems<br />
** ISBN 978-0596009830<br />
* High Availability and Disaster REcovery<br />
** ISBN 978-3540244608<br />
* An Introduction to Mathematical Cryptography<br />
** ISBN 978-0387779930<br />
* Real Time Systems Design and Analysis<br />
** ISBN 978-0471228554<br />
* The Black Swan: The Impact of the Highly Improbable<br />
** ISBN 978-1400063512<br />
<br />
== Non-technical ==<br />
* How to Win Friends and Influence People<br />
** ISBN 978-0671027032<br />
* A Field Guide to Earthlings: An Autistic/Asperger View of Neurotypical Behavior<br />
** ISBN 978-0615426198<br />
* Mythical Man Month (20th Anniversary ed) (An older edition exists, so probably no?)<br />
** ISBN 0-201-83595-9<br />
* Natural Harvest - A Collection of Semen-Based Recipes <br />
** ISBN 1-4743-1461-5<br />
* Logicomix: An Epic Search for Truth<br />
** ISBN 978-0747597209<br />
<br />
== UI & HCI ==<br />
*Sketching User Experiences<br />
** ISBN 978-0-12-374037-3<br />
*The Design of Everyday Things<br />
** ISBN 978-0465067107<br />
*The Laws of Simplicty<br />
** ISBN 978-0262134729<br />
<br />
== Course Textbooks ==<br />
* CSfoo: '''rebind''' CLRS<br />
* CS116: Downey, Python for Software Design: How to Think Like a Computer Scientist<br />
** ISBN 978-0521725965<br />
* CS136: King, C programming<br />
** ISBN 978-0393979503<br />
* CS240: GOODRICH & TAMASSIA:ALGORITHM DESIGN<br />
** ISBN 978-0471383659<br />
* CS246: SAVITCH:ABSOLUTE C++ 4TH ED<br />
** ISBN 978-0136083818<br />
* CS246: MEYERS:EFFECTIVE C++<br />
** ISBN 978-0321334879<br />
* CS365: Sipser, ''Introduction to the Theory of Computation'' SECOND EDITION<br />
** ISBN 0-534-95097-3<br />
* CS462 SHALLIT:SECOND COURSE IN FORMAL LANGUAGES & AUTOMATA THEOR<br />
** ISBN 9780521865722<br />
<br />
== Foundations/Field Surveys ==<br />
* Knuth, The Art of Computer Programming (Copies that aren't signed)<br />
** Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium<br />
*** ISBN 978-0201853926<br />
** Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions<br />
*** ISBN 978-0321534965<br />
** Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams<br />
*** ISBN 978-0321580504<br />
** Volume 4, Fascicle 2: Generating All Tuples and Permutations <br />
*** ISBN 978-0201853933<br />
** Volume 4, Fascicle 3: Generating All Combinations and Partitions <br />
*** ISBN 978-0201853940<br />
** Volume 4, Fascicle 4: Generating All Trees--History of Combinatorial Generation<br />
*** ISBN 978-0321335708<br />
* Wirth, Algorithms + Data Structures = Programs<br />
** ISBN 978-0130224187<br />
* Dijkstra, A Discipline of Programming<br />
** ISBN 978-0132158718<br />
* Abelson, Structure and Interpretation of Computer Programs<br />
** ISBN 978-0070004849<br />
* Basic Category Theory for Computer Scientists<br />
** ISBN 978-0262660716<br />
<br />
== Strict Theory ==<br />
* Recommended by John Watrous: http://www.amazon.com/Computational-Complexity-Approach-Sanjeev-Arora/dp/0521424267/ref=sr_1_1?ie=UTF8&s=books&qid=1276314046&sr=1-1<br />
* [http://www.lulu.com/shop/univalent-foundations-project/homotopy-type-theory-hardcover/hardcover/product-21679084.html#productDetails Homotopy Type Theory]<br />
* [http://www.amazon.com/Computational-Complexity-Christos-H-Papadimitriou/dp/0201530821/ Papadimitriou, ''Computational Complexity''] or newer equivalent<br />
** ISBN 0201530821<br />
* [http://www.amazon.com/Computability-Theory-Chapman-Hall-Mathematics/dp/1584882379 Cooper, ''Computability Theory''] or similar (Cooper is buggy)<br />
** ISBN 1-58-488237-9<br />
* [http://www.amazon.com/Introduction-Kolmogorov-Complexity-Applications-Computer/dp/0387339981/ Li and Vitanyi ''Kolmogorov Complexity and its Applications]<br />
** ISBN 978-0387339986<br />
* [http://www.amazon.com/Cambridge-Tracts-Theoretical-Computer-Science/dp/0521802008 Blackburn, de Rijke, Venema, ''Modal Logic'']<br />
** ISBN 978-0521802000<br />
* Kozen, ''Theory of Computation''<br />
** ISBN 978-1846282973<br />
<br />
== Programming Languages ==<br />
<br />
* Theory of<br />
** Friedman & Wand, Essentials of Programming Languages, 3rd Edition<br />
*** ISBN 978-0262062794<br />
** Pierce, Types and Programming Languages<br />
*** ISBN 978-0262162098<br />
* C++<br />
** Bjarne Stroustrup, A Tour of C++<br />
*** ISBN 978-0321958310<br />
** Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied<br />
*** ISBN 978-0201704310<br />
* Scheme<br />
** Friedman, The Little Schemer - 4th Edition<br />
*** ISBN 978-0262560993<br />
** Friedman, The Seasoned Schemer<br />
*** ISBN 978-0262561006<br />
** Friedman, The Reasoned Schemer<br />
*** ISBN 978-0262562140<br />
** Dybvig, The Scheme Programming Language, 3rd Edition<br />
*** ISBN 978-0262541480<br />
* ML<br />
** Reppy, Concurrent Programming in ML<br />
*** ISBN 978-0521714723<br />
** Paulson, ML For The Working Programmer<br />
*** ISBN 978-0521565431<br />
* Haskell<br />
** Hutton, Programming in Haskell<br />
*** ISBN 978-0521692694<br />
** Hudak, The Haskell School of Expression<br />
*** ISBN 978-0521644082<br />
<br />
<br />
= Vague Ideas =<br />
These can be anything from a title missing an edition choice to a topic name to a binding style/colour.<br />
<br />
== Theory ==<br />
* Approximation Algorithms<br />
* Randomized Algorithms<br />
* Computer and Intractability (Grey & Johnson)<br />
* Human Computer Interaction (HCI)<br />
* Project Management <br />
** Software Requirements<br />
** Software Design & Architecture<br />
** Software Testing<br />
* Concurrency/Multithreading<br />
* Security (Firewalls)<br />
* Introduction to the Theory of Computation<br />
* Numerical Analysis<br />
* Numerical Methods? (Stoer &amp; Bulirsch)<br />
** This is probably not the actual title. We want a book on numerical methods by Stoer &amp; Bulirsch<br />
* Computer Systems: A Programmer's Perspective (Bryant & O'Hallaron)<br />
* Quantum Computing book (from QIP)<br />
** We have the course text, do we need more on the topic? IQC Recommendation?<br />
<br />
== Programming Languages ==<br />
* Python<br />
* Haskell .NET<br />
* Ruby<br />
* C#<br />
* Visual Basic .NET<br />
* OCaml<br />
* F#<br />
* Basic<br />
* Groovy<br />
* Javascript<br />
* C/C++<br />
* Assembly .NET<br />
* Databases [SQL]<br />
* Coq .NET<br />
<br />
== Technology Books ==<br />
* Ubuntu<br />
* Unix/Linux Beginner Books<br />
* OpenGL/DirectX<br />
* GTK<br />
* Unix Network Programming<br />
<br />
[[Category:Library]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Books_Wishlist&diff=3914Books Wishlist2016-01-27T17:16:47Z<p>Pj2melan: /* W16 Whiteboard books in progress */</p>
<hr />
<div>This page consists of books we'd like to get to stock the [[library]]. It is divided into 3 sections. The first is books going on this term'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.<br />
<br />
A bunch of these were bought. That needs to be updated.<br />
<br />
Programming Windows by Charles Petzold used to be the definitive guide to Win32<br />
http://www.amazon.ca/Programming-Windows%C2%AE-Charles-Petzold/dp/157231995X/ref=sr_1_1?ie=UTF8&s=books&qid=1269631483&sr=8-1<br />
<br />
TCP/IP illustrated (All three volumes $180)<br />
http://www.amazon.com/TCP-IP-Illustrated-Vol-Protocols/dp/0201633469<br />
= MEF Proposal = <br />
MEF Proposal books should include a quote and a sentence or two of justification.<br />
<br />
= W16 Whiteboard books in progress =<br />
This is a list of books that people have put on the whiteboard so far. May still change.<br />
*Analytic Number Theory<br />
*To Mock a Mockingbird(++)<br />
*Regular Polytopes By Coxeter<br />
*Matroid Theory (2nd Edition)<br />
*Model Theory (?)<br />
*Polyhedral and Semidefinite Programming Methods in Combinatorial Optimization, by Levent Tuncel<br />
*Quantum Computing Since Democritus<br />
*Theory of Linear and Integer Programming<br />
*Sedra and Smith's microelectronic circuits<br />
*Analytic cominatorics<br />
<br />
= Actual Books =<br />
Actual books should have a precise title and ISBN for edition desired.<br />
<br />
*Coders at work<br />
*Thinking as Computation<br />
** http://mitpress.mit.edu/books/thinking-computation<br />
*The Linux Programming Interface<br />
** ISBN 978-1-59327-220-3<br />
* The Shellcoder's Handbook: Discovering and Exploiting Security Holes <br />
** ISBN-10: 047008023X<br />
** ISBN-13: 978-0470080238<br />
<br />
== j2simpso's suggestions should be sorted ==<br />
*Dreaming in Code<br />
** ISBN 978-1400082469<br />
*Founter's at Work: Stories of Startup's early Days<br />
** ISBN 978-1590597149<br />
*Metaprogramminging GPUs with SH<br />
** ISBN 978-1568812298<br />
*High Performance Computing<br />
** ISBN 978-1566923126<br />
*Critical Testing Processes: Plan, Prepare, Perform, Perfect<br />
** ISBN 978-0201748680<br />
* GREP pocket reference<br />
** ISBN 978-0596153601<br />
* Programming Embedded Systems<br />
** ISBN 978-0596009830<br />
* High Availability and Disaster REcovery<br />
** ISBN 978-3540244608<br />
* An Introduction to Mathematical Cryptography<br />
** ISBN 978-0387779930<br />
* Real Time Systems Design and Analysis<br />
** ISBN 978-0471228554<br />
* The Black Swan: The Impact of the Highly Improbable<br />
** ISBN 978-1400063512<br />
<br />
== Non-technical ==<br />
* How to Win Friends and Influence People<br />
** ISBN 978-0671027032<br />
* A Field Guide to Earthlings: An Autistic/Asperger View of Neurotypical Behavior<br />
** ISBN 978-0615426198<br />
* Mythical Man Month (20th Anniversary ed)<br />
** ISBN 0-201-83595-9<br />
* Natural Harvest - A Collection of Semen-Based Recipes <br />
** ISBN 1-4743-1461-5<br />
* Logicomix: An Epic Search for Truth<br />
** ISBN 978-0747597209<br />
<br />
== UI & HCI ==<br />
*Sketching User Experiences<br />
** ISBN 978-0-12-374037-3<br />
*The Design of Everyday Things<br />
** ISBN 978-0465067107<br />
*The Laws of Simplicty<br />
** ISBN 978-0262134729<br />
<br />
== Course Textbooks ==<br />
* CSfoo: '''rebind''' CLRS<br />
* CS116: Downey, Python for Software Design: How to Think Like a Computer Scientist<br />
** ISBN 978-0521725965<br />
* CS136: King, C programming<br />
** ISBN 978-0393979503<br />
* CS240: GOODRICH & TAMASSIA:ALGORITHM DESIGN<br />
** ISBN 978-0471383659<br />
* CS246: SAVITCH:ABSOLUTE C++ 4TH ED<br />
** ISBN 978-0136083818<br />
* CS246: MEYERS:EFFECTIVE C++<br />
** ISBN 978-0321334879<br />
* CS365: Sipser, ''Introduction to the Theory of Computation'' SECOND EDITION<br />
** ISBN 0-534-95097-3<br />
* CS462 SHALLIT:SECOND COURSE IN FORMAL LANGUAGES & AUTOMATA THEOR<br />
** ISBN 9780521865722<br />
<br />
== Foundations/Field Surveys ==<br />
* Knuth, The Art of Computer Programming (Copies that aren't signed)<br />
** Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium<br />
*** ISBN 978-0201853926<br />
** Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions<br />
*** ISBN 978-0321534965<br />
** Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams<br />
*** ISBN 978-0321580504<br />
** Volume 4, Fascicle 2: Generating All Tuples and Permutations <br />
*** ISBN 978-0201853933<br />
** Volume 4, Fascicle 3: Generating All Combinations and Partitions <br />
*** ISBN 978-0201853940<br />
** Volume 4, Fascicle 4: Generating All Trees--History of Combinatorial Generation<br />
*** ISBN 978-0321335708<br />
* Wirth, Algorithms + Data Structures = Programs<br />
** ISBN 978-0130224187<br />
* Dijkstra, A Discipline of Programming<br />
** ISBN 978-0132158718<br />
* Abelson, Structure and Interpretation of Computer Programs<br />
** ISBN 978-0070004849<br />
* Basic Category Theory for Computer Scientists<br />
** ISBN 978-0262660716<br />
<br />
== Strict Theory ==<br />
* Recommended by John Watrous: http://www.amazon.com/Computational-Complexity-Approach-Sanjeev-Arora/dp/0521424267/ref=sr_1_1?ie=UTF8&s=books&qid=1276314046&sr=1-1<br />
* [http://www.lulu.com/shop/univalent-foundations-project/homotopy-type-theory-hardcover/hardcover/product-21679084.html#productDetails Homotopy Type Theory]<br />
* [http://www.amazon.com/Computational-Complexity-Christos-H-Papadimitriou/dp/0201530821/ Papadimitriou, ''Computational Complexity''] or newer equivalent<br />
** ISBN 0201530821<br />
* [http://www.amazon.com/Computability-Theory-Chapman-Hall-Mathematics/dp/1584882379 Cooper, ''Computability Theory''] or similar (Cooper is buggy)<br />
** ISBN 1-58-488237-9<br />
* [http://www.amazon.com/Introduction-Kolmogorov-Complexity-Applications-Computer/dp/0387339981/ Li and Vitanyi ''Kolmogorov Complexity and its Applications]<br />
** ISBN 978-0387339986<br />
* [http://www.amazon.com/Cambridge-Tracts-Theoretical-Computer-Science/dp/0521802008 Blackburn, de Rijke, Venema, ''Modal Logic'']<br />
** ISBN 978-0521802000<br />
* Kozen, ''Theory of Computation''<br />
** ISBN 978-1846282973<br />
<br />
== Programming Languages ==<br />
<br />
* Theory of<br />
** Friedman & Wand, Essentials of Programming Languages, 3rd Edition<br />
*** ISBN 978-0262062794<br />
** Pierce, Types and Programming Languages<br />
*** ISBN 978-0262162098<br />
* C++<br />
** Bjarne Stroustrup, A Tour of C++<br />
*** ISBN 978-0321958310<br />
** Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied<br />
*** ISBN 978-0201704310<br />
* Scheme<br />
** Friedman, The Little Schemer - 4th Edition<br />
*** ISBN 978-0262560993<br />
** Friedman, The Seasoned Schemer<br />
*** ISBN 978-0262561006<br />
** Friedman, The Reasoned Schemer<br />
*** ISBN 978-0262562140<br />
** Dybvig, The Scheme Programming Language, 3rd Edition<br />
*** ISBN 978-0262541480<br />
* ML<br />
** Reppy, Concurrent Programming in ML<br />
*** ISBN 978-0521714723<br />
** Paulson, ML For The Working Programmer<br />
*** ISBN 978-0521565431<br />
* Haskell<br />
** Hutton, Programming in Haskell<br />
*** ISBN 978-0521692694<br />
** Hudak, The Haskell School of Expression<br />
*** ISBN 978-0521644082<br />
<br />
<br />
== Data Structures ==<br />
* Okasaki, Purely Functional Data Structures<br />
** ISBN 978-0521663502<br />
<br />
== Typography ==<br />
* Bringhurst, The Elements of Typographic Style<br />
** ISBN 978-0881792065<br />
* Knuth, Computers & Typesetting, Volumes A-E Boxed Set<br />
** ISBN 978-0201734164<br />
<br />
= Vague Ideas =<br />
These can be anything from a title missing an edition choice to a topic name to a binding style/colour.<br />
<br />
== Theory ==<br />
* Approximation Algorithms<br />
* Randomized Algorithms<br />
* Computer and Intractability (Grey & Johnson)<br />
* Human Computer Interaction (HCI)<br />
* Project Management <br />
** Software Requirements<br />
** Software Design & Architecture<br />
** Software Testing<br />
* Concurrency/Multithreading<br />
* Security (Firewalls)<br />
* Introduction to the Theory of Computation<br />
* Numerical Analysis<br />
* Numerical Methods? (Stoer &amp; Bulirsch)<br />
** This is probably not the actual title. We want a book on numerical methods by Stoer &amp; Bulirsch<br />
* Computer Systems: A Programmer's Perspective (Bryant & O'Hallaron)<br />
* Quantum Computing book (from QIP)<br />
** We have the course text, do we need more on the topic? IQC Recommendation?<br />
<br />
== Programming Languages ==<br />
* Python<br />
* Haskell .NET<br />
* Ruby<br />
* C#<br />
* Visual Basic .NET<br />
* OCaml<br />
* F#<br />
* Basic<br />
* Groovy<br />
* Javascript<br />
* C/C++<br />
* Assembly .NET<br />
* Databases [SQL]<br />
* Coq .NET<br />
<br />
== Technology Books ==<br />
* Ubuntu<br />
* Unix/Linux Beginner Books<br />
* OpenGL/DirectX<br />
* GTK<br />
* Unix Network Programming<br />
<br />
[[Category:Library]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Books_Wishlist&diff=3910Books Wishlist2016-01-21T16:57:26Z<p>Pj2melan: </p>
<hr />
<div>This page consists of books we'd like to get to stock the [[library]]. It is divided into 3 sections. The first is books going on this term'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.<br />
<br />
A bunch of these were bought. That needs to be updated.<br />
<br />
Programming Windows by Charles Petzold used to be the definitive guide to Win32<br />
http://www.amazon.ca/Programming-Windows%C2%AE-Charles-Petzold/dp/157231995X/ref=sr_1_1?ie=UTF8&s=books&qid=1269631483&sr=8-1<br />
<br />
TCP/IP illustrated (All three volumes $180)<br />
http://www.amazon.com/TCP-IP-Illustrated-Vol-Protocols/dp/0201633469<br />
= MEF Proposal = <br />
MEF Proposal books should include a quote and a sentence or two of justification.<br />
<br />
= W16 Whiteboard books in progress =<br />
This is a list of books that people have put on the whiteboard so far. May still change.<br />
*To mock a mockingbird<br />
*Coxeter Regular Polytopes<br />
*Matroid Theory 2nd Edition<br />
*Model Theory (?)<br />
*Polyhedral and Semidefinite Programming Methods in Combinatorial Optimization, by Levent Tuncel<br />
<br />
= Actual Books =<br />
Actual books should have a precise title and ISBN for edition desired.<br />
<br />
*Coders at work<br />
*Thinking as Computation<br />
** http://mitpress.mit.edu/books/thinking-computation<br />
*The Linux Programming Interface<br />
** ISBN 978-1-59327-220-3<br />
* The Shellcoder's Handbook: Discovering and Exploiting Security Holes <br />
** ISBN-10: 047008023X<br />
** ISBN-13: 978-0470080238<br />
<br />
== j2simpso's suggestions should be sorted ==<br />
*Dreaming in Code<br />
** ISBN 978-1400082469<br />
*Founter's at Work: Stories of Startup's early Days<br />
** ISBN 978-1590597149<br />
*Metaprogramminging GPUs with SH<br />
** ISBN 978-1568812298<br />
*High Performance Computing<br />
** ISBN 978-1566923126<br />
*Critical Testing Processes: Plan, Prepare, Perform, Perfect<br />
** ISBN 978-0201748680<br />
* GREP pocket reference<br />
** ISBN 978-0596153601<br />
* Programming Embedded Systems<br />
** ISBN 978-0596009830<br />
* High Availability and Disaster REcovery<br />
** ISBN 978-3540244608<br />
* An Introduction to Mathematical Cryptography<br />
** ISBN 978-0387779930<br />
* Real Time Systems Design and Analysis<br />
** ISBN 978-0471228554<br />
* The Black Swan: The Impact of the Highly Improbable<br />
** ISBN 978-1400063512<br />
<br />
== Non-technical ==<br />
* How to Win Friends and Influence People<br />
** ISBN 978-0671027032<br />
* A Field Guide to Earthlings: An Autistic/Asperger View of Neurotypical Behavior<br />
** ISBN 978-0615426198<br />
* Mythical Man Month (20th Anniversary ed)<br />
** ISBN 0-201-83595-9<br />
* Natural Harvest - A Collection of Semen-Based Recipes <br />
** ISBN 1-4743-1461-5<br />
* Logicomix: An Epic Search for Truth<br />
** ISBN 978-0747597209<br />
<br />
== UI & HCI ==<br />
*Sketching User Experiences<br />
** ISBN 978-0-12-374037-3<br />
*The Design of Everyday Things<br />
** ISBN 978-0465067107<br />
*The Laws of Simplicty<br />
** ISBN 978-0262134729<br />
<br />
== Course Textbooks ==<br />
* CSfoo: '''rebind''' CLRS<br />
* CS116: Downey, Python for Software Design: How to Think Like a Computer Scientist<br />
** ISBN 978-0521725965<br />
* CS136: King, C programming<br />
** ISBN 978-0393979503<br />
* CS240: GOODRICH & TAMASSIA:ALGORITHM DESIGN<br />
** ISBN 978-0471383659<br />
* CS246: SAVITCH:ABSOLUTE C++ 4TH ED<br />
** ISBN 978-0136083818<br />
* CS246: MEYERS:EFFECTIVE C++<br />
** ISBN 978-0321334879<br />
* CS365: Sipser, ''Introduction to the Theory of Computation'' SECOND EDITION<br />
** ISBN 0-534-95097-3<br />
* CS462 SHALLIT:SECOND COURSE IN FORMAL LANGUAGES & AUTOMATA THEOR<br />
** ISBN 9780521865722<br />
<br />
== Foundations/Field Surveys ==<br />
* Knuth, The Art of Computer Programming (Copies that aren't signed)<br />
** Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium<br />
*** ISBN 978-0201853926<br />
** Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions<br />
*** ISBN 978-0321534965<br />
** Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams<br />
*** ISBN 978-0321580504<br />
** Volume 4, Fascicle 2: Generating All Tuples and Permutations <br />
*** ISBN 978-0201853933<br />
** Volume 4, Fascicle 3: Generating All Combinations and Partitions <br />
*** ISBN 978-0201853940<br />
** Volume 4, Fascicle 4: Generating All Trees--History of Combinatorial Generation<br />
*** ISBN 978-0321335708<br />
* Wirth, Algorithms + Data Structures = Programs<br />
** ISBN 978-0130224187<br />
* Dijkstra, A Discipline of Programming<br />
** ISBN 978-0132158718<br />
* Abelson, Structure and Interpretation of Computer Programs<br />
** ISBN 978-0070004849<br />
* Basic Category Theory for Computer Scientists<br />
** ISBN 978-0262660716<br />
<br />
== Strict Theory ==<br />
* Recommended by John Watrous: http://www.amazon.com/Computational-Complexity-Approach-Sanjeev-Arora/dp/0521424267/ref=sr_1_1?ie=UTF8&s=books&qid=1276314046&sr=1-1<br />
* [http://www.lulu.com/shop/univalent-foundations-project/homotopy-type-theory-hardcover/hardcover/product-21679084.html#productDetails Homotopy Type Theory]<br />
* [http://www.amazon.com/Computational-Complexity-Christos-H-Papadimitriou/dp/0201530821/ Papadimitriou, ''Computational Complexity''] or newer equivalent<br />
** ISBN 0201530821<br />
* [http://www.amazon.com/Computability-Theory-Chapman-Hall-Mathematics/dp/1584882379 Cooper, ''Computability Theory''] or similar (Cooper is buggy)<br />
** ISBN 1-58-488237-9<br />
* [http://www.amazon.com/Introduction-Kolmogorov-Complexity-Applications-Computer/dp/0387339981/ Li and Vitanyi ''Kolmogorov Complexity and its Applications]<br />
** ISBN 978-0387339986<br />
* [http://www.amazon.com/Cambridge-Tracts-Theoretical-Computer-Science/dp/0521802008 Blackburn, de Rijke, Venema, ''Modal Logic'']<br />
** ISBN 978-0521802000<br />
* Kozen, ''Theory of Computation''<br />
** ISBN 978-1846282973<br />
<br />
== Programming Languages ==<br />
<br />
* Theory of<br />
** Friedman & Wand, Essentials of Programming Languages, 3rd Edition<br />
*** ISBN 978-0262062794<br />
** Pierce, Types and Programming Languages<br />
*** ISBN 978-0262162098<br />
* C++<br />
** Bjarne Stroustrup, A Tour of C++<br />
*** ISBN 978-0321958310<br />
** Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied<br />
*** ISBN 978-0201704310<br />
* Scheme<br />
** Friedman, The Little Schemer - 4th Edition<br />
*** ISBN 978-0262560993<br />
** Friedman, The Seasoned Schemer<br />
*** ISBN 978-0262561006<br />
** Friedman, The Reasoned Schemer<br />
*** ISBN 978-0262562140<br />
** Dybvig, The Scheme Programming Language, 3rd Edition<br />
*** ISBN 978-0262541480<br />
* ML<br />
** Reppy, Concurrent Programming in ML<br />
*** ISBN 978-0521714723<br />
** Paulson, ML For The Working Programmer<br />
*** ISBN 978-0521565431<br />
* Haskell<br />
** Hutton, Programming in Haskell<br />
*** ISBN 978-0521692694<br />
** Hudak, The Haskell School of Expression<br />
*** ISBN 978-0521644082<br />
<br />
<br />
== Data Structures ==<br />
* Okasaki, Purely Functional Data Structures<br />
** ISBN 978-0521663502<br />
<br />
== Typography ==<br />
* Bringhurst, The Elements of Typographic Style<br />
** ISBN 978-0881792065<br />
* Knuth, Computers & Typesetting, Volumes A-E Boxed Set<br />
** ISBN 978-0201734164<br />
<br />
= Vague Ideas =<br />
These can be anything from a title missing an edition choice to a topic name to a binding style/colour.<br />
<br />
== Theory ==<br />
* Approximation Algorithms<br />
* Randomized Algorithms<br />
* Computer and Intractability (Grey & Johnson)<br />
* Human Computer Interaction (HCI)<br />
* Project Management <br />
** Software Requirements<br />
** Software Design & Architecture<br />
** Software Testing<br />
* Concurrency/Multithreading<br />
* Security (Firewalls)<br />
* Introduction to the Theory of Computation<br />
* Numerical Analysis<br />
* Numerical Methods? (Stoer &amp; Bulirsch)<br />
** This is probably not the actual title. We want a book on numerical methods by Stoer &amp; Bulirsch<br />
* Computer Systems: A Programmer's Perspective (Bryant & O'Hallaron)<br />
* Quantum Computing book (from QIP)<br />
** We have the course text, do we need more on the topic? IQC Recommendation?<br />
<br />
== Programming Languages ==<br />
* Python<br />
* Haskell .NET<br />
* Ruby<br />
* C#<br />
* Visual Basic .NET<br />
* OCaml<br />
* F#<br />
* Basic<br />
* Groovy<br />
* Javascript<br />
* C/C++<br />
* Assembly .NET<br />
* Databases [SQL]<br />
* Coq .NET<br />
<br />
== Technology Books ==<br />
* Ubuntu<br />
* Unix/Linux Beginner Books<br />
* OpenGL/DirectX<br />
* GTK<br />
* Unix Network Programming<br />
<br />
[[Category:Library]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&diff=3907Past Executive2016-01-15T20:38:46Z<p>Pj2melan: /* Winter */</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sources for this exec list have been: CSC records, MathNEWS.<br />
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: ''This week on campus''. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.<br />
<br />
= Definitions =<br />
#define PR President<br />
#define VP Vice-president<br />
#define TR Treasurer<br />
#define SE Secretary<br />
#define SA Sysadmin<br />
#define OF Office Manager<br />
#define LI Librarian<br />
#define FL Flasher<br />
#define DE Deity<br />
#define WW Webmaster<br />
#define OF Office Manager<br />
#define SE-TR Secretary-Treasurer (Position was split)<br />
#define FR Fridge Regent<br />
<br />
=Founding 1967=<br />
<br />
Sponsor - J. Peter Sprung<br />
PR: K. Rugger<br />
VP: R. Jaques<br />
SE-TR: G. Sutherland<br />
<br />
Founding Members:<br />
B. Kindree<br />
R. Melen<br />
V. Neglia<br />
R. Charney<br />
R. Truman<br />
Glenn Berry<br />
D. Meek<br />
<br />
===Fall===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
Committee members: R. Stallwerthy, C. de Vries<br />
<br />
=1968=<br />
<br />
===Winter===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
===Fall===<br />
<br />
SE-TR: Glenn Berry<br />
<br />
=1969=<br />
<br />
Unknown, only one letter found in the folder 'ACM History' 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.<br />
<br />
=1970=<br />
<br />
===A note on ACM affiliation===<br />
<br />
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<br />
<br />
===Fall===<br />
<br />
PR: Rick Beach<br />
VP: Lee Santon<br />
TR: Randy Melen<br />
SE: Vic Neglia<br />
<br />
=1971=<br />
<br />
===Spring===<br />
<br />
VP: James H. "Jim" Finch and James W. Welch both signed letters as VP.<br />
<br />
===Fall===<br />
<br />
VP: James W. Welch<br />
<br />
=1972=<br />
<br />
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.<br />
<br />
===Winter===<br />
<br />
PR: Mike Campbell<br />
VP: Edgar Hew<br />
SE-TR: Doug Lacy<br />
<br />
There is also stuff from James W. Welch without a position.<br />
<br />
===Fall===<br />
<br />
PR: Ian McIntosh<br />
<br />
=1973=<br />
<br />
Faculty Sponsor: Morven Gentleman<br />
<br />
===Winter===<br />
<br />
SE: Douglas E. Lacy<br />
<br />
===Spring===<br />
<br />
PR: Jim Parry<br />
<br />
===Fall===<br />
<br />
PR: Jim Parry<br />
VP: Ray Walden<br />
TR: Slavko Stemberger<br />
SE: Mario Festival<br />
<br />
=1974=<br />
<br />
===Fall===<br />
<br />
PR: Russell Crook<br />
<br />
=1975-1977=<br />
<br />
Faculty Sponsor: Morven Gentleman??<br />
<br />
Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.<br />
Sylvia Eng: 1975/6 as some position.<br />
Dave Buckingham: a VP at some point<br />
Allison Nolan: 1977 time<br />
Peter Stevens: 1977<br />
Russel Crook???<br />
<br />
Dennis Ritchie came. So did Jeffrey D. Ullman.<br />
<br />
=1976=<br />
<br />
===Fall===<br />
<br />
Progcom: Peter Stevens<br />
<br />
=1977=<br />
<br />
===Winter===<br />
<br />
Progcom: Allison Nowlan<br />
<br />
===Spring=== <br />
<br />
PR: Peter Stevens<br />
Progcom: Allison Nowlan<br />
<br />
===Fall===<br />
<br />
PR: Andrzej Jan Taramina<br />
Progcom: Allison Nowlan<br />
<br />
=1978=<br />
<br />
===Winter===<br />
<br />
PR: Peter Stevens<br />
<br />
===Spring===<br />
<br />
TR: K.G. Dykes<br />
SE: Kandry Mutheardy<br />
<br />
Brian Kernighan gave a talk this term. So did Ken Thompson.<br />
<br />
===Fall===<br />
<br />
=1979=<br />
<br />
===Spring===<br />
<br />
PR: Robert Biddle<br />
<br />
<br />
=1987=<br />
<br />
===Fall===<br />
<br />
PR: Jim Boritz<br />
VP: Ted Timar<br />
TR: Gayla Boritz<br />
SE: Edwin Hoogerbeets<br />
<br />
=1988=<br />
<br />
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
Tim Timar - cc'd on memos/mentioned on mathsoc minutes in 1987/88.<br />
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The 'Record Management Profile' that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC<br />
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first "real" computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.<br />
<br />
===Fall===<br />
<br />
SA: Wade Richards<br />
<br />
=1989=<br />
<br />
===Winter===<br />
<br />
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg<br />
<br />
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), ??? <br />
<br />
PR: Barry W. Smith<br />
VP: Angela Chambers<br />
TR:<br />
SE: Sean Goggin<br />
SA: Wade Richards / Ross Ridge<br />
<br />
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
<br />
===Spring===<br />
<br />
PR: Jim Thornton<br />
VP: Gayla Boritz<br />
TR: David Fenger<br />
SE: Kivi Shapiro<br />
SA: Reid Pinchback<br />
<br />
Assistance to sysadmin: Jim Boritz.<br />
<br />
===Fall===<br />
<br />
PR: James Boritz<br />
VP: Edmond Bourne<br />
SA: Ross Ridge<br />
<br />
=1990=<br />
<br />
===Winter===<br />
<br />
TR: Jim Thornton<br />
<br />
===Spring===<br />
<br />
TR: Karen Smith<br />
SE: Robyn Steward<br />
<br />
===Fall===<br />
PR: Wade Richards<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart - attended mathsoc meeting on our behalf.<br />
Kivi Shapiro - attended mathsoc meeting on our behalf.<br />
- Censured by mathsoc for his actions during the election.<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
=1991=<br />
<br />
===Winter===<br />
VP: Edmond Bourne<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
John McCarthy came this term.<br />
<br />
===Spring===<br />
TR: Rob Leitman<br />
Jason Knell - attended mathsoc meeting on our and PMC's behalf.<br />
<br />
===Fall===<br />
TR: Mike Van Lingen<br />
Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.<br />
<br />
<br />
=1992=<br />
<br />
===Winter===<br />
TR: Norm Ross<br />
SE: Brent Williams<br />
<br />
===Spring===<br />
PR: Dale Wick<br />
TR: Stephen A. Mills<br />
<br />
===Fall===<br />
TR: Mark Plumb<br />
<br />
<br />
=1993=<br />
<br />
===Winter===<br />
TR: Rob Leitman<br />
VP: Tim Prime<br />
OF: Dave Ebbo<br />
LI: Norm Ross<br />
<br />
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray<br />
<br />
===Spring===<br />
TR: Mark Tompsett <br />
<br />
===Fall===<br />
<br />
PR: Ian Goldberg<br />
<br />
=1994=<br />
<br />
===Winter===<br />
PR: Ian Goldberg<br />
TR: Mark Tompsett<br />
SE: Tom Rathbourne<br />
LI: Michael Van Biesbrouck<br />
Norm Ross assisted with finances.<br />
<br />
===Spring===<br />
PR: Dale Wick (?)<br />
TR: Steve Mills<br />
SA: Ian Goldberg (?)<br />
Norm Ross assisted with finances.<br />
<br />
===Fall===<br />
PR: Ross Ridge<br />
VP: Tom Rathbourne (?)<br />
TR: Rob Leitman<br />
SA: Zygo Blaxell<br />
LI: Michael Van Biesbrouck<br />
<br />
<br />
=1995=<br />
<br />
===Winter===<br />
TR: Sharlene Schmeichel<br />
Amy Brown and Rob Ridge purchased books.<br />
<br />
===Spring===<br />
TR: Steve Mills<br />
<br />
===Fall===<br />
PR: Amy Brown (arbrown) <br />
VP: Christina Norman (cbnorman)<br />
TR: Steven Mills (samills)<br />
SE: Allyson Graham (akgraham)<br />
SA: Gavin Peters<br />
<br />
<br />
=1996=<br />
<br />
===Winter===<br />
PR: Nikita Borisov (nborisov)<br />
VP: Joseph Deu Ngoc (dtdeungo) <br />
TR: Stephen Mills (samills)<br />
SE: Sharlene Schmeichel (saschmei)<br />
SA: Dave Brown (dagbrown)<br />
OF: Somsack Tsai (stsai)<br />
LI: Devin Carless (dccarles)<br />
FL: Allyson Graham (akgraham)<br />
DE: Ian Goldberg (iagoldbe)<br />
<br />
===Spring===<br />
PR: Blake Winton (bwinton)<br />
VP: Nick Harvey (njaharve)<br />
TR: Nikita Borisov (nborisov)<br />
SE: Viet-Trung Luu (vluu)<br />
SA: Drew Hamilton (awhamilt)<br />
OF: Jillian Arnott (jarnott)<br />
LI: Ross Ridge (rridge)<br />
FL: Devin Carless (dccarles)<br />
<br />
=== Fall ===<br />
PR: Shannon Mann (sjbmann) <br />
VP: Joe "Frosh" Deu Ngoc (jtdeungo) resigned (heavy workload)<br />
TR: Michal Van Biesbrouck (mlvanbie) <br />
SE: Nikita Borisov (nborisov) <br />
SA: Chris Rovers <br />
OF: Dax Hutcheon (ddhutche) became VP upon jtduengo's resignation<br />
LI: Aliz Csenki (acsenki) <br />
FL: Aaron Chmielowiec (archmiel) <br />
DE: Skuld (no uwuserid yet...)<br />
<br />
<br />
=1997=<br />
<br />
===Winter===<br />
PR: Dima Brodsky <br />
VP: Nikita Borisov (nborisov)<br />
TR: Stephen Mills (samills)<br />
SE: Evan Jones (ejones)<br />
SA: Alex Brodsky<br />
OF: Chris Doherty<br />
LI: Matt Corks <br />
FL: Paul Prescod<br />
<br />
=== Fall ===<br />
PR: Chris Rovers (cdrovers) <br />
VP: Michael van Biesbrouck (mlvanbie) <br />
TR: Somsack Tsai (stsai) <br />
SE: Matt Corks (mvcorks)<br />
SA: Lennart Sorensen (lsorense) <br />
LI: Chmielowiec (archmiel) <br />
OF: Devin Carless (dccarles) <br />
FL: Aaron Chmielowiec (archmiel)<br />
<br />
<br />
= 1998 =<br />
<br />
=== Winter ===<br />
PR: Suresh Naidu <br />
VP: Viet-Trung Luu <br />
TR: Tim Coleman <br />
SE: Dax Hutcheon <br />
Librarian: Dax Hutcheon <br />
Flasher: Dax Hutcheon <br />
Webmaster: Dax Hutcheon <br />
SA: Robin Powell<br />
OF: Aaron Chmielowiec<br />
<br />
=== Spring ===<br />
<br />
Position Name You might call them...<br />
President roconnor Russell O'Connor<br />
Vice-president trwcolem Tim Coleman<br />
Treasurer knzarysk Karl Zaryski<br />
Secretary (bwinton) (Blake Winton)<br />
Sysadmin wbiggs Billy Biggs<br />
Librarian snaidu Suresh Naidu<br />
Flasher pechrysl Paul Chrysler<br />
Office Manager dccarles Devin Carless<br />
WWWW trwcolem Tim Coleman<br />
<br />
=== Fall ===<br />
<br />
President Joe Deu Ngoc jtdeungo<br />
Vice-President Wai Ling Yee wlyee<br />
Treasurer Fjord j2lynn<br />
Secretary Matt Corks mvcorks<br />
Sysadmin Andrew Hamilton awhamilt<br />
<br />
World Wide Web Wench Dax Hutcheon ddhutche<br />
Office Manager Richard Bell rlbell<br />
Librarian Damian Gryski dgryski<br />
Flasher Paul Chrysler pechrysl<br />
Official Deity Ian Goldberg iagoldbe<br />
Official Chairbeing Calum T. Dalek calum<br />
<br />
<br />
=1999=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
<br />
<br />
=2000=<br />
<br />
=== Winter ===<br />
PR: Will Chartrand (wgchartr)<br />
VP: Gavin Duggan (geduggan)<br />
TR:<br />
SE:<br />
SA: Lennart Sorensen (lsorense)<br />
OF:<br />
<br />
=== Fall ===<br />
PR: geduggan<br />
VP: <br />
TR:<br />
SE:<br />
SA: bioster<br />
OF:<br />
<br />
<br />
=2001=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=== Spring ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=2002=<br />
<br />
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php<br />
<br />
=== Winter ===<br />
PR: Billy Biggs<br />
VP: Stefanus Du Toit<br />
TR: Melissa Basinger<br />
SE: James Perry<br />
SA: Barry Genova<br />
Librarian: Ryan Golbeck<br />
Webmaster: Jonathan Beverley<br />
Office Manager: Sayan Li<br />
<br />
=== Spring ===<br />
PR: Alex Pop<br />
VP: Melissa Basinger<br />
TR: Siyan Li<br />
SE: James A Morrison<br />
SA: Jonathan Beverley<br />
Webmaster: Stefanus Du Toit<br />
<br />
=== Fall ===<br />
PR: James A. Morrison<br />
VP: Stefanus Du Toit<br />
TR: James Perry<br />
SE: Michael Biggs<br />
SA: Ryan Golbeck<br />
Librarian: Mark Sherry, Cassandra Schopf<br />
Webmaster: Stefanus Du Toit<br />
<br />
<br />
=2003=<br />
<br />
=== Winter ===<br />
PR: Kannan Vijayan (kvijayan)<br />
VP: Meg Darragh (m2darrag)<br />
TR: James Perry (jeperry)<br />
SE: Wojciech Kosnik (wkosnik)<br />
SA: Stefanus Du Toit (sjdutoit)<br />
LI: Simon Law (sfllaw)<br />
WM: Julie Lavoie (jlavoie)<br />
<br />
===Fall===<br />
PR: Stefanus Du Toit (sjdutoit)<br />
VP: Meg Darragh (m2darrag)<br />
TR: Tor Myklebust (tmyklebu)<br />
SE: James Perry (jeperry)<br />
SA: Simon Law (sfllaw)<br />
OF:<br />
<br />
<br />
=2004=<br />
<br />
===Winter===<br />
PR: Simon Law (sfllaw)<br />
VP: fspacek<br />
TR: ljain<br />
SE: Julie Lavoie (jlavoie)<br />
SA: Tor Myklebust(tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
PR: dnmorton ?<br />
VP: Tim Loach (tloach)<br />
TR: Michael Biggs (mbiggs)<br />
SE: Lesley Northam (lanortha)<br />
SA: <br />
OF:<br />
<br />
===Fall ===<br />
PR: jeperry<br />
VP: mtsay<br />
TR: Mark Sherry (mdsherry)<br />
SE: Tor Myklebust (tmyklebu)<br />
SA: jlavoie<br />
OF:<br />
<br />
<br />
=2005=<br />
<br />
===Winter===<br />
<br />
PR: mtsay<br />
VP: Lesley Northam (lanortha)<br />
TR: Holden Karau (hkarau)<br />
SE: domorton<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
<br />
PR: Mark Sherry (mdsherry)<br />
VP: Martin Kess (mdkess)<br />
TR: Ali Piccioni (apiccion)<br />
SE: Michael Biggs (mbiggs)<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Tim Loach (tloach)<br />
VP: Lesley Northam (lanortha)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: The Professor<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
<br />
=2006=<br />
<br />
===Winter===<br />
<br />
PR: Tor Myklebust (tmyklebu)<br />
VP: Michael Druker (mdruker)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: Mark Sherry (mdsherry)<br />
SA: William O'Connor (woconnor)<br />
OF:<br />
<br />
===Spring===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: David Tenty (daltenty)<br />
SE: Chris Evensen (cevensen)<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Martin Kess (mdkess)<br />
VP: Mark Sherry (mdsherry)<br />
TR: Sylvan L. Mably (slmably)<br />
SE: Caelyn McAulay (cmcaulay) <br />
SA: William O'Connor (woconnor)<br />
<br />
<br />
=2007=<br />
<br />
===Winter===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: David Tenty (daltenty)<br />
SA: Holden Karau (hkarau)<br />
Webmaster: jnopporn<br />
OF:<br />
<br />
===Spring===<br />
PR: Gaelan D'costa (gdcosta)<br />
VP: Kyle Larose (kmlarose)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Erik Louie (elouie)<br />
SA: Michael Spang (mspang)<br />
Librarian: David Tenty (daltenty)<br />
OF:<br />
<br />
===Fall ===<br />
PR: Holden Karau (hkarau)<br />
VP: Alex McCausland (amccausl)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Sean Cumming (sgcummin)<br />
SA: David Tenty (daltenty)<br />
OF:<br />
WW: dtbartle / jnopporn<br />
<br />
<br />
=2008=<br />
<br />
===Winter ===<br />
PR: Sean Cumming (sgcummin)<br />
VP: Matt Lawrence (m3lawren)<br />
TR: Mateusz Tarkowski (mtarkows)<br />
SE: Edgar Bering (ebering)<br />
SA: Jordan Saunders (jmsaunde)<br />
OF:<br />
<br />
===Summer ===<br />
PR: Brennan Taylor (b4taylor)<br />
VP: Qifan Xi (qxi)<br />
TR: Matt Lawrence (m3lawren)<br />
SE: Nick Guenther (nguenthe)<br />
SA:<br />
OF:<br />
<br />
===Fall ===<br />
PR: Matthew Lawrence (m3lawren)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Gregson (mgregson)<br />
SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik 'Domo' Chłobowski<br />
SA: Kyle Spaans (kspaans)<br />
OF:<br />
<br />
<br />
=2009=<br />
<br />
===Winter===<br />
PR: Michael Gregson (mgregson)<br />
VP: Edgar Bering (ebering)<br />
TR: Brennan Taylor (b4taylor)<br />
SE: James Simpson (j2simpso) resigned for business reasons, replaced by Rebecca Putinski (rjputins) <br />
SA: Jacob Parker (j3parker) <br />
OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)<br />
<br />
===Spring ===<br />
PR: Michael Spang (mspang)<br />
VP: Jacob Parker (j3parker)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Anthony Brennan (a2brenna)<br />
OF:<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Spang (mspang)<br />
SE: Brennan Taylor (b4taylor)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Rebecca Putinski (rjputins)<br />
<br />
<br />
=2010=<br />
<br />
===Winter===<br />
PR: Kyle Spaans (kspaans)<br />
VP: Edgar Bering (ebering)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Ajnu Jacob (ajacob)<br />
SA: Matthew Thiffault (mthiffau)<br />
OF: Jacob Parker (j3parker)<br />
<br />
Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr<br />
<br />
===Spring===<br />
PR: Jeff Cameron (j3camero)<br />
VP: Brennan Taylor (b4taylor)<br />
TR: Vardhan Mudunuru (vmudunur)<br />
SE: Matthew Lawrence (m3lawren)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Edgar Bering (ebering)<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Rebecca Putinski (rjputins)<br />
SE: Kyle Spaans (kspaans)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Amir Sayed Khader (askhader)<br />
<br />
<br />
=2011=<br />
<br />
===Winter===<br />
PR: Edgar Bering (ebering)<br />
VP: Jennifer "Emily" Wong (jy2wong)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Elana "Alana" Hashman (ehashman)<br />
SA: Peter "Bofh" Barfuss (pbarfuss)<br />
OF: Marc Burns (Marc Burns)<br />
<br />
===Spring===<br />
PR: Matthew Thiffault (mthiffau)<br />
VP: Matthew McPherrin (mimcpher)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Kwame Andrew Ansong (kansong)<br />
SA: Jeremy Brandon Roman (jbroman)<br />
OF: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Katharine Hyatt (kshyatt)<br />
TR: Jacob Parker (j3parker)<br />
SE: Elana Hashman (ehashman)<br />
SA: Anthony "hatguy/hotgay" Brennan (a2brenna)<br />
OF: Kyle Spaans (kspaans)<br />
LIB: Edgar Bering (ebering)<br />
<br />
<br />
=2012=<br />
<br />
===Winter===<br />
PR: Marc Burns (m4burns)<br />
VP: Elana Hashman (ehashman)<br />
TR: Jacob Parker (j3parker)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Summer===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Luqman Aden (laden)<br />
TR: Matthew McPherrin (mimcpher)<br />
SE: Elana Hashman (ehashman)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Marc Burns (m4burns)<br />
LIB: John Ladan (jladan)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Salem Talha (satalha)<br />
TR: Jennifer Wong (jy2wong)<br />
SE: Elana Hashman (ehashman), resigned<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: John Ladan (jladan)<br />
<br />
<br />
=2013=<br />
<br />
===Winter===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Marc Burns (m4burns)<br />
TR: John Mumford (jsmumfor)<br />
SE: Matt Olechnowicz (mgolechn)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Bryan Coutts (b2coutts)<br />
LIB: Matthew McPherrin (mimcpher)<br />
<br />
===Spring===<br />
PR: Shane Robert Creighton-Young (srcreigh)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Youn Jin Kim (yj7kim)<br />
SA: Anthony Brennan (a2brenna)<br />
OF: Marc Burns (m4burns)<br />
IMAPD: Dominik Chlobowski (dchlobow)<br />
<br />
===Fall===<br />
PR: Elana Hashman (ehashman)<br />
VP: Marc Burns (m4burns)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Edward Lee (e45lee)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Sean Hunt (scshunt)<br />
<br />
<br />
= 2014 =<br />
<br />
=== Winter ===<br />
PR: Bryan Coutts (b2coutts)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Marc Burns (m4burns)<br />
SE: Mark Farrell (m4farrel)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Nicholas Black (nablack)<br />
<br />
=== Spring ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Luke Franceschini (l3france)<br />
TR: Joseph Chouinard (jchouina)<br />
SE: Ifaz Kabir (ikabir)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Matthew Thiffault (mthiffau)<br />
<br />
=== Fall ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Theodor Belaire (tbelaire)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Shane Robert Creighton-Young (srcreigh)<br />
SA: Sean Hunt (scshunt)<br />
OF: Mark Farrell (m4farrel)<br />
LIB: Gianni Leonardo Gambetti (glgambet)<br />
<br />
<br />
= 2015 =<br />
<br />
=== Winter ===<br />
PR: Gianni Leonardo Gambetti (glgambet)<br />
VP: Luke Franceschini (l3france)<br />
TR: Edward Lee (e45lee)<br />
SE: Patrick James Melanson (pj2melan)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Shikhar Singh (s285sing)<br />
LIB: Aishwarya Gupta (a72gupta)<br />
<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Patrick Melanson (pj2melan)<br />
TR: Jonathan Bailey (jj2baile)<br />
SE: Keri Warr (kpwarr)<br />
SA: Nik Black (nablack)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
LIB: Yomna Nasser (ynasser)<br />
<br />
<br />
=== Fall ===<br />
PR: Simone Hu (ss2hu)<br />
VP: Theo Belaire (tbelaire)<br />
TR: Jordan Taylore Upiter (jtupiter)<br />
SE: Daniel Marin (dmarin)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
<br />
<br />
= 2016 =<br />
<br />
=== Winter ===<br />
PR: Patrick Melanson (pj2melan)<br />
VP: Patrick Melanson (pj2melan)<br />
Acting VP, progcom chair: Theo Belaire (tbelaire)<br />
TR: Luqman Aden (laden)<br />
SE: Naomi Koo (n3koo)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Reila Zheng (wy2zheng)<br />
FR: Marc Mailhot (mnmailho)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&diff=3906Past Executive2016-01-15T20:38:34Z<p>Pj2melan: /* Definitions */ fridge regent</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sources for this exec list have been: CSC records, MathNEWS.<br />
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: ''This week on campus''. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.<br />
<br />
= Definitions =<br />
#define PR President<br />
#define VP Vice-president<br />
#define TR Treasurer<br />
#define SE Secretary<br />
#define SA Sysadmin<br />
#define OF Office Manager<br />
#define LI Librarian<br />
#define FL Flasher<br />
#define DE Deity<br />
#define WW Webmaster<br />
#define OF Office Manager<br />
#define SE-TR Secretary-Treasurer (Position was split)<br />
#define FR Fridge Regent<br />
<br />
=Founding 1967=<br />
<br />
Sponsor - J. Peter Sprung<br />
PR: K. Rugger<br />
VP: R. Jaques<br />
SE-TR: G. Sutherland<br />
<br />
Founding Members:<br />
B. Kindree<br />
R. Melen<br />
V. Neglia<br />
R. Charney<br />
R. Truman<br />
Glenn Berry<br />
D. Meek<br />
<br />
===Fall===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
Committee members: R. Stallwerthy, C. de Vries<br />
<br />
=1968=<br />
<br />
===Winter===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
===Fall===<br />
<br />
SE-TR: Glenn Berry<br />
<br />
=1969=<br />
<br />
Unknown, only one letter found in the folder 'ACM History' 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.<br />
<br />
=1970=<br />
<br />
===A note on ACM affiliation===<br />
<br />
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<br />
<br />
===Fall===<br />
<br />
PR: Rick Beach<br />
VP: Lee Santon<br />
TR: Randy Melen<br />
SE: Vic Neglia<br />
<br />
=1971=<br />
<br />
===Spring===<br />
<br />
VP: James H. "Jim" Finch and James W. Welch both signed letters as VP.<br />
<br />
===Fall===<br />
<br />
VP: James W. Welch<br />
<br />
=1972=<br />
<br />
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.<br />
<br />
===Winter===<br />
<br />
PR: Mike Campbell<br />
VP: Edgar Hew<br />
SE-TR: Doug Lacy<br />
<br />
There is also stuff from James W. Welch without a position.<br />
<br />
===Fall===<br />
<br />
PR: Ian McIntosh<br />
<br />
=1973=<br />
<br />
Faculty Sponsor: Morven Gentleman<br />
<br />
===Winter===<br />
<br />
SE: Douglas E. Lacy<br />
<br />
===Spring===<br />
<br />
PR: Jim Parry<br />
<br />
===Fall===<br />
<br />
PR: Jim Parry<br />
VP: Ray Walden<br />
TR: Slavko Stemberger<br />
SE: Mario Festival<br />
<br />
=1974=<br />
<br />
===Fall===<br />
<br />
PR: Russell Crook<br />
<br />
=1975-1977=<br />
<br />
Faculty Sponsor: Morven Gentleman??<br />
<br />
Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.<br />
Sylvia Eng: 1975/6 as some position.<br />
Dave Buckingham: a VP at some point<br />
Allison Nolan: 1977 time<br />
Peter Stevens: 1977<br />
Russel Crook???<br />
<br />
Dennis Ritchie came. So did Jeffrey D. Ullman.<br />
<br />
=1976=<br />
<br />
===Fall===<br />
<br />
Progcom: Peter Stevens<br />
<br />
=1977=<br />
<br />
===Winter===<br />
<br />
Progcom: Allison Nowlan<br />
<br />
===Spring=== <br />
<br />
PR: Peter Stevens<br />
Progcom: Allison Nowlan<br />
<br />
===Fall===<br />
<br />
PR: Andrzej Jan Taramina<br />
Progcom: Allison Nowlan<br />
<br />
=1978=<br />
<br />
===Winter===<br />
<br />
PR: Peter Stevens<br />
<br />
===Spring===<br />
<br />
TR: K.G. Dykes<br />
SE: Kandry Mutheardy<br />
<br />
Brian Kernighan gave a talk this term. So did Ken Thompson.<br />
<br />
===Fall===<br />
<br />
=1979=<br />
<br />
===Spring===<br />
<br />
PR: Robert Biddle<br />
<br />
<br />
=1987=<br />
<br />
===Fall===<br />
<br />
PR: Jim Boritz<br />
VP: Ted Timar<br />
TR: Gayla Boritz<br />
SE: Edwin Hoogerbeets<br />
<br />
=1988=<br />
<br />
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
Tim Timar - cc'd on memos/mentioned on mathsoc minutes in 1987/88.<br />
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The 'Record Management Profile' that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC<br />
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first "real" computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.<br />
<br />
===Fall===<br />
<br />
SA: Wade Richards<br />
<br />
=1989=<br />
<br />
===Winter===<br />
<br />
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg<br />
<br />
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), ??? <br />
<br />
PR: Barry W. Smith<br />
VP: Angela Chambers<br />
TR:<br />
SE: Sean Goggin<br />
SA: Wade Richards / Ross Ridge<br />
<br />
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
<br />
===Spring===<br />
<br />
PR: Jim Thornton<br />
VP: Gayla Boritz<br />
TR: David Fenger<br />
SE: Kivi Shapiro<br />
SA: Reid Pinchback<br />
<br />
Assistance to sysadmin: Jim Boritz.<br />
<br />
===Fall===<br />
<br />
PR: James Boritz<br />
VP: Edmond Bourne<br />
SA: Ross Ridge<br />
<br />
=1990=<br />
<br />
===Winter===<br />
<br />
TR: Jim Thornton<br />
<br />
===Spring===<br />
<br />
TR: Karen Smith<br />
SE: Robyn Steward<br />
<br />
===Fall===<br />
PR: Wade Richards<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart - attended mathsoc meeting on our behalf.<br />
Kivi Shapiro - attended mathsoc meeting on our behalf.<br />
- Censured by mathsoc for his actions during the election.<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
=1991=<br />
<br />
===Winter===<br />
VP: Edmond Bourne<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
John McCarthy came this term.<br />
<br />
===Spring===<br />
TR: Rob Leitman<br />
Jason Knell - attended mathsoc meeting on our and PMC's behalf.<br />
<br />
===Fall===<br />
TR: Mike Van Lingen<br />
Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.<br />
<br />
<br />
=1992=<br />
<br />
===Winter===<br />
TR: Norm Ross<br />
SE: Brent Williams<br />
<br />
===Spring===<br />
PR: Dale Wick<br />
TR: Stephen A. Mills<br />
<br />
===Fall===<br />
TR: Mark Plumb<br />
<br />
<br />
=1993=<br />
<br />
===Winter===<br />
TR: Rob Leitman<br />
VP: Tim Prime<br />
OF: Dave Ebbo<br />
LI: Norm Ross<br />
<br />
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray<br />
<br />
===Spring===<br />
TR: Mark Tompsett <br />
<br />
===Fall===<br />
<br />
PR: Ian Goldberg<br />
<br />
=1994=<br />
<br />
===Winter===<br />
PR: Ian Goldberg<br />
TR: Mark Tompsett<br />
SE: Tom Rathbourne<br />
LI: Michael Van Biesbrouck<br />
Norm Ross assisted with finances.<br />
<br />
===Spring===<br />
PR: Dale Wick (?)<br />
TR: Steve Mills<br />
SA: Ian Goldberg (?)<br />
Norm Ross assisted with finances.<br />
<br />
===Fall===<br />
PR: Ross Ridge<br />
VP: Tom Rathbourne (?)<br />
TR: Rob Leitman<br />
SA: Zygo Blaxell<br />
LI: Michael Van Biesbrouck<br />
<br />
<br />
=1995=<br />
<br />
===Winter===<br />
TR: Sharlene Schmeichel<br />
Amy Brown and Rob Ridge purchased books.<br />
<br />
===Spring===<br />
TR: Steve Mills<br />
<br />
===Fall===<br />
PR: Amy Brown (arbrown) <br />
VP: Christina Norman (cbnorman)<br />
TR: Steven Mills (samills)<br />
SE: Allyson Graham (akgraham)<br />
SA: Gavin Peters<br />
<br />
<br />
=1996=<br />
<br />
===Winter===<br />
PR: Nikita Borisov (nborisov)<br />
VP: Joseph Deu Ngoc (dtdeungo) <br />
TR: Stephen Mills (samills)<br />
SE: Sharlene Schmeichel (saschmei)<br />
SA: Dave Brown (dagbrown)<br />
OF: Somsack Tsai (stsai)<br />
LI: Devin Carless (dccarles)<br />
FL: Allyson Graham (akgraham)<br />
DE: Ian Goldberg (iagoldbe)<br />
<br />
===Spring===<br />
PR: Blake Winton (bwinton)<br />
VP: Nick Harvey (njaharve)<br />
TR: Nikita Borisov (nborisov)<br />
SE: Viet-Trung Luu (vluu)<br />
SA: Drew Hamilton (awhamilt)<br />
OF: Jillian Arnott (jarnott)<br />
LI: Ross Ridge (rridge)<br />
FL: Devin Carless (dccarles)<br />
<br />
=== Fall ===<br />
PR: Shannon Mann (sjbmann) <br />
VP: Joe "Frosh" Deu Ngoc (jtdeungo) resigned (heavy workload)<br />
TR: Michal Van Biesbrouck (mlvanbie) <br />
SE: Nikita Borisov (nborisov) <br />
SA: Chris Rovers <br />
OF: Dax Hutcheon (ddhutche) became VP upon jtduengo's resignation<br />
LI: Aliz Csenki (acsenki) <br />
FL: Aaron Chmielowiec (archmiel) <br />
DE: Skuld (no uwuserid yet...)<br />
<br />
<br />
=1997=<br />
<br />
===Winter===<br />
PR: Dima Brodsky <br />
VP: Nikita Borisov (nborisov)<br />
TR: Stephen Mills (samills)<br />
SE: Evan Jones (ejones)<br />
SA: Alex Brodsky<br />
OF: Chris Doherty<br />
LI: Matt Corks <br />
FL: Paul Prescod<br />
<br />
=== Fall ===<br />
PR: Chris Rovers (cdrovers) <br />
VP: Michael van Biesbrouck (mlvanbie) <br />
TR: Somsack Tsai (stsai) <br />
SE: Matt Corks (mvcorks)<br />
SA: Lennart Sorensen (lsorense) <br />
LI: Chmielowiec (archmiel) <br />
OF: Devin Carless (dccarles) <br />
FL: Aaron Chmielowiec (archmiel)<br />
<br />
<br />
= 1998 =<br />
<br />
=== Winter ===<br />
PR: Suresh Naidu <br />
VP: Viet-Trung Luu <br />
TR: Tim Coleman <br />
SE: Dax Hutcheon <br />
Librarian: Dax Hutcheon <br />
Flasher: Dax Hutcheon <br />
Webmaster: Dax Hutcheon <br />
SA: Robin Powell<br />
OF: Aaron Chmielowiec<br />
<br />
=== Spring ===<br />
<br />
Position Name You might call them...<br />
President roconnor Russell O'Connor<br />
Vice-president trwcolem Tim Coleman<br />
Treasurer knzarysk Karl Zaryski<br />
Secretary (bwinton) (Blake Winton)<br />
Sysadmin wbiggs Billy Biggs<br />
Librarian snaidu Suresh Naidu<br />
Flasher pechrysl Paul Chrysler<br />
Office Manager dccarles Devin Carless<br />
WWWW trwcolem Tim Coleman<br />
<br />
=== Fall ===<br />
<br />
President Joe Deu Ngoc jtdeungo<br />
Vice-President Wai Ling Yee wlyee<br />
Treasurer Fjord j2lynn<br />
Secretary Matt Corks mvcorks<br />
Sysadmin Andrew Hamilton awhamilt<br />
<br />
World Wide Web Wench Dax Hutcheon ddhutche<br />
Office Manager Richard Bell rlbell<br />
Librarian Damian Gryski dgryski<br />
Flasher Paul Chrysler pechrysl<br />
Official Deity Ian Goldberg iagoldbe<br />
Official Chairbeing Calum T. Dalek calum<br />
<br />
<br />
=1999=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
<br />
<br />
=2000=<br />
<br />
=== Winter ===<br />
PR: Will Chartrand (wgchartr)<br />
VP: Gavin Duggan (geduggan)<br />
TR:<br />
SE:<br />
SA: Lennart Sorensen (lsorense)<br />
OF:<br />
<br />
=== Fall ===<br />
PR: geduggan<br />
VP: <br />
TR:<br />
SE:<br />
SA: bioster<br />
OF:<br />
<br />
<br />
=2001=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=== Spring ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=2002=<br />
<br />
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php<br />
<br />
=== Winter ===<br />
PR: Billy Biggs<br />
VP: Stefanus Du Toit<br />
TR: Melissa Basinger<br />
SE: James Perry<br />
SA: Barry Genova<br />
Librarian: Ryan Golbeck<br />
Webmaster: Jonathan Beverley<br />
Office Manager: Sayan Li<br />
<br />
=== Spring ===<br />
PR: Alex Pop<br />
VP: Melissa Basinger<br />
TR: Siyan Li<br />
SE: James A Morrison<br />
SA: Jonathan Beverley<br />
Webmaster: Stefanus Du Toit<br />
<br />
=== Fall ===<br />
PR: James A. Morrison<br />
VP: Stefanus Du Toit<br />
TR: James Perry<br />
SE: Michael Biggs<br />
SA: Ryan Golbeck<br />
Librarian: Mark Sherry, Cassandra Schopf<br />
Webmaster: Stefanus Du Toit<br />
<br />
<br />
=2003=<br />
<br />
=== Winter ===<br />
PR: Kannan Vijayan (kvijayan)<br />
VP: Meg Darragh (m2darrag)<br />
TR: James Perry (jeperry)<br />
SE: Wojciech Kosnik (wkosnik)<br />
SA: Stefanus Du Toit (sjdutoit)<br />
LI: Simon Law (sfllaw)<br />
WM: Julie Lavoie (jlavoie)<br />
<br />
===Fall===<br />
PR: Stefanus Du Toit (sjdutoit)<br />
VP: Meg Darragh (m2darrag)<br />
TR: Tor Myklebust (tmyklebu)<br />
SE: James Perry (jeperry)<br />
SA: Simon Law (sfllaw)<br />
OF:<br />
<br />
<br />
=2004=<br />
<br />
===Winter===<br />
PR: Simon Law (sfllaw)<br />
VP: fspacek<br />
TR: ljain<br />
SE: Julie Lavoie (jlavoie)<br />
SA: Tor Myklebust(tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
PR: dnmorton ?<br />
VP: Tim Loach (tloach)<br />
TR: Michael Biggs (mbiggs)<br />
SE: Lesley Northam (lanortha)<br />
SA: <br />
OF:<br />
<br />
===Fall ===<br />
PR: jeperry<br />
VP: mtsay<br />
TR: Mark Sherry (mdsherry)<br />
SE: Tor Myklebust (tmyklebu)<br />
SA: jlavoie<br />
OF:<br />
<br />
<br />
=2005=<br />
<br />
===Winter===<br />
<br />
PR: mtsay<br />
VP: Lesley Northam (lanortha)<br />
TR: Holden Karau (hkarau)<br />
SE: domorton<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
<br />
PR: Mark Sherry (mdsherry)<br />
VP: Martin Kess (mdkess)<br />
TR: Ali Piccioni (apiccion)<br />
SE: Michael Biggs (mbiggs)<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Tim Loach (tloach)<br />
VP: Lesley Northam (lanortha)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: The Professor<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
<br />
=2006=<br />
<br />
===Winter===<br />
<br />
PR: Tor Myklebust (tmyklebu)<br />
VP: Michael Druker (mdruker)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: Mark Sherry (mdsherry)<br />
SA: William O'Connor (woconnor)<br />
OF:<br />
<br />
===Spring===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: David Tenty (daltenty)<br />
SE: Chris Evensen (cevensen)<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Martin Kess (mdkess)<br />
VP: Mark Sherry (mdsherry)<br />
TR: Sylvan L. Mably (slmably)<br />
SE: Caelyn McAulay (cmcaulay) <br />
SA: William O'Connor (woconnor)<br />
<br />
<br />
=2007=<br />
<br />
===Winter===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: David Tenty (daltenty)<br />
SA: Holden Karau (hkarau)<br />
Webmaster: jnopporn<br />
OF:<br />
<br />
===Spring===<br />
PR: Gaelan D'costa (gdcosta)<br />
VP: Kyle Larose (kmlarose)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Erik Louie (elouie)<br />
SA: Michael Spang (mspang)<br />
Librarian: David Tenty (daltenty)<br />
OF:<br />
<br />
===Fall ===<br />
PR: Holden Karau (hkarau)<br />
VP: Alex McCausland (amccausl)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Sean Cumming (sgcummin)<br />
SA: David Tenty (daltenty)<br />
OF:<br />
WW: dtbartle / jnopporn<br />
<br />
<br />
=2008=<br />
<br />
===Winter ===<br />
PR: Sean Cumming (sgcummin)<br />
VP: Matt Lawrence (m3lawren)<br />
TR: Mateusz Tarkowski (mtarkows)<br />
SE: Edgar Bering (ebering)<br />
SA: Jordan Saunders (jmsaunde)<br />
OF:<br />
<br />
===Summer ===<br />
PR: Brennan Taylor (b4taylor)<br />
VP: Qifan Xi (qxi)<br />
TR: Matt Lawrence (m3lawren)<br />
SE: Nick Guenther (nguenthe)<br />
SA:<br />
OF:<br />
<br />
===Fall ===<br />
PR: Matthew Lawrence (m3lawren)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Gregson (mgregson)<br />
SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik 'Domo' Chłobowski<br />
SA: Kyle Spaans (kspaans)<br />
OF:<br />
<br />
<br />
=2009=<br />
<br />
===Winter===<br />
PR: Michael Gregson (mgregson)<br />
VP: Edgar Bering (ebering)<br />
TR: Brennan Taylor (b4taylor)<br />
SE: James Simpson (j2simpso) resigned for business reasons, replaced by Rebecca Putinski (rjputins) <br />
SA: Jacob Parker (j3parker) <br />
OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)<br />
<br />
===Spring ===<br />
PR: Michael Spang (mspang)<br />
VP: Jacob Parker (j3parker)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Anthony Brennan (a2brenna)<br />
OF:<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Spang (mspang)<br />
SE: Brennan Taylor (b4taylor)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Rebecca Putinski (rjputins)<br />
<br />
<br />
=2010=<br />
<br />
===Winter===<br />
PR: Kyle Spaans (kspaans)<br />
VP: Edgar Bering (ebering)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Ajnu Jacob (ajacob)<br />
SA: Matthew Thiffault (mthiffau)<br />
OF: Jacob Parker (j3parker)<br />
<br />
Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr<br />
<br />
===Spring===<br />
PR: Jeff Cameron (j3camero)<br />
VP: Brennan Taylor (b4taylor)<br />
TR: Vardhan Mudunuru (vmudunur)<br />
SE: Matthew Lawrence (m3lawren)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Edgar Bering (ebering)<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Rebecca Putinski (rjputins)<br />
SE: Kyle Spaans (kspaans)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Amir Sayed Khader (askhader)<br />
<br />
<br />
=2011=<br />
<br />
===Winter===<br />
PR: Edgar Bering (ebering)<br />
VP: Jennifer "Emily" Wong (jy2wong)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Elana "Alana" Hashman (ehashman)<br />
SA: Peter "Bofh" Barfuss (pbarfuss)<br />
OF: Marc Burns (Marc Burns)<br />
<br />
===Spring===<br />
PR: Matthew Thiffault (mthiffau)<br />
VP: Matthew McPherrin (mimcpher)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Kwame Andrew Ansong (kansong)<br />
SA: Jeremy Brandon Roman (jbroman)<br />
OF: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Katharine Hyatt (kshyatt)<br />
TR: Jacob Parker (j3parker)<br />
SE: Elana Hashman (ehashman)<br />
SA: Anthony "hatguy/hotgay" Brennan (a2brenna)<br />
OF: Kyle Spaans (kspaans)<br />
LIB: Edgar Bering (ebering)<br />
<br />
<br />
=2012=<br />
<br />
===Winter===<br />
PR: Marc Burns (m4burns)<br />
VP: Elana Hashman (ehashman)<br />
TR: Jacob Parker (j3parker)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Summer===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Luqman Aden (laden)<br />
TR: Matthew McPherrin (mimcpher)<br />
SE: Elana Hashman (ehashman)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Marc Burns (m4burns)<br />
LIB: John Ladan (jladan)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Salem Talha (satalha)<br />
TR: Jennifer Wong (jy2wong)<br />
SE: Elana Hashman (ehashman), resigned<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: John Ladan (jladan)<br />
<br />
<br />
=2013=<br />
<br />
===Winter===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Marc Burns (m4burns)<br />
TR: John Mumford (jsmumfor)<br />
SE: Matt Olechnowicz (mgolechn)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Bryan Coutts (b2coutts)<br />
LIB: Matthew McPherrin (mimcpher)<br />
<br />
===Spring===<br />
PR: Shane Robert Creighton-Young (srcreigh)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Youn Jin Kim (yj7kim)<br />
SA: Anthony Brennan (a2brenna)<br />
OF: Marc Burns (m4burns)<br />
IMAPD: Dominik Chlobowski (dchlobow)<br />
<br />
===Fall===<br />
PR: Elana Hashman (ehashman)<br />
VP: Marc Burns (m4burns)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Edward Lee (e45lee)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Sean Hunt (scshunt)<br />
<br />
<br />
= 2014 =<br />
<br />
=== Winter ===<br />
PR: Bryan Coutts (b2coutts)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Marc Burns (m4burns)<br />
SE: Mark Farrell (m4farrel)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Nicholas Black (nablack)<br />
<br />
=== Spring ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Luke Franceschini (l3france)<br />
TR: Joseph Chouinard (jchouina)<br />
SE: Ifaz Kabir (ikabir)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Matthew Thiffault (mthiffau)<br />
<br />
=== Fall ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Theodor Belaire (tbelaire)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Shane Robert Creighton-Young (srcreigh)<br />
SA: Sean Hunt (scshunt)<br />
OF: Mark Farrell (m4farrel)<br />
LIB: Gianni Leonardo Gambetti (glgambet)<br />
<br />
<br />
= 2015 =<br />
<br />
=== Winter ===<br />
PR: Gianni Leonardo Gambetti (glgambet)<br />
VP: Luke Franceschini (l3france)<br />
TR: Edward Lee (e45lee)<br />
SE: Patrick James Melanson (pj2melan)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Shikhar Singh (s285sing)<br />
LIB: Aishwarya Gupta (a72gupta)<br />
<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Patrick Melanson (pj2melan)<br />
TR: Jonathan Bailey (jj2baile)<br />
SE: Keri Warr (kpwarr)<br />
SA: Nik Black (nablack)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
LIB: Yomna Nasser (ynasser)<br />
<br />
<br />
=== Fall ===<br />
PR: Simone Hu (ss2hu)<br />
VP: Theo Belaire (tbelaire)<br />
TR: Jordan Taylore Upiter (jtupiter)<br />
SE: Daniel Marin (dmarin)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
<br />
<br />
= 2016 =<br />
<br />
=== Winter ===<br />
PR: Patrick Melanson (pj2melan)<br />
VP: Patrick Melanson (pj2melan)<br />
Acting VP, progcom chair: Theo Belaire (tbelaire)<br />
TR: Luqman Aden (laden)<br />
SE: Naomi Koo (n3koo)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Reila Zheng (wy2zheng)<br />
[[Imapd Guide|imapd]]: Marc Mailhot (mnmailho)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&diff=3905Past Executive2016-01-15T19:11:17Z<p>Pj2melan: /* Winter */ linked to impad guide for imapd</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sources for this exec list have been: CSC records, MathNEWS.<br />
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: ''This week on campus''. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.<br />
<br />
= Definitions =<br />
#define PR President<br />
#define VP Vice-president<br />
#define TR Treasurer<br />
#define SE Secretary<br />
#define SA Sysadmin<br />
#define OF Office Manager<br />
#define LI Librarian<br />
#define FL Flasher<br />
#define DE Deity<br />
#define WW Webmaster<br />
#define OF Office Manager<br />
#define SE-TR Secretary-Treasurer (Position was split)<br />
<br />
=Founding 1967=<br />
<br />
Sponsor - J. Peter Sprung<br />
PR: K. Rugger<br />
VP: R. Jaques<br />
SE-TR: G. Sutherland<br />
<br />
Founding Members:<br />
B. Kindree<br />
R. Melen<br />
V. Neglia<br />
R. Charney<br />
R. Truman<br />
Glenn Berry<br />
D. Meek<br />
<br />
===Fall===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
Committee members: R. Stallwerthy, C. de Vries<br />
<br />
=1968=<br />
<br />
===Winter===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
===Fall===<br />
<br />
SE-TR: Glenn Berry<br />
<br />
=1969=<br />
<br />
Unknown, only one letter found in the folder 'ACM History' 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.<br />
<br />
=1970=<br />
<br />
===A note on ACM affiliation===<br />
<br />
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<br />
<br />
===Fall===<br />
<br />
PR: Rick Beach<br />
VP: Lee Santon<br />
TR: Randy Melen<br />
SE: Vic Neglia<br />
<br />
=1971=<br />
<br />
===Spring===<br />
<br />
VP: James H. "Jim" Finch and James W. Welch both signed letters as VP.<br />
<br />
===Fall===<br />
<br />
VP: James W. Welch<br />
<br />
=1972=<br />
<br />
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.<br />
<br />
===Winter===<br />
<br />
PR: Mike Campbell<br />
VP: Edgar Hew<br />
SE-TR: Doug Lacy<br />
<br />
There is also stuff from James W. Welch without a position.<br />
<br />
===Fall===<br />
<br />
PR: Ian McIntosh<br />
<br />
=1973=<br />
<br />
Faculty Sponsor: Morven Gentleman<br />
<br />
===Winter===<br />
<br />
SE: Douglas E. Lacy<br />
<br />
===Spring===<br />
<br />
PR: Jim Parry<br />
<br />
===Fall===<br />
<br />
PR: Jim Parry<br />
VP: Ray Walden<br />
TR: Slavko Stemberger<br />
SE: Mario Festival<br />
<br />
=1974=<br />
<br />
===Fall===<br />
<br />
PR: Russell Crook<br />
<br />
=1975-1977=<br />
<br />
Faculty Sponsor: Morven Gentleman??<br />
<br />
Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.<br />
Sylvia Eng: 1975/6 as some position.<br />
Dave Buckingham: a VP at some point<br />
Allison Nolan: 1977 time<br />
Peter Stevens: 1977<br />
Russel Crook???<br />
<br />
Dennis Ritchie came. So did Jeffrey D. Ullman.<br />
<br />
=1976=<br />
<br />
===Fall===<br />
<br />
Progcom: Peter Stevens<br />
<br />
=1977=<br />
<br />
===Winter===<br />
<br />
Progcom: Allison Nowlan<br />
<br />
===Spring=== <br />
<br />
PR: Peter Stevens<br />
Progcom: Allison Nowlan<br />
<br />
===Fall===<br />
<br />
PR: Andrzej Jan Taramina<br />
Progcom: Allison Nowlan<br />
<br />
=1978=<br />
<br />
===Winter===<br />
<br />
PR: Peter Stevens<br />
<br />
===Spring===<br />
<br />
TR: K.G. Dykes<br />
SE: Kandry Mutheardy<br />
<br />
Brian Kernighan gave a talk this term. So did Ken Thompson.<br />
<br />
===Fall===<br />
<br />
=1979=<br />
<br />
===Spring===<br />
<br />
PR: Robert Biddle<br />
<br />
<br />
=1987=<br />
<br />
===Fall===<br />
<br />
PR: Jim Boritz<br />
VP: Ted Timar<br />
TR: Gayla Boritz<br />
SE: Edwin Hoogerbeets<br />
<br />
=1988=<br />
<br />
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
Tim Timar - cc'd on memos/mentioned on mathsoc minutes in 1987/88.<br />
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The 'Record Management Profile' that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC<br />
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first "real" computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.<br />
<br />
===Fall===<br />
<br />
SA: Wade Richards<br />
<br />
=1989=<br />
<br />
===Winter===<br />
<br />
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg<br />
<br />
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), ??? <br />
<br />
PR: Barry W. Smith<br />
VP: Angela Chambers<br />
TR:<br />
SE: Sean Goggin<br />
SA: Wade Richards / Ross Ridge<br />
<br />
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
<br />
===Spring===<br />
<br />
PR: Jim Thornton<br />
VP: Gayla Boritz<br />
TR: David Fenger<br />
SE: Kivi Shapiro<br />
SA: Reid Pinchback<br />
<br />
Assistance to sysadmin: Jim Boritz.<br />
<br />
===Fall===<br />
<br />
PR: James Boritz<br />
VP: Edmond Bourne<br />
SA: Ross Ridge<br />
<br />
=1990=<br />
<br />
===Winter===<br />
<br />
TR: Jim Thornton<br />
<br />
===Spring===<br />
<br />
TR: Karen Smith<br />
SE: Robyn Steward<br />
<br />
===Fall===<br />
PR: Wade Richards<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart - attended mathsoc meeting on our behalf.<br />
Kivi Shapiro - attended mathsoc meeting on our behalf.<br />
- Censured by mathsoc for his actions during the election.<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
=1991=<br />
<br />
===Winter===<br />
VP: Edmond Bourne<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
John McCarthy came this term.<br />
<br />
===Spring===<br />
TR: Rob Leitman<br />
Jason Knell - attended mathsoc meeting on our and PMC's behalf.<br />
<br />
===Fall===<br />
TR: Mike Van Lingen<br />
Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.<br />
<br />
<br />
=1992=<br />
<br />
===Winter===<br />
TR: Norm Ross<br />
SE: Brent Williams<br />
<br />
===Spring===<br />
PR: Dale Wick<br />
TR: Stephen A. Mills<br />
<br />
===Fall===<br />
TR: Mark Plumb<br />
<br />
<br />
=1993=<br />
<br />
===Winter===<br />
TR: Rob Leitman<br />
VP: Tim Prime<br />
OF: Dave Ebbo<br />
LI: Norm Ross<br />
<br />
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray<br />
<br />
===Spring===<br />
TR: Mark Tompsett <br />
<br />
===Fall===<br />
<br />
PR: Ian Goldberg<br />
<br />
=1994=<br />
<br />
===Winter===<br />
PR: Ian Goldberg<br />
TR: Mark Tompsett<br />
SE: Tom Rathbourne<br />
LI: Michael Van Biesbrouck<br />
Norm Ross assisted with finances.<br />
<br />
===Spring===<br />
PR: Dale Wick (?)<br />
TR: Steve Mills<br />
SA: Ian Goldberg (?)<br />
Norm Ross assisted with finances.<br />
<br />
===Fall===<br />
PR: Ross Ridge<br />
VP: Tom Rathbourne (?)<br />
TR: Rob Leitman<br />
SA: Zygo Blaxell<br />
LI: Michael Van Biesbrouck<br />
<br />
<br />
=1995=<br />
<br />
===Winter===<br />
TR: Sharlene Schmeichel<br />
Amy Brown and Rob Ridge purchased books.<br />
<br />
===Spring===<br />
TR: Steve Mills<br />
<br />
===Fall===<br />
PR: Amy Brown (arbrown) <br />
VP: Christina Norman (cbnorman)<br />
TR: Steven Mills (samills)<br />
SE: Allyson Graham (akgraham)<br />
SA: Gavin Peters<br />
<br />
<br />
=1996=<br />
<br />
===Winter===<br />
PR: Nikita Borisov (nborisov)<br />
VP: Joseph Deu Ngoc (dtdeungo) <br />
TR: Stephen Mills (samills)<br />
SE: Sharlene Schmeichel (saschmei)<br />
SA: Dave Brown (dagbrown)<br />
OF: Somsack Tsai (stsai)<br />
LI: Devin Carless (dccarles)<br />
FL: Allyson Graham (akgraham)<br />
DE: Ian Goldberg (iagoldbe)<br />
<br />
===Spring===<br />
PR: Blake Winton (bwinton)<br />
VP: Nick Harvey (njaharve)<br />
TR: Nikita Borisov (nborisov)<br />
SE: Viet-Trung Luu (vluu)<br />
SA: Drew Hamilton (awhamilt)<br />
OF: Jillian Arnott (jarnott)<br />
LI: Ross Ridge (rridge)<br />
FL: Devin Carless (dccarles)<br />
<br />
=== Fall ===<br />
PR: Shannon Mann (sjbmann) <br />
VP: Joe "Frosh" Deu Ngoc (jtdeungo) resigned (heavy workload)<br />
TR: Michal Van Biesbrouck (mlvanbie) <br />
SE: Nikita Borisov (nborisov) <br />
SA: Chris Rovers <br />
OF: Dax Hutcheon (ddhutche) became VP upon jtduengo's resignation<br />
LI: Aliz Csenki (acsenki) <br />
FL: Aaron Chmielowiec (archmiel) <br />
DE: Skuld (no uwuserid yet...)<br />
<br />
<br />
=1997=<br />
<br />
===Winter===<br />
PR: Dima Brodsky <br />
VP: Nikita Borisov (nborisov)<br />
TR: Stephen Mills (samills)<br />
SE: Evan Jones (ejones)<br />
SA: Alex Brodsky<br />
OF: Chris Doherty<br />
LI: Matt Corks <br />
FL: Paul Prescod<br />
<br />
=== Fall ===<br />
PR: Chris Rovers (cdrovers) <br />
VP: Michael van Biesbrouck (mlvanbie) <br />
TR: Somsack Tsai (stsai) <br />
SE: Matt Corks (mvcorks)<br />
SA: Lennart Sorensen (lsorense) <br />
LI: Chmielowiec (archmiel) <br />
OF: Devin Carless (dccarles) <br />
FL: Aaron Chmielowiec (archmiel)<br />
<br />
<br />
= 1998 =<br />
<br />
=== Winter ===<br />
PR: Suresh Naidu <br />
VP: Viet-Trung Luu <br />
TR: Tim Coleman <br />
SE: Dax Hutcheon <br />
Librarian: Dax Hutcheon <br />
Flasher: Dax Hutcheon <br />
Webmaster: Dax Hutcheon <br />
SA: Robin Powell<br />
OF: Aaron Chmielowiec<br />
<br />
=== Spring ===<br />
<br />
Position Name You might call them...<br />
President roconnor Russell O'Connor<br />
Vice-president trwcolem Tim Coleman<br />
Treasurer knzarysk Karl Zaryski<br />
Secretary (bwinton) (Blake Winton)<br />
Sysadmin wbiggs Billy Biggs<br />
Librarian snaidu Suresh Naidu<br />
Flasher pechrysl Paul Chrysler<br />
Office Manager dccarles Devin Carless<br />
WWWW trwcolem Tim Coleman<br />
<br />
=== Fall ===<br />
<br />
President Joe Deu Ngoc jtdeungo<br />
Vice-President Wai Ling Yee wlyee<br />
Treasurer Fjord j2lynn<br />
Secretary Matt Corks mvcorks<br />
Sysadmin Andrew Hamilton awhamilt<br />
<br />
World Wide Web Wench Dax Hutcheon ddhutche<br />
Office Manager Richard Bell rlbell<br />
Librarian Damian Gryski dgryski<br />
Flasher Paul Chrysler pechrysl<br />
Official Deity Ian Goldberg iagoldbe<br />
Official Chairbeing Calum T. Dalek calum<br />
<br />
<br />
=1999=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
<br />
<br />
=2000=<br />
<br />
=== Winter ===<br />
PR: Will Chartrand (wgchartr)<br />
VP: Gavin Duggan (geduggan)<br />
TR:<br />
SE:<br />
SA: Lennart Sorensen (lsorense)<br />
OF:<br />
<br />
=== Fall ===<br />
PR: geduggan<br />
VP: <br />
TR:<br />
SE:<br />
SA: bioster<br />
OF:<br />
<br />
<br />
=2001=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=== Spring ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=2002=<br />
<br />
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php<br />
<br />
=== Winter ===<br />
PR: Billy Biggs<br />
VP: Stefanus Du Toit<br />
TR: Melissa Basinger<br />
SE: James Perry<br />
SA: Barry Genova<br />
Librarian: Ryan Golbeck<br />
Webmaster: Jonathan Beverley<br />
Office Manager: Sayan Li<br />
<br />
=== Spring ===<br />
PR: Alex Pop<br />
VP: Melissa Basinger<br />
TR: Siyan Li<br />
SE: James A Morrison<br />
SA: Jonathan Beverley<br />
Webmaster: Stefanus Du Toit<br />
<br />
=== Fall ===<br />
PR: James A. Morrison<br />
VP: Stefanus Du Toit<br />
TR: James Perry<br />
SE: Michael Biggs<br />
SA: Ryan Golbeck<br />
Librarian: Mark Sherry, Cassandra Schopf<br />
Webmaster: Stefanus Du Toit<br />
<br />
<br />
=2003=<br />
<br />
=== Winter ===<br />
PR: Kannan Vijayan (kvijayan)<br />
VP: Meg Darragh (m2darrag)<br />
TR: James Perry (jeperry)<br />
SE: Wojciech Kosnik (wkosnik)<br />
SA: Stefanus Du Toit (sjdutoit)<br />
LI: Simon Law (sfllaw)<br />
WM: Julie Lavoie (jlavoie)<br />
<br />
===Fall===<br />
PR: Stefanus Du Toit (sjdutoit)<br />
VP: Meg Darragh (m2darrag)<br />
TR: Tor Myklebust (tmyklebu)<br />
SE: James Perry (jeperry)<br />
SA: Simon Law (sfllaw)<br />
OF:<br />
<br />
<br />
=2004=<br />
<br />
===Winter===<br />
PR: Simon Law (sfllaw)<br />
VP: fspacek<br />
TR: ljain<br />
SE: Julie Lavoie (jlavoie)<br />
SA: Tor Myklebust(tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
PR: dnmorton ?<br />
VP: Tim Loach (tloach)<br />
TR: Michael Biggs (mbiggs)<br />
SE: Lesley Northam (lanortha)<br />
SA: <br />
OF:<br />
<br />
===Fall ===<br />
PR: jeperry<br />
VP: mtsay<br />
TR: Mark Sherry (mdsherry)<br />
SE: Tor Myklebust (tmyklebu)<br />
SA: jlavoie<br />
OF:<br />
<br />
<br />
=2005=<br />
<br />
===Winter===<br />
<br />
PR: mtsay<br />
VP: Lesley Northam (lanortha)<br />
TR: Holden Karau (hkarau)<br />
SE: domorton<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
<br />
PR: Mark Sherry (mdsherry)<br />
VP: Martin Kess (mdkess)<br />
TR: Ali Piccioni (apiccion)<br />
SE: Michael Biggs (mbiggs)<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Tim Loach (tloach)<br />
VP: Lesley Northam (lanortha)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: The Professor<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
<br />
=2006=<br />
<br />
===Winter===<br />
<br />
PR: Tor Myklebust (tmyklebu)<br />
VP: Michael Druker (mdruker)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: Mark Sherry (mdsherry)<br />
SA: William O'Connor (woconnor)<br />
OF:<br />
<br />
===Spring===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: David Tenty (daltenty)<br />
SE: Chris Evensen (cevensen)<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Martin Kess (mdkess)<br />
VP: Mark Sherry (mdsherry)<br />
TR: Sylvan L. Mably (slmably)<br />
SE: Caelyn McAulay (cmcaulay) <br />
SA: William O'Connor (woconnor)<br />
<br />
<br />
=2007=<br />
<br />
===Winter===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: David Tenty (daltenty)<br />
SA: Holden Karau (hkarau)<br />
Webmaster: jnopporn<br />
OF:<br />
<br />
===Spring===<br />
PR: Gaelan D'costa (gdcosta)<br />
VP: Kyle Larose (kmlarose)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Erik Louie (elouie)<br />
SA: Michael Spang (mspang)<br />
Librarian: David Tenty (daltenty)<br />
OF:<br />
<br />
===Fall ===<br />
PR: Holden Karau (hkarau)<br />
VP: Alex McCausland (amccausl)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Sean Cumming (sgcummin)<br />
SA: David Tenty (daltenty)<br />
OF:<br />
WW: dtbartle / jnopporn<br />
<br />
<br />
=2008=<br />
<br />
===Winter ===<br />
PR: Sean Cumming (sgcummin)<br />
VP: Matt Lawrence (m3lawren)<br />
TR: Mateusz Tarkowski (mtarkows)<br />
SE: Edgar Bering (ebering)<br />
SA: Jordan Saunders (jmsaunde)<br />
OF:<br />
<br />
===Summer ===<br />
PR: Brennan Taylor (b4taylor)<br />
VP: Qifan Xi (qxi)<br />
TR: Matt Lawrence (m3lawren)<br />
SE: Nick Guenther (nguenthe)<br />
SA:<br />
OF:<br />
<br />
===Fall ===<br />
PR: Matthew Lawrence (m3lawren)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Gregson (mgregson)<br />
SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik 'Domo' Chłobowski<br />
SA: Kyle Spaans (kspaans)<br />
OF:<br />
<br />
<br />
=2009=<br />
<br />
===Winter===<br />
PR: Michael Gregson (mgregson)<br />
VP: Edgar Bering (ebering)<br />
TR: Brennan Taylor (b4taylor)<br />
SE: James Simpson (j2simpso) resigned for business reasons, replaced by Rebecca Putinski (rjputins) <br />
SA: Jacob Parker (j3parker) <br />
OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)<br />
<br />
===Spring ===<br />
PR: Michael Spang (mspang)<br />
VP: Jacob Parker (j3parker)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Anthony Brennan (a2brenna)<br />
OF:<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Spang (mspang)<br />
SE: Brennan Taylor (b4taylor)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Rebecca Putinski (rjputins)<br />
<br />
<br />
=2010=<br />
<br />
===Winter===<br />
PR: Kyle Spaans (kspaans)<br />
VP: Edgar Bering (ebering)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Ajnu Jacob (ajacob)<br />
SA: Matthew Thiffault (mthiffau)<br />
OF: Jacob Parker (j3parker)<br />
<br />
Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr<br />
<br />
===Spring===<br />
PR: Jeff Cameron (j3camero)<br />
VP: Brennan Taylor (b4taylor)<br />
TR: Vardhan Mudunuru (vmudunur)<br />
SE: Matthew Lawrence (m3lawren)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Edgar Bering (ebering)<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Rebecca Putinski (rjputins)<br />
SE: Kyle Spaans (kspaans)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Amir Sayed Khader (askhader)<br />
<br />
<br />
=2011=<br />
<br />
===Winter===<br />
PR: Edgar Bering (ebering)<br />
VP: Jennifer "Emily" Wong (jy2wong)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Elana "Alana" Hashman (ehashman)<br />
SA: Peter "Bofh" Barfuss (pbarfuss)<br />
OF: Marc Burns (Marc Burns)<br />
<br />
===Spring===<br />
PR: Matthew Thiffault (mthiffau)<br />
VP: Matthew McPherrin (mimcpher)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Kwame Andrew Ansong (kansong)<br />
SA: Jeremy Brandon Roman (jbroman)<br />
OF: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Katharine Hyatt (kshyatt)<br />
TR: Jacob Parker (j3parker)<br />
SE: Elana Hashman (ehashman)<br />
SA: Anthony "hatguy/hotgay" Brennan (a2brenna)<br />
OF: Kyle Spaans (kspaans)<br />
LIB: Edgar Bering (ebering)<br />
<br />
<br />
=2012=<br />
<br />
===Winter===<br />
PR: Marc Burns (m4burns)<br />
VP: Elana Hashman (ehashman)<br />
TR: Jacob Parker (j3parker)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Summer===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Luqman Aden (laden)<br />
TR: Matthew McPherrin (mimcpher)<br />
SE: Elana Hashman (ehashman)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Marc Burns (m4burns)<br />
LIB: John Ladan (jladan)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Salem Talha (satalha)<br />
TR: Jennifer Wong (jy2wong)<br />
SE: Elana Hashman (ehashman), resigned<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: John Ladan (jladan)<br />
<br />
<br />
=2013=<br />
<br />
===Winter===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Marc Burns (m4burns)<br />
TR: John Mumford (jsmumfor)<br />
SE: Matt Olechnowicz (mgolechn)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Bryan Coutts (b2coutts)<br />
LIB: Matthew McPherrin (mimcpher)<br />
<br />
===Spring===<br />
PR: Shane Robert Creighton-Young (srcreigh)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Youn Jin Kim (yj7kim)<br />
SA: Anthony Brennan (a2brenna)<br />
OF: Marc Burns (m4burns)<br />
IMAPD: Dominik Chlobowski (dchlobow)<br />
<br />
===Fall===<br />
PR: Elana Hashman (ehashman)<br />
VP: Marc Burns (m4burns)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Edward Lee (e45lee)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Sean Hunt (scshunt)<br />
<br />
<br />
= 2014 =<br />
<br />
=== Winter ===<br />
PR: Bryan Coutts (b2coutts)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Marc Burns (m4burns)<br />
SE: Mark Farrell (m4farrel)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Nicholas Black (nablack)<br />
<br />
=== Spring ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Luke Franceschini (l3france)<br />
TR: Joseph Chouinard (jchouina)<br />
SE: Ifaz Kabir (ikabir)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Matthew Thiffault (mthiffau)<br />
<br />
=== Fall ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Theodor Belaire (tbelaire)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Shane Robert Creighton-Young (srcreigh)<br />
SA: Sean Hunt (scshunt)<br />
OF: Mark Farrell (m4farrel)<br />
LIB: Gianni Leonardo Gambetti (glgambet)<br />
<br />
<br />
= 2015 =<br />
<br />
=== Winter ===<br />
PR: Gianni Leonardo Gambetti (glgambet)<br />
VP: Luke Franceschini (l3france)<br />
TR: Edward Lee (e45lee)<br />
SE: Patrick James Melanson (pj2melan)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Shikhar Singh (s285sing)<br />
LIB: Aishwarya Gupta (a72gupta)<br />
<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Patrick Melanson (pj2melan)<br />
TR: Jonathan Bailey (jj2baile)<br />
SE: Keri Warr (kpwarr)<br />
SA: Nik Black (nablack)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
LIB: Yomna Nasser (ynasser)<br />
<br />
<br />
=== Fall ===<br />
PR: Simone Hu (ss2hu)<br />
VP: Theo Belaire (tbelaire)<br />
TR: Jordan Taylore Upiter (jtupiter)<br />
SE: Daniel Marin (dmarin)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
<br />
<br />
= 2016 =<br />
<br />
=== Winter ===<br />
PR: Patrick Melanson (pj2melan)<br />
VP: Patrick Melanson (pj2melan)<br />
Acting VP, progcom chair: Theo Belaire (tbelaire)<br />
TR: Luqman Aden (laden)<br />
SE: Naomi Koo (n3koo)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Reila Zheng (wy2zheng)<br />
[[Imapd Guide|imapd]]: Marc Mailhot (mnmailho)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&diff=3904Past Executive2016-01-15T17:51:06Z<p>Pj2melan: added 2016 winter</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sources for this exec list have been: CSC records, MathNEWS.<br />
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: ''This week on campus''. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.<br />
<br />
= Definitions =<br />
#define PR President<br />
#define VP Vice-president<br />
#define TR Treasurer<br />
#define SE Secretary<br />
#define SA Sysadmin<br />
#define OF Office Manager<br />
#define LI Librarian<br />
#define FL Flasher<br />
#define DE Deity<br />
#define WW Webmaster<br />
#define OF Office Manager<br />
#define SE-TR Secretary-Treasurer (Position was split)<br />
<br />
=Founding 1967=<br />
<br />
Sponsor - J. Peter Sprung<br />
PR: K. Rugger<br />
VP: R. Jaques<br />
SE-TR: G. Sutherland<br />
<br />
Founding Members:<br />
B. Kindree<br />
R. Melen<br />
V. Neglia<br />
R. Charney<br />
R. Truman<br />
Glenn Berry<br />
D. Meek<br />
<br />
===Fall===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
Committee members: R. Stallwerthy, C. de Vries<br />
<br />
=1968=<br />
<br />
===Winter===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
===Fall===<br />
<br />
SE-TR: Glenn Berry<br />
<br />
=1969=<br />
<br />
Unknown, only one letter found in the folder 'ACM History' 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.<br />
<br />
=1970=<br />
<br />
===A note on ACM affiliation===<br />
<br />
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<br />
<br />
===Fall===<br />
<br />
PR: Rick Beach<br />
VP: Lee Santon<br />
TR: Randy Melen<br />
SE: Vic Neglia<br />
<br />
=1971=<br />
<br />
===Spring===<br />
<br />
VP: James H. "Jim" Finch and James W. Welch both signed letters as VP.<br />
<br />
===Fall===<br />
<br />
VP: James W. Welch<br />
<br />
=1972=<br />
<br />
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.<br />
<br />
===Winter===<br />
<br />
PR: Mike Campbell<br />
VP: Edgar Hew<br />
SE-TR: Doug Lacy<br />
<br />
There is also stuff from James W. Welch without a position.<br />
<br />
===Fall===<br />
<br />
PR: Ian McIntosh<br />
<br />
=1973=<br />
<br />
Faculty Sponsor: Morven Gentleman<br />
<br />
===Winter===<br />
<br />
SE: Douglas E. Lacy<br />
<br />
===Spring===<br />
<br />
PR: Jim Parry<br />
<br />
===Fall===<br />
<br />
PR: Jim Parry<br />
VP: Ray Walden<br />
TR: Slavko Stemberger<br />
SE: Mario Festival<br />
<br />
=1974=<br />
<br />
===Fall===<br />
<br />
PR: Russell Crook<br />
<br />
=1975-1977=<br />
<br />
Faculty Sponsor: Morven Gentleman??<br />
<br />
Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.<br />
Sylvia Eng: 1975/6 as some position.<br />
Dave Buckingham: a VP at some point<br />
Allison Nolan: 1977 time<br />
Peter Stevens: 1977<br />
Russel Crook???<br />
<br />
Dennis Ritchie came. So did Jeffrey D. Ullman.<br />
<br />
=1976=<br />
<br />
===Fall===<br />
<br />
Progcom: Peter Stevens<br />
<br />
=1977=<br />
<br />
===Winter===<br />
<br />
Progcom: Allison Nowlan<br />
<br />
===Spring=== <br />
<br />
PR: Peter Stevens<br />
Progcom: Allison Nowlan<br />
<br />
===Fall===<br />
<br />
PR: Andrzej Jan Taramina<br />
Progcom: Allison Nowlan<br />
<br />
=1978=<br />
<br />
===Winter===<br />
<br />
PR: Peter Stevens<br />
<br />
===Spring===<br />
<br />
TR: K.G. Dykes<br />
SE: Kandry Mutheardy<br />
<br />
Brian Kernighan gave a talk this term. So did Ken Thompson.<br />
<br />
===Fall===<br />
<br />
=1979=<br />
<br />
===Spring===<br />
<br />
PR: Robert Biddle<br />
<br />
<br />
=1987=<br />
<br />
===Fall===<br />
<br />
PR: Jim Boritz<br />
VP: Ted Timar<br />
TR: Gayla Boritz<br />
SE: Edwin Hoogerbeets<br />
<br />
=1988=<br />
<br />
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
Tim Timar - cc'd on memos/mentioned on mathsoc minutes in 1987/88.<br />
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The 'Record Management Profile' that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC<br />
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first "real" computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.<br />
<br />
===Fall===<br />
<br />
SA: Wade Richards<br />
<br />
=1989=<br />
<br />
===Winter===<br />
<br />
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg<br />
<br />
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), ??? <br />
<br />
PR: Barry W. Smith<br />
VP: Angela Chambers<br />
TR:<br />
SE: Sean Goggin<br />
SA: Wade Richards / Ross Ridge<br />
<br />
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
<br />
===Spring===<br />
<br />
PR: Jim Thornton<br />
VP: Gayla Boritz<br />
TR: David Fenger<br />
SE: Kivi Shapiro<br />
SA: Reid Pinchback<br />
<br />
Assistance to sysadmin: Jim Boritz.<br />
<br />
===Fall===<br />
<br />
PR: James Boritz<br />
VP: Edmond Bourne<br />
SA: Ross Ridge<br />
<br />
=1990=<br />
<br />
===Winter===<br />
<br />
TR: Jim Thornton<br />
<br />
===Spring===<br />
<br />
TR: Karen Smith<br />
SE: Robyn Steward<br />
<br />
===Fall===<br />
PR: Wade Richards<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart - attended mathsoc meeting on our behalf.<br />
Kivi Shapiro - attended mathsoc meeting on our behalf.<br />
- Censured by mathsoc for his actions during the election.<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
=1991=<br />
<br />
===Winter===<br />
VP: Edmond Bourne<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
John McCarthy came this term.<br />
<br />
===Spring===<br />
TR: Rob Leitman<br />
Jason Knell - attended mathsoc meeting on our and PMC's behalf.<br />
<br />
===Fall===<br />
TR: Mike Van Lingen<br />
Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.<br />
<br />
<br />
=1992=<br />
<br />
===Winter===<br />
TR: Norm Ross<br />
SE: Brent Williams<br />
<br />
===Spring===<br />
PR: Dale Wick<br />
TR: Stephen A. Mills<br />
<br />
===Fall===<br />
TR: Mark Plumb<br />
<br />
<br />
=1993=<br />
<br />
===Winter===<br />
TR: Rob Leitman<br />
VP: Tim Prime<br />
OF: Dave Ebbo<br />
LI: Norm Ross<br />
<br />
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray<br />
<br />
===Spring===<br />
TR: Mark Tompsett <br />
<br />
===Fall===<br />
<br />
PR: Ian Goldberg<br />
<br />
=1994=<br />
<br />
===Winter===<br />
PR: Ian Goldberg<br />
TR: Mark Tompsett<br />
SE: Tom Rathbourne<br />
LI: Michael Van Biesbrouck<br />
Norm Ross assisted with finances.<br />
<br />
===Spring===<br />
PR: Dale Wick (?)<br />
TR: Steve Mills<br />
SA: Ian Goldberg (?)<br />
Norm Ross assisted with finances.<br />
<br />
===Fall===<br />
PR: Ross Ridge<br />
VP: Tom Rathbourne (?)<br />
TR: Rob Leitman<br />
SA: Zygo Blaxell<br />
LI: Michael Van Biesbrouck<br />
<br />
<br />
=1995=<br />
<br />
===Winter===<br />
TR: Sharlene Schmeichel<br />
Amy Brown and Rob Ridge purchased books.<br />
<br />
===Spring===<br />
TR: Steve Mills<br />
<br />
===Fall===<br />
PR: Amy Brown (arbrown) <br />
VP: Christina Norman (cbnorman)<br />
TR: Steven Mills (samills)<br />
SE: Allyson Graham (akgraham)<br />
SA: Gavin Peters<br />
<br />
<br />
=1996=<br />
<br />
===Winter===<br />
PR: Nikita Borisov (nborisov)<br />
VP: Joseph Deu Ngoc (dtdeungo) <br />
TR: Stephen Mills (samills)<br />
SE: Sharlene Schmeichel (saschmei)<br />
SA: Dave Brown (dagbrown)<br />
OF: Somsack Tsai (stsai)<br />
LI: Devin Carless (dccarles)<br />
FL: Allyson Graham (akgraham)<br />
DE: Ian Goldberg (iagoldbe)<br />
<br />
===Spring===<br />
PR: Blake Winton (bwinton)<br />
VP: Nick Harvey (njaharve)<br />
TR: Nikita Borisov (nborisov)<br />
SE: Viet-Trung Luu (vluu)<br />
SA: Drew Hamilton (awhamilt)<br />
OF: Jillian Arnott (jarnott)<br />
LI: Ross Ridge (rridge)<br />
FL: Devin Carless (dccarles)<br />
<br />
=== Fall ===<br />
PR: Shannon Mann (sjbmann) <br />
VP: Joe "Frosh" Deu Ngoc (jtdeungo) resigned (heavy workload)<br />
TR: Michal Van Biesbrouck (mlvanbie) <br />
SE: Nikita Borisov (nborisov) <br />
SA: Chris Rovers <br />
OF: Dax Hutcheon (ddhutche) became VP upon jtduengo's resignation<br />
LI: Aliz Csenki (acsenki) <br />
FL: Aaron Chmielowiec (archmiel) <br />
DE: Skuld (no uwuserid yet...)<br />
<br />
<br />
=1997=<br />
<br />
===Winter===<br />
PR: Dima Brodsky <br />
VP: Nikita Borisov (nborisov)<br />
TR: Stephen Mills (samills)<br />
SE: Evan Jones (ejones)<br />
SA: Alex Brodsky<br />
OF: Chris Doherty<br />
LI: Matt Corks <br />
FL: Paul Prescod<br />
<br />
=== Fall ===<br />
PR: Chris Rovers (cdrovers) <br />
VP: Michael van Biesbrouck (mlvanbie) <br />
TR: Somsack Tsai (stsai) <br />
SE: Matt Corks (mvcorks)<br />
SA: Lennart Sorensen (lsorense) <br />
LI: Chmielowiec (archmiel) <br />
OF: Devin Carless (dccarles) <br />
FL: Aaron Chmielowiec (archmiel)<br />
<br />
<br />
= 1998 =<br />
<br />
=== Winter ===<br />
PR: Suresh Naidu <br />
VP: Viet-Trung Luu <br />
TR: Tim Coleman <br />
SE: Dax Hutcheon <br />
Librarian: Dax Hutcheon <br />
Flasher: Dax Hutcheon <br />
Webmaster: Dax Hutcheon <br />
SA: Robin Powell<br />
OF: Aaron Chmielowiec<br />
<br />
=== Spring ===<br />
<br />
Position Name You might call them...<br />
President roconnor Russell O'Connor<br />
Vice-president trwcolem Tim Coleman<br />
Treasurer knzarysk Karl Zaryski<br />
Secretary (bwinton) (Blake Winton)<br />
Sysadmin wbiggs Billy Biggs<br />
Librarian snaidu Suresh Naidu<br />
Flasher pechrysl Paul Chrysler<br />
Office Manager dccarles Devin Carless<br />
WWWW trwcolem Tim Coleman<br />
<br />
=== Fall ===<br />
<br />
President Joe Deu Ngoc jtdeungo<br />
Vice-President Wai Ling Yee wlyee<br />
Treasurer Fjord j2lynn<br />
Secretary Matt Corks mvcorks<br />
Sysadmin Andrew Hamilton awhamilt<br />
<br />
World Wide Web Wench Dax Hutcheon ddhutche<br />
Office Manager Richard Bell rlbell<br />
Librarian Damian Gryski dgryski<br />
Flasher Paul Chrysler pechrysl<br />
Official Deity Ian Goldberg iagoldbe<br />
Official Chairbeing Calum T. Dalek calum<br />
<br />
<br />
=1999=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
<br />
<br />
=2000=<br />
<br />
=== Winter ===<br />
PR: Will Chartrand (wgchartr)<br />
VP: Gavin Duggan (geduggan)<br />
TR:<br />
SE:<br />
SA: Lennart Sorensen (lsorense)<br />
OF:<br />
<br />
=== Fall ===<br />
PR: geduggan<br />
VP: <br />
TR:<br />
SE:<br />
SA: bioster<br />
OF:<br />
<br />
<br />
=2001=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=== Spring ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=2002=<br />
<br />
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php<br />
<br />
=== Winter ===<br />
PR: Billy Biggs<br />
VP: Stefanus Du Toit<br />
TR: Melissa Basinger<br />
SE: James Perry<br />
SA: Barry Genova<br />
Librarian: Ryan Golbeck<br />
Webmaster: Jonathan Beverley<br />
Office Manager: Sayan Li<br />
<br />
=== Spring ===<br />
PR: Alex Pop<br />
VP: Melissa Basinger<br />
TR: Siyan Li<br />
SE: James A Morrison<br />
SA: Jonathan Beverley<br />
Webmaster: Stefanus Du Toit<br />
<br />
=== Fall ===<br />
PR: James A. Morrison<br />
VP: Stefanus Du Toit<br />
TR: James Perry<br />
SE: Michael Biggs<br />
SA: Ryan Golbeck<br />
Librarian: Mark Sherry, Cassandra Schopf<br />
Webmaster: Stefanus Du Toit<br />
<br />
<br />
=2003=<br />
<br />
=== Winter ===<br />
PR: Kannan Vijayan (kvijayan)<br />
VP: Meg Darragh (m2darrag)<br />
TR: James Perry (jeperry)<br />
SE: Wojciech Kosnik (wkosnik)<br />
SA: Stefanus Du Toit (sjdutoit)<br />
LI: Simon Law (sfllaw)<br />
WM: Julie Lavoie (jlavoie)<br />
<br />
===Fall===<br />
PR: Stefanus Du Toit (sjdutoit)<br />
VP: Meg Darragh (m2darrag)<br />
TR: Tor Myklebust (tmyklebu)<br />
SE: James Perry (jeperry)<br />
SA: Simon Law (sfllaw)<br />
OF:<br />
<br />
<br />
=2004=<br />
<br />
===Winter===<br />
PR: Simon Law (sfllaw)<br />
VP: fspacek<br />
TR: ljain<br />
SE: Julie Lavoie (jlavoie)<br />
SA: Tor Myklebust(tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
PR: dnmorton ?<br />
VP: Tim Loach (tloach)<br />
TR: Michael Biggs (mbiggs)<br />
SE: Lesley Northam (lanortha)<br />
SA: <br />
OF:<br />
<br />
===Fall ===<br />
PR: jeperry<br />
VP: mtsay<br />
TR: Mark Sherry (mdsherry)<br />
SE: Tor Myklebust (tmyklebu)<br />
SA: jlavoie<br />
OF:<br />
<br />
<br />
=2005=<br />
<br />
===Winter===<br />
<br />
PR: mtsay<br />
VP: Lesley Northam (lanortha)<br />
TR: Holden Karau (hkarau)<br />
SE: domorton<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
<br />
PR: Mark Sherry (mdsherry)<br />
VP: Martin Kess (mdkess)<br />
TR: Ali Piccioni (apiccion)<br />
SE: Michael Biggs (mbiggs)<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Tim Loach (tloach)<br />
VP: Lesley Northam (lanortha)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: The Professor<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
<br />
=2006=<br />
<br />
===Winter===<br />
<br />
PR: Tor Myklebust (tmyklebu)<br />
VP: Michael Druker (mdruker)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: Mark Sherry (mdsherry)<br />
SA: William O'Connor (woconnor)<br />
OF:<br />
<br />
===Spring===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: David Tenty (daltenty)<br />
SE: Chris Evensen (cevensen)<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Martin Kess (mdkess)<br />
VP: Mark Sherry (mdsherry)<br />
TR: Sylvan L. Mably (slmably)<br />
SE: Caelyn McAulay (cmcaulay) <br />
SA: William O'Connor (woconnor)<br />
<br />
<br />
=2007=<br />
<br />
===Winter===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: David Tenty (daltenty)<br />
SA: Holden Karau (hkarau)<br />
Webmaster: jnopporn<br />
OF:<br />
<br />
===Spring===<br />
PR: Gaelan D'costa (gdcosta)<br />
VP: Kyle Larose (kmlarose)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Erik Louie (elouie)<br />
SA: Michael Spang (mspang)<br />
Librarian: David Tenty (daltenty)<br />
OF:<br />
<br />
===Fall ===<br />
PR: Holden Karau (hkarau)<br />
VP: Alex McCausland (amccausl)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Sean Cumming (sgcummin)<br />
SA: David Tenty (daltenty)<br />
OF:<br />
WW: dtbartle / jnopporn<br />
<br />
<br />
=2008=<br />
<br />
===Winter ===<br />
PR: Sean Cumming (sgcummin)<br />
VP: Matt Lawrence (m3lawren)<br />
TR: Mateusz Tarkowski (mtarkows)<br />
SE: Edgar Bering (ebering)<br />
SA: Jordan Saunders (jmsaunde)<br />
OF:<br />
<br />
===Summer ===<br />
PR: Brennan Taylor (b4taylor)<br />
VP: Qifan Xi (qxi)<br />
TR: Matt Lawrence (m3lawren)<br />
SE: Nick Guenther (nguenthe)<br />
SA:<br />
OF:<br />
<br />
===Fall ===<br />
PR: Matthew Lawrence (m3lawren)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Gregson (mgregson)<br />
SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik 'Domo' Chłobowski<br />
SA: Kyle Spaans (kspaans)<br />
OF:<br />
<br />
<br />
=2009=<br />
<br />
===Winter===<br />
PR: Michael Gregson (mgregson)<br />
VP: Edgar Bering (ebering)<br />
TR: Brennan Taylor (b4taylor)<br />
SE: James Simpson (j2simpso) resigned for business reasons, replaced by Rebecca Putinski (rjputins) <br />
SA: Jacob Parker (j3parker) <br />
OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)<br />
<br />
===Spring ===<br />
PR: Michael Spang (mspang)<br />
VP: Jacob Parker (j3parker)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Anthony Brennan (a2brenna)<br />
OF:<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Spang (mspang)<br />
SE: Brennan Taylor (b4taylor)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Rebecca Putinski (rjputins)<br />
<br />
<br />
=2010=<br />
<br />
===Winter===<br />
PR: Kyle Spaans (kspaans)<br />
VP: Edgar Bering (ebering)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Ajnu Jacob (ajacob)<br />
SA: Matthew Thiffault (mthiffau)<br />
OF: Jacob Parker (j3parker)<br />
<br />
Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr<br />
<br />
===Spring===<br />
PR: Jeff Cameron (j3camero)<br />
VP: Brennan Taylor (b4taylor)<br />
TR: Vardhan Mudunuru (vmudunur)<br />
SE: Matthew Lawrence (m3lawren)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Edgar Bering (ebering)<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Rebecca Putinski (rjputins)<br />
SE: Kyle Spaans (kspaans)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Amir Sayed Khader (askhader)<br />
<br />
<br />
=2011=<br />
<br />
===Winter===<br />
PR: Edgar Bering (ebering)<br />
VP: Jennifer "Emily" Wong (jy2wong)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Elana "Alana" Hashman (ehashman)<br />
SA: Peter "Bofh" Barfuss (pbarfuss)<br />
OF: Marc Burns (Marc Burns)<br />
<br />
===Spring===<br />
PR: Matthew Thiffault (mthiffau)<br />
VP: Matthew McPherrin (mimcpher)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Kwame Andrew Ansong (kansong)<br />
SA: Jeremy Brandon Roman (jbroman)<br />
OF: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Katharine Hyatt (kshyatt)<br />
TR: Jacob Parker (j3parker)<br />
SE: Elana Hashman (ehashman)<br />
SA: Anthony "hatguy/hotgay" Brennan (a2brenna)<br />
OF: Kyle Spaans (kspaans)<br />
LIB: Edgar Bering (ebering)<br />
<br />
<br />
=2012=<br />
<br />
===Winter===<br />
PR: Marc Burns (m4burns)<br />
VP: Elana Hashman (ehashman)<br />
TR: Jacob Parker (j3parker)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Summer===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Luqman Aden (laden)<br />
TR: Matthew McPherrin (mimcpher)<br />
SE: Elana Hashman (ehashman)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Marc Burns (m4burns)<br />
LIB: John Ladan (jladan)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Salem Talha (satalha)<br />
TR: Jennifer Wong (jy2wong)<br />
SE: Elana Hashman (ehashman), resigned<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: John Ladan (jladan)<br />
<br />
<br />
=2013=<br />
<br />
===Winter===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Marc Burns (m4burns)<br />
TR: John Mumford (jsmumfor)<br />
SE: Matt Olechnowicz (mgolechn)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Bryan Coutts (b2coutts)<br />
LIB: Matthew McPherrin (mimcpher)<br />
<br />
===Spring===<br />
PR: Shane Robert Creighton-Young (srcreigh)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Youn Jin Kim (yj7kim)<br />
SA: Anthony Brennan (a2brenna)<br />
OF: Marc Burns (m4burns)<br />
IMAPD: Dominik Chlobowski (dchlobow)<br />
<br />
===Fall===<br />
PR: Elana Hashman (ehashman)<br />
VP: Marc Burns (m4burns)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Edward Lee (e45lee)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Sean Hunt (scshunt)<br />
<br />
<br />
= 2014 =<br />
<br />
=== Winter ===<br />
PR: Bryan Coutts (b2coutts)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Marc Burns (m4burns)<br />
SE: Mark Farrell (m4farrel)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Nicholas Black (nablack)<br />
<br />
=== Spring ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Luke Franceschini (l3france)<br />
TR: Joseph Chouinard (jchouina)<br />
SE: Ifaz Kabir (ikabir)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Matthew Thiffault (mthiffau)<br />
<br />
=== Fall ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Theodor Belaire (tbelaire)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Shane Robert Creighton-Young (srcreigh)<br />
SA: Sean Hunt (scshunt)<br />
OF: Mark Farrell (m4farrel)<br />
LIB: Gianni Leonardo Gambetti (glgambet)<br />
<br />
<br />
= 2015 =<br />
<br />
=== Winter ===<br />
PR: Gianni Leonardo Gambetti (glgambet)<br />
VP: Luke Franceschini (l3france)<br />
TR: Edward Lee (e45lee)<br />
SE: Patrick James Melanson (pj2melan)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Shikhar Singh (s285sing)<br />
LIB: Aishwarya Gupta (a72gupta)<br />
<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Patrick Melanson (pj2melan)<br />
TR: Jonathan Bailey (jj2baile)<br />
SE: Keri Warr (kpwarr)<br />
SA: Nik Black (nablack)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
LIB: Yomna Nasser (ynasser)<br />
<br />
<br />
=== Fall ===<br />
PR: Simone Hu (ss2hu)<br />
VP: Theo Belaire (tbelaire)<br />
TR: Jordan Taylore Upiter (jtupiter)<br />
SE: Daniel Marin (dmarin)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
<br />
<br />
= 2016 =<br />
<br />
=== Winter ===<br />
PR: Patrick Melanson (pj2melan)<br />
VP: Patrick Melanson (pj2melan)<br />
Acting VP, progcom chair: Theo Belaire (tbelaire)<br />
TR: Luqman Aden (laden)<br />
SE: Naomi Koo (n3koo)<br />
SA: Zachary Seguin (ztseguin)<br />
OF: Reila Zheng (wy2zheng)<br />
imapd: Marc Mailhot (mnmailho)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Past_Executive&diff=3903Past Executive2016-01-15T17:43:48Z<p>Pj2melan: /* 2015 */ added winter</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sources for this exec list have been: CSC records, MathNEWS.<br />
According to the warrior wiki dudes, there was an article about the CSC being founded in the chevron: ''This week on campus''. The Chevron. January 5 1968. Page 16. -- somebody should get a copy of that.<br />
<br />
= Definitions =<br />
#define PR President<br />
#define VP Vice-president<br />
#define TR Treasurer<br />
#define SE Secretary<br />
#define SA Sysadmin<br />
#define OF Office Manager<br />
#define LI Librarian<br />
#define FL Flasher<br />
#define DE Deity<br />
#define WW Webmaster<br />
#define OF Office Manager<br />
#define SE-TR Secretary-Treasurer (Position was split)<br />
<br />
=Founding 1967=<br />
<br />
Sponsor - J. Peter Sprung<br />
PR: K. Rugger<br />
VP: R. Jaques<br />
SE-TR: G. Sutherland<br />
<br />
Founding Members:<br />
B. Kindree<br />
R. Melen<br />
V. Neglia<br />
R. Charney<br />
R. Truman<br />
Glenn Berry<br />
D. Meek<br />
<br />
===Fall===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
Committee members: R. Stallwerthy, C. de Vries<br />
<br />
=1968=<br />
<br />
===Winter===<br />
<br />
PR: Bill Kindred<br />
VP: Rick Jacques<br />
SE-TR: Graham Sutherland<br />
<br />
===Fall===<br />
<br />
SE-TR: Glenn Berry<br />
<br />
=1969=<br />
<br />
Unknown, only one letter found in the folder 'ACM History' 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.<br />
<br />
=1970=<br />
<br />
===A note on ACM affiliation===<br />
<br />
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<br />
<br />
===Fall===<br />
<br />
PR: Rick Beach<br />
VP: Lee Santon<br />
TR: Randy Melen<br />
SE: Vic Neglia<br />
<br />
=1971=<br />
<br />
===Spring===<br />
<br />
VP: James H. "Jim" Finch and James W. Welch both signed letters as VP.<br />
<br />
===Fall===<br />
<br />
VP: James W. Welch<br />
<br />
=1972=<br />
<br />
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.<br />
<br />
===Winter===<br />
<br />
PR: Mike Campbell<br />
VP: Edgar Hew<br />
SE-TR: Doug Lacy<br />
<br />
There is also stuff from James W. Welch without a position.<br />
<br />
===Fall===<br />
<br />
PR: Ian McIntosh<br />
<br />
=1973=<br />
<br />
Faculty Sponsor: Morven Gentleman<br />
<br />
===Winter===<br />
<br />
SE: Douglas E. Lacy<br />
<br />
===Spring===<br />
<br />
PR: Jim Parry<br />
<br />
===Fall===<br />
<br />
PR: Jim Parry<br />
VP: Ray Walden<br />
TR: Slavko Stemberger<br />
SE: Mario Festival<br />
<br />
=1974=<br />
<br />
===Fall===<br />
<br />
PR: Russell Crook<br />
<br />
=1975-1977=<br />
<br />
Faculty Sponsor: Morven Gentleman??<br />
<br />
Peter Raynham reports (first hand account): president for at least 2 or 3 terms in this period.<br />
Sylvia Eng: 1975/6 as some position.<br />
Dave Buckingham: a VP at some point<br />
Allison Nolan: 1977 time<br />
Peter Stevens: 1977<br />
Russel Crook???<br />
<br />
Dennis Ritchie came. So did Jeffrey D. Ullman.<br />
<br />
=1976=<br />
<br />
===Fall===<br />
<br />
Progcom: Peter Stevens<br />
<br />
=1977=<br />
<br />
===Winter===<br />
<br />
Progcom: Allison Nowlan<br />
<br />
===Spring=== <br />
<br />
PR: Peter Stevens<br />
Progcom: Allison Nowlan<br />
<br />
===Fall===<br />
<br />
PR: Andrzej Jan Taramina<br />
Progcom: Allison Nowlan<br />
<br />
=1978=<br />
<br />
===Winter===<br />
<br />
PR: Peter Stevens<br />
<br />
===Spring===<br />
<br />
TR: K.G. Dykes<br />
SE: Kandry Mutheardy<br />
<br />
Brian Kernighan gave a talk this term. So did Ken Thompson.<br />
<br />
===Fall===<br />
<br />
=1979=<br />
<br />
===Spring===<br />
<br />
PR: Robert Biddle<br />
<br />
<br />
=1987=<br />
<br />
===Fall===<br />
<br />
PR: Jim Boritz<br />
VP: Ted Timar<br />
TR: Gayla Boritz<br />
SE: Edwin Hoogerbeets<br />
<br />
=1988=<br />
<br />
Jim Boritz was president in Winter 1988. (Source: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
Tim Timar - cc'd on memos/mentioned on mathsoc minutes in 1987/88.<br />
The Sysadmin and Office Manager positions seem to have been created somewhere in here. The 'Record Management Profile' that Robyn Stewart did as an assignment in 1991-1992 for some class at UBC<br />
indicates the existence of both positions. We acquired an HP-9000 in the summer of 1988 and as this was out first "real" computer (previously we had an IBM PC and terminal), the sysadmin position was created, starting with the Fall 1988 term.<br />
<br />
===Fall===<br />
<br />
SA: Wade Richards<br />
<br />
=1989=<br />
<br />
===Winter===<br />
<br />
http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg<br />
<br />
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), ??? <br />
<br />
PR: Barry W. Smith<br />
VP: Angela Chambers<br />
TR:<br />
SE: Sean Goggin<br />
SA: Wade Richards / Ross Ridge<br />
<br />
(President Kevin Smith confirmed: http://csclub.uwaterloo.ca/misc/procedure.pdf)<br />
<br />
===Spring===<br />
<br />
PR: Jim Thornton<br />
VP: Gayla Boritz<br />
TR: David Fenger<br />
SE: Kivi Shapiro<br />
SA: Reid Pinchback<br />
<br />
Assistance to sysadmin: Jim Boritz.<br />
<br />
===Fall===<br />
<br />
PR: James Boritz<br />
VP: Edmond Bourne<br />
SA: Ross Ridge<br />
<br />
=1990=<br />
<br />
===Winter===<br />
<br />
TR: Jim Thornton<br />
<br />
===Spring===<br />
<br />
TR: Karen Smith<br />
SE: Robyn Steward<br />
<br />
===Fall===<br />
PR: Wade Richards<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart - attended mathsoc meeting on our behalf.<br />
Kivi Shapiro - attended mathsoc meeting on our behalf.<br />
- Censured by mathsoc for his actions during the election.<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
=1991=<br />
<br />
===Winter===<br />
VP: Edmond Bourne<br />
TR: Carolyn Duke<br />
SE: Robyn Stewart<br />
Shannon Mann - attended mathsoc meeting on our behalf.<br />
<br />
John McCarthy came this term.<br />
<br />
===Spring===<br />
TR: Rob Leitman<br />
Jason Knell - attended mathsoc meeting on our and PMC's behalf.<br />
<br />
===Fall===<br />
TR: Mike Van Lingen<br />
Wiktor Wiewiorowski - attended mathsoc meeting on our behalf this term.<br />
<br />
<br />
=1992=<br />
<br />
===Winter===<br />
TR: Norm Ross<br />
SE: Brent Williams<br />
<br />
===Spring===<br />
PR: Dale Wick<br />
TR: Stephen A. Mills<br />
<br />
===Fall===<br />
TR: Mark Plumb<br />
<br />
<br />
=1993=<br />
<br />
===Winter===<br />
TR: Rob Leitman<br />
VP: Tim Prime<br />
OF: Dave Ebbo<br />
LI: Norm Ross<br />
<br />
Other exec for this term: Ellen Hsiang, Sam Coulombe, Peter Gray<br />
<br />
===Spring===<br />
TR: Mark Tompsett <br />
<br />
===Fall===<br />
<br />
PR: Ian Goldberg<br />
<br />
=1994=<br />
<br />
===Winter===<br />
PR: Ian Goldberg<br />
TR: Mark Tompsett<br />
SE: Tom Rathbourne<br />
LI: Michael Van Biesbrouck<br />
Norm Ross assisted with finances.<br />
<br />
===Spring===<br />
PR: Dale Wick (?)<br />
TR: Steve Mills<br />
SA: Ian Goldberg (?)<br />
Norm Ross assisted with finances.<br />
<br />
===Fall===<br />
PR: Ross Ridge<br />
VP: Tom Rathbourne (?)<br />
TR: Rob Leitman<br />
SA: Zygo Blaxell<br />
LI: Michael Van Biesbrouck<br />
<br />
<br />
=1995=<br />
<br />
===Winter===<br />
TR: Sharlene Schmeichel<br />
Amy Brown and Rob Ridge purchased books.<br />
<br />
===Spring===<br />
TR: Steve Mills<br />
<br />
===Fall===<br />
PR: Amy Brown (arbrown) <br />
VP: Christina Norman (cbnorman)<br />
TR: Steven Mills (samills)<br />
SE: Allyson Graham (akgraham)<br />
SA: Gavin Peters<br />
<br />
<br />
=1996=<br />
<br />
===Winter===<br />
PR: Nikita Borisov (nborisov)<br />
VP: Joseph Deu Ngoc (dtdeungo) <br />
TR: Stephen Mills (samills)<br />
SE: Sharlene Schmeichel (saschmei)<br />
SA: Dave Brown (dagbrown)<br />
OF: Somsack Tsai (stsai)<br />
LI: Devin Carless (dccarles)<br />
FL: Allyson Graham (akgraham)<br />
DE: Ian Goldberg (iagoldbe)<br />
<br />
===Spring===<br />
PR: Blake Winton (bwinton)<br />
VP: Nick Harvey (njaharve)<br />
TR: Nikita Borisov (nborisov)<br />
SE: Viet-Trung Luu (vluu)<br />
SA: Drew Hamilton (awhamilt)<br />
OF: Jillian Arnott (jarnott)<br />
LI: Ross Ridge (rridge)<br />
FL: Devin Carless (dccarles)<br />
<br />
=== Fall ===<br />
PR: Shannon Mann (sjbmann) <br />
VP: Joe "Frosh" Deu Ngoc (jtdeungo) resigned (heavy workload)<br />
TR: Michal Van Biesbrouck (mlvanbie) <br />
SE: Nikita Borisov (nborisov) <br />
SA: Chris Rovers <br />
OF: Dax Hutcheon (ddhutche) became VP upon jtduengo's resignation<br />
LI: Aliz Csenki (acsenki) <br />
FL: Aaron Chmielowiec (archmiel) <br />
DE: Skuld (no uwuserid yet...)<br />
<br />
<br />
=1997=<br />
<br />
===Winter===<br />
PR: Dima Brodsky <br />
VP: Nikita Borisov (nborisov)<br />
TR: Stephen Mills (samills)<br />
SE: Evan Jones (ejones)<br />
SA: Alex Brodsky<br />
OF: Chris Doherty<br />
LI: Matt Corks <br />
FL: Paul Prescod<br />
<br />
=== Fall ===<br />
PR: Chris Rovers (cdrovers) <br />
VP: Michael van Biesbrouck (mlvanbie) <br />
TR: Somsack Tsai (stsai) <br />
SE: Matt Corks (mvcorks)<br />
SA: Lennart Sorensen (lsorense) <br />
LI: Chmielowiec (archmiel) <br />
OF: Devin Carless (dccarles) <br />
FL: Aaron Chmielowiec (archmiel)<br />
<br />
<br />
= 1998 =<br />
<br />
=== Winter ===<br />
PR: Suresh Naidu <br />
VP: Viet-Trung Luu <br />
TR: Tim Coleman <br />
SE: Dax Hutcheon <br />
Librarian: Dax Hutcheon <br />
Flasher: Dax Hutcheon <br />
Webmaster: Dax Hutcheon <br />
SA: Robin Powell<br />
OF: Aaron Chmielowiec<br />
<br />
=== Spring ===<br />
<br />
Position Name You might call them...<br />
President roconnor Russell O'Connor<br />
Vice-president trwcolem Tim Coleman<br />
Treasurer knzarysk Karl Zaryski<br />
Secretary (bwinton) (Blake Winton)<br />
Sysadmin wbiggs Billy Biggs<br />
Librarian snaidu Suresh Naidu<br />
Flasher pechrysl Paul Chrysler<br />
Office Manager dccarles Devin Carless<br />
WWWW trwcolem Tim Coleman<br />
<br />
=== Fall ===<br />
<br />
President Joe Deu Ngoc jtdeungo<br />
Vice-President Wai Ling Yee wlyee<br />
Treasurer Fjord j2lynn<br />
Secretary Matt Corks mvcorks<br />
Sysadmin Andrew Hamilton awhamilt<br />
<br />
World Wide Web Wench Dax Hutcheon ddhutche<br />
Office Manager Richard Bell rlbell<br />
Librarian Damian Gryski dgryski<br />
Flasher Paul Chrysler pechrysl<br />
Official Deity Ian Goldberg iagoldbe<br />
Official Chairbeing Calum T. Dalek calum<br />
<br />
<br />
=1999=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
<br />
<br />
=2000=<br />
<br />
=== Winter ===<br />
PR: Will Chartrand (wgchartr)<br />
VP: Gavin Duggan (geduggan)<br />
TR:<br />
SE:<br />
SA: Lennart Sorensen (lsorense)<br />
OF:<br />
<br />
=== Fall ===<br />
PR: geduggan<br />
VP: <br />
TR:<br />
SE:<br />
SA: bioster<br />
OF:<br />
<br />
<br />
=2001=<br />
<br />
=== Winter ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=== Spring ===<br />
PR: geduggan<br />
VP:<br />
TR:<br />
SE:<br />
SA:<br />
OF:<br />
<br />
=2002=<br />
<br />
http://www.mathnews.uwaterloo.ca/Issues/mn8902/cscflash.php<br />
<br />
=== Winter ===<br />
PR: Billy Biggs<br />
VP: Stefanus Du Toit<br />
TR: Melissa Basinger<br />
SE: James Perry<br />
SA: Barry Genova<br />
Librarian: Ryan Golbeck<br />
Webmaster: Jonathan Beverley<br />
Office Manager: Sayan Li<br />
<br />
=== Spring ===<br />
PR: Alex Pop<br />
VP: Melissa Basinger<br />
TR: Siyan Li<br />
SE: James A Morrison<br />
SA: Jonathan Beverley<br />
Webmaster: Stefanus Du Toit<br />
<br />
=== Fall ===<br />
PR: James A. Morrison<br />
VP: Stefanus Du Toit<br />
TR: James Perry<br />
SE: Michael Biggs<br />
SA: Ryan Golbeck<br />
Librarian: Mark Sherry, Cassandra Schopf<br />
Webmaster: Stefanus Du Toit<br />
<br />
<br />
=2003=<br />
<br />
=== Winter ===<br />
PR: Kannan Vijayan (kvijayan)<br />
VP: Meg Darragh (m2darrag)<br />
TR: James Perry (jeperry)<br />
SE: Wojciech Kosnik (wkosnik)<br />
SA: Stefanus Du Toit (sjdutoit)<br />
LI: Simon Law (sfllaw)<br />
WM: Julie Lavoie (jlavoie)<br />
<br />
===Fall===<br />
PR: Stefanus Du Toit (sjdutoit)<br />
VP: Meg Darragh (m2darrag)<br />
TR: Tor Myklebust (tmyklebu)<br />
SE: James Perry (jeperry)<br />
SA: Simon Law (sfllaw)<br />
OF:<br />
<br />
<br />
=2004=<br />
<br />
===Winter===<br />
PR: Simon Law (sfllaw)<br />
VP: fspacek<br />
TR: ljain<br />
SE: Julie Lavoie (jlavoie)<br />
SA: Tor Myklebust(tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
PR: dnmorton ?<br />
VP: Tim Loach (tloach)<br />
TR: Michael Biggs (mbiggs)<br />
SE: Lesley Northam (lanortha)<br />
SA: <br />
OF:<br />
<br />
===Fall ===<br />
PR: jeperry<br />
VP: mtsay<br />
TR: Mark Sherry (mdsherry)<br />
SE: Tor Myklebust (tmyklebu)<br />
SA: jlavoie<br />
OF:<br />
<br />
<br />
=2005=<br />
<br />
===Winter===<br />
<br />
PR: mtsay<br />
VP: Lesley Northam (lanortha)<br />
TR: Holden Karau (hkarau)<br />
SE: domorton<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Spring===<br />
<br />
PR: Mark Sherry (mdsherry)<br />
VP: Martin Kess (mdkess)<br />
TR: Ali Piccioni (apiccion)<br />
SE: Michael Biggs (mbiggs)<br />
SA: Tor Myklebust (tmyklebu)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Tim Loach (tloach)<br />
VP: Lesley Northam (lanortha)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: The Professor<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
<br />
=2006=<br />
<br />
===Winter===<br />
<br />
PR: Tor Myklebust (tmyklebu)<br />
VP: Michael Druker (mdruker)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: Mark Sherry (mdsherry)<br />
SA: William O'Connor (woconnor)<br />
OF:<br />
<br />
===Spring===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: David Tenty (daltenty)<br />
SE: Chris Evensen (cevensen)<br />
SA: Holden Karau (hkarau)<br />
OF:<br />
<br />
===Fall===<br />
<br />
PR: Martin Kess (mdkess)<br />
VP: Mark Sherry (mdsherry)<br />
TR: Sylvan L. Mably (slmably)<br />
SE: Caelyn McAulay (cmcaulay) <br />
SA: William O'Connor (woconnor)<br />
<br />
<br />
=2007=<br />
<br />
===Winter===<br />
PR: David Bartley (dtbartle)<br />
VP: David Belanger (dbelange)<br />
TR: Caelyn McAulay (cmcaulay)<br />
SE: David Tenty (daltenty)<br />
SA: Holden Karau (hkarau)<br />
Webmaster: jnopporn<br />
OF:<br />
<br />
===Spring===<br />
PR: Gaelan D'costa (gdcosta)<br />
VP: Kyle Larose (kmlarose)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Erik Louie (elouie)<br />
SA: Michael Spang (mspang)<br />
Librarian: David Tenty (daltenty)<br />
OF:<br />
<br />
===Fall ===<br />
PR: Holden Karau (hkarau)<br />
VP: Alex McCausland (amccausl)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Sean Cumming (sgcummin)<br />
SA: David Tenty (daltenty)<br />
OF:<br />
WW: dtbartle / jnopporn<br />
<br />
<br />
=2008=<br />
<br />
===Winter ===<br />
PR: Sean Cumming (sgcummin)<br />
VP: Matt Lawrence (m3lawren)<br />
TR: Mateusz Tarkowski (mtarkows)<br />
SE: Edgar Bering (ebering)<br />
SA: Jordan Saunders (jmsaunde)<br />
OF:<br />
<br />
===Summer ===<br />
PR: Brennan Taylor (b4taylor)<br />
VP: Qifan Xi (qxi)<br />
TR: Matt Lawrence (m3lawren)<br />
SE: Nick Guenther (nguenthe)<br />
SA:<br />
OF:<br />
<br />
===Fall ===<br />
PR: Matthew Lawrence (m3lawren)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Gregson (mgregson)<br />
SE: James Simpson (j2simpso) resigned for medical reasons, replaced by Dominik 'Domo' Chłobowski<br />
SA: Kyle Spaans (kspaans)<br />
OF:<br />
<br />
<br />
=2009=<br />
<br />
===Winter===<br />
PR: Michael Gregson (mgregson)<br />
VP: Edgar Bering (ebering)<br />
TR: Brennan Taylor (b4taylor)<br />
SE: James Simpson (j2simpso) resigned for business reasons, replaced by Rebecca Putinski (rjputins) <br />
SA: Jacob Parker (j3parker) <br />
OF: XinChi Yang / Sapphyre Gervais (x23yang / sagervai) (both)<br />
<br />
===Spring ===<br />
PR: Michael Spang (mspang)<br />
VP: Jacob Parker (j3parker)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Anthony Brennan (a2brenna)<br />
OF:<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Michael Spang (mspang)<br />
SE: Brennan Taylor (b4taylor)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Rebecca Putinski (rjputins)<br />
<br />
<br />
=2010=<br />
<br />
===Winter===<br />
PR: Kyle Spaans (kspaans)<br />
VP: Edgar Bering (ebering)<br />
TR: Sapphyre Gervais (sagervai)<br />
SE: Ajnu Jacob (ajacob)<br />
SA: Matthew Thiffault (mthiffau)<br />
OF: Jacob Parker (j3parker)<br />
<br />
Keyed office staffers: j3camero,jdonland,m2ellis,mimcpher,nsasherr<br />
<br />
===Spring===<br />
PR: Jeff Cameron (j3camero)<br />
VP: Brennan Taylor (b4taylor)<br />
TR: Vardhan Mudunuru (vmudunur)<br />
SE: Matthew Lawrence (m3lawren)<br />
SA: Michael Ellis (m2ellis)<br />
OF: Edgar Bering (ebering)<br />
<br />
===Fall===<br />
PR: Jacob Parker (j3parker)<br />
VP: Edgar Bering (ebering)<br />
TR: Rebecca Putinski (rjputins)<br />
SE: Kyle Spaans (kspaans)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Amir Sayed Khader (askhader)<br />
<br />
<br />
=2011=<br />
<br />
===Winter===<br />
PR: Edgar Bering (ebering)<br />
VP: Jennifer "Emily" Wong (jy2wong)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Elana "Alana" Hashman (ehashman)<br />
SA: Peter "Bofh" Barfuss (pbarfuss)<br />
OF: Marc Burns (Marc Burns)<br />
<br />
===Spring===<br />
PR: Matthew Thiffault (mthiffau)<br />
VP: Matthew McPherrin (mimcpher)<br />
TR: Kyle Spaans (kspaans)<br />
SE: Kwame Andrew Ansong (kansong)<br />
SA: Jeremy Brandon Roman (jbroman)<br />
OF: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Katharine Hyatt (kshyatt)<br />
TR: Jacob Parker (j3parker)<br />
SE: Elana Hashman (ehashman)<br />
SA: Anthony "hatguy/hotgay" Brennan (a2brenna)<br />
OF: Kyle Spaans (kspaans)<br />
LIB: Edgar Bering (ebering)<br />
<br />
<br />
=2012=<br />
<br />
===Winter===<br />
PR: Marc Burns (m4burns)<br />
VP: Elana Hashman (ehashman)<br />
TR: Jacob Parker (j3parker)<br />
SE: Matthew McPherrin (mimcpher)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: Jennifer "Emily" Wong (jy2wong)<br />
<br />
===Summer===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Luqman Aden (laden)<br />
TR: Matthew McPherrin (mimcpher)<br />
SE: Elana Hashman (ehashman)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Marc Burns (m4burns)<br />
LIB: John Ladan (jladan)<br />
<br />
===Fall===<br />
PR: Marc Burns (m4burns)<br />
VP: Salem Talha (satalha)<br />
TR: Jennifer Wong (jy2wong)<br />
SE: Elana Hashman (ehashman), resigned<br />
SA: Jeremy Roman (jbroman)<br />
OF: Luqman Aden (laden)<br />
LIB: John Ladan (jladan)<br />
<br />
<br />
=2013=<br />
<br />
===Winter===<br />
PR: Anthony Brennan (a2brenna)<br />
VP: Marc Burns (m4burns)<br />
TR: John Mumford (jsmumfor)<br />
SE: Matt Olechnowicz (mgolechn)<br />
SA: Sarah Harvey (sharvey)<br />
OF: Bryan Coutts (b2coutts)<br />
LIB: Matthew McPherrin (mimcpher)<br />
<br />
===Spring===<br />
PR: Shane Robert Creighton-Young (srcreigh)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Youn Jin Kim (yj7kim)<br />
SA: Anthony Brennan (a2brenna)<br />
OF: Marc Burns (m4burns)<br />
IMAPD: Dominik Chlobowski (dchlobow)<br />
<br />
===Fall===<br />
PR: Elana Hashman (ehashman)<br />
VP: Marc Burns (m4burns)<br />
TR: Dominik Chlobowski (dchlobow)<br />
SE: Edward Lee (e45lee)<br />
SA: Jeremy Roman (jbroman)<br />
OF: Sean Hunt (scshunt)<br />
<br />
<br />
= 2014 =<br />
<br />
=== Winter ===<br />
PR: Bryan Coutts (b2coutts)<br />
VP: Visishta Vijayanand (vvijayan)<br />
TR: Marc Burns (m4burns)<br />
SE: Mark Farrell (m4farrel)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Nicholas Black (nablack)<br />
<br />
=== Spring ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Luke Franceschini (l3france)<br />
TR: Joseph Chouinard (jchouina)<br />
SE: Ifaz Kabir (ikabir)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Matthew Thiffault (mthiffau)<br />
<br />
=== Fall ===<br />
PR: Youn Jin Kim (yj7kim)<br />
VP: Theodor Belaire (tbelaire)<br />
TR: Jonathan Jerel Bailey (jj2baile)<br />
SE: Shane Robert Creighton-Young (srcreigh)<br />
SA: Sean Hunt (scshunt)<br />
OF: Mark Farrell (m4farrel)<br />
LIB: Gianni Leonardo Gambetti (glgambet)<br />
<br />
<br />
= 2015 =<br />
<br />
=== Winter ===<br />
PR: Gianni Leonardo Gambetti (glgambet)<br />
VP: Luke Franceschini (l3france)<br />
TR: Edward Lee (e45lee)<br />
SE: Patrick James Melanson (pj2melan)<br />
SA: Murphy Berzish (mtrberzi)<br />
OF: Shikhar Singh (s285sing)<br />
LIB: Aishwarya Gupta (a72gupta)<br />
<br />
<br />
=== Spring ===<br />
PR: Luqman Aden (laden)<br />
VP: Patrick Melanson (pj2melan)<br />
TR: Jonathan Bailey (jj2baile)<br />
SE: Keri Warr (kpwarr)<br />
SA: Nik Black (nablack)<br />
OF: Ilia Chtcherbakov (ischtche)<br />
LIB: Yomna Nasser (ynasser)<br />
<br />
<br />
=== Winter ===<br />
PR: Simone Hu (ss2hu)<br />
VP: Theo Belaire (tbelaire)<br />
TR: Jordan Taylore Upiter (jtupiter)<br />
SE: Daniel Marin (dmarin)<br />
SA: Jordan Xavier Pryde (jxpryde)<br />
OF: Ilia Chtcherbakov (ischtche)</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Proposed_Constitution_Changes&diff=3902Proposed Constitution Changes2016-01-15T15:25:01Z<p>Pj2melan: interim president</p>
<hr />
<div><br />
== Constitution Changes w.r.t Elections ==<br />
Something about please withdrawing sooner.<br />
<br />
- could let people withdraw up to the end of the nomination period (edit section 4.5.5)<br />
<br />
Or letting people be nominated at the election iff there are no people running for that position.<br />
<br />
- edit section 4.5.10 (provide option for full members present at meeting to nominate last minute if there are no candidates, as an alternative to running full elections a week later)<br />
<br />
- allow old exec team to appoint an interim president, who can run in the new term's elections</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=SCS_Guide&diff=3863SCS Guide2015-11-30T19:39:32Z<p>Pj2melan: added some of the more important post-mortem Cory D lessons</p>
<hr />
<div>From time to time we work with the School of Computer Science. This page documents the various interactions for future exec.<br />
<br />
= Meetings with the Director =<br />
<br />
As of W09 we have monthly meetings set up with the Associate Director on the third Monday of every month. This was picked so that we could have new Executives in place for the first meeting of a term. Get in touch with the<br />
director (currently Mark Giesbrecht at x36582) when you get elected to pick a time. These meetings are useful to discuss the current state of the curriculum, school wide things, SCS-CSC cooperation, and the money that they give us. The AD's time is usually valuable so prepare yourself for the meetings. SCS likes us a lot as of this writing, continue the good relationship.<br />
<br />
Things that the AD will do at present: listen to your complaints regarding the state of the curriculum, put the SCS logo on invitation letters to potential speaker, give you money.<br />
<br />
= Budget =<br />
<br />
SCS currently maintains a 10k/year fund to bring in out-of-town speakers, which we share with the WiCS undergrad committee. As such, if you want to bring someone in you'll have to meet with WiCS and SCS.<br />
<br />
To get reimbursement contact the SCS Financial Officer (Anne Turnbull at present) with the request, she will give you University Accounts if they're needed for A.V., theater booking, or purchasing. She can also answer questions you have regarding the various forms you may need to fill out to get money.<br />
<br />
== Paying for a speaker ==<br />
<br />
The University has to abide by certain rules that also apply to the government. As of F2015's Cory Doctorow talk, Anne's response to reimbursement requests was to first read [https://uwaterloo.ca/secretariat-general-counsel/policies-procedures-guidelines/policy-31 policy 31]. Policy 31 contains the actual policy text, but also guidelines for out of town speakers under the [https://uwaterloo.ca/secretariat-general-counsel/guidelines-travel-expenses policy 31 guidelines].<br />
<br />
A couple gotchas for reimbursing speakers for expenses:<br />
<br />
* '''Original, itemized receipts required.''' This means if there's a hard copy of a receipt, try and get it. Importantly, make sure the speaker knows this, and brings everything to you. Of course, with any reimbursement you make, just a credit receipt is not enough. Itemized receipts required. If there's a tip, a credit receipt will show that, but you'll also need to include the original itemized receipt to get the reimbursement.<br />
* For plane tickets, '''boarding pass is also required''' in addition to the booking receipt. Get the speaker to save his boarding pass. If you don't have a boarding pass, ask the airline to get a copy to you. For example, the Air Canada app does not reissue the boarding pass, so you'll have to fill out a form with AC to get a copy again.<br />
* '''Everything expensed should be related to work.''' For example, if the speaker incurs an extra baggage expense at the airport, make sure to get a statement from him stating it was required for the speaking event.<br />
* '''There are maximum meal costs.''' Usually they aren't reached, but it's nice to let the speaker know of them. The table is found in the guidelines at 7a "maximum meal costs".<br />
<br />
If you want to get a limo or car service, the guidelines list the University's preferred limo service company. Or you could get a towncar. All expensable.<br />
<br />
= The SCS Office =<br />
<br />
The SCS office handles keys for the CSC office and booking of rooms under jurisdiction of SCS on behalf of the CSC. As of this writing, SCS office staff are very busy, and have no time to deal with matters other than those listed here.<br />
<br />
[[Category:Guides]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=SCS_Guide&diff=3862SCS Guide2015-11-30T19:03:17Z<p>Pj2melan: /* Budget */ update, SCS gives us 10k to share with WiCS</p>
<hr />
<div>From time to time we work with the School of Computer Science. This page documents the various interactions for future exec.<br />
<br />
= Meetings with the Director =<br />
<br />
As of W09 we have monthly meetings set up with the Associate Director on the third Monday of every month. This was picked so that we could have new Executives in place for the first meeting of a term. Get in touch with the<br />
director (currently Mark Giesbrecht at x36582) when you get elected to pick a time. These meetings are useful to discuss the current state of the curriculum, school wide things, SCS-CSC cooperation, and the money that they give us. The AD's time is usually valuable so prepare yourself for the meetings. SCS likes us a lot as of this writing, continue the good relationship.<br />
<br />
Things that the AD will do at present: listen to your complaints regarding the state of the curriculum, put the SCS logo on invitation letters to potential speaker, give you money.<br />
<br />
= Budget =<br />
<br />
SCS currently maintains a 10k/year fund to bring in out-of-town speakers, which we share with the WiCS undergrad committee. As such, if you want to bring someone in you'll have to meet with WiCS and SCS.<br />
<br />
To get reimbursement contact the SCS Financial Officer (Anne Turnbull at present) with the request, she will give you University Accounts if they're needed for A.V., theater booking, or purchasing. She can also answer questions you have regarding the various forms you may need to fill out to get money.<br />
<br />
= The SCS Office =<br />
<br />
The SCS office handles keys for the CSC office and booking of rooms under jurisdiction of SCS on behalf of the CSC. As of this writing, SCS office staff are very busy, and have no time to deal with matters other than those listed here.<br />
<br />
[[Category:Guides]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Talks_Guide&diff=3855Talks Guide2015-11-01T22:09:28Z<p>Pj2melan: /* Obtaining Funding */ added note about the out of town speaker fund</p>
<hr />
<div>This document aims to provide a comprehensive list of just how to run a CSC talk from start to finish. Try to keep sections orthogonal, so that a different person could do each part knowing only that the previous part was completed correctly. This will probably not be the case for the first few drafts, but it is a good goal. Ideally the same person will do all the correspondence with the speaker, sections that have someone talking to the speaker are marked with a *. The sections are roughly in order of doing things, with earlier sections usually done before later ones.<br />
<br />
= Finding a Speaker* =<br />
<br />
There are many ways to do this: [[Talks]] has a list of cool people. You can expand it by asking club members, professors, and watching various tech news sites. Ask the current membership, progcom, and faculty advisor what they think and make a choice. This is part of the fun of putting on talks, you get to choose who to invite. Send out a few at once as not everyone can come when invited, and don't be discouraged if you get a No.<br />
<br />
In the posters git repository there is club letterhead, use this to create a nice snail mail invitation letter, and follow through with an e-mail about a month later to make sure the letter was received. Letters can be sent from MathSoc, put a natural log stamp in the lower left corner and place it in the outbox, postage will be handled. Save a copy of your letter in the speaker correspondence folder in FC1.<br />
<br />
When you get a reply from the speaker, put it in the speaker correspondence folder with the initial send out. If they said yes, create a temporary folder with the speaker's name on it for arranging talk details and a copy of the reply there as well, as it probably has details about the date. Work with the speaker to get rough dates set for travel and talk, put these in the folder with the stuff.<br />
<br />
At this time you should also try to get tentative titles and abstracts, place them in the talk folder.<br />
<br />
= Obtaining Funding =<br />
<br />
Depending on who you're applying to for funds this can be done before or after a speaker is found. MEF likes to know who and when, SCS will give you vague funding as will MathSoc. Consult the various guides for obtaining funding. Be sure to budget for transport, lodging, possibly a gift, and food for your speaker as well as venue costs: recording (if we're having someone else do it), booking fees (if any), refreshments after (if any), AV fees (for AV gear if we have to pay it); and publicity costs, FedS poster runs, posters, banners, ads, etc. Be thorough in your budgeting, and be generous, you should be asking for a maximum, not an expectation. Place a copy of the budget in the relevant talk folder so everyone else working on the talk knows what is available and what their limits are.<br />
<br />
Be sure to budget for any speaker's fee or honorarium a speaker may require.<br />
<br />
A very good resource for obtaining funding from is the SCS out-of-town speaker fund. This fund is shared with WiCS, and is added to on a yearly basis. Before booking a speaker and planning to obtain funding from here, make sure to meet with WiCS to make sure it is possible to use this fund. Then, meet with SCS to begin the process. In F2015 our contact for the speaker fund was Anne Turnbull.<br />
<br />
= Booking Travel* =<br />
<br />
If the speaker has asked us to book travel for them and has given good times book the travel and pay for it through the relevant method There are university travel reimbursement forms that we can use to get paid back when dealing with people who aren't MathSoc. Try to just have one for the entire talk and keep it in the folder. When working with MathSoc have a MathSoc form in the folder. Print receipts and confirmation information and place it in the folder and send it along to the speaker. If the speaker is booking their own travel this section is irrelevant.<br />
<br />
= Booking Lodging* =<br />
<br />
If the speaker has asked us to book lodging for them make sure we can meet their requirements (and have budgeted appropriately, request more money if this is not the case) and make the reservation, put receipts in the folder, add it to the expense form (or start it, see previous) and send the information to the speaker.<br />
<br />
= Booking Transport* =<br />
<br />
The speaker will need to get around while in Waterloo. You can find someone with a car, a car service, have them cab it, or get them a rental. Make sure you've budgeted appropriately, make note of the arrangement in the folder, and inform the speaker. Also make necessary notes on the expense form (see previous).<br />
<br />
You will also need to go to ICR and get a temporary parking pass for the relevant times. This can be obtained ahead of time and should be placed in the talk's folder.<br />
<br />
= Booking Venue =<br />
<br />
There are many places on campus to host a talk. You should try to estimate the size of your audience and book appropriately, well in advance, at least 3 weeks, some places require more.<br />
<br />
=== Large theatres ===<br />
<br />
There are the Humanities Theatre and Theatre of the Arts, which seat 721 and 504 respectively and can be booked by filing a Feds event form. By booking through Feds it seems you will not have to pay for booking a basic theatre setup. You can work with them to arrange various things like podiums, props, spotlight work, make sure they can meet your speaker's needs.<br />
<br />
=== Classrooms ===<br />
<br />
Donna Schell [mailto:dschell@uwaterloo.ca dschell@uwaterloo.ca] is the administrator in charge of booking most mainline classrooms on campus. E-mail or call her to book things. She can get you anything from an Arts Lecture hall (~300) or DC Lecture hall (~200) down to MC4062 (20). She is also very helpful about who to talk to if she doesn't control what you need.<br />
<br />
=== SLC ===<br />
<br />
SLC bookings go through the Turnkey desk who can be contacted [http://www.studentservices.uwaterloo.ca/slc/contactus.htm here] if you want the great hall or the multipurpose room or something.<br />
<br />
=== MathSoc Space ===<br />
<br />
MathSoc has a Comfy Lounge, the CnD Lounge, and the Balcony which can be booked by talking to them in their Exec office. The Comfy can be booked 6pm-2am M-F and 8am-2am Sat/Sun, or other times if the MathSoc Exec approves. Watch out for MathSoc Movie and Games nights, these tend to take the comfy on Wednesday and Thursday nights. The CnD lounge has the same weekend hours and CnD close to 2am during the week, and again MathSoc Exec can override. At present the Balcony is closed, however a booking policy should show up soon. Check MathSoc policy 24 for more details.<br />
<br />
=== MC 5th Floor ===<br />
<br />
These bookings go through the Dean's Secretary usually at x33707 though you should check first. MC5158 and MC5136B are particularly nice looking rooms.<br />
<br />
=== ICR Rooms ===<br />
<br />
We can't actually book these (sad). Talk to our Faculty advisor to book them, these are best booked far in advance. The same process applies for the fishbowl, if you want a reception afterwards.<br />
<br />
=== Labs ===<br />
<br />
Call Cheryl at x32191 if you want to book CSCF Labs in MC. Have the room number ready, as she doesn't have a list of what labs are what. For reference: MC2038 is the big Unix Lab by the loading dock, MC3003 is the Digimon lab (big Mac lab). If you want a smaller one just check.<br />
<br />
= Publicity =<br />
<br />
See [[Publicity Guide]] for how to publicize events in general. Use the talk folder to hold draft posters, photocopy them and place them in the poster box to send them out. You should really read the publicity guide though, theres a lot more than just posters.<br />
<br />
= Arrange Refreshments =<br />
<br />
The Math CnD can cater things at somewhat reasonable rates if you would like to take a traditional tack and serve tea and doughnuts at talks. They require booking in advance, talk to the CnD manager to get a form. Other options are to arrange pizza or stuff from Timmies. Whatever you do make appropriate note in the talk folder and save a copy of the request/invoice/receipt there.<br />
<br />
= Preparing AV =<br />
<br />
[http://av.uwaterloo.ca/ AV] can record talks, they also have keys to the podium for projectors and other AV equipment that is useful. Anything needed from them should be booked two weeks in advanced, and planned for so that there is budget. MathSoc is another fine provider of AV equipment. We also have some of our own AV gear.<br />
<br />
== Talk Recording ==<br />
<br />
Before going through hoops make sure the speaker consents to a recording. Most do, but its not only polite to ask, legally you have to.<br />
<br />
To book a talk recording call Media Production. They can be kind of hard to work with at times but they produce good results ish? Recording costs about $30+materials, and you can get the results as a DVD or on miniDV.<br />
<br />
Alternately we have a camera, you can record the talk yourself. It lives in the safe, with auxiliary materials in FC2 and a tripod on the gear shelf by MathSoc. Part of the auxiliary materials is a wireless mic, have the speaker wear it and hook it up to the camera. Make sure it has fresh batteries, and if you can hook the camera up to an outlet for the talk. Try to get the speaker and the slides (DC1302 is particularly good for this) and check the white balance and lighting before hand. Set up about ten minutes before the talk to get everything squared away with the speaker. Bring extra tape just in case, and be sure the tape is rewound.<br />
<br />
== Presentation Equipment ==<br />
<br />
Projectors are in classrooms under the control of AV, we can book a key from them through our faculty advisor, talk to them about this. Also talk to the faculty advisor about getting access to the projectors in ICR rooms. Of the 5th floor rooms only MC5158 has a projector, but it is freely available. If you're in a theatre talk to the stage manager, they'll take care of it. If for some reason a room doesn't have a projector one can be booked from MathSoc. For other AV gear talk to AV as we don't use it often and don't really know where to get it. Another option is FedS but this has not been researched.<br />
<br />
= Find a Photographer =<br />
<br />
While we haven't been doing this it would be nice to have photographs from the talks, of the audience, of the exec with the speaker, etc. beyond just stills from the camera that was rolling during the talk. Find someone to take these pictures and make sure they'll be there.<br />
<br />
= Holding the Talk* =<br />
<br />
This is where all the preparation comes together. If you followed all the previous this part should be easy. The person generally in charge of the talk (who is usually also the person talking to the speaker, but equally usually the veep) should meet the speaker (if they haven't been met already) and make sure they're around a half hour before hand or so. Get to the room as early as the booking allows and set up. Whoever is handling AV should either make sure the UWAV person has everything they need to record or set up the camera and check it out with the speaker. Make sure the speaker's AV presentation needs are tended to. Check with the refreshments person to ensure they will arrive when you want them to. Give the crowd time to settle, and when they have introduce the speaker. Enjoy the talk. After the speaker is done applaud, then stand up and thank them for their work, give them a gift if you have one. Offer the audience refreshments and invite them to informal discussion after the talk with the speaker (either in the same room or in some lobby type place, depending on size). Invite the speaker out to dinner if you have not already (this is after the informal discussion). Ensure the speaker's expenses have been tended to. Get a photo with the exec and the speaker. Clean up the room and lock things.<br />
<br />
= Aftermath = <br />
<br />
Once a talk is over things aren't done. Equipment needs to be returned, accounts settled, video encoded and uploaded, etc.<br />
<br />
== AV ==<br />
<br />
First, return any borrowed equipment/keys. If the talk has been recorded, follow [[Talk Archive]] and [[Talk Publication]] to archive and publicize the talk. If you put it on the website advertise it on Slashdot, Reddit, etc. whatever is popular these days. We can usually get to the front page and get all sorts of epic press.<br />
<br />
== Settling Accounts ==<br />
<br />
Make sure that people have been paid back, and that money has been collected from financiers. If you tracked things well in the talk folder it should be one form that the Treasurer can take and deal with, and file away.<br />
<br />
== Archival ==<br />
<br />
In addition to video archive make sure that all the steps of [[Talk Archive]] are followed to create an archive entry for the talk.<br />
<br />
== Settling with the speaker* ==<br />
<br />
Send them a letter of thanks on letterhead. Remind them that we would enjoy their presence again if they would like to return. Ask them if they would like a copy of our archive entry and send it if they ask for it.<br />
<br />
[[Category:Talks]]<br />
[[Category:Guides]]</div>Pj2melanhttps://wiki.csclub.uwaterloo.ca/index.php?title=Talks_Guide&diff=3854Talks Guide2015-11-01T21:28:16Z<p>Pj2melan: /* Booking Venue */ changed a bunch of h2 to h3, to get rid of a stampede of hlines</p>
<hr />
<div>This document aims to provide a comprehensive list of just how to run a CSC talk from start to finish. Try to keep sections orthogonal, so that a different person could do each part knowing only that the previous part was completed correctly. This will probably not be the case for the first few drafts, but it is a good goal. Ideally the same person will do all the correspondence with the speaker, sections that have someone talking to the speaker are marked with a *. The sections are roughly in order of doing things, with earlier sections usually done before later ones.<br />
<br />
= Finding a Speaker* =<br />
<br />
There are many ways to do this: [[Talks]] has a list of cool people. You can expand it by asking club members, professors, and watching various tech news sites. Ask the current membership, progcom, and faculty advisor what they think and make a choice. This is part of the fun of putting on talks, you get to choose who to invite. Send out a few at once as not everyone can come when invited, and don't be discouraged if you get a No.<br />
<br />
In the posters git repository there is club letterhead, use this to create a nice snail mail invitation letter, and follow through with an e-mail about a month later to make sure the letter was received. Letters can be sent from MathSoc, put a natural log stamp in the lower left corner and place it in the outbox, postage will be handled. Save a copy of your letter in the speaker correspondence folder in FC1.<br />
<br />
When you get a reply from the speaker, put it in the speaker correspondence folder with the initial send out. If they said yes, create a temporary folder with the speaker's name on it for arranging talk details and a copy of the reply there as well, as it probably has details about the date. Work with the speaker to get rough dates set for travel and talk, put these in the folder with the stuff.<br />
<br />
At this time you should also try to get tentative titles and abstracts, place them in the talk folder.<br />
<br />
= Obtaining Funding =<br />
<br />
Depending on who you're applying to for funds this can be done before or after a speaker is found. MEF likes to know who and when, SCS will give you vague funding as will MathSoc. Consult the various guides for obtaining funding. Be sure to budget for transport, lodging, possibly a gift, and food for your speaker as well as venue costs: recording (if we're having someone else do it), booking fees (if any), refreshments after (if any), AV fees (for AV gear if we have to pay it); and publicity costs, FedS poster runs, posters, banners, ads, etc. Be thorough in your budgeting, and be generous, you should be asking for a maximum, not an expectation. Place a copy of the budget in the relevant talk folder so everyone else working on the talk knows what is available and what their limits are.<br />
<br />
Be sure to budget for any speaker's fee or honorarium a speaker may require.<br />
<br />
= Booking Travel* =<br />
<br />
If the speaker has asked us to book travel for them and has given good times book the travel and pay for it through the relevant method There are university travel reimbursement forms that we can use to get paid back when dealing with people who aren't MathSoc. Try to just have one for the entire talk and keep it in the folder. When working with MathSoc have a MathSoc form in the folder. Print receipts and confirmation information and place it in the folder and send it along to the speaker. If the speaker is booking their own travel this section is irrelevant.<br />
<br />
= Booking Lodging* =<br />
<br />
If the speaker has asked us to book lodging for them make sure we can meet their requirements (and have budgeted appropriately, request more money if this is not the case) and make the reservation, put receipts in the folder, add it to the expense form (or start it, see previous) and send the information to the speaker.<br />
<br />
= Booking Transport* =<br />
<br />
The speaker will need to get around while in Waterloo. You can find someone with a car, a car service, have them cab it, or get them a rental. Make sure you've budgeted appropriately, make note of the arrangement in the folder, and inform the speaker. Also make necessary notes on the expense form (see previous).<br />
<br />
You will also need to go to ICR and get a temporary parking pass for the relevant times. This can be obtained ahead of time and should be placed in the talk's folder.<br />
<br />
= Booking Venue =<br />
<br />
There are many places on campus to host a talk. You should try to estimate the size of your audience and book appropriately, well in advance, at least 3 weeks, some places require more.<br />
<br />
=== Large theatres ===<br />
<br />
There are the Humanities Theatre and Theatre of the Arts, which seat 721 and 504 respectively and can be booked by filing a Feds event form. By booking through Feds it seems you will not have to pay for booking a basic theatre setup. You can work with them to arrange various things like podiums, props, spotlight work, make sure they can meet your speaker's needs.<br />
<br />
=== Classrooms ===<br />
<br />
Donna Schell [mailto:dschell@uwaterloo.ca dschell@uwaterloo.ca] is the administrator in charge of booking most mainline classrooms on campus. E-mail or call her to book things. She can get you anything from an Arts Lecture hall (~300) or DC Lecture hall (~200) down to MC4062 (20). She is also very helpful about who to talk to if she doesn't control what you need.<br />
<br />
=== SLC ===<br />
<br />
SLC bookings go through the Turnkey desk who can be contacted [http://www.studentservices.uwaterloo.ca/slc/contactus.htm here] if you want the great hall or the multipurpose room or something.<br />
<br />
=== MathSoc Space ===<br />
<br />
MathSoc has a Comfy Lounge, the CnD Lounge, and the Balcony which can be booked by talking to them in their Exec office. The Comfy can be booked 6pm-2am M-F and 8am-2am Sat/Sun, or other times if the MathSoc Exec approves. Watch out for MathSoc Movie and Games nights, these tend to take the comfy on Wednesday and Thursday nights. The CnD lounge has the same weekend hours and CnD close to 2am during the week, and again MathSoc Exec can override. At present the Balcony is closed, however a booking policy should show up soon. Check MathSoc policy 24 for more details.<br />
<br />
=== MC 5th Floor ===<br />
<br />
These bookings go through the Dean's Secretary usually at x33707 though you should check first. MC5158 and MC5136B are particularly nice looking rooms.<br />
<br />
=== ICR Rooms ===<br />
<br />
We can't actually book these (sad). Talk to our Faculty advisor to book them, these are best booked far in advance. The same process applies for the fishbowl, if you want a reception afterwards.<br />
<br />
=== Labs ===<br />
<br />
Call Cheryl at x32191 if you want to book CSCF Labs in MC. Have the room number ready, as she doesn't have a list of what labs are what. For reference: MC2038 is the big Unix Lab by the loading dock, MC3003 is the Digimon lab (big Mac lab). If you want a smaller one just check.<br />
<br />
= Publicity =<br />
<br />
See [[Publicity Guide]] for how to publicize events in general. Use the talk folder to hold draft posters, photocopy them and place them in the poster box to send them out. You should really read the publicity guide though, theres a lot more than just posters.<br />
<br />
= Arrange Refreshments =<br />
<br />
The Math CnD can cater things at somewhat reasonable rates if you would like to take a traditional tack and serve tea and doughnuts at talks. They require booking in advance, talk to the CnD manager to get a form. Other options are to arrange pizza or stuff from Timmies. Whatever you do make appropriate note in the talk folder and save a copy of the request/invoice/receipt there.<br />
<br />
= Preparing AV =<br />
<br />
[http://av.uwaterloo.ca/ AV] can record talks, they also have keys to the podium for projectors and other AV equipment that is useful. Anything needed from them should be booked two weeks in advanced, and planned for so that there is budget. MathSoc is another fine provider of AV equipment. We also have some of our own AV gear.<br />
<br />
== Talk Recording ==<br />
<br />
Before going through hoops make sure the speaker consents to a recording. Most do, but its not only polite to ask, legally you have to.<br />
<br />
To book a talk recording call Media Production. They can be kind of hard to work with at times but they produce good results ish? Recording costs about $30+materials, and you can get the results as a DVD or on miniDV.<br />
<br />
Alternately we have a camera, you can record the talk yourself. It lives in the safe, with auxiliary materials in FC2 and a tripod on the gear shelf by MathSoc. Part of the auxiliary materials is a wireless mic, have the speaker wear it and hook it up to the camera. Make sure it has fresh batteries, and if you can hook the camera up to an outlet for the talk. Try to get the speaker and the slides (DC1302 is particularly good for this) and check the white balance and lighting before hand. Set up about ten minutes before the talk to get everything squared away with the speaker. Bring extra tape just in case, and be sure the tape is rewound.<br />
<br />
== Presentation Equipment ==<br />
<br />
Projectors are in classrooms under the control of AV, we can book a key from them through our faculty advisor, talk to them about this. Also talk to the faculty advisor about getting access to the projectors in ICR rooms. Of the 5th floor rooms only MC5158 has a projector, but it is freely available. If you're in a theatre talk to the stage manager, they'll take care of it. If for some reason a room doesn't have a projector one can be booked from MathSoc. For other AV gear talk to AV as we don't use it often and don't really know where to get it. Another option is FedS but this has not been researched.<br />
<br />
= Find a Photographer =<br />
<br />
While we haven't been doing this it would be nice to have photographs from the talks, of the audience, of the exec with the speaker, etc. beyond just stills from the camera that was rolling during the talk. Find someone to take these pictures and make sure they'll be there.<br />
<br />
= Holding the Talk* =<br />
<br />
This is where all the preparation comes together. If you followed all the previous this part should be easy. The person generally in charge of the talk (who is usually also the person talking to the speaker, but equally usually the veep) should meet the speaker (if they haven't been met already) and make sure they're around a half hour before hand or so. Get to the room as early as the booking allows and set up. Whoever is handling AV should either make sure the UWAV person has everything they need to record or set up the camera and check it out with the speaker. Make sure the speaker's AV presentation needs are tended to. Check with the refreshments person to ensure they will arrive when you want them to. Give the crowd time to settle, and when they have introduce the speaker. Enjoy the talk. After the speaker is done applaud, then stand up and thank them for their work, give them a gift if you have one. Offer the audience refreshments and invite them to informal discussion after the talk with the speaker (either in the same room or in some lobby type place, depending on size). Invite the speaker out to dinner if you have not already (this is after the informal discussion). Ensure the speaker's expenses have been tended to. Get a photo with the exec and the speaker. Clean up the room and lock things.<br />
<br />
= Aftermath = <br />
<br />
Once a talk is over things aren't done. Equipment needs to be returned, accounts settled, video encoded and uploaded, etc.<br />
<br />
== AV ==<br />
<br />
First, return any borrowed equipment/keys. If the talk has been recorded, follow [[Talk Archive]] and [[Talk Publication]] to archive and publicize the talk. If you put it on the website advertise it on Slashdot, Reddit, etc. whatever is popular these days. We can usually get to the front page and get all sorts of epic press.<br />
<br />
== Settling Accounts ==<br />
<br />
Make sure that people have been paid back, and that money has been collected from financiers. If you tracked things well in the talk folder it should be one form that the Treasurer can take and deal with, and file away.<br />
<br />
== Archival ==<br />
<br />
In addition to video archive make sure that all the steps of [[Talk Archive]] are followed to create an archive entry for the talk.<br />
<br />
== Settling with the speaker* ==<br />
<br />
Send them a letter of thanks on letterhead. Remind them that we would enjoy their presence again if they would like to return. Ask them if they would like a copy of our archive entry and send it if they ask for it.<br />
<br />
[[Category:Talks]]<br />
[[Category:Guides]]</div>Pj2melan