Here you will understand where those extra lines come from.

The compilation is the process to translate a high human-readable programming language into a language that can be understood by the computer: ones and zeros, that is saved in an executable file. The program that makes that process is called ‘compiler’.

The compiler GCC can translate languages like C, C++, Objective C, and Objective C++. Here we talk only about C compilation.

Basic usage

To use GCC you need to write the name of the program and the name of the program in the command line.

If the code doesn’t have problems, GCC is going to create…


Big things are made of little ones. Here I will explain in very simple words what a shell does when we type “ls -l *.c” in the command line. This can be useful to understand what is a command-line interpreter (value it) or as a resource to write your own shell in C programming.

The shell

Step 1. Each shell is a bucle starting with a prompt written on the screen like this:

or:

or:

The prompt that is going to be printed is saved in a variable called PS1, set in the file /etc/bashrc.

Some people feel…


Magic! You push the enter button and almost instantaneously you have photos, and any kind of data beautifully showed in your web browser.

Let’s see what’s happening when you type a direction as https://www.holbertonschool.com step by step. In the end, there is a drawn resume!

The parts of the web direction.

Telephone Metaphore

When you want a telephone number, you ask for a line from a telephone company, and they give it to you and allows the connection between you and any other people that knows your number.

But, in the case of this number, no one saves in their heads and type it from memory. …


“We need to empower computers with their own means of gathering information, so they can see, hear and smell the world for themselves, in all its random glory. RFID and sensor technology enable computers to observe, identify and understand the world — without the limitations of human-entered data.” Kevin Ashton

Automatic food preparation by Moley

Why in Home?

In the perfect live machines do all the boring work and people enjoy.

In the perfect house, you want everything automated. …


Russian Matrioska: The bigger contains itself but smaller.

What is recursion?

Recursion comes from the Latin ‘re’ that means ‘doing something again’, and ‘current that means ‘to run’.

It's something that happens again, something that is repeated, so the value of a function is defined by the application of the same function applied to smaller arguments.

Why use recursive functions?

  • Avoid writing the same code many times
  • Reduction of time complexity
  • More clarity and less time to write the code.

Why NOT use recursive functions?

  • It uses more memory.
  • Can be slow, depending on the number of recursive executions.

For these reasons, it could be better to use an iterative approach with loops as for, while, and do-while.


Why libraries?

When we code in C we create our own functions based mostly on predetermined functions that are included before the main with lines like these:

With time, we are going to identify some pieces of code that are repeated many times, and we can split that part and save it in a new different function, to reuse the same code multiple times. So, we are going to add a list of the prototypes (declarations) of the functions, too.


All humans share general basic characteristics and capabilities. A specific human inherits those basic characteristics and capabilities and can develop some other characteristics(attributes) and capabilities(methods).

Image about OOP [Source].

Class attributes

Attributes can be owned by the class or by the instance(object). Class attributes are owned by the class and they are shared by all the instances of the class.

Class attributes are useful when you want to:
- Store constants that don’t change from an instance to another.
- Have general accountability across all the instances. …

Natalia Vera Duran

Software Developer

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