• From Symbolic Logic to Statistical Learning: The Fascinating Evolution of AI and Its Unexpected Convergence

    As a computer engineer who had the privilege of working extensively with Semantic Web technologies between 2011 and 2013 — a period that resulted in three published papers on the subject — I’ve witnessed firsthand how AI concepts migrated and evolved across different domains. Looking back at that era and observing today’s AI landscape dominated by large language models like GPT-4, Claude, and Gemini, I’m struck by how the fundamental tensions and synergies between different AI approaches have shaped our current technological moment.

    Read on →

  • How to deploy an Angular 18+ as part of a .NET 8+ web app

    ASP.NET Core ships with Kestrel server, which is the default, cross-platform HTTP server. Deploying a .NET 8+ with Angular 18+ is possible on different scenarios and we can also think of using a sort of encapsulation for rendering the front-office app, containing the bare minimum to serve a Web-based app with HTML, JS and the minimal backend features, to render the app on a web browser. We can use Kestrel with a reverse proxy server such as Nginx.

    Read on →

  • A Comparative Analysis: Unveiling the Strengths of Leading NoSQL Databases

    Ah, the ever-evolving landscape of databases. As technology marches forward, we find ourselves facing a new contender: NoSQL databases. The world of NoSQL brings forth a plethora of options, each with its own unique characteristics and strengths, demanding greater responsibility from software architects right from the project’s inception.

    Read on →

  • About Type Classes

    We’ve already gone through the introduction of what is actually a Monad in a previous article and we discovered that all the classes that share the same functionality form a sort of Category. Now I want to show you how to apply those functionalities to a wide range of other classes without the need of using OOP style or either touching pre-existent code. How can I do that? It’s simple, using Type Classes, so let’s dive in!

    Read on →

  • A monadic journey in Scala - Part 1

    And here we are, facing the deaf stone in front of us. We want to go functional and to do that we have to face the most important concept that we must embrace: Monads. In this post I’m going to show what is a Monad in Scala in a very pragmatic way, so you won’t have to worry about strange definitions taken from the category theory or things like that. The goal here is to understand and use monads in Scala.

    Read on →