Crio Launch QBox: module-wise experience

Crio Launch (crio.do/launch) is a 10-week program where the student has to complete 3 projects (or Micro-Experiences as they call it) that try to provide work-like experience for the participants.

QBox is the first micro-experience in the program. QBox is a made-up company that is inspired by a company like Dropbox. The module focuses upon Linux Commands and Scripting, Operating System Concepts, Computer Networking and Git.

Module 1: Getting Started with QBox

The first module aims at making you familiarize yourself with basic Linux Commands and getting comfortable with the CLI Environment. It also makes you set up the initial code using Git and by making directories using Shell Scripts. Once you have completed the coding tasks you need to complete a Debrief where you have to answer a few questions that evaluate your theoretical knowledge and give you a few resources to learn more.

The module is quite easy but takes complete advantage, it would be helpful to first go through basic Linux Commands before jumping into it. Also, read the task’s problem statement carefully as it might be hiding a small detail you might be missing. Whenever your assessment fails do take a look at the Unit Test logs file.

Module 2: Evaluate system configuration

This module focuses on finding System Specs and evaluating if they are enough for the system to be able to run smoothly. This module also enables you to learn what are the actual parameters that define the System specs and also what you need to evaluate to get the Required Specs of your software.

The module needs a close evaluation of the output of every command and how to combine the outputs of one command with another. The module’s learning resources are comparatively important than the last module as the solutions are a bit tricky and the Debrief requires a much better understanding of the Topic.

Module 3: Deploy the QBox Server

In this module, you have to deploy (or run the QBox Server) and test it. Here, firstly we test it by simulating a client and the server on the Virtual Machine itself and try to transfer the files between the client and the server. Then you have to use the QBox server, as a user would, where we have to connect a Desktop Client and a Mobile Client with the QBox server and then transfer files among them by accessing the shared files.

This module is tricky in terms of the information available within the statement of the task. The tasks of this module may need more inspection of the errors and searching for the required commands. Also, to complete the module more efficiently, the Crio.do Forum is essential, as there are a few cases where your code/commands work as expected but the actual result required may not be what you might have understood.

Module 4: New versions of QBox

This module intends to improve upon the concepts related to Operating Systems and give a taste of how the performance of a system is evaluated in the real world. The module comes with multiple versions of the QBox server which are intended to be tested and compared to the v1.0 of QBox. Here, we first of all set up a benchmark for the tests by evaluating the performance of the v1.0. Once this is complete, we evaluate every version of QBox and compare the results with the benchmark. We also fix a few faulty versions of QBox. After the excruciating manual labour, we finally work on the script this module aimed at, i.e. automating the complete process.

The module is quite demanding in terms of time and effort. The module is rather simple but repeating a single task multiple times for evaluation of different versions makes it rather monotonous and boring. Also, the module demands you to keep things simple as it might take a while for you to realize that you have made a mistake. Also, spending time on this module is the best bet for you to complete this on time as there aren’t many head-on hints available anywhere that might be able to pin-point the steps that need to be taken.

Module 5: Resolve Network Issues

This module can be retitled as ‘Network analysis with Wireshark’. In this module, we have to try connecting to the QBox server and capture the packets in the conversation. Then you are required to read and analyze the captured files using Wireshark. While capturing the packets you also have to study about the different flags as the evaluation requires the file to be less than 1MB in size which is quite a small size for the actual number of packets that are getting transmitted and received by the remote workspace.

For this module, it was important to understand that you have to go through the guide and find the right option for you because petty tricks can’t always get you what you want. Sometimes, the long, boring and demanding method is the only correct way. The module anyways was short and sweet and gave a good taste of Wireshark.

Module 6: Implement secure file transfer

In this module, it is reported that the server is insecure and the file transfer is unencrypted. We have to look for a proof for the same by conducting a file transfer from an external client, capture the packets involved and then analyzing the packets. Then, we have to change the config file for the vsftpd server to make sure that the file transfer is secure and then visualize it. That’s it.

This module is probably the most fun, short and sweet one. Completing this module was quite exhilarating as the first Micro-Experience marked its end.

Looking back, the module was quite a wonderful experience as it introduced the level of stress and a pressure to learn more, which is missing from most courses available online.

Moving on to the next Micro-Experience, which is QMoney, I am beginning with new enthusiasm and motivation to stride ahead with higher productivity and want for new experiences.

P.S. My badges for QBox 😁 :

Check the QMoney experience here: link

SDE-1 at Navi Technologies, Web Developer and Self-Driving Cars Enthusiast