Skip to content

Instantly share code, notes, and snippets.

@overcoil
Last active November 15, 2021 22:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save overcoil/94f9778e6730f3d3a05f530db917b1f6 to your computer and use it in GitHub Desktop.
Save overcoil/94f9778e6730f3d3a05f530db917b1f6 to your computer and use it in GitHub Desktop.

SFU MPCS CMPT 732 Term Project Quickies

Introduction

This gist is an unstructured list of resources and ideas for SFU MPCS CMPT 732's term project. These are offered as suggestions only. There is no requirement for you to use any of these. I am collecting what I've found to be useful as a developer.

Platforms

MacOS

Any recent supported versions is useable. (I aim to stay no farther than 3 versions back from the latest.)

Be careful if you have a recent M1-powered Mac because tools/apps are in the process of upgrading to support the M1's ARM architecture. Things move fast on this front though so keep your eyes open.

Windows

Use Windows 10, version 2004 or newer. Install WSL2 and choose Ubuntu 20.04. Be sure to install your tools inside the Linux VM (except for Docker Desktop).

Linux

TODO

Browsers

TODO

Toolset

Practices

Clouds

As a student, there are free/easy credits available from the three major public clouds: AWS, Azure, and Google Cloud Platform.

AWS

The credits from AWS are rather restrictive (must run within us-east 1; no IAM access; etc). If you are okay with these restrictions, go ahead and use them. Otherwise, I recommend setting up a standard account. Set up a budget warning (see Assignment 5) and be conscientious about what you use.

Install the CLI per Amazon's detailed instructions. At a minimum:

  • Create an (root) account
  • Setup MFA on the root account (use any TOTP MFA app for your smartphone: Google, Microsoft, Lastpass, etc)
  • Set a budget alert
  • Create an IAM user
  • Create an access key pair for the CLI
  • Install the CLI
  • Configure the CLI

Azure

Azure Student Credits are very useable with few restrictions. Apply for them taking care to use your school email address. No credit card is required but there is a hard limit once you run out of credit ($100) and/or time (12 months).

Google Cloud Platform

TODO

Development Environment

In addition to the MPCS lab environment on campus, you will find it productive to setup a development environment in your laptop.

A good starting point includes the follows:

Package Manager

You will want to use a package manager to manage the addition and removal of CLI software packages that update/upgrade frequently.

  1. In Linux, your package manager is typically baked in to your chosen distro. Read and get familiar with it.
  2. In MacOS, start with Homebrew.
  3. In Windows, note that you are using the Linux VM so refer to comment above. You may encounter Chocolatey but it is not useful when you are installing software into your Linux VM. The recommended Ubuntu distro comes with apt.

Additional managers to consider/add later on include:

  1. anaconda
  2. pyenv (Introduction to pyenv) Use this to use/switch between multiple versions of Python.
  3. SDKman This is especially useful for using/switching between multiple versions of Hadoop, Java, Scala, Spark etc.

GUI

Account

  • Docker/Dockerhub.com
  • Github.com

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment