From a94dd374a5a6c12e17d2a5bb101645e514e580df Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Fri, 3 Sep 2021 16:04:29 -0400 Subject: [PATCH 01/41] Update Max's blurb (#274) Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/274 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- content/meet-the-team/execs/05-max-erenberg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/meet-the-team/execs/05-max-erenberg.md b/content/meet-the-team/execs/05-max-erenberg.md index c111da34..c7c0af39 100644 --- a/content/meet-the-team/execs/05-max-erenberg.md +++ b/content/meet-the-team/execs/05-max-erenberg.md @@ -3,4 +3,4 @@ name: Max Erenberg role: Systems Administrator --- -Hello, I'm Max, a 4th year CS student. +Hi, I'm Max, and I'm in 4A CS. I love GNU/Linux, tiling window managers, and everything in between. From 8d43bf260db999d0e6ce5d176a79ad288e49fed4 Mon Sep 17 00:00:00 2001 From: Amy Date: Fri, 3 Sep 2021 16:40:58 -0400 Subject: [PATCH 02/41] Fix accessibility issues for keyboard-only users, and fix some Safari bugs (#268) Also fixed a couple of Safari-specific bugs. Summary: - Added a secondary-accent ring around buttons on focus. (White didn't show up very well against the background.) We can always chat with design about this later if we want to change it. - Fixed the weirdness with tabbing over the headers on the Advice pages. I also made the header flex vertically on mobile screens - this fixes the issue of extra whitespace on the right side, and is also somewhat consistent with the menu-y thing at the top of the mobile Meet the Team page. - I was very tempted to do this on the Events term archive pages as well, but I figured I should get someone else's opinion on that first. - Removed the extra triangle symbol in the MiniEventCard on Safari. I had to use a vendor prefix, but if anyone else can come up with something better, then please do that, thank you. - Stopped the home page "Computer Science Club" from breaking into two lines on small desktop screens. - Added extra space to mobile footer. Closes #250 Closes #248 Closes #253 Closes #256 Closes #261 Co-authored-by: Amy Co-authored-by: Aditya Thakral Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/268 Reviewed-by: Aditya Thakral Co-authored-by: Amy Co-committed-by: Amy --- components/Button.module.css | 10 ++++++++++ components/Footer.module.css | 7 ++++--- components/MiniEventCard.module.css | 8 ++++++++ pages/events/[year]/[term]/index.module.css | 22 ++++++++++++++++++--- pages/index.module.css | 2 ++ pages/resources/advice/co-op.module.css | 12 ++++++++++- 6 files changed, 54 insertions(+), 7 deletions(-) diff --git a/components/Button.module.css b/components/Button.module.css index 93ebcab1..db11799d 100644 --- a/components/Button.module.css +++ b/components/Button.module.css @@ -17,6 +17,16 @@ cursor: pointer; } +.button:focus, +.link:focus { + box-shadow: 0 0 0 calc(4rem / 16) var(--secondary-accent); +} + +.small.button:focus, +.small.link:focus { + box-shadow: 0 0 0 calc(3rem / 16) var(--secondary-accent); +} + .link { text-decoration: none; } diff --git a/components/Footer.module.css b/components/Footer.module.css index 337a419f..b9c378c7 100644 --- a/components/Footer.module.css +++ b/components/Footer.module.css @@ -1,8 +1,7 @@ .footer { box-sizing: border-box; background: var(--primary-heading); - height: calc(66rem / 16); - padding: calc(14rem / 16) 0; + padding: 1rem 0; width: 100%; } @@ -30,12 +29,14 @@ @media only screen and (max-width: calc(768rem / 16)) { .footer { - height: calc(120rem / 16); + padding: 2rem 0; + height: unset; } .container { flex-direction: column-reverse; justify-content: space-around; + gap: 1rem; padding: 0 calc(24rem / 16); } } diff --git a/components/MiniEventCard.module.css b/components/MiniEventCard.module.css index 59e1bbec..e398a611 100644 --- a/components/MiniEventCard.module.css +++ b/components/MiniEventCard.module.css @@ -45,6 +45,14 @@ list-style: none; } +.card > summary::marker { + display: none; +} + +.card > summary::-webkit-details-marker { + display: none; +} + .dropDownIcon { fill: var(--primary-accent); } diff --git a/pages/events/[year]/[term]/index.module.css b/pages/events/[year]/[term]/index.module.css index 65cb415a..22a91b07 100644 --- a/pages/events/[year]/[term]/index.module.css +++ b/pages/events/[year]/[term]/index.module.css @@ -1,9 +1,9 @@ .main { - margin-top: calc(60rem / 16); - margin-bottom: calc(60rem / 16); + margin: calc(60rem / 16) 0; } -.main > h1, .main > section > h1 { +.main > h1, +.main > section > h1 { padding-bottom: calc(16rem / 16); border-bottom: calc(1rem / 16) solid var(--primary-heading); } @@ -34,3 +34,19 @@ .main > .miniEventCards { margin-top: 0; } + +@media only screen and (max-width: calc(768rem / 16)) { + .main { + margin: calc(30rem / 16) 0; + } + + .header { + flex-direction: column; + justify-content: center; + align-items: center; + } + + .header a { + margin: unset; + } +} diff --git a/pages/index.module.css b/pages/index.module.css index 61e6ff52..e260dc8d 100644 --- a/pages/index.module.css +++ b/pages/index.module.css @@ -47,6 +47,7 @@ font-family: "Futura", "sans-serif"; font-size: calc(33rem / 16); text-align: center; + white-space: nowrap; color: var(--primary-heading); } @@ -151,6 +152,7 @@ .clubTitle { margin: calc(8rem / 16) 0; font-size: calc(20rem / 16); + white-space: unset; } .clubDescription { diff --git a/pages/resources/advice/co-op.module.css b/pages/resources/advice/co-op.module.css index 8ee91ad4..b1a0807d 100644 --- a/pages/resources/advice/co-op.module.css +++ b/pages/resources/advice/co-op.module.css @@ -18,7 +18,7 @@ } .adviceBarContainer > a { - padding-right: calc(48rem / 16); + margin-right: calc(48rem / 16); color: var(--text); } @@ -46,6 +46,16 @@ a.currentAdvice { text-align: center; } + .adviceBarContainer { + flex-direction: column; + justify-content: center; + align-items: center; + } + + .adviceBarContainer > a { + margin: unset; + } + .codey { width: calc(140rem / 16); } From 5c6e0c75ca9f10a6a72a9bb954c60eaed4f5f278 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Fri, 3 Sep 2021 18:15:22 -0400 Subject: [PATCH 03/41] Add ssh key fingerprints (#225) Closes #168 https://csclub.uwaterloo.ca/~a3thakra/csc/adi-initial-ssh-key-fingerprints Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/225 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- components/OrganizedContent.module.css | 1 + components/Table.module.css | 36 ++++++++++++ components/Table.tsx | 9 +++ .../resources/services/machine-accounts.md | 3 +- .../services/ssh-key-fingerprints.md | 55 +++++++++++++++++++ pages/_app.tsx | 2 + 6 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 components/Table.module.css create mode 100644 components/Table.tsx create mode 100644 content/resources/services/ssh-key-fingerprints.md diff --git a/components/OrganizedContent.module.css b/components/OrganizedContent.module.css index 01eea4c0..00113c82 100644 --- a/components/OrganizedContent.module.css +++ b/components/OrganizedContent.module.css @@ -6,6 +6,7 @@ display: flex; flex-direction: column; width: 100%; + overflow-x: auto; } .content h1 { diff --git a/components/Table.module.css b/components/Table.module.css new file mode 100644 index 00000000..e3532299 --- /dev/null +++ b/components/Table.module.css @@ -0,0 +1,36 @@ +.table { + display: block; + overflow-x: auto; + border-collapse: collapse; + + --border: calc(2rem / 16) solid var(--primary-accent-light); +} + +.table thead tr { + background: var(--secondary-accent-light); +} + +.table tbody tr { + text-align: center; + vertical-align: top; +} + +.table tbody tr:nth-child(odd) { + background: var(--primary-accent-lightest); +} + +.table th { + color: var(--primary-heading); + text-align: left; + border-bottom: var(--border); +} + +.table th:not(:last-child), +.table td:not(:last-child) { + border-right: var(--border); +} + +.table th, +.table td { + padding: calc(12rem / 16); +} diff --git a/components/Table.tsx b/components/Table.tsx new file mode 100644 index 00000000..8e3c84c4 --- /dev/null +++ b/components/Table.tsx @@ -0,0 +1,9 @@ +import React, { TableHTMLAttributes } from "react"; + +import styles from "./Table.module.css"; + +export function Table(props: TableHTMLAttributes) { + const className = [styles.table, props.className ?? ""].join(" "); + + return ; +} diff --git a/content/resources/services/machine-accounts.md b/content/resources/services/machine-accounts.md index acef9bc7..0859481a 100644 --- a/content/resources/services/machine-accounts.md +++ b/content/resources/services/machine-accounts.md @@ -15,7 +15,6 @@ RSA: 0c:a3:66:52:10:19:7e:d6:9c:96:3f:60:c1:0c:d6:24 ED25519: 9e:a8:11:bb:65:1a:31:23:38:6b:94:9d:83:fd:ba:b1 ``` - -[SSH key fingerprints for other machines](/services/fingerprints) +[SSH key fingerprints for other machines](/resources/services/ssh-key-fingerprints) diff --git a/content/resources/services/ssh-key-fingerprints.md b/content/resources/services/ssh-key-fingerprints.md new file mode 100644 index 00000000..55976891 --- /dev/null +++ b/content/resources/services/ssh-key-fingerprints.md @@ -0,0 +1,55 @@ +--- +title: SSH Key Fingerprints +index: 11 +--- + +| Machine Name | Key Type | Fingerprint | +| -------------------------- | --------- | ---------------------------------------------------------------------------------------------------------- | +| `auth1` | `rsa` | `SHA256:q1qmWbz1H/MS5k9oiulSV9h+TSUjaYKrdMmGJbqwR7o` `MD5:a2:eb:ae:9b:23:97:6e:cb:8b:9f:8e:89:46:fb:c5:90` | +| `auth1` | `ed25519` | `SHA256:YWy4hRNZk/u0Y6GbuSVfRIk+r9DUhEN4dvLnDegYcng` `MD5:b1:36:30:02:82:9b:8f:00:bb:a6:40:9f:cf:47:dc:32` | +| `auth2` | `rsa` | `SHA256:O9yXho+/pmJNZ8OtkxpqFwAJt++GaSuUyUJbH2vXfTs` `MD5:2d:6e:c9:13:7c:eb:b1:71:7c:ad:dc:a2:86:fe:1a:7a` | +| `auth2` | `ed25519` | `SHA256:5e2sK2YEChhS41r60Q8k8bOct5w0dvbZz9efG7/UNXA` `MD5:c9:6a:f9:6a:22:78:b1:81:9b:47:88:1d:96:10:9a:3b` | +| `biloba` | `rsa` | `SHA256:ZFsBWO2AEgHGGl2kyWPvsB32DZIdhuYUGSE35LPmpoA` `MD5:b8:f9:f7:11:6a:8e:d9:07:60:ff:4a:7d:9c:8f:4c:a1` | +| `biloba` | `ed25519` | `SHA256:4AGpCBI/UJWKBei2wO22qFwKD+owmoFG02T8M+M5WNM` `MD5:ca:4c:c2:f2:43:b2:1d:f5:0c:95:7d:f5:cb:19:24:92` | +| `caffeine` | `rsa` | `SHA256:mPqqKrBPsALB5AUELZlgy+l78QY88Of6nHlEtyaM/e0` `MD5:0c:a3:66:52:10:19:7e:d6:9c:96:3f:60:c1:0c:d6:24` | +| `caffeine` | `ed25519` | `SHA256:+/9wi6zRIs1InoCp/psW9m3gYtmGwiAHCVdmS1ehnPE` `MD5:9e:a8:11:bb:65:1a:31:23:38:6b:94:9d:83:fd:ba:b1` | +| `carbonated-water` | `rsa` | `SHA256:Pop4QFF7UpcQJ1FgGYg0hBOfNvNJCU8ZGtp1yInbNhM` `MD5:63:fb:98:84:5a:16:b2:b6:f2:62:35:1d:d3:e8:6a:00` | +| `carbonated-water` | `ed25519` | `SHA256:ItXybdc00oSKTdmVMFwU9phYvXUQ3WMWwOCYU1JEmhE` `MD5:80:d1:7e:ca:a7:d8:21:15:e5:67:72:2c:d5:b5:40:ea` | +| `chamomile` | `rsa` | `SHA256:/aiy+h475nVH4yIz+Pjy2LUDEReryKQ5QDd3bQA1FS0` `MD5:25:97:40:2e:c4:28:92:2c:a5:1f:32:00:36:de:33:81` | +| `chamomile` | `ed25519` | `SHA256:kCEyHXQ/g3MDbX1jRD4cCSPSyQVP/1Mc3FEzd6UUyZM` `MD5:92:ab:71:a3:f6:c4:58:be:44:36:c2:1f:6a:4d:8a:d0` | +| `cobalamin` | `rsa` | `SHA256:StvvRfVKm4AkJtTDxXdCl1//rOye/HF1NF3bA3fkmpg` `MD5:31:54:fb:81:f2:17:dd:ab:26:5e:07:d3:49:2c:24:72` | +| `cobalamin` | `ed25519` | `SHA256:dwN5yxHC+sqtA5iWa7rhQpZ02ts3VZ3VbAXcGkwcHQY` `MD5:e0:d4:c4:5b:3a:b6:24:1f:40:d0:b4:8a:d5:96:fd:bf` | +| `corn-syrup` | `rsa` | `SHA256:BIGkNIUswwzwm5wFUDtdN+drvulqjbkn2Jk5KM2OKEc` `MD5:a9:42:75:82:9a:6e:91:0e:18:c6:66:d1:31:0c:d9:c9` | +| `corn-syrup` | `ed25519` | `SHA256:ttAIYfwxULBRKSq8INX8SvOQfm9eYAeOlzYxO3dYGsE` `MD5:41:49:f2:22:dc:a2:97:51:fd:e4:41:1d:f1:b1:6d:eb` | +| `dns1` | `rsa` | `SHA256:pMxV71RCXA7xByANQoy9Md8SdmVlHf8OgG4ayrZqzq0` `MD5:9f:f3:ac:f6:5d:8c:d7:bd:57:46:cb:2a:ef:17:07:5e` | +| `dns1` | `ed25519` | `SHA256:y5HZ3Fq0WgdEtoexgqfG++747qKbBoEKTQjIUBREWg0` `MD5:6e:6d:8b:bd:8c:bb:c4:8b:71:7d:f9:de:30:95:11:97` | +| `dns2` | `rsa` | `SHA256:+c7u3AssPw4TRl9ggwYEBbMbeg+P6ZF/rVZQ+vmNlp8` `MD5:5e:a3:94:a6:28:77:a0:c0:36:10:72:df:3d:f5:4a:91` | +| `dns2` | `ed25519` | `SHA256:pr4RoRNOAntZqCpvbIOqaZaOny8C8sVxDE5LzghQw3Q` `MD5:a2:d0:8b:82:a2:4a:1f:08:7b:11:c9:2a:6b:00:fa:fa` | +| `ginkgo` | `rsa` | `SHA256:LxKFas/8kgR/Y12jMhOrfLxOc5N5SkeToAMVSDI5Z+k` `MD5:3a:fa:fa:79:84:20:a3:de:50:83:7e:e4:d0:48:5c:98` | +| `ginkgo` | `ed25519` | `SHA256:PLffe65fx2UOo5UPKbaYTWawT3B4xJ8YY8hxWvgla7Y` `MD5:d9:5e:6f:70:dc:fd:46:64:cf:51:0b:20:b2:8e:17:84` | +| `high-fructose-corn-syrup` | `rsa` | `SHA256:10hcXRg3q0c1w9pBHdrbAOz4Rw7ImD1RTfH6kfu8TNQ` `MD5:51:4a:71:be:05:2f:d6:51:cc:95:73:b1:15:dc:f1:a2` | +| `high-fructose-corn-syrup` | `ed25519` | `SHA256:sPvpRH5jE0llfRXYbwKucrVfGccsHqQa6mVvrBhXwkk` `MD5:48:46:14:23:54:cb:ea:f7:d6:b8:7c:5b:68:9d:f4:14` | +| `mail` | `rsa` | `SHA256:9PtVNPntK1ib+gepNdRPomazZhFDVAZnwiRRUhvmwvA` `MD5:c3:96:c5:42:cb:22:5a:79:95:7a:54:84:c1:55:32:36` | +| `mail` | `ed25519` | `SHA256:PwCrVE0opKEFhsVeJUwjsOWOwlDGFYpCwnFxVc3LXGE` `MD5:35:9e:eb:2b:28:e7:dd:03:8b:56:bd:8a:91:f2:db:17` | +| `mannitol` | `rsa` | `SHA256:aKueWcRh+YsKXYvI+H9Ts7JBax4HaeFBpd82abTL2EU` `MD5:9b:b7:34:9a:20:a9:2a:86:62:a0:eb:88:5d:c4:94:70` | +| `mannitol` | `ed25519` | `SHA256:S6Nf0ATWI3wFEhb1F4fJmpV7qV2HlfDnkiRd5UvJWLI` `MD5:4b:dc:92:79:51:8e:6e:9a:55:24:74:1b:82:a8:bf:57` | +| `munin` | `rsa` | `SHA256:0MvXq7zI0mi98Qh/iH1hXChe79fgmfUSlUvhyF4gRa4` `MD5:a2:ee:62:b0:f5:a6:c6:18:7f:4b:aa:56:2c:85:af:f5` | +| `munin` | `ed25519` | `SHA256:DfJu9LC4ndOrp6NOrEONQ84dhbqiSPGJZgPIaNmmth0` `MD5:d1:1b:38:1e:9f:90:a3:81:dd:16:f2:07:05:63:e7:b5` | +| `natural-flavours` | `rsa` | `SHA256:NvfjG4x4h5JgTPxbNV56/dVw4XX2khn6KyvuL0vL9mo` `MD5:75:13:45:da:af:33:8b:32:e4:6d:36:52:e4:aa:0c:a6` | +| `natural-flavours` | `ed25519` | `SHA256:eD6OCQ/56IRqMMMTpaNkdCRE5NLgX8A0PNtMgcoZog8` `MD5:61:22:8e:2a:e4:aa:57:71:b6:24:61:f8:00:52:65:5b` | +| `neotame` | `rsa` | `SHA256:zKdclcm1yOUE8VMfZ+9ZeF+hMCmYRcRNizoqyD8Ty1Y` `MD5:d4:59:0d:81:88:3e:4d:a1:70:a3:61:e6:c4:af:42:5b` | +| `neotame` | `ed25519` | `SHA256:2iJQfMTo3zVDrsisSopYEjSDWoZH4spngK9qkAQtqCs` `MD5:92:37:90:bd:e1:3d:e1:63:93:c7:ca:44:6a:d8:be:ad` | +| `phosphoric-acid` | `rsa` | `SHA256:kvOgz0V+kMTRwoeVKQBGLUOFOFfCkat72Y9Pc8FRqOs` `MD5:e1:a7:dc:b6:16:b9:37:d5:63:d9:9e:29:0c:2e:f1:58` | +| `phosphoric-acid` | `ed25519` | `SHA256:W8LpIexf+N8HIbn69SBkDKrGwJDkTStNvJLB6kgVu5k` `MD5:8e:43:c5:2d:b4:78:56:17:2d:e4:a9:73:22:b5:65:5b` | +| `potassium-benzoate` | `rsa` | `SHA256:M3I45IYOnn048flkGgG0lnwFM5QVMXYc4gZv5ItLPVc` `MD5:44:d6:63:34:8f:28:de:3d:81:c8:0b:5a:0f:a8:74:1c` | +| `potassium-benzoate` | `ed25519` | `SHA256:ynKejIZChFDXi8TCwjB0jyKdXtxOJSZEBSu/NlcwtuU` `MD5:d9:d8:4e:b3:64:d6:a5:08:f5:c6:48:7e:62:1e:27:8d` | +| `riboflavin` | `rsa` | `SHA256:P/mQB4+bvbJ0Pqd7ZNc/UzVARRxd0AWswesHSuO1m+I` `MD5:a9:a8:16:a8:4a:5b:03:00:97:49:e4:2d:19:0d:79:49` | +| `riboflavin` | `ed25519` | `SHA256:31lxXx50e4u8NLbayShCeuItfvdU5lCDDZqXP/CG2Qs` `MD5:82:da:cb:4a:3c:78:77:ca:82:a3:e6:49:55:16:90:cf` | +| `rt` | `rsa` | `SHA256:Gu2qxvHMhNVZRxTtutvAk0a2fncVg+OmE3gzK+/nbqw` `MD5:a9:50:7d:55:66:38:32:f3:91:63:fd:d5:3b:5c:2b:a0` | +| `rt` | `ed25519` | `SHA256:uXWFGrHZhHS+bViiycectxaQBnEOtRtweM+0Xfa5f5w` `MD5:3a:a3:f8:d7:7b:e7:7f:7a:9c:57:21:f5:49:ab:4d:21` | +| `sorbitol` | `rsa` | `SHA256:IE8WJoAS8mmg1nyfV8xNrTRkcZ2UMEeEHHP+mlovQX0` `MD5:e7:c6:04:f6:f2:9e:20:cf:16:a4:51:36:17:11:0d:aa` | +| `sorbitol` | `ed25519` | `SHA256:MUzYsHyl8Bw1TWhEfA2yBoOE1d3lqF2wGUHYa5eoI/w` `MD5:6e:36:62:6b:e1:a5:90:80:6d:ca:c5:21:00:8c:d2:17` | +| `xylitol` | `rsa` | `SHA256:oXLcNQgoV8fEnqIeATvjayhbrwZR8B47c0fQspoXjAM` `MD5:95:8e:7b:87:c3:13:5a:00:09:b4:d4:06:dd:b3:00:8f` | +| `xylitol` | `ed25519` | `SHA256:g+Vi/z+oU88uqBtxcIzbtqsq0mEH68bFCgJhyUJr3UE` `MD5:76:7e:b7:50:da:22:0a:b1:d8:34:b5:b4:c2:81:20:d4` | +| `yerba-mate` | `rsa` | `SHA256:gLQGXpDnLtQU4DPqW+2H6Q0+V4ydrsuexIAWNf/tcKk` `MD5:29:df:f1:54:a7:86:25:f4:83:e3:dc:e9:95:f5:c1:fc` | +| `yerba-mate` | `ed25519` | `SHA256:iQBsrDGF4az4OFZfV2KEkbo8oRbMH6mpp5y8WjkboYw` `MD5:d9:75:8e:d3:18:79:c2:53:31:3a:ca:d2:78:46:73:d8` | diff --git a/pages/_app.tsx b/pages/_app.tsx index 71f1a530..8cd0f13b 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -17,6 +17,7 @@ import { GetShapesConfig, ShapesBackground, } from "@/components/ShapesBackground"; +import { Table } from "@/components/Table"; import { ThemeProvider } from "@/components/Theme"; import styles from "./_app.module.css"; @@ -37,6 +38,7 @@ export default function App({ Component, pageProps }: AppProps): JSX.Element { pre: Pre, inlineCode: Code, img: Image, + table: Table, }} >
From 64b9ae96230794284aae4585ba0538b81e757df4 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Fri, 3 Sep 2021 18:16:27 -0400 Subject: [PATCH 04/41] Add missing news (#275) The script missed some news items, where the author and the date was the same. I appended all news with a uuid to make sure that we are not over-writing an already existing news. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/275 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- ...utoit.md => 2002-09-16-sjdutoit-35c9a5.md} | 0 ...utoit.md => 2002-09-18-sjdutoit-8db635.md} | 0 ...utoit.md => 2002-09-30-sjdutoit-f28c49.md} | 0 ...utoit.md => 2002-10-29-sjdutoit-491492.md} | 0 ...utoit.md => 2002-02-03-sjdutoit-c75285.md} | 0 ...utoit.md => 2002-02-04-sjdutoit-a0e4fb.md} | 0 .../2002/winter/2002-04-15-sjdutoit-3784f2.md | 6 +++++ ...utoit.md => 2002-04-15-sjdutoit-a7a80c.md} | 0 ...utoit.md => 2002-04-22-sjdutoit-fc28c9.md} | 0 ...-sfllaw.md => 2003-09-17-sfllaw-88bade.md} | 0 ...utoit.md => 2003-05-14-sjdutoit-157b55.md} | 0 ...-sfllaw.md => 2003-06-05-sfllaw-b09e42.md} | 0 ...-sfllaw.md => 2003-07-03-sfllaw-0ac342.md} | 0 ...morri.md => 2003-07-09-ja2morri-964bcc.md} | 0 ...morri.md => 2003-08-06-ja2morri-d5c161.md} | 0 .../2003/spring/2003-08-12-ja2morri-f68082.md | 6 +++++ ...morri.md => 2003-08-12-ja2morri-fb31df.md} | 0 ...-sfllaw.md => 2003-01-13-sfllaw-f11880.md} | 0 ...-mbiggs.md => 2004-09-15-mbiggs-a2a7e4.md} | 0 ...eperry.md => 2004-09-27-jeperry-c2312b.md} | 0 ...eperry.md => 2004-10-23-jeperry-eaa7d1.md} | 0 ...-mbiggs.md => 2004-05-12-mbiggs-709351.md} | 0 ...ichol.md => 2004-05-31-zbnichol-0a8813.md} | 0 ...-sfllaw.md => 2004-01-22-sfllaw-d12535.md} | 0 ...-sfllaw.md => 2004-01-25-sfllaw-033287.md} | 0 ...-sfllaw.md => 2004-02-02-sfllaw-15f29d.md} | 0 ...-sfllaw.md => 2004-02-05-sfllaw-946fa7.md} | 0 ...-sfllaw.md => 2004-03-16-sfllaw-48f1e9.md} | 0 ...-sfllaw.md => 2004-03-19-sfllaw-d99436.md} | 0 ...-sfllaw.md => 2004-04-01-sfllaw-e42a05.md} | 0 ...-sfllaw.md => 2004-04-02-sfllaw-b6effa.md} | 0 ...-mbiggs.md => 2004-04-07-mbiggs-eb3e23.md} | 0 .../2004/winter/2004-04-16-sfllaw-399637.md | 6 +++++ ...-sfllaw.md => 2004-04-16-sfllaw-9417ab.md} | 0 ...-sfllaw.md => 2004-04-19-sfllaw-d8e9e0.md} | 0 ...onnor.md => 2006-09-21-woconnor-a3e5b7.md} | 0 ...-hkarau.md => 2006-05-10-hkarau-033a60.md} | 0 ...-hkarau.md => 2006-05-19-hkarau-cd79ed.md} | 0 ...-hkarau.md => 2006-06-04-hkarau-d96598.md} | 0 ...nisen.md => 2006-01-10-ddenisen-3f8cc0.md} | 0 .../2007/fall/2007-09-01-dtbartle-60b881.md | 6 +++++ ...artle.md => 2007-09-01-dtbartle-a3778f.md} | 0 ...artle.md => 2007-09-09-dtbartle-1e3191.md} | 0 ...-mspang.md => 2007-05-11-mspang-6ef6f4.md} | 0 ...tenty.md => 2007-01-12-daltenty-21fc58.md} | 0 ...artle.md => 2008-09-16-dtbartle-ecd9a3.md} | 0 ...artle.md => 2008-05-04-dtbartle-c82f66.md} | 6 ++--- ...aylor.md => 2008-05-16-b4taylor-412b68.md} | 0 ...artle.md => 2008-01-08-dtbartle-11500c.md} | 0 ...artle.md => 2008-01-15-dtbartle-4f6743.md} | 0 ...bering.md => 2009-10-02-ebering-d067f2.md} | 0 ...bering.md => 2009-10-17-ebering-b8180b.md} | 0 ...spaans.md => 2009-05-04-kspaans-a1eebf.md} | 0 ...spaans.md => 2009-05-12-kspaans-5f0506.md} | 0 ...bering.md => 2009-05-14-ebering-c774cb.md} | 0 ...arker.md => 2009-05-26-j3parker-e50cb7.md} | 0 ...egson.md => 2009-06-18-mgregson-1828cc.md} | 0 ...aylor.md => 2009-01-06-b4taylor-400664.md} | 0 ...egson.md => 2009-01-29-mgregson-93eb1e.md} | 0 ...bering.md => 2009-03-24-ebering-d6f8f5.md} | 0 ...bering.md => 2009-04-13-ebering-d67574.md} | 0 ...2ellis.md => 2010-09-04-m2ellis-cedb0c.md} | 0 ...2ellis.md => 2010-09-10-m2ellis-eadf6e.md} | 0 ...2ellis.md => 2010-09-12-m2ellis-346b67.md} | 0 ...2ellis.md => 2010-09-14-m2ellis-7d35df.md} | 0 ...2ellis.md => 2010-09-22-m2ellis-f78d49.md} | 0 ...bering.md => 2010-11-03-ebering-5e3c16.md} | 0 ...bering.md => 2010-05-10-ebering-c7a095.md} | 0 ...bering.md => 2010-05-11-ebering-918ddf.md} | 0 ...bering.md => 2010-02-01-ebering-e69ae7.md} | 0 ...y2wong.md => 2011-09-08-jy2wong-d99031.md} | 0 ...bering.md => 2011-09-18-ebering-50c248.md} | 0 ...bering.md => 2011-09-19-ebering-3e5766.md} | 0 ...bering.md => 2011-05-09-ebering-7a89ff.md} | 0 ...cshunt.md => 2011-01-04-scshunt-5c680c.md} | 0 ...cshunt.md => 2011-01-06-scshunt-88b3d8.md} | 0 ...cshunt.md => 2011-01-11-scshunt-299375.md} | 0 ...cshunt.md => 2011-01-12-scshunt-87299f.md} | 0 .../2011/winter/2011-01-12-scshunt-9c63b9.md | 16 +++++++++++++ ...4burns.md => 2012-09-04-m4burns-ce433e.md} | 0 ...broman.md => 2012-10-03-jbroman-46c9e3.md} | 0 ...4burns.md => 2012-06-06-m4burns-1a39cc.md} | 0 ...y2wong.md => 2012-01-12-jy2wong-1f02e3.md} | 0 ...4burns.md => 2012-02-13-m4burns-e08350.md} | 0 ...shman.md => 2012-02-27-ehashman-a6df83.md} | 0 ...broman.md => 2013-09-17-jbroman-8f02b4.md} | 0 ...shman.md => 2013-09-29-ehashman-45346e.md} | 0 ...shman.md => 2013-10-01-ehashman-8d5262.md} | 0 ...shman.md => 2013-10-18-ehashman-72ae86.md} | 0 ...shman.md => 2013-10-23-ehashman-3dbdc1.md} | 0 ...cshunt.md => 2013-05-06-scshunt-2e5d9f.md} | 0 ...msmith.md => 2013-05-16-omsmith-20694e.md} | 0 ...shman.md => 2013-05-28-ehashman-50295d.md} | 0 ...msmith.md => 2013-01-17-omsmith-28578e.md} | 0 ...-yj7kim.md => 2014-09-22-yj7kim-4eb444.md} | 0 ...cshunt.md => 2014-10-15-scshunt-de9b61.md} | 0 ...ambet.md => 2014-11-05-glgambet-9bae98.md} | 0 ...outts.md => 2014-05-15-b2coutts-68a4a5.md} | 0 ...broman.md => 2014-01-16-jbroman-51419e.md} | 0 ...ambet.md => 2015-05-14-glgambet-8d07ec.md} | 0 ...-kpwarr.md => 2015-05-22-kpwarr-fb4a99.md} | 0 ...-yj7kim.md => 2015-01-16-yj7kim-4d0998.md} | 0 ...ambet.md => 2015-03-17-glgambet-33f558.md} | 0 ...ambet.md => 2015-03-27-glgambet-f83766.md} | 0 ...eguin.md => 2016-09-19-ztseguin-ecba56.md} | 0 ...eguin.md => 2016-10-18-ztseguin-e6971d.md} | 0 ...-ubarar.md => 2016-11-10-ubarar-3e7bde.md} | 0 ...eguin.md => 2016-11-20-ztseguin-0b8ed4.md} | 0 ...melan.md => 2016-05-12-pj2melan-f6f27f.md} | 0 ...melan.md => 2016-01-14-pj2melan-3f60a2.md} | 0 ...eguin.md => 2016-01-21-ztseguin-72d5b4.md} | 0 ...eguin.md => 2016-02-09-ztseguin-42c3d6.md} | 0 ...eguin.md => 2017-05-17-ztseguin-0ada22.md} | 0 ...outts.md => 2017-01-14-b2coutts-26c28d.md} | 0 ...eguin.md => 2018-09-01-ztseguin-06d363.md} | 5 ++-- ...12-c7zou.md => 2018-09-12-c7zou-987f2c.md} | 0 ...arikh.md => 2018-09-18-n3parikh-42ae8c.md} | 0 ...eguin.md => 2018-10-07-ztseguin-9c2174.md} | 0 ...arikh.md => 2018-10-29-n3parikh-142076.md} | 0 ...ailho.md => 2018-05-14-mnmailho-e15105.md} | 0 ...melan.md => 2018-05-14-pj2melan-f44c91.md} | 0 ...eguin.md => 2018-07-18-ztseguin-dd1aa1.md} | 0 .../2018-08-31-ztseguin-5269f7.md} | 0 ...melan.md => 2018-03-26-pj2melan-8ddac4.md} | 0 ...berzi.md => 2019-09-13-mtrberzi-fead22.md} | 0 ...5wang.md => 2019-05-16-s455wang-dfe1a9.md} | 0 ...5wang.md => 2019-08-11-s455wang-d44d2d.md} | 0 ...eguin.md => 2019-08-21-ztseguin-eee44d.md} | 0 ...hakra.md => 2019-01-16-a3thakra-787058.md} | 0 ...hakra.md => 2019-01-17-a3thakra-cb5d44.md} | 0 ...hakra.md => 2019-02-19-a3thakra-8ccef8.md} | 0 ...ndali.md => 2020-09-12-abandali-cd398d.md} | 0 ...ikova.md => 2020-09-12-agaikova-ea8211.md} | 0 ...ndali.md => 2020-09-28-abandali-c9f0c8.md} | 0 ...ikova.md => 2020-09-28-agaikova-6b81be.md} | 0 ...arikh.md => 2020-05-05-n3parikh-031bad.md} | 0 ...arikh.md => 2020-05-13-n3parikh-169dca.md} | 0 ...eguin.md => 2020-05-26-ztseguin-f7bd50.md} | 0 ...ndali.md => 2020-05-28-abandali-e7bb8b.md} | 0 ...ndali.md => 2020-07-27-abandali-fad782.md} | 0 ...arikh.md => 2020-01-15-n3parikh-feedab.md} | 0 ...arikh.md => 2020-04-15-n3parikh-18c016.md} | 0 ...arikh.md => 2021-05-07-n3parikh-9d0a9c.md} | 0 ...enber.md => 2021-05-14-merenber-53b3f8.md} | 0 ...enber.md => 2021-05-29-merenber-c5ca04.md} | 0 .../2021/spring/2021-06-06-n3parikh-0ce62b.md | 23 +++++++++++++++++++ ...arikh.md => 2021-06-06-n3parikh-e2ed48.md} | 0 .../2021/spring/2021-07-14-n3parikh-052625.md | 10 ++++++++ .../2021/spring/2021-07-14-n3parikh-d7475d.md | 13 +++++++++++ ...arikh.md => 2021-01-11-n3parikh-f87df7.md} | 0 ...arikh.md => 2021-01-13-n3parikh-a6f356.md} | 0 ...arikh.md => 2021-01-21-n3parikh-b645e7.md} | 0 ...arikh.md => 2021-03-01-n3parikh-17459c.md} | 0 ...enber.md => 2021-03-07-merenber-a8cc2f.md} | 0 ...arikh.md => 2021-03-12-n3parikh-e3e7bb.md} | 0 ...enber.md => 2021-03-19-merenber-90d74b.md} | 0 ...enber.md => 2021-03-29-merenber-f78eee.md} | 0 ...enber.md => 2021-03-31-merenber-6a9584.md} | 0 ...arikh.md => 2021-04-09-n3parikh-3f0bce.md} | 0 159 files changed, 92 insertions(+), 5 deletions(-) rename content/news/2002/fall/{2002-09-16-sjdutoit.md => 2002-09-16-sjdutoit-35c9a5.md} (100%) rename content/news/2002/fall/{2002-09-18-sjdutoit.md => 2002-09-18-sjdutoit-8db635.md} (100%) rename content/news/2002/fall/{2002-09-30-sjdutoit.md => 2002-09-30-sjdutoit-f28c49.md} (100%) rename content/news/2002/fall/{2002-10-29-sjdutoit.md => 2002-10-29-sjdutoit-491492.md} (100%) rename content/news/2002/winter/{2002-02-03-sjdutoit.md => 2002-02-03-sjdutoit-c75285.md} (100%) rename content/news/2002/winter/{2002-02-04-sjdutoit.md => 2002-02-04-sjdutoit-a0e4fb.md} (100%) create mode 100644 content/news/2002/winter/2002-04-15-sjdutoit-3784f2.md rename content/news/2002/winter/{2002-04-15-sjdutoit.md => 2002-04-15-sjdutoit-a7a80c.md} (100%) rename content/news/2002/winter/{2002-04-22-sjdutoit.md => 2002-04-22-sjdutoit-fc28c9.md} (100%) rename content/news/2003/fall/{2003-09-17-sfllaw.md => 2003-09-17-sfllaw-88bade.md} (100%) rename content/news/2003/spring/{2003-05-14-sjdutoit.md => 2003-05-14-sjdutoit-157b55.md} (100%) rename content/news/2003/spring/{2003-06-05-sfllaw.md => 2003-06-05-sfllaw-b09e42.md} (100%) rename content/news/2003/spring/{2003-07-03-sfllaw.md => 2003-07-03-sfllaw-0ac342.md} (100%) rename content/news/2003/spring/{2003-07-09-ja2morri.md => 2003-07-09-ja2morri-964bcc.md} (100%) rename content/news/2003/spring/{2003-08-06-ja2morri.md => 2003-08-06-ja2morri-d5c161.md} (100%) create mode 100644 content/news/2003/spring/2003-08-12-ja2morri-f68082.md rename content/news/2003/spring/{2003-08-12-ja2morri.md => 2003-08-12-ja2morri-fb31df.md} (100%) rename content/news/2003/winter/{2003-01-13-sfllaw.md => 2003-01-13-sfllaw-f11880.md} (100%) rename content/news/2004/fall/{2004-09-15-mbiggs.md => 2004-09-15-mbiggs-a2a7e4.md} (100%) rename content/news/2004/fall/{2004-09-27-jeperry.md => 2004-09-27-jeperry-c2312b.md} (100%) rename content/news/2004/fall/{2004-10-23-jeperry.md => 2004-10-23-jeperry-eaa7d1.md} (100%) rename content/news/2004/spring/{2004-05-12-mbiggs.md => 2004-05-12-mbiggs-709351.md} (100%) rename content/news/2004/spring/{2004-05-31-zbnichol.md => 2004-05-31-zbnichol-0a8813.md} (100%) rename content/news/2004/winter/{2004-01-22-sfllaw.md => 2004-01-22-sfllaw-d12535.md} (100%) rename content/news/2004/winter/{2004-01-25-sfllaw.md => 2004-01-25-sfllaw-033287.md} (100%) rename content/news/2004/winter/{2004-02-02-sfllaw.md => 2004-02-02-sfllaw-15f29d.md} (100%) rename content/news/2004/winter/{2004-02-05-sfllaw.md => 2004-02-05-sfllaw-946fa7.md} (100%) rename content/news/2004/winter/{2004-03-16-sfllaw.md => 2004-03-16-sfllaw-48f1e9.md} (100%) rename content/news/2004/winter/{2004-03-19-sfllaw.md => 2004-03-19-sfllaw-d99436.md} (100%) rename content/news/2004/winter/{2004-04-01-sfllaw.md => 2004-04-01-sfllaw-e42a05.md} (100%) rename content/news/2004/winter/{2004-04-02-sfllaw.md => 2004-04-02-sfllaw-b6effa.md} (100%) rename content/news/2004/winter/{2004-04-07-mbiggs.md => 2004-04-07-mbiggs-eb3e23.md} (100%) create mode 100644 content/news/2004/winter/2004-04-16-sfllaw-399637.md rename content/news/2004/winter/{2004-04-16-sfllaw.md => 2004-04-16-sfllaw-9417ab.md} (100%) rename content/news/2004/winter/{2004-04-19-sfllaw.md => 2004-04-19-sfllaw-d8e9e0.md} (100%) rename content/news/2006/fall/{2006-09-21-woconnor.md => 2006-09-21-woconnor-a3e5b7.md} (100%) rename content/news/2006/spring/{2006-05-10-hkarau.md => 2006-05-10-hkarau-033a60.md} (100%) rename content/news/2006/spring/{2006-05-19-hkarau.md => 2006-05-19-hkarau-cd79ed.md} (100%) rename content/news/2006/spring/{2006-06-04-hkarau.md => 2006-06-04-hkarau-d96598.md} (100%) rename content/news/2006/winter/{2006-01-10-ddenisen.md => 2006-01-10-ddenisen-3f8cc0.md} (100%) create mode 100644 content/news/2007/fall/2007-09-01-dtbartle-60b881.md rename content/news/2007/fall/{2007-09-01-dtbartle.md => 2007-09-01-dtbartle-a3778f.md} (100%) rename content/news/2007/fall/{2007-09-09-dtbartle.md => 2007-09-09-dtbartle-1e3191.md} (100%) rename content/news/2007/spring/{2007-05-11-mspang.md => 2007-05-11-mspang-6ef6f4.md} (100%) rename content/news/2007/winter/{2007-01-12-daltenty.md => 2007-01-12-daltenty-21fc58.md} (100%) rename content/news/2008/fall/{2008-09-16-dtbartle.md => 2008-09-16-dtbartle-ecd9a3.md} (100%) rename content/news/2008/spring/{2008-05-04-dtbartle.md => 2008-05-04-dtbartle-c82f66.md} (50%) rename content/news/2008/spring/{2008-05-16-b4taylor.md => 2008-05-16-b4taylor-412b68.md} (100%) rename content/news/2008/winter/{2008-01-08-dtbartle.md => 2008-01-08-dtbartle-11500c.md} (100%) rename content/news/2008/winter/{2008-01-15-dtbartle.md => 2008-01-15-dtbartle-4f6743.md} (100%) rename content/news/2009/fall/{2009-10-02-ebering.md => 2009-10-02-ebering-d067f2.md} (100%) rename content/news/2009/fall/{2009-10-17-ebering.md => 2009-10-17-ebering-b8180b.md} (100%) rename content/news/2009/spring/{2009-05-04-kspaans.md => 2009-05-04-kspaans-a1eebf.md} (100%) rename content/news/2009/spring/{2009-05-12-kspaans.md => 2009-05-12-kspaans-5f0506.md} (100%) rename content/news/2009/spring/{2009-05-14-ebering.md => 2009-05-14-ebering-c774cb.md} (100%) rename content/news/2009/spring/{2009-05-26-j3parker.md => 2009-05-26-j3parker-e50cb7.md} (100%) rename content/news/2009/spring/{2009-06-18-mgregson.md => 2009-06-18-mgregson-1828cc.md} (100%) rename content/news/2009/winter/{2009-01-06-b4taylor.md => 2009-01-06-b4taylor-400664.md} (100%) rename content/news/2009/winter/{2009-01-29-mgregson.md => 2009-01-29-mgregson-93eb1e.md} (100%) rename content/news/2009/winter/{2009-03-24-ebering.md => 2009-03-24-ebering-d6f8f5.md} (100%) rename content/news/2009/winter/{2009-04-13-ebering.md => 2009-04-13-ebering-d67574.md} (100%) rename content/news/2010/fall/{2010-09-04-m2ellis.md => 2010-09-04-m2ellis-cedb0c.md} (100%) rename content/news/2010/fall/{2010-09-10-m2ellis.md => 2010-09-10-m2ellis-eadf6e.md} (100%) rename content/news/2010/fall/{2010-09-12-m2ellis.md => 2010-09-12-m2ellis-346b67.md} (100%) rename content/news/2010/fall/{2010-09-14-m2ellis.md => 2010-09-14-m2ellis-7d35df.md} (100%) rename content/news/2010/fall/{2010-09-22-m2ellis.md => 2010-09-22-m2ellis-f78d49.md} (100%) rename content/news/2010/fall/{2010-11-03-ebering.md => 2010-11-03-ebering-5e3c16.md} (100%) rename content/news/2010/spring/{2010-05-10-ebering.md => 2010-05-10-ebering-c7a095.md} (100%) rename content/news/2010/spring/{2010-05-11-ebering.md => 2010-05-11-ebering-918ddf.md} (100%) rename content/news/2010/winter/{2010-02-01-ebering.md => 2010-02-01-ebering-e69ae7.md} (100%) rename content/news/2011/fall/{2011-09-08-jy2wong.md => 2011-09-08-jy2wong-d99031.md} (100%) rename content/news/2011/fall/{2011-09-18-ebering.md => 2011-09-18-ebering-50c248.md} (100%) rename content/news/2011/fall/{2011-09-19-ebering.md => 2011-09-19-ebering-3e5766.md} (100%) rename content/news/2011/spring/{2011-05-09-ebering.md => 2011-05-09-ebering-7a89ff.md} (100%) rename content/news/2011/winter/{2011-01-04-scshunt.md => 2011-01-04-scshunt-5c680c.md} (100%) rename content/news/2011/winter/{2011-01-06-scshunt.md => 2011-01-06-scshunt-88b3d8.md} (100%) rename content/news/2011/winter/{2011-01-11-scshunt.md => 2011-01-11-scshunt-299375.md} (100%) rename content/news/2011/winter/{2011-01-12-scshunt.md => 2011-01-12-scshunt-87299f.md} (100%) create mode 100644 content/news/2011/winter/2011-01-12-scshunt-9c63b9.md rename content/news/2012/fall/{2012-09-04-m4burns.md => 2012-09-04-m4burns-ce433e.md} (100%) rename content/news/2012/fall/{2012-10-03-jbroman.md => 2012-10-03-jbroman-46c9e3.md} (100%) rename content/news/2012/spring/{2012-06-06-m4burns.md => 2012-06-06-m4burns-1a39cc.md} (100%) rename content/news/2012/winter/{2012-01-12-jy2wong.md => 2012-01-12-jy2wong-1f02e3.md} (100%) rename content/news/2012/winter/{2012-02-13-m4burns.md => 2012-02-13-m4burns-e08350.md} (100%) rename content/news/2012/winter/{2012-02-27-ehashman.md => 2012-02-27-ehashman-a6df83.md} (100%) rename content/news/2013/fall/{2013-09-17-jbroman.md => 2013-09-17-jbroman-8f02b4.md} (100%) rename content/news/2013/fall/{2013-09-29-ehashman.md => 2013-09-29-ehashman-45346e.md} (100%) rename content/news/2013/fall/{2013-10-01-ehashman.md => 2013-10-01-ehashman-8d5262.md} (100%) rename content/news/2013/fall/{2013-10-18-ehashman.md => 2013-10-18-ehashman-72ae86.md} (100%) rename content/news/2013/fall/{2013-10-23-ehashman.md => 2013-10-23-ehashman-3dbdc1.md} (100%) rename content/news/2013/spring/{2013-05-06-scshunt.md => 2013-05-06-scshunt-2e5d9f.md} (100%) rename content/news/2013/spring/{2013-05-16-omsmith.md => 2013-05-16-omsmith-20694e.md} (100%) rename content/news/2013/spring/{2013-05-28-ehashman.md => 2013-05-28-ehashman-50295d.md} (100%) rename content/news/2013/winter/{2013-01-17-omsmith.md => 2013-01-17-omsmith-28578e.md} (100%) rename content/news/2014/fall/{2014-09-22-yj7kim.md => 2014-09-22-yj7kim-4eb444.md} (100%) rename content/news/2014/fall/{2014-10-15-scshunt.md => 2014-10-15-scshunt-de9b61.md} (100%) rename content/news/2014/fall/{2014-11-05-glgambet.md => 2014-11-05-glgambet-9bae98.md} (100%) rename content/news/2014/spring/{2014-05-15-b2coutts.md => 2014-05-15-b2coutts-68a4a5.md} (100%) rename content/news/2014/winter/{2014-01-16-jbroman.md => 2014-01-16-jbroman-51419e.md} (100%) rename content/news/2015/spring/{2015-05-14-glgambet.md => 2015-05-14-glgambet-8d07ec.md} (100%) rename content/news/2015/spring/{2015-05-22-kpwarr.md => 2015-05-22-kpwarr-fb4a99.md} (100%) rename content/news/2015/winter/{2015-01-16-yj7kim.md => 2015-01-16-yj7kim-4d0998.md} (100%) rename content/news/2015/winter/{2015-03-17-glgambet.md => 2015-03-17-glgambet-33f558.md} (100%) rename content/news/2015/winter/{2015-03-27-glgambet.md => 2015-03-27-glgambet-f83766.md} (100%) rename content/news/2016/fall/{2016-09-19-ztseguin.md => 2016-09-19-ztseguin-ecba56.md} (100%) rename content/news/2016/fall/{2016-10-18-ztseguin.md => 2016-10-18-ztseguin-e6971d.md} (100%) rename content/news/2016/fall/{2016-11-10-ubarar.md => 2016-11-10-ubarar-3e7bde.md} (100%) rename content/news/2016/fall/{2016-11-20-ztseguin.md => 2016-11-20-ztseguin-0b8ed4.md} (100%) rename content/news/2016/spring/{2016-05-12-pj2melan.md => 2016-05-12-pj2melan-f6f27f.md} (100%) rename content/news/2016/winter/{2016-01-14-pj2melan.md => 2016-01-14-pj2melan-3f60a2.md} (100%) rename content/news/2016/winter/{2016-01-21-ztseguin.md => 2016-01-21-ztseguin-72d5b4.md} (100%) rename content/news/2016/winter/{2016-02-09-ztseguin.md => 2016-02-09-ztseguin-42c3d6.md} (100%) rename content/news/2017/spring/{2017-05-17-ztseguin.md => 2017-05-17-ztseguin-0ada22.md} (100%) rename content/news/2017/winter/{2017-01-14-b2coutts.md => 2017-01-14-b2coutts-26c28d.md} (100%) rename content/news/2018/fall/{2018-09-01-ztseguin.md => 2018-09-01-ztseguin-06d363.md} (97%) rename content/news/2018/fall/{2018-09-12-c7zou.md => 2018-09-12-c7zou-987f2c.md} (100%) rename content/news/2018/fall/{2018-09-18-n3parikh.md => 2018-09-18-n3parikh-42ae8c.md} (100%) rename content/news/2018/fall/{2018-10-07-ztseguin.md => 2018-10-07-ztseguin-9c2174.md} (100%) rename content/news/2018/fall/{2018-10-29-n3parikh.md => 2018-10-29-n3parikh-142076.md} (100%) rename content/news/2018/spring/{2018-05-14-mnmailho.md => 2018-05-14-mnmailho-e15105.md} (100%) rename content/news/2018/spring/{2018-05-14-pj2melan.md => 2018-05-14-pj2melan-f44c91.md} (100%) rename content/news/2018/spring/{2018-07-18-ztseguin.md => 2018-07-18-ztseguin-dd1aa1.md} (100%) rename content/news/2018/{2018-08-31-ztseguin.md => spring/2018-08-31-ztseguin-5269f7.md} (100%) rename content/news/2018/winter/{2018-03-26-pj2melan.md => 2018-03-26-pj2melan-8ddac4.md} (100%) rename content/news/2019/fall/{2019-09-13-mtrberzi.md => 2019-09-13-mtrberzi-fead22.md} (100%) rename content/news/2019/spring/{2019-05-16-s455wang.md => 2019-05-16-s455wang-dfe1a9.md} (100%) rename content/news/2019/spring/{2019-08-11-s455wang.md => 2019-08-11-s455wang-d44d2d.md} (100%) rename content/news/2019/spring/{2019-08-21-ztseguin.md => 2019-08-21-ztseguin-eee44d.md} (100%) rename content/news/2019/winter/{2019-01-16-a3thakra.md => 2019-01-16-a3thakra-787058.md} (100%) rename content/news/2019/winter/{2019-01-17-a3thakra.md => 2019-01-17-a3thakra-cb5d44.md} (100%) rename content/news/2019/winter/{2019-02-19-a3thakra.md => 2019-02-19-a3thakra-8ccef8.md} (100%) rename content/news/2020/fall/{2020-09-12-abandali.md => 2020-09-12-abandali-cd398d.md} (100%) rename content/news/2020/fall/{2020-09-12-agaikova.md => 2020-09-12-agaikova-ea8211.md} (100%) rename content/news/2020/fall/{2020-09-28-abandali.md => 2020-09-28-abandali-c9f0c8.md} (100%) rename content/news/2020/fall/{2020-09-28-agaikova.md => 2020-09-28-agaikova-6b81be.md} (100%) rename content/news/2020/spring/{2020-05-05-n3parikh.md => 2020-05-05-n3parikh-031bad.md} (100%) rename content/news/2020/spring/{2020-05-13-n3parikh.md => 2020-05-13-n3parikh-169dca.md} (100%) rename content/news/2020/spring/{2020-05-26-ztseguin.md => 2020-05-26-ztseguin-f7bd50.md} (100%) rename content/news/2020/spring/{2020-05-28-abandali.md => 2020-05-28-abandali-e7bb8b.md} (100%) rename content/news/2020/spring/{2020-07-27-abandali.md => 2020-07-27-abandali-fad782.md} (100%) rename content/news/2020/winter/{2020-01-15-n3parikh.md => 2020-01-15-n3parikh-feedab.md} (100%) rename content/news/2020/winter/{2020-04-15-n3parikh.md => 2020-04-15-n3parikh-18c016.md} (100%) rename content/news/2021/spring/{2021-05-07-n3parikh.md => 2021-05-07-n3parikh-9d0a9c.md} (100%) rename content/news/2021/spring/{2021-05-14-merenber.md => 2021-05-14-merenber-53b3f8.md} (100%) rename content/news/2021/spring/{2021-05-29-merenber.md => 2021-05-29-merenber-c5ca04.md} (100%) create mode 100644 content/news/2021/spring/2021-06-06-n3parikh-0ce62b.md rename content/news/2021/spring/{2021-06-06-n3parikh.md => 2021-06-06-n3parikh-e2ed48.md} (100%) create mode 100644 content/news/2021/spring/2021-07-14-n3parikh-052625.md create mode 100644 content/news/2021/spring/2021-07-14-n3parikh-d7475d.md rename content/news/2021/winter/{2021-01-11-n3parikh.md => 2021-01-11-n3parikh-f87df7.md} (100%) rename content/news/2021/winter/{2021-01-13-n3parikh.md => 2021-01-13-n3parikh-a6f356.md} (100%) rename content/news/2021/winter/{2021-01-21-n3parikh.md => 2021-01-21-n3parikh-b645e7.md} (100%) rename content/news/2021/winter/{2021-03-01-n3parikh.md => 2021-03-01-n3parikh-17459c.md} (100%) rename content/news/2021/winter/{2021-03-07-merenber.md => 2021-03-07-merenber-a8cc2f.md} (100%) rename content/news/2021/winter/{2021-03-12-n3parikh.md => 2021-03-12-n3parikh-e3e7bb.md} (100%) rename content/news/2021/winter/{2021-03-19-merenber.md => 2021-03-19-merenber-90d74b.md} (100%) rename content/news/2021/winter/{2021-03-29-merenber.md => 2021-03-29-merenber-f78eee.md} (100%) rename content/news/2021/winter/{2021-03-31-merenber.md => 2021-03-31-merenber-6a9584.md} (100%) rename content/news/2021/winter/{2021-04-09-n3parikh.md => 2021-04-09-n3parikh-3f0bce.md} (100%) diff --git a/content/news/2002/fall/2002-09-16-sjdutoit.md b/content/news/2002/fall/2002-09-16-sjdutoit-35c9a5.md similarity index 100% rename from content/news/2002/fall/2002-09-16-sjdutoit.md rename to content/news/2002/fall/2002-09-16-sjdutoit-35c9a5.md diff --git a/content/news/2002/fall/2002-09-18-sjdutoit.md b/content/news/2002/fall/2002-09-18-sjdutoit-8db635.md similarity index 100% rename from content/news/2002/fall/2002-09-18-sjdutoit.md rename to content/news/2002/fall/2002-09-18-sjdutoit-8db635.md diff --git a/content/news/2002/fall/2002-09-30-sjdutoit.md b/content/news/2002/fall/2002-09-30-sjdutoit-f28c49.md similarity index 100% rename from content/news/2002/fall/2002-09-30-sjdutoit.md rename to content/news/2002/fall/2002-09-30-sjdutoit-f28c49.md diff --git a/content/news/2002/fall/2002-10-29-sjdutoit.md b/content/news/2002/fall/2002-10-29-sjdutoit-491492.md similarity index 100% rename from content/news/2002/fall/2002-10-29-sjdutoit.md rename to content/news/2002/fall/2002-10-29-sjdutoit-491492.md diff --git a/content/news/2002/winter/2002-02-03-sjdutoit.md b/content/news/2002/winter/2002-02-03-sjdutoit-c75285.md similarity index 100% rename from content/news/2002/winter/2002-02-03-sjdutoit.md rename to content/news/2002/winter/2002-02-03-sjdutoit-c75285.md diff --git a/content/news/2002/winter/2002-02-04-sjdutoit.md b/content/news/2002/winter/2002-02-04-sjdutoit-a0e4fb.md similarity index 100% rename from content/news/2002/winter/2002-02-04-sjdutoit.md rename to content/news/2002/winter/2002-02-04-sjdutoit-a0e4fb.md diff --git a/content/news/2002/winter/2002-04-15-sjdutoit-3784f2.md b/content/news/2002/winter/2002-04-15-sjdutoit-3784f2.md new file mode 100644 index 00000000..5fbf340d --- /dev/null +++ b/content/news/2002/winter/2002-04-15-sjdutoit-3784f2.md @@ -0,0 +1,6 @@ +--- +author: 'sjdutoit' +date: 'Mon Apr 15 2002 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +Added a bunch of [old events]() and some documents, including the [constitution](). \ No newline at end of file diff --git a/content/news/2002/winter/2002-04-15-sjdutoit.md b/content/news/2002/winter/2002-04-15-sjdutoit-a7a80c.md similarity index 100% rename from content/news/2002/winter/2002-04-15-sjdutoit.md rename to content/news/2002/winter/2002-04-15-sjdutoit-a7a80c.md diff --git a/content/news/2002/winter/2002-04-22-sjdutoit.md b/content/news/2002/winter/2002-04-22-sjdutoit-fc28c9.md similarity index 100% rename from content/news/2002/winter/2002-04-22-sjdutoit.md rename to content/news/2002/winter/2002-04-22-sjdutoit-fc28c9.md diff --git a/content/news/2003/fall/2003-09-17-sfllaw.md b/content/news/2003/fall/2003-09-17-sfllaw-88bade.md similarity index 100% rename from content/news/2003/fall/2003-09-17-sfllaw.md rename to content/news/2003/fall/2003-09-17-sfllaw-88bade.md diff --git a/content/news/2003/spring/2003-05-14-sjdutoit.md b/content/news/2003/spring/2003-05-14-sjdutoit-157b55.md similarity index 100% rename from content/news/2003/spring/2003-05-14-sjdutoit.md rename to content/news/2003/spring/2003-05-14-sjdutoit-157b55.md diff --git a/content/news/2003/spring/2003-06-05-sfllaw.md b/content/news/2003/spring/2003-06-05-sfllaw-b09e42.md similarity index 100% rename from content/news/2003/spring/2003-06-05-sfllaw.md rename to content/news/2003/spring/2003-06-05-sfllaw-b09e42.md diff --git a/content/news/2003/spring/2003-07-03-sfllaw.md b/content/news/2003/spring/2003-07-03-sfllaw-0ac342.md similarity index 100% rename from content/news/2003/spring/2003-07-03-sfllaw.md rename to content/news/2003/spring/2003-07-03-sfllaw-0ac342.md diff --git a/content/news/2003/spring/2003-07-09-ja2morri.md b/content/news/2003/spring/2003-07-09-ja2morri-964bcc.md similarity index 100% rename from content/news/2003/spring/2003-07-09-ja2morri.md rename to content/news/2003/spring/2003-07-09-ja2morri-964bcc.md diff --git a/content/news/2003/spring/2003-08-06-ja2morri.md b/content/news/2003/spring/2003-08-06-ja2morri-d5c161.md similarity index 100% rename from content/news/2003/spring/2003-08-06-ja2morri.md rename to content/news/2003/spring/2003-08-06-ja2morri-d5c161.md diff --git a/content/news/2003/spring/2003-08-12-ja2morri-f68082.md b/content/news/2003/spring/2003-08-12-ja2morri-f68082.md new file mode 100644 index 00000000..252624b4 --- /dev/null +++ b/content/news/2003/spring/2003-08-12-ja2morri-f68082.md @@ -0,0 +1,6 @@ +--- +author: 'ja2morri' +date: 'Tue Aug 12 2003 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +`carbonated-water`, `h2o`, is back up. It's a great machine for reading mail on. \ No newline at end of file diff --git a/content/news/2003/spring/2003-08-12-ja2morri.md b/content/news/2003/spring/2003-08-12-ja2morri-fb31df.md similarity index 100% rename from content/news/2003/spring/2003-08-12-ja2morri.md rename to content/news/2003/spring/2003-08-12-ja2morri-fb31df.md diff --git a/content/news/2003/winter/2003-01-13-sfllaw.md b/content/news/2003/winter/2003-01-13-sfllaw-f11880.md similarity index 100% rename from content/news/2003/winter/2003-01-13-sfllaw.md rename to content/news/2003/winter/2003-01-13-sfllaw-f11880.md diff --git a/content/news/2004/fall/2004-09-15-mbiggs.md b/content/news/2004/fall/2004-09-15-mbiggs-a2a7e4.md similarity index 100% rename from content/news/2004/fall/2004-09-15-mbiggs.md rename to content/news/2004/fall/2004-09-15-mbiggs-a2a7e4.md diff --git a/content/news/2004/fall/2004-09-27-jeperry.md b/content/news/2004/fall/2004-09-27-jeperry-c2312b.md similarity index 100% rename from content/news/2004/fall/2004-09-27-jeperry.md rename to content/news/2004/fall/2004-09-27-jeperry-c2312b.md diff --git a/content/news/2004/fall/2004-10-23-jeperry.md b/content/news/2004/fall/2004-10-23-jeperry-eaa7d1.md similarity index 100% rename from content/news/2004/fall/2004-10-23-jeperry.md rename to content/news/2004/fall/2004-10-23-jeperry-eaa7d1.md diff --git a/content/news/2004/spring/2004-05-12-mbiggs.md b/content/news/2004/spring/2004-05-12-mbiggs-709351.md similarity index 100% rename from content/news/2004/spring/2004-05-12-mbiggs.md rename to content/news/2004/spring/2004-05-12-mbiggs-709351.md diff --git a/content/news/2004/spring/2004-05-31-zbnichol.md b/content/news/2004/spring/2004-05-31-zbnichol-0a8813.md similarity index 100% rename from content/news/2004/spring/2004-05-31-zbnichol.md rename to content/news/2004/spring/2004-05-31-zbnichol-0a8813.md diff --git a/content/news/2004/winter/2004-01-22-sfllaw.md b/content/news/2004/winter/2004-01-22-sfllaw-d12535.md similarity index 100% rename from content/news/2004/winter/2004-01-22-sfllaw.md rename to content/news/2004/winter/2004-01-22-sfllaw-d12535.md diff --git a/content/news/2004/winter/2004-01-25-sfllaw.md b/content/news/2004/winter/2004-01-25-sfllaw-033287.md similarity index 100% rename from content/news/2004/winter/2004-01-25-sfllaw.md rename to content/news/2004/winter/2004-01-25-sfllaw-033287.md diff --git a/content/news/2004/winter/2004-02-02-sfllaw.md b/content/news/2004/winter/2004-02-02-sfllaw-15f29d.md similarity index 100% rename from content/news/2004/winter/2004-02-02-sfllaw.md rename to content/news/2004/winter/2004-02-02-sfllaw-15f29d.md diff --git a/content/news/2004/winter/2004-02-05-sfllaw.md b/content/news/2004/winter/2004-02-05-sfllaw-946fa7.md similarity index 100% rename from content/news/2004/winter/2004-02-05-sfllaw.md rename to content/news/2004/winter/2004-02-05-sfllaw-946fa7.md diff --git a/content/news/2004/winter/2004-03-16-sfllaw.md b/content/news/2004/winter/2004-03-16-sfllaw-48f1e9.md similarity index 100% rename from content/news/2004/winter/2004-03-16-sfllaw.md rename to content/news/2004/winter/2004-03-16-sfllaw-48f1e9.md diff --git a/content/news/2004/winter/2004-03-19-sfllaw.md b/content/news/2004/winter/2004-03-19-sfllaw-d99436.md similarity index 100% rename from content/news/2004/winter/2004-03-19-sfllaw.md rename to content/news/2004/winter/2004-03-19-sfllaw-d99436.md diff --git a/content/news/2004/winter/2004-04-01-sfllaw.md b/content/news/2004/winter/2004-04-01-sfllaw-e42a05.md similarity index 100% rename from content/news/2004/winter/2004-04-01-sfllaw.md rename to content/news/2004/winter/2004-04-01-sfllaw-e42a05.md diff --git a/content/news/2004/winter/2004-04-02-sfllaw.md b/content/news/2004/winter/2004-04-02-sfllaw-b6effa.md similarity index 100% rename from content/news/2004/winter/2004-04-02-sfllaw.md rename to content/news/2004/winter/2004-04-02-sfllaw-b6effa.md diff --git a/content/news/2004/winter/2004-04-07-mbiggs.md b/content/news/2004/winter/2004-04-07-mbiggs-eb3e23.md similarity index 100% rename from content/news/2004/winter/2004-04-07-mbiggs.md rename to content/news/2004/winter/2004-04-07-mbiggs-eb3e23.md diff --git a/content/news/2004/winter/2004-04-16-sfllaw-399637.md b/content/news/2004/winter/2004-04-16-sfllaw-399637.md new file mode 100644 index 00000000..e9246d67 --- /dev/null +++ b/content/news/2004/winter/2004-04-16-sfllaw-399637.md @@ -0,0 +1,6 @@ +--- +author: 'sfllaw' +date: 'Fri Apr 16 2004 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +`carbonated-water` is back up. It now runs as the backup mail exchange and also serves a a slave LDAP server. What this means is that if `perpugilliam` goes down, your mail will not be dropped and you'll still be able to login to other machines. \ No newline at end of file diff --git a/content/news/2004/winter/2004-04-16-sfllaw.md b/content/news/2004/winter/2004-04-16-sfllaw-9417ab.md similarity index 100% rename from content/news/2004/winter/2004-04-16-sfllaw.md rename to content/news/2004/winter/2004-04-16-sfllaw-9417ab.md diff --git a/content/news/2004/winter/2004-04-19-sfllaw.md b/content/news/2004/winter/2004-04-19-sfllaw-d8e9e0.md similarity index 100% rename from content/news/2004/winter/2004-04-19-sfllaw.md rename to content/news/2004/winter/2004-04-19-sfllaw-d8e9e0.md diff --git a/content/news/2006/fall/2006-09-21-woconnor.md b/content/news/2006/fall/2006-09-21-woconnor-a3e5b7.md similarity index 100% rename from content/news/2006/fall/2006-09-21-woconnor.md rename to content/news/2006/fall/2006-09-21-woconnor-a3e5b7.md diff --git a/content/news/2006/spring/2006-05-10-hkarau.md b/content/news/2006/spring/2006-05-10-hkarau-033a60.md similarity index 100% rename from content/news/2006/spring/2006-05-10-hkarau.md rename to content/news/2006/spring/2006-05-10-hkarau-033a60.md diff --git a/content/news/2006/spring/2006-05-19-hkarau.md b/content/news/2006/spring/2006-05-19-hkarau-cd79ed.md similarity index 100% rename from content/news/2006/spring/2006-05-19-hkarau.md rename to content/news/2006/spring/2006-05-19-hkarau-cd79ed.md diff --git a/content/news/2006/spring/2006-06-04-hkarau.md b/content/news/2006/spring/2006-06-04-hkarau-d96598.md similarity index 100% rename from content/news/2006/spring/2006-06-04-hkarau.md rename to content/news/2006/spring/2006-06-04-hkarau-d96598.md diff --git a/content/news/2006/winter/2006-01-10-ddenisen.md b/content/news/2006/winter/2006-01-10-ddenisen-3f8cc0.md similarity index 100% rename from content/news/2006/winter/2006-01-10-ddenisen.md rename to content/news/2006/winter/2006-01-10-ddenisen-3f8cc0.md diff --git a/content/news/2007/fall/2007-09-01-dtbartle-60b881.md b/content/news/2007/fall/2007-09-01-dtbartle-60b881.md new file mode 100644 index 00000000..818568fd --- /dev/null +++ b/content/news/2007/fall/2007-09-01-dtbartle-60b881.md @@ -0,0 +1,6 @@ +--- +author: 'dtbartle' +date: 'Sat Sep 01 2007 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +Nominations are now being accepted for Fall 2007 executive positions. Nominiations close on Sept 19 at 4:30 pm. See [uw.csc]() for details. \ No newline at end of file diff --git a/content/news/2007/fall/2007-09-01-dtbartle.md b/content/news/2007/fall/2007-09-01-dtbartle-a3778f.md similarity index 100% rename from content/news/2007/fall/2007-09-01-dtbartle.md rename to content/news/2007/fall/2007-09-01-dtbartle-a3778f.md diff --git a/content/news/2007/fall/2007-09-09-dtbartle.md b/content/news/2007/fall/2007-09-09-dtbartle-1e3191.md similarity index 100% rename from content/news/2007/fall/2007-09-09-dtbartle.md rename to content/news/2007/fall/2007-09-09-dtbartle-1e3191.md diff --git a/content/news/2007/spring/2007-05-11-mspang.md b/content/news/2007/spring/2007-05-11-mspang-6ef6f4.md similarity index 100% rename from content/news/2007/spring/2007-05-11-mspang.md rename to content/news/2007/spring/2007-05-11-mspang-6ef6f4.md diff --git a/content/news/2007/winter/2007-01-12-daltenty.md b/content/news/2007/winter/2007-01-12-daltenty-21fc58.md similarity index 100% rename from content/news/2007/winter/2007-01-12-daltenty.md rename to content/news/2007/winter/2007-01-12-daltenty-21fc58.md diff --git a/content/news/2008/fall/2008-09-16-dtbartle.md b/content/news/2008/fall/2008-09-16-dtbartle-ecd9a3.md similarity index 100% rename from content/news/2008/fall/2008-09-16-dtbartle.md rename to content/news/2008/fall/2008-09-16-dtbartle-ecd9a3.md diff --git a/content/news/2008/spring/2008-05-04-dtbartle.md b/content/news/2008/spring/2008-05-04-dtbartle-c82f66.md similarity index 50% rename from content/news/2008/spring/2008-05-04-dtbartle.md rename to content/news/2008/spring/2008-05-04-dtbartle-c82f66.md index 6b2c58cd..93efd62d 100644 --- a/content/news/2008/spring/2008-05-04-dtbartle.md +++ b/content/news/2008/spring/2008-05-04-dtbartle-c82f66.md @@ -5,8 +5,8 @@ date: 'Sun May 04 2008 01:00:00 GMT-0400 (Eastern Daylight Time)' Spring 2008 elections will be held on Tuesday May 13th at 4:30pm in the Comfy Lounge. - Get your nominations in as soon as possible on the CSC whiteboard! +Get your nominations in as soon as possible on the CSC whiteboard! - Nominations close 24 hours before the polls open. +Nominations close 24 hours before the polls open. - You can email your nominations to cro@csclub.uwaterloo.ca \ No newline at end of file +You can email your nominations to cro@csclub.uwaterloo.ca \ No newline at end of file diff --git a/content/news/2008/spring/2008-05-16-b4taylor.md b/content/news/2008/spring/2008-05-16-b4taylor-412b68.md similarity index 100% rename from content/news/2008/spring/2008-05-16-b4taylor.md rename to content/news/2008/spring/2008-05-16-b4taylor-412b68.md diff --git a/content/news/2008/winter/2008-01-08-dtbartle.md b/content/news/2008/winter/2008-01-08-dtbartle-11500c.md similarity index 100% rename from content/news/2008/winter/2008-01-08-dtbartle.md rename to content/news/2008/winter/2008-01-08-dtbartle-11500c.md diff --git a/content/news/2008/winter/2008-01-15-dtbartle.md b/content/news/2008/winter/2008-01-15-dtbartle-4f6743.md similarity index 100% rename from content/news/2008/winter/2008-01-15-dtbartle.md rename to content/news/2008/winter/2008-01-15-dtbartle-4f6743.md diff --git a/content/news/2009/fall/2009-10-02-ebering.md b/content/news/2009/fall/2009-10-02-ebering-d067f2.md similarity index 100% rename from content/news/2009/fall/2009-10-02-ebering.md rename to content/news/2009/fall/2009-10-02-ebering-d067f2.md diff --git a/content/news/2009/fall/2009-10-17-ebering.md b/content/news/2009/fall/2009-10-17-ebering-b8180b.md similarity index 100% rename from content/news/2009/fall/2009-10-17-ebering.md rename to content/news/2009/fall/2009-10-17-ebering-b8180b.md diff --git a/content/news/2009/spring/2009-05-04-kspaans.md b/content/news/2009/spring/2009-05-04-kspaans-a1eebf.md similarity index 100% rename from content/news/2009/spring/2009-05-04-kspaans.md rename to content/news/2009/spring/2009-05-04-kspaans-a1eebf.md diff --git a/content/news/2009/spring/2009-05-12-kspaans.md b/content/news/2009/spring/2009-05-12-kspaans-5f0506.md similarity index 100% rename from content/news/2009/spring/2009-05-12-kspaans.md rename to content/news/2009/spring/2009-05-12-kspaans-5f0506.md diff --git a/content/news/2009/spring/2009-05-14-ebering.md b/content/news/2009/spring/2009-05-14-ebering-c774cb.md similarity index 100% rename from content/news/2009/spring/2009-05-14-ebering.md rename to content/news/2009/spring/2009-05-14-ebering-c774cb.md diff --git a/content/news/2009/spring/2009-05-26-j3parker.md b/content/news/2009/spring/2009-05-26-j3parker-e50cb7.md similarity index 100% rename from content/news/2009/spring/2009-05-26-j3parker.md rename to content/news/2009/spring/2009-05-26-j3parker-e50cb7.md diff --git a/content/news/2009/spring/2009-06-18-mgregson.md b/content/news/2009/spring/2009-06-18-mgregson-1828cc.md similarity index 100% rename from content/news/2009/spring/2009-06-18-mgregson.md rename to content/news/2009/spring/2009-06-18-mgregson-1828cc.md diff --git a/content/news/2009/winter/2009-01-06-b4taylor.md b/content/news/2009/winter/2009-01-06-b4taylor-400664.md similarity index 100% rename from content/news/2009/winter/2009-01-06-b4taylor.md rename to content/news/2009/winter/2009-01-06-b4taylor-400664.md diff --git a/content/news/2009/winter/2009-01-29-mgregson.md b/content/news/2009/winter/2009-01-29-mgregson-93eb1e.md similarity index 100% rename from content/news/2009/winter/2009-01-29-mgregson.md rename to content/news/2009/winter/2009-01-29-mgregson-93eb1e.md diff --git a/content/news/2009/winter/2009-03-24-ebering.md b/content/news/2009/winter/2009-03-24-ebering-d6f8f5.md similarity index 100% rename from content/news/2009/winter/2009-03-24-ebering.md rename to content/news/2009/winter/2009-03-24-ebering-d6f8f5.md diff --git a/content/news/2009/winter/2009-04-13-ebering.md b/content/news/2009/winter/2009-04-13-ebering-d67574.md similarity index 100% rename from content/news/2009/winter/2009-04-13-ebering.md rename to content/news/2009/winter/2009-04-13-ebering-d67574.md diff --git a/content/news/2010/fall/2010-09-04-m2ellis.md b/content/news/2010/fall/2010-09-04-m2ellis-cedb0c.md similarity index 100% rename from content/news/2010/fall/2010-09-04-m2ellis.md rename to content/news/2010/fall/2010-09-04-m2ellis-cedb0c.md diff --git a/content/news/2010/fall/2010-09-10-m2ellis.md b/content/news/2010/fall/2010-09-10-m2ellis-eadf6e.md similarity index 100% rename from content/news/2010/fall/2010-09-10-m2ellis.md rename to content/news/2010/fall/2010-09-10-m2ellis-eadf6e.md diff --git a/content/news/2010/fall/2010-09-12-m2ellis.md b/content/news/2010/fall/2010-09-12-m2ellis-346b67.md similarity index 100% rename from content/news/2010/fall/2010-09-12-m2ellis.md rename to content/news/2010/fall/2010-09-12-m2ellis-346b67.md diff --git a/content/news/2010/fall/2010-09-14-m2ellis.md b/content/news/2010/fall/2010-09-14-m2ellis-7d35df.md similarity index 100% rename from content/news/2010/fall/2010-09-14-m2ellis.md rename to content/news/2010/fall/2010-09-14-m2ellis-7d35df.md diff --git a/content/news/2010/fall/2010-09-22-m2ellis.md b/content/news/2010/fall/2010-09-22-m2ellis-f78d49.md similarity index 100% rename from content/news/2010/fall/2010-09-22-m2ellis.md rename to content/news/2010/fall/2010-09-22-m2ellis-f78d49.md diff --git a/content/news/2010/fall/2010-11-03-ebering.md b/content/news/2010/fall/2010-11-03-ebering-5e3c16.md similarity index 100% rename from content/news/2010/fall/2010-11-03-ebering.md rename to content/news/2010/fall/2010-11-03-ebering-5e3c16.md diff --git a/content/news/2010/spring/2010-05-10-ebering.md b/content/news/2010/spring/2010-05-10-ebering-c7a095.md similarity index 100% rename from content/news/2010/spring/2010-05-10-ebering.md rename to content/news/2010/spring/2010-05-10-ebering-c7a095.md diff --git a/content/news/2010/spring/2010-05-11-ebering.md b/content/news/2010/spring/2010-05-11-ebering-918ddf.md similarity index 100% rename from content/news/2010/spring/2010-05-11-ebering.md rename to content/news/2010/spring/2010-05-11-ebering-918ddf.md diff --git a/content/news/2010/winter/2010-02-01-ebering.md b/content/news/2010/winter/2010-02-01-ebering-e69ae7.md similarity index 100% rename from content/news/2010/winter/2010-02-01-ebering.md rename to content/news/2010/winter/2010-02-01-ebering-e69ae7.md diff --git a/content/news/2011/fall/2011-09-08-jy2wong.md b/content/news/2011/fall/2011-09-08-jy2wong-d99031.md similarity index 100% rename from content/news/2011/fall/2011-09-08-jy2wong.md rename to content/news/2011/fall/2011-09-08-jy2wong-d99031.md diff --git a/content/news/2011/fall/2011-09-18-ebering.md b/content/news/2011/fall/2011-09-18-ebering-50c248.md similarity index 100% rename from content/news/2011/fall/2011-09-18-ebering.md rename to content/news/2011/fall/2011-09-18-ebering-50c248.md diff --git a/content/news/2011/fall/2011-09-19-ebering.md b/content/news/2011/fall/2011-09-19-ebering-3e5766.md similarity index 100% rename from content/news/2011/fall/2011-09-19-ebering.md rename to content/news/2011/fall/2011-09-19-ebering-3e5766.md diff --git a/content/news/2011/spring/2011-05-09-ebering.md b/content/news/2011/spring/2011-05-09-ebering-7a89ff.md similarity index 100% rename from content/news/2011/spring/2011-05-09-ebering.md rename to content/news/2011/spring/2011-05-09-ebering-7a89ff.md diff --git a/content/news/2011/winter/2011-01-04-scshunt.md b/content/news/2011/winter/2011-01-04-scshunt-5c680c.md similarity index 100% rename from content/news/2011/winter/2011-01-04-scshunt.md rename to content/news/2011/winter/2011-01-04-scshunt-5c680c.md diff --git a/content/news/2011/winter/2011-01-06-scshunt.md b/content/news/2011/winter/2011-01-06-scshunt-88b3d8.md similarity index 100% rename from content/news/2011/winter/2011-01-06-scshunt.md rename to content/news/2011/winter/2011-01-06-scshunt-88b3d8.md diff --git a/content/news/2011/winter/2011-01-11-scshunt.md b/content/news/2011/winter/2011-01-11-scshunt-299375.md similarity index 100% rename from content/news/2011/winter/2011-01-11-scshunt.md rename to content/news/2011/winter/2011-01-11-scshunt-299375.md diff --git a/content/news/2011/winter/2011-01-12-scshunt.md b/content/news/2011/winter/2011-01-12-scshunt-87299f.md similarity index 100% rename from content/news/2011/winter/2011-01-12-scshunt.md rename to content/news/2011/winter/2011-01-12-scshunt-87299f.md diff --git a/content/news/2011/winter/2011-01-12-scshunt-9c63b9.md b/content/news/2011/winter/2011-01-12-scshunt-9c63b9.md new file mode 100644 index 00000000..fe432dec --- /dev/null +++ b/content/news/2011/winter/2011-01-12-scshunt-9c63b9.md @@ -0,0 +1,16 @@ +--- +author: 'scshunt' +date: 'Wed Jan 12 2011 00:00:00 GMT-0500 (Eastern Standard Time)' +--- + +The election is over. The new executive are: + +- President: ebering +- Vice President: jy2wong +- Treasurer: kspaans +- Secretary: ehashman +- Sysadmin: pbarfuss + + + + The new Office Manager is m4burns. The new Librarian is asbumste. \ No newline at end of file diff --git a/content/news/2012/fall/2012-09-04-m4burns.md b/content/news/2012/fall/2012-09-04-m4burns-ce433e.md similarity index 100% rename from content/news/2012/fall/2012-09-04-m4burns.md rename to content/news/2012/fall/2012-09-04-m4burns-ce433e.md diff --git a/content/news/2012/fall/2012-10-03-jbroman.md b/content/news/2012/fall/2012-10-03-jbroman-46c9e3.md similarity index 100% rename from content/news/2012/fall/2012-10-03-jbroman.md rename to content/news/2012/fall/2012-10-03-jbroman-46c9e3.md diff --git a/content/news/2012/spring/2012-06-06-m4burns.md b/content/news/2012/spring/2012-06-06-m4burns-1a39cc.md similarity index 100% rename from content/news/2012/spring/2012-06-06-m4burns.md rename to content/news/2012/spring/2012-06-06-m4burns-1a39cc.md diff --git a/content/news/2012/winter/2012-01-12-jy2wong.md b/content/news/2012/winter/2012-01-12-jy2wong-1f02e3.md similarity index 100% rename from content/news/2012/winter/2012-01-12-jy2wong.md rename to content/news/2012/winter/2012-01-12-jy2wong-1f02e3.md diff --git a/content/news/2012/winter/2012-02-13-m4burns.md b/content/news/2012/winter/2012-02-13-m4burns-e08350.md similarity index 100% rename from content/news/2012/winter/2012-02-13-m4burns.md rename to content/news/2012/winter/2012-02-13-m4burns-e08350.md diff --git a/content/news/2012/winter/2012-02-27-ehashman.md b/content/news/2012/winter/2012-02-27-ehashman-a6df83.md similarity index 100% rename from content/news/2012/winter/2012-02-27-ehashman.md rename to content/news/2012/winter/2012-02-27-ehashman-a6df83.md diff --git a/content/news/2013/fall/2013-09-17-jbroman.md b/content/news/2013/fall/2013-09-17-jbroman-8f02b4.md similarity index 100% rename from content/news/2013/fall/2013-09-17-jbroman.md rename to content/news/2013/fall/2013-09-17-jbroman-8f02b4.md diff --git a/content/news/2013/fall/2013-09-29-ehashman.md b/content/news/2013/fall/2013-09-29-ehashman-45346e.md similarity index 100% rename from content/news/2013/fall/2013-09-29-ehashman.md rename to content/news/2013/fall/2013-09-29-ehashman-45346e.md diff --git a/content/news/2013/fall/2013-10-01-ehashman.md b/content/news/2013/fall/2013-10-01-ehashman-8d5262.md similarity index 100% rename from content/news/2013/fall/2013-10-01-ehashman.md rename to content/news/2013/fall/2013-10-01-ehashman-8d5262.md diff --git a/content/news/2013/fall/2013-10-18-ehashman.md b/content/news/2013/fall/2013-10-18-ehashman-72ae86.md similarity index 100% rename from content/news/2013/fall/2013-10-18-ehashman.md rename to content/news/2013/fall/2013-10-18-ehashman-72ae86.md diff --git a/content/news/2013/fall/2013-10-23-ehashman.md b/content/news/2013/fall/2013-10-23-ehashman-3dbdc1.md similarity index 100% rename from content/news/2013/fall/2013-10-23-ehashman.md rename to content/news/2013/fall/2013-10-23-ehashman-3dbdc1.md diff --git a/content/news/2013/spring/2013-05-06-scshunt.md b/content/news/2013/spring/2013-05-06-scshunt-2e5d9f.md similarity index 100% rename from content/news/2013/spring/2013-05-06-scshunt.md rename to content/news/2013/spring/2013-05-06-scshunt-2e5d9f.md diff --git a/content/news/2013/spring/2013-05-16-omsmith.md b/content/news/2013/spring/2013-05-16-omsmith-20694e.md similarity index 100% rename from content/news/2013/spring/2013-05-16-omsmith.md rename to content/news/2013/spring/2013-05-16-omsmith-20694e.md diff --git a/content/news/2013/spring/2013-05-28-ehashman.md b/content/news/2013/spring/2013-05-28-ehashman-50295d.md similarity index 100% rename from content/news/2013/spring/2013-05-28-ehashman.md rename to content/news/2013/spring/2013-05-28-ehashman-50295d.md diff --git a/content/news/2013/winter/2013-01-17-omsmith.md b/content/news/2013/winter/2013-01-17-omsmith-28578e.md similarity index 100% rename from content/news/2013/winter/2013-01-17-omsmith.md rename to content/news/2013/winter/2013-01-17-omsmith-28578e.md diff --git a/content/news/2014/fall/2014-09-22-yj7kim.md b/content/news/2014/fall/2014-09-22-yj7kim-4eb444.md similarity index 100% rename from content/news/2014/fall/2014-09-22-yj7kim.md rename to content/news/2014/fall/2014-09-22-yj7kim-4eb444.md diff --git a/content/news/2014/fall/2014-10-15-scshunt.md b/content/news/2014/fall/2014-10-15-scshunt-de9b61.md similarity index 100% rename from content/news/2014/fall/2014-10-15-scshunt.md rename to content/news/2014/fall/2014-10-15-scshunt-de9b61.md diff --git a/content/news/2014/fall/2014-11-05-glgambet.md b/content/news/2014/fall/2014-11-05-glgambet-9bae98.md similarity index 100% rename from content/news/2014/fall/2014-11-05-glgambet.md rename to content/news/2014/fall/2014-11-05-glgambet-9bae98.md diff --git a/content/news/2014/spring/2014-05-15-b2coutts.md b/content/news/2014/spring/2014-05-15-b2coutts-68a4a5.md similarity index 100% rename from content/news/2014/spring/2014-05-15-b2coutts.md rename to content/news/2014/spring/2014-05-15-b2coutts-68a4a5.md diff --git a/content/news/2014/winter/2014-01-16-jbroman.md b/content/news/2014/winter/2014-01-16-jbroman-51419e.md similarity index 100% rename from content/news/2014/winter/2014-01-16-jbroman.md rename to content/news/2014/winter/2014-01-16-jbroman-51419e.md diff --git a/content/news/2015/spring/2015-05-14-glgambet.md b/content/news/2015/spring/2015-05-14-glgambet-8d07ec.md similarity index 100% rename from content/news/2015/spring/2015-05-14-glgambet.md rename to content/news/2015/spring/2015-05-14-glgambet-8d07ec.md diff --git a/content/news/2015/spring/2015-05-22-kpwarr.md b/content/news/2015/spring/2015-05-22-kpwarr-fb4a99.md similarity index 100% rename from content/news/2015/spring/2015-05-22-kpwarr.md rename to content/news/2015/spring/2015-05-22-kpwarr-fb4a99.md diff --git a/content/news/2015/winter/2015-01-16-yj7kim.md b/content/news/2015/winter/2015-01-16-yj7kim-4d0998.md similarity index 100% rename from content/news/2015/winter/2015-01-16-yj7kim.md rename to content/news/2015/winter/2015-01-16-yj7kim-4d0998.md diff --git a/content/news/2015/winter/2015-03-17-glgambet.md b/content/news/2015/winter/2015-03-17-glgambet-33f558.md similarity index 100% rename from content/news/2015/winter/2015-03-17-glgambet.md rename to content/news/2015/winter/2015-03-17-glgambet-33f558.md diff --git a/content/news/2015/winter/2015-03-27-glgambet.md b/content/news/2015/winter/2015-03-27-glgambet-f83766.md similarity index 100% rename from content/news/2015/winter/2015-03-27-glgambet.md rename to content/news/2015/winter/2015-03-27-glgambet-f83766.md diff --git a/content/news/2016/fall/2016-09-19-ztseguin.md b/content/news/2016/fall/2016-09-19-ztseguin-ecba56.md similarity index 100% rename from content/news/2016/fall/2016-09-19-ztseguin.md rename to content/news/2016/fall/2016-09-19-ztseguin-ecba56.md diff --git a/content/news/2016/fall/2016-10-18-ztseguin.md b/content/news/2016/fall/2016-10-18-ztseguin-e6971d.md similarity index 100% rename from content/news/2016/fall/2016-10-18-ztseguin.md rename to content/news/2016/fall/2016-10-18-ztseguin-e6971d.md diff --git a/content/news/2016/fall/2016-11-10-ubarar.md b/content/news/2016/fall/2016-11-10-ubarar-3e7bde.md similarity index 100% rename from content/news/2016/fall/2016-11-10-ubarar.md rename to content/news/2016/fall/2016-11-10-ubarar-3e7bde.md diff --git a/content/news/2016/fall/2016-11-20-ztseguin.md b/content/news/2016/fall/2016-11-20-ztseguin-0b8ed4.md similarity index 100% rename from content/news/2016/fall/2016-11-20-ztseguin.md rename to content/news/2016/fall/2016-11-20-ztseguin-0b8ed4.md diff --git a/content/news/2016/spring/2016-05-12-pj2melan.md b/content/news/2016/spring/2016-05-12-pj2melan-f6f27f.md similarity index 100% rename from content/news/2016/spring/2016-05-12-pj2melan.md rename to content/news/2016/spring/2016-05-12-pj2melan-f6f27f.md diff --git a/content/news/2016/winter/2016-01-14-pj2melan.md b/content/news/2016/winter/2016-01-14-pj2melan-3f60a2.md similarity index 100% rename from content/news/2016/winter/2016-01-14-pj2melan.md rename to content/news/2016/winter/2016-01-14-pj2melan-3f60a2.md diff --git a/content/news/2016/winter/2016-01-21-ztseguin.md b/content/news/2016/winter/2016-01-21-ztseguin-72d5b4.md similarity index 100% rename from content/news/2016/winter/2016-01-21-ztseguin.md rename to content/news/2016/winter/2016-01-21-ztseguin-72d5b4.md diff --git a/content/news/2016/winter/2016-02-09-ztseguin.md b/content/news/2016/winter/2016-02-09-ztseguin-42c3d6.md similarity index 100% rename from content/news/2016/winter/2016-02-09-ztseguin.md rename to content/news/2016/winter/2016-02-09-ztseguin-42c3d6.md diff --git a/content/news/2017/spring/2017-05-17-ztseguin.md b/content/news/2017/spring/2017-05-17-ztseguin-0ada22.md similarity index 100% rename from content/news/2017/spring/2017-05-17-ztseguin.md rename to content/news/2017/spring/2017-05-17-ztseguin-0ada22.md diff --git a/content/news/2017/winter/2017-01-14-b2coutts.md b/content/news/2017/winter/2017-01-14-b2coutts-26c28d.md similarity index 100% rename from content/news/2017/winter/2017-01-14-b2coutts.md rename to content/news/2017/winter/2017-01-14-b2coutts-26c28d.md diff --git a/content/news/2018/fall/2018-09-01-ztseguin.md b/content/news/2018/fall/2018-09-01-ztseguin-06d363.md similarity index 97% rename from content/news/2018/fall/2018-09-01-ztseguin.md rename to content/news/2018/fall/2018-09-01-ztseguin-06d363.md index b907f127..6e2bf792 100644 --- a/content/news/2018/fall/2018-09-01-ztseguin.md +++ b/content/news/2018/fall/2018-09-01-ztseguin-06d363.md @@ -10,10 +10,11 @@ Power has now been restored to the machine room and most CSC systems and service We are currently unable to access to servers remotely. To restore these servers, we need a visit to the machine room to identify and resolve boot issues. *As of Sept. 5, taurine is available again with reduced RAM.* + - **[test-ipv6]() (restored as of Sept. 2)** - Currently available from within the UW network only. Investigation is still ongoing and may require assistance from IST's security team. + Currently available from within the UW network only. Investigation is still ongoing and may require assistance from IST's security team. -If you experience any issues accessing CSC services, please contact the [Systems Committee](). \ No newline at end of file +If you experience any issues accessing CSC services, please contact the [Systems Committee](). diff --git a/content/news/2018/fall/2018-09-12-c7zou.md b/content/news/2018/fall/2018-09-12-c7zou-987f2c.md similarity index 100% rename from content/news/2018/fall/2018-09-12-c7zou.md rename to content/news/2018/fall/2018-09-12-c7zou-987f2c.md diff --git a/content/news/2018/fall/2018-09-18-n3parikh.md b/content/news/2018/fall/2018-09-18-n3parikh-42ae8c.md similarity index 100% rename from content/news/2018/fall/2018-09-18-n3parikh.md rename to content/news/2018/fall/2018-09-18-n3parikh-42ae8c.md diff --git a/content/news/2018/fall/2018-10-07-ztseguin.md b/content/news/2018/fall/2018-10-07-ztseguin-9c2174.md similarity index 100% rename from content/news/2018/fall/2018-10-07-ztseguin.md rename to content/news/2018/fall/2018-10-07-ztseguin-9c2174.md diff --git a/content/news/2018/fall/2018-10-29-n3parikh.md b/content/news/2018/fall/2018-10-29-n3parikh-142076.md similarity index 100% rename from content/news/2018/fall/2018-10-29-n3parikh.md rename to content/news/2018/fall/2018-10-29-n3parikh-142076.md diff --git a/content/news/2018/spring/2018-05-14-mnmailho.md b/content/news/2018/spring/2018-05-14-mnmailho-e15105.md similarity index 100% rename from content/news/2018/spring/2018-05-14-mnmailho.md rename to content/news/2018/spring/2018-05-14-mnmailho-e15105.md diff --git a/content/news/2018/spring/2018-05-14-pj2melan.md b/content/news/2018/spring/2018-05-14-pj2melan-f44c91.md similarity index 100% rename from content/news/2018/spring/2018-05-14-pj2melan.md rename to content/news/2018/spring/2018-05-14-pj2melan-f44c91.md diff --git a/content/news/2018/spring/2018-07-18-ztseguin.md b/content/news/2018/spring/2018-07-18-ztseguin-dd1aa1.md similarity index 100% rename from content/news/2018/spring/2018-07-18-ztseguin.md rename to content/news/2018/spring/2018-07-18-ztseguin-dd1aa1.md diff --git a/content/news/2018/2018-08-31-ztseguin.md b/content/news/2018/spring/2018-08-31-ztseguin-5269f7.md similarity index 100% rename from content/news/2018/2018-08-31-ztseguin.md rename to content/news/2018/spring/2018-08-31-ztseguin-5269f7.md diff --git a/content/news/2018/winter/2018-03-26-pj2melan.md b/content/news/2018/winter/2018-03-26-pj2melan-8ddac4.md similarity index 100% rename from content/news/2018/winter/2018-03-26-pj2melan.md rename to content/news/2018/winter/2018-03-26-pj2melan-8ddac4.md diff --git a/content/news/2019/fall/2019-09-13-mtrberzi.md b/content/news/2019/fall/2019-09-13-mtrberzi-fead22.md similarity index 100% rename from content/news/2019/fall/2019-09-13-mtrberzi.md rename to content/news/2019/fall/2019-09-13-mtrberzi-fead22.md diff --git a/content/news/2019/spring/2019-05-16-s455wang.md b/content/news/2019/spring/2019-05-16-s455wang-dfe1a9.md similarity index 100% rename from content/news/2019/spring/2019-05-16-s455wang.md rename to content/news/2019/spring/2019-05-16-s455wang-dfe1a9.md diff --git a/content/news/2019/spring/2019-08-11-s455wang.md b/content/news/2019/spring/2019-08-11-s455wang-d44d2d.md similarity index 100% rename from content/news/2019/spring/2019-08-11-s455wang.md rename to content/news/2019/spring/2019-08-11-s455wang-d44d2d.md diff --git a/content/news/2019/spring/2019-08-21-ztseguin.md b/content/news/2019/spring/2019-08-21-ztseguin-eee44d.md similarity index 100% rename from content/news/2019/spring/2019-08-21-ztseguin.md rename to content/news/2019/spring/2019-08-21-ztseguin-eee44d.md diff --git a/content/news/2019/winter/2019-01-16-a3thakra.md b/content/news/2019/winter/2019-01-16-a3thakra-787058.md similarity index 100% rename from content/news/2019/winter/2019-01-16-a3thakra.md rename to content/news/2019/winter/2019-01-16-a3thakra-787058.md diff --git a/content/news/2019/winter/2019-01-17-a3thakra.md b/content/news/2019/winter/2019-01-17-a3thakra-cb5d44.md similarity index 100% rename from content/news/2019/winter/2019-01-17-a3thakra.md rename to content/news/2019/winter/2019-01-17-a3thakra-cb5d44.md diff --git a/content/news/2019/winter/2019-02-19-a3thakra.md b/content/news/2019/winter/2019-02-19-a3thakra-8ccef8.md similarity index 100% rename from content/news/2019/winter/2019-02-19-a3thakra.md rename to content/news/2019/winter/2019-02-19-a3thakra-8ccef8.md diff --git a/content/news/2020/fall/2020-09-12-abandali.md b/content/news/2020/fall/2020-09-12-abandali-cd398d.md similarity index 100% rename from content/news/2020/fall/2020-09-12-abandali.md rename to content/news/2020/fall/2020-09-12-abandali-cd398d.md diff --git a/content/news/2020/fall/2020-09-12-agaikova.md b/content/news/2020/fall/2020-09-12-agaikova-ea8211.md similarity index 100% rename from content/news/2020/fall/2020-09-12-agaikova.md rename to content/news/2020/fall/2020-09-12-agaikova-ea8211.md diff --git a/content/news/2020/fall/2020-09-28-abandali.md b/content/news/2020/fall/2020-09-28-abandali-c9f0c8.md similarity index 100% rename from content/news/2020/fall/2020-09-28-abandali.md rename to content/news/2020/fall/2020-09-28-abandali-c9f0c8.md diff --git a/content/news/2020/fall/2020-09-28-agaikova.md b/content/news/2020/fall/2020-09-28-agaikova-6b81be.md similarity index 100% rename from content/news/2020/fall/2020-09-28-agaikova.md rename to content/news/2020/fall/2020-09-28-agaikova-6b81be.md diff --git a/content/news/2020/spring/2020-05-05-n3parikh.md b/content/news/2020/spring/2020-05-05-n3parikh-031bad.md similarity index 100% rename from content/news/2020/spring/2020-05-05-n3parikh.md rename to content/news/2020/spring/2020-05-05-n3parikh-031bad.md diff --git a/content/news/2020/spring/2020-05-13-n3parikh.md b/content/news/2020/spring/2020-05-13-n3parikh-169dca.md similarity index 100% rename from content/news/2020/spring/2020-05-13-n3parikh.md rename to content/news/2020/spring/2020-05-13-n3parikh-169dca.md diff --git a/content/news/2020/spring/2020-05-26-ztseguin.md b/content/news/2020/spring/2020-05-26-ztseguin-f7bd50.md similarity index 100% rename from content/news/2020/spring/2020-05-26-ztseguin.md rename to content/news/2020/spring/2020-05-26-ztseguin-f7bd50.md diff --git a/content/news/2020/spring/2020-05-28-abandali.md b/content/news/2020/spring/2020-05-28-abandali-e7bb8b.md similarity index 100% rename from content/news/2020/spring/2020-05-28-abandali.md rename to content/news/2020/spring/2020-05-28-abandali-e7bb8b.md diff --git a/content/news/2020/spring/2020-07-27-abandali.md b/content/news/2020/spring/2020-07-27-abandali-fad782.md similarity index 100% rename from content/news/2020/spring/2020-07-27-abandali.md rename to content/news/2020/spring/2020-07-27-abandali-fad782.md diff --git a/content/news/2020/winter/2020-01-15-n3parikh.md b/content/news/2020/winter/2020-01-15-n3parikh-feedab.md similarity index 100% rename from content/news/2020/winter/2020-01-15-n3parikh.md rename to content/news/2020/winter/2020-01-15-n3parikh-feedab.md diff --git a/content/news/2020/winter/2020-04-15-n3parikh.md b/content/news/2020/winter/2020-04-15-n3parikh-18c016.md similarity index 100% rename from content/news/2020/winter/2020-04-15-n3parikh.md rename to content/news/2020/winter/2020-04-15-n3parikh-18c016.md diff --git a/content/news/2021/spring/2021-05-07-n3parikh.md b/content/news/2021/spring/2021-05-07-n3parikh-9d0a9c.md similarity index 100% rename from content/news/2021/spring/2021-05-07-n3parikh.md rename to content/news/2021/spring/2021-05-07-n3parikh-9d0a9c.md diff --git a/content/news/2021/spring/2021-05-14-merenber.md b/content/news/2021/spring/2021-05-14-merenber-53b3f8.md similarity index 100% rename from content/news/2021/spring/2021-05-14-merenber.md rename to content/news/2021/spring/2021-05-14-merenber-53b3f8.md diff --git a/content/news/2021/spring/2021-05-29-merenber.md b/content/news/2021/spring/2021-05-29-merenber-c5ca04.md similarity index 100% rename from content/news/2021/spring/2021-05-29-merenber.md rename to content/news/2021/spring/2021-05-29-merenber-c5ca04.md diff --git a/content/news/2021/spring/2021-06-06-n3parikh-0ce62b.md b/content/news/2021/spring/2021-06-06-n3parikh-0ce62b.md new file mode 100644 index 00000000..fb8fe120 --- /dev/null +++ b/content/news/2021/spring/2021-06-06-n3parikh-0ce62b.md @@ -0,0 +1,23 @@ +--- +author: 'n3parikh' +date: 'Sun Jun 06 2021 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +MathSoc has decided to waive club fees for the Spring 2021 term. + +- If you are a current CSC member who has already paid for Spring 2021 membership, your membership has been extended by one term. +- If you are a current CSC member whose membership is expired for the Spring 2021 term, you can email [exec@csclub.uwaterloo.ca]() to have your membership renewed for the term at no cost. + + + +If you are not a CSC member, but would like to become one, we continue to use the modified process we put in place in Spring 2020 making remote registrations possible: + +Email the CSC Systems Committee at [syscom@csclub.uwaterloo.ca]() from your UWaterloo email address with the following: + +1. a scan or photograph copy of your WatCard, +2. your WatIAM userid, and +3. your acknowledgement of having read, understood, and agreeing with our [Machine Usage Agreement](). + + + +The club office will remained closed until further notice. Have a safe Spring term! \ No newline at end of file diff --git a/content/news/2021/spring/2021-06-06-n3parikh.md b/content/news/2021/spring/2021-06-06-n3parikh-e2ed48.md similarity index 100% rename from content/news/2021/spring/2021-06-06-n3parikh.md rename to content/news/2021/spring/2021-06-06-n3parikh-e2ed48.md diff --git a/content/news/2021/spring/2021-07-14-n3parikh-052625.md b/content/news/2021/spring/2021-07-14-n3parikh-052625.md new file mode 100644 index 00000000..0258d8e4 --- /dev/null +++ b/content/news/2021/spring/2021-07-14-n3parikh-052625.md @@ -0,0 +1,10 @@ +--- +author: 'n3parikh' +date: 'Wed Jul 14 2021 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +Join CSC for Alt-Tab, an event that consists of 10-15 minute talks by students on some interesting topics in the field of tech! Some topics that students have delivered talks on include virtual reality, pathfinding, web development, and competitive programming. The event will be hosted virtually at the end of July! Currently, we are looking for speakers for the event who are passionate about tech and want to gain some public-speaking experience. We would love to hear from everyone! + +Apply at https://bit.ly/csc-alt-tab-speaker-application ! Alternatively, you can also email us at exec(a)csclub.uwaterloo.ca with an outline of your topic. + +Application Deadline: Thursday, July 15th at 11:59pm ET. \ No newline at end of file diff --git a/content/news/2021/spring/2021-07-14-n3parikh-d7475d.md b/content/news/2021/spring/2021-07-14-n3parikh-d7475d.md new file mode 100644 index 00000000..5daaa5fd --- /dev/null +++ b/content/news/2021/spring/2021-07-14-n3parikh-d7475d.md @@ -0,0 +1,13 @@ +--- +author: 'n3parikh' +date: 'Wed Jul 14 2021 01:00:00 GMT-0400 (Eastern Daylight Time)' +--- + +There will be a planned power outage in MC Saturday, July 17 from 7:00 am to 9:00 pm. Most CSC services will be unavailable during this time. CSC machines will be powered off one hour before the outage begins, at 6:00 am. + +Please prepare for the outage by: + +- Ensuring all running processes have their state saved (configuration, data, etc.) +- Ensuring any important files are backed up off-site from the CSC + + \ No newline at end of file diff --git a/content/news/2021/winter/2021-01-11-n3parikh.md b/content/news/2021/winter/2021-01-11-n3parikh-f87df7.md similarity index 100% rename from content/news/2021/winter/2021-01-11-n3parikh.md rename to content/news/2021/winter/2021-01-11-n3parikh-f87df7.md diff --git a/content/news/2021/winter/2021-01-13-n3parikh.md b/content/news/2021/winter/2021-01-13-n3parikh-a6f356.md similarity index 100% rename from content/news/2021/winter/2021-01-13-n3parikh.md rename to content/news/2021/winter/2021-01-13-n3parikh-a6f356.md diff --git a/content/news/2021/winter/2021-01-21-n3parikh.md b/content/news/2021/winter/2021-01-21-n3parikh-b645e7.md similarity index 100% rename from content/news/2021/winter/2021-01-21-n3parikh.md rename to content/news/2021/winter/2021-01-21-n3parikh-b645e7.md diff --git a/content/news/2021/winter/2021-03-01-n3parikh.md b/content/news/2021/winter/2021-03-01-n3parikh-17459c.md similarity index 100% rename from content/news/2021/winter/2021-03-01-n3parikh.md rename to content/news/2021/winter/2021-03-01-n3parikh-17459c.md diff --git a/content/news/2021/winter/2021-03-07-merenber.md b/content/news/2021/winter/2021-03-07-merenber-a8cc2f.md similarity index 100% rename from content/news/2021/winter/2021-03-07-merenber.md rename to content/news/2021/winter/2021-03-07-merenber-a8cc2f.md diff --git a/content/news/2021/winter/2021-03-12-n3parikh.md b/content/news/2021/winter/2021-03-12-n3parikh-e3e7bb.md similarity index 100% rename from content/news/2021/winter/2021-03-12-n3parikh.md rename to content/news/2021/winter/2021-03-12-n3parikh-e3e7bb.md diff --git a/content/news/2021/winter/2021-03-19-merenber.md b/content/news/2021/winter/2021-03-19-merenber-90d74b.md similarity index 100% rename from content/news/2021/winter/2021-03-19-merenber.md rename to content/news/2021/winter/2021-03-19-merenber-90d74b.md diff --git a/content/news/2021/winter/2021-03-29-merenber.md b/content/news/2021/winter/2021-03-29-merenber-f78eee.md similarity index 100% rename from content/news/2021/winter/2021-03-29-merenber.md rename to content/news/2021/winter/2021-03-29-merenber-f78eee.md diff --git a/content/news/2021/winter/2021-03-31-merenber.md b/content/news/2021/winter/2021-03-31-merenber-6a9584.md similarity index 100% rename from content/news/2021/winter/2021-03-31-merenber.md rename to content/news/2021/winter/2021-03-31-merenber-6a9584.md diff --git a/content/news/2021/winter/2021-04-09-n3parikh.md b/content/news/2021/winter/2021-04-09-n3parikh-3f0bce.md similarity index 100% rename from content/news/2021/winter/2021-04-09-n3parikh.md rename to content/news/2021/winter/2021-04-09-n3parikh-3f0bce.md From 690fb8b566ea0e95d16811e3a47c0e77ee401485 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Fri, 3 Sep 2021 18:16:50 -0400 Subject: [PATCH 05/41] Deploy script (#276) Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/276 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- deploy.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 deploy.sh diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 00000000..7f36c88d --- /dev/null +++ b/deploy.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -ex + +cd $(mktemp --directory) + +git clone https://git.csclub.uwaterloo.ca/www/www-new.git + +cd www-new + +npm install +npm run build +npm run export + +pushd out + +chgrp -R www . +chmod -R g+w . + +popd + +shopt -s dotglob + +rm -rf /srv/www-csc/* +mv out/* /srv/www-csc/ From 7960d71afecb211d92bc76ec6e1b1134ec78cd4d Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Fri, 3 Sep 2021 18:34:56 -0400 Subject: [PATCH 06/41] Final changes for deploying (#279) Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/279 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- README.md | 7 ++++++- content/events/2021/spring/new-website.md | 19 ------------------- deploy.sh | 18 ++++++++++-------- pages/get-started.tsx | 10 ++++++++++ 4 files changed, 26 insertions(+), 28 deletions(-) delete mode 100644 content/events/2021/spring/new-website.md create mode 100644 pages/get-started.tsx diff --git a/README.md b/README.md index af122ff6..bbd8a43a 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,9 @@ How to upgrade npm: `npm i -g npm` - `npm install` to install project dependencies - `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 -- 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) \ No newline at end of file +- 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 + +- `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`) diff --git a/content/events/2021/spring/new-website.md b/content/events/2021/spring/new-website.md deleted file mode 100644 index fecec6db..00000000 --- a/content/events/2021/spring/new-website.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: 'New Website' -short: 'Check out our new website' -date: 'Jun 15 2022 00:00:00 GMT-0400 (Eastern Daylight Time)' -online: true -location: 'Zoom' -poster: 'images/events/2021/spring/new-website.png' ---- - -Hey everyone! 👋 Today we are finally releasing the new website internally. Feedback from yall would be really appreciated to iron out bugs before we release it to the public on Wednesday, September 1!! 🥳 - -Link to the beta version: https://csclub.uwaterloo.ca/~a3thakra/csc/main/ - -## How to give feedback - -- Submit this google form: https://forms.gle/YD6MD726KjKwCd1v6 OR -- Create an issue in our repository https://git.csclub.uwaterloo.ca/www/www-new (use your CSC credentials to sign in) - -_**(This is a dummy event, and will be removed before publishing the website)**_ diff --git a/deploy.sh b/deploy.sh index 7f36c88d..dbb314e3 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,9 +2,11 @@ set -ex -cd $(mktemp --directory) +DIR=$(mktemp --directory) -git clone https://git.csclub.uwaterloo.ca/www/www-new.git +pushd $DIR + +git clone https://git.csclub.uwaterloo.ca/www/www-new.git --depth=1 cd www-new @@ -12,14 +14,14 @@ npm install npm run build npm run export -pushd out - -chgrp -R www . -chmod -R g+w . - -popd +chgrp -R www out +chmod -R g+w out shopt -s dotglob rm -rf /srv/www-csc/* mv out/* /srv/www-csc/ + +popd + +rm -rf $DIR \ No newline at end of file diff --git a/pages/get-started.tsx b/pages/get-started.tsx new file mode 100644 index 00000000..5031e118 --- /dev/null +++ b/pages/get-started.tsx @@ -0,0 +1,10 @@ +import Head from "next/head"; +import React from "react"; + +export default function GetStartedRedirect() { + return ( + + + + ); +} From 964b112481112e0ad57f74c19180cad3ed4afd79 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Fri, 3 Sep 2021 21:55:23 -0400 Subject: [PATCH 07/41] Move content to match routes (#289) Make sure that the advice, team, and tech-talk pages are loading properly Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/289 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- content/{ => resources}/advice/academic-advice.mdx | 0 content/{ => resources}/advice/co-op-advice.mdx | 0 content/{ => resources}/advice/misc-advice.mdx | 0 .../tech-talks/1989-bill-gates-talk-on-microsoft.md | 0 .../tech-talks/a-brief-history-of-cs-curriculum-at-uw.md | 0 .../tech-talks/a-brief-introduction-to-video-encoding.md | 0 .../tech-talks/algorithms-for-shortest-paths.md | 0 .../tech-talks/alt-tab-manic-pxe-dream-servers.md | 0 ...-introduction-to-vector-graphics-libraries-with-cairo.md | 0 ...alks-culture-turnaround-and-software-defined-networks.md | 0 content/{ => resources}/tech-talks/baremetal-os.md | 0 ...best-practices-to-the-world-of-functional-programming.md | 0 .../building-a-mobile-platform-for-android-and-ios.md | 0 .../tech-talks/c-plus-plus-0x-an-overview.md | 0 content/{ => resources}/tech-talks/cooking-for-geeks.md | 0 ...opyright-vs-community-in-the-age-of-computer-networks.md | 0 .../cory-doctorow-the-war-on-general-purpose-computing.md | 0 .../{ => resources}/tech-talks/csc-and-wics-career-panel.md | 0 .../deep-learning-with-multiplicative-interactions.md | 0 .../{ => resources}/tech-talks/distributed-file-systems.md | 0 .../eric-laforest-next-generation-stack-computing.md | 0 .../tech-talks/feminism-in-stem-a-101-panel.md | 0 .../tech-talks/functional-lexing-and-parsing.md | 0 .../general-purpose-computing-on-graphics-cards.md | 0 .../tech-talks/google-fiber-speed-is-hard.md | 0 content/{ => resources}/tech-talks/how-browsers-work.md | 0 ...how-to-build-a-brain-from-single-neurons-to-cognition.md | 0 .../tech-talks/in-pursuit-of-the-travelling-salesman.md | 0 .../tech-talks/infra-sound-is-all-around-us.md | 0 .../tech-talks/introduction-to-3-d-graphics.md | 0 .../larry-smith-computing-s-next-great-empires.md | 0 .../tech-talks/larry-smith-creating-killer-applications.md | 0 ...ing-vs-human-learning-will-scientists-become-obsolete.md | 0 .../tech-talks/more-haskell-functional-programming-fun.md | 0 .../tech-talks/multi-processor-real-time-systems.md | 0 content/{ => resources}/tech-talks/netplay-in-emulators.md | 0 .../tech-talks/network-infrastructure-talk.md | 0 ...e-record-messaging-useful-security-and-privacy-for-im.md | 0 .../tech-talks/open-source-computer-sound-measurement.md | 0 .../tech-talks/pmamc&oc-sasms-spring-2007.md | 0 content/{ => resources}/tech-talks/privacy-by-design.md | 0 .../tech-talks/programming-quantum-computers.md | 0 content/{ => resources}/tech-talks/qippspace.md | 0 .../{ => resources}/tech-talks/racket-s-magical-match.md | 0 .../ralph-stanton-40th-anniversary-of-math-faculty-talk.md | 0 .../tech-talks/rapid-prototyping-and-mathematical-art.md | 0 .../reactos-an-open-source-os-platform-for-learning.md | 0 ...mariani-eighteen-years-in-the-software-tools-business.md | 0 .../tech-talks/riding-the-multi-core-revolution.md | 0 .../runtime-type-inference-in-dynamic-languages.md | 0 content/{ => resources}/tech-talks/sat-and-smt-solvers.md | 0 .../semacode-image-recognition-on-mobile-camera-phones.md | 0 .../software-development-gets-on-the-cluetrain.md | 0 .../tech-talks/software-transactional-memory-and-haskell.md | 0 .../spam-filters-do-they-work-and-can-you-prove-it.md | 0 .../starting-a-vn-indie-game-company-as-a-uw-student.md | 0 .../{ => resources}/tech-talks/the-art-of-the-propagator.md | 0 .../the-best-algorithms-are-randomized-algorithms.md | 0 ...x-operating-system-a-talk-by-richard-stallman-at-ucsd.md | 0 .../the-future-of-robotics-and-automated-systems.md | 0 content/{ => resources}/tech-talks/unix-102-spring-2017.md | 0 content/{ => resources}/tech-talks/usability-in-the-wild.md | 0 .../uw-software-start-ups-what-worked-and-what-did-not.md | 0 ...ssing-poorly-understood-and-sloppily-formulated-ideas.md | 0 ...should-care-about-functional-programming-with-haskell.md | 0 .../{ => resources}/tech-talks/wilderness-programming.md | 0 content/{meet-the-team => team}/execs/01-kallen-tu.md | 0 content/{meet-the-team => team}/execs/02-gordon-le.md | 0 .../{meet-the-team => team}/execs/03-ravindu-angammana.md | 0 content/{meet-the-team => team}/execs/04-neil-parikh.md | 0 content/{meet-the-team => team}/execs/05-max-erenberg.md | 0 content/{meet-the-team => team}/execs/06-codey.md | 0 content/{meet-the-team => team}/programme-committee.json | 0 content/{meet-the-team => team}/systems-committee.json | 0 content/{meet-the-team => team}/website-committee.json | 0 lib/team.ts | 2 +- lib/tech-talks.ts | 2 +- pages/about/team.tsx | 6 +++--- pages/resources/advice/academic.tsx | 2 +- pages/resources/advice/co-op.tsx | 2 +- pages/resources/advice/misc.tsx | 2 +- 81 files changed, 8 insertions(+), 8 deletions(-) rename content/{ => resources}/advice/academic-advice.mdx (100%) rename content/{ => resources}/advice/co-op-advice.mdx (100%) rename content/{ => resources}/advice/misc-advice.mdx (100%) rename content/{ => resources}/tech-talks/1989-bill-gates-talk-on-microsoft.md (100%) rename content/{ => resources}/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md (100%) rename content/{ => resources}/tech-talks/a-brief-introduction-to-video-encoding.md (100%) rename content/{ => resources}/tech-talks/algorithms-for-shortest-paths.md (100%) rename content/{ => resources}/tech-talks/alt-tab-manic-pxe-dream-servers.md (100%) rename content/{ => resources}/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md (100%) rename content/{ => resources}/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md (100%) rename content/{ => resources}/tech-talks/baremetal-os.md (100%) rename content/{ => resources}/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md (100%) rename content/{ => resources}/tech-talks/building-a-mobile-platform-for-android-and-ios.md (100%) rename content/{ => resources}/tech-talks/c-plus-plus-0x-an-overview.md (100%) rename content/{ => resources}/tech-talks/cooking-for-geeks.md (100%) rename content/{ => resources}/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md (100%) rename content/{ => resources}/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md (100%) rename content/{ => resources}/tech-talks/csc-and-wics-career-panel.md (100%) rename content/{ => resources}/tech-talks/deep-learning-with-multiplicative-interactions.md (100%) rename content/{ => resources}/tech-talks/distributed-file-systems.md (100%) rename content/{ => resources}/tech-talks/eric-laforest-next-generation-stack-computing.md (100%) rename content/{ => resources}/tech-talks/feminism-in-stem-a-101-panel.md (100%) rename content/{ => resources}/tech-talks/functional-lexing-and-parsing.md (100%) rename content/{ => resources}/tech-talks/general-purpose-computing-on-graphics-cards.md (100%) rename content/{ => resources}/tech-talks/google-fiber-speed-is-hard.md (100%) rename content/{ => resources}/tech-talks/how-browsers-work.md (100%) rename content/{ => resources}/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md (100%) rename content/{ => resources}/tech-talks/in-pursuit-of-the-travelling-salesman.md (100%) rename content/{ => resources}/tech-talks/infra-sound-is-all-around-us.md (100%) rename content/{ => resources}/tech-talks/introduction-to-3-d-graphics.md (100%) rename content/{ => resources}/tech-talks/larry-smith-computing-s-next-great-empires.md (100%) rename content/{ => resources}/tech-talks/larry-smith-creating-killer-applications.md (100%) rename content/{ => resources}/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md (100%) rename content/{ => resources}/tech-talks/more-haskell-functional-programming-fun.md (100%) rename content/{ => resources}/tech-talks/multi-processor-real-time-systems.md (100%) rename content/{ => resources}/tech-talks/netplay-in-emulators.md (100%) rename content/{ => resources}/tech-talks/network-infrastructure-talk.md (100%) rename content/{ => resources}/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md (100%) rename content/{ => resources}/tech-talks/open-source-computer-sound-measurement.md (100%) rename content/{ => resources}/tech-talks/pmamc&oc-sasms-spring-2007.md (100%) rename content/{ => resources}/tech-talks/privacy-by-design.md (100%) rename content/{ => resources}/tech-talks/programming-quantum-computers.md (100%) rename content/{ => resources}/tech-talks/qippspace.md (100%) rename content/{ => resources}/tech-talks/racket-s-magical-match.md (100%) rename content/{ => resources}/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md (100%) rename content/{ => resources}/tech-talks/rapid-prototyping-and-mathematical-art.md (100%) rename content/{ => resources}/tech-talks/reactos-an-open-source-os-platform-for-learning.md (100%) rename content/{ => resources}/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md (100%) rename content/{ => resources}/tech-talks/riding-the-multi-core-revolution.md (100%) rename content/{ => resources}/tech-talks/runtime-type-inference-in-dynamic-languages.md (100%) rename content/{ => resources}/tech-talks/sat-and-smt-solvers.md (100%) rename content/{ => resources}/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md (100%) rename content/{ => resources}/tech-talks/software-development-gets-on-the-cluetrain.md (100%) rename content/{ => resources}/tech-talks/software-transactional-memory-and-haskell.md (100%) rename content/{ => resources}/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md (100%) rename content/{ => resources}/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md (100%) rename content/{ => resources}/tech-talks/the-art-of-the-propagator.md (100%) rename content/{ => resources}/tech-talks/the-best-algorithms-are-randomized-algorithms.md (100%) rename content/{ => resources}/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md (100%) rename content/{ => resources}/tech-talks/the-future-of-robotics-and-automated-systems.md (100%) rename content/{ => resources}/tech-talks/unix-102-spring-2017.md (100%) rename content/{ => resources}/tech-talks/usability-in-the-wild.md (100%) rename content/{ => resources}/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md (100%) rename content/{ => resources}/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md (100%) rename content/{ => resources}/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md (100%) rename content/{ => resources}/tech-talks/wilderness-programming.md (100%) rename content/{meet-the-team => team}/execs/01-kallen-tu.md (100%) rename content/{meet-the-team => team}/execs/02-gordon-le.md (100%) rename content/{meet-the-team => team}/execs/03-ravindu-angammana.md (100%) rename content/{meet-the-team => team}/execs/04-neil-parikh.md (100%) rename content/{meet-the-team => team}/execs/05-max-erenberg.md (100%) rename content/{meet-the-team => team}/execs/06-codey.md (100%) rename content/{meet-the-team => team}/programme-committee.json (100%) rename content/{meet-the-team => team}/systems-committee.json (100%) rename content/{meet-the-team => team}/website-committee.json (100%) diff --git a/content/advice/academic-advice.mdx b/content/resources/advice/academic-advice.mdx similarity index 100% rename from content/advice/academic-advice.mdx rename to content/resources/advice/academic-advice.mdx diff --git a/content/advice/co-op-advice.mdx b/content/resources/advice/co-op-advice.mdx similarity index 100% rename from content/advice/co-op-advice.mdx rename to content/resources/advice/co-op-advice.mdx diff --git a/content/advice/misc-advice.mdx b/content/resources/advice/misc-advice.mdx similarity index 100% rename from content/advice/misc-advice.mdx rename to content/resources/advice/misc-advice.mdx diff --git a/content/tech-talks/1989-bill-gates-talk-on-microsoft.md b/content/resources/tech-talks/1989-bill-gates-talk-on-microsoft.md similarity index 100% rename from content/tech-talks/1989-bill-gates-talk-on-microsoft.md rename to content/resources/tech-talks/1989-bill-gates-talk-on-microsoft.md diff --git a/content/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md b/content/resources/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md similarity index 100% rename from content/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md rename to content/resources/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md diff --git a/content/tech-talks/a-brief-introduction-to-video-encoding.md b/content/resources/tech-talks/a-brief-introduction-to-video-encoding.md similarity index 100% rename from content/tech-talks/a-brief-introduction-to-video-encoding.md rename to content/resources/tech-talks/a-brief-introduction-to-video-encoding.md diff --git a/content/tech-talks/algorithms-for-shortest-paths.md b/content/resources/tech-talks/algorithms-for-shortest-paths.md similarity index 100% rename from content/tech-talks/algorithms-for-shortest-paths.md rename to content/resources/tech-talks/algorithms-for-shortest-paths.md diff --git a/content/tech-talks/alt-tab-manic-pxe-dream-servers.md b/content/resources/tech-talks/alt-tab-manic-pxe-dream-servers.md similarity index 100% rename from content/tech-talks/alt-tab-manic-pxe-dream-servers.md rename to content/resources/tech-talks/alt-tab-manic-pxe-dream-servers.md diff --git a/content/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md b/content/resources/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md similarity index 100% rename from content/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md rename to content/resources/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md diff --git a/content/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md b/content/resources/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md similarity index 100% rename from content/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md rename to content/resources/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md diff --git a/content/tech-talks/baremetal-os.md b/content/resources/tech-talks/baremetal-os.md similarity index 100% rename from content/tech-talks/baremetal-os.md rename to content/resources/tech-talks/baremetal-os.md diff --git a/content/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md b/content/resources/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md similarity index 100% rename from content/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md rename to content/resources/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md diff --git a/content/tech-talks/building-a-mobile-platform-for-android-and-ios.md b/content/resources/tech-talks/building-a-mobile-platform-for-android-and-ios.md similarity index 100% rename from content/tech-talks/building-a-mobile-platform-for-android-and-ios.md rename to content/resources/tech-talks/building-a-mobile-platform-for-android-and-ios.md diff --git a/content/tech-talks/c-plus-plus-0x-an-overview.md b/content/resources/tech-talks/c-plus-plus-0x-an-overview.md similarity index 100% rename from content/tech-talks/c-plus-plus-0x-an-overview.md rename to content/resources/tech-talks/c-plus-plus-0x-an-overview.md diff --git a/content/tech-talks/cooking-for-geeks.md b/content/resources/tech-talks/cooking-for-geeks.md similarity index 100% rename from content/tech-talks/cooking-for-geeks.md rename to content/resources/tech-talks/cooking-for-geeks.md diff --git a/content/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md b/content/resources/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md similarity index 100% rename from content/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md rename to content/resources/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md diff --git a/content/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md b/content/resources/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md similarity index 100% rename from content/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md rename to content/resources/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md diff --git a/content/tech-talks/csc-and-wics-career-panel.md b/content/resources/tech-talks/csc-and-wics-career-panel.md similarity index 100% rename from content/tech-talks/csc-and-wics-career-panel.md rename to content/resources/tech-talks/csc-and-wics-career-panel.md diff --git a/content/tech-talks/deep-learning-with-multiplicative-interactions.md b/content/resources/tech-talks/deep-learning-with-multiplicative-interactions.md similarity index 100% rename from content/tech-talks/deep-learning-with-multiplicative-interactions.md rename to content/resources/tech-talks/deep-learning-with-multiplicative-interactions.md diff --git a/content/tech-talks/distributed-file-systems.md b/content/resources/tech-talks/distributed-file-systems.md similarity index 100% rename from content/tech-talks/distributed-file-systems.md rename to content/resources/tech-talks/distributed-file-systems.md diff --git a/content/tech-talks/eric-laforest-next-generation-stack-computing.md b/content/resources/tech-talks/eric-laforest-next-generation-stack-computing.md similarity index 100% rename from content/tech-talks/eric-laforest-next-generation-stack-computing.md rename to content/resources/tech-talks/eric-laforest-next-generation-stack-computing.md diff --git a/content/tech-talks/feminism-in-stem-a-101-panel.md b/content/resources/tech-talks/feminism-in-stem-a-101-panel.md similarity index 100% rename from content/tech-talks/feminism-in-stem-a-101-panel.md rename to content/resources/tech-talks/feminism-in-stem-a-101-panel.md diff --git a/content/tech-talks/functional-lexing-and-parsing.md b/content/resources/tech-talks/functional-lexing-and-parsing.md similarity index 100% rename from content/tech-talks/functional-lexing-and-parsing.md rename to content/resources/tech-talks/functional-lexing-and-parsing.md diff --git a/content/tech-talks/general-purpose-computing-on-graphics-cards.md b/content/resources/tech-talks/general-purpose-computing-on-graphics-cards.md similarity index 100% rename from content/tech-talks/general-purpose-computing-on-graphics-cards.md rename to content/resources/tech-talks/general-purpose-computing-on-graphics-cards.md diff --git a/content/tech-talks/google-fiber-speed-is-hard.md b/content/resources/tech-talks/google-fiber-speed-is-hard.md similarity index 100% rename from content/tech-talks/google-fiber-speed-is-hard.md rename to content/resources/tech-talks/google-fiber-speed-is-hard.md diff --git a/content/tech-talks/how-browsers-work.md b/content/resources/tech-talks/how-browsers-work.md similarity index 100% rename from content/tech-talks/how-browsers-work.md rename to content/resources/tech-talks/how-browsers-work.md diff --git a/content/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md b/content/resources/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md similarity index 100% rename from content/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md rename to content/resources/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md diff --git a/content/tech-talks/in-pursuit-of-the-travelling-salesman.md b/content/resources/tech-talks/in-pursuit-of-the-travelling-salesman.md similarity index 100% rename from content/tech-talks/in-pursuit-of-the-travelling-salesman.md rename to content/resources/tech-talks/in-pursuit-of-the-travelling-salesman.md diff --git a/content/tech-talks/infra-sound-is-all-around-us.md b/content/resources/tech-talks/infra-sound-is-all-around-us.md similarity index 100% rename from content/tech-talks/infra-sound-is-all-around-us.md rename to content/resources/tech-talks/infra-sound-is-all-around-us.md diff --git a/content/tech-talks/introduction-to-3-d-graphics.md b/content/resources/tech-talks/introduction-to-3-d-graphics.md similarity index 100% rename from content/tech-talks/introduction-to-3-d-graphics.md rename to content/resources/tech-talks/introduction-to-3-d-graphics.md diff --git a/content/tech-talks/larry-smith-computing-s-next-great-empires.md b/content/resources/tech-talks/larry-smith-computing-s-next-great-empires.md similarity index 100% rename from content/tech-talks/larry-smith-computing-s-next-great-empires.md rename to content/resources/tech-talks/larry-smith-computing-s-next-great-empires.md diff --git a/content/tech-talks/larry-smith-creating-killer-applications.md b/content/resources/tech-talks/larry-smith-creating-killer-applications.md similarity index 100% rename from content/tech-talks/larry-smith-creating-killer-applications.md rename to content/resources/tech-talks/larry-smith-creating-killer-applications.md diff --git a/content/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md b/content/resources/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md similarity index 100% rename from content/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md rename to content/resources/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md diff --git a/content/tech-talks/more-haskell-functional-programming-fun.md b/content/resources/tech-talks/more-haskell-functional-programming-fun.md similarity index 100% rename from content/tech-talks/more-haskell-functional-programming-fun.md rename to content/resources/tech-talks/more-haskell-functional-programming-fun.md diff --git a/content/tech-talks/multi-processor-real-time-systems.md b/content/resources/tech-talks/multi-processor-real-time-systems.md similarity index 100% rename from content/tech-talks/multi-processor-real-time-systems.md rename to content/resources/tech-talks/multi-processor-real-time-systems.md diff --git a/content/tech-talks/netplay-in-emulators.md b/content/resources/tech-talks/netplay-in-emulators.md similarity index 100% rename from content/tech-talks/netplay-in-emulators.md rename to content/resources/tech-talks/netplay-in-emulators.md diff --git a/content/tech-talks/network-infrastructure-talk.md b/content/resources/tech-talks/network-infrastructure-talk.md similarity index 100% rename from content/tech-talks/network-infrastructure-talk.md rename to content/resources/tech-talks/network-infrastructure-talk.md diff --git a/content/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md b/content/resources/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md similarity index 100% rename from content/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md rename to content/resources/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md diff --git a/content/tech-talks/open-source-computer-sound-measurement.md b/content/resources/tech-talks/open-source-computer-sound-measurement.md similarity index 100% rename from content/tech-talks/open-source-computer-sound-measurement.md rename to content/resources/tech-talks/open-source-computer-sound-measurement.md diff --git a/content/tech-talks/pmamc&oc-sasms-spring-2007.md b/content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md similarity index 100% rename from content/tech-talks/pmamc&oc-sasms-spring-2007.md rename to content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md diff --git a/content/tech-talks/privacy-by-design.md b/content/resources/tech-talks/privacy-by-design.md similarity index 100% rename from content/tech-talks/privacy-by-design.md rename to content/resources/tech-talks/privacy-by-design.md diff --git a/content/tech-talks/programming-quantum-computers.md b/content/resources/tech-talks/programming-quantum-computers.md similarity index 100% rename from content/tech-talks/programming-quantum-computers.md rename to content/resources/tech-talks/programming-quantum-computers.md diff --git a/content/tech-talks/qippspace.md b/content/resources/tech-talks/qippspace.md similarity index 100% rename from content/tech-talks/qippspace.md rename to content/resources/tech-talks/qippspace.md diff --git a/content/tech-talks/racket-s-magical-match.md b/content/resources/tech-talks/racket-s-magical-match.md similarity index 100% rename from content/tech-talks/racket-s-magical-match.md rename to content/resources/tech-talks/racket-s-magical-match.md diff --git a/content/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md b/content/resources/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md similarity index 100% rename from content/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md rename to content/resources/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md diff --git a/content/tech-talks/rapid-prototyping-and-mathematical-art.md b/content/resources/tech-talks/rapid-prototyping-and-mathematical-art.md similarity index 100% rename from content/tech-talks/rapid-prototyping-and-mathematical-art.md rename to content/resources/tech-talks/rapid-prototyping-and-mathematical-art.md diff --git a/content/tech-talks/reactos-an-open-source-os-platform-for-learning.md b/content/resources/tech-talks/reactos-an-open-source-os-platform-for-learning.md similarity index 100% rename from content/tech-talks/reactos-an-open-source-os-platform-for-learning.md rename to content/resources/tech-talks/reactos-an-open-source-os-platform-for-learning.md diff --git a/content/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md b/content/resources/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md similarity index 100% rename from content/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md rename to content/resources/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md diff --git a/content/tech-talks/riding-the-multi-core-revolution.md b/content/resources/tech-talks/riding-the-multi-core-revolution.md similarity index 100% rename from content/tech-talks/riding-the-multi-core-revolution.md rename to content/resources/tech-talks/riding-the-multi-core-revolution.md diff --git a/content/tech-talks/runtime-type-inference-in-dynamic-languages.md b/content/resources/tech-talks/runtime-type-inference-in-dynamic-languages.md similarity index 100% rename from content/tech-talks/runtime-type-inference-in-dynamic-languages.md rename to content/resources/tech-talks/runtime-type-inference-in-dynamic-languages.md diff --git a/content/tech-talks/sat-and-smt-solvers.md b/content/resources/tech-talks/sat-and-smt-solvers.md similarity index 100% rename from content/tech-talks/sat-and-smt-solvers.md rename to content/resources/tech-talks/sat-and-smt-solvers.md diff --git a/content/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md b/content/resources/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md similarity index 100% rename from content/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md rename to content/resources/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md diff --git a/content/tech-talks/software-development-gets-on-the-cluetrain.md b/content/resources/tech-talks/software-development-gets-on-the-cluetrain.md similarity index 100% rename from content/tech-talks/software-development-gets-on-the-cluetrain.md rename to content/resources/tech-talks/software-development-gets-on-the-cluetrain.md diff --git a/content/tech-talks/software-transactional-memory-and-haskell.md b/content/resources/tech-talks/software-transactional-memory-and-haskell.md similarity index 100% rename from content/tech-talks/software-transactional-memory-and-haskell.md rename to content/resources/tech-talks/software-transactional-memory-and-haskell.md diff --git a/content/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md b/content/resources/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md similarity index 100% rename from content/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md rename to content/resources/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md diff --git a/content/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md b/content/resources/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md similarity index 100% rename from content/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md rename to content/resources/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md diff --git a/content/tech-talks/the-art-of-the-propagator.md b/content/resources/tech-talks/the-art-of-the-propagator.md similarity index 100% rename from content/tech-talks/the-art-of-the-propagator.md rename to content/resources/tech-talks/the-art-of-the-propagator.md diff --git a/content/tech-talks/the-best-algorithms-are-randomized-algorithms.md b/content/resources/tech-talks/the-best-algorithms-are-randomized-algorithms.md similarity index 100% rename from content/tech-talks/the-best-algorithms-are-randomized-algorithms.md rename to content/resources/tech-talks/the-best-algorithms-are-randomized-algorithms.md diff --git a/content/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md b/content/resources/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md similarity index 100% rename from content/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md rename to content/resources/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md diff --git a/content/tech-talks/the-future-of-robotics-and-automated-systems.md b/content/resources/tech-talks/the-future-of-robotics-and-automated-systems.md similarity index 100% rename from content/tech-talks/the-future-of-robotics-and-automated-systems.md rename to content/resources/tech-talks/the-future-of-robotics-and-automated-systems.md diff --git a/content/tech-talks/unix-102-spring-2017.md b/content/resources/tech-talks/unix-102-spring-2017.md similarity index 100% rename from content/tech-talks/unix-102-spring-2017.md rename to content/resources/tech-talks/unix-102-spring-2017.md diff --git a/content/tech-talks/usability-in-the-wild.md b/content/resources/tech-talks/usability-in-the-wild.md similarity index 100% rename from content/tech-talks/usability-in-the-wild.md rename to content/resources/tech-talks/usability-in-the-wild.md diff --git a/content/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md b/content/resources/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md similarity index 100% rename from content/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md rename to content/resources/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md diff --git a/content/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md b/content/resources/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md similarity index 100% rename from content/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md rename to content/resources/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md diff --git a/content/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md b/content/resources/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md similarity index 100% rename from content/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md rename to content/resources/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md diff --git a/content/tech-talks/wilderness-programming.md b/content/resources/tech-talks/wilderness-programming.md similarity index 100% rename from content/tech-talks/wilderness-programming.md rename to content/resources/tech-talks/wilderness-programming.md diff --git a/content/meet-the-team/execs/01-kallen-tu.md b/content/team/execs/01-kallen-tu.md similarity index 100% rename from content/meet-the-team/execs/01-kallen-tu.md rename to content/team/execs/01-kallen-tu.md diff --git a/content/meet-the-team/execs/02-gordon-le.md b/content/team/execs/02-gordon-le.md similarity index 100% rename from content/meet-the-team/execs/02-gordon-le.md rename to content/team/execs/02-gordon-le.md diff --git a/content/meet-the-team/execs/03-ravindu-angammana.md b/content/team/execs/03-ravindu-angammana.md similarity index 100% rename from content/meet-the-team/execs/03-ravindu-angammana.md rename to content/team/execs/03-ravindu-angammana.md diff --git a/content/meet-the-team/execs/04-neil-parikh.md b/content/team/execs/04-neil-parikh.md similarity index 100% rename from content/meet-the-team/execs/04-neil-parikh.md rename to content/team/execs/04-neil-parikh.md diff --git a/content/meet-the-team/execs/05-max-erenberg.md b/content/team/execs/05-max-erenberg.md similarity index 100% rename from content/meet-the-team/execs/05-max-erenberg.md rename to content/team/execs/05-max-erenberg.md diff --git a/content/meet-the-team/execs/06-codey.md b/content/team/execs/06-codey.md similarity index 100% rename from content/meet-the-team/execs/06-codey.md rename to content/team/execs/06-codey.md diff --git a/content/meet-the-team/programme-committee.json b/content/team/programme-committee.json similarity index 100% rename from content/meet-the-team/programme-committee.json rename to content/team/programme-committee.json diff --git a/content/meet-the-team/systems-committee.json b/content/team/systems-committee.json similarity index 100% rename from content/meet-the-team/systems-committee.json rename to content/team/systems-committee.json diff --git a/content/meet-the-team/website-committee.json b/content/team/website-committee.json similarity index 100% rename from content/meet-the-team/website-committee.json rename to content/team/website-committee.json diff --git a/lib/team.ts b/lib/team.ts index 62a80850..a162e3dc 100644 --- a/lib/team.ts +++ b/lib/team.ts @@ -4,7 +4,7 @@ import path from "path"; import matter from "gray-matter"; import { serialize } from "next-mdx-remote/serialize"; -const EXECS_PATH = path.join("content", "meet-the-team", "execs"); +const EXECS_PATH = path.join("content", "team", "execs"); const fileType = ".md"; export interface Metadata { diff --git a/lib/tech-talks.ts b/lib/tech-talks.ts index f64275d8..c27153ef 100644 --- a/lib/tech-talks.ts +++ b/lib/tech-talks.ts @@ -13,7 +13,7 @@ export interface Metadata { links: { file: string; type: string; size?: string }[]; } -const TALKS_PATH = path.join("content", "tech-talks"); +const TALKS_PATH = path.join("content", "resources", "tech-talks"); export async function getTechTalk(slug: string) { const raw = await fs.readFile(path.join(TALKS_PATH, `${slug}.md`)); diff --git a/pages/about/team.tsx b/pages/about/team.tsx index fcab06f2..c02f2818 100644 --- a/pages/about/team.tsx +++ b/pages/about/team.tsx @@ -16,9 +16,9 @@ import { getMemberImagePath, } from "@/lib/team"; -import programmeData from "../../content/meet-the-team/programme-committee.json"; -import systemsData from "../../content/meet-the-team/systems-committee.json"; -import websiteData from "../../content/meet-the-team/website-committee.json"; +import programmeData from "../../content/team/programme-committee.json"; +import systemsData from "../../content/team/systems-committee.json"; +import websiteData from "../../content/team/website-committee.json"; import styles from "./team.module.css"; diff --git a/pages/resources/advice/academic.tsx b/pages/resources/advice/academic.tsx index 6e334657..bf451981 100644 --- a/pages/resources/advice/academic.tsx +++ b/pages/resources/advice/academic.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Title } from "@/components/Title"; -import Content from "../../../content/advice/academic-advice.mdx"; +import Content from "../../../content/resources/advice/academic-advice.mdx"; import { Advice } from "./co-op"; diff --git a/pages/resources/advice/co-op.tsx b/pages/resources/advice/co-op.tsx index 24bb551c..c1831540 100644 --- a/pages/resources/advice/co-op.tsx +++ b/pages/resources/advice/co-op.tsx @@ -5,7 +5,7 @@ import React, { ReactNode } from "react"; import { Image } from "@/components/Image"; import { Title } from "@/components/Title"; -import Content from "../../../content/advice/co-op-advice.mdx"; +import Content from "../../../content/resources/advice/co-op-advice.mdx"; import styles from "./co-op.module.css"; diff --git a/pages/resources/advice/misc.tsx b/pages/resources/advice/misc.tsx index 21ffabaa..31ebc6eb 100644 --- a/pages/resources/advice/misc.tsx +++ b/pages/resources/advice/misc.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Title } from "@/components/Title"; -import Content from "../../../content/advice/misc-advice.mdx"; +import Content from "../../../content/resources/advice/misc-advice.mdx"; import { Advice } from "./co-op"; From f1ec9dbae15df64d3ec6ae0efa285d92f2ba91b8 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Sat, 4 Sep 2021 13:39:26 -0400 Subject: [PATCH 08/41] Remove playground (#288) Closes #278 Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/288 Reviewed-by: Amy Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- components/playground.module.css | 104 ------ components/playground.tsx | 296 ------------------ content/playground/after-hours.event.mdx | 21 -- content/playground/alt-tab.event.mdx | 14 - content/playground/codey.team-member.mdx | 9 - .../duties-of-officers.section.mdx | 27 -- .../executive-council.section.mdx | 10 - .../constitution/membership.section.mdx | 10 - .../playground/constitution/name.section.mdx | 6 - .../constitution/officers.section.mdx | 30 -- .../constitution/purpose.section.mdx | 10 - content/playground/doge.team-member.mdx | 5 - content/playground/ootb-react.event.mdx | 17 - content/playground/temp.talk.mdx | 67 ---- content/playground/unavailable.news.mdx | 14 - pages/playground.mdx | 130 -------- public/images/playground/alt-tab.jpg | Bin 274071 -> 0 bytes public/images/playground/codeyHi.png | Bin 52005 -> 0 bytes public/images/playground/doge.jpg | Bin 64612 -> 0 bytes public/images/playground/intro-ootb.jpg | Bin 328404 -> 0 bytes 20 files changed, 770 deletions(-) delete mode 100644 components/playground.module.css delete mode 100644 components/playground.tsx delete mode 100644 content/playground/after-hours.event.mdx delete mode 100644 content/playground/alt-tab.event.mdx delete mode 100644 content/playground/codey.team-member.mdx delete mode 100644 content/playground/constitution/duties-of-officers.section.mdx delete mode 100644 content/playground/constitution/executive-council.section.mdx delete mode 100644 content/playground/constitution/membership.section.mdx delete mode 100644 content/playground/constitution/name.section.mdx delete mode 100644 content/playground/constitution/officers.section.mdx delete mode 100644 content/playground/constitution/purpose.section.mdx delete mode 100644 content/playground/doge.team-member.mdx delete mode 100644 content/playground/ootb-react.event.mdx delete mode 100644 content/playground/temp.talk.mdx delete mode 100644 content/playground/unavailable.news.mdx delete mode 100644 pages/playground.mdx delete mode 100644 public/images/playground/alt-tab.jpg delete mode 100644 public/images/playground/codeyHi.png delete mode 100644 public/images/playground/doge.jpg delete mode 100644 public/images/playground/intro-ootb.jpg diff --git a/components/playground.module.css b/components/playground.module.css deleted file mode 100644 index c88c1f5f..00000000 --- a/components/playground.module.css +++ /dev/null @@ -1,104 +0,0 @@ -.newsDemo { - padding: calc(50rem / 16); - background-color: var(--secondary-background); - display: inline-block; -} - -.newsTitle { - font-style: normal; - font-weight: bold; - color: var(--primary-heading); - font-size: calc(24rem / 16); - line-height: calc(36 / 24); - margin-bottom: calc(14rem / 16); -} - -.newsDesc { - font-style: normal; - font-weight: normal; - font-size: calc(14rem / 16); - line-height: calc(21 / 14); - white-space: pre-line; - color: var(--primary-heading); - vertical-align: baseline; -} - -.news > hr { - border: none; - height: calc(1rem / 16); - background-color: var(--primary-heading); - margin: 0 0 calc(13rem / 16) 0; -} - -.eventDescriptionCardDemo { - padding: calc(50rem / 16) 0; - background-color: var(--secondary-background); - display: inline-block; -} - -.eventDescriptionCardDemo > * { - margin: calc(12rem / 16) calc(50rem / 16); -} - -.eventDescriptionCardDemo > *:first-child { - margin-top: 0; -} - -.eventDescriptionCardDemo > *:last-child { - margin-bottom: 0; -} - -.teamMemberDemo { - max-width: calc(847rem / 16); -} - -.committee { - margin: 0; - color: var(--primary-heading); - font-weight: 600; - font-size: calc(24rem / 16); - line-height: calc(36 / 24); -} - -.teamMemberDemo > hr { - border: none; - height: calc(1rem / 16); - background-color: var(--primary-accent); - width: 100%; - margin-top: calc(24rem / 16); - margin-bottom: calc(46rem / 16); -} - -.teamMembers { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(calc(100rem / 16), 1fr)); - row-gap: calc(43rem / 16); - column-gap: calc(53rem / 16); -} - -.linkDemo { - padding: calc(50rem / 16); - background-color: var(--secondary-background); -} - -.linkTitle { - font-weight: bold; - color: var(--primary-heading); - font-size: calc(24rem / 16); -} - -.miniTechTalkDemo > *:nth-child(odd) { - background: var(--secondary-accent-light); -} - -@media only screen and (max-width: calc(768rem / 16)) { - .newsDemo, - .eventDescriptionCardDemo { - padding: calc(20rem / 16); - background-color: var(--secondary-background); - } - - .eventDescriptionCardDemo > * { - margin: 0; - } -} diff --git a/components/playground.tsx b/components/playground.tsx deleted file mode 100644 index 6defc641..00000000 --- a/components/playground.tsx +++ /dev/null @@ -1,296 +0,0 @@ -import React, { useState } from "react"; - -import AfterHoursContent, { - metadata as afterHoursMetadata, -} from "../content/playground/after-hours.event.mdx"; -import AltTab, { - metadata as altTabEventMetadata, -} from "../content/playground/alt-tab.event.mdx"; -import CodeyInfo, { - metadata as codeyMetadata, -} from "../content/playground/codey.team-member.mdx"; -import Duties, { - metadata as dutiesOrganizedContentMetadata, -} from "../content/playground/constitution/duties-of-officers.section.mdx"; -import ExecutiveCouncil, { - metadata as executiveCouncilOrganizedContentMetadata, -} from "../content/playground/constitution/executive-council.section.mdx"; -import Membership, { - metadata as membershipOrganizedContentMetadata, -} from "../content/playground/constitution/membership.section.mdx"; -import Name, { - metadata as nameOrganizedContentMetadata, -} from "../content/playground/constitution/name.section.mdx"; -import Officers, { - metadata as officersOrganizedContentMetadata, -} from "../content/playground/constitution/officers.section.mdx"; -import Purpose, { - metadata as purposeOrganizedContentMetadata, -} from "../content/playground/constitution/purpose.section.mdx"; -import { metadata as dogeMetadata } from "../content/playground/doge.team-member.mdx"; -import OOTBReact, { - metadata as OOTBReactEventMetadata, -} from "../content/playground/ootb-react.event.mdx"; -import TempTechTalk, { - metadata as tempTechTalkMetadata, -} from "../content/playground/temp.talk.mdx"; -import UnavailableContent, { - metadata as unavailableMetadata, -} from "../content/playground/unavailable.news.mdx"; - -import { Button } from "./Button"; -import { EventCard } from "./EventCard"; -import { EventDescriptionCard } from "./EventDescriptionCard"; -import { Link } from "./Link"; -import { MiniEventCard } from "./MiniEventCard"; -import { MiniTechTalkCard } from "./MiniTechTalkCard"; -import { NewsCard } from "./NewsCard"; -import { - OrganizedContent, - LinkProps, - createReadAllSection, -} from "./OrganizedContent"; -import { TeamMember } from "./TeamMember"; -import { TeamMemberCard } from "./TeamMemberCard"; -import { TechTalkCard } from "./TechTalkCard"; - -import styles from "./playground.module.css"; - -const events = [ - { Content: OOTBReact, metadata: OOTBReactEventMetadata }, - { Content: AfterHoursContent, metadata: afterHoursMetadata }, - { Content: AltTab, metadata: altTabEventMetadata }, -]; - -const constitution = [ - { Content: Name, ...nameOrganizedContentMetadata }, - { Content: Purpose, ...purposeOrganizedContentMetadata }, - { Content: Membership, ...membershipOrganizedContentMetadata }, - { Content: Officers, ...officersOrganizedContentMetadata }, - { Content: Duties, ...dutiesOrganizedContentMetadata }, - { - Content: ExecutiveCouncil, - ...executiveCouncilOrganizedContentMetadata, - }, -]; - -export function MiniEventCardDemo() { - return ( -
- {events.map(({ Content, metadata }) => ( - } - key={metadata.name + metadata.date.toString()} - /> - ))} -
- ); -} - -export function NewsCardDemo() { - return ( -
-
News
-
- Updates from our execs -
-
-
-
- - - -
- ); -} - -export function ButtonDemo() { - return ( - <> -

Standard buttons

-

- -

-

- -

-

Small buttons

-

- -

-

- -

- - ); -} - -export function EventDescriptionCardDemo() { - return ( -
- {events.map(({ metadata }) => ( - - ))} -
- ); -} - -export function EventCardDemo() { - return ( - <> - {events.map(({ Content, metadata }) => ( - <> - - - - - - - - ))} - - ); -} - -export function TeamMemberDemo() { - return ( -
-
-

Programme Committee

-
-
-
- - - - - - - - - - -
-
- ); -} - -export function TeamMemberCardDemo() { - return ( -
- - - -
- ); -} - -export function LinkDemo() { - return ( -
-
Elections
-

- To find out when and where the next elections will be held, keep an eye - on the News. For - details on the elections, read our{" "} - - Constitution - - . -

-
- ); -} - -export function OrganizedContentDemo() { - const sections = [...constitution]; - const numberedSections = false; - const readAllSection = createReadAllSection( - constitution.map(({ id, title, Content }) => ({ - Content, - section: { id, title }, - })), - true, - numberedSections - ); - sections.unshift({ - ...readAllSection.section, - Content: readAllSection.Content, - }); - - const [id, setId] = useState(sections[0].id); - - function FakeLink({ className, id, children }: LinkProps) { - return ( -
setId(id)}> - {children} -
- ); - } - - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const Content = sections.find( - ({ id: sectionId }) => sectionId === id - )!.Content; - - return ( - - - - ); -} - -export function TechTalkDemo() { - const poster = - tempTechTalkMetadata.thumbnails.large ?? - tempTechTalkMetadata.thumbnails.small; - - return ( -
- - - -
- ); -} - -export function MiniTechTalkDemo() { - return ( -
- - - -
- ); -} diff --git a/content/playground/after-hours.event.mdx b/content/playground/after-hours.event.mdx deleted file mode 100644 index 50179071..00000000 --- a/content/playground/after-hours.event.mdx +++ /dev/null @@ -1,21 +0,0 @@ -export const metadata = { - name: "Afterhours: Personal Relationships", - short: "Learn how React works and make your own version!", - date: new Date("March 25, 2021 19:00:00 GMT-4"), - online: false, - location: "MC", - registerLink: "http://csclub.uwaterloo.ca/", -}; - -The past year has been tough for all of us, having to deal with the pandemic -while studying or working remotely. If you've felt that meeting new people and -sustaining relationships with others has never been more challenging, we feel -that too, and we want to talk about it. - -CSC brings you the third chapter of Afterhours, and this time we're discussing -Personal Relationships. Join us for a chat about how our relationships -(platonic and romantic) have been affected, whether that be due to co-op, -sequence changes, or COVID. We'll be sharing our own personal stories and we'd -love for you all to join in on the discussion. - -Registration is required for attendance, so don't miss out! diff --git a/content/playground/alt-tab.event.mdx b/content/playground/alt-tab.event.mdx deleted file mode 100644 index 16aa6a77..00000000 --- a/content/playground/alt-tab.event.mdx +++ /dev/null @@ -1,14 +0,0 @@ -export const metadata = { - name: "Alt-Tab", - short: "CSC is proud to present to you Alt-Tab!", - date: new Date("March 25, 2021 19:00:00 GMT-4"), - online: true, - location: "Twitch", - poster: "/images/playground/alt-tab.jpg", -}; - -CSC is proud to present to you Alt-Tab! Join us in a lightning tech talk series presented to you by our very own students. Alt-Tab consists of 10 to 15-minute talks about anything related to tech. Learn more about exciting topics that range from competitive programming to cryptography! - -We will have four incredible presenters that are eager to share their insights with you. Stay tuned as we'll be introducing them and the topics that they will be discussing soon!. - -Registration is not required to attend! We'll just be sending you an email reminder, as well as inviting you to our calendar even diff --git a/content/playground/codey.team-member.mdx b/content/playground/codey.team-member.mdx deleted file mode 100644 index 0c42aa19..00000000 --- a/content/playground/codey.team-member.mdx +++ /dev/null @@ -1,9 +0,0 @@ -export const metadata = { - name: "Codey", - role: "Mascot", - image: "/images/playground/codeyHi.png" -} - -The one, the only, Codey! Codey is ecstatic to be your mascot for this term. -Codey loves programming and playing on their laptop. You can often find Codey -posing for event promo graphics, or chilling in the CSC discord. \ No newline at end of file diff --git a/content/playground/constitution/duties-of-officers.section.mdx b/content/playground/constitution/duties-of-officers.section.mdx deleted file mode 100644 index 72f38bc4..00000000 --- a/content/playground/constitution/duties-of-officers.section.mdx +++ /dev/null @@ -1,27 +0,0 @@ -export const metadata = { - title: "5. Duties of Officers", - id: "duties-of-officers" -}; - -The duties of the President shall be: -to call and preside at all general, special, and executive meetings of the Club, except during the election of officers; -to appoint special committees of the Club and the membership and chairs of such committees, with the approval of the Executive Council; and -to audit, or to appoint a representative to audit, the financial records of the club at the end of each academic term. -with the approval of the Faculty Advisor, rule on any point of procedure under the constitution that arises outside of a meeting. -The duties of the Vice-President shall be: -to assume the duties of the President in the event of the President's absence; -to chair the Programme Committee; -to appoint members to and remove members from the Programme Committee; -to ensure that Club events are held regularly; and -to assume those duties of the President that are delegated to them by the President. -The duties of the Secretary shall be: -to keep minutes of all Club meetings; -to care for all Club correspondence; and -manage any persons appointed to internal positions by the Executive. -The duties of the Treasurer shall be: -to collect dues and maintain all financial and membership records; -to produce a financial or membership statement when requested. -The duties of the System Administrator shall be: -to chair the Systems Committee; -to appoint members to and remove members from the Systems Committee. -to ensure that the duties of the Systems Committee are performed. \ No newline at end of file diff --git a/content/playground/constitution/executive-council.section.mdx b/content/playground/constitution/executive-council.section.mdx deleted file mode 100644 index 3c1f3cfe..00000000 --- a/content/playground/constitution/executive-council.section.mdx +++ /dev/null @@ -1,10 +0,0 @@ -export const metadata = { - title: "6. Executive Council", - id: "executive-council" -}; - -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. -The Executive Council may appoint people to various positions to help manage the Club. -The Executive Council must obey any instructions given to it by the members at a meeting and can be overruled by them. -The Executive Council can act by consensus achieved on their mailing list. -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. \ No newline at end of file diff --git a/content/playground/constitution/membership.section.mdx b/content/playground/constitution/membership.section.mdx deleted file mode 100644 index fecf3b31..00000000 --- a/content/playground/constitution/membership.section.mdx +++ /dev/null @@ -1,10 +0,0 @@ -export const metadata = { - title: "3. Membership", - id: "membership" -}; - -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. -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. -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. -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. -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. \ No newline at end of file diff --git a/content/playground/constitution/name.section.mdx b/content/playground/constitution/name.section.mdx deleted file mode 100644 index c594f729..00000000 --- a/content/playground/constitution/name.section.mdx +++ /dev/null @@ -1,6 +0,0 @@ -export const metadata = { - title: "1. Name", - id: "name" -}; - -The name of this organization shall be the "Computer Science Club of the University of Waterloo". diff --git a/content/playground/constitution/officers.section.mdx b/content/playground/constitution/officers.section.mdx deleted file mode 100644 index efa806d5..00000000 --- a/content/playground/constitution/officers.section.mdx +++ /dev/null @@ -1,30 +0,0 @@ -export const metadata = { - title: "4. Officers", - id: "officers" -}; - -The officers of the Club shall be: -President -Vice-President -Secretary -Treasurer -System Administrator -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. -The choice of officers shall be limited to full members of the Club. -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. -The election of officers shall be accomplished by the following procedure: -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. -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. -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. -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. -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. -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. -During each election, if the position has no nominees, the CRO will take nominations from the floor. Any present, eligible member can be nominated. -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. -The CRO shall not vote except to break a tie. -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. -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. -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. -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. -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. -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. \ No newline at end of file diff --git a/content/playground/constitution/purpose.section.mdx b/content/playground/constitution/purpose.section.mdx deleted file mode 100644 index 904ad97c..00000000 --- a/content/playground/constitution/purpose.section.mdx +++ /dev/null @@ -1,10 +0,0 @@ -export const metadata = { - title: "2. Purpose", - id: "purpose" -}; - -The Club is organized and will be operated exclusively for educational and scientific purposes in furtherance of: -promoting an increased knowledge of computer science and its applications; -promoting a greater interest in computer science and its applications; and -providing a means of communication between persons having interest in computer science. -The above purposes will be fulfilled by the organization of discussions and lectures with professionals and academics in the field of computer science and related fields, the maintenance of a library of materials related to computer science, the maintenance of an office containing the library as an aid to aim (1.3) above, and such other means as decided by the club membership. \ No newline at end of file diff --git a/content/playground/doge.team-member.mdx b/content/playground/doge.team-member.mdx deleted file mode 100644 index 0fa58e6f..00000000 --- a/content/playground/doge.team-member.mdx +++ /dev/null @@ -1,5 +0,0 @@ -export const metadata = { - name: "Woof Woof", - role: "Doge", - image: "/images/playground/doge.jpg" -} \ No newline at end of file diff --git a/content/playground/ootb-react.event.mdx b/content/playground/ootb-react.event.mdx deleted file mode 100644 index 9b6dcab0..00000000 --- a/content/playground/ootb-react.event.mdx +++ /dev/null @@ -1,17 +0,0 @@ -export const metadata = { - name: "Out of the Box: React", - short: "Out of the Box is a series of code-along projects that explore what's under the hood of modern web frameworks.", - date: new Date("March 23, 2021 19:00:00 GMT-4"), - online: true, - location: "Twitch", - poster: "/images/playground/intro-ootb.jpg", - registerLink: "http://google.com/", -}; - -Modern web frameworks are a black-box. They're easy to use, but they have numerous minute details to master in order to apply them to truly scalable websites. Over the last few years, front-end frameworks have absorbed the responsibilities of the back-end, meaning it's become ever more important to dig their details out of the box. - -Out of the Box is a series of code-along projects that explore what's under the hood of modern web frameworks. Nearly 5 million websites use React, including many of the internet's most popular websites. While its simple syntax attracts developers from all over, underneath lies a complex infrastructure of code to manage all elements from caching to hooks. Rishi will bring these ideas to light in our inaugural episode of Out of the Box. Come join him and code your own version of React! - -Only basic web experience is needed. All JavaScript code will be written within a single HTML document for simplicity. Node.js will also be required to participate in the event! - -Registration is not required to attend! We'll just be sending you an email reminder, as well as inviting you to our calendar event. diff --git a/content/playground/temp.talk.mdx b/content/playground/temp.talk.mdx deleted file mode 100644 index cacab3c1..00000000 --- a/content/playground/temp.talk.mdx +++ /dev/null @@ -1,67 +0,0 @@ -export const metadata = { - slug: "not-a-valid-slug", - title: "1989 Bill Gates Talk on Microsoft", - presentors: ["Bill Gates"], - thumbnails: { - small: "/images/playground/alt-tab.jpg", - large: "/images/playground/alt-tab.jpg", - }, - links: [ - { - file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.mp3", - type: "mp3", - size: "85M", - }, - { - file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.flac", - type: "flac", - size: "540M", - }, - { - file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.ogg", - type: "ogg", - size: "56M", - }, - { - file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.wav", - type: "wav", - size: "945M", - }, - ] -}; - -Bill Gates discusses the software and computer industry, and how Microsoft has contributed. Gates also discusses his views on the future of the computing industry. The talk was recorded in 1989 but was only recently digitized. - -Topics include: - -- The start and history of the microcomputer industry -- Microsoft BASIC and the Altair 880 computer -- The transition from 8-bit to 16-bit computers -- Microsoft's history with IBM -- 640k memory barrier and 16-bit architectures -- 32-bit 386 and 486 architectures -- RISC and multi-processor machines -- EGA graphics and WYSIWYG editors -- Decreasing cost of memory, harddisks and hardware in general -- The importance and future of the mouse -- Object-oriented programming -- MS-DOS and OS/2 -- Multi-threaded and multi-application systems -- Synchronization in multi-threaded applications -- Diskette-based software -- UNIX standardization and POSIX -- History of the Macintosh and Microsoft' involvement -- Involvement of Xerox in graphical user interfaces -- Apple vs. Microsoft lawsuit regarding user interfaces -- OS/2 future as a replacement for MS-DOS -- Microsoft Office on Macintosh -- Thin/dumb clients -- Compact discs -- Multimedia applications -- Gates' current role at Microsoft - - - -The following picture was taken after the talk (click for higher-res). - -[![null]()]() diff --git a/content/playground/unavailable.news.mdx b/content/playground/unavailable.news.mdx deleted file mode 100644 index 74919ef8..00000000 --- a/content/playground/unavailable.news.mdx +++ /dev/null @@ -1,14 +0,0 @@ -export const metadata = { - author: "merenber", - date: new Date("2021-03-19"), -} - -Computer Science Club systems and services will be unavailable on Saturday, Mar. 20 -due to a planned power outage in the Mathematics and Computer Building (MC) from 7am to 5pm. - -The CSC will begin shutting down machines at 6am in preparation of the outage. -Please prepare for the outage by: - -- Ensuring all running processes have their state saved (configuration, data, etc.) -- Any important files are backed up off-site from the CSC -- If you have any questions/concerns, please email the Systems Committee. \ No newline at end of file diff --git a/pages/playground.mdx b/pages/playground.mdx deleted file mode 100644 index 4c0d0536..00000000 --- a/pages/playground.mdx +++ /dev/null @@ -1,130 +0,0 @@ -import { - MiniEventCardDemo, - NewsCardDemo, - EventDescriptionCardDemo, - LinkDemo, - EventCardDemo, - TeamMemberDemo, - TeamMemberCardDemo, - OrganizedContentDemo, - ButtonDemo, - TechTalkDemo, - MiniTechTalkDemo, -} from "@/components/playground"; -import { ConnectWithUs } from "@/components/ConnectWithUs"; -import { EmailSignup } from "@/components/EmailSignup"; - -import { TeamMemberCard } from "@/components/TeamMemberCard"; - -# Playground - -## `` - -Codey is supposed to say something here... - - - ---- - -## `` - -The `` component has a collapsible description, and it is used -on the events page. It uses the `
` tag and works without JS! - - - ---- - -## `` - -unavailable - - - ---- - -## ` - -

