Revert "Fix lint"
continuous-integration/drone/push Build is failing Details

This reverts commit 49320a6bab.
This commit is contained in:
dlslo 2024-04-17 23:01:08 -04:00
parent f11132f1ce
commit 5e56b7b050
42 changed files with 1189 additions and 1186 deletions

View File

@ -1,9 +1,9 @@
---
title: Amendments and Procedures
---
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.
---
title: Amendments and Procedures
---
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 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.
---
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

@ -1,9 +1,9 @@
---
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. 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.
---
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. 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,31 +1,31 @@
---
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.
---
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

@ -1,5 +1,5 @@
---
title: Revision
---
The latest revision of the constitution is effective January 11, 2024.
---
title: Revision
---
The latest revision of the constitution is effective January 11, 2024.

View File

@ -1,18 +1,18 @@
---
name: 'Alt-Tab: W18'
short: ' CSC will be hosting our termly Alt-Tab event, the Computer Science version of Short Attention Span Math Seminars (SASMS) hosted by that math club down the hall. It will be a night full of friendly talks. '
startDate: 'March 28 2018 18:00'
online: false
location: 'MC 4020'
---
Our current lineup includes:
- Ifaz Kabir: Efficient Type Inference with Union Find
- Jordan Garside: GraphQL and APIs
- Sean Harrap: Implementing Structs Almost From Scratch
- Ashish Gaurav: Teaching Programs to play Simple Games
- Jennifer Zhou: Garbage Collection Concepts
- Lessons Learned from Cross-Compiling Rust
<!-- -->
---
name: 'Alt-Tab: W18'
short: ' CSC will be hosting our termly Alt-Tab event, the Computer Science version of Short Attention Span Math Seminars (SASMS) hosted by that math club down the hall. It will be a night full of friendly talks. '
startDate: 'March 28 2018 18:00'
online: false
location: 'MC 4020'
---
Our current lineup includes:
- Ifaz Kabir: Efficient Type Inference with Union Find
- Jordan Garside: GraphQL and APIs
- Sean Harrap: Implementing Structs Almost From Scratch
- Ashish Gaurav: Teaching Programs to play Simple Games
- Jennifer Zhou: Garbage Collection Concepts
- Lessons Learned from Cross-Compiling Rust
<!-- -->

View File

@ -1,18 +1,18 @@
---
name: 'Acing the Technical Interview w/ ICPC Coach Christian Lim'
short: 'Gain insight into the tech interview process directly from Christian Lim, a former Google software engineer and current ICPC coach at Columbia University!'
startDate: 'October 04 2023 18:00'
endDate: 'October 04 2023 19:30'
online: true
location: 'Zoom'
poster: 'images/events/2023/fall/1700095053678--Christian-Lim-Talk.png'
---
🚀 Want an inside scoop on how to ace the technical interview? Interested in learning about competitive programming? Then look no further! Join us for a workshop hosted by Christian Lim: former Google software engineer, Two Sigma quant developer, and current ICPC coach at Columbia University.
📢 Sign up via the link in our bio to register for the event and receive your invitation!
📆 When? October 4th, 2023 at 6:00 - 7:30pm EDT
📍 Where? Online via Zoom
---
name: 'Acing the Technical Interview w/ ICPC Coach Christian Lim'
short: 'Gain insight into the tech interview process directly from Christian Lim, a former Google software engineer and current ICPC coach at Columbia University!'
startDate: 'October 04 2023 18:00'
endDate: 'October 04 2023 19:30'
online: true
location: 'Zoom'
poster: 'images/events/2023/fall/1700095053678--Christian-Lim-Talk.png'
---
🚀 Want an inside scoop on how to ace the technical interview? Interested in learning about competitive programming? Then look no further! Join us for a workshop hosted by Christian Lim: former Google software engineer, Two Sigma quant developer, and current ICPC coach at Columbia University.
📢 Sign up via the link in our bio to register for the event and receive your invitation!
📆 When? October 4th, 2023 at 6:00 - 7:30pm EDT
📍 Where? Online via Zoom

View File

@ -1,19 +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.
---
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

