Here we go, following the tradition once again. Here I am again, writing my yearly review. As I said in the 2024 in Review : The next year, for me, will be a year of consistency, reconstruction, maintenance and improvement. I’d say that if I were writing this today, I’d need to rewrite it as: “The next year, for me, will be a year of discovering, understanding, and frustration.” This year had some…
Recently, I became again a daily Linux user. Using Arch Linux, btw. I was a macOS user for about 3 years, which was a good OS by the way, but I missed a lot of features which was so much easier to do on the new environment, like tiling window managers, easier workflow setup for autostart programs and a better way to manage my config using declarativeness. This blog post here, we'll be more about…
This week, I finally implemented my sidenotes on this blog. It was a work in progress for about 1 year, from the first attempt at implementation until reaching a decent solution. All the implementation was based on a "philosophy" of what I believe is the best way to present a blog to the reader and organize how it can be read. It was mainly inspired by Sidenotes in Web Design , by Gwern[^1]. I…
Okay, I'll be starting a new kind of blog post here. The idea is bringing some insights and things I watched, read or did in the week. What I'm doing Studied a bit about how exactly DNA/RNA works. Understand a bit about RNA polymerase and how exactly RNA transcript into mRNA. Read a bit about Game Theory . Learned more about Zero-sum games , Nash equilibrum , Minimax and the Prisoner's Dilemma .…
Every time I open my Obsidian to start writing a new blog post, I remember the other 15 drafts sitting there. Will those ever see the light of day? I don't know. And that's a concern for me. It's easy to take ideas and put them into two or three phrases. But being able to write for a long time (I'm Gen Z—two hours is a long time for me, don't judge) is just hard to do if I'm not in the mood. And…
Just a small post sharing something I learned last week. This is the kind of post that could be a tweet, but instead, I want to put it here, on my blog. This was useful for me, I know it can be again in the future, hope it will be useful for you too at some point. Last week, I had to do some tests given a specific scenario: having a load balancer which should redirect to the same application…
Introduction After about 1 year, I came back to Nix as one of my main tools for my workflow. In case, you can see my entire macOS configuration, written in Nix, here . After having to change MacBook devices twice during the end of the last year, I really missed Nix on my daily usage, where I need to setup my config every time, instead of just running a command. That's why I'm using Nix again after…
Following the tradition, writing my annual review. This year, being from ups and downs, a lot of things happened. I can consider 2024 a good year looking from the macro perspective, but far from what I would like. I was able to conclude my biggest objective for this year, but looking from the personal side, I wasn't good as I expected. Reflecting on what happened in this year, gave us some…
Bookmarks are underrated features. It's a good way to help you keep track of not only what you need to read but also what you need to do. Further, your bookmarks can be a way to structure your reading and your knowledge, for future reference, as Josh Leeb talked about here . About the organization of my bookmarks Inspired by a friend of mine, in January 2024 I started having a "reading list" of my…
Introduction Recently, I saw a specific project from Lukeberry called "Como Debugar Frontend" , in English, it would be called "How to Debug Frontend". The UI behind this project is very simple, it's just a list of checkboxes that you can follow to match your situation and validate that you are following the right steps to debug any issue that you could have through your front-end code. But, the…
I have a strong belief that most of the time, there is a clear separation between two concerns: software engineering and coding. Both look similar, both work together, but they aren't the same. Software engineering is more than coding in the aspect that it involves more about your work than just your pull request on GitHub. It's more about the processes and patterns that you apply through your…
Before the installation Save things that you need to be saved The public and private GPG keys : gpg --export --armor > public.key gpg --export-secret-key --armor > private.key Your shared GPG and SSH files. Your data. REMEMBER: if you have some dotfiles or other projects in your PC, make sure that you have pushed your changes. Make sure the drive security is not frozen If you are running a…
I consider myself a kind of heavy Emacs user. During some time, about 3 years, I was using Emacs as my daily driven tool for literally everything. I even used it as my desktop manager for some time. And to be honest, I loved it. It's cool to have everything in one place, and seeing all the pieces of the system interconnected, it's cool. But, I suffered some skill issues when talking about a piece…
Inspired by some discussions through Twitter/X over the last few days, I decided to write about RSS and why I love them. I think it's a great technology that few people know about and I think it's worth learning more about it. One of the greatest things that the Internet could bring to us is data consumption. Do you already ask yourself how much data we consume compared with the past? How easy is…
About three years ago, I started using NixOS on my personal laptop. In those days, I needed a config that would allow me to have a stable system, that could be reproducible over all my machines, and that would allow me to have a development environment that would be easy to maintain and to share with others. NixOS comes to fit all these requirements. But, since I started using a MacBook Pro…
What Is Consensus? I would say that one of the core properties of a system is the agreement on which data are right at a given moment. At that moment, one of the more important aspects of a distributed system shows up: the consensus. Where every participant agrees on a single state, even if some actor fails. Some use cases where consensus brings a strong advantage are network agreement in a server…
The last weeks were too hard for me. I need to spend too much time doing things in my personal life and ensure that I can bring good work to my professional life. For me, when this happens, there are always difficult moments. These moments are always complicated because they impacted me in different areas of my life, which generated a vicious cycle of bad moments and anxiety. But, the last time…
One of the best ways to grow in your life, in any aspect, is by increasing your exposed friction area to experiences. What I call friction area is the "surface" that will be exposed to the reactions you do. Everything you do in your day compounds your friction area, and everything has feedback. If you let yourself do more things, you'll iterate more over their reactions. With a bigger surface, you…
For the second year, following some of the most inspirational blogs that I follow, I will write about my year, and this time it will be public. Some of the coolest blogs that I follow on a day-to-day basis are doing it, so why can't do it too, right? I would say that 2023 was one of the greatest years of my life. Like everyone else, I had ups and downs, but the fact that I learned too much in a…
On December 26th, 2023, I started my new and current vault in Obsidian, and was one of the best decisions that I could bring to my 2023. Now I'm doing the review around this beautiful tool that follows me in my entire year. In the last years of my life, I turned more and more of a heavy user of note-taking tools, even those "rudimentar" ones like a pen and paper, I already tried a lot of tools…
Lists are a universal tool for productivity, everything can be compound into a list or can be considered one. For example, the post-its that you have in your office wall they can be treated as a list, you can handle it recursively, putting new lists inside a list. We are presented to lists being a child and they follow us for our entire life, it's an easier way to create a condensed, simplistic…
What do we mean by "the foundations of mathematics"? Writing a storage engine for Postgres: an in-memory Table Access Method Biohacking Lite A BETTER EXPLANATION OF THE LISKOV SUBSTITUTION PRINCIPLE Some Thoughts on Software Expertise Sorry, I'm a Teapot Cosmic Ray Failures of Power Semiconductor Devices 67 Weird Debugging Tricks Your Browser Doesn't Want You to Know principles are products of…
Note: 5/5 Finished: 2023-10-09 Thinking in Systems is one of the best books that I read in 2023. To be honest, I can't absorb all the knowledge that this work writes down. The idea around all this book is to give you a better idea around how systems works, in a internal, rational way. As an introduction to "non system thinkers" , the book proposes to show to you. With that idea in mind, they will…
In the last month, I was reading the Thinking in Systems book. It's a good book that clarify some ideas about how to sistematically think in how systems works and the "rational" behind it. Around the complexity of an entire system. A system can be defined as a network structure connecting pieces that will produces one or more things from it. One of the core aspects of a system is feedback loop .…
Minor Advances in Knowledge Are Still a Worthwhile Goal What scientist must know about hardware to write fast code? Making Hard Things Easy Union vs Sum types
In the last September 16th, 2023, I did my first talk ever in a meetup. In Belo Horizonte, happened the first JSParty Brasil. The experience of giving a talk, seeing the public listening to you, they looking for your slides while you explaining the aiming topic is awesome. The idea behind the talk was to show a presentation about the codemod culture behind Woovi. How we scale refactor in a large…
Following the ideas from My reading list and Reading List August 2023 , I'll be update this note while reading something that I think that can be useful for myself in the future. Computer Science Code without fear. Sometimes Simplify: move code into database functions In a git repository, where do your files live? Side effecting a deopt Your WiFi Can See You 64-Bit Bank Balances ‘Ought to be…
I'm a person that likes to read a lot of things, and I have a lot of blogs that I like to read. I'll list here some of them: Summary Personal blogs Self-improvement Computer science Company blogs Newsletters RSS Feeds Personal blogs Joel Hooks Gwern Branwen Drew DeVault Eli Bendersky Eliot Peper Julian Shapiro Nikita Voloboev Tom MacWright Paul Graham Seth Godin Derek Sivers David Perell Ben Kuhn…
How much stuffs did you write down today? As time goes by, more I believe that you need to write things down more and more. Documenting stuffs is a good way to believe in the long term game. Writing is a good way to put your thoughts in a paper (or anything else) and validate if they make sense. If you are missing some point that is important to understand all the context behind the subject.…
Simplifying things is one of the most underrated ideas that people have when doing anything. But understand why you need it and how you can do it can improve a lot of things in your daily workflow. An abstraction is a nice way to simplify things. But what is an abstraction? It's the process of removing implementation details of the final result. Abstracting things is a process that we, humans, do…