ALX Software Engineering (Probation Phase): A Recap of week 1 tasks
Surviving the Probation Phase
Photo by Andrew Neel on Unsplash
Table of contents
- Project 0: "0x00. Shell, navigation" this project aims to help navigate the Unix system.
- Project 1: "0x01. Emacs" this project aims to help navigate the Emacs text editor environment.
- Project 2: "0x02. vi" this project aims to help navigate the vi text editor environment.
- Project 3: "0x03. Git" This project aims to help understand how to interact with GitHub via the command line.
- Project 4: "0x04. Professional Technologies" This project focus on the importance of using Slack effectively to save time, stay organized, and communicate efficiently with colleagues.
- Project 5: "0x00. Shell, basics" This project covers the Unix shell basics.
- Project 6: "0x01. Shell, permissions" This project covers the various Linux commands related to permissions.
On the 6th of March, I received an email from ALX titled "Goodbye Onboading! You made it, find out what's next."
The email content contains tips on how to achieve over 80% for the Probation Phase. It's game time guys!
The main points from the email are:
Do not be pressured by deadlines.
Understand the concept.
Own your learning: Shortcuts are never the way.
Make time to attend live learning sessions.
Students who achieve the 80% score will advance by Tuesday, 4th April 2023.
Project 0: "0x00. Shell, navigation" this project aims to help navigate the Unix system.
The following concepts were covered:
How to navigate in a Unix system
How to list files and directories
How to display the content of a file
How to create a file or directory
How to remove a file or directory
How to move or copy a file or directory
Some of the commands to navigate the Unix systems are:
pwd: This will print your current working directory.
ls: used to list files and directories.
cd: Used to change directories.
less: Used to display the content of a file.
touch: Used to create a file
cp: Used to copy a file or directory.
mv: Used to move a file or directory.
rm: Used to remove a file
mkdir: This command is used to create a directory.
rmdir: This command is used to remove a directory.
Project 1: "0x01. Emacs" this project aims to help navigate the Emacs text editor environment.
The following concepts were covered:
What is Emacs
Who is Richard Stallman
How to open and save files
What is a buffer and how to switch from one to the other
How to use the mark and the point to set the region
How to cut and paste lines and regions
How to search forward and backward
How to invoke commands by name
How to undo
How to cancel half-entered commands
How to quit Emacs
Git repository for a refresher on the tasks. It contains the commands to navigate the emacs environment.
Project 2: "0x02. vi" this project aims to help navigate the vi text editor environment.
The following concepts were covered:
What is vi
Who is Bill Joy
How to start and exit vi
What are the command and insert modes, and how to switch from one to the other
How to edit text
How to cut and paste lines
How to search forward and backward
How to undo
How to quit vi
Git repository for a refresher on the tasks. It contains the command to navigate the vi environment.
Project 3: "0x03. Git" This project aims to help understand how to interact with GitHub via the command line.
This is one of the requirements for the project: "Do not use GitHub’s web UI, but the command line to perform the exercise (except for operations that can not possibly be done any other way than through the web UI). You won’t be able to perform many of the task requirements on the web UI, and you should start getting used to the command line for simple tasks because many complex tasks can only be done via the command line."
Check these resources for a better understanding of how to interact via the command line:
Git and Github cheat sheet - Everything in less than 30 seconds
Project 4: "0x04. Professional Technologies" This project focus on the importance of using Slack effectively to save time, stay organized, and communicate efficiently with colleagues.
This project explains best practices for using Slack in a professional setting. It includes tips for responding to mandatory meeting invitations, proper use of @channel, streamlining workflow with resources, answering questions in Slack, choosing the right channel for questions, and accessing ALX's intranet.
NOTE: Though you can access the Intranet via other browsers, it is recommended that you get used to Chrome, as it is what matches in project outputs for the frontend curriculum.
Project 5: "0x00. Shell, basics" This project covers the Unix shell basics.
Some of the concepts covered include:
Basics of the shell
Navigation, manipulating files
Working with commands
Reading man pages
Keyboard shortcuts
LTS (long-term support).
RTFM(Read The F*cking Manual)
Shebang
Navigating the filesystem, and manipulating files.
Git repository for a refresher on the tasks.
Project 6: "0x01. Shell, permissions" This project covers the various Linux commands related to permissions.
Permission commands
chmod
sudo
su
chown
chgrp
Concepts covered
What do the commands
chmod
,sudo
,su
,chown
,chgrp
doLinux file permissions
How to represent each of the three sets of permissions (owner, group, and other) as a single digit(Octal notation)
How to change permissions, owner and group of a file
Why can’t a normal user chown a file
How to run a command with root privileges
How to change user ID or become superuser
How to create a user
How to create a group
How to print real and effective user and group IDs
How to print the groups a user is in
How to print the effective userid
Check out the following resources:
Git Repository to 0x01. Shell, permissions tasks.
Summary
That's a wrap on my first week in the probation phase. It's been a rollercoaster ride of fun and challenges, not easy, but definitely worth the effort. I've learned about navigating a Unix system, using text editors like Emacs and vi, interacting with GitHub via the command line, communicating effectively on Slack, and working with Unix shell basics and permissions.
The adventure isn't over yet! You can expect more weekly updates from me.
If you enjoy content like this, follow me on Twitter, Linkedin, and Github.