Mat's Personal Note

Hello, my name is Matias Alvin. This is my note on my journey as a software engineer. You can contact me through my email. You can also find me on my github and twitter. Enjoy your stay!


Using Curl to Send gRPC Request

gRPC is a well known protocol in microservice software architectures. Its low latency and strong contract makes it suitable for inter-service communication compared to plain http. But, did you know that gRPC is built atop of http? Client and servers in gRPC are communicating using set of contracts on top of http. Which means, it’s possible to send gRPC request through http utility tools like curl directly, instead of using its generated client.

10 Feb 2025 - mat

Rant: Functional in Java is a Chore

Java 8 introduces Stream API, this api comes with classes, interfaces, and enums for processing collection of object (which called Stream). Stream offers basic functional programming capabilities to java: immutability, lazy evaluation, chaining operation, and many more. While the inclusion is pretty good, there are some things that not perfectly ideal. In this post, we’ll go through some of them.

25 Jan 2025 - mat

Dipping My Toe into Elixir

Elixir is a functional programming language that promise both scalability and great fault-tolerance. It also provides great tools to support development. But how much does elixir live up to their promise?

22 Jan 2025 - mat

Autotools Quickstart

On my last post I talked about writing a test generator utilising autotools suite for its build system and packaging. Since then, I’ve been writing some software using autotools. But, everytime I need to reread the reference book or take a peek at my last project before I can start writing. So, I figure that writing a quickstart of using autotools will be helpful for future me!

24 Mar 2024 - mat

Writing cgentest: Table Test Generator for C

Usually, I use the test-driven development (TDD) approach when I’m writing a software project. In Golang (the language that I used to write daily) there’s this neat library that helps me to do that, Gotests. Gotests is a simple tool that generates a table-driven test boilerplate, it helps me on writing tests on my past project.

Unfortunately, I can’t find such a tool in C. While there are plenty of unit testing libraries, I’m unable to find the one that simply generates a Table-driven testing boilerplate. So, I decided to write one myself.

07 Sep 2023 - mat

Reviving My Old Laptop

Nowadays, most people will choose to buy a new electronic device rather than fix their broken device. Most devices are difficult to fix and it’s not cheap either. Hence, most people might feel like it’s not worth fixing it. So, why do I choose to fix mine?

17 Sep 2022 - mat

GTK4 Cursor Manipulation

A cursor can be used as a visual hint to users on how can they interact with an app.

02 Jun 2022 - mat

Hello World!

Welcome to my blog’s first post!

29 May 2022 - mat