+Just drop by the office with $2 for each term which you wish to renew. +You do not need to bring your WatCard or sign the usage agreement again.
@@ -48,11 +38,22 @@ University of Waterloo email address with the following: 3. your acknowledgement of having read, understood, and agreeing with our [Machine Usage Agreement](/resources/machine-usage-agreement). +You will need to pay the membership fee of $2 through PayPal. +A one-term payment via PayPal comes out to $2.37 (due to PayPal fees). + +

+
+ + + + +

+ #### Membership Renewal -For this online term (Spring 2021), you do not need to pay the $2 fee to renew your -membership. We have extended the memberships of all members who had already -previously paid for membership or have joined CS Club during an online term. +Use the PayPal link above to renew your membership for as many terms +as you wish. You do not need to send us your WatCard or sign the usage +agreement again. @@ -62,7 +63,7 @@ Are you interested in using your skills to get involved with CSC? We have committees covering everything from design to development, so no matter your interests, we’ve got a place for you. -**CSC hires at the end of every term**, so make sure to stay connected through +**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! #### Programme Committee @@ -92,4 +93,4 @@ Each term, the CSC holds elections to determine the executive council: 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). \ No newline at end of file +For details on the elections, see the [Constitution](/about/constitution). From 1b2c37b3e0560ed3fe315b3ad83a0a86e18f8ff6 Mon Sep 17 00:00:00 2001 From: j285he Date: Mon, 6 Sep 2021 00:59:01 -0400 Subject: [PATCH 10/41] Fix side margins on get-involved (#293) Closes #292 Co-authored-by: Jared He <66887902+jaredjhe@users.noreply.github.com> Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/293 Reviewed-by: Aditya Thakral Co-authored-by: j285he Co-committed-by: j285he --- pages/get-involved.module.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/get-involved.module.css b/pages/get-involved.module.css index 1e0359fe..d4a04555 100644 --- a/pages/get-involved.module.css +++ b/pages/get-involved.module.css @@ -52,7 +52,7 @@ @media only screen and (max-width: calc(768rem / 16)) { .page { - margin: calc(30rem / 16); + margin: calc(30rem / 16) 0; } .page > header { From 641e6a3f1c1ab8568a906d71983d33bf89829b0a Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Tue, 7 Sep 2021 01:04:06 -0400 Subject: [PATCH 11/41] Fix presentors array in tech talks (#270) While converting tech talks, I wrongly placed the quotes in the presentors array. This fixes that. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/270 Reviewed-by: n3parikh Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- .../resources/tech-talks/1989-bill-gates-talk-on-microsoft.md | 2 +- .../tech-talks/a-brief-history-of-cs-curriculum-at-uw.md | 2 +- .../tech-talks/a-brief-introduction-to-video-encoding.md | 2 +- content/resources/tech-talks/algorithms-for-shortest-paths.md | 2 +- .../resources/tech-talks/alt-tab-manic-pxe-dream-servers.md | 2 +- ...an-introduction-to-vector-graphics-libraries-with-cairo.md | 2 +- ...-talks-culture-turnaround-and-software-defined-networks.md | 4 ++-- content/resources/tech-talks/baremetal-os.md | 4 ++-- ...p-best-practices-to-the-world-of-functional-programming.md | 2 +- .../building-a-mobile-platform-for-android-and-ios.md | 2 +- content/resources/tech-talks/c-plus-plus-0x-an-overview.md | 2 +- content/resources/tech-talks/cooking-for-geeks.md | 2 +- .../copyright-vs-community-in-the-age-of-computer-networks.md | 2 +- .../cory-doctorow-the-war-on-general-purpose-computing.md | 2 +- content/resources/tech-talks/csc-and-wics-career-panel.md | 4 ++-- .../deep-learning-with-multiplicative-interactions.md | 2 +- content/resources/tech-talks/distributed-file-systems.md | 2 +- .../eric-laforest-next-generation-stack-computing.md | 2 +- content/resources/tech-talks/feminism-in-stem-a-101-panel.md | 4 ++-- content/resources/tech-talks/functional-lexing-and-parsing.md | 2 +- .../tech-talks/general-purpose-computing-on-graphics-cards.md | 2 +- content/resources/tech-talks/google-fiber-speed-is-hard.md | 2 +- content/resources/tech-talks/how-browsers-work.md | 2 +- .../how-to-build-a-brain-from-single-neurons-to-cognition.md | 2 +- .../tech-talks/in-pursuit-of-the-travelling-salesman.md | 2 +- content/resources/tech-talks/infra-sound-is-all-around-us.md | 2 +- content/resources/tech-talks/introduction-to-3-d-graphics.md | 2 +- .../tech-talks/larry-smith-computing-s-next-great-empires.md | 2 +- .../tech-talks/larry-smith-creating-killer-applications.md | 2 +- ...rning-vs-human-learning-will-scientists-become-obsolete.md | 2 +- .../tech-talks/more-haskell-functional-programming-fun.md | 2 +- .../resources/tech-talks/multi-processor-real-time-systems.md | 2 +- content/resources/tech-talks/netplay-in-emulators.md | 2 +- content/resources/tech-talks/network-infrastructure-talk.md | 2 +- ...the-record-messaging-useful-security-and-privacy-for-im.md | 2 +- .../tech-talks/open-source-computer-sound-measurement.md | 2 +- content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md | 2 +- content/resources/tech-talks/privacy-by-design.md | 2 +- content/resources/tech-talks/programming-quantum-computers.md | 2 +- content/resources/tech-talks/qippspace.md | 2 +- content/resources/tech-talks/racket-s-magical-match.md | 2 +- .../ralph-stanton-40th-anniversary-of-math-faculty-talk.md | 2 +- .../tech-talks/rapid-prototyping-and-mathematical-art.md | 2 +- .../reactos-an-open-source-os-platform-for-learning.md | 2 +- ...o-mariani-eighteen-years-in-the-software-tools-business.md | 2 +- .../resources/tech-talks/riding-the-multi-core-revolution.md | 2 +- .../tech-talks/runtime-type-inference-in-dynamic-languages.md | 2 +- content/resources/tech-talks/sat-and-smt-solvers.md | 2 +- .../semacode-image-recognition-on-mobile-camera-phones.md | 2 +- .../tech-talks/software-development-gets-on-the-cluetrain.md | 2 +- .../tech-talks/software-transactional-memory-and-haskell.md | 2 +- .../spam-filters-do-they-work-and-can-you-prove-it.md | 2 +- .../starting-a-vn-indie-game-company-as-a-uw-student.md | 2 +- content/resources/tech-talks/the-art-of-the-propagator.md | 2 +- .../the-best-algorithms-are-randomized-algorithms.md | 2 +- ...nux-operating-system-a-talk-by-richard-stallman-at-ucsd.md | 2 +- .../the-future-of-robotics-and-automated-systems.md | 2 +- content/resources/tech-talks/unix-102-spring-2017.md | 4 ++-- content/resources/tech-talks/usability-in-the-wild.md | 2 +- .../uw-software-start-ups-what-worked-and-what-did-not.md | 2 +- ...ressing-poorly-understood-and-sloppily-formulated-ideas.md | 2 +- ...u-should-care-about-functional-programming-with-haskell.md | 2 +- content/resources/tech-talks/wilderness-programming.md | 2 +- 63 files changed, 68 insertions(+), 68 deletions(-) diff --git a/content/resources/tech-talks/1989-bill-gates-talk-on-microsoft.md b/content/resources/tech-talks/1989-bill-gates-talk-on-microsoft.md index 54555695..b46e0250 100644 --- a/content/resources/tech-talks/1989-bill-gates-talk-on-microsoft.md +++ b/content/resources/tech-talks/1989-bill-gates-talk-on-microsoft.md @@ -2,7 +2,7 @@ index: 55 title: '1989 Bill Gates Talk on Microsoft' presentors: - - 'Bill Gates' + - Bill Gates thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' large: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' diff --git a/content/resources/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md b/content/resources/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md index 637b0170..659405f1 100644 --- a/content/resources/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md +++ b/content/resources/tech-talks/a-brief-history-of-cs-curriculum-at-uw.md @@ -2,7 +2,7 @@ index: 30 title: 'A brief history of CS curriculum at UW' presentors: - - 'Prabhakar Ragde' + - Prabhakar Ragde thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/prabhakar-history-of-uw-cs-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/prabhakar-history-of-uw-cs-thumb-large.jpg' diff --git a/content/resources/tech-talks/a-brief-introduction-to-video-encoding.md b/content/resources/tech-talks/a-brief-introduction-to-video-encoding.md index f15aea83..4c65a7dc 100644 --- a/content/resources/tech-talks/a-brief-introduction-to-video-encoding.md +++ b/content/resources/tech-talks/a-brief-introduction-to-video-encoding.md @@ -2,7 +2,7 @@ index: 26 title: 'A Brief Introduction to Video Encoding' presentors: - - 'Peter Barfuss' + - Peter Barfuss thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/pbarfuss-video-encoding-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/pbarfuss-video-encoding-thumb-large.jpg' diff --git a/content/resources/tech-talks/algorithms-for-shortest-paths.md b/content/resources/tech-talks/algorithms-for-shortest-paths.md index 347549bc..98681b50 100644 --- a/content/resources/tech-talks/algorithms-for-shortest-paths.md +++ b/content/resources/tech-talks/algorithms-for-shortest-paths.md @@ -2,7 +2,7 @@ index: 11 title: 'Algorithms for Shortest Paths' presentors: - - 'Anna Lubiw' + - Anna Lubiw thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/alubiw-shortest-paths-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/alt-tab-manic-pxe-dream-servers.md b/content/resources/tech-talks/alt-tab-manic-pxe-dream-servers.md index 88384565..b26e6495 100644 --- a/content/resources/tech-talks/alt-tab-manic-pxe-dream-servers.md +++ b/content/resources/tech-talks/alt-tab-manic-pxe-dream-servers.md @@ -2,7 +2,7 @@ index: 2 title: 'ALT-TAB - Manic PXE Dream Servers' presentors: - - 'Fatema Boxwala' + - Fatema Boxwala thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/fatema-manic-pxe-dream-servers-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md b/content/resources/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md index 398886a7..3e08eef7 100644 --- a/content/resources/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md +++ b/content/resources/tech-talks/an-introduction-to-vector-graphics-libraries-with-cairo.md @@ -2,7 +2,7 @@ index: 36 title: 'An Introduction to Vector Graphics Libraries with Cairo' presentors: - - 'Nathaniel Sherry' + - Nathaniel Sherry thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/nsasherr-cairo-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/nsasherr-cairo-thumb-large.jpg' diff --git a/content/resources/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md b/content/resources/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md index fe702bc1..639e0684 100644 --- a/content/resources/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md +++ b/content/resources/tech-talks/back-to-back-talks-culture-turnaround-and-software-defined-networks.md @@ -2,8 +2,8 @@ index: 8 title: 'Back to Back Talks: Culture Turnaround and Software Defined Networks' presentors: - - 'John Stix - - Francisco Dominguez' + - John Stix + - Francisco Dominguez thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/fibernetics-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/baremetal-os.md b/content/resources/tech-talks/baremetal-os.md index 8dab213d..a0f2c5c8 100644 --- a/content/resources/tech-talks/baremetal-os.md +++ b/content/resources/tech-talks/baremetal-os.md @@ -2,8 +2,8 @@ index: 25 title: 'BareMetal OS' presentors: - - 'Ian Seyler - - Return to Infinity' + - Ian Seyler + - Return to Infinity thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/bare-metal-os-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/bare-metal-os-thumb-large.jpg' diff --git a/content/resources/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md b/content/resources/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md index bd0dfadb..5778aba0 100644 --- a/content/resources/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md +++ b/content/resources/tech-talks/bringing-oop-best-practices-to-the-world-of-functional-programming.md @@ -2,7 +2,7 @@ index: 4 title: 'Bringing OOP Best Practices to the World of Functional Programming' presentors: - - 'Elana Hashman' + - Elana Hashman thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/ehashman-oop-best-practices-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/building-a-mobile-platform-for-android-and-ios.md b/content/resources/tech-talks/building-a-mobile-platform-for-android-and-ios.md index f2b61b87..1b6aeee1 100644 --- a/content/resources/tech-talks/building-a-mobile-platform-for-android-and-ios.md +++ b/content/resources/tech-talks/building-a-mobile-platform-for-android-and-ios.md @@ -2,7 +2,7 @@ index: 19 title: 'Building a Mobile Platform for Android and iOS' presentors: - - 'Wesley Tarle' + - Wesley Tarle thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/wtarle_mobile_platform_google-thumb-small.png' links: diff --git a/content/resources/tech-talks/c-plus-plus-0x-an-overview.md b/content/resources/tech-talks/c-plus-plus-0x-an-overview.md index 4241aa85..eec75426 100644 --- a/content/resources/tech-talks/c-plus-plus-0x-an-overview.md +++ b/content/resources/tech-talks/c-plus-plus-0x-an-overview.md @@ -2,7 +2,7 @@ index: 45 title: 'C++0x - An Overview' presentors: - - 'Dr. Bjarne Stroustrup' + - Dr. Bjarne Stroustrup thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/stroustrup-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/stroustrup-thumb-large.jpg' diff --git a/content/resources/tech-talks/cooking-for-geeks.md b/content/resources/tech-talks/cooking-for-geeks.md index 22dacda2..3c635ada 100644 --- a/content/resources/tech-talks/cooking-for-geeks.md +++ b/content/resources/tech-talks/cooking-for-geeks.md @@ -2,7 +2,7 @@ index: 27 title: 'Cooking for Geeks' presentors: - - 'Jeff Potter' + - Jeff Potter thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/cooking-for-geeks-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/cooking-for-geeks-thumb-large.jpg' diff --git a/content/resources/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md b/content/resources/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md index b2fa47eb..ef673680 100644 --- a/content/resources/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md +++ b/content/resources/tech-talks/copyright-vs-community-in-the-age-of-computer-networks.md @@ -2,7 +2,7 @@ index: 47 title: 'Copyright vs Community in the Age of Computer Networks' presentors: - - 'Richard M. Stallman' + - Richard M. Stallman thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/rms-qa-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/rms-qa-thumb-large.jpg' diff --git a/content/resources/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md b/content/resources/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md index 1d7db3b8..767334df 100644 --- a/content/resources/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md +++ b/content/resources/tech-talks/cory-doctorow-the-war-on-general-purpose-computing.md @@ -2,7 +2,7 @@ index: 10 title: 'Cory Doctorow - The War on General Purpose Computing' presentors: - - 'Cory Doctorow' + - Cory Doctorow thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/cory-doctorow-f2015-thumb-small.png' links: diff --git a/content/resources/tech-talks/csc-and-wics-career-panel.md b/content/resources/tech-talks/csc-and-wics-career-panel.md index 3e3182d4..e132d992 100644 --- a/content/resources/tech-talks/csc-and-wics-career-panel.md +++ b/content/resources/tech-talks/csc-and-wics-career-panel.md @@ -2,10 +2,10 @@ index: 7 title: 'CSC and WiCS Career Panel' presentors: - - 'Joanne McKinley + - Joanne McKinley - Carol Kilner - Harshal Jethwa - - Dan Collens' + - Dan Collens thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/csc-wics-f15-panel-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/deep-learning-with-multiplicative-interactions.md b/content/resources/tech-talks/deep-learning-with-multiplicative-interactions.md index 8aba12ca..53f15e43 100644 --- a/content/resources/tech-talks/deep-learning-with-multiplicative-interactions.md +++ b/content/resources/tech-talks/deep-learning-with-multiplicative-interactions.md @@ -2,7 +2,7 @@ index: 32 title: 'Deep Learning With Multiplicative Interactions' presentors: - - 'Dr. Geoff Hinton' + - Dr. Geoff Hinton thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/ghinton-deep-learning-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/ghinton-deep-learning-thumb-large.jpg' diff --git a/content/resources/tech-talks/distributed-file-systems.md b/content/resources/tech-talks/distributed-file-systems.md index 681534a7..f1c07997 100644 --- a/content/resources/tech-talks/distributed-file-systems.md +++ b/content/resources/tech-talks/distributed-file-systems.md @@ -2,7 +2,7 @@ index: 16 title: 'Distributed File Systems' presentors: - - 'Alex Tsay' + - Alex Tsay thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/alex_tsay_aerofs-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/eric-laforest-next-generation-stack-computing.md b/content/resources/tech-talks/eric-laforest-next-generation-stack-computing.md index f14418cd..5c777c11 100644 --- a/content/resources/tech-talks/eric-laforest-next-generation-stack-computing.md +++ b/content/resources/tech-talks/eric-laforest-next-generation-stack-computing.md @@ -2,7 +2,7 @@ index: 59 title: 'Eric LaForest: Next Generation Stack Computing' presentors: - - 'Eric LaForest' + - Eric LaForest thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/ericlaforest-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/ericlaforest-thumb-large.jpg' diff --git a/content/resources/tech-talks/feminism-in-stem-a-101-panel.md b/content/resources/tech-talks/feminism-in-stem-a-101-panel.md index 5ac699a2..f7767679 100644 --- a/content/resources/tech-talks/feminism-in-stem-a-101-panel.md +++ b/content/resources/tech-talks/feminism-in-stem-a-101-panel.md @@ -2,10 +2,10 @@ index: 3 title: 'Feminism in STEM - a 101 Panel' presentors: - - 'Prabhakar + - Prabhakar - Fatema - Filzah - - Swetha' + - Swetha thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/fem101-questions-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/functional-lexing-and-parsing.md b/content/resources/tech-talks/functional-lexing-and-parsing.md index 5509b720..20177a5f 100644 --- a/content/resources/tech-talks/functional-lexing-and-parsing.md +++ b/content/resources/tech-talks/functional-lexing-and-parsing.md @@ -2,7 +2,7 @@ index: 39 title: 'Functional Lexing and Parsing' presentors: - - 'Dr. Prabhakar Ragde' + - Dr. Prabhakar Ragde thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/pr-functional-lexing-parsing-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/pr-functional-lexing-parsing-thumb-large.jpg' diff --git a/content/resources/tech-talks/general-purpose-computing-on-graphics-cards.md b/content/resources/tech-talks/general-purpose-computing-on-graphics-cards.md index 9abd0c50..ded699c9 100644 --- a/content/resources/tech-talks/general-purpose-computing-on-graphics-cards.md +++ b/content/resources/tech-talks/general-purpose-computing-on-graphics-cards.md @@ -2,7 +2,7 @@ index: 22 title: 'General Purpose Computing on Graphics Cards' presentors: - - 'Katie Hyatt' + - Katie Hyatt thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/kshyatt-gpgpu-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/kshyatt-gpgpu-thumb-large.jpg' diff --git a/content/resources/tech-talks/google-fiber-speed-is-hard.md b/content/resources/tech-talks/google-fiber-speed-is-hard.md index 0bbc480e..9c4c0f83 100644 --- a/content/resources/tech-talks/google-fiber-speed-is-hard.md +++ b/content/resources/tech-talks/google-fiber-speed-is-hard.md @@ -2,7 +2,7 @@ index: 17 title: 'Google Fiber: Speed is Hard' presentors: - - 'Avery Pennarun' + - Avery Pennarun thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/google-speed-is-hard.png' large: 'http://mirror.csclub.uwaterloo.ca/csclub/google-speed-is-hard.png' diff --git a/content/resources/tech-talks/how-browsers-work.md b/content/resources/tech-talks/how-browsers-work.md index 5c90bff7..5727214a 100644 --- a/content/resources/tech-talks/how-browsers-work.md +++ b/content/resources/tech-talks/how-browsers-work.md @@ -2,7 +2,7 @@ index: 21 title: 'How Browsers Work' presentors: - - 'Ehsan Akhgari' + - Ehsan Akhgari thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/how-browsers-work-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/how-browsers-work-thumb-large.jpg' diff --git a/content/resources/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md b/content/resources/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md index df56884c..132b722b 100644 --- a/content/resources/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md +++ b/content/resources/tech-talks/how-to-build-a-brain-from-single-neurons-to-cognition.md @@ -2,7 +2,7 @@ index: 24 title: 'How to build a brain: From single neurons to cognition' presentors: - - 'Dr. Chris Eliasmith' + - Dr. Chris Eliasmith thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/how-to-build-a-brain-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/how-to-build-a-brain-thumb-large.jpg' diff --git a/content/resources/tech-talks/in-pursuit-of-the-travelling-salesman.md b/content/resources/tech-talks/in-pursuit-of-the-travelling-salesman.md index 1b8ef721..07eee95f 100644 --- a/content/resources/tech-talks/in-pursuit-of-the-travelling-salesman.md +++ b/content/resources/tech-talks/in-pursuit-of-the-travelling-salesman.md @@ -2,7 +2,7 @@ index: 18 title: 'In Pursuit of the Travelling Salesman' presentors: - - 'Bill Cook' + - Bill Cook thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/bico_2014_travelling_salesman-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/infra-sound-is-all-around-us.md b/content/resources/tech-talks/infra-sound-is-all-around-us.md index a846e612..81ba91a3 100644 --- a/content/resources/tech-talks/infra-sound-is-all-around-us.md +++ b/content/resources/tech-talks/infra-sound-is-all-around-us.md @@ -2,7 +2,7 @@ index: 12 title: 'Infra Sound is All Around Us' presentors: - - 'Richard Mann' + - Richard Mann thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/mannr-infrared-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/introduction-to-3-d-graphics.md b/content/resources/tech-talks/introduction-to-3-d-graphics.md index 3941af96..4038fe85 100644 --- a/content/resources/tech-talks/introduction-to-3-d-graphics.md +++ b/content/resources/tech-talks/introduction-to-3-d-graphics.md @@ -2,7 +2,7 @@ index: 51 title: 'Introduction to 3-d Graphics' presentors: - - 'The Prof' + - The Prof thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/the-prof-graphics-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/the-prof-graphics-thumb-large.jpg' diff --git a/content/resources/tech-talks/larry-smith-computing-s-next-great-empires.md b/content/resources/tech-talks/larry-smith-computing-s-next-great-empires.md index af7599da..2fea731d 100644 --- a/content/resources/tech-talks/larry-smith-computing-s-next-great-empires.md +++ b/content/resources/tech-talks/larry-smith-computing-s-next-great-empires.md @@ -2,7 +2,7 @@ index: 61 title: 'Larry Smith: Computing''s Next Great Empires' presentors: - - 'Larry Smith' + - Larry Smith thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' large: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' diff --git a/content/resources/tech-talks/larry-smith-creating-killer-applications.md b/content/resources/tech-talks/larry-smith-creating-killer-applications.md index 91230579..d0ab3413 100644 --- a/content/resources/tech-talks/larry-smith-creating-killer-applications.md +++ b/content/resources/tech-talks/larry-smith-creating-killer-applications.md @@ -2,7 +2,7 @@ index: 60 title: 'Larry Smith: Creating Killer Applications' presentors: - - 'Larry Smith' + - Larry Smith thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/larry-killer-applications-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/larry-killer-applications-thumb-large.jpg' diff --git a/content/resources/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md b/content/resources/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md index 38c53cc5..64f8c2c9 100644 --- a/content/resources/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md +++ b/content/resources/tech-talks/machine-learning-vs-human-learning-will-scientists-become-obsolete.md @@ -2,7 +2,7 @@ index: 23 title: 'Machine learning vs human learning: will scientists become obsolete' presentors: - - 'Dr. Shai Ben-David' + - Dr. Shai Ben-David thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/human-vs-machine-learning-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/human-vs-machine-learning-thumb-large.jpg' diff --git a/content/resources/tech-talks/more-haskell-functional-programming-fun.md b/content/resources/tech-talks/more-haskell-functional-programming-fun.md index ef8aa1d8..182d3a83 100644 --- a/content/resources/tech-talks/more-haskell-functional-programming-fun.md +++ b/content/resources/tech-talks/more-haskell-functional-programming-fun.md @@ -2,7 +2,7 @@ index: 41 title: 'More Haskell functional programming fun' presentors: - - 'Andrei Barbu' + - Andrei Barbu thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/abarbu2-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/abarbu2-thumb-large.jpg' diff --git a/content/resources/tech-talks/multi-processor-real-time-systems.md b/content/resources/tech-talks/multi-processor-real-time-systems.md index 6e91ce23..021add81 100644 --- a/content/resources/tech-talks/multi-processor-real-time-systems.md +++ b/content/resources/tech-talks/multi-processor-real-time-systems.md @@ -2,7 +2,7 @@ index: 20 title: 'Multi-processor Real-time Systems' presentors: - - 'Bill Cowan' + - Bill Cowan thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/wmcowan_multi_processor_realtime-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/wmcowan_multi_processor_realtime-thumb-large.jpg' diff --git a/content/resources/tech-talks/netplay-in-emulators.md b/content/resources/tech-talks/netplay-in-emulators.md index fda1094a..75d71ac1 100644 --- a/content/resources/tech-talks/netplay-in-emulators.md +++ b/content/resources/tech-talks/netplay-in-emulators.md @@ -2,7 +2,7 @@ index: 0 title: 'Netplay in Emulators' presentors: - - 'Gregor Richards' + - Gregor Richards thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/gregor-talk-thumb.png' large: 'http://mirror.csclub.uwaterloo.ca/csclub/gregor-talk-thumb.png' diff --git a/content/resources/tech-talks/network-infrastructure-talk.md b/content/resources/tech-talks/network-infrastructure-talk.md index 7f15e120..768fccff 100644 --- a/content/resources/tech-talks/network-infrastructure-talk.md +++ b/content/resources/tech-talks/network-infrastructure-talk.md @@ -2,7 +2,7 @@ index: 6 title: 'Network Infrastructure talk' presentors: - - 'Steve Bourque and Mike Patterson' + - Steve Bourque and Mike Patterson thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/uw-infrastructure-sbourque-half-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md b/content/resources/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md index f55332af..b508ec1e 100644 --- a/content/resources/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md +++ b/content/resources/tech-talks/off-the-record-messaging-useful-security-and-privacy-for-im.md @@ -2,7 +2,7 @@ index: 43 title: 'Off-the-Record Messaging: Useful Security and Privacy for IM' presentors: - - 'Ian Goldberg' + - Ian Goldberg thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/ian-goldberg-otr-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/ian-goldberg-otr-thumb-large.jpg' diff --git a/content/resources/tech-talks/open-source-computer-sound-measurement.md b/content/resources/tech-talks/open-source-computer-sound-measurement.md index e7ce062b..f11417a8 100644 --- a/content/resources/tech-talks/open-source-computer-sound-measurement.md +++ b/content/resources/tech-talks/open-source-computer-sound-measurement.md @@ -2,7 +2,7 @@ index: 5 title: 'Open Source Computer Sound Measurement' presentors: - - 'Richard Mann' + - Richard Mann thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/rmann-oss-sound-measurement-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md b/content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md index f5d6c10c..60aff80b 100644 --- a/content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md +++ b/content/resources/tech-talks/pmamc&oc-sasms-spring-2007.md @@ -2,7 +2,7 @@ index: 46 title: 'PMAMC&OC SASMS - Spring 2007' presentors: - - 'PMClub Various Members' + - PMClub Various Members thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/pmc-sasms-spring-2007-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/pmc-sasms-spring-2007-thumb-large.jpg' diff --git a/content/resources/tech-talks/privacy-by-design.md b/content/resources/tech-talks/privacy-by-design.md index e652351e..795a3bd6 100644 --- a/content/resources/tech-talks/privacy-by-design.md +++ b/content/resources/tech-talks/privacy-by-design.md @@ -2,7 +2,7 @@ index: 44 title: 'Privacy by Design' presentors: - - 'Dr. Ann Cavoukian' + - Dr. Ann Cavoukian thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/privacy-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/privacy-thumb-large.jpg' diff --git a/content/resources/tech-talks/programming-quantum-computers.md b/content/resources/tech-talks/programming-quantum-computers.md index efd9c728..71dd0c9e 100644 --- a/content/resources/tech-talks/programming-quantum-computers.md +++ b/content/resources/tech-talks/programming-quantum-computers.md @@ -2,7 +2,7 @@ index: 38 title: 'Programming Quantum Computers' presentors: - - 'Dr. Raymond Laflemme and Various' + - Dr. Raymond Laflemme and Various thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/iqc1-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/iqc1-thumb-large.jpg' diff --git a/content/resources/tech-talks/qippspace.md b/content/resources/tech-talks/qippspace.md index f6b376f4..40cc4312 100644 --- a/content/resources/tech-talks/qippspace.md +++ b/content/resources/tech-talks/qippspace.md @@ -2,7 +2,7 @@ index: 35 title: 'QIP=PSPACE' presentors: - - 'Dr. John Watrous' + - Dr. John Watrous thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/jwatrous-qip-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/jwatrous-qip-thumb-large.jpg' diff --git a/content/resources/tech-talks/racket-s-magical-match.md b/content/resources/tech-talks/racket-s-magical-match.md index 902c454b..e00d36ea 100644 --- a/content/resources/tech-talks/racket-s-magical-match.md +++ b/content/resources/tech-talks/racket-s-magical-match.md @@ -2,7 +2,7 @@ index: 15 title: 'Racket''s Magical Match' presentors: - - 'Theo Belaire' + - Theo Belaire thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/tbelaire_racket-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md b/content/resources/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md index cb7a9a5b..4b2a57e4 100644 --- a/content/resources/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md +++ b/content/resources/tech-talks/ralph-stanton-40th-anniversary-of-math-faculty-talk.md @@ -2,7 +2,7 @@ index: 49 title: 'Ralph Stanton 40th Anniversary of Math Faculty Talk' presentors: - - 'Ralph Stanton' + - Ralph Stanton thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/ralph-stanton-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/ralph-stanton-thumb-large.jpg' diff --git a/content/resources/tech-talks/rapid-prototyping-and-mathematical-art.md b/content/resources/tech-talks/rapid-prototyping-and-mathematical-art.md index 681865a4..04d28c4e 100644 --- a/content/resources/tech-talks/rapid-prototyping-and-mathematical-art.md +++ b/content/resources/tech-talks/rapid-prototyping-and-mathematical-art.md @@ -2,7 +2,7 @@ index: 40 title: 'Rapid Prototyping and Mathematical Art' presentors: - - 'Dr. Craig Kaplan' + - Dr. Craig Kaplan thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/kaplan-mathematical-art-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/kaplan-mathematical-art-thumb-large.jpg' diff --git a/content/resources/tech-talks/reactos-an-open-source-os-platform-for-learning.md b/content/resources/tech-talks/reactos-an-open-source-os-platform-for-learning.md index e66269e2..c580e638 100644 --- a/content/resources/tech-talks/reactos-an-open-source-os-platform-for-learning.md +++ b/content/resources/tech-talks/reactos-an-open-source-os-platform-for-learning.md @@ -2,7 +2,7 @@ index: 54 title: 'ReactOS - An Open Source OS Platform for Learning' presentors: - - 'Alex Ionescu' + - Alex Ionescu thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/alex-ionescu-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/alex-ionescu-thumb-large.jpg' diff --git a/content/resources/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md b/content/resources/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md index b6eccf2f..3ac66673 100644 --- a/content/resources/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md +++ b/content/resources/tech-talks/rico-mariani-eighteen-years-in-the-software-tools-business.md @@ -2,7 +2,7 @@ index: 62 title: 'Rico Mariani: Eighteen Years in the Software Tools Business' presentors: - - 'Rico Mariani' + - Rico Mariani thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/rico-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/rico-thumb-large.jpg' diff --git a/content/resources/tech-talks/riding-the-multi-core-revolution.md b/content/resources/tech-talks/riding-the-multi-core-revolution.md index d9dcdd3d..068a7e7f 100644 --- a/content/resources/tech-talks/riding-the-multi-core-revolution.md +++ b/content/resources/tech-talks/riding-the-multi-core-revolution.md @@ -2,7 +2,7 @@ index: 53 title: 'Riding The Multi-core Revolution' presentors: - - 'Stefanus Du Toit' + - Stefanus Du Toit thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/sdt-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/sdt-thumb-large.jpg' diff --git a/content/resources/tech-talks/runtime-type-inference-in-dynamic-languages.md b/content/resources/tech-talks/runtime-type-inference-in-dynamic-languages.md index 558a478d..91f0f5be 100644 --- a/content/resources/tech-talks/runtime-type-inference-in-dynamic-languages.md +++ b/content/resources/tech-talks/runtime-type-inference-in-dynamic-languages.md @@ -2,7 +2,7 @@ index: 13 title: 'Runtime Type Inference in Dynamic Languages' presentors: - - 'Kannan Vijayan' + - Kannan Vijayan thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/vijayan-type-inference-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/sat-and-smt-solvers.md b/content/resources/tech-talks/sat-and-smt-solvers.md index 32b500c2..a2ecdf45 100644 --- a/content/resources/tech-talks/sat-and-smt-solvers.md +++ b/content/resources/tech-talks/sat-and-smt-solvers.md @@ -2,7 +2,7 @@ index: 14 title: 'SAT and SMT solvers' presentors: - - 'Murphy Berzish' + - Murphy Berzish thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/mtrberzi-sat-smt-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md b/content/resources/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md index d5db97e4..b31e1de1 100644 --- a/content/resources/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md +++ b/content/resources/tech-talks/semacode-image-recognition-on-mobile-camera-phones.md @@ -2,7 +2,7 @@ index: 58 title: 'Semacode - Image recognition on mobile camera phones' presentors: - - 'Simon Woodside' + - Simon Woodside thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/semacode-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/semacode-thumb-large.jpg' diff --git a/content/resources/tech-talks/software-development-gets-on-the-cluetrain.md b/content/resources/tech-talks/software-development-gets-on-the-cluetrain.md index 6356d71d..7eea8f20 100644 --- a/content/resources/tech-talks/software-development-gets-on-the-cluetrain.md +++ b/content/resources/tech-talks/software-development-gets-on-the-cluetrain.md @@ -2,7 +2,7 @@ index: 57 title: 'Software development gets on the Cluetrain' presentors: - - 'Simon Law' + - Simon Law thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/simon-talk-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/simon-talk-thumb-large.jpg' diff --git a/content/resources/tech-talks/software-transactional-memory-and-haskell.md b/content/resources/tech-talks/software-transactional-memory-and-haskell.md index 4a054e91..1950e987 100644 --- a/content/resources/tech-talks/software-transactional-memory-and-haskell.md +++ b/content/resources/tech-talks/software-transactional-memory-and-haskell.md @@ -2,7 +2,7 @@ index: 37 title: 'Software Transactional Memory and Haskell' presentors: - - 'Brennan Taylor' + - Brennan Taylor thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/b4taylor-stm-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/b4taylor-stm-thumb-large.jpg' diff --git a/content/resources/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md b/content/resources/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md index ee086bb8..8be50091 100644 --- a/content/resources/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md +++ b/content/resources/tech-talks/spam-filters-do-they-work-and-can-you-prove-it.md @@ -2,7 +2,7 @@ index: 56 title: 'Spam Filters: Do they work and Can you prove it' presentors: - - 'Dr. Gord Cormack' + - Dr. Gord Cormack thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/cormack-spam-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/cormack-spam-thumb-large.jpg' diff --git a/content/resources/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md b/content/resources/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md index e4e5841f..c6b90bf7 100644 --- a/content/resources/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md +++ b/content/resources/tech-talks/starting-a-vn-indie-game-company-as-a-uw-student.md @@ -2,7 +2,7 @@ index: 9 title: 'Starting a VN Indie Game Company as a UW Student' presentors: - - 'Alfe Clemencio' + - Alfe Clemencio thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/indie-game-dev-clemencio-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/the-art-of-the-propagator.md b/content/resources/tech-talks/the-art-of-the-propagator.md index 939a5e18..55506073 100644 --- a/content/resources/tech-talks/the-art-of-the-propagator.md +++ b/content/resources/tech-talks/the-art-of-the-propagator.md @@ -2,7 +2,7 @@ index: 28 title: 'The Art of the Propagator' presentors: - - 'Gerald Jay Sussman' + - Gerald Jay Sussman thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/sussman-propagator-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/the-best-algorithms-are-randomized-algorithms.md b/content/resources/tech-talks/the-best-algorithms-are-randomized-algorithms.md index ae7d8599..c05dde97 100644 --- a/content/resources/tech-talks/the-best-algorithms-are-randomized-algorithms.md +++ b/content/resources/tech-talks/the-best-algorithms-are-randomized-algorithms.md @@ -2,7 +2,7 @@ index: 34 title: 'The Best Algorithms are Randomized Algorithms' presentors: - - 'Dr. Nick Harvey' + - Dr. Nick Harvey thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/nick-harvey-random-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/nick-harvey-random-thumb-large.jpg' diff --git a/content/resources/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md b/content/resources/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md index 9a166c37..4dcc3c19 100644 --- a/content/resources/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md +++ b/content/resources/tech-talks/the-free-software-movement-and-gnulinux-operating-system-a-talk-by-richard-stallman-at-ucsd.md @@ -2,7 +2,7 @@ index: 50 title: 'The Free Software Movement and GNULinux Operating System, a talk by Richard Stallman at UCSD' presentors: - - 'Richard M. Stallman' + - Richard M. Stallman thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' large: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' diff --git a/content/resources/tech-talks/the-future-of-robotics-and-automated-systems.md b/content/resources/tech-talks/the-future-of-robotics-and-automated-systems.md index 8c302e18..066d5b49 100644 --- a/content/resources/tech-talks/the-future-of-robotics-and-automated-systems.md +++ b/content/resources/tech-talks/the-future-of-robotics-and-automated-systems.md @@ -2,7 +2,7 @@ index: 31 title: 'The Future of Robotics and Automated Systems' presentors: - - 'Sam Pasupalak' + - Sam Pasupalak thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/sam-papusalak-future-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/sam-papusalak-future-thumb-large.jpg' diff --git a/content/resources/tech-talks/unix-102-spring-2017.md b/content/resources/tech-talks/unix-102-spring-2017.md index ad41421d..1d73c0bd 100644 --- a/content/resources/tech-talks/unix-102-spring-2017.md +++ b/content/resources/tech-talks/unix-102-spring-2017.md @@ -2,8 +2,8 @@ index: 1 title: 'Unix 102 Spring 2017' presentors: - - 'Fatema - - Charlie' + - Fatema + - Charlie thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/unix102-s17-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/usability-in-the-wild.md b/content/resources/tech-talks/usability-in-the-wild.md index da005b11..3bb18e7d 100644 --- a/content/resources/tech-talks/usability-in-the-wild.md +++ b/content/resources/tech-talks/usability-in-the-wild.md @@ -2,7 +2,7 @@ index: 48 title: 'Usability in the Wild' presentors: - - 'Dr. Michael Terry' + - Dr. Michael Terry thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/mterry2-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/mterry2-thumb-large.jpg' diff --git a/content/resources/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md b/content/resources/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md index 8b7b6adb..e57e236f 100644 --- a/content/resources/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md +++ b/content/resources/tech-talks/uw-software-start-ups-what-worked-and-what-did-not.md @@ -2,7 +2,7 @@ index: 52 title: 'UW Software Start-ups: What Worked and What Did Not' presentors: - - 'Larry Smith' + - Larry Smith thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/larry-smith-talk2-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/larry-smith-talk2-thumb-large.jpg' diff --git a/content/resources/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md b/content/resources/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md index 0d1015cf..0450696f 100644 --- a/content/resources/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md +++ b/content/resources/tech-talks/why-programming-is-a-good-medium-for-expressing-poorly-understood-and-sloppily-formulated-ideas.md @@ -2,7 +2,7 @@ index: 29 title: 'Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas' presentors: - - 'Gerald Jay Sussman' + - Gerald Jay Sussman thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/sussman-why-programming-thumb-small.jpg' links: diff --git a/content/resources/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md b/content/resources/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md index ce7a5678..e4620e4c 100644 --- a/content/resources/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md +++ b/content/resources/tech-talks/why-you-should-care-about-functional-programming-with-haskell.md @@ -2,7 +2,7 @@ index: 42 title: 'Why you should care about functional programming with Haskell' presentors: - - 'Andrei Barbu' + - Andrei Barbu thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/abarbu1-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/abarbu1-thumb-large.jpg' diff --git a/content/resources/tech-talks/wilderness-programming.md b/content/resources/tech-talks/wilderness-programming.md index e46d711a..84012aff 100644 --- a/content/resources/tech-talks/wilderness-programming.md +++ b/content/resources/tech-talks/wilderness-programming.md @@ -2,7 +2,7 @@ index: 33 title: 'Wilderness Programming' presentors: - - 'Paul Lutus' + - Paul Lutus thumbnails: small: 'http://mirror.csclub.uwaterloo.ca/csclub/plutus-wilderness-programming-thumb-small.jpg' large: 'http://mirror.csclub.uwaterloo.ca/csclub/plutus-wilderness-programming-thumb-large.jpg' From 7c881c71028f02f22202ebc55400a6592086b0f5 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Tue, 7 Sep 2021 22:05:25 -0400 Subject: [PATCH 12/41] Use the new discord logo (#300) Closes #291 Closes #85 Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/300 Reviewed-by: w25tran Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- components/SocialLinks.tsx | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/components/SocialLinks.tsx b/components/SocialLinks.tsx index 75569d04..7168874b 100644 --- a/components/SocialLinks.tsx +++ b/components/SocialLinks.tsx @@ -89,38 +89,23 @@ function InstagramSvg(color: string) { function DiscordSvg(color: string) { return ( - - - - - - - + + + + + - - - - - ); } From f8cde46d6aa6251311159e56586f3657e3daa18d Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Tue, 7 Sep 2021 23:07:01 -0400 Subject: [PATCH 13/41] add link to libera.chat (#303) Closes #285. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/303 Reviewed-by: Aditya Thakral Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- components/SocialLinks.tsx | 93 +++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/components/SocialLinks.tsx b/components/SocialLinks.tsx index 7168874b..80429fd3 100644 --- a/components/SocialLinks.tsx +++ b/components/SocialLinks.tsx @@ -38,6 +38,11 @@ const iconList = [ image: DiscordSvg, link: "https://discord.gg/pHfYBCg", }, + { + name: "Libera", + image: LiberaSvg, + link: "ircs://irc.libera.chat:6697/csc", + }, ]; const links = iconList.map((icon) => { @@ -60,7 +65,7 @@ const links = iconList.map((icon) => { return SocialLink; }); -export const [Facebook, Instagram, Twitch, Discord] = links; +export const [Facebook, Instagram, Twitch, Discord, Libera] = links; function InstagramSvg(color: string) { return ( @@ -178,3 +183,89 @@ function FacebookSvg(color: string) { ); } + +function LiberaSvg(color: string) { + return ( + + + + + + + + + + + + + ); +} From 0043c3f9493c4daa053c721718eb4065d72ba564 Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Wed, 8 Sep 2021 13:35:01 -0400 Subject: [PATCH 14/41] add missing syscom members (#298) Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/298 Reviewed-by: Aditya Thakral Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- content/team/systems-committee.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/team/systems-committee.json b/content/team/systems-committee.json index 80923c63..8f60ed5e 100644 --- a/content/team/systems-committee.json +++ b/content/team/systems-committee.json @@ -11,5 +11,13 @@ { "name": "Raymond Li", "role": "Member" + }, + { + "name": "Amin Bandali", + "role": "Member" + }, + { + "name": "Zachary Seguin", + "role": "Member" } ] From c7f0d83bbae0630bdb6c93735af43ea0f3141297 Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Wed, 8 Sep 2021 13:49:45 -0400 Subject: [PATCH 15/41] Fix weird animation flash on mobile (#304) When we visit the website on mobile, there's a weird animation flash. This is caused because the navbar by default is placed at left: 0, and we see the transform animation once the page loads. This places the navbar at left: 100% (outside the screen) and transforms it to move into the screen - translateX(-100%) Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/304 Reviewed-by: Amy Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- components/Navbar.module.css | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/components/Navbar.module.css b/components/Navbar.module.css index 82e5475d..02ec959d 100644 --- a/components/Navbar.module.css +++ b/components/Navbar.module.css @@ -152,6 +152,11 @@ visibility: visible; } +/* Prevents a weird flash of opacity change on mobile */ +.navMobileBackground { + opacity: 0; +} + /* On a smaller desktop screen, keep the same navbar layout but decrease the * horizontal padding so it still fits */ @@ -237,7 +242,7 @@ box-sizing: border-box; height: 100%; top: 0; - right: 0; + left: 100%; overflow: auto; z-index: 30; @@ -246,7 +251,6 @@ background-color: var(--secondary-background); - transform: translateX(100vw); transition: 0.5s; } @@ -364,7 +368,7 @@ } .show.navMobileBackground + .navMenuWrapper { - transform: translateX(0); + transform: translateX(-100%); } .rotate { From 71bdeecb77677ad2da78ca55666f68ee255f29e9 Mon Sep 17 00:00:00 2001 From: n3parikh Date: Wed, 8 Sep 2021 13:50:22 -0400 Subject: [PATCH 16/41] Add BOT event (#296) https://csclub.uwaterloo.ca/~a3thakra/csc/n3parikh-patch-1/ https://csclub.uwaterloo.ca/~a3thakra/csc/n3parikh-patch-1/events/2021/fall/BOT/ Co-authored-by: Aditya Thakral Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/296 Co-authored-by: n3parikh Co-committed-by: n3parikh --- components/EventSetting.module.css | 17 ++++++++++---- components/EventSetting.tsx | 8 +++---- content/events/2021/fall/BOT.md | 21 ++++++++++++++++++ lib/events.ts | 1 + public/events.ics | 11 +++++++++ public/images/events/2021/fall/BOT.png | Bin 0 -> 128403 bytes .../images/events/2021/spring/new-website.png | Bin 75213 -> 0 bytes 7 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 content/events/2021/fall/BOT.md create mode 100644 public/images/events/2021/fall/BOT.png delete mode 100644 public/images/events/2021/spring/new-website.png diff --git a/components/EventSetting.module.css b/components/EventSetting.module.css index 7edfef49..17d429bb 100644 --- a/components/EventSetting.module.css +++ b/components/EventSetting.module.css @@ -1,9 +1,18 @@ +.container { + display: flex; + flex-wrap: wrap; +} + +.separator { + padding: 0 calc(8rem / 16); +} + @media only screen and (max-width: calc(768rem / 16)) { + .container { + flex-direction: column; + } + .separator { display: none; } - - .setting { - display: block; - } } diff --git a/components/EventSetting.tsx b/components/EventSetting.tsx index a0725385..3b6c1f97 100644 --- a/components/EventSetting.tsx +++ b/components/EventSetting.tsx @@ -23,12 +23,10 @@ export function EventSetting(props: Props) { const separator = | ; return ( -
- +
+ {separator} - {time} + {time} {separator} {location}
diff --git a/content/events/2021/fall/BOT.md b/content/events/2021/fall/BOT.md new file mode 100644 index 00000000..469b0d4f --- /dev/null +++ b/content/events/2021/fall/BOT.md @@ -0,0 +1,21 @@ +--- +name: 'CSC BOT & Game Night' +short: 'Learn about our plans for the term and play some games with us.' +date: 'Tuesday September 14 2021 19:00:00 GMT-0400 (Eastern Daylight Time)' +online: true +location: 'Twitch' +poster: 'images/events/2021/fall/BOT.png' +registerLink: https://bit.ly/csc-bot-event-signup-form +--- + +Kick off the fall term with CS Club’s BOT event! 🍂 Interested in attending upcoming CSC events? Want to meet others in the CS community? + +💻 Come join us on Twitch to learn about how you can become a member of CSC and the fun events we have planned for next term. 🎲 Stay for games and socials on the CSC Discord! + +Registration is not required to attend! We’ll just be sending you an email reminder, as well as inviting you to our calendar event. + +📅 Event Date: Tuesday, September 14th from 7:00-8:30 pm ET via [Twitch](https://www.twitch.tv/uwcsclub) and [Discord](https://discord.gg/pHfYBCg) + +👉 Register at https://bit.ly/csc-bot-event-signup-form! Alternatively, you can also email us at exec@csclub.uwaterloo.ca to sign up as well. + +Looking forward to seeing you there!! 🤗 diff --git a/lib/events.ts b/lib/events.ts index 3cb7e621..f4f1d8f4 100644 --- a/lib/events.ts +++ b/lib/events.ts @@ -34,6 +34,7 @@ interface Metadata { date: string; online: boolean; location: string; + registerLink?: string; } export interface Event { diff --git a/public/events.ics b/public/events.ics index b80fa1c2..82996c28 100644 --- a/public/events.ics +++ b/public/events.ics @@ -6,6 +6,17 @@ X-WR-RELCALID:3359A191-B19E-4B53-BADC-DFC084FC51C9 CALSCALE:GREGORIAN METHOD:PUBLISH +BEGIN:VEVENT +LOCATION:Twitch - Online +DTSTAMP:20060912T200708Z +UID:20210914T230000Z@csclub.uwaterloo.ca +SEQUENCE:11 +DTSTART:20210914T230000Z +DTEND:20210915T000000Z +SUMMARY:CSC BOT & Game Night +DESCRIPTION:Learn about our plans for the term and play some games with us. +END:VEVENT + BEGIN:VEVENT LOCATION:University of Waterloo - Online DTSTAMP:20060912T200708Z diff --git a/public/images/events/2021/fall/BOT.png b/public/images/events/2021/fall/BOT.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8c823ace191467d6196d678f695207de5ab115 GIT binary patch literal 128403 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

