Merge branch 'main' of https://git.csclub.uwaterloo.ca/www/www-new into internship-guide

This commit is contained in:
Ryan Yunchang Zhu 2024-01-30 17:16:59 -05:00
commit 6ad6cbeda2
48 changed files with 661 additions and 322 deletions

View File

@ -2,8 +2,8 @@
title: Amendments and Procedures
---
1. A proposed constitutional amendment can be initiated by the Executive Council or any thirty (30) members.
2. The proposed amendment shall be announced to all members by email to the members' mailing list.
3. The proposed amendment shall be made available for viewing by all members in the Computer Science Club office.
4. A general meeting shall be held to consider the amendment at least seven (7) days after the announcement and no more than thirty (30) days after, which may be the regular meeting for the term, or a special meeting.
1. A constitutional amendment can be initiated by the Executive Council or any thirty (30) members. The initiation shall involve making the amendment available for viewing, including in the CSC office.
2. There shall be at least twenty-eight (28) days between the amendment's initiation and announcement of the finalized version. Members shall be provided an avenue to discuss the amendment throughout this time period.
3. The finalized version of the amendment shall be announced to all members, taking place through email to the members' mailing list.
4. A general meeting shall be held to consider the finalized version of the amendment at least seven (7) and no more than thirty (30) days after its announcement, which may be the regular meeting for the term, or a special meeting.
5. A constitutional amendment requires a 2/3 vote for adoption.

View File

@ -1,27 +1,27 @@
---
title: Duties of Officers
---
1. The duties of the President shall be:
1. to call and preside at all general, special, and executive meetings of the Club, except during the election of officers;
1. to appoint special committees of the Club and the membership and chairs of such committees, with the approval of the Executive Council;
1. to audit, or to appoint a representative to audit, the financial records of the club at the end of each academic term; and
1. with the approval of the Faculty Advisor, rule on any point of procedure under the constitution that arises outside of a meeting.
1. The duties of the Vice-President shall be:
1. to assume the duties of the President in the event of the President's absence;
1. to chair the Programme Committee;
1. to appoint members to and remove members from the Programme Committee;
1. to ensure that Club events are held regularly; and
1. to assume those duties of the President that are delegated to them by the President.
1. The duties of the Treasurer shall be:
1. to collect dues and maintain all financial and membership records; and
1. to produce a financial or membership statement when requested.
1. The duties of the Assistant Vice-President shall be:
1. to keep minutes of all Club meetings;
1. to care for all Club correspondence; and
1. to manage any persons appointed to internal positions by the Executive.
1. The duties of the System Administrator shall be:
1. to chair the Systems Committee;
1. to appoint members to and remove members from the Systems Committee;
1. to ensure that the duties of the Systems Committee are performed; and
1. to act as a liaison for the CSC with CSCF, IST, and similar organizations.
---
title: Duties of Officers
---
1. The duties of the President shall be:
1. to call and preside at all general, special, and executive meetings of the Club, except during the election of officers;
1. to appoint special committees of the Club and the membership and chairs of such committees, with the approval of the Executive Council;
1. to audit, or to appoint a representative to audit, the financial records of the club at the end of each academic term; and
1. with the approval of the Faculty Advisor, rule on any point of procedure under the constitution that arises outside of a meeting.
1. The duties of the Vice-President shall be:
1. to assume the duties of the President in the event of the President's absence;
1. to chair the Programme Committee;
1. to appoint members to and remove members from the Programme Committee;
1. to ensure that Club events are held regularly; and
1. to assume those duties of the President that are delegated to them by the President.
1. The duties of the Assistant Vice-President shall be:
1. to keep minutes of all Club meetings;
1. to care for all Club correspondence; and
1. to manage any persons appointed to internal positions by the Executive.
1. The duties of the Treasurer shall be:
1. to collect dues and maintain all financial and membership records; and
1. to produce a financial or membership statement when requested.
1. The duties of the System Administrator shall be:
1. to chair the Systems Committee;
1. to appoint members to and remove members from the Systems Committee;
1. to ensure that the duties of the Systems Committee are performed; and
1. to act as a liaison for the CSC with CSCF, IST, and similar organizations.

View File

@ -4,6 +4,6 @@ title: Executive Council
1. The Executive Council shall consist of the present officers of the Club and the Faculty Advisor (as a non-voting member) and has the power to run the affairs of this club within the limits of this constitution. This includes the power to overrule or issue directions to any officer.
2. The Executive Council may appoint people to various positions to help manage the Club.
3. The Executive Council must obey any instructions given to it by the members at a meeting and can be overruled by them.
3. If members provide any points of feedback to the Executive Council at a meeting, then the Executive Council shall respond to them.
4. The Executive Council can act by consensus achieved on their mailing list.
5. Minutes of the Executive Council meetings shall be made available for inspection by any member of the Club and shall be filed with the Club records. On request, a member shall be shown the archive of any thread on the Executive Council mailing list which resulted in a decision being made.

View File

