An overview of this idea and how I turned it into a real Python API

Photo by PixaBay on Pexels


I’ve been thinking about creating something new, learning new things, increasing my portfolio project, but I didn’t want to do something that someone else had already done.

For no reason clearly, I wanted to do something related to lyrics. What about an API that brings the lyrics to a song? There are several projects that already do that, it would be just one more. What could I create, that “maybe” nobody had done yet?

After several days of thinking, the idea came to me. What will be the most used word in the lyrics of the band Queen? After several…

A journey through Domain Driven Design

Photo by PixaBay on Pexels

This is the first article in a series that will bring an insight into DDD and its main characteristics is make it easier to read. I will separate each principle into a different article, the subject is dense and this can facilitate reading in a modular way or if you have interest only in a specific part.

“Coding is war, to win you need a strategy.” Robert Laszczak

Everything we will study in these articles is related to the first D, domain, so everything is about listening, discussing and comprending the bussiness domain.

DDD is not a techonology, a software…

An animated tutorial to increase your productivity in Pycharm

Photo by PixaBay on Pexels

Anything that can bring us some productivity when developing is always welcome, I will show you how to get to know your IDE, and your shortcuts can greatly increase your productivity on a daily basis. At first it will seem more difficult to have to memorize countless commands, always keeping your hand on the keyboard to perform tasks that you would have to take your hand to the mouse will make you have much more agility in performing some operations. So I recommend always learning the shortcuts on demand, in other words, take the most commonly used commands in parallel…

An easy and smart way to recognize human face

Photo by Emiliano Vittoriosi on Unplash

In this article I will explain some important concepts in image processing, and also provide an easy recognition project made in Python using Cv2 and DLib libaries, in addition to explaining each step.

Region of Interest

One of the most important concepts in facial analysis using images, is to define our region of interest (ROI), we must define in our image a specific part where we will filter or perform some operation. For example, if we need to filter the license plate of a car, our ROI is only on the license plate. The street, the body of the car and anything else…

Failure is the mother of success

Photo by Download a Pic Pay a Buck at Pexels

Before demonstrating how my journey went, I would like to give a context.
I’m a developer, I love to develop, solve problems and see how happy people are after seeing their problem magically solved, but of course, I still have a lot to learn how to develop better software.
I work at a small company focused on agricultural software development where, in general, things are good, there are problems, as elsewhere, but the good things that exist, inspire me to work.

Learning is like rowing upstream: not to advance is to drop back.
— Chinese proverb

The problem

The company I speak…

Let’s look at the heart of Elasticsearch

The purpose of this article is to promote a better understanding of how things work within ElasticSearch. If you are reading this article, you probably already know how ElasticSearch works, if that is not true, you can learn a little more by reading the following article:


Lucene is the base of ElasticSearch, but you don’t interract directly with him, as you drive your car, but you don’t ask direct to your engine to start. But what if your car break, don’t you think is a good idea to know how your engine works?

Lucene Indexing

You have a big…

An overview of the most useful builtins data structures.

Photo by Riho Kroll on Unsplash

ython has great possibilities for working with our data. Let’s take a closer look at the functioning of lists, tuples / named tuples, sets and dictionaries. I don’t plan to delve deeper, for example, on how to put or remove elements from a list. My goal is to show the operation of each collection in a simple and direct way, exemplifying their statements. At the end of each explanation, the main characteristics of each collection will be displayed. …

A selection of most valuable libraries in Python

Photo by Ylanite Koppens on Pexels

Python is an easy progamming language, you don’t need to have a large bagage of software development to write your first code lines. Other advatange, a Python script that you write on one machine will run on any other machine, providing the required modules installed. There are a large numbers of available libraries and packages build special to Geospatial and Geoprocesing, this allow the user to spend more time development a real software wich will help to reach their goals.

What is Geoprocessing?

Consist in using mathematic and computational processing to get and analyse the spatial data. In geoprocessing data need to be…

An Overview on Python I/O.

A quickly demonstration of how Python interacts with I/O

Photo by Christina Morillo on Unsplash

There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use.

Python 3 Documentation.

In the beginning, ASCII was represented by 128 bytes; these characters were created with the use of the English language in mind; therefore, if you die in a country like china, where the base of your language are special characters, this was not possible since then new types of encoding were created. For example ISO-8859–1 encoding (also known as Latin_1) was thinking about Western Europe, like French, Spain, Portugal, but…

I would like to share some commands that I use. I am using Ubuntu 16.04 and the paid version of PyCharm. I hope that some of them help your productivity. Enjoy.

Wait for gifs load.

Duplicate Line (Ctrl + D)

Duplicate selected line.

Delete Line (Ctrl + Y)

Delete selected line.

Extract Code Fragment to Method (Ctrl + Alt + M)

Turn the selected code fragment into a method.

Move Line (Ctrl + Shift + ↑ | ↓)

Move the selected line above or below.

Reformat Code (Ctrl + Alt + I)

Indent selected code.

Comment or Uncomment Code (Ctrl + /)

Comment or uncomment selected line.

Find in Path (Ctrl + Shift + F)

Find the search string in a project

Find Action (Ctrl + Shift + A)

Find actions in Pycharm.

Find Files (Ctrl + Shift + N)

Search files by name.

Move in Tabs ( Alt + ← | Alt + →)

Navigate between open tabs

Close Actual Tab (Ctrl + F4)

Close actual tab

Close All Tabs (Alt + Shift + X)

Close all tabs.

Open or Close Project Structure (Alt +1)

Give you more space to see your code.

Bookmark (Ctrl + Shift + 0|1|2|3|4|5|6|7|8|9)

Set bookmark in…

Guilherme de Lima Barros

Full Stack Engineer | Master at League of Legends | Drum Enthusiast.

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