Top 10 List of Week 01

Jonathan Nicholas --- Jakarta

Top 10 List of Week 01

this is a curated list for you who are stressed out about this week’s assignments. These reading materials won’t make you an expert in these topics, but certainly makes it less scary to take the first step in learning these topics.

  1. Linux: A Survival Guide for Beginners
    As a mac user, I haven’t really tinkered as much as I need to about linux, as the only linux experience I have is with the command line. With 1.3K claps, this article teaches the basics of linux which explains commands such as grep, ls, awk, and alias. I personally learned new commands such as awk which searchs for a certain pattern and alias to make command shortcuts. There is also head to just show a certain amount of words. Finally, my favorite new thing to learn is that you can do web scraping in just as little as 4 lines of code! These commands definitely seem scary but I really encourage you to take your time and get comfortable with the ones you feel will make your day to day usage a little more efficient.

  2. Vim Tutorial
    I’ve had the pleasure of knowing Ben Awad ever since I was a freshman trying to learn and explore the web development space. One of the skills that I’ve gain from watching his videos is learning how to Vim. This such a great tool to have as it speeds up my typing experience with so many shortcuts. Now I can’t live without vim. Commands I frequently use:

    • dd delete a line
    • p paste below and P paste above
    • o put cursor below O put cursor above
    • dw delete word and cw delete word + enter insert mode
    • r replace a character
    • w move cursor by next word and b move back cursor by a word
  3. Learn Regex Interactively
    Actually this spot was mean for this article Everything you need to know about Regular Expressions but it is a medium article and I’m concerned that the person opening this has already used his/her 3 month free articles. To be honest with you, I still think that regular expressions are scary, but useful. As a web developer, on of the most popular use case to use regex is to check a user’s input such as if a password has an uppercase, a number, a character, and is minimum, let’s say, 6 characters in length. It is a powerful tool, yet can be easily googled for when you forget hwo to.
    This website has so many interactivity such as hover to get information on what the regular expression is filtering. You’ll also gain confidence as there are texts that will be selected based on the regular expression currently typed, confirming your regex is right or wrong. Also, the medium article I mentioned above takes the quota of 1 read out of 3 free reads for the non paid version of medium. It explains really detailed about the numerous symbols such as ?, ^, $2-$1, [A-Za-z] which will demistify the gap between you and taking a step towards learning about regular expressions.

  4. Jekyll Tutorial
    It’s nice to go out of your comfort zone, and Jekyll is not my usual React, Node, Django tech stack for web development.
    This tutorial is made by GiraffeAcademy, you’ve probably seen him as he explains almost every language there is with such a beginner friendly tone and curriculum.
    This tutorial starts from setting up a Jekyll project to serving up markdowns. You’ll get used to commands such as bundle install and bundle exec jekyll serve.

  5. Basic Git Tutorial
    One of my main concerns of students in University of Indonesia is the lack of experience with state of the art technologies, one of them is git. This concern hit me harder when, in 1/3/2021 OS class, a student, i presume who is already in his 4th semester, didn’t know how to use the most basic feature of software development using git, which is the git pull and git push commmand.
    This one page tutorial covers MOST of the basic commands you’ll need for basic daily git usage.

  6. About pull requests
    Looking for more git commands to further your software engineering journey? Next up is pull requests. It is a highly useful skill to have and to copmlement the materials of the topic in the previous article. The next step you should learn after you’re comfortable with the basic git commands is how to make a pull request. It is the single most important topic to learn for open source software development. If you’re a computer science student, this is also a life safer for the hell-like that is g r o u p - a s s i g n m e n t s.
    This article explains in a step by step way of how to create a pull request and hopefully will aid you in group assignments / projects in the future.

  7. Learn To Write Markdown
    Documentation is such an important piece in software development, yet so easy to be neglected.
    Continuing from the previous article’s topic, this is an interactive article where you don’t only read, but experience yourself how to write Markdown. You’ll learn the basic markdown types such as # ## ### headings, how to write Links and many - many more. One of the thing’s you can do straight away by learning markdown is to document Pull Requests so that in the future, when a project gets big, you’ll be able to read what each Pull Requests do without scratching your head.

  8. Linux Commands Cheat Sheet
    Back to the topic of unix/linux commands, because there are so many commands, its useful to have a cheat sheet to have a quick lookup whenever you forget what a command does. Some of the new commands that I’ve learned are:

    • sort : sorts the lines of text
    • cat : reads file and throws it up in the terminal
    • find
    • grep
    • chmod
    • diff
  9. What is the difference between sed and awk? [closed]
    At this point, the one I’m still not comfortable is the sed and awk command. This stackoverflow thread explains perfectly what they do, as expected of the stackoverflow community!

    • sed is a stream editor. It works with streams of characters on a per-line basis. It has a primitive programming language that includes goto-style loops and simple conditionals (in addition to pattern matching and address matching). There are essentially only two “variables”: pattern space and hold space.
    • wk is oriented toward delimited fields on a per-line basis. It has much more robust programming constructs including if/else, while, do/while and for (C-style and array iteration).
  10. Linux From Scratch
    Finally, time for the big boss. The idea of linux from scratch definitely intimidates me, but I managed to get through installing a debian guest from the help of mr RMS’s lecture notes. Linux From Scratch is a book, download link which consists of around 300 pages. This should come handy in my future OS endevors.


© 2021-2021 --- Jonathan Nicholas --- File Revision: 1.0.0---01-Mar-2021.