@ -1,29 +1,31 @@
---
title: Officers
---
1. The officers of the Club shall be:
1. President
1. Vice-President
1. Treasurer
1. Assistant Vice-President
1. Systems Administrator
1. There shall additionally be a Faculty Advisor, selected by the Executive from time to time from among the faculty of the School of Computer Science. The Faculty Advisor shall be an ex-officio affiliate member of the Club.
1. The choice of officers shall be limited to full members of the Club.
1. All officers, other than the Systems Administrator, shall be elected at a meeting to be held no later than two weeks after the start of lectures in each term.
1. The election of officers shall be accomplished by the following procedure:
1. Before the end of the prior term, the then-Executive shall choose a willing Chief Returning Officer, who is responsible for carrying out elections according to this procedure.
1. The CRO shall set the date and time of the election meeting, and set the nomination period. The nomination shall be at least one week long and shall end at least 24 hours before the start of the election meeting.
1. Announcements of the election and the nomination procedure must be distributed to all members by the members' mailing list, and should also be advertised by posters in the MC building.
1. During the nomination period, the Chief Returning Officer (CRO) shall be available to receive nominations for the posts of officers of the club, either in person, by email, by depositing nomination forms in the CSC's mailbox in the MathSoc office, or by writing the nomination in a place in the CSC office to be specified by the CRO.
1. A nomination shall consist of the nominee's userid, and post(s) nominated for. Nominees must be full members of the Computer Science Club. A member may decline a nomination at any point prior to the taking of the vote.
1. The election shall commence with the offering of memberships for sale. After a reasonable time, control of the meeting is given to the CRO who will preside over the election of the President, Vice-President, Treasurer, and Secretary, in that order.
1. During each election, if the position has no nominees, the CRO will take nominations from the floor. Any present, eligible member can be nominated.
1. Each election shall be carried out by secret vote, in a manner to be decided on by the CRO, with the approval of the members at the meeting. A simple heads-down-hands-up method is considered acceptable.
1. The CRO shall not vote except to break a tie.
1. The CRO may, if feasible, accept absentee ballots from full members. No absentee vote from a member shall be counted if the member is present at the time the vote is taken. The CRO shall make a best effort to ensure that absentee ballots are compatible with the method of voting chosen; if this is not possible (for instance, if the CRO is overruled by the membership), then the absentee votes shall not be counted.
1. Immediately after the vote is taken, the CRO will announce the results of the election and the winner will be removed from subsequent contests. If, due to lack of candidates (because there were no nominations, or candidates withdrew or were eliminated), there is no one elected to an office, then the members at the meeting will decide whether or not to hold extra elections in accordance with the procedure for vacancies. If they choose not to, this does not prevent the Executive or a group of members from calling extra elections later in the term in accordance with the usual vacancy provisions.
1. Following the elections, it is the responsibility of the new Executive to select a Systems Administrator. The selection of Systems Administrator must then be ratified by the members at the meeting. If a suitable Systems Administrator is not available, the duties of the Systems Administrator shall be carried out by the Systems Committee, with decisions made by consensus achieved on their mailing list.
1. Any two offices may be held by a single person with the approval of the President (if any), and the explicit approval of the members.
1. In the case of a resignation of an officer or officers, including the President, or if a vacancy occurs for any other reason, the Executive, members at a meeting, or any ten (10) members may call extra elections to replace such officer(s). If extra elections are held, they are held for all vacant offices.
1. Whenever extra elections are held, they shall follow the usual election procedure. If they are held after elections failed to elect an officer, then the nomination period may be shortened to less than a week in order to allow the extra elections to take place at the same date and time in the following week. The Executive (or the ten (10) members who called the election) may appoint a replacement CRO if the previous CRO is unwilling or unable to fulfill their duties.
---
title: Officers
---
1. The officers of the Club shall be:
1. President
1. Vice-President
1. Assistant Vice-President
1. Treasurer
1. Systems Administrator
1. There shall additionally be a Faculty Advisor, selected by the Executive from time to time from among the faculty of the School of Computer Science. The Faculty Advisor shall be an ex-officio affiliate member of the Club.
1. The choice of officers shall be limited to full members of the Club.
1. All officers, other than the Systems Administrator, shall be elected at a meeting to be held no later than two weeks after the start of lectures in each term.
1. The election of officers shall be accomplished by the following procedure:
1. Before the end of the prior term, the then-Executive shall choose a willing Chief Returning Officer, who is responsible for carrying out elections according to this procedure.
1. The CRO shall set the date and time of the election meeting, and set the nomination period. The nomination shall be at least one week long and shall end at least 24 hours before the start of the election meeting.
1. Announcements of the election and the nomination procedure must be distributed to all members by the members' mailing list.
1. During the nomination period, the Chief Returning Officer (CRO) shall be available to receive nominations for the posts of officers of the club, either in person, by email, or by writing the nomination in a place in the CSC office to be specified by the CRO.
1. A nomination shall consist of the nominee's userid, and post(s) nominated for. Nominees must be full members of the Computer Science Club. A member may decline a nomination at any point prior to the taking of the vote.
1. Within 24 hours of the CRO receiving a nomination, the CRO must publicize the nomination, such as by writing it on the CSC office whiteboard.
1. Each nominee shall make a platform and submit it to the CRO. Within 24 hours of the CRO receiving a platform from a nominee, the CRO must publicize the platform. Each nominee is also encouraged to publicize their platform on their own.
1. The election shall commence with the offering of memberships for sale. After a reasonable time, control of the meeting is given to the CRO who will preside over the election of the President, Vice-President, Assistant Vice-President, and Treasurer, in that order.
1. All nominees shall present their platforms. If a position has no nominees, then the CRO shall take nominations from the floor. Any present, eligible member can be nominated.
1. Voting shall be by secret ballot, in a manner that is to be decided on by the CRO and agreed upon by the members at the meeting. A simple heads-down-hands-up method is considered acceptable.
1. The CRO shall not vote except to break a tie.
1. The CRO may, if feasible, accept absentee ballots from full members. No absentee vote from a member shall be counted if the member is present at the time the vote is taken. The CRO shall make a best effort to ensure that absentee ballots are compatible with the method of voting chosen; if this is not possible (for instance, if the CRO is overruled by the membership), then the absentee votes shall not be counted.
1. Immediately after the vote is taken, the CRO will announce the results of the election and the winner will be removed from subsequent contests. If, due to a lack of candidates (because there were no nominations, or candidates withdrew or were eliminated), there is no one elected to an office, then the members at the meeting will decide whether or not to hold extra elections in accordance with the procedure for vacancies. If they choose not to, this does not prevent the Executive or a group of members from calling extra elections later in the term in accordance with the usual vacancy provisions.
1. Following the elections, it is the responsibility of the new Executive to select a Systems Administrator. The selection of Systems Administrator must then be ratified by the members at the meeting. If a suitable Systems Administrator is not available, the duties of the Systems Administrator shall be carried out by the Systems Committee, with decisions made by consensus achieved on their mailing list.
1. Any two offices may be held by a single person with the approval of the President (if any), and the explicit approval of the members.
1. In the case of a resignation of an officer or officers, including the President, or if a vacancy occurs for any other reason, the Executive, members at a meeting, or any ten (10) members may call extra elections to replace such officer(s). If extra elections are held, they are held for all vacant offices.
1. Whenever extra elections are held, they shall follow the usual election procedure. If they are held after elections failed to elect an officer, then the nomination period may be shortened to less than a week in order to allow the extra elections to take place at the same date and time in the following week. The Executive (or the ten (10) members who called the election) may appoint a replacement CRO if the previous CRO is unwilling or unable to fulfill their duties.

