Merge branch 'main' of https://git.csclub.uwaterloo.ca/www/www-new into feat/meet-the-team-page
commit
058fe5c22e
@ -0,0 +1,10 @@ |
||||
const lockfile = require('./package-lock.json') |
||||
|
||||
if (lockfile.lockfileVersion !== 2) { |
||||
console.error(` |
||||
Please upgrade to npm v7 and revert changes to the lockfile. |
||||
|
||||
- \`npm i -g npm\` to upgrade.
|
||||
`.trim())
|
||||
process.exit(1) |
||||
} |
@ -0,0 +1,6 @@ |
||||
.code { |
||||
padding: 0 calc(4rem / 16); |
||||
background: var(--code-background); |
||||
border-radius: calc(5rem / 16); |
||||
word-wrap: break-word; |
||||
} |
@ -0,0 +1,9 @@ |
||||
import React, { HTMLAttributes } from "react"; |
||||
|
||||
import styles from "./Code.module.css"; |
||||
|
||||
export function Code(props: HTMLAttributes<HTMLElement>) { |
||||
const classes = [styles.code, props.className ?? ""]; |
||||
|
||||
return <code {...props} className={classes.join(" ")} />; |
||||
} |
@ -1,21 +1,24 @@ |
||||
import React from "react"; |
||||
|
||||
import { Button } from "./Button"; |
||||
import { Input } from "./Input"; |
||||
|
||||
import styles from "./EmailSignup.module.css"; |
||||
|
||||
export function EmailSignup() { |
||||
return ( |
||||
<section className={styles.container}> |
||||
<h1 className={styles.header}>Join Our Mailing List!</h1> |
||||
<form className={styles.form} action=""> |
||||
<Input type="text" placeholder="Full Name*" required /> |
||||
<Input type="email" placeholder="Email*" required /> |
||||
<Button type="submit" className={styles.button}> |
||||
Subscribe |
||||
</Button> |
||||
</form> |
||||
<h1 className={styles.header}>Join our mailing list!</h1> |
||||
<p> |
||||
Join our mailing list to receive email notifications about important |
||||
news and upcoming events! |
||||
</p> |
||||
<Button |
||||
isLink={true} |
||||
href="https://mailman.csclub.uwaterloo.ca/postorius/lists/csc-general.csclub.uwaterloo.ca/" |
||||
className={styles.button} |
||||
> |
||||
Subscribe |
||||
</Button> |
||||
</section> |
||||
); |
||||
} |
||||
|
@ -0,0 +1,7 @@ |
||||
.line { |
||||
display: block; |
||||
margin: calc(34rem / 16) 0; |
||||
height: calc(1rem / 16); |
||||
border: none; |
||||
background-color: var(--primary-heading); |
||||
} |
@ -0,0 +1,7 @@ |
||||
import React from "react"; |
||||
|
||||
import styles from "./HorizontalLine.module.css"; |
||||
|
||||
export function HorizontalLine() { |
||||
return <hr className={styles.line} />; |
||||
} |
@ -0,0 +1,6 @@ |
||||
.pre { |
||||
padding: calc(10rem / 16); |
||||
background: var(--code-background); |
||||
overflow-x: auto; |
||||
border-radius: calc(5rem / 16); |
||||
} |
@ -0,0 +1,9 @@ |
||||
import React, { HTMLAttributes } from "react"; |
||||
|
||||
import styles from "./Pre.module.css"; |
||||
|
||||
export function Pre(props: HTMLAttributes<HTMLPreElement>) { |
||||
const classes = [styles.pre, props.className ?? ""]; |
||||
|
||||
return <pre {...props} className={classes.join(" ")} />; |
||||
} |
@ -1,26 +1,57 @@ |
||||
import React, { ReactNode } from "react"; |
||||
|
||||
import { Image } from "./Image"; |
||||
import { Link } from "./Link"; |
||||
|
||||
import styles from "./TechTalkCard.module.css"; |
||||
|
||||
interface DownloadLink { |
||||
file: string; |
||||
type: string; |
||||
size?: string; |
||||
} |
||||
|
||||
interface TechTalkProps { |
||||
name: string; |
||||
poster?: string; |
||||
title: string; |
||||
presentors: string[]; |
||||
poster: string; |
||||
links: DownloadLink[]; |
||||
children: ReactNode; |
||||
} |
||||
|
||||
export function TechTalkCard({ name, poster, children }: TechTalkProps) { |
||||
export function TechTalkCard({ |
||||
title, |
||||
poster, |
||||
presentors, |
||||
links, |
||||
children, |
||||
}: TechTalkProps) { |
||||
return ( |
||||
<article className={styles.card}> |
||||
<aside> |
||||
{poster && <Image alt={name} src={poster} />} |
||||
{!poster && <div className={styles.spacer}></div>} |
||||
<Image |
||||
alt={`Thumbnail of tech talk by ${presentors.join(", ")}: ${title}`} |
||||
src={poster} |
||||
/> |
||||
</aside> |
||||
<section className={styles.content}> |
||||
<h1>{name}</h1> |
||||
<h1>{title}</h1> |
||||
<div>{children}</div> |
||||
|
||||
<h2>Download:</h2> |
||||
<ul> |
||||
{links.map((link) => ( |
||||
<li key={link.file + link.type}> |
||||
<DownloadLink {...link} /> |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</section> |
||||
</article> |
||||
); |
||||
} |
||||
|
||||
function DownloadLink({ file, type, size }: DownloadLink) { |
||||
const text = size ? `${type} (${size})` : type; |
||||
return <Link href={file}>{text}</Link>; |
||||
} |
||||
|
@ -0,0 +1,16 @@ |
||||
## 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. |
@ -0,0 +1,98 @@ |
||||
## Coop 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 \<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.” |
||||
|
||||
|
||||
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. |
@ -0,0 +1,42 @@ |
||||
## 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/ |
@ -1,19 +1,67 @@ |
||||
export const metadata = { |
||||
name: "Tech Talk Title", |
||||
short: "Learn how React works and make your own version!", |
||||
poster: "/images/playground/alt-tab.jpg", |
||||
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", |
||||
}, |
||||
] |
||||
}; |
||||
|
||||
You've got a game, but you didn't write it. You're running it by emulating the machine it was meant to run on, and the machine it was |
||||
meant to run on never had support for networking. Now, you want to play with your friend, over the Internet. Oh, and it's not |
||||
acceptable to incur any latency between your controller and the game while we're at it. Surely that can't be possible, right? |
||||
Wrong. This talk will discuss the re-emulation technique for netplay used commercially by a system called GGPO and freely in |
||||
an emulator frontend called RetroArch, and how similar techniques can be applied to make networking work in other scenarios |
||||
it was never meant for. This will be an unprepared, impromptu talk with no slides, so it should either be a fascinating dive |
||||
into a little-heard-of technique, or an impenetrable mess of jargon and algorithms. Either way, it should be fun. Professor |
||||
Richards is the maintainer of the netplay infrastructure for RetroArch, a popular emulator frontend for multiple platforms. |
||||
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. |
||||
|
||||
# Download |
||||
Topics include: |
||||
|
||||
- BitTorrent:[Netplay in Emulators (mp4)] |
||||
- HTTP (web browser):[Netplay in Emulators (mp4)] |
||||
- 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). |
||||
|
||||
[](<http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg>) |
||||
|
@ -0,0 +1,15 @@ |
||||
--- |
||||
title: Usage Policy |
||||
index: 2 |
||||
--- |
||||
|
||||
Everyone who receives an account on one of the CS Club machines must sign the agreement in the final section. This document does not state who will be allowed accounts on CS Club machines, the normal expiry period of accounts, nor any other similar matters. Further, this policy does not, in general, guarantee any rights to users. |
||||
|
||||
_Note: that in the following sections, the term "user" implies a user of a CS Club machine, unless otherwise specified._ |
||||
|
||||
The usage policy is divided into the following sections: |
||||
|
||||
1. [Acceptable and Unacceptable Use](/resources/machine-usage-agreement/acceptable-and-unacceptable-use) |
||||
1. [User Responsibilities](/resources/machine-usage-agreement/user-responsibilities) |
||||
1. [Security](/resources/machine-usage-agreement/security) |
||||
1. [Rights of the Systems Committee and the CSC Executive](/resources/machine-usage-agreement/rights-of-syscom-and-exec) |
@ -0,0 +1,20 @@ |
||||
--- |
||||
title: User Agreement |
||||
index: 9 |
||||
--- |
||||
|
||||
I have read and understood the usage policy of 29 August 2007, and I agree to use my account(s) on the CSC network in accordance with this policy. I am responsible for all actions taken by anyone using this account. Furthermore, I accept full legal responsibility for all of the actions that I commit using the CSC network according to any and all applicable laws. |
||||
|
||||
I understand that with little or no notice machines on the CSC network and resources on these machines may become unavailable. Machines may shut down while users are using them, and I will not hold the CSC responsible for lost time or data. |
||||
|
||||
``` |
||||
Name: ___________________________ |
||||
|
||||
Signature: ___________________________ |
||||
|
||||
Office Staff: ___________________________ |
||||
|
||||
Signature: ___________________________ |
||||
|
||||
Date: ___________________________ |
||||
``` |
@ -0,0 +1,12 @@ |
||||
--- |
||||
title: CS Club Email |
||||
index: 2 |
||||
--- |
||||
|
||||
Members also receive a **username@csclub.uwaterloo.ca** email address. |
||||
|
||||
- Mailboxes are considered as part of your disk quota, so your mailbox may grow up to the amount of disk quota you have. |
||||
- Attachments of any file size or type may be sent. |
||||
- Our mail server runs a POP3, IMAP, and SMTP server with SSL/TLS enabled. |
||||
|
||||
You can also access your mail via a [Roundcube web mail client](https://mail.csclub.uwaterloo.ca/). |
@ -0,0 +1,58 @@ |
||||
--- |
||||
index: 55 |
||||
title: '1989 Bill Gates Talk on Microsoft' |
||||
presentors: |
||||
- 'Bill Gates' |
||||
thumbnails: |
||||
small: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' |
||||
large: 'http://mirror.csclub.uwaterloo.ca/csclub/audio-file.png' |
||||
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 |
||||
|
||||
<!-- --> |
||||