Online real time quiz game

1 min read

A couple years back I wrote kahoot from scratch using nextjs. I wanted to see what the hype was about, and also learn a bit about websockets.

Recently I fell in love with Golang and HTMX. Naturally I decide a full rewrite was a good idea. Spoiler: it never is, and it wasn't.

My technical knowledge did not progress by any measurable amount. I did get to read a bit more about how browser store cookies and information.

The biggest lessons that I learn was: humility.

Now, every time that I feel a rewrite will solve my problems, I mentally slap my wrist. This project taught me how even this kind of website that look like a quick thing easy to release still take a huge amount of time.

I will carry this knowledge both in my work and in my side projects.

If you still are somehow interested in the project here's the link.

Continue reading →

Advento of code 2024

6 min read

The advent of code is a yearly event during which each day a new puzzle is served. Every puzzle is composed of two parts and every answer is a number or a series of numbers.

The beauty of this event is that anyone can challenge themselves the way they see fit. Some folks use it to practice DSA, others take it as a chance to try new technologies. Psychopaths compete on the ladder or optimize the solution to nanoseconds. There is some joy for anyone.

Last year I managed to answer up to day four, and I used the occasion to learn and fall in love with Golang. This year I got to day 17 using Rust. I will hold my opinions on rust, since I intend to use it a little longer. Today I would like to reflect on this experience.

Continue reading →

Writing a intepreter from scratch

7 min read

Curiosity is an amazing gift when you can freely explore the subjects pertinent to your interest.

This summer I wondered how do programming languages actually work. Luckily, in college, I got a rough idea: code enters as string, gets chopped into tokens, tokens undergo syntax analysis then they are either fed to a VM or translated to machine code.

Although fascinating, I realized my knowledge was superficial; I couldn't implement a compiler even if I tried.

Continue reading →

More posts can be found in the archive.