View File

@ -2,4 +2,4 @@
title: Revision
---
The latest revision of the constitution is effective May 10, 2023.
The latest revision of the constitution is effective January 11, 2024.

View File

@ -0,0 +1,19 @@
---
name: 'Build Networks in Tech!'
short: 'Join us for an evening of connections, collaborations, and conversations that will elevate your professional journey with Scotia Bank, Eclipse Automation and more!'
startDate: 'November 23 2023 18:00'
endDate: 'November 23 2023 20:00'
online: false
location: 'TBD'
poster: 'images/events/2023/fall/1700094272182--Build-Networks-in-Tech.jpg'
registerLink: 'https://docs.google.com/forms/d/e/1FAIpQLSeSfDEHwUlyL17pgd0GrqckJ2RMh06m9CmUqB611H0NpJZ7gA/viewform'
---
💼 Are you hunting for co-op in the near future? Having a hard time finding ways to network with recruiters/alumni? Look no further! Join us at 'Building Networks in Tech', the CSC's exclusive Recruiter Panel Event, where several representatives and alumni from organizations such as Scotiabank, Eclipse Automation and more, deliver a mini-panel and answer your questions! Join us for an evening of connections, and conversations that will elevate your professional journey!
📢 Sign up via the link in our bio to register for the event!
📆 When? November 23rd, 2023 at 6:00pm - 8:00pm EST. (A schedule for the event will be emailed and updated on ig)
📍 Where? Room TBD check the email you used to register, as well as our Discord and Insta story for updates.

View File

@ -0,0 +1,17 @@
---
name: 'CSC Beginning of Term!'
short: 'Kick off the winter term with CSCs BOT event!'
startDate: 'January 24 2024 19:00'
endDate: 'January 24 2024 21:00'
online: false
location: 'STC 0020'
poster: 'images/events/2024/winter/1705976921687--BOT.jpg'
---
📢 Kick off the winter term with CSCs BOT event! Are you interested in attending upcoming CSC events? Want to meet others in the CS community? Want to have fun and eat food? You dont want to miss our first event of this term!
🎉Come join us for a night of speed-friending, fun games, and pizza!
📆 When? Wed Jan 24 at 7:00 - 9:00pm ET
📍 Where? STC 0020

View File

