Working on ews.illinois.edu
EWS is an alternative development environment
If you're having trouble installing Docker Desktop on your machine, you can
develop solutions for our MPs on linux.ews.illinois.edu
. The EWS environment
will require a solid Internet connection while authoring your code, though you
will have access to all the bells and whistles of our local containerized environment.
Please do not set this environment up if Docker Desktop works satisfactorily for you.
Precursory steps
Step 1. Install VS Code
VS Code is our editor in this class. This semester, you will connect and work on a remote EWS Linux machine to compose solutions to our Machine Problems (MPs). To succeed in this course, you must configure this editor as specified in this document.
Case A. Do you have your own computer or laptop?
Install Microsoft Visual Studio (VS) Code by visiting VSC Website. Then, move on to step 2.
Case B. Is your laptop temporarily unavailable? Visit an EWS Lab Location.
Engineering IT has several EWS lab locations throughout the UIUC campus. See EWS Lab Hours & Locations. Alternatively, if you live in a University housing, residence halls also have some EWS machines. See Technology | University Housing (scroll down to section Where are computer labs and what equipment do they have).
Then, follow instructions on the following webpage: EWS Labs, Installing Optional Software to install Microsoft Visual Studio (VS) Code. If you are planning on joining office hours, you may want to install Zoom Client as well.
IMPORTANT: Downloading an installer from VSC/Zoom website will not work on EWS machines. Follow the directions in the link above.
NOTE: Choose a location with Windows EWS machine instead of Mac or Linux.
Step 2. Configure VS Code
- Install the Remote - SSH extension for VS Code. You can complete this task by navigating to this page and clicking the green "Install" button. Trouble Installing?
- Create your personal Github.com account if you don’t already have one. We recommend you use a handle that you can use throughout your professional career.
Environment configuration
You will need to configure the environment only once. So, once you complete this section of the document, you need not worry about doing anything from this section an additional time.
Connecting to an EWS Linux Machine
When connecting to linux.ews.illinois.edu
, if you receive a prompt
asking what operating system the remote is using (Mac, Windows, or Linux), choose Linux.
If a dialogue box asking about an encryption key presents, hit continue.
Creating folder for cs128
in your home directory
Configuration files to load into your EWS home directory
Here are the commands that you should execute in the terminal window (may vary slightly from video):
wget https://raw.githubusercontent.com/cs128-illinois/env-dotfiles/master/.clang-tidy -O ~/.clang-tidy
wget https://raw.githubusercontent.com/cs128-illinois/env-dotfiles/master/.clang-format -O ~/.clang-format
wget https://raw.githubusercontent.com/cs128-illinois/env-dotfiles/master/.gdbinit -O ~/.gdbinit
Installing the required VS Code extensions for CS 128 in the remote EWS machine
Here is the list of extensions you will need to install in the remote ssh window:
Configuring git in VS Code for development on an EWS remote
You will accept the assignment using the green "GitHub Classroom" button at the top of this page, then follow along with video.
Assignments
Accepting assignments and cloning them into the EWS machine
During the Environment Configuration section of this document, you've already acquired the starter code for this assignment. I will recap the process here for your reference, though you should not follow along with this video since you've already the code for this assignment in your remote environment. For all other course assignments, you must follow this process to acquire the starter code.
Compiling your code on an EWS machine
This video illustrates compiling your source code for this activity to an executable and running the resultant application in the EWS remote machine.
Required: Have module load llvm
executed automatically
We need module load llvm
to be executed automatically each time you connect
to linux.ews.illinois.edu
. To ensure this happens, execute the following in a terminal window bound to the remote machine:
echo "module load llvm" >> ~/.bashrc
Transferring your work from the EWS remote to your local computer
Conclusion
Wrapping up: We've gone through the motions on what will become your typical routine to get started on the MPs. If you're using this environment, you will need to connect to EWS whenever you'd like to work on an assignment.