Reviewed-on: #706
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Yi Wang <yw2wang@csclub.uwaterloo.ca>
Co-committed-by: Yi Wang <yw2wang@csclub.uwaterloo.ca>
Reviewed-on: #705
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Gordon Lin <contact@gordonlin.ca>
Co-committed-by: Gordon Lin <contact@gordonlin.ca>
continuous-integration/drone/push Build is passingDetails
Updates sean's about markdown file
Reviewed-on: #701
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Sean Zhang <q434zhan@csclub.uwaterloo.ca>
Co-committed-by: Sean Zhang <q434zhan@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Taxes-101-March-27-2024-1711581616630
Reviewed-on: #682
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Valentines-Code-Party-February-11-2024-1707695692668
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #666
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Csc-Codeylympics-February-11-2024-1707695587472
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #665
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Csc-End-Of-Term-February-11-2024-1707694525395
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #662
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-November-Code-Party-February-11-2024-1707681589953
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #660
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Trivia-Night-February-08-2024-1707443541421
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #658
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Escape-Mc-Manor-February-08-2024-1707443356540
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #657
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-W24-Bootcamp-February-04-2024-1707084574336
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #655
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Co-authored-by: Owen P <surfo8970bb@gmail.com>
Reviewed-on: #646
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: Owen Pan <ozpan@csclub.uwaterloo.ca>
Co-committed-by: Owen Pan <ozpan@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
- Publicize nominations
- Modify constitutional amendment procedure into informal discussion period and grace period
- Make Assistant Vice-President precede Treasurer
- Keep information up-to-date
- Some rewording
Reviewed-on: #643
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Laura Nguyen <l69nguye@csclub.uwaterloo.ca>
Co-committed-by: Laura Nguyen <l69nguye@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Co-authored-by: Laura Nguyen <l69nguye@csclub.uwaterloo.ca>
Reviewed-on: #645
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR has been autogenerated by Eventr. Please take a look at the details to see if its correct, and merge if it looks good.
https://csclub.uwaterloo.ca/~a3thakra/csc/Ev-New-Event-Build-Networks-In-Tech-November-15-2023-1700094289813
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #638
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: webcom <webcom@csclub.uwaterloo.ca>
Co-committed-by: webcom <webcom@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Co-authored-by: Owen P <surfo8970bb@gmail.com>
Reviewed-on: #634
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Owen Pan <ozpan@csclub.uwaterloo.ca>
Co-committed-by: Owen Pan <ozpan@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
updated the teams, changed my pic
Co-authored-by: daniel-su1 <107098486+daniel-su1@users.noreply.github.com>
Reviewed-on: #633
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Co-authored-by: Tejas Srikanth <tcsrikan@high-fructose-corn-syrup.csclub.uwaterloo.ca>
Reviewed-on: #618
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
First ticket
Reviewed-on: #617
Reviewed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-authored-by: Ryan Zhu <rz.ryanzhu@gmail.com>
Co-committed-by: Ryan Zhu <rz.ryanzhu@gmail.com>
continuous-integration/drone/push Build was killedDetails
Co-authored-by: darren-lo30 <darrenlsnlo@gmail.com>
Reviewed-on: #610
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-committed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
- add afterhours, bootcamp, eot, rico talk, trivia night
- remove s23 from names of bot and july code party
Co-authored-by: evelina <91142355+135ze@users.noreply.github.com>
Reviewed-on: #607
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Adding past S23 events (CSC Olympics, Prof Talk with Gavin Duggan) for archival purposes
Co-authored-by: Joshua Kim <j649kim@high-fructose-corn-syrup.csclub.uwaterloo.ca>
Reviewed-on: #605
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Joshua Kim <j649kim@csclub.uwaterloo.ca>
Co-committed-by: Joshua Kim <j649kim@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Remove caffeine from Our Supporters page, as requested by S23 sysadmin.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #604
Reviewed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-authored-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Just for archiving
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #595
Reviewed-by: Amy Wang <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-committed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
**SUMMARY OF AMENDMENTS:**
- Added more information pertaining to the Systems Committee.
- Increased some quorum numbers.
- Changed some details pertaining to special meetings.
- Changed some capitalization/punctuation/grammar to be more consistent, and changed some phrasing to be more clear.
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Co-authored-by: Laura Nguyen <l69nguye@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <hi@raymond.li>
Reviewed-on: #534
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Co-authored-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-committed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is failingDetails
Our ZNC instance was sunset last year, so we shouldn't be advertising it on our website anymore.
Reviewed-on: #565
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Added news for Alt tab event, and two class profile related news.
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Co-authored-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Reviewed-on: #563
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Closes#527
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #562
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-committed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is failingDetails
Also hide the discord mods team at their request
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Co-authored-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Reviewed-on: #558
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is failingDetails
- with two bad jokes now
Co-authored-by: Leo Shen <i@szclsya.me>
Reviewed-on: #552
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Yiao Shen <y266shen@csclub.uwaterloo.ca>
Co-committed-by: Yiao Shen <y266shen@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Closes#540.
Co-authored-by: dlslo <dlslo@uwaterloo.ca>
Reviewed-on: #547
Reviewed-by: Mark Chiu <e26chiu@csclub.uwaterloo.ca>
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
Co-committed-by: Darren Lo <dlslo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This change ensures that the temporary directory created by `mkdir --directory` is always removed when `deploy.sh` exits, whether or not the script succeeded.
It also modifies the `git clone` command to use the `file://` protocol instead of HTTPS, to speed up the download.
Reviewed-on: #530
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Someone was making fun of me for not having an image on our website, so here we go.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #501
Reviewed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Reviewed-on: #499
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Also added a short bio for myself. :3
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #497
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
- Fixed edge case with fetching execs
- Added Bootcamp mentor application news, and CSC x Google event
**Problem:** When building the Meet the Team page using LDAP (in CI), we were only checking CSC members for the "current" term (Fall 2022) to see if any of them were execs. Since our actual current execs (the Spring 2022 execs, since Fall 2022 elections have not occurred yet) have not renewed their memberships for Fall 2022, the script was unable to find individuals for the Prez/VP/AVP/Trez positions, which caused an error.
**Solution:**
1. Gracefully handle the edge case where an exec position might be intentionally unfilled, by simply omitting it from the Meet the Team page.
2. Search through CSC members for both the current term and the previous term, when checking for execs. Note that this might make the build time slightly slower, since the script now needs to loop through two terms of members in order to pick out the execs, however the difference should be insignificant.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #491
Reviewed-by: j285he <j285he@localhost>
continuous-integration/drone/push Build is passingDetails
I don't think we should keep a long message in the file, since all the warnings are loaded on every page load, so it might have a negative effect on performance over a long period if we keep all warnings.
Feel free to merge on green.
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: #487
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Co-committed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
The "Community Coordinators", formerly the "Class Representatives", have requested to change their team name on the website to "Community Representatives".
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #478
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
The CSC's Executive updated the Machine Usage Agreement on 10 July 2022.
The updates are as follows:
- A note was added that CSC Cloud resources fall under the same policies as the rest of CSC's machines and network.
- A note was added that the Systems Committee may delete CSC Cloud resources when their CSC account expires.
- A directive was added that all club reps read the Wiki page on Club Hosting when they become a club rep and then at least once a term for notices on that page.
- MFCF was replaced with CSCF (when the previous 2007 version was published, CSC had relations with MFCF instead of CSCF, which may not even have existed at the time. CSC now has relations with CSCF more than MFCF.)
- Various grammatical errors were corrected.
Note: Please do not merge this PR until 18 July 2022, to allow members time to receive the new version.
---
Update (@a3thakra) Adding the WIP label till to indicate that this shouldn't be merged. Feel free to remove it when you're ready.
Co-authored-by: Raymond Li <hi@raymond.li>
Reviewed-on: #473
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Reviewed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Update the room number and graphic
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #476
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
We have an Andrew Wang on the Discord team, and a different Andrew Wang on Syscom. Previously, the Syscom Andrew Wang's photo was being used for both Andrews on the Meet the Team page. This PR fixes things to use the correct image for each Andrew.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #471
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
We have been having issues with the image optimization script consuming egregious amounts of memory and failing CI as a result.
This PR changes the script so that we use a new `ImagePool` to process each batch of images.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #470
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
@merenber recently merged this #462
It is a little annoying that we have to manually change the index in literally all the other unrelated files.
This PR introduces an ORDER.json file that orders the sections as an array.
Reviewed-on: #468
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
I asked Eden to write a blurb... he got this far.
Since this is still an improvement over "Coming Soon!", let's just update the site with this short blurb for now, and we can change it later.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #467
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Reviewed-by: j285he <j285he@localhost>
continuous-integration/drone/push Build is passingDetails
* The website will have a dark theme or a light theme depending on your OS preferences. You can still customize in the `themer` page to override some properties.
* A toggle button in the footer to toggle between light mode and dark mode.
* Added a "Reset to dark mode" button in the `themer` page.
Staging link: https://csclub.uwaterloo.ca/~a3thakra/csc/dark-theme/
Co-authored-by: Miniapple8888 <miniapple8888@gmail.com>
Reviewed-on: #407
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR aims to resolve the issues surrounding the optimize-images script, at least in the short term, in order to unblock other work.
**Problems:** Our optimize-images script was taking a very long time to run (~7 minutes in CI, when successful). This led to two problems:
1. It was near impossible to run the script locally.
2. CI jobs would often get killed on the optimize-images step.
**Solutions:**
1. Resize the images in `images/events` prior to optimizing them, similar to what is done for the images in `images/team`. This solution on its own reduced the run-time of the script to ~30 seconds locally on Amy's laptop, which is comparable to the run-time of the script back when it was originally written.
2. EDIT: Copy/resize/optimize the images in batches of 32 at a time. The reason why the CI job was being killed is because the script would run out of memory, however this change should resolve that while also keeping build times reasonable (~30 sec locally/when deploying on caffeine, ~3 min in CI). ~~As a temporary fix, this PR also replaces the images in `images/events` with their resized + optimized versions. (For some unknown reason, Solution 1 is not sufficient to solve Problem 2.)~~
This PR also adds some logging to the script so we can get a (slightly) better sense of where the script is getting stuck.
Related issue: #456
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #457
Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Removed old exec blurbs so Eden's role would be displayed correctly. Also updated Codey's blurb slightly, and fixed a bug where exec images would be squished instead of cropped.
Staging: https://csclub.uwaterloo.ca/~a3thakra/csc/amy-s22-delete-old-blurbs
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #435
Reviewed-by: Shahan Nedadahandeh <snedadah@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
I also added an announcement about the release of CSC cloud, and moved the Spring 2022 Bootcamp mentor application news to the appropriate folder.
Staging: https://csclub.uwaterloo.ca/~a3thakra/csc/amy-news-2022-05-02/
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #432
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Previously, the instructions for "Online Term" on the Get Involved page would be open by default. This PR changes the instructions for "In Person" to be open by default.
There are also some other small wording changes on the Get Involved page.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #429
Reviewed-by: b38peng <b38peng@uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Please confirm the time -- should it be 2-3pm EST or EDT?
Co-authored-by: Jared He <66887902+jaredjhe@users.noreply.github.com>
Reviewed-on: #416
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build was killedDetails
#128
CI doesn't need to run/pass for this to be merged. No code changes.
Reviewed-on: #391
Reviewed-by: a258wang <a258wang@csclub.uwaterloo.ca>
Reviewed-by: j285he <j285he@localhost>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Updated the website with some past and upcoming events.
All three Tesla coffee chat events are currently using the Autopilot Coffee Chat graphic, since different graphics do not exist for the Vehicle Software Systems and Vehicle Software Development coffee chats yet.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #408
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
* 3 News items are displayed on the homepage (`MiniNewsCard` component)
* Single News item path: `/news/20xx/term/20xx-xx-xx` (`NewsCard` component)
* Purple header for the date
* News items of the same date are displayed on the same page
Co-authored-by: Miniapple8888 <miniapple8888@gmail.com>
Reviewed-on: #390
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Update:
In order to solve the issues discussed below, we decided to put the warnings in a json file, since they can be easily imported into a javascript file and webpack automatically bundles them with the client side app, so no static props is needed.
__________
To get the warning data, since it is something that needs to be on all pages, it makes sense for the component to go in the app.js file (similar to the nav bar). However, next.js has a cumbersome issue that it does not support getStaticProps in the app.ts file (and getStaticProps only works in page files), thus we have no way of requesting the warning data easily in the \<WarningHeader\> Component. (https://github.com/vercel/next.js/discussions/10949)
Here is my solution:
- Request the warning data on the client side through the use of an api.
- I made a warning api (/api/currentWarning) which sends a json of the current warning
- Advantage: warnings will always be up to date since it is recalculated on every request
- Advantage: It can potentially incorporate with other CSC services who might need to know about the warning (eg linktree?)
- Disadvantage: can get expensive if we have a lot of warnings, to fix this I can cache the current warning and only re-read the files every 24h if this is a problem, but if we don’t have that many warnings I think it should be fine
- Disadvantage: listed below:
The current problem with what I implemented is that it doesn’t build in the production environment:
- The way we build the website, when we call “next export” that disables any api endpoints.
- According to this https://github.com/vercel/vercel/discussions/6551, if we want to allow api endpoints, we have to just do “next build”. This has implications that the site won’t be completely static anymore, but the other solutions also have similar problems ( though the GitHub post says that next will still optimize for static with only next build).
Another advantage of allowing api’s is that maybe in the future we will implement other features where an api might be useful.
If you want to try it out, my branch works fine locally (when just running npm run dev or npm run build”)
Other possible solutions:
- Use getInitialProps inside _app.js, but this has the downside that it will “disable Automatic Static Optimization in pages without Static Generation.” (https://nextjs.org/docs/advanced-features/custom-app), which I believe will slow the whole site down, but, we will be able to still use the old build command I think, I am not sure of the full effect of this.
- However, implementing this would also be relatively simple.
- Add the warning request to the getStaticProps of every single page, possibly through some wrapper component around every single page, this has the disadvantage that we need to do a lot of refactoring of all the pages of the site and cant use the intended “_app.ts” wrapper.
- Add warning header only to the homepage (or maybe one or two other important pages).
Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: #394
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Reviewed-on: #399
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
If Head of Discord, Heads of Design, Head of Reps are to be included, just notify me ~ 😃
Co-authored-by: Rebecca-Chou <beihaozhou@gmail.com>
Reviewed-on: #383
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Reviewed-by: j285he <j285he@localhost>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Beihao Zhou <b72zhou@csclub.uwaterloo.ca>
Co-committed-by: Beihao Zhou <b72zhou@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Reviewed-on: #395
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Andy (Head of Discord) asked that we change the label for the Discord team members on the Meet the Team page from "Discord Mod" to either "Codey Coder" or "Discord". I have opted to change it to simply "Discord" for clarity.
When we separate the teams on the Meet the Team page (#364), please change "Discord" to "Developer" (similar to what we have for the Web Committee).
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #393
Reviewed-by: Emily Chiu <e26chiu@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Added the upcoming Afterhours: Diversity in Tech event, as well as the Beginning of Term event that happened last week.
Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #389
Reviewed-by: Emily Chiu <e26chiu@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@next/mdx](https://github.com/vercel/next.js) | dependencies | minor | [`11.0.1` -> `11.1.3`](https://renovatebot.com/diffs/npm/@next%2fmdx/11.0.1/11.1.3) |
⚠️ Release Notes retrieval for this PR were skipped because no github.com credentials were available.
If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Co-authored-by: Aditya Thakral <github@9at8.dev>
Reviewed-on: #143
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-authored-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
Co-committed-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [npm](https://docs.npmjs.com/) ([source](https://github.com/npm/cli)) | engines | major | [`^7` -> `^8.0.0`](https://renovatebot.com/diffs/npm/npm/7.24.2/8.3.1) |
⚠️ Release Notes retrieval for this PR were skipped because no github.com credentials were available.
If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Co-authored-by: Aditya Thakral <github@9at8.dev>
Reviewed-on: #340
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-authored-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
Co-committed-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [postcss-preset-env](https://github.com/csstools/postcss-plugins) | devDependencies | major | [`^6.7.0` -> `^7.0.0`](https://renovatebot.com/diffs/npm/postcss-preset-env/6.7.0/7.2.3) |
⚠️ Release Notes retrieval for this PR were skipped because no github.com credentials were available.
If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
Co-authored-by: Aditya Thakral <github@9at8.dev>
Reviewed-on: #360
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-authored-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
Co-committed-by: Renovate Bot <no-reply@csclub.uwaterloo.ca>
- [Architecture and Folder Structure](docs/architecture.md)
- [Everything about pages](docs/pages.md)
## Development
### Dependencies
Make sure that you have `node` >= 14 and `npm` >= 7. Node 14 ships with npm v6,
Make sure that you have `node` >= 14 and `npm` >= 7. Node 14 ships with npm v6,
so if you're using node 14, you would need to upgrade npm. Alternatively you
so if you're using node 14, you would need to upgrade npm. Alternatively you
@ -8,19 +15,20 @@ could also upgrade to node 16, which ships with npm 7.
How to upgrade npm: `npm i -g npm`
How to upgrade npm: `npm i -g npm`
## Local
### Local
- `npm install` to install project dependencies
- `npm install` to install project dependencies
- `npm run build:images` to optimize images for the first time after cloning
- `npm run dev` to run the dev server (http://localhost:3000)
- `npm run dev` to run the dev server (http://localhost:3000)
## Production
### Production
- `npm install` to install project dependencies
- `npm install` to install project dependencies
- `npm run build` to generate html/css/js
- `npm run build` to generate html/css/js
- `npm run export` to move the built files (along with assets in the public directory) to the `/out` directory
- `npm run export` to move the built files (along with assets in the public directory) to the `/out` directory
- Use your favourite web server to host the files in the `/out` directory. (A very simple one would be `python -m http.server` - not sure if it should actually be used for production :P)
- Use your favourite web server to host the files in the `/out` directory. (A very simple one would be `python -m http.server` - not sure if it should actually be used for production :P)
# Deploy
## Deploy
- `groups` (make sure you're in the `www` group)
- `groups` (make sure you're in the `www` group)
- `curl -o- https://git.csclub.uwaterloo.ca/www/www-new/raw/branch/main/deploy.sh | bash` (run on `caffeine`)
- `curl -o- https://git.csclub.uwaterloo.ca/www/www-new/raw/branch/main/deploy.sh | bash` (run on `caffeine`)
Additionally, the Executive Council are available to help Club members engage with local law enforcement or to otherwise help those experiencing unacceptable behaviour feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.
Additionally, the Executive Council are available to help Club members engage with local law enforcement or to otherwise help those experiencing unacceptable behaviour feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.
If either the complainant or the subject disagree with the decision made by the Handling Officer, they can appeal to the Officers, who can overturn the decision with a majority vote of all the Officers.
If either the complainant or the subject disagree with the decision made by the Handling Officer, they can appeal to the Officers, who can overturn the decision with a majority vote of all the Officers.
After having done so, the Handling Officer shall use their best judgment to determine if the complaint is valid and, if so, determine with the relevant Officers the appropriate action to ensure that the complainant feels welcome in the Computer Science Club and to avoid a subsequent incident:
After having done so, the Handling Officer shall use their best judgment to determine if the complaint is valid and, if so, determine with the relevant Officers the appropriate action to ensure that the complainant feels welcome in the Computer Science Club and to avoid a subsequent incident:
- The Code of Conduct is distributed under a[Creative Commons Attribution-ShareAlike License](http://creativecommons.org/licenses/by-sa/3.0/), derived from the[Women in Computer Science Code of Conduct](http://wics.uwaterloo.ca/deprecated/code-of-conduct/), the[UW Amateur Radio Club Code of Conduct](http://uwarc.uwaterloo.ca/policies-procedures/code-of-conduct/), and the[FASS Code of Conduct](http://fass.uwaterloo.ca/fassconstitution).
- The Code of Conduct is distributed under a[Creative Commons Attribution-ShareAlike License](http://creativecommons.org/licenses/by-sa/3.0/), derived from the[Women in Computer Science Code of Conduct](http://wics.uwaterloo.ca/deprecated/code-of-conduct/), the[UW Amateur Radio Club Code of Conduct](http://uwarc.uwaterloo.ca/policies-procedures/code-of-conduct/), and the[FASS Code of Conduct](http://fass.uwaterloo.ca/fassconstitution).
One of the primary goals of the Computer Science Club of the University of Waterloo is the inclusion and support of all members of the University of Waterloo community who are interested in Computer Science. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sex, sexual orientation, ability, ethnicity, socioeconomic status, age, and religion or lack thereof.
One of the primary goals of the Computer Science Club of the University of Waterloo is the inclusion and support of all members of the University of Waterloo community who are interested in Computer Science. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sex, sexual orientation, ability, ethnicity, socioeconomic status, age, and religion or lack thereof.
In cases where the Code of Conduct contradicts University policies, or applicable laws and bylaws, the Code of Conduct does not apply to the extent to which it conflicts.
In cases where the Code of Conduct contradicts University policies, or applicable laws and bylaws, the Code of Conduct does not apply to the extent to which it conflicts.
1. A proposed constitutional amendment can be initiated by the Executive Council or any ten (10) members.
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. The proposed amendment shall be announced to all members by email to the members' mailing list.
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 proposed amendment shall be made available for viewing by all members in the Computer Science Club office.
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 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.
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.
5. A constitutional amendment requires a 2/3 vote for adoption.
1. The Programme Committee shall be a standing committee chaired by the Vice-President.
1. The Programme Committee shall be a standing committee chaired by the Vice-President.
2. The Vice-President shall appoint and remove members to and from the Programme Committee as needed.
2. The Vice-President shall appoint and remove members to and from the Programme Committee as needed.
3. The Programme Committee shall plan and arrange the events of the Club.
3. The Programme Committee shall plan and arrange the events of the Club.
4. The Programme committee shall be responsible to the Executive Council and to the Vice-President.
4. The Programme Committee shall be responsible to the Executive Council and to the Vice-President.
## Systems Committee
## Systems Committee
1. The Systems Committee will be a standing committee, chaired by the Systems Administrator.
1. The Systems Committee (syscom) shall be a standing committee, chaired by the Systems Administrator (sysadmin).
2. The Systems Administrator shall appoint and remove members to and from the Systems Committee.
2. New members to the Systems Committee shall be appointed at the Systems Administrator’s discretion. Members should only be appointed to the Systems Committee if they show interest and some existing ability in systems administration.
3. Members should only be appointed to the Systems Committee if they show interest and some existing ability in systems administration.
3. Members should only be removed from the Systems Committee with cause, or when they no longer show interest in systems administration.
4. Members should only be removed from the Systems Committee with cause, or when they no longer show interest in systems administration.
4. When a member is added to or removed from the Systems Committee, the Systems Committee and the Executive must be notified via both mailing lists.
5. The Systems Committee will collectively, under the leadership of the Systems Administrator,
5. The Systems Committee will collectively, under the leadership of the Systems Administrator,
1. operate any and all equipment in the possession of the Club.
1. operate any and all equipment in the possession of the Club.
1. maintain and upgrade the software on equipment that is operated by the Club.
1. maintain and upgrade the software on equipment that is operated by the Club.
1. facilitate the use of equipment that is operated by the Club.
1. facilitate the use of equipment that is operated by the Club.
6. Members of the Systems Committee shall have root access to the machines operated by the Club.
6. Members of the Systems Committee shall have root access to the machines operated by the Club.
## Web Committee
1. The Web Committee (webcom) will be a standing committee, chaired by the Webmaster.
2. The Webmaster shall appoint and remove members to and from the Web Committee as needed.
3. The Web Committee shall maintain and develop the club website with infrastructure support from the Systems Committee, if necessary.
## Other Committees
## Other Committees
1. The President, with approval of the executive council, may appoint such special committees as are deemed necessary.
1. The President, with approval of the Executive Council, may appoint such special committees as are deemed necessary.
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.
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.
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.
3. The Executive Council must obey any instructions given to it by the members at a meeting and can be overruled by them.
4. The Executive Council can act by consensus achieved on their mailing list.
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.
5. Minutes of the Executive Council meetings shall be 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.
1. The Treasurer shall, each term, present to the Executive a financial statement for the previous term. They shall, before the end of the current term, ensure that the records are in a good condition to make this task as easy as possible for the next Treasurer.
1. The Treasurer shall, each term, present to the Executive a financial statement for the previous term. They shall, before the end of the current term, ensure that the records are in a good condition to make this task as easy as possible for the next Treasurer.
1. A regular meeting of the Club shall be held each term. This meeting shall be called by the CRO and shall be the election meeting for that term.
1. A regular meeting of the Club shall be held each term. This meeting shall be called by the CRO and shall be the election meeting for that term.
2. Special meetings may be called at any time deemed necessary by the Executive Council, by the Faculty Advisor, or by any ten (10) members.
2. A special meeting for a motion to remove an executive from office may be called at any time deemed necessary by the Executive Council, by the Faculty Advisor, by any thirty (30) members, or by 1/3 of the Club membership if there are fewer than thirty (30) members.
3. All members shall be notified at least two days prior to a forthcoming meeting of the meeting and of the business to be considered at that meeting. A message to the members' mailing list will be considered sufficient notification, though other forms of notification are also encouraged.
3. All members shall be notified at least two days prior to a forthcoming meeting of the meeting and of the business to be considered at that meeting. A message to the members' mailing list will be considered sufficient notification, though other forms of notification are also encouraged.
4. The Club shall hold meetings only in places that are open to all members of the Club.
4. The Club shall hold meetings only in places that are open to all members of the Club.
5. The Club membership cannot act except at a general meeting.
5. The Club membership cannot act except at a general meeting.
6. A quorum necessary for the conduct of business is defined as fifteen (15) full members or 2/3 of the full membership, whichever is smaller. If an election meeting lacks quorum, then the inquorate meeting can set a date and time for the elections, and can choose to either run the new elections with the same nominations or with a new nomination period (which does not need to meet the usual minimum requirement).
6. A quorum necessary for the conduct of business is defined as twenty-five (25) full members or 2/3 of the full membership, whichever is smaller. If an election meeting lacks quorum, then the inquorate meeting can set a date and time for the elections, and can choose to either run the new elections with the same nominations or with a new nomination period (which does not need to meet the usual minimum requirement).
7. A motion to remove an officer, or to call new elections (except at an election meeting), requires a 2/3 vote and at least a week's notice. Any other motion requires a majority vote.
7. A motion to remove an officer, or to call new elections (except at a regular election meeting or in the case of vacancies), requires at least a week's notice; a quorum of fifty (50) full members or 2/3 of the full membership, whichever is smaller; and a 2/3 vote. Any other motion requires a majority vote.
8. If a motion is defeated, it cannot be brought again for sixty (60) days.
8. If a motion is defeated, it cannot be brought again for sixty (60) days.
1. In compliance with MathSoc regulations and in recognition of the club being primarily targeted at undergraduate students, full membership is open to all Social Members of the Mathematics Society and restricted to the same.
1. In compliance with MathSoc regulations and in recognition of the club being primarily targeted at undergraduate students, full membership is open to all Social Members of the Mathematics Society and restricted to the same.
2. Affiliate membership in this Club shall be open to all members of the University community, including alumni. Affiliate members shall have all the rights of full members except for the rights of voting and holding executive office.
2. Affiliate membership in this Club shall be open to all members of the University community, including alumni. Affiliate members shall have all the rights of full members except for the rights of voting and holding executive office.
3. Membership shall be accounted for on a termly basis, where a term begins at the start of lectures in Winter or Spring, and at the start of Orientation Week in Fall.
3. Membership shall be accounted for on a termly basis, where a term begins at the start of lectures in Winter or Spring, and at the start of Orientation Week in Fall.
4. A person is not a member until he or she has paid the current membership fee and has been enrolled in the member database. The termly membership fee is set from time to time by the Executive. Under conditions approved by the Executive, a member who purchases a membership at the end of the current term may be given membership for both the current term and the next term. If the membership fee changes, then this does not affect the validity of any membership terms already paid for.
4. A person is not a member until he or she has paid the current membership fee and has been enrolled in the member database. A person must only be enrolled after paying the current membership fee, unless they are not a current undergraduate student at the University and the Executive grants them honorary membership free of charge. The termly membership fee is set from time to time by the Executive. Under conditions approved by the Executive, a member who purchases a membership at the end of the current term may be given membership for both the current term and the next term. If the membership fee changes, then this does not affect the validity of any membership terms already paid for.
5. The Club may grant access to its systems, either free of charge or for a fee, to members of the University community in order to offer them services. This does not constitute membership.
5. The Club may grant access to its systems, either free of charge or for a fee, to members of the University community in order to offer them services. This does not constitute membership.
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. 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. 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. All officers, other than the System 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. 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. 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. 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. 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, or by writing the nomination in a place in the CSC office to be specified by the CRO.
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. 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. 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. 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. 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. 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. 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. 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. The CRO shall not vote except to break a tie.
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 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. The CRO shall not vote except to break a tie.
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. 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. Following the elections, it is the responsibility of the new executive to select a System Administrator. The selection of System Administrator must then be ratified by the members at the meeting. If a suitable System Administrator is not available, then the executive may delay their selection until one becomes available. In this case the selection of System Administrator must be ratified at the next meeting of the Club.
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. 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. 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. 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. 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. 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.
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.