$cat ~/posts/why-this-site-exists

bilingual · en / pt

← /blog

why this site exists


For at least a year now I have been feeling an extreme need to write more and more, about everything. I think the time has finally come.

Where the idea comes from

The idea of having a blog came up when I started studying hacking and wanted to share and keep a record of my evolution while solving harder and harder CTFs, plus rants and other off topics.

I also had some inspirations and influences along the way that made me want to have a blog, like Rafa's HackingNaWeb newsletter (hackingnaweb.substack.com), Fábio Akita's blog (akitaonrails.com) and more recently Augusto Galego's blog (augustogalego.com), which has some other really cool stuff beyond the blogposts themselves, something I intend to do someday too.

As time went by, my career took different directions, but the urge to write about everything only grew as I keep learning new things. The will to share something I find cool, having a space of my own on the web with my nickname on the domain, recording my evolution over time, and applying the Feynman Technique are the main reasons this blog exists.

You have probably heard of the Feynman Technique and/or already applied it, maybe without even knowing what it is called, but basically it is a technique for fixing what you are learning (or just learned) in your head by explaining it to other people.

Visual identity

I made a point of this blog having my face on it, so I was careful building every detail from end to end: the color palettes, the favicon, the idea of the terminals resembling tmux, the summaries inside each blogpost and the post timeline on the posts page, the fact that my experiences are sequenced simulating a git tree and especially the site's language and theme switch transitions! And this is just a beginning, see it as a poc of what will become a blog more and more with my face on it, hehehe.

Blog architecture and opensource

The blog is built with Next.js and the posts are MDX files inside a git repository, so publishing a post is literally making a commit. There is no CMS, no database, no admin panel, nothing that can break while I sleep.

The bilingual decision followed the same line: the whole site exists in English and Portuguese, but a post exists only once. Instead of duplicating URLs per language, the translation lives inside the post itself and you switch languages right there. The UI language and the post language are independent on purpose, you can browse in Portuguese while reading a post in English and vice versa.

And for the record: I intend to open source all of this soon, both the blog itself and a separate lib with just the theme and language transition effects.

What to expect from the posts

A lot has changed in my career and in my study focus since that first urge to share CTF writeups until today, more than a year has passed, actually. But the main reasons behind wanting a blog of my own so badly are still the same.

I still have not decided exactly how I am going to separate post topics, but maybe I will split them into "fixed" categories plus tags too, for more organization, though I will probably start with tags only until it starts getting kind of messy haha.

Initially there will be things like AI (ML, DL, CV, LLM, etc), Backend, Infra, MLOps and ML Engineering, Rants (off topics in general and opinions), this will probably be the building in public channel of my startup Sauim too (I will talk more about it in a future blogpost) and something about investing later on since I intend to study the subject as well.

Let's see how far all of this goes.

>>> print("hello, world")
hello, world