ALX Software Engineering (Probation Phase): A Recap of week 1 tasks

Surviving the Probation Phase

ALX Software Engineering (Probation Phase):  A Recap of week 1 tasks

Photo by Andrew Neel on Unsplash

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.

Emacs Tasks

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.

vi Tasks

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

Learn git branching

Effective pull request

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.

Shell Basics

Permission commands

  • chmod

  • sudo

  • su

  • chown

  • chgrp

Concepts covered

  • What do the commands chmod, sudo, su, chown, chgrp do

  • Linux 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:

Linux Permissions

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.