# General

## How to SSH to/use the club machines

• Go through New_Member_Guide#Machines first
• Run cd ~exec to get to the Exec home directory, and then ls to list all the files in the directory
• cd w2022 to get to the Winter 2022 directory ("folder"), where all our stuff will be
• cd .. to go up one level. For a quick tutorial on other Linux commands see https://wiki.csclub.uwaterloo.ca/images/d/d4/Basic_linux_commands.jpg (simple) or https://student.cs.uwaterloo.ca/~cs246/common/linuxCommands.pdf (in-depth)
• GROUND RULE: Don't delete things (i.e. don't run rm in the exec directory that you didn't create. Treat it like a shared Google Drive folder that contains years of archives (which it basically is), not your own computer.
• To transfer files, use the scp command in your terminal. On Linux or Mac, Run
scp /path/to/file questID@hfcs.csclub.uwaterloo.ca:~exec/w2022/path/


to transfer files to the machines. Note that the same files are shared on all machines via NFS. Run

scp questID@hfcs.csclub.uwaterloo.ca:~exec/w2022/path/to/file ~/path/


to transfer files from the machines to your own computer. On Windows, those 2 commands are

scp C:\Users\you\path\to\file questID@hfcs.csclub.uwaterloo.ca:~exec/w2022/path/
scp questID@hfcs.csclub.uwaterloo.ca:~exec/w2022/path/ C:\Users\you\path\to\file


respectively.

• File access will be simplified in the near future (W22 term) with Nextcloud.

# President

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.

## What to do

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:

• to call and preside at all general, special, and executive meetings of the Club;
• to appoint all committees of the Club and the committee chair of such committees, except the chair of the Programme Committee;
• to audit, or to appoint a representative to audit, the financial records of the club at the end of each academic term.

Wherever possible, the President should delegate tasks to others. Not doing this can overburden the President.

## Explanation

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?

## MathSoc

The CSC is a MathSoc club as such you should know the MathSoc club policies and know that the president is a non-voting member of MathSoc council, like MathSoc directors.

## SCS

See SCS Guide for how to deal with the School of Computer Science.

## Planning events

Planning events is a useful thing to know, so go read the Vice-President's section.

# Vice President

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.

## Planning events

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:

• 2-3 weeks in advance: Get a title and abstract for the event from the speaker as well as a date and time.
• 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.
• 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).
• 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.
• 1 day in advance: Speak with ICR (in DC, first floor) about getting the speaker a parking pass if needed.
• 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.
• 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.

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.

### Ordering food from the CnD

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.

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.

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.

### Getting ideas and speakers for events

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:

• 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.
• 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.
• Out-of-town speakers. The 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.
• 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.
• 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.
• 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!
• 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.

# Treasurer

The treasurer's responsibilities include:

• Preparing and presenting to MathSoc the budget for the term
• Keeping the cash box filled with change and small bills
• Writing checks to reimburse members for items they purchase for the club
• Submitting forms to MathSoc, MEF, etc. for items purchased, and MAKING SURE we receive promised funding

## Getting Reimbursed

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.

# Secretary

The secretary is usually responsible for:

• Keeping members and students informed of upcoming events
• Posting minutes of club meetings
• Club correspondence
• Regularly checking our mailbox in MC 3038 (MathSoc)
• Recruitment
• Membership drives
• Maintaining club bulletin board and other propaganda
• Recording CSC events (jointly with the VP)

### Announcing the event: Very General Overview

Before the event, you should

• 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.
• 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.
• Send out an email with the details to csc-general.

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).

After the event, remember to

• Reset the IRC topic.
• Take down all posters.
• Pat yourself on the back.

### Announcing the event: Posters and Posts

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).

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:

• 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.
• 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.
• For special events, make use of the 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.
• 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.

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).

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.

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?"

### Recording Talks

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.

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.

• 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!
• You'll see a bunch of files like 00008.MTS 00009.MTS 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 00002.MTS (2 GB), 00003.MTS (2 GB), 00004.MTS (2 GB), 00005.MTS (800 MB). From this, you can probably conclude that 0000[2-5].MTS is your recording. Then all you have to do is just type cat 0000[2-5].MTS > my-talk.mts 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!?
• 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 ssh hfcs (because that's the CSC's beefiest machine), navigate to (a mountpoint that I'm asking syscom about, I'll edit this in), then git clone ~git/public/csc-media.git 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 screen ./encode.sh ... instead of ./encode.ssh ... for step 2.
• 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 mirror group (in which case they'll tell you to scp it to mirror:/mirror/root/csclub/ or similar). Copy the .mp4 and the small .jpg thumbnail, we'll use both for the next step.
• 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 git clone ~git/www ~/csc-website and edit ~/csc-website/media/index.xml to include your talk file, following the format of previous events. To test your changes, run make in ~/csc-website and then make a symlink with ln -s ~/csc-website/build ~/www/csc-website-testing and navigate to https://csclub.uwaterloo.ca/~yourusername/csc-website-testing in your browser.

Wow, isn't that fancy!

To make your changes public, ssh into caffeine, go to your ~/csc-website directory, commit your changes using git, then git push. Your changes should be on the CSC website now! You might have to ctrl-F5 to get the latest page.

Thank you, kind secretary. Future denizens of the CSC will appreciate this.

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. # Systems Administrator See Sysadmin Guide. # General Information ## Useful Contacts There are several people that many exec will need contact information for. Their contact info follows and should be updated when these people change! • 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. • 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. Hi, The Computer Science Club is interested in booking DC 1301 (The Fishbowl) for a student-prof mixer on the afternoon Monday, October 17. We were told that it would require the permission of someone higher up in ICR since we're a student club. We considered asking our faculty advisor, Prabhakar Ragde, to book it on our behalf, but that would require him to be present for the entire event and we don't want to impose on him to that extent unless we have to. We are hoping to get your permission to book it since our primary purpose is to remove alcohol from the picture, to get it away from the "pints" mentallity and focus it more towards the frosh. Thanks for your consideration. Tim Loach CSC President  His Response: Hi Timothy, Sure, I would definitely approve this. Have you been turned down by others? But you need to email Vera Korody to book the room, because it might be booked, and you need to get her rules about moving chairs, etc. I'll copy her on this email. BTW, does the CSC know that Mike Lazaridis is coming to Fed Hall on Oct 3 to explain why RIM is a cool place to work, and that there are still challenges there to interest co-ops and grads. We could use your help in getting the word out. You've probably seen the posters. Best, Vic  • 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.
• 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).