Exploiting Google Cloud Services and Apache Beam to build a custom streaming data pipeline, in Python

PubSub to DataFlow to BigQuery wallpaper
PubSub to DataFlow to BigQuery wallpaper

If you need to process a very large amount of streaming data you’ll often find that a managed solution will be the easiest choice. These flows are rarely consistent and the prices of building your own solution could not be affordable and you’ll have to manage both the architecture and the code.
There are many managed services: on AWS you can use Kinesis, Azure has Stream Analytics, IBM has Streaming Analytics and you can almost always find a managed solution for an Apache Kafka server.
I’ll try to explain how to get started with Google Cloud solution: Dataflow


[Hidden] qualities of one of the most famous IDE for Python programming

PyCharm is one of the heaviest IDEs I ever worked with, it’s slow, it requires too much ram and most of all I hate its indexing time. That said, I love it.

Old school coders might not agree, but let’s face it, an IDE is extremely important in terms of daily work and the more it simplifies your work, the better. Here are some of the feature I like mostly about this one:

A three minutes introduction to the most loved database

According to the 2020 StackOverflow Developer’s Survey, Redis is still the most loved ❤ database, I can understand why since it’s so easy to use and versatile, so here’s a fast introduction to it.

Redis Logo from

Redis is a multi-model, NoSQL, key-value database that enables search, messaging, streaming and much more.
It keeps data in memory to enable fast access, persists data to storage to provide consistency and its replication of content also guarantees durability of the data.

Its components

The server Redis runs as server-side software so its core functionality is in its server component. The server listens for connections from clients, programmatically…

Organizza grandi quantità di dati per estrarre strategie di valore

Cloud for Marketing provides the technology capabilities, experience and tools that help companies optimise their marketing efforts by extracting value from data.

Qualunque azienda oggi con una presenza digitale già avviata si trova ad avere a che fare con molteplici silos di dati delle dimensioni più svariate, spesso sparsi e disorganizzati, che rendono difficile una valutazione del loro potenziale e, di conseguenza, un’attivazione efficace. …

A modernization story, and what we learned

This is a story about how an application that was developed the same “old fashioned” way was ported in a completely serverless app, as it was supposed to be from the beginning.

Before you start reading, I just want to clear up that not every Django application can be shifted to serverless, it takes specific use cases, or you could port a part of it, if you think it’s worth the effort. Our original Django application was particularly suitable because it had no front-end, no user login, and just some (ten or so) APIs.

The original architecture

Fondamentali sulla containerizzazione degli applicativi software

Quando si parla di containers in ambito informatico, ci si riferisce a un’istanza virtualizzata che contiene ed esegue un’applicazione e tutte le sue dipendenze. L’ambiente dell’applicazione, anche detto environment, parte dal sistema operativo, passando per binaries, dipendenze e librerie esterne, in generale tutto ciò che è necessario al funzionamento dell’applicazione.

Questa definizione non suona nuova, ricorda molto le virtual machine.
A differenza delle macchine virtuali, però, ogni applicazione può condividere molti dei livelli comuni alle altre applicazioni, come il sistema operativo, e non necessita di un hypervisor, come potevano essere VMWare o VirtualBox.

Uploading offline events to your Facebook Business Manager using Python SDK

What are Facebook Offline Events?

Offline events are, as the name suggests, actions that your customers will take in-store or at an event. Facebook has no way to track it so it lets you upload them. There are 9 kind of events you can track: ViewContent, Search, AddToCart, AddToWishlist, InitiateCheckout, AddPaymentInfo, Purchase, Lead, Other
We will focus on the most important one: the purchase, or conversion.

Why and when should I use them?

Facebook campaigns might lead to real world events that the ad platform is unable to associate, but knowing if the users that saw your ads actually purchased something will help you understand the effectiveness of every campaign.

Developing an Alexa skill using Google services may sound like a contradiction to some, but the truth is Alexa’s custom skills let developers program whatever they like and Google Cloud services are some of the best you could find. Many applications could benefit from using their APIs.

We won’t focus on a single Google APIs service, in this post you will only see how to successfully create a link between an Alexa skill user and its Google account. …

Why should you monitor your skill after having it published on the Alexa Store?

After developing an Alexa Skill, you need to know and analyze what happens to your users.
The Amazon Alexa Developer Console provides some analytics tool that lets you monitor how many users you have, how they’re approaching and using your skill, which utterances they pronounce, but how do we manage errors?

Nicolò Gasparini

Software Engineer and full stack developer 💻 based in Italy — /in/nicologasparini/

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