Sign in

Michele Riva
Photo by Thought Catalog on Unsplash

Blockchain is a scorching topic in computer science these days. It becomes famous in 2008 thanks to the Bitcoin cryptocurrency, which (as you may know) uses a Blockchain to record every transaction into a public distributed ledger. But… how much do we know about Blockchain? I mean, what if we…


Don’t get scared by RegEx! They are easier than you think!

Photo by Caleb Minear on Unsplash

In computer science, some topics may sound scarier than others. Regular Expressions, in detail, may sound incredibly scary at first… but once you got it, you’ll find ’em incredibly easy and useful!

Why do I need RegEx?

First of all: what is a RegEx…


Some thoughts about the “how would you recommend to begin with FP?” question after my speech at Codemotion 2019 in Milan.

Photo by Samuel Ferrara on Unsplash

On the 24th of October 2019, I made my first speech at the Codemotion conference in Milan, Italy. I talked about functional programming and how it can make our…


After some time working with different programming languages, I started to think about building my own language. That’s what I came up with!

Photo by Andreas Wagner on Unsplash

I’ve always been fascinated by programming languages.
Every programming language brings its own syntax, semantic, and paradigm.

If you have to choose how to implement your own…


Building high-quality REST and GraphQL APIs is hard. But there’s an easy way to get started in a few minutes.

Photo by John Baker on Unsplash

One year ago, I started to develop the backend for a quite popular website. I’ve tried different approaches, different technologies, and even different programming languages. Then I started to look…


My personal thoughts about JavaScript, PHP, Golang, Haskell, and Elixir. Which is the best one?

Photo by Thomas Kelley on Unsplash

During the last years, I had the opportunity to experiment with different programming languages.
I really like to learn different languages, approaches, and paradigms. I’m an inquisitive person, and programming languages have always fascinated me.


Photo by Johny vino on Unsplash

Full-text search can be both scary and exciting. Some popular databases such as MySql and Postgres are an amazing solution for storing data… but when it comes to full-text search performances, there’s no competition with ElasticSearch.

For those who don’t know, ElasticSearch is a search engine server built on top…


A Monoid is a set that is closed under an associative binary operation and has an identity element. Wait, what? Let’s explain this to the 10 years old me!

Photo by Ashim D’Silva on Unsplash

Some years ago, I started to code using the functional paradigm in Node.js and Elixir. When you try to switch from…


Photo by Robynne Hu on Unsplash

Some time ago, I had the opportunity to work on a fascinating project. We needed a way to expose REST APIs about Google Analytics data, but we had some big problems with the free Google Analytics version.

First of all, the retention period. At the time of writing, Google Analytics…


Write a compiler for a programming language that has only eight commands. It will be fun, I promise!

First of all: what the heck is “Brainfuck”?! Well, Brainfuck is an esoteric programming language composed of just 8 commands: > < + - . , [ ].

Wait, how can a…

Michele Riva

Senior Software Engineer @ViacomCBS ~ He/Him ~ Twitter: @MicheleRivaCode

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