Everything in Python is an object, and almost everything has attributes and methods, but different programming languages define “object” in different ways. In some, it means that all objects must have attributes and methods; in others, it means that all objects are subclassable. In Python, the definition is looser: everything is an object in the sense that it can be assigned to a variable or passed as an argument to a function. The official documentation of the language says that objects are Python’s abstraction for data.

All data in a Python program is represented by objects or by relations between…

This is the third article in a series about what the compilation process is and how it works, using the C language as an example.

  1. Creating new worlds with GNU Compiler Collection.
  2. The power of a book, or how to use static libraries in C.
  3. Dynamic libraries in C: creating something on what others will rely. (this article)

***

As we’ve mentioned in the previous article, one of the problems with computer programs, is that they have tendency to grow larger and larger, bringing more challenges for its creators and especially maintainers and increasing time of the compilation and linking.

Many of us use the shell for years, but not all of us know how it actually works. That’s why today we will talk about what processes occur under the hood of the shell, and about how it is designed.

What is the shell anyway?

According to Wikipedia, a Unix shell is a command-line interpreter or shell that provides a traditional Unix-like command line user interface. The first Unix shell was written by Ken Thompson, was introduced in the first version of Unix in 1971. …

This is the second article in a series about what the compilation process is and how it works, using the C language as an example.

  1. Creating new worlds with GNU Compiler Collection.
  2. The power of a book, or how to use static libraries in C. (this article)
  3. Dynamic libraries in C: creating something on what the others will rely.

***

One of the problems with computer programs, is that they have tendency to grow larger and larger, bringing more challenges for its creators and especially maintainers and increasing time of the compilation and linking (if you need to refresh your…

gcc main.c

This is the first article in a series about what the compilation process is and how it works, using the C language as an example.

  1. Creating new worlds with GNU Compiler Collection. (this article)
  2. The power of a book, or how to use static libraries in C.
  3. Dynamic libraries in C: creating something on what the others will rely.

***

A computer with it’s current architecture designed to receive, process and store data in form of a series of binary units, usually represented as 1 and 0.

However, we are thinking and communicating with natural language, and to breach this…

An inode is a data structure on a filesystem on Linux and other Unix-like operating systems that stores all the information about a file except its name and its actual data.

A filesystem itself is the hierarchy of directories (the directory tree) that is used to organize files on a computer. On Unix-like operating systems, the directories start with the root directory (forward slash /), which contains a series of subdirectories, which may contain further subdirectories, etcetera.

A file is a named collection of related information that appears to the user as a single entity. It doesn’t contain information about…

For those of us who only starting with programming, terminal looks like a window to a world of magic, and that magic sometimes looks dark. This is not surprising, especially if our padawan sees something like this:

However, this array of mystical symbols is a helpful command full of sense. And if we will overcome the fear and try to read it, we will be able to find some patterns, even if we don’t know the syntax. What we can see here is that it looks like a chain — the chain of small commands. …

It has been a long time since I wanted to start writing stories for Medium, and today I decided to begin doing so. I always thought that my very first article would be about some hardcore technical stuff, but instead, it is autobiographical, and I have a special reason for it (will appear later).

Chapter I: How everything started

First, let me introduce myself: I am a 31-year-old software developer, who moved to San Francisco by a happy coincidence. I moved from the city, which is little smaller than SF (its population is roughly 500 000), but 10-x cheaper. …

Sergii Garkusha

Hacker. 500 Startups Alumni. Envato Elite. School of AI Dean. Runner. Ukrainian. I write about software, AI & life. SF 🌁 https://cu7io.us

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