@ -1,82 +1,116 @@
**Everyone at the University of Waterloo is welcome to come to our events and to
use our resources!** Feel free to join our communities and chat with our
members. However, if you want to officially become a member or support our
vision of creating a supportive environment for all computing students, there's
a bunch of ways you can join and help out.
**Everyone is welcome to join our community and participate in our club!** However, by officially becoming a CSC member, you will:
- Get access to all the services available to members.
- Be eligible for free food and prizes at our events.
- Support CSC and enable us to continue organizing awesome events and initiatives in the future.
## How to Join
General membership is open to all members of the University of Waterloo community, including alumni.
### General Membership
## New Member
Welcome to CSC! Membership is accounted for on a termly basis. If this is your first time signing up, please follow the instructions below.
### In-person
<details open>
<summary>In-person</summary>
<summary>Details</summary>
1. Drop by our office in **MC 3036/3037** with
- your WatCard, and
- $2 membership fee for the term that you would like to pay for
2. Sign our [Machine Usage Agreement](/resources/machine-usage-agreement)
Visit our office in **MC 3036/3037** or stop by any of our events, and an Office Staff member will be there to help you sign up as a CSC member in person. You will need to:
1. Show your **WatCard**.
2. Pay your **$2 membership fee** for the term. (See below for more details about various methods of payment.)
3. Sign our [Machine Usage Agreement](/resources/machine-usage-agreement).
That's all! After your account has been created, you'll have access to all the
[services](/resources/services) available to members.
Acceptable forms of payment are:
- **Cash:** If needed, we can make change for small bills.
- **Debit/Credit card:**
- **In-person payment:** Visit the **MathSoc office (MC 3038)** and ask to pay your CSC membership fee there. Bring the receipt which says "CSC membership" to an Office Staff member in order to complete the membership sign-up process.
- **Online payment:** Pay your membership fee online through the [WUSA store](https://wusa.ca/product/uw-computer-science-club-membership/). Show your emailed receipt to an Office Staff member in person in order to complete the membership sign-up process.
#### Membership Renewal
Just drop by the office with $2 for each term which you wish to renew.
You do not need to bring your WatCard or sign the machine usage agreement
again.
That's all! After your account has been created, you should receive a welcome email sent to your UWaterloo email address, and you'll have access to all the services available to members.
</details>
### Remote
<details>
<summary>Online</summary>
<summary>Details</summary>
Email the CSC Systems Committee at
[membership@csclub.uwaterloo.ca](mailto:membership@csclub.uwaterloo.ca) from your
University of Waterloo email address with the following:
To sign up as a CSC member online:
1. Pay your **$2 membership fee** for the term through the [WUSA store](https://wusa.ca/product/uw-computer-science-club-membership/). Make sure you receive a receipt via email.
2. Forward the email receipt to membership@csclub.uwaterloo.ca, along with
- your **WatIAM ID** (eg. ctdalek),
- a photo of your **WatCard**, and
- your acknowledgement of having read, understood, and agreed to our [Machine Usage Agreement](/resources/machine-usage-agreement).
1. a scan or photograph copy of your **WatCard**,
2. your **WatIAM userid**, and
3. your acknowledgement of having read, understood, and agreeing with our
[Machine Usage Agreement](/resources/machine-usage-agreement).
**Note: we no longer use Paypal to process memberships.**
We are currently working on an alternative solution for processing membership
fees online. Please check back later!
#### Membership Renewal
**Note: we no longer use Paypal to process memberships.**
We are currently working on an alternative solution for processing membership
fees online. Please check back later!
Contact syscom to renew your membership for as many terms
as you wish. You do not need to send us your WatCard or sign the usage
agreement again.
**Note:** You will not be signed up as a CSC member until after you have emailed us, even if you have already paid!
</details>
### Organizing Committees
## Membership Renewal
If you were a CSC member in a past term, and would like to renew your membership, please follow the instructions below.
### In-person
<details>
<summary>Details</summary>
Visit our office in **MC 3036/3037** or stop by any of our events, and an Office Staff member will be there to help you renew your CSC membership. You will need to pay **$2** for each term that you wish to renew. Note that you will not need to show your WatCard or sign the Machine Usage Agreement again.
#### Renewing for the current term only
Acceptable forms of payment are:
- **Cash:** If needed, we can make change for small bills.
- **Debit/Credit card:**
- **In-person payment:** Visit the **MathSoc office (MC 3038)** and ask to pay your CSC membership fee there. Bring the receipt which says "CSC membership" to an Office Staff member in order to complete the membership sign-up process.
- **Online payment:** Pay for your CSC membership fee online at the [WUSA store](https://wusa.ca/product/uw-computer-science-club-membership/). Show your emailed receipt to an Office Staff member in person in order to complete the membership sign-up process.
#### Renewing for future terms
We only accept **cash** when renewing for future terms. If needed, we can make change for small bills.
</details>
### Remote
<details>
<summary>Details</summary>
#### Renewing for the current term only
To renew your CSC membership for the current term online:
- Pay your **$2 membership fee** through the [WUSA store](https://wusa.ca/product/uw-computer-science-club-membership/), ensuring that you only pay for one term. Make sure you receive a receipt via email.
- Forward the email receipt to membership@csclub.uwaterloo.ca, along with your **WatIAM ID** (eg. ctdalek). You do not need to show your WatCard or sign the Machine Usage Agreement again.
**Note:** Your CSC membership will not be renewed until after you have emailed us, even if you have already paid!
#### Renewing for future terms
Unfortunately, renewing for future terms online isnt readily supported at the moment. Please email membership@csclub.uwaterloo.ca and we will do our best to assist you.
</details>
## Organizing Committee
Are you interested in using your skills to get involved with CSC and help make
an impact on our community? We have committees covering everything from design
an impact on our community? We have teams covering everything from design
to development, so no matter your interests, weve got a place for you.
**CSC hires at the end of every term\***, so make sure to stay connected through
social media to keep up to date on when applications open!
\* except for syscom, which recruits year-round.
\*Some teams undergo a different hiring process, such as syscom, which recruits year-round.
#### Programme Committee
### Programme Committee
- In charge of planning, advertising, and running all events hosted by CSC.
- Voices concerns/ideas on behalf of the CS community.
#### Website Committee
### Web Committee
- Creates functional and modern designs for the CSC website.
- Builds and maintains the static website, updating content for events and news.
#### Systems Committee
### Systems Committee
- Maintaining all services that CSC provides which includes file share, DNS,
mail, configuration for IRC, Mattermost, Git hosting.
@ -87,7 +121,7 @@ Syscom is always looking for new members! If you'd like to join, just send an
email to syscom@csclub.uwaterloo.ca containing a brief introduction about
yourself and any experience you have with GNU/Linux.
### Elected Roles
## Elected Roles
Each term, the CSC holds elections to determine the executive council:

View File

@ -0,0 +1,12 @@
---
author: 'ozpan'
date: 'January 12 2024 00:00'
---
The Winter 2024 Elections were held Thursday, December 11th at 6PM EST. Here are the elected executives for the term!
- President: Ivy Lei (ihlei)
- Vice-President: Gordon Lin (g3lin)
- Assistant Vice-President: Saurin Patel (sa23pate)
- Treasurer: Andrea Ma (a49ma)
- Sysadmin: Nathan Chung (n4chung)

View File

@ -0,0 +1,18 @@
---
author: 'ozpan'
date: 'January 12 2024 00:01'
---
The executive team would like to appoint the following:
- Head of Discord (CodeyBot) Developers: Prabhav Khera (p2khera), Fan Yang (f25yang)
- Head of Class Profile: Alexander Liao (a23liao)
- Head of Design: Anny Wei (a25wei)
- Head Discord Moderator: Roger Cao (r44cao)
- Head of Events: Andrea Ma (a49ma), Nicholas Tao (n2tao)
- Head of External Affairs: Devin Yanche Li (dyli)
- Head of Marketing: Arijit Chowdhury (a49chowd), Lila Hoang (Lbxhoang)
- Head of Photography: Varuni Gupta (v3gupta)
- Head Community Representative: Kim Guo (k5guo)
- Webmaster: Darren Lo (dlslo), Richard Shuai (r2shuai)
- Office Manager: Tiger Ding (t27ding)

View File

@ -0,0 +1,24 @@
[
{
"name": "Alexander Liao",
"role": "Team Lead"
},
{
"name": "Muhammad Hamza"
},
{
"name": "Kushal Goel"
},
{
"name": "Cathie Yan"
},
{
"name": "Ryan Zhou"
},
{
"name": "Emily Huang"
},
{
"name": "Franklin Ramirez"
}
]

View File

@ -1,39 +1,40 @@
[
{
"name": "Cadey Chen",
"name": "Anny Wei",
"role": "Team Lead"
},
{
"name": "Ashlyn Wu"
"name": "Jia Huang"
},
{
"name": "Roni Wu"
"name": "Kim Guo"
},
{
"name": "Prabhsharan Singh Sethi"
},
{
"name": "Hailey Chan"
},
{
"name": "Sayma Khan"
},
{
"name": "Jessica Chan"
},
{
"name": "Kelly Qu"
},
{
"name": "Linda Wang"
},
{
"name": "Anny Wei"
"name": "Kelly Qu"
},
{
"name": "Lila Hoang"
},
{
"name": "Prabhsharan Singh Sethi",
"image": "/images/team/PrabhsharanSinghSethi.jpeg"
"name": "Lucy Qi"
},
{
"name": "Aaryan Shroff",
"role": "Advisor"
},
{
"name": "Rachel Ma",
"name": "Cadey Chen",
"role": "Advisor"
}
]
]

View File

@ -0,0 +1,31 @@
[
{
"name": "Roger Cao",
"role": "Team Lead"
},
{
"name": "Amy Wang"
},
{
"name": "Eric Sheen"
},
{
"name": "Gordon Lin"
},
{
"name": "Logan Maier"
},
{
"name": "Naman Sood"
},
{
"name": "Laura Nguyen",
"role": "Advisor"
},
{
"name": "Sat Arora"
},
{
"name": "Siimar Leen Kaur"
}
]

View File

@ -1,22 +1,34 @@
[
{
"name": "Marcus Chan",
"name": "Prabhav Khera",
"role": "Team Lead"
},
{
"name": "Justin Young"
"name": "Fan Yang",
"role": "Team Lead"
},
{
"name": "Prabhav Khera"
"name": "Patrick Huynh"
},
{
"name": "Fan Yang"
"name": "Rosanne Zhu"
},
{
"name": "Richard Fan"
"name": "Andy Si"
},
{
"name": "Laura Nguyen",
"role": "Advisor"
"name": "David Gan"
},
{
"name": "Edmond Li"
},
{
"name": "Di Nguyen"
},
{
"name": "Priyanshu Sharma"
},
{
"name": "Marcus Chan"
}
]
]

View File

@ -1,44 +1,66 @@
[
{
"name": "Andrea Ma",
"role": "Team Lead"
},
{
"name": "Nicholas Tao",
"role": "Team Lead"
},
{
"name": "Stella Tian"
},
{
"name": "Zhehai Zhang"
},
{
"name": "Jonathan Shanmuganantham"
},
{
"name": "Angeline Garapati"
},
{
"name": "Harshitha Durai"
},
{
"name": "Samuel Bai"
},
{
"name": "Carter Moore"
},
{
"name": "Peter Lim"
},
{
"name": "Manasva Katyal"
},
{
"name": "Sydnie Chau"
},
{
"name": "Sarah Wilson",
"role": "Team Lead"
"role": "Advisor"
},
{
"name": "Siting Ban",
"role": "Team Lead"
"name": "Anthony Wang",
"role": "Advisor"
},
{
"name": "Layne Lim"
"name": "Aditya Bang"
},
{
"name": "Vaaranan Yogalingam"
},
{
"name": "Jason D'Souza"
},
{
"name": "Daniel Su"
},
{
"name": "Evelina Zheng"
},
{
"name": "Vibhor Gautam"
},
{
"name": "Andrea Ma"
},
{
"name": "Joseph Perez"
},
{
"name": "Anthony Wang"
"name": "Oliver Mao"
},
{
"name": "Elaine Han"
},
{
"name": "Alston D'Mello"
},
{
"name": "Naman Chhawchharia",
"role": "Advisor"
"name": "Molly Wu"
}
]
]

View File

@ -0,0 +1,6 @@
---
name: Amol Venkataraman
role: Vice-President
---
Hi! I am Amol. I am currently in my 2A term of Computer Science. I love programming, Math, and Science. Some of my hobbies outside programming include photography, travel, and reading. You should be able to find me in the CS Club office after classes on most days. Feel free to message me on Discord [amolven]. I am always open to making new friends!

View File

@ -1,6 +0,0 @@
---
name: Andrea Ma
role: Assistant Vice President
---
Coming soon!

View File

@ -0,0 +1,6 @@
---
name: Bryan Chen
role: Treasurer
---
Hi, I'm Bryan. I'm a PMATH and C&O major student in my 2A term, and also Treasurer of CSC, meaning I help manage budget allocation and process cheque requests - but I'm usually around in CSC to use it as a hangout and working space. Aside from these things my hobbies include drawing, writing short stories, and I'm a really big Touhou Project fan. I look forward to having a good term with you all!

View File

@ -1,11 +0,0 @@
---
name: Joshua Kim
role: Vice-President
---
Nice to meet you!
- I'm currently on my 3A term of CS, serving as your VP and marketing lead for CSC this term. I've served two terms as a marketing coordinator in F22 and W23.
- There's a lot I want to help CSC achieve, like getting bigger sponsorships, improving the office, and working with more profs for events. Right now, I'm focusing on office improvements. You can check my [platform](https://docs.google.com/document/d/1MaciKr-21Me2nJ3BIkkJCMNPmRw3OleT9vnmu-mdHrY/edit?usp=sharing) out here! Feel free to message me if you don't see something being implemented or have any suggestions :)
- I'm usually in the office, feel free to say hi and ask for stickers!
- My hobbies include skateboarding, rug tufting, playing music, working out. I have a lot of other hobbies but I switch in and out of them :)
- If you want to be in a CSC TikTok/Reels/YouTube Short, message me on Discord at duho#3815 (or find me on the CSC server once Discord gets rid of the \#)!

View File

@ -0,0 +1,6 @@
---
name: Laura Nguyen
role: President
---
Hello, I'm Laura! I'm in the class of CS 2025. My main goals as CSC President are to provide more direction, increase transparency, and facilitate getting to know others. Overall, I hope to resolve issues well and keep things running smoothly. You can usually find me in the CSC office (MC 3036/3037) or on our Discord server. Feel free to reach out to me to talk about anything, and I look forward to having a great term together! :D

View File

@ -0,0 +1,6 @@
---
name: Nathan Chung
role: Systems Administrator
---
Howdy 🤠, Im Nathan. At CSC, I help manage all club infrastructure and services, alongside with other amazing members of the Systems Committee and Terminal Committee. I love all things tech, especially everything AI 😶‍🌫️. I am currently in my 2🅰 term and pursuing a URA related to AI safety and privacy. In my free time, I also enjoy gardening 🌱, playing chess puzzles♟, skiing in the winter (used to be a ski instructor ⛷️) and a variety of other sports 🏌️🏸🏀. Feel free to hit me up for anything (on Discord or Instagram). (Also, FYI I did not GPT this blurb 🥹)

View File

@ -1,6 +0,0 @@
---
name: Raymond Li
role: Systems Administrator
---
Hey there! I'm [Raymond Li](https://raymond.li). I'm in my 3B term of CS. As sysadmin, I lead [syscom](https://csclub.uwaterloo.ca/about/team/#system) and [termcom](https://csclub.uwaterloo.ca/about/team/#terminal) in maintaining all the club infrastructure, including our [machines](https://wiki.csclub.uwaterloo.ca/Machine_List), [mirror](https://mirror.csclub.uwaterloo.ca/stats), [wiki](https://wiki.csclub.uwaterloo.ca), [email service](https://mail.csclub.uwaterloo.ca), [Gitea instance](https://git.csclub.uwaterloo.ca), [TheLounge instance](https://chat.csclub.uwaterloo.ca), [Nextcloud instance](https://files.csclub.uwaterloo.ca), our self-hosted URL shortener (Shlink, csclub.ca), and much much more. If you'd like to try your hand at being a termcom member for a day, try tackling an issue from our [Club Electronic Office (CEO)](https://wiki.csclub.uwaterloo.ca/Ceo)[*](https://git.csclub.uwaterloo.ca/public/pyceo/issues) project! In my spare time, I run open source at CharaChorder, am currently doing a URA modelling pilot skill level with deep learning, and enjoy watching Billions, skiing, and play chess and violin.<br />#btwiusearch (at least until [Linux expires in 2038](https://youtu.be/dQw4w9WgXcQ)).

View File

@ -1,6 +0,0 @@
---
name: Sat Arora
role: President
---
Hi! I am Sat, a CS student on my second co-op term after finishing 2B. Like last term, I want all members of CSC to really have fun and feel included as tech enthusiasts. However, I also want to prioritize tailoring our initiatives towards people feeling fulfilled and/or learning more from each other. After work, you can catch me playing Avalon, hanging around in the CSC Office, cooking some food (hopefully), or reading on cool math and computing concepts. Come say hi sometime! :)

View File

@ -1,16 +0,0 @@
---
name: Leo Shen
role: Systems Administrator
---
HTTP/1.1 302 Found
**Personal-Location**: [https://szclsya.me](https://szclsya.me)
**Syscom-Location**: [https://wiki.csclub.uwaterloo.ca](https://wiki.csclub.uwaterloo.ca)
**Report-To**: [syscom@csclub.uwaterloo.ca](mailto:syscom@csclub.uwaterloo.ca)
**Expires**: Sun, 30 Apr 2023 23:59:59 GMT
"It's a UNIX system, I know this!"

View File

@ -1,18 +1,18 @@
[
{
"name": "Devin Li",
"name": "Devin Yanche Li",
"role": "Team Lead"
},
{
"name": "Advait Sangle"
"name": "Julien Liang"
},
{
"name": "Polly Liu"
"name": "David Kofman"
},
{
"name": "Jinal Rajwat"
"name": "Josephina Kim"
},
{
"name": "Jason D'Souza"
"name": "Grace Yin"
}
]
]

View File

@ -1,29 +1,22 @@
[
{
"name": "Joshua Duho Kim",
"role": "Team Lead",
"image": "/images/team/JoshuaKim.jpg"
"name": "Arijit Chowdhury",
"role": "Team Lead"
},
{
"name": "Ameya Soman"
"name": "Lila Hoang",
"role": "Team Lead"
},
{
"name": "Arjit Chowdhury"
"name": "Sophia Ho"
},
{
"name": "Siimar Leen Kaur"
},
{
"name": "Martha Mengesha"
},
{
"name": "Krish Arora"
},
{
"name": "Kshama Patel"
},
{
"name": "Lila Hoang"
},
{
"name": "Sabina Gorbachev"
},
{
"name": "Joyce Ye",
"role": "Advisor"
}
]
]

View File

@ -0,0 +1,77 @@
[
{
"name": "Tiger Ding"
},
{
"name": "Ivy Lei"
},
{
"name": "Nathan Chung"
},
{
"name": "Amy Wang"
},
{
"name": "Andrea Ma"
},
{
"name": "Felix Yang"
},
{
"name": "Gordon Lin"
},
{
"name": "Sean Zhang"
},
{
"name": "Siimar Leen Kaur"
},
{
"name": "Sat Arora"
},
{
"name": "Saurin Patel"
},
{
"name": "Ethan Kwon"
},
{
"name": "Grace Feng"
},
{
"name": "Kevin Cui"
},
{
"name": "Laura Nguyen"
},
{
"name": "Gaurav Talreja"
},
{
"name": "Marcus Chan"
},
{
"name": "Nikki Guo"
},
{
"name": "Raymond Li"
},
{
"name": "Richard Fan"
},
{
"name": "Roger Cao"
},
{
"name": "Shahan Nedadahandeh"
},
{
"name": "Tejas Srikanth"
},
{
"name": "Yi (Justin) Wang"
},
{
"name": "Jessica Ding"
}
]

View File

@ -1,22 +1,25 @@
[
{
"name": "Daniel Su",
"name": "Varuni Gupta",
"role": "Team Lead"
},
{
"name": "Gordon Lin"
"name": "Siyuan Zhao"
},
{
"name": "Ryan Mark"
"name": "Evelina Zheng"
},
{
"name": "Enming Yang"
},
{
"name": "Helen Xia"
},
{
"name": "Rami Abdul Rahim"
"name": "Gordon Lin"
},
{
"name": "Bonnie Peng",
"name": "Daniel Su",
"role": "Advisor"
}
]
]