CWk4B<#z2t7 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%0DK2vLPsv{qBc)($2PwBe0>0iZ6bYy{x&kR?X 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 K&t;ucLK6T2vnI9x From 7338b7bb3e5d0c4d8ff8bd81455a9461ed72a802 Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Wed, 8 Sep 2021 22:04:07 -0400 Subject: [PATCH 17/41] add missing services (#308) Closes #284. Closes #202. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/308 Reviewed-by: Aditya Thakral Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- content/resources/services/git-hosting.md | 10 ++++++++++ content/resources/services/in-office-books.md | 2 +- content/resources/services/irc.md | 2 +- content/resources/services/live-streaming.md | 2 +- content/resources/services/mailing-lists.md | 2 +- content/resources/services/mattermost.md | 8 ++++++++ ...en-source-software-mirror.md => software-mirror.md} | 4 ++-- content/resources/services/ssh-key-fingerprints.md | 2 +- content/resources/services/video-conferencing.md | 2 +- 9 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 content/resources/services/git-hosting.md create mode 100644 content/resources/services/mattermost.md rename content/resources/services/{open-source-software-mirror.md => software-mirror.md} (84%) diff --git a/content/resources/services/git-hosting.md b/content/resources/services/git-hosting.md new file mode 100644 index 00000000..e9ef168c --- /dev/null +++ b/content/resources/services/git-hosting.md @@ -0,0 +1,10 @@ +--- +title: Git Hosting +index: 5 +--- + +We host an instance of [Gitea](https://git.csclub.uwaterloo.ca/) for all of our members. The UI and workflow of Gitea are very similar to GitHub. Gitea is currently home to most CSC software projects, including the [code for this website](https://git.csclub.uwaterloo.ca/www/www-new). + +For more information, see [this page](https://wiki.csclub.uwaterloo.ca/Git_Hosting) on our wiki. + +We also host an instance of [drone.io](https://ci.csclub.uwaterloo.ca/) for CI/CD. To use Drone, you need to login to Gitea first. You can then selectively enable CI on your repos from the Drone UI. See the [Drone documentation](https://docs.drone.io) for more information. diff --git a/content/resources/services/in-office-books.md b/content/resources/services/in-office-books.md index 902d09f8..a4f18ca4 100644 --- a/content/resources/services/in-office-books.md +++ b/content/resources/services/in-office-books.md @@ -1,6 +1,6 @@ --- title: In-Office Books -index: 9 +index: 11 --- The CS Club maintains an [extensive collection of Computer Science-related books](http://csclub.uwaterloo.ca/library/). Feel free to come by the office to take a look at our library. diff --git a/content/resources/services/irc.md b/content/resources/services/irc.md index 79111d97..65545848 100644 --- a/content/resources/services/irc.md +++ b/content/resources/services/irc.md @@ -1,6 +1,6 @@ --- title: IRC -index: 6 +index: 7 --- We host an instance of [The Lounge](https://chat.csclub.uwaterloo.ca/) for all of our members. The Lounge is a web-based IRC client which is simple to setup and use. It also has a Progressive Web App available for mobile devices. diff --git a/content/resources/services/live-streaming.md b/content/resources/services/live-streaming.md index 247465f4..467129fa 100644 --- a/content/resources/services/live-streaming.md +++ b/content/resources/services/live-streaming.md @@ -1,6 +1,6 @@ --- title: Live Streaming -index: 8 +index: 10 --- We host an instance of [Icecast](https://icy.csclub.uwaterloo.ca/), which can stream live audio and video. We have successfully streamed live events to Icecast using OBS Studio. Latency usually ranges between 5-10 sec. diff --git a/content/resources/services/mailing-lists.md b/content/resources/services/mailing-lists.md index 6dfc754d..2b619556 100644 --- a/content/resources/services/mailing-lists.md +++ b/content/resources/services/mailing-lists.md @@ -1,6 +1,6 @@ --- title: Mailing Lists -index: 10 +index: 12 --- Our [csc-general mailing list](https://mailman.csclub.uwaterloo.ca/postorius/lists/csc-general.csclub.uwaterloo.ca/) informs members about our current events. diff --git a/content/resources/services/mattermost.md b/content/resources/services/mattermost.md new file mode 100644 index 00000000..b163e7fc --- /dev/null +++ b/content/resources/services/mattermost.md @@ -0,0 +1,8 @@ +--- +title: Mattermost +index: 8 +--- + +We host an instance of [Mattermost](https://mattermost.csclub.uwaterloo.ca/) for all of our members. Mattermost is an open-source alternative to Slack. We currently bridge the `#csc` channel on libera.chat to Mattermost (if you are looking for a generic web-based IRC client, see [The Lounge](/resources/services/irc)). CSC executives currently use Mattermost for planning and logistics. + +If you would like a dedicated Mattermost team for your club, please contact the [Systems Committee](mailto:syscom@csclub.uwaterloo.ca). diff --git a/content/resources/services/open-source-software-mirror.md b/content/resources/services/software-mirror.md similarity index 84% rename from content/resources/services/open-source-software-mirror.md rename to content/resources/services/software-mirror.md index 5a24ddc2..e7100875 100644 --- a/content/resources/services/open-source-software-mirror.md +++ b/content/resources/services/software-mirror.md @@ -1,6 +1,6 @@ --- -title: Open-Source Software Mirror -index: 5 +title: Software Mirror +index: 6 --- The CSC runs a mirror of popular open source software. The [mirror](http://mirror.csclub.uwaterloo.ca/) has a list of available software. More information is available on our [wiki article](http://wiki.csclub.uwaterloo.ca/Mirror). diff --git a/content/resources/services/ssh-key-fingerprints.md b/content/resources/services/ssh-key-fingerprints.md index 55976891..2b9593ce 100644 --- a/content/resources/services/ssh-key-fingerprints.md +++ b/content/resources/services/ssh-key-fingerprints.md @@ -1,6 +1,6 @@ --- title: SSH Key Fingerprints -index: 11 +index: 13 --- | Machine Name | Key Type | Fingerprint | diff --git a/content/resources/services/video-conferencing.md b/content/resources/services/video-conferencing.md index 841e3b96..e74c6288 100644 --- a/content/resources/services/video-conferencing.md +++ b/content/resources/services/video-conferencing.md @@ -1,6 +1,6 @@ --- title: Video Conferencing -index: 7 +index: 9 --- We host an instance of [BigBlueButton](https://bbb.csclub.uwaterloo.ca/), a free and open-source video conferencing platform. BigBlueButton offers many useful features such as a multi-user whiteboard, breakout rooms, shared notes, and more. From 215a734bc6ac27aecca20a8ddbdf878e21b49c4c Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Thu, 9 Sep 2021 00:41:01 -0400 Subject: [PATCH 18/41] update syscom section (#309) Closes #200. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/309 Reviewed-by: Aditya Thakral Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- content/get-involved.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/get-involved.mdx b/content/get-involved.mdx index 3594457f..daf61b69 100644 --- a/content/get-involved.mdx +++ b/content/get-involved.mdx @@ -63,9 +63,11 @@ Are you interested in using your skills to get involved with CSC? We have committees covering everything from design to development, so no matter your interests, we’ve got a place for you. -**CSC hires at the end of every term**, so make sure to stay connected through +**CSC hires at the end of every term\***, so make sure to stay connected through social media to keep up to date on when applications open! +\* except for syscom, which recruits year-round. + #### Programme Committee - In charge of planning, advertising, and running all events hosted by CSC. @@ -83,6 +85,8 @@ 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: From b46c8d3d5ab2fb9d152dd612a9249848c2b47597 Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Fri, 10 Sep 2021 08:53:37 -0400 Subject: [PATCH 19/41] add stats (#302) The old website had a `/stats` page which showed metrics for several campus network interfaces. This PR adds them back in. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/302 Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- next.config.js | 10 ++++++- public/stats.html | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 public/stats.html diff --git a/next.config.js b/next.config.js index 14eb4e17..bfccd253 100644 --- a/next.config.js +++ b/next.config.js @@ -6,5 +6,13 @@ module.exports = withMDX({ pageExtensions: ["ts", "tsx", "mdx"], trailingSlash: true, basePath: process.env.NEXT_PUBLIC_BASE_PATH, - eslint: { ignoreDuringBuilds: true } + eslint: { ignoreDuringBuilds: true }, + rewrites: async () => { + return [ + { + source: '/stats(/?)', + destination: '/stats.html', + }, + ]; + }, }); diff --git a/public/stats.html b/public/stats.html new file mode 100644 index 00000000..0321f5fd --- /dev/null +++ b/public/stats.html @@ -0,0 +1,67 @@ + + + + Network Statistics + + + + +

