Matteo Di Pirro

  I am an enthusiastic young software engineer who specialized in the theory of programming languages and type safety. I enjoy learning and experimenting with new technologies and languages, looking for effective ways to employ them.


12 Stories by Matteo Di Pirro

How to iterate over enums in TypeScript

We explore different approaches for iterating over enums in TypeScript, such as inbuilt object methods, for loops, and the Lodash library.
0 5 min read

Level up your TypeScript with Record types

We explore the basic usage of the TypeScript Record type alongside two use cases, including how to use it with generics.
1 5 min read

Kotlin IntArray, Array, and emptyList()

Learn the difference between IntArray and Array in Kotlin, explore use cases, create instances of each array, and compare them to lists.
0 5 min read

How to define higher-order functions in Rust

We demonstrate how to use higher-order functions to write Rust code that is more concise and easier to maintain in the long run.
2 3 min read

Using Pulumi with TypeScript

We discuss the pros and cons of IaaS- and IaC-based solutions and leverage Pulumi to create a simple S3 bucket in AWS using TypeScript.
0 10 min read

Practical use cases for Rust tuples

Learn how and when to use tuples, structs, and tuple structs in Rust to return multiple results from your functions.
0 5 min read

The guide to conditional types in TypeScript

TypeScript has support for conditional types, which might seem like a niche feature, but they're a useful addition for writing reusable code.
2 6 min read

Assertion functions in TypeScript

Let's explore assertion functions in TypeScript and see how they can be used to express invariants on our variables.
0 5 min read

How to create static methods and classes in Kotlin

Here's a look at how declaring static classes can be achieved in Kotlin and the benefits of it with respect to code reusability.
0 7 min read

Manjaro vs. Arch: Choosing your post-Ubuntu OS

Arch and Manjaro can provide more flexibility and power compared to Ubuntu. But which should you choose? Let's compare the two to find out.
11 5 min read

Optional chaining and nullish coalescing in TypeScript

Use two features of TypeScript 3.7: optional chaining and nullish coalescing, to write simple code without never-ending conditionals.
2 4 min read vs Comparing alternatives for .eth domain resolution

Compare and, two alternatives to resolve .eth domains using ENS.
1 4 min read