Home

It's Fine, Nobody Can Remember Everything

A couple of days ago I had a conversation with a friend who is learning to program. We were talking about the difficulty of remembering what each concept means and what every keyword does. The conversation eventually led to this question: Ok, but when will I stop needing the docs? I (probably most people) had the same feeling when I was learn...

Read more

On Abstraction and Coupling

This article is about the second group of concepts I wanted to talk about after re-reading Clean Architecture. I want to try something different this time: Instead of elaborating each idea in long, continuous prose, I’ll just list them as separate chunks. So, here it goes: We already know that tight coupling is a bad thing to have. It bind...

Read more

On Shape and Behavior

I recently started re-reading Bob Martin’s Clean Architecture and found two other ideas I wanted to share. One of them (the topic of this article) is the dual nature of the way software developers provide value through code. When you implement (or modify) a feature in your system you are creating value by altering or expanding its behavior. Mos...

Read more

Domain-Driven Design

This article is a summary of what I consider to be the most important concepts of the book Domain-Driven Design, by Eric Evans. I tried to condense the most important ideas in a single article for anyone interested in the topic. I attempted to pack in as much information as possible, but it was not an easy task: The book is a very condensed work...

Read more

Hands-on Pandas(11): The apply function

We have already covered most of the fundamentals of working with data using the Pandas library. There is one more topic I’d like to discuss before concluding the series: The Apply function. In the previous article, we learned how to create subgroups of data using the groupby function. This is quite useful when you want to gain a better understa...

Read more

Hands-on Pandas(10): Group Operations using groupby

Sometimes you need to perform operations on subsets of data. Your rows might have attributes in common or somehow form logical groups based on other properties. Common operations like finding the average, maximum, count, or standard deviation of values from groups of data is a really common task, and Pandas makes this really easy to accomplish. ...

Read more

Hands-on Pandas(9): Merging Dataframes

Merge/join operations in Pandas let you gather information from many tables into a single dataframe for further processing or analysis. This is another important skill that you will probably use a lot when working with data. If you have some experience with relational databases you can recognize the analogous behavior with table joins. In this ...

Read more

Hands-on Pandas(8): Cleaning Data

In an ideal world, all the data you need is available in the right format and with complete content. In the real world, you will probably need to scrape data from lots of different and incomplete sources. That’s why it’s important to learn how to clean your data before analyzing it or feeding it into a ML algorithm. Data cleaning might not the...

Read more