+ + + + + + + + + + + + + + + + + + + + + + +
IST: + Router Graphs | + IST Network Services +
 

EXTERNAL DEVICES

+ EXT-RT-MC (Rogers, 10 Gbps)
+ Rogers Interfaces (10 Gbps) +
+ EXT-RT-MC (ORION, 10 Gbps)
+ ORION Interfaces (10 Gbps) +
+ EXT-RT-RAC (OpenFace, 10 Gbps)
+ OpenFace Interface (10 Gbps) +
 

CORE DEVICES

+ CN-RT-MC (10 Gbps)
+ CN-RT-MC +
+ CN-RT-RAC (10 Gbps)
+ CN-RT-RAC +
+ + + + From a21e8f2f0c62630ef95e6040cfe2244e72f0b9ec Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Sat, 11 Sep 2021 15:24:19 -0400 Subject: [PATCH 20/41] add deployment step (#310) Closes #131. Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/310 Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- .drone.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 61536adf..220d808f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -46,8 +46,26 @@ steps: from_secret: STAGING_TOKEN commands: - 'curl -XPOST -H "Authorization: $TOKEN" -H "X-Branch: $DRONE_BRANCH" "https://csclub.uwaterloo.ca/~a3thakra/update-csc/"' + when: + branch: + exclude: + - main + +- name: deploy (production) + image: node:16 + depends_on: + - export + environment: + SSH_KEY: + from_secret: DEPLOYMENT_SSH_KEY + commands: + - 'echo "$SSH_KEY" > /tmp/ssh_key' + - ssh -i /tmp/ssh_key www@caffeine.csclub.uwaterloo.ca '~/bin/deploy-website.sh' + when: + branch: + - main trigger: event: exclude: - - pull_request #avoid double build on PRs \ No newline at end of file + - pull_request #avoid double build on PRs From 336fa5b07351f32c4ae7b45dd62f10a70db5f5c4 Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Sat, 11 Sep 2021 15:37:06 -0400 Subject: [PATCH 21/41] use StrictHostKeyChecking=no (#311) Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/311 Co-authored-by: Max Erenberg Co-committed-by: Max Erenberg --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 220d808f..6f1a71aa 100644 --- a/.drone.yml +++ b/.drone.yml @@ -60,7 +60,7 @@ steps: from_secret: DEPLOYMENT_SSH_KEY commands: - 'echo "$SSH_KEY" > /tmp/ssh_key' - - ssh -i /tmp/ssh_key www@caffeine.csclub.uwaterloo.ca '~/bin/deploy-website.sh' + - ssh -i /tmp/ssh_key www@caffeine.csclub.uwaterloo.ca -o StrictHostKeyChecking=no '~/bin/deploy-website.sh' when: branch: - main From 95a72a3eede8fd9700b1ed41d63a0ba19014a81f Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Sat, 11 Sep 2021 15:59:11 -0400 Subject: [PATCH 22/41] chmod 600 the SSH key --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index 6f1a71aa..fb4301cf 100644 --- a/.drone.yml +++ b/.drone.yml @@ -60,6 +60,7 @@ steps: from_secret: DEPLOYMENT_SSH_KEY commands: - 'echo "$SSH_KEY" > /tmp/ssh_key' + - chmod 600 /tmp/ssh_key - ssh -i /tmp/ssh_key www@caffeine.csclub.uwaterloo.ca -o StrictHostKeyChecking=no '~/bin/deploy-website.sh' when: branch: From e73df82bde85621d2056e9d69a85b4161f5f137e Mon Sep 17 00:00:00 2001 From: Aditya Thakral Date: Sat, 11 Sep 2021 16:00:22 -0400 Subject: [PATCH 23/41] Update content for advice pages (#299) Unblocks #173 https://csclub.uwaterloo.ca/~a3thakra/csc/adi-new-advice/resources/advice/co-op/ Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/299 Co-authored-by: Aditya Thakral Co-committed-by: Aditya Thakral --- components/Blockquote.module.css | 5 + components/Blockquote.tsx | 13 +++ content/resources/advice/academic-advice.md | 21 +++++ content/resources/advice/academic-advice.mdx | 16 ---- content/resources/advice/co-op-advice.md | 95 +++++++++++++++++++ content/resources/advice/co-op-advice.mdx | 98 -------------------- content/resources/advice/misc-advice.md | 55 +++++++++++ content/resources/advice/misc-advice.mdx | 42 --------- next.config.js | 4 +- pages/_app.tsx | 2 + pages/resources/advice/academic.tsx | 2 +- pages/resources/advice/co-op.tsx | 2 +- pages/resources/advice/misc.tsx | 2 +- types.d.ts | 8 ++ 14 files changed, 204 insertions(+), 161 deletions(-) create mode 100644 components/Blockquote.module.css create mode 100644 components/Blockquote.tsx create mode 100644 content/resources/advice/academic-advice.md delete mode 100644 content/resources/advice/academic-advice.mdx create mode 100644 content/resources/advice/co-op-advice.md delete mode 100644 content/resources/advice/co-op-advice.mdx create mode 100644 content/resources/advice/misc-advice.md delete mode 100644 content/resources/advice/misc-advice.mdx diff --git a/components/Blockquote.module.css b/components/Blockquote.module.css new file mode 100644 index 00000000..64a0c5be --- /dev/null +++ b/components/Blockquote.module.css @@ -0,0 +1,5 @@ +.blockquote { + margin: 0; + padding-left: calc(10rem / 16); + border-left: calc(3rem / 16) solid var(--primary-accent-light); +} diff --git a/components/Blockquote.tsx b/components/Blockquote.tsx new file mode 100644 index 00000000..51ece282 --- /dev/null +++ b/components/Blockquote.tsx @@ -0,0 +1,13 @@ +import React, { ReactNode } from "react"; + +import styles from "./Blockquote.module.css"; + +export interface Props { + children: ReactNode; +} + +export function Blockquote(props: Props) { + return ( +
{props.children}
+ ); +} diff --git a/content/resources/advice/academic-advice.md b/content/resources/advice/academic-advice.md new file mode 100644 index 00000000..e7f4d279 --- /dev/null +++ b/content/resources/advice/academic-advice.md @@ -0,0 +1,21 @@ +## Academic Advice + +#### How can I create study groups without risking academic infidelity? + +Find a nice group of people that you study well with and meet every once in a while to work on things together, you can do that generally by asking around via messaging platforms/office hours. To avoid plagiarism, avoid discussing intricate details of the solution but rather bounce ideas off one another, and leave yourself 30 minutes after the meeting before you write up a solution. + +#### How can I make sure that I understand the course content? + +Try to complete your assignments without consulting your notes. It will be very challenging to do if you are not very confident in the content and is a good indicator that you need to understand the content better! Try to review it again and do the assignment without referring back to it. + +#### What can I do when I feel unmotivated? + +Try to manage your pace when it comes to work. It’s really easy to burn out and lose motivation in the middle to end of the term, when you need it the most. Give yourself a breather and take breaks! + +#### How can I enjoy the school term when it becomes stressful? + +Assignments can be pretty endless, so make sure you celebrate your small wins. Modularize your tasks and reflect on all the work you’ve done over a period of time. It’s often much more than you think. + +#### Who can I go to when I have an issue regarding a course? + +If you have issues regarding courses, there are MathSoc class representatives who can help voice your concerns to involved faculty members. diff --git a/content/resources/advice/academic-advice.mdx b/content/resources/advice/academic-advice.mdx deleted file mode 100644 index aed52b15..00000000 --- a/content/resources/advice/academic-advice.mdx +++ /dev/null @@ -1,16 +0,0 @@ -## Academic Advice - -Find a nice group of people that you study well with and meet every once in a while to work on things together, -you can do that generally by asking around via messaging platforms/office hours. To avoid plagiarism, avoid discussing -intricate details of the solution but rather bounce ideas off one another, and leave yourself 30 minutes after the meeting -before you write up a solution - -Try to complete your assignments without consulting your notes. It will be very challenging to do if you are not very confident -in the content and is a good indicator that you need to understand the content better! Try to review it again and do the -assignment without referring back to it. - -Try to manage your pace when it comes to work. It’s really easy to burn out and lose motivation in the middle to end of the term, -when you need it the most. Give yourself a breather and take breaks! - -Assignments can be pretty endless, so make sure you celebrate your small wins. Modularize your tasks and reflect on all the -work you’ve done over a period of time. It’s often much more than you think. diff --git a/content/resources/advice/co-op-advice.md b/content/resources/advice/co-op-advice.md new file mode 100644 index 00000000..d3118c8c --- /dev/null +++ b/content/resources/advice/co-op-advice.md @@ -0,0 +1,95 @@ +## Coop Advice + +### Finding a co-op + +#### How can I increase my chance of finding a good co-op? + +Start looking for a co-op early. Although WaterlooWorks is quite reliable, there are many more opportunities outside of the job board. Being able to apply for jobs externally not only prepares you to look for jobs full time but it also provides a way to start your study term without having to worry about looking for a co-op. + + + +### First few weeks of co-op - Starting off strong so your team gives you more important projects to work on + +#### What are some things I can do to better understand the context of my work? + +If you have spent time diving into the codebase but you still are confused, schedule time with your mentor/coworkers to have a code base walk through. Write up questions to ask during the meeting and take notes of unclear parts of the code. + +#### What are some easy steps to produce cleaner code? + +Check over your code at least twice before submitting your code review. Reviewing the code a second time may help you catch minor issues and/or problematic code that your reviewers may or may not comment on. If you are unable to figure out a solution to an issue, then reach out to someone for help rather than implementing a hacky solution. You will be more aware of your coding quality, less prone to ignoring issues, and overall be a more responsible developer. + +#### How can I improve the onboarding process? + +Document any blockers you faced during onboarding, and how you overcame them because chances are others will face them too. These can be tips/advice you would give new hires. Feel free to share these findings with your team, because they want to make the onboarding process more efficient and up to date for future hires. Some examples of things to take note of are outdated/incorrect/missing documentation and the way the team does a specific task. + +### Work life balance? + +#### What can I do to feel less stressed from my co-op workday? + +Create rituals for starting your day and ending your day. Studies have shown that not having a post work activity makes it harder to not think about work which leads to burn out and reduced productivity. Start your day by thinking about what you want to achieve and how you want to feel. End your day by doing an activity i.e exercising, listing todos for tomorrow, or even reflecting about the work day! This may help you have a more balanced lifestyle. + +#### How can I stay on top of my tasks during a workday? + +Set up a system to stay on top of your work. This can be as simple as setting up a to-do list ready for the day. The important thing is to be clear and intentional with your goals each day so you can optimize your focus on getting things done. + +### Asking for help + +#### How can I balance between solving problems on my own and asking for help? + +To make the best use of your time, set a time limit on how long you spend on the problem (e.g. 1 hour before you ask for help). Asking for help on an issue you’ve been stuck on for some time can be beneficial. It’s much better to take an hour of your mentor/boss’ time than to be stuck for days without any results. The solution may be team/organization specific and asking can save a lot of time. Be sure to try your best to solve the problem on your own first to maximize your ability to learn. + +### Getting feedback + +#### How do I ask for feedback during a work term? + +Asking for feedback from your manager/mentor throughout the term can go a long way. You can ask about your performance in certain areas and ways you can improve. These feedbacks can help determine what you should continue and/or change. For example, you can ask about their expectations and how you can achieve a specific rating on the employer co-op rating to set up specific goals. + +### Performance evaluation + +#### How can I ensure that I am satisfying my manager's expectations during a work term? + +Around the middle of the term, ask to go over your co-op evaluation form with your manager. In doing so, you will be able to modify your current goals to match/exceed your manager’s expectations. This is especially helpful for you to determine how you can achieve the co-op rating you want. + +### Networking + +#### How can I network effectively during a coop term? + +Meeting and networking with people in and outside your team is an amazing way to learn and meet new people. Coffee chats are a great way to learn about interesting roles and tasks others around the company perform. Try to set up coffee chats with others at your company as you might meet an amazing connection or learn about a really neat topic. This may lead to an idea of what you want to do in your future co-ops. A format you can use is: “Hey, I'm the new intern of [manager] and I was wondering if I could put something on your calendar so I can get to know you and your work a little better.” + +### Code related advice + +#### How can I efficiently ensure that my code is functional? + +Aim to make most/all of your code testable. This will ensure the code is functioning properly and will save time debugging in the future. This is a useful skill to have as a developer. + +#### How do I handle push requests on GitHub? + +Each push request (PR) should focus on a very specific change/feature. Modularizing the changes will make reviewing the PR easier and quicker. + +### Compensation + +#### How can I negotiate compensation for an offer when I have other competing offers? + +Negotiating compensation for an offer when you already have competing offers can be very beneficial for you and it’s normal to do. For a general guide, you can use the format: + +> Hello [Name of recruiter], +> +> I am very interested in working [company name]. I have been given an opportunity at [another company name] that is offering [compensation]. Would it be possible for [the company name] to match/increase the compensation? +> +> Thank you, +> +> [Name] + +#### How can I negotiate compensation when I do not have other competing offers? + +If you do not have competing offers you can still try to negotiate using the format: + +> Hello [Name of recruiter], +> +> Given my experiences, would it be possible to increase the compensation to [compensation]? +> +> Thank you, +> +> [Name] + +Either way, it does not hurt to try as the worst they can say is no. diff --git a/content/resources/advice/co-op-advice.mdx b/content/resources/advice/co-op-advice.mdx deleted file mode 100644 index 1e65bbaa..00000000 --- a/content/resources/advice/co-op-advice.mdx +++ /dev/null @@ -1,98 +0,0 @@ -## Co-op Advice - -Although WaterlooWorks is quite reliable, there are many more opportunities outside of the job board. -Being able to apply for jobs externally not only prepares you to look for jobs full time but it also -provides a way to start your study term without having to worry about looking for a co-op. - - -Create rituals for starting your day and ending your day. Studies have shown that not having a post work activity -makes it harder to not think about work which leads to burn out and reduced productivity. Start your day by thinking -about what you want to achieve and how you want to feel. End your day by doing an activity i.e exercising, listing -todos for tomorrow, or even reflecting about the work day! This may help you have a more balanced lifestyle. - - -To make the best use of your time, set a time limit on how long you spend on the problem (e.g. 1 hour before -you ask for help). Asking for help on an issue you’ve been stuck on for some time can be beneficial. It’s much -better to take an hour of your mentor/boss’ time than to be stuck for days without any results. The solution -may be team/organization specific and asking can save a lot of time. Be sure to try your best to solve the -problem on your own first to maximize your ability to learn. - - -If you have spent time diving into the codebase but you still are confused, schedule time with your mentor/coworkers -to have a code base walk through. Write up questions to ask during the meeting and take notes of unclear parts of the code. - - -Check over your code at least twice before submitting your code review. Reviewing the code a second time may -help you catch minor issues and/or problematic code that your reviewers may or may not comment on. If you are -unable to figure out a solution to an issue, then reach out to someone for help rather than implementing a -hacky solution. You will be more aware of your coding quality, less prone to ignoring issues, and overall -be a more responsible developer. - - -Asking for feedback from your manager/mentor throughout the term can go a long way. You can ask about your -performance in certain areas and ways you can improve. These feedbacks can help determine what you should continue -and/or change. For example, you can ask about their expectations and how you can achieve a specific rating on -the employer co-op rating to set up specific goals. - - -Around the middle of the term, ask to go over your co-op evaluation form with your manager. In doing so, you will -be able to modify your current goals to match/exceed your manager’s expectations. This is especially helpful for -you to determine how you can achieve the co-op rating you want. - - -Meeting and networking with people in and outside your team is an amazing way to learn and meet new people. -Coffee chats are a great way to learn about interesting roles and tasks others around the company perform. -Try to set up coffee chats with others at your company as you might meet an amazing connection or learn about -a really neat topic. This may lead to an idea of what you want to do in your future co-ops. A format you can -use is: “Hey, I'm the new intern of \ and I was wondering if I could put something on your calendar -so I can get to know you and your work a little better.” - - -Aim to make most/all of your code testable. This will ensure the code is functioning properly and will save -time debugging in the future. This is a useful skill to have as a developer. - - -Each push request (PR) should focus on a very specific change/feature. Modularizing the changes will make -reviewing the PR easier and quicker. - - -Set up a system to stay on top of your work. This can be as simple as setting up a to-do list ready for the day. -The important thing is to be clear and intentional with your goals each day so you can optimize your focus on getting things done. - - -Document any blockers you faced during onboarding, and how you overcame them because chances are others will face them too. -These can be tips/advice you would give new hires. Feel free to share these findings with your team, because they want to make -the onboarding process more efficient and up to date for future hires. Some examples of things to take note of are -outdated/incorrect/missing documentation and the way the team does a specific task. - - -Negotiating compensation for an offer when you already have competing offers can be very beneficial for you and it’s normal -to do. For a general guide, you can use the format: - - -------------------------------------------------------------------------------------------------------------------------------- -Hello [Name of recruiter], - -I am very interested in working \[company name\]. I have been given an opportunity at \[another company name\] that is offering \[compensation\]. -Would it be possible for [the company name] to match/increase the compensation. - -Thank you, - -[Name] - -------------------------------------------------------------------------------------------------------------------------------- - -If you do not have competing offers you can still try to negotiate using the format: - -------------------------------------------------------------------------------------------------------------------------------- -Hello \[Name of recruiter\], - -Given my experiences, would it be possible to increase the compensation to [compensation]? - -Thank you, - -[Name] - -------------------------------------------------------------------------------------------------------------------------------- - -Either way, it does not hurt to try as the worst they can say is no. diff --git a/content/resources/advice/misc-advice.md b/content/resources/advice/misc-advice.md new file mode 100644 index 00000000..d0208af9 --- /dev/null +++ b/content/resources/advice/misc-advice.md @@ -0,0 +1,55 @@ +## Social Advice + +#### What is an affordable way to watch movies with friends? + +If you’re looking to watch movies with friends then you can either buy cheaper (Tuesday prices) at the Student Life Center or Waterloo has a list of streaming sites where you can watch free movies. + +#### How can I become more involved on campus? + +Join different clubs or societies! They’re a great way to make friends and manage your time better. Plus, it makes going through a school term much more fun. + +#### How do I build my social skills and get out of my comfort zone? + +Take up the opportunities for meeting people. You never know who you might meet. If you don’t put yourself out there and take chances, it’s much harder to find a relationship, friendships, or even study buddies. + +#### What can I do to prevent being affected by the competitive environment? + +Be kind. Celebrate your friends’ successes when they get a co-op job and support them when they’re struggling too. Waterloo is so competitive and sometimes it can be hard to navigate through, so make sure you’re giving and getting a good support network. + +## Additional Resources + +#### Where can I find the free movie database? + +Along with your tuition fees, part of your library fees grant you access to a database of [free movies](https://media3-criterionpic-com.proxy.lib.uwaterloo.ca/htbin/wwform/006/wwk770?&kw=zkcode%7C000005%7C) + +#### What are some links to SE discord servers? + +SE servers: + +- [discord.gg/ZtmRPc59](https://discord.gg/ZtmRPc59) +- [discord.gg/XyQtsfe5](https://discord.gg/XyQtsfe5) + +#### What are some resources for interview prep? + +- Group Leetcode server: +[discord.gg/kwCsCNb3](https://discord.gg/kwCsCNb3) + +There are many online resources for interview preparation including https://evykassirer.github.io/playing-the-internship-game/ and https://github.com/viraptor/reverse-interview + +- Internship/Interview advice +https://www.techintern.io/ + +#### Where can I access eBooks? + +https://subjectguides.uwaterloo.ca/compsci/books + +More specifically O'Reilly Higher education: https://learning-oreilly-com.proxy.lib.uwaterloo.ca/home +There are a lot of helpful books/videos that can teach you a variety of things from finance to leadership to a variety of cs topics! (With recommendations, case studies and playlist to help you get started) + +#### What is the link to the GPUs? + +We have GPUs: https://uwaterloo.ca/math-faculty-computing-facility/services/service-catalogue-teaching-linux/access-teaching-gpu-cluster + +#### Where can I find all of the math faculty services? + +https://uwaterloo.ca/math-faculty-computing-facility/services \ No newline at end of file diff --git a/content/resources/advice/misc-advice.mdx b/content/resources/advice/misc-advice.mdx deleted file mode 100644 index d5c2d44b..00000000 --- a/content/resources/advice/misc-advice.mdx +++ /dev/null @@ -1,42 +0,0 @@ -## Social Advice - -If you’re looking to watch movies with friends then you can either buy cheaper (Tuesday prices) -at the Student Life Center or Waterloo has a list of streaming sites where you can watch free movies. - -Join different clubs or societies! They’re a great way to make friends and manage your time better. -Plus, it makes going through a school term much more fun. - -Take up the opportunities for meeting people. You never know who you might meet. If you don’t put -yourself out there and take chances, it’s much harder to find a relationship, friendships, or even study buddies. - -Be kind. Celebrate your friends’ successes when they get a co-op job and support them when they’re struggling -too. Waterloo is so competitive and sometimes it can be hard to navigate through, so make sure you’re giving -and getting a good support network. -Additional Resources - -Along with your tuition fees, part of your library fees grant you access to a database of [free movies](https://media3-criterionpic-com.proxy.lib.uwaterloo.ca/htbin/wwform/006/wwk770?&kw=zkcode%7C000005%7C) - -SE servers: - -[discord.gg/ZtmRPc59](https://discord.gg/ZtmRPc59) - -[discord.gg/XyQtsfe5](https://discord.gg/XyQtsfe5) - -Group Leetcode server: -[discord.gg/kwCsCNb3](https://discord.gg/kwCsCNb3) - -There are many online resources for interview preparation including https://evykassirer.github.io/playing-the-internship-game/ and https://github.com/viraptor/reverse-interview - -If you have issues regarding courses, there are MathSoc class representatives who can help voice your concerns to involved faculty members. - -Access to eBooks: https://subjectguides.uwaterloo.ca/compsci/books - -More specifically O'Reilly Higher education: https://learning-oreilly-com.proxy.lib.uwaterloo.ca/home -There are a lot of helpful books/videos that can teach you a variety of things from finance to leadership to a variety of cs topics! (With recommendations, case studies and playlist to help you get started) - -We have GPUs: https://uwaterloo.ca/math-faculty-computing-facility/services/service-catalogue-teaching-linux/access-teaching-gpu-cluster - -List of math faculty services: https://uwaterloo.ca/math-faculty-computing-facility/services - -Internship/Interview advice -https://www.techintern.io/ diff --git a/next.config.js b/next.config.js index bfccd253..a247b8c8 100644 --- a/next.config.js +++ b/next.config.js @@ -1,9 +1,9 @@ const withMDX = require("@next/mdx")({ - extension: /\.mdx$/, + extension: /\.mdx?$/, }); module.exports = withMDX({ - pageExtensions: ["ts", "tsx", "mdx"], + pageExtensions: ["ts", "tsx"], trailingSlash: true, basePath: process.env.NEXT_PUBLIC_BASE_PATH, eslint: { ignoreDuringBuilds: true }, diff --git a/pages/_app.tsx b/pages/_app.tsx index 8cd0f13b..e33deb74 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -3,6 +3,7 @@ import { NextComponentType, NextPageContext } from "next"; import { AppProps as DefaultAppProps } from "next/app"; import React, { ComponentType, ReactNode } from "react"; +import { Blockquote } from "@/components/Blockquote"; import { Button } from "@/components/Button"; import { Code } from "@/components/Code"; import { DefaultLayout } from "@/components/DefaultLayout"; @@ -39,6 +40,7 @@ export default function App({ Component, pageProps }: AppProps): JSX.Element { inlineCode: Code, img: Image, table: Table, + blockquote: Blockquote, }} >
diff --git a/pages/resources/advice/academic.tsx b/pages/resources/advice/academic.tsx index bf451981..76ecf008 100644 --- a/pages/resources/advice/academic.tsx +++ b/pages/resources/advice/academic.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Title } from "@/components/Title"; -import Content from "../../../content/resources/advice/academic-advice.mdx"; +import Content from "../../../content/resources/advice/academic-advice.md"; import { Advice } from "./co-op"; diff --git a/pages/resources/advice/co-op.tsx b/pages/resources/advice/co-op.tsx index c1831540..32ecd549 100644 --- a/pages/resources/advice/co-op.tsx +++ b/pages/resources/advice/co-op.tsx @@ -5,7 +5,7 @@ import React, { ReactNode } from "react"; import { Image } from "@/components/Image"; import { Title } from "@/components/Title"; -import Content from "../../../content/resources/advice/co-op-advice.mdx"; +import Content from "../../../content/resources/advice/co-op-advice.md"; import styles from "./co-op.module.css"; diff --git a/pages/resources/advice/misc.tsx b/pages/resources/advice/misc.tsx index 31ebc6eb..1232a417 100644 --- a/pages/resources/advice/misc.tsx +++ b/pages/resources/advice/misc.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Title } from "@/components/Title"; -import Content from "../../../content/resources/advice/misc-advice.mdx"; +import Content from "../../../content/resources/advice/misc-advice.md"; import { Advice } from "./co-op"; diff --git a/types.d.ts b/types.d.ts index 60922028..9868d525 100644 --- a/types.d.ts +++ b/types.d.ts @@ -86,3 +86,11 @@ declare module "*.mdx" { export default ReactComponent; } + +declare module "*.md" { + import { ComponentType } from "react"; + + const ReactComponent: ComponentType; + + export default ReactComponent; +} From cc6e1f1aa73513d1acb429245e80abb4dc702c5c Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Sat, 11 Sep 2021 16:21:49 -0400 Subject: [PATCH 24/41] force IPv4 for SSH --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index fb4301cf..8d3359d1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -61,7 +61,7 @@ steps: commands: - 'echo "$SSH_KEY" > /tmp/ssh_key' - chmod 600 /tmp/ssh_key - - ssh -i /tmp/ssh_key www@caffeine.csclub.uwaterloo.ca -o StrictHostKeyChecking=no '~/bin/deploy-website.sh' + - ssh -4 -i /tmp/ssh_key www@caffeine.csclub.uwaterloo.ca -o StrictHostKeyChecking=no '~/bin/deploy-website.sh' when: branch: - main From c6fada35c658d1c9d46f3b9cf87de86f3907bb01 Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Sat, 11 Sep 2021 17:17:28 -0400 Subject: [PATCH 26/41] increase processes ulimit --- deploy.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deploy.sh b/deploy.sh index dbb314e3..530eb69b 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -ex +ulimit -u 512 DIR=$(mktemp --directory) @@ -24,4 +25,4 @@ mv out/* /srv/www-csc/ popd -rm -rf $DIR \ No newline at end of file +rm -rf $DIR From 2ba73b398a76774c9d58361ba51c072c2c096c61 Mon Sep 17 00:00:00 2001 From: Max Erenberg Date: Sat, 11 Sep 2021 18:20:55 -0400 Subject: [PATCH 27/41] add links to network interface graphs --- public/stats.html | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/public/stats.html b/public/stats.html index 0321f5fd..66cb93c2 100644 --- a/public/stats.html +++ b/public/stats.html @@ -33,16 +33,22 @@ EXT-RT-MC (Rogers, 10 Gbps)
- Rogers Interfaces (10 Gbps) +
+ Rogers Interfaces (10 Gbps) + EXT-RT-MC (ORION, 10 Gbps)
- ORION Interfaces (10 Gbps) + + ORION Interfaces (10 Gbps) + EXT-RT-RAC (OpenFace, 10 Gbps)
- OpenFace Interface (10 Gbps) + + OpenFace Interface (10 Gbps) + @@ -52,11 +58,15 @@ CN-RT-MC (10 Gbps)
- CN-RT-MC + + CN-RT-MC + CN-RT-RAC (10 Gbps)
- CN-RT-RAC + + CN-RT-RAC + From e088ff1f4f9d5f4d86239950a121ef51a8bb7b95 Mon Sep 17 00:00:00 2001 From: n3parikh Date: Sun, 12 Sep 2021 20:15:31 -0400 Subject: [PATCH 28/41] Add permalink in event card (#316) https://csclub.uwaterloo.ca/~a3thakra/csc/permalink-homepage/ Co-authored-by: Neil Parikh Co-authored-by: Aditya Thakral Reviewed-on: https://git.csclub.uwaterloo.ca/www/www-new/pulls/316 Reviewed-by: Aditya Thakral Co-authored-by: n3parikh Co-committed-by: n3parikh --- components/EventCard.tsx | 14 ++-- components/EventDescriptionCard.module.css | 3 + components/EventDescriptionCard.tsx | 4 ++ lib/events.ts | 8 ++- pages/events/[year]/[term]/index.tsx | 1 - types.d.ts | 78 ---------------------- 6 files changed, 19 insertions(+), 89 deletions(-) diff --git a/components/EventCard.tsx b/components/EventCard.tsx index e9e5eaec..40120970 100644 --- a/components/EventCard.tsx +++ b/components/EventCard.tsx @@ -7,7 +7,7 @@ import { Link } from "./Link"; import styles from "./EventCard.module.css"; -interface BaseProps { +interface EventCardProps { name: string; short: string; date: Date; @@ -15,15 +15,13 @@ interface BaseProps { location: string; poster?: string; registerLink?: string; + permaLink: string; + showDescription?: boolean; children: ReactNode; } -type EventCardProps = - | (BaseProps & { showDescription?: false; link: string }) - | (BaseProps & { showDescription: true; link?: string }); - export function EventCard({ - link, + permaLink, name, date, online, @@ -60,8 +58,8 @@ export function EventCard({

- {!showDescription && link && ( - + {!showDescription && ( + Learn more )} diff --git a/components/EventDescriptionCard.module.css b/components/EventDescriptionCard.module.css index baab9b78..69e8d679 100644 --- a/components/EventDescriptionCard.module.css +++ b/components/EventDescriptionCard.module.css @@ -29,6 +29,9 @@ } .logo { + display: flex; + justify-content: center; + align-items: center; width: calc(32rem / 16); margin-left: auto; } diff --git a/components/EventDescriptionCard.tsx b/components/EventDescriptionCard.tsx index 86c9b3db..67dde493 100644 --- a/components/EventDescriptionCard.tsx +++ b/components/EventDescriptionCard.tsx @@ -3,6 +3,7 @@ import React from "react"; import { Button } from "./Button"; import { EventSetting } from "./EventSetting"; import { Image } from "./Image"; +import { Link } from "./Link"; import { Discord, Twitch, Instagram, Facebook } from "./SocialLinks"; import styles from "./EventDescriptionCard.module.css"; @@ -15,6 +16,7 @@ interface Props { date: Date; poster?: string; registerLink?: string; + permaLink: string; } /** @@ -35,6 +37,7 @@ export function EventDescriptionCard({ date, online, registerLink, + permaLink, }: Props) { const Icon = getIcon(location); @@ -48,6 +51,7 @@ export function EventDescriptionCard({

{short}

+ Learn more