About:

Frederico Bittencourt is a Brazilian Software Engineer working at Helsing and currently living in Germany. His personal website, Fredrb's Blog, features content primarily about Software Engineering, personal projects, and studies conducted in his free time. Although he rarely writes, his posts focus on his professional interests. Additionally, he has an interest in History and Music and enjoys spending time outdoors with his family, despite his inclination to spend time in front of a screen.

Website:

Outgoing Links:

Joel Spolsky
Subscribe to RSS:
The text discusses the implementation of a simple spin lock in C and a more elaborate lock using operating system’s primitives. It explains the implementation of a mutex and the use of futex syscall from Linux to deal with the 'wa...
The author discusses the habit of solving the same problem multiple times, comparing it to writing a text and iterating on code until it feels right. They emphasize the importance of rewriting and refactoring code to improve its s...
The author discusses the process of writing bash one-liners and shares a one-liner to check unmaintained go.mod dependencies. The post also includes a breakdown of the command and the process of writing it.
The author discusses sound programming and how to make a computer play a note by writing less than 100 lines of C code. The post covers the fundamentals of sound waves, frequency, amplitude, and sample rates, as well as the use of...
The text discusses the testing library stretchr/testify in Go, focusing on the assertion functions and how they behave differently depending on the scope. It explains the need for code generation to implement all functions as a wr...
The text discusses the implementation of a simple lock in Go for learning purposes, and the author's experience with concurrent programming. It includes a comparison of different lock implementations and benchmark results.
The text discusses concurrency in Go and how Go's memory model behaves on concurrent programs. It uses an example of Alice and Bob sharing an office to explain the behavior and problems that can arise in concurrent programming. Th...
The text discusses character encoding, ASCII, and UTF-8. It explains the importance of knowing the encoding of text, the limitations of ASCII, and the use of Unicode. It also explores how files get their encoding, the binary repre...
The post investigates the internals of man-db, focusing on the use of a database to index command names to metadata, the storage options, and the structure of the database file. It also explores the code that iterates on DB entrie...
The post discusses the implementation of a hash table in Go, inspired by a recent post from Ben Hoyt. It explains the importance of hash tables, the constraints of making a hash table, the hash function, the hash table data struct...
The author discusses creating a small docker image for a Python project, specifically a Telegram bot that quizzes in German. They used a python:3.8 image to build dependencies and a python:3.8-alpine as a base for the container im...
The author discusses their experience with developing a Roguelike game, detailing the technical aspects and challenges faced. They talk about the community of Roguelike game developers, the Seven Day Roguelike Challenge, and the s...
The text discusses the convergence of Object-Oriented Design and Microservices, focusing on integration patterns, design principles, and the similarities between the two paradigms. It highlights the importance of message passing, ...
The author discusses the slow initialization time of zsh on WSL and shares a solution to cache the results into a file and load them whenever opening zsh. The post also includes a check to use this workaround only on WSL and remov...
The text discusses the impact of the subscription business model on the industry, focusing on SaaS, metrics, monitoring, and the shift from product to service-based companies. It highlights the importance of understanding user exp...
The author discusses the process of hosting his blog, including the decision to use Digital Ocean's VM plan, the use of Jekyll for the blog, and the automation of the publishing process using Circle CI.
The author discusses the need for a version manager for Node, the issues with the existing nvm, and the development of a lightweight version manager called nv. The author also explains the process of fetching and managing Node ver...
The text discusses the concept of Open Classes and Monkey-Patching in Ruby, using examples from the 'metaprogramming with ruby' book and the money gem. It explains the drawbacks and advantages of Monkey-Patching and the changes in...
The text is a detailed exploration of the /proc folder in Linux, which contains information about running processes. The author explains how to read and extract data from the files in the /proc folder, and how to create a ps clone...
Fredrb's Blog is a resume of a Software Engineer and Computer Science Graduate with experience in various programming languages, technologies, and notable projects. The author has worked on a Kubernetes native security monitoring ...