Historians recognize four different industrial revolutions along history, or at least four different stages in a larger process identified as “the” Industrial Revolution.

The first three are related to the massive use of coal along with steam power, gas and fossil fuels and electronics and nuclear power.

A fourth Industrial Revolution seems to be happening at this very moment empowered by what has been called IoT (Internet of Things). Let’s work out this concept in further detail.

You can learn more about the concept of the fourth industrial revolution from this article in the World Economics Forum website.

So, IoT?

The Internet…


In order to unfold the concept of recursion in an approachable way, let’s start by clarifying two concepts that need to be really clear before moving any forward: stack and heap.

What is stack?

Stack is a special area of the computer memory which stores temporary variables created by a function. Is stack, variables are declared, stored and initialized during runtime. It is a temporary storage memory. When the task is complete, the memory of the variable will be erased.

What is heap?

The heap is the actual memory space available for the computer’s CPU to use. …


The concept of ‘mutability’ (hence: mutants) will actually be relevant for this article.

Moving forward into learning software engineering, will inevitable put you against the concept of Object Oriented Programming, or OOP for short.

From Wikipedia:

“Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).”

Referring specifically about Python, it is an extremely versatile programming language and that versatility comes from its object-oriented nature. As the title says, everything in Python is considered an object. Everything.

But what does this…


What is a class?

A class is a code template for creating objects along with related data and functions. Objects have variables and behavior associated with them. In Python a class is created by the keyword class.

An object is created using the constructor of the class. This object will then be called the instance of the class. In Python we create instances in the following manner

Instance = class(arguments)

Attributes and Methods in class:

A class by itself has no purpose unless there is some functionality associated to it. These functionalities are defined by setting attributes, which act as containers for data and functions related to those attributes…


The more code we write, the more we realize that some parts or chunks of code are repeatedly used in many programs. Something as repetitive like a mathematic operation can be re-used over and over in virtually every program we write.

A library allows us to have those repetitive functions outside the specific programs and be able to utilize them whenever we need. There are huge advantages associated to that, being the most evident not having to re-write the code over an over again every time we need to use the same function.

Libraries are already-compiled and usage-ready functions to…


We normally only get to see the tip of the iceberg.

“ls” it is probably the first and most often used command you will learn whenever you start working on a Linux based shell.

In the simplest possible way to say it, the “ls” command is used to list the contents of a directory. When used with no extra arguments within the command line (meaning when you type only “ls” and hit enter), the system response will display a list with whatever files (and sub-directories) exist at that moment within the current directory you are positioned at.


(This article applies for UNIX systems only.)

What is a C static library?

A C library is just a set of named functions.

Static libraries (also known as archives) have been around as long as C itself. Like a .zip file, they’re just a bag of object files — containing functions, of course — with a table of contents in front giving the address of each name. Static libraries are created from object files using a librarian utility of some kind. One such programs is ar (ar as in archive).

Functions in static libraries are joined to a program’s main…


The big C.

Whatever we get to see in a device’s screen, such as a computer, smart phone or even our TV sets nowadays it is originated in a set of text instructions written in one of many available computer programs. This applies for web-sites, games or pretty much anything else you could think about.

C is a programming language designed by Dennis Ritchie back in the 70's. It is what is known as a low-level language, meaning that it provides little or no abstraction from a computer’s instruction set architecture — commands or functions in the language map closely to processor instructions…

Flavio Orlando

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store