Category Programming

Will Zig be the "sweet spot" I am looking for?

Featured Image for Will Zig be the "sweet spot" I am looking for?

Let’s continue our exploration of novel kinda-low-level languages. After a quick exploration of Crystal, it is time to look at another language that is constantly popping up on my sources: Zig. It will be my new love? It will be the perfect tool I was looking for? It is the beginning of a new programming langue star? Let’s find out that together.

Will Crystal be the "sweet spot" I am looking for?

Featured Image for Will Crystal be the "sweet spot" I am looking for?

The Crystal programming language recently reached version 1.0. As a modern compiled language, it caught my attention. It is time to spend some time playing with it to have a better idea of its potentialities. Will this “Compiled Ruby” be the sweet spot between Python and Rust I am looking for?

Property-Based Testing in Typescript with Fast-Check

Featured Image for Property-Based Testing in Typescript with Fast-Check

Property-based testing is probably the thing I missed the most from my time working with Haskel. It is such an elegant way of testing functionalities that it is hard to not use it. As you can imagine, I look for a Property-based testing framework in any language I have under my hands. Usually, unsuccessfully. However, in recent years I am working a lot with Typescript and, luckily, Typescript has a good property-based testing library: fast-check.

How to debug a Node.js application remotely in VSCode

Featured Image for How to debug a Node.js application remotely in VSCode

Debugging a remote Node.js application in VSCode is an elementary procedure. Here it is a small “how to” in case you are struggling with it. A quick answer because you want a solution, not the story of my life.

How to document a Kotlin/Spring application with Springdoc and OpenAI

Featured Image for How to document a Kotlin/Spring application with Springdoc and OpenAI

Here we go again with a new article derived from my work notes. As you already know, I am rewriting a backend application in Kotlin and — in the process — I am improving all the horrors of legacy code I can find. In this article, we will look at one critical aspect of software development (especially for REST applications): the documentation.

How to convert a Java/Spring project to Kotlin

Featured Image for How to convert a Java/Spring project to Kotlin

In the last week I converted a medium-sized legacy Java/Spring codebase to Kotlin. In this article I’ll discuss the pro and the challenges I faced during this transition.

My First Deno Experiment

Featured Image for My First Deno Experiment

This is another not-requested opinion on Deno! But what can I do? When I read “node replacement,” “TypeScript,” and “Rust,” I lose any inhibition. Therefore, I ported to Deno an old npm package and wrote a brief report on my experience. What I liked? What I disliked? Will Deno be succesful in the overcrowded world of programming platforms? These are my answers.

Happy 5-Years Birthday Rust!

Today has been five years since Rust 1.0 release. I really want to wish happy birthday to this awesome language! I could write an article on it or I can link you to this wonderful post in the official Rust’s blog. Enjoy!

Swift announces official Windows support — maybe too late

Featured Image for Swift announces official Windows support — maybe too late

Swift is a pretty language that hits a sweet, sweet spot: it is a compiled language built around LLV, it is modern, it took advantage of decades of programming language design efforts, and it is esthetically pleasing. It is the kind of language that could have taken a lot of market shares. Unfortunately, official Windows support will come only with version 5.3. It may be already too late to wash away the “iOS Language” stigma.

My favorite Visual Studio Code extensions

Featured Image for My favorite Visual Studio Code extensions

Visual Studio Code is my editor of choice. I started with it because of the top-notch TypeScript integration, and then I stuck with it for all the rest (all but for big projects in languages with outstanding IDE support, such as Kotlin). During the years, my extension page grew bigger and bigger; new extensions get installed, old extensions get removed. You know, the usual stuff. But during all these years, a bunch of extensions has always remained the same.