@ -1,18 +1,18 @@
---
name: 'CSC Beginning of Term!'
short: 'Kick off the fall term with CSCs BOT event!'
startDate: 'September 19 2023 19:00'
endDate: 'September 19 2023 22:00'
online: false
location: 'STC 0010'
poster: 'images/events/2023/fall/1707083684169--CSC-BOT.jpg'
---
📢 Kick off the fall 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 and fun games including IRL gartic phone, cup stacking, and extreme rock paper scissors!
📆 When? September 19th, 2023 at 7:00 - 10:00pm EST
📍 Where? STC 0010
---
name: 'CSC Beginning of Term!'
short: 'Kick off the fall term with CSCs BOT event!'
startDate: 'September 19 2023 19:00'
endDate: 'September 19 2023 22:00'
online: false
location: 'STC 0010'
poster: 'images/events/2023/fall/1707083684169--CSC-BOT.jpg'
---
📢 Kick off the fall 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 and fun games including IRL gartic phone, cup stacking, and extreme rock paper scissors!
📆 When? September 19th, 2023 at 7:00 - 10:00pm EST
📍 Where? STC 0010

View File

@ -1,20 +1,20 @@
---
name: 'CSC Codey-lympics'
short: 'Join us for a fun night of CS-themed challenges such as Code Your Friends, LeetCode Relay, Tech Skribbl.io, and more!'
startDate: 'October 18 2023 18:00'
endDate: 'October 18 2023 21:00'
online: false
location: 'TBD'
poster: 'images/events/2023/fall/1707695568525--Codeylympics.png'
---
🏃 Join us for a fun night of CS-themed challenges such as Code Your Friends, LeetCode Relay, Tech Skribbl.io, and more! Compete in teams as you complete these challenges to earn points for a chance to win some free CSC merch!
📢 Sign up via the link in our bio to register for the event either individually or with a team of friends! Those who sign up individually will be assigned teams on the day of the event.
📆 When? October 18th, 2023 at 6:00 - 9:00pm EST
📍 Where? Room TBD check the email you used to register, as well as our Discord and Insta story for updates
---
name: 'CSC Codey-lympics'
short: 'Join us for a fun night of CS-themed challenges such as Code Your Friends, LeetCode Relay, Tech Skribbl.io, and more!'
startDate: 'October 18 2023 18:00'
endDate: 'October 18 2023 21:00'
online: false
location: 'TBD'
poster: 'images/events/2023/fall/1707695568525--Codeylympics.png'
---
🏃 Join us for a fun night of CS-themed challenges such as Code Your Friends, LeetCode Relay, Tech Skribbl.io, and more! Compete in teams as you complete these challenges to earn points for a chance to win some free CSC merch!
📢 Sign up via the link in our bio to register for the event either individually or with a team of friends! Those who sign up individually will be assigned teams on the day of the event.
📆 When? October 18th, 2023 at 6:00 - 9:00pm EST
📍 Where? Room TBD check the email you used to register, as well as our Discord and Insta story for updates

View File

@ -1,22 +1,22 @@
---
name: 'CSC End of Term'
short: "Surprise, it's almost end of term! Come join us for a fun night of winter-themed activities with cool people."
startDate: 'December 01 2023 18:00'
endDate: 'December 01 2023 21:00'
online: false
location: 'STC 0010 & STC 0020'
poster: 'images/events/2023/fall/1707694507458--CSC-EOT.png'
---
🎊 Surprise, it's almost end of term!
🎉 Come join us for a fun night of winter-themed activities with cool people.
🔥 We will be painting ornaments, having an official christmas tree decorating ceremony, decorating cookies, playing board games, and singing our hearts out with Christmas (and iconic songs) karaoke.
🥳 If you want to have some fun before exams, make sure to attend!
⭐ P.S There will be free snacks and hot chocolate :D
📆 Event Date: Friday, December 1st, 6-9 PM at STC 0010 and 0020
---
name: 'CSC End of Term'
short: "Surprise, it's almost end of term! Come join us for a fun night of winter-themed activities with cool people."
startDate: 'December 01 2023 18:00'
endDate: 'December 01 2023 21:00'
online: false
location: 'STC 0010 & STC 0020'
poster: 'images/events/2023/fall/1707694507458--CSC-EOT.png'
---
🎊 Surprise, it's almost end of term!
🎉 Come join us for a fun night of winter-themed activities with cool people.
🔥 We will be painting ornaments, having an official christmas tree decorating ceremony, decorating cookies, playing board games, and singing our hearts out with Christmas (and iconic songs) karaoke.
🥳 If you want to have some fun before exams, make sure to attend!
⭐ P.S There will be free snacks and hot chocolate :D
📆 Event Date: Friday, December 1st, 6-9 PM at STC 0010 and 0020

View File