View File

@ -1,39 +1,29 @@
[
{
"name": "Kevin Cui",
"name": "Kim Guo",
"role": "Team Lead"
},
{
"name": "Tiger Ding"
},
{
"name": "Katherine Liu"
},
{
"name": "Ethan Kwon"
},
{
"name": "Gordon Lin"
"name": "Franklin Ramirez"
},
{
"name": "Harshitha Durai Babu",
"image": "/images/team/HarshithaDurai.jpg"
"name": "Varuni Gupta"
},
{
"name": "Imane Yacoubi",
"image": "/images/team/ImaneYacoubi.jpg"
"role": "Advisor"
},
{
"name": "Awab Qureshi"
},
{
"name": "Keane Moraes"
},
{
"name": "Felix Yang"
},
{
"name": "Mayank Mehra"
},
{
"name": "Guneet Bola"
},
{
"name": "Ivy Lei",
"name": "Gordon Lin",
"role": "Advisor"
}
]
]

View File

@ -1,43 +1,21 @@
[
{
"name": "Nathan Chung",
"role": "Team Lead"
},
{
"name": "Raymond Li"
},
{
"name": "Max Erenberg",
"role": "Alumni"
"name": "Max Erenberg"
},
{
"name": "Andrew Wang",
"image": "/images/team/AndrewWang-Syscom.jpg"
"name": "Yiao Shen"
},
{
"name": "Rio Liu"
},
{
"name": "Yiao Shen",
"role": "Team Lead"
},
{
"name": "Amin Bandali",
"role": "Alumni"
},
{
"name": "Anthony Brennan",
"role": "Alumni"
},
{
"name": "Edwin Zhang"
},
{
"name": "Elana Hashman",
"role": "Alumni"
},
{
"name": "Jennifer Zhou",
"role": "Alumni"
},
{
"name": "Zachary Seguin",
"role": "Alumni"
}
]
]

