Initial setup of your work environment
Hand in only the Slack post described below.
What to do
- Set up software on your work computer as suggested below.
- Bring questions to class and to #questions on Slack.
- For at least one of the tools you expect to use this term, try using a feature of that tool that you've never used before. Once you have gotten the hang of the feature, go to our Slack #general channel and explain what you tried and how the experience went.
Stuff you'll definitely need
- Some free disk space. How much you'll need depends on what project you undertake, but I would guess you'll be happiest if you can free up at least 20-30GB now. Personally, I hate having to go digging around for something to delete when I'm in the middle of a project and I suddenly need to install some big tool or uncompress a big dataset.
- A Unix command-line interface. Typically, people use the built-in Terminal on macOS, one of the built-in terminal apps on Linux, and the Windows Subsystem for Linux (WSL) on Windows.
- A chosen package manager. For macOS, I favor Homebrew. For Linux and WSL, I like to use apt, but there are a lot of choices available.
- A code editor (probably VSCode). You will see me use VSCode sometimes, and also vim in the terminal. You may eventually find yourself choosing something other than VSCode depending on the nature of your project (e.g., if your team really wants to write an Android app, you may need to use Android Studio). Those decisions can wait for now.
- git, installed so as to be executable via your Unix command line. We'll also look soon at some options for GUI interfaces to git, but for now, make sure it's available on your command line.
- A GitHub account with a suitable-for-professional-context user name. (I bet some of you have screen names from your early teens that would embarrass you to share now. So, you know, don't do that.)
- Docker. This is easiest on Linux (just install it with your package manager and you're good to go). For WSL/Windows and macOS, there are plenty of getting-started tutorials. Make sure you have docker installed so that you can just run "docker run hello-world" and it works as expected.
Stuff you will probably want sometime this term
- An up-to-date version of python3 installed using the package manager you selected above. Even if your main OS has python3 pre-installed, it is usually easier to customize the one you install manually.
Add some aliases to your Unix shell start-up files. For example, on systems where my command-line interface is bash, I typically put
alias ls='ls -aF --color'or something equivalent in my .bash_profile file, so whenever I runls, I'll see dot-files (i.e., files whose names start with a period) plus color and symbolic information about directories, shortcuts, etc.(Here's my favorite video about command-line aliases. What, you don't have a favorite video about command-line aliases? Well you might now.)
- Adjust your Unix PATH environment variable to include a directory where you
can put personal scripts that you might want to execute no matter what
directory you're in at the time. I usually use
~/bin/as the place to put my personal scripts. - Add a public/private key pair to enable you to login to mantis.mathcs.carleton.edu or mirage.mathcs.carleton.edu without typing your password.
Have fun!
Experiment. Ask questions. Try figuring out some stuff you've always wished you understood.