@ -1,17 +1,17 @@
---
name: 'Escape MC Manor!'
short: 'Get into the spooky spirit with our Halloween-themed escape adventure in MC! Teams of four will "trick or "treat" across different challenges! Get ready to solve riddles, code through LeetCode challenges, and race to the ending room for a shot at CSC swag!'
startDate: 'October 31 2023 18:00'
endDate: 'October 31 2023 20:00'
online: false
location: 'MC 4020'
poster: 'images/events/2023/fall/1707443339373--Escape-MC-Manor.png'
---
🎃 Can you escape the MC Manor? Join us for a spooky night of challenges, tricks, and treats! Complete 4 distinct challenges with your friends and escape from MC first to earn some awesome CSC swag!
📢 Sign up via the link in our bio to register for the event either individually or with a team of friends! Those who sign up individually will be assigned teams on the day of the event.
📆 When? October 31th, 2023 at 6:00 - 8:00pm EST
📍 Where? MC 4020
---
name: 'Escape MC Manor!'
short: 'Get into the spooky spirit with our Halloween-themed escape adventure in MC! Teams of four will "trick or "treat" across different challenges! Get ready to solve riddles, code through LeetCode challenges, and race to the ending room for a shot at CSC swag!'
startDate: 'October 31 2023 18:00'
endDate: 'October 31 2023 20:00'
online: false
location: 'MC 4020'
poster: 'images/events/2023/fall/1707443339373--Escape-MC-Manor.png'
---
🎃 Can you escape the MC Manor? Join us for a spooky night of challenges, tricks, and treats! Complete 4 distinct challenges with your friends and escape from MC first to earn some awesome CSC swag!
📢 Sign up via the link in our bio to register for the event either individually or with a team of friends! Those who sign up individually will be assigned teams on the day of the event.
📆 When? October 31th, 2023 at 6:00 - 8:00pm EST
📍 Where? MC 4020

View File

@ -1,20 +1,20 @@
---
name: 'Neetcode Talk'
short: 'Neetcode will be talking about leetcode and coding interviews, as well as his career journey to Google'
startDate: 'October 27 2023 18:00'
endDate: 'October 27 2023 19:30'
online: false
location: 'RCH 301'
poster: 'images/events/2023/fall/1707680876581--neetcode_talk_poster.png'
registerLink: 'https://docs.google.com/forms/d/e/1FAIpQLSdns-sfeo35nweshqUSam25PyBaZNFBQ0Yg9XFwV6rWRB8CCA/viewform?usp=sharing '
---
🚀 Get ready to level up your Leetcode skills! Join our exclusive Q&A session with the founder of NeetCode.io and ex-Amazon, Google software engineer!
👨💻Ask anything about school, life, career, or Leetcode. Food and snacks will be provided to UW CSC and GDSC members only.
📢 Sign up with link in bio!
📆 When? October 27th, 2023 at 6:00 - 7:30pm ET
📍 Where? RCH 301
---
name: 'Neetcode Talk'
short: 'Neetcode will be talking about leetcode and coding interviews, as well as his career journey to Google'
startDate: 'October 27 2023 18:00'
endDate: 'October 27 2023 19:30'
online: false
location: 'RCH 301'
poster: 'images/events/2023/fall/1707680876581--neetcode_talk_poster.png'
registerLink: 'https://docs.google.com/forms/d/e/1FAIpQLSdns-sfeo35nweshqUSam25PyBaZNFBQ0Yg9XFwV6rWRB8CCA/viewform?usp=sharing '
---
🚀 Get ready to level up your Leetcode skills! Join our exclusive Q&A session with the founder of NeetCode.io and ex-Amazon, Google software engineer!
👨💻Ask anything about school, life, career, or Leetcode. Food and snacks will be provided to UW CSC and GDSC members only.
📢 Sign up with link in bio!
📆 When? October 27th, 2023 at 6:00 - 7:30pm ET
📍 Where? RCH 301

View File

@ -1,17 +1,17 @@
---
name: 'November Code Party'
short: 'Midterm destress and come socialize! Free food and drink will be provided.'
startDate: 'November 17 2023 19:00'
endDate: 'November 17 2023 21:00'
online: false
location: 'STC 0040'
poster: 'images/events/2023/fall/1707681572946--november_code_party.png'
---
Attention CSC members!
Code party is back! Come join us and work on assignments or side projects, study, or just hang out with your friends :D 🌭
Were serving free Chung Chun rice dogs for those who come to hang out (first come first serve, must be a CSC member!)
📆 Event Date: Friday November 17, 7-9pm
📌 Location: STC 0040
---
name: 'November Code Party'
short: 'Midterm destress and come socialize! Free food and drink will be provided.'
startDate: 'November 17 2023 19:00'
endDate: 'November 17 2023 21:00'
online: false
location: 'STC 0040'
poster: 'images/events/2023/fall/1707681572946--november_code_party.png'
---
Attention CSC members!
Code party is back! Come join us and work on assignments or side projects, study, or just hang out with your friends :D 🌭
Were serving free Chung Chun rice dogs for those who come to hang out (first come first serve, must be a CSC member!)
📆 Event Date: Friday November 17, 7-9pm
📌 Location: STC 0040

View File

@ -1,17 +1,17 @@
---
name: 'Trivia Night'
short: 'Join us for a trivia single elimination bracket with over 400$ in prizes!'
startDate: 'November 22 2023 18:00'
endDate: 'November 22 2023 20:00'
online: false
location: 'STC 0050'
poster: 'images/events/2023/fall/1707443520699--CSC-Trivia-Night.png'
---
🚀 Calling all tech wizards and code connoisseurs! UWCSC presents an epic Trivia Night, where over $400 in prizes await the cleverest minds! 🤖💻 Join the coding quest, solve mind-bending puzzles, and emerge victorious to claim your tech-tastic rewards. It's not just trivia, it's a byte-sized battle for glory! 🏆✨ Let the games begin! 🌟
👉 Register at the link in our bio. See you there!
📆 Event Date: November 22nd, 6-8PM
📌 Location: STC0050
---
name: 'Trivia Night'
short: 'Join us for a trivia single elimination bracket with over 400$ in prizes!'
startDate: 'November 22 2023 18:00'
endDate: 'November 22 2023 20:00'
online: false
location: 'STC 0050'
poster: 'images/events/2023/fall/1707443520699--CSC-Trivia-Night.png'
---
🚀 Calling all tech wizards and code connoisseurs! UWCSC presents an epic Trivia Night, where over $400 in prizes await the cleverest minds! 🤖💻 Join the coding quest, solve mind-bending puzzles, and emerge victorious to claim your tech-tastic rewards. It's not just trivia, it's a byte-sized battle for glory! 🏆✨ Let the games begin! 🌟
👉 Register at the link in our bio. See you there!
📆 Event Date: November 22nd, 6-8PM
📌 Location: STC0050

View File

@ -1,18 +1,18 @@
---
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
---
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,11 +1,11 @@
---
name: 'David Wolever PostgreSQL Talk'
short: 'Come out for a deep dive into PostgreSQL with David Wolever.'
startDate: 'January 25 2024 19:00'
endDate: 'January 25 2024 20:00'
online: false
location: 'RCH 307'
poster: 'images/events/2024/winter/1707084310348--PostgreSQL-Talk.jpg'
---
Dive into the depths of PostgreSQL with David Wolever as he unravels the intricate web of transaction implementation in this enlightening talk. Please join us on Jan 25th, 7pm - 8pm in RCH 307 ✨ 💻
---
name: 'David Wolever PostgreSQL Talk'
short: 'Come out for a deep dive into PostgreSQL with David Wolever.'
startDate: 'January 25 2024 19:00'
endDate: 'January 25 2024 20:00'
online: false
location: 'RCH 307'
poster: 'images/events/2024/winter/1707084310348--PostgreSQL-Talk.jpg'
---
Dive into the depths of PostgreSQL with David Wolever as he unravels the intricate web of transaction implementation in this enlightening talk. Please join us on Jan 25th, 7pm - 8pm in RCH 307 ✨ 💻

View File

@ -1,21 +1,21 @@
---
name: 'Rust Workshop with Patrik Buhring'
short: "Come join us for a series of workshops following the 'Google Comprehensive Rust' course aimed to get you fully productive in Rust."
startDate: 'February 03 2024 14:00'
endDate: 'March 10 2024 17:00'
online: false
location: 'MC 1065'
poster: 'images/events/2024/winter/1707085016729--Rust-Workshop.jpg'
---
🚀 This workshop should get you up and running in Rust from completely productive. We'll be covering all the main features of the language, going from 'Hello, World' to poking around in unsafe Rust.
🦀 The workshop will be run by a 6-years-practicing Rustacean, so no questions are off the table!
📍 Location: MC 1065
📅 Workshop Days: Saturdays and Sundays February 3rd & 4th, 10th & 11th, March 2nd & 3rd, 9th & 10th
⏰ Time: 2 - 5 PM
🎥 Please join the Discord server: https://discord.gg/q3pdTg46xN for further communication. It'll be streamed online too if you can't make it in person!
---
name: 'Rust Workshop with Patrik Buhring'
short: "Come join us for a series of workshops following the 'Google Comprehensive Rust' course aimed to get you fully productive in Rust."
startDate: 'February 03 2024 14:00'
endDate: 'March 10 2024 17:00'
online: false
location: 'MC 1065'
poster: 'images/events/2024/winter/1707085016729--Rust-Workshop.jpg'
---
🚀 This workshop should get you up and running in Rust from completely productive. We'll be covering all the main features of the language, going from 'Hello, World' to poking around in unsafe Rust.
🦀 The workshop will be run by a 6-years-practicing Rustacean, so no questions are off the table!
📍 Location: MC 1065
📅 Workshop Days: Saturdays and Sundays February 3rd & 4th, 10th & 11th, March 2nd & 3rd, 9th & 10th
⏰ Time: 2 - 5 PM
🎥 Please join the Discord server: https://discord.gg/q3pdTg46xN for further communication. It'll be streamed online too if you can't make it in person!

View File

@ -1,18 +1,18 @@
---
name: 'Valentines Code Party'
short: 'Join us for the first code party of the term!'
startDate: 'February 14 2024 19:00'
endDate: 'February 14 2024 21:00'
online: false
location: 'EIT 1015'
poster: 'images/events/2024/winter/1707695673788--Valentines-Code-Party.png'
---
💕 Dont spend your Valentines Day alone!
Join us for the first code party of the term! Work on assignments, side projects, and midterm preparation together, or socialize over board games and free food for CSC members.
⏰ Time: February 14th, 7-9pm ET
📍 Location: EIT 1015
Feel free to bring your Aphrodite match 😉
---
name: 'Valentines Code Party'
short: 'Join us for the first code party of the term!'
startDate: 'February 14 2024 19:00'
endDate: 'February 14 2024 21:00'
online: false
location: 'EIT 1015'
poster: 'images/events/2024/winter/1707695673788--Valentines-Code-Party.png'
---
💕 Dont spend your Valentines Day alone!
Join us for the first code party of the term! Work on assignments, side projects, and midterm preparation together, or socialize over board games and free food for CSC members.
⏰ Time: February 14th, 7-9pm ET
📍 Location: EIT 1015
Feel free to bring your Aphrodite match 😉

View File

@ -1,135 +1,135 @@
**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.
General membership is open to all members of the University of Waterloo community, including alumni.
## 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>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 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).
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.
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>Details</summary>
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).
**Note:** You will not be signed up as a CSC member until after you have emailed us, even if you have already paid!
</details>
## 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 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!
\*Some teams undergo a different hiring process, such as syscom, which recruits year-round.
### Programme Committee
- In charge of planning, advertising, and running all events hosted by CSC.
- Voices concerns/ideas on behalf of the CS community.
### 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
- Maintaining all services that CSC provides which includes file share, DNS,
mail, configuration for IRC, Mattermost, Git hosting.
- Managing mirrors used by large public organizations and thousands of people
internationally.
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
Each term, the CSC holds elections to determine the executive council:
- President
- Vice-President
- Assistant Vice-President
- Treasurer
To find out when and where the next elections will be held, keep an eye on on the [News](/#news).
For details on the elections, see the [Constitution](/about/constitution).
**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.
General membership is open to all members of the University of Waterloo community, including alumni.
## 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>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 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).
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.
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>Details</summary>
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).
**Note:** You will not be signed up as a CSC member until after you have emailed us, even if you have already paid!
</details>
## 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 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!
\*Some teams undergo a different hiring process, such as syscom, which recruits year-round.
### Programme Committee
- In charge of planning, advertising, and running all events hosted by CSC.
- Voices concerns/ideas on behalf of the CS community.
### 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
- Maintaining all services that CSC provides which includes file share, DNS,
mail, configuration for IRC, Mattermost, Git hosting.
- Managing mirrors used by large public organizations and thousands of people
internationally.
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
Each term, the CSC holds elections to determine the executive council:
- President
- Vice-President
- Assistant Vice-President
- Treasurer
To find out when and where the next elections will be held, keep an eye on on the [News](/#news).
For details on the elections, see the [Constitution](/about/constitution).

View File

@ -1,12 +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)
---
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

@ -1,18 +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)
---
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

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

View File

@ -1,40 +1,40 @@
[
{
"name": "Anny Wei",
"role": "Team Lead"
},
{
"name": "Jia Huang"
},
{
"name": "Kim Guo"
},
{
"name": "Prabhsharan Singh Sethi"
},
{
"name": "Hailey Chan"
},
{
"name": "Sayma Khan"
},
{
"name": "Jessica Chan"
},
{
"name": "Linda Wang"
},
{
"name": "Kelly Qu"
},
{
"name": "Lila Hoang"
},
{
"name": "Lucy Qi"
},
{
"name": "Cadey Chen",
"role": "Advisor"
}
]
[
{
"name": "Anny Wei",
"role": "Team Lead"
},
{
"name": "Jia Huang"
},
{
"name": "Kim Guo"
},
{
"name": "Prabhsharan Singh Sethi"
},
{
"name": "Hailey Chan"
},
{
"name": "Sayma Khan"
},
{
"name": "Jessica Chan"
},
{
"name": "Linda Wang"
},
{
"name": "Kelly Qu"
},
{
"name": "Lila Hoang"
},
{
"name": "Lucy Qi"
},
{
"name": "Cadey Chen",
"role": "Advisor"
}
]

View File

@ -1,31 +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"
}
]
[
{
"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,34 +1,34 @@
[
{
"name": "Prabhav Khera",
"role": "Team Lead"
},
{
"name": "Fan Yang",
"role": "Team Lead"
},
{
"name": "Patrick Huynh"
},
{
"name": "Rosanne Zhu"
},
{
"name": "Andy Si"
},
{
"name": "David Gan"
},
{
"name": "Edmond Li"
},
{
"name": "Di Nguyen"
},
{
"name": "Priyanshu Sharma"
},
{
"name": "Marcus Chan"
}
]
[
{
"name": "Prabhav Khera",
"role": "Team Lead"
},
{
"name": "Fan Yang",
"role": "Team Lead"
},
{
"name": "Patrick Huynh"
},
{
"name": "Rosanne Zhu"
},
{
"name": "Andy Si"
},
{
"name": "David Gan"
},
{
"name": "Edmond Li"
},
{
"name": "Di Nguyen"
},
{
"name": "Priyanshu Sharma"
},
{
"name": "Marcus Chan"
}
]

View File

@ -1,66 +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": "Advisor"
},
{
"name": "Anthony Wang",
"role": "Advisor"
},
{
"name": "Aditya Bang"
},
{
"name": "Vaaranan Yogalingam"
},
{
"name": "Jason D'Souza"
},
{
"name": "Joseph Perez"
},
{
"name": "Oliver Mao"
},
{
"name": "Molly Wu"
}
]
[
{
"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": "Advisor"
},
{
"name": "Anthony Wang",
"role": "Advisor"
},
{
"name": "Aditya Bang"
},
{
"name": "Vaaranan Yogalingam"
},
{
"name": "Jason D'Souza"
},
{
"name": "Joseph Perez"
},
{
"name": "Oliver Mao"
},
{
"name": "Molly Wu"
}
]

View File

@ -1,6 +1,6 @@
---
name: Gordon Lin
role: Vice-President
---
Hello, I'm Gordon (he/him/his)! I'm the vice-president, which means I'll be helping out Ivy (the president) out on many administrative tasks and making sure things are great for the CSC team and the community! Beyond CSC, I'm in my 2B term of CS (Bioinformatics specialization) with an interest in both computer science and biology! Outside of school, I love photography, board games, crochet, and socializing!
---
name: Gordon Lin
role: Vice-President
---
Hello, I'm Gordon (he/him/his)! I'm the vice-president, which means I'll be helping out Ivy (the president) out on many administrative tasks and making sure things are great for the CSC team and the community! Beyond CSC, I'm in my 2B term of CS (Bioinformatics specialization) with an interest in both computer science and biology! Outside of school, I love photography, board games, crochet, and socializing!

View File

@ -1,6 +1,6 @@
---
name: Ivy Lei
role: President
---
Hi there! I'm Ivy (she/her) and I'm currently in 3B CS. CSC has meant a lot to me in terms of providing a welcoming and supportive community, as well as making computer science a less scary subject to get started with. As this term's president, I'm hoping to bring you not only initiatives about various tech topics, but also lasting memories from our fantastic events. While I'm not coordinating the organizing committee, I enjoy singing, learning choreography + dancing, and learning about biology, as I'm pursuing a medical physiology minor :)
---
name: Ivy Lei
role: President
---
Hi there! I'm Ivy (she/her) and I'm currently in 3B CS. CSC has meant a lot to me in terms of providing a welcoming and supportive community, as well as making computer science a less scary subject to get started with. As this term's president, I'm hoping to bring you not only initiatives about various tech topics, but also lasting memories from our fantastic events. While I'm not coordinating the organizing committee, I enjoy singing, learning choreography + dancing, and learning about biology, as I'm pursuing a medical physiology minor :)