View File

@ -1,10 +1,19 @@
[
{
"name": "Raymond Li",
"name": "Nathan Chung",
"role": "Team Lead"
},
{
"name": "Yiao Shen"
"name": "Raymond Li",
"role": "Advisor"
},
{
"name": "Max Erenberg",
"role": "Advisor"
},
{
"name": "Yiao Shen",
"role": "Advisor"
},
{
"name": "Rio Liu"
@ -12,29 +21,40 @@
{
"name": "Edwin Zhang"
},
{
"name": "Keanu Liwongan"
},
{
"name": "Nicholas Ficara"
},
{
"name": "Justin Chung"
},
{
"name": "Sean Zhang"
"name": "Yi (Justin) Wang"
},
{
"name": "Jonathan Leung"
},
{
"name": "Di Nguyen"
},
{
"name": "Vincent Xie"
},
{
"name": "Amol Venkataraman"
},
{
"name": "Eric Li"
},
{
"name": "Ohm Patel"
},
{
"name": "Leon Zhang"
},
{
"name": "Anthony Chen"
},
{
"name": "Young Wang"
},
{
"name": "Nathan Chung"
},
{
"name": "Max Erenberg",
"role": "Advisor"
"name": "Frank Tao"
}
]
]

View File

@ -1,36 +1,38 @@
[
{
"name": "Amy Wang",
"name": "Darren Lo",
"role": "Team Lead"
},
{
"name": "Neil Parikh",
"name": "Richard Shuai",
"role": "Advisor"
},
{
"name": "Daniel Su"
},
{
"name": "Ryan Zhu"
},
{
"name": "Owen Pan"
},
{
"name": "Tejas Srikanth"
},
{
"name": "Shahan NedaDahandeh",
"role": "Team Lead"
},
{
"name": "Mark Chiu"
},
{
"name": "Aditya Thakral",
"role": "Advisor"
},
{
"name": "Darren Lo"
"name": "Neil Parikh",
"role": "Advisor"
},
{
"name": "Annie Sun"
"name": "Shahan NedaDahandeh",
"role": "Advisor"
},
{
"name": "Richard Shuai"
},
{
"name": "Ryan Zhu"
"name": "Amy Wang",
"role": "Advisor"
}
]
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
images/team/BryanChen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/team/DanielSu.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

BIN
images/team/LauraNguyen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
images/team/OwenPan.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -15,11 +15,14 @@ import {
getMemberImagePath,
} from "@/lib/team";
import classProfileData from "../../content/team/class-profile-committee.json";
import designData from "../../content/team/design-team.json";
import discordModsData from "../../content/team/discord-mods-team.json";
import discordData from "../../content/team/discord-team.json";
import eventsData from "../../content/team/events-team.json";
import externalData from "../../content/team/external-affairs-team.json";
import marketingData from "../../content/team/marketing-team.json";
import officeStaffData from "../../content/team/office-staff.json";
import photographyData from "../../content/team/photography-team.json";
import repsData from "../../content/team/representatives-team.json";
import systemsData from "../../content/team/systems-committee.json";
@ -159,6 +162,11 @@ export const getStaticProps: GetStaticProps<Props> = async () => {
// Note that rawTeams do not contain image paths of members, even though
// TypeScript thinks that it does. It's just to simplify some code.
const rawTeams = [
{
id: "classProfile",
name: "Class Profile",
members: classProfileData,
},
{
id: "reps",
name: "Community Representatives",
@ -174,11 +182,11 @@ export const getStaticProps: GetStaticProps<Props> = async () => {
name: "Discord Bot (CodeyBot) Developers",
members: discordData,
},
// {
// id: "discord",
// name: "Discord Moderators",
// members: discordModsData,
// },
{
id: "discord",
name: "Discord Moderators",
members: discordModsData,
},
{
id: "events",
name: "Events",
@ -194,6 +202,11 @@ export const getStaticProps: GetStaticProps<Props> = async () => {
name: "Marketing",
members: marketingData,
},
{
id: "officeStaff",
name: "Office Staff",
members: officeStaffData,
},
{
id: "photography",
name: "Photography",

View File

@ -50,6 +50,10 @@
padding-left: 2rem;
}
.content details ul {
padding-left: 2rem;
}
@media only screen and (max-width: calc(768rem / 16)) {
.page {
margin: calc(30rem / 16) 0;

88
scripts/updateTeam.py Normal file
View File

@ -0,0 +1,88 @@
# A script that takes in a CSC Contact Info spreadsheet as a .csv and generates the team pages
import argparse
import csv
import json
parser = argparse.ArgumentParser("updateTeam")
parser.add_argument("teamFile", help="The team file as a .csv")
args = parser.parse_args()
file = args.teamFile
# Relative path of team folder
team_dir = '../content/team'
# Read csv file rows
with open(file) as f:
csv_reader = csv.reader(f)
rows = [[val.strip() for val in row] for row in csv_reader]
header = [val.lower() for val in rows[0]]
body = rows[1:]
# Get column number of name, role, and team
name_index = header.index('name')
role_index = header.index('role')
team_index = header.index('team')
# Standardize the team name for lookup later
def format_team_name(team_name):
return '-'.join(team_name.replace('\n', '').lower().split(' '))
# Map team names to their json file name
def team_name_to_file_name(team_name):
file_name_map = {
'bots': 'discord-team',
'design': 'design-team',
'class-profile': 'class-profile-committee',
'discord-mods' : 'discord-mods-team',
'events' : 'events-team',
'external-affairs': 'external-affairs-team',
'marketing': 'marketing-team',
'photography': 'photography-team',
'reps': 'representatives-team',
'syscom': 'systerms-committee',
'termcom': 'terminal-committee',
'web': 'web-committee',
'office-staff': 'office-staff'
}
return file_name_map[team_name]
# For a list of rows of members, generate a list of each members name and role
def generate_team_data(team_members_entries):
return [
{ 'name': entry[name_index],
**({'role': entry[role_index]} if entry[role_index] else {})
}
for entry in filter(lambda entry: entry[name_index] != '', team_members_entries)
]
# Partition the rows by team
def sort_team_entries(entries):
team_entries = {}
curr_team = None
prev_index = 0
for i, entry in enumerate(entries):
if entry[team_index] != "":
curr_team = format_team_name(entry[team_index])
if i + 1 >= len(entries) or entries[i+1][team_index] != "":
team_entries[curr_team] = entries[prev_index:i+1]
prev_index = i+1
return team_entries
all_team_data = {}
sorted_team_entries = sort_team_entries(body)
for team, team_members_entries in sorted_team_entries.items():
all_team_data[team] = generate_team_data(team_members_entries)
# Dump the member lists into the corresponding files
for team_name, team_data in all_team_data.items():
file_name = team_name_to_file_name(team_name)
print(file_name)
with open(f"{team_dir}/{file_name}.json", 'w') as f:
json.dump(team_data, f, indent=2)
f.write('\n')