View File

@ -1,6 +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 🥹)
---
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 +1,6 @@
---
name: Saurin Patel
role: Assistant Vice-President
---
Hey! My name's Saurin (He/Him/His)!!! I'm the Assistant Vice President so I will work more behind the scenes to help support the other elected CSC Executives this term. In terms of personal interests, I'm a music enthusiast always jamming to tunes, a bubble tea enjoyer, and an animal admirer, especially of cats and dogs. Additionally, I'm currently pursuing a BCS with an AI specialization in my 3A term!!
---
name: Saurin Patel
role: Assistant Vice-President
---
Hey! My name's Saurin (He/Him/His)!!! I'm the Assistant Vice President so I will work more behind the scenes to help support the other elected CSC Executives this term. In terms of personal interests, I'm a music enthusiast always jamming to tunes, a bubble tea enjoyer, and an animal admirer, especially of cats and dogs. Additionally, I'm currently pursuing a BCS with an AI specialization in my 3A term!!

View File

@ -1,18 +1,18 @@
[
{
"name": "Devin Yanche Li",
"role": "Team Lead"
},
{
"name": "Julien Liang"
},
{
"name": "David Kofman"
},
{
"name": "Josephina Kim"
},
{
"name": "Grace Yin"
}
]
[
{
"name": "Devin Yanche Li",
"role": "Team Lead"
},
{
"name": "Julien Liang"
},
{
"name": "David Kofman"
},
{
"name": "Josephina Kim"
},
{
"name": "Grace Yin"
}
]

View File

@ -1,22 +1,22 @@
[
{
"name": "Arijit Chowdhury",
"role": "Team Lead"
},
{
"name": "Lila Hoang",
"role": "Team Lead"
},
{
"name": "Sophia Ho"
},
{
"name": "Siimar Leen Kaur"
},
{
"name": "Martha Mengesha"
},
{
"name": "Krish Arora"
}
]
[
{
"name": "Arijit Chowdhury",
"role": "Team Lead"
},
{
"name": "Lila Hoang",
"role": "Team Lead"
},
{
"name": "Sophia Ho"
},
{
"name": "Siimar Leen Kaur"
},
{
"name": "Martha Mengesha"
},
{
"name": "Krish Arora"
}
]

View File

@ -1,77 +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"
}
]
[
{
"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,25 +1,25 @@
[
{
"name": "Varuni Gupta",
"role": "Team Lead"
},
{
"name": "Siyuan Zhao"
},
{
"name": "Evelina Zheng"
},
{
"name": "Enming Yang"
},
{
"name": "Helen Xia"
},
{
"name": "Gordon Lin"
},
{
"name": "Daniel Su",
"role": "Advisor"
}
]
[
{
"name": "Varuni Gupta",
"role": "Team Lead"
},
{
"name": "Siyuan Zhao"
},
{
"name": "Evelina Zheng"
},
{
"name": "Enming Yang"
},
{
"name": "Helen Xia"
},
{
"name": "Gordon Lin"
},
{
"name": "Daniel Su",
"role": "Advisor"
}
]

View File

@ -1,29 +1,29 @@
[
{
"name": "Kim Guo",
"role": "Team Lead"
},
{
"name": "Tiger Ding"
},
{
"name": "Katherine Liu"
},
{
"name": "Ethan Kwon"
},
{
"name": "Franklin Ramirez"
},
{
"name": "Varuni Gupta"
},
{
"name": "Imane Yacoubi",
"role": "Advisor"
},
{
"name": "Gordon Lin",
"role": "Advisor"
}
]
[
{
"name": "Kim Guo",
"role": "Team Lead"
},
{
"name": "Tiger Ding"
},
{
"name": "Katherine Liu"
},
{
"name": "Ethan Kwon"
},
{
"name": "Franklin Ramirez"
},
{
"name": "Varuni Gupta"
},
{
"name": "Imane Yacoubi",
"role": "Advisor"
},
{
"name": "Gordon Lin",
"role": "Advisor"
}
]

View File

@ -1,21 +1,21 @@
[
{
"name": "Nathan Chung",
"role": "Team Lead"
},
{
"name": "Raymond Li"
},
{
"name": "Max Erenberg"
},
{
"name": "Yiao Shen"
},
{
"name": "Rio Liu"
},
{
"name": "Edwin Zhang"
}
]
[
{
"name": "Nathan Chung",
"role": "Team Lead"
},
{
"name": "Raymond Li"
},
{
"name": "Max Erenberg"
},
{
"name": "Yiao Shen"
},
{
"name": "Rio Liu"
},
{
"name": "Edwin Zhang"
}
]

View File

@ -1,60 +1,60 @@
[
{
"name": "Nathan Chung",
"role": "Team Lead"
},
{
"name": "Raymond Li",
"role": "Advisor"
},
{
"name": "Max Erenberg",
"role": "Advisor"
},
{
"name": "Yiao Shen",
"role": "Advisor"
},
{
"name": "Rio Liu"
},
{
"name": "Edwin Zhang"
},
{
"name": "Justin Chung"
},
{
"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": "Frank Tao"
}
]
[
{
"name": "Nathan Chung",
"role": "Team Lead"
},
{
"name": "Raymond Li",
"role": "Advisor"
},
{
"name": "Max Erenberg",
"role": "Advisor"
},
{
"name": "Yiao Shen",
"role": "Advisor"
},
{
"name": "Rio Liu"
},
{
"name": "Edwin Zhang"
},
{
"name": "Justin Chung"
},
{
"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": "Frank Tao"
}
]

View File

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

View File

@ -1,92 +1,92 @@
.page {
margin: calc(60rem / 16) 0;
}
.page > header {
display: flex;
flex-direction: row;
border-bottom: calc(1rem / 16) solid var(--border);
}
.headerText > h1 {
color: var(--primary-title);
margin: 0 0 calc(8rem / 16) 0;
}
.headerText > p {
color: var(--text);
margin: 0 0 calc(22rem / 16) 0;
}
.codey {
align-self: flex-end;
}
.content {
margin-top: calc(32rem / 16);
}
.content h2 {
color: var(--primary-accent);
}
.content strong {
font-weight: 600;
}
.content summary {
cursor: pointer;
}
.content details > * {
padding-left: 1rem;
}
.content details > summary {
padding-left: 0;
}
.content details ol {
padding-left: 2rem;
}
.content details ul {
padding-left: 2rem;
}
@media only screen and (max-width: calc(768rem / 16)) {
.page {
margin: calc(30rem / 16) 0;
}
.page > header {
display: flex;
flex-direction: column-reverse;
align-content: center;
border-bottom: none;
}
.headerText {
margin-top: calc(6rem / 16);
text-align: center;
}
.headerText > h1 {
color: var(--primary-heading);
font-size: calc(24rem / 16);
margin-bottom: (12rem / 16);
}
.headerText > p {
margin: 0;
}
.codey {
align-self: center;
height: calc(62rem / 16);
}
.content h2 {
font-size: calc(24rem / 16);
}
}
.page {
margin: calc(60rem / 16) 0;
}
.page > header {
display: flex;
flex-direction: row;
border-bottom: calc(1rem / 16) solid var(--border);
}
.headerText > h1 {
color: var(--primary-title);
margin: 0 0 calc(8rem / 16) 0;
}
.headerText > p {
color: var(--text);
margin: 0 0 calc(22rem / 16) 0;
}
.codey {
align-self: flex-end;
}
.content {
margin-top: calc(32rem / 16);
}
.content h2 {
color: var(--primary-accent);
}
.content strong {
font-weight: 600;
}
.content summary {
cursor: pointer;
}
.content details > * {
padding-left: 1rem;
}
.content details > summary {
padding-left: 0;
}
.content details ol {
padding-left: 2rem;
}
.content details ul {
padding-left: 2rem;
}
@media only screen and (max-width: calc(768rem / 16)) {
.page {
margin: calc(30rem / 16) 0;
}
.page > header {
display: flex;
flex-direction: column-reverse;
align-content: center;
border-bottom: none;
}
.headerText {
margin-top: calc(6rem / 16);
text-align: center;
}
.headerText > h1 {
color: var(--primary-heading);
font-size: calc(24rem / 16);
margin-bottom: (12rem / 16);
}
.headerText > p {
margin: 0;
}
.codey {
align-self: center;
height: calc(62rem / 16);
}
.content h2 {
font-size: calc(24rem / 16);
}
}

View File

@ -4,7 +4,10 @@ import React from "react";
export default function AdviceRedirect() {
return (
<Head>
<meta httpEquiv="refresh" content="0;url=/resources/advice/co-op" />
<meta
httpEquiv="refresh"
content="0;url=/resources/advice/co-op"
/>
</Head>
);
}

View File

@ -1,88 +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)
# 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')