Fausto's code review process
I try to review code quickly and in a standard manner: my goal is to enable colleagues and improve velocity.
I'm Fausto, a software engineer based in Berlin, building products end to end for over a decade. Below: my open-source work and writing, mostly about engineering.
I try to review code quickly and in a standard manner: my goal is to enable colleagues and improve velocity.
Setting up NixOS on a TUXEDO InfinityBook Pro 14 Gen9 AMD laptop, including driver configuration, power management, and troubleshooting common issues.
satisfies operator
TypeScript 4.9 introduces the satisfies operator. It can be used together with the Record type to solve a problem I posted about some years ago.
While reading Michael Kerrisk’s The Linux Programming Interface, I take a look at some strace output for a simple “hello world” program in order to fully understand it.
Entry #2 of the usairb development log (USB/IP and embedded Linux)
Entry #1 of the usairb development log (USB/IP and embedded Linux)
I gave Remix a quick spin following their main tutorial and gathered some notes, focusing on the TypeScript
Setting up Neovim to work like an IDE has become a maintenance burden. LunarVim looks like a promising solution that abstracts this away from me, so let’s give it a try!
I take a stab at integrating my the product my company produces with my development board project.
Running a recurring task with ESP8266_RTOS_SDK/FreeRTOS and calculating the stack size needed by a C function
In a previous post in this log I used sudo dmesg | grep tty to find the serial port to which my board was connected. But what does dmesg do and why am I looking for tty?
I learn how to connect an ESP8266 board to my computer and flash the ESP8266_RTOS_SDK onto it.
An introduction to the new gap attribute, previously only for Grid layouts, now also available for Flex layouts with almost full support in 2021. Includes a quick look at how developers have worked...
Code is worth a thousand words, and can be used as a medium of communication.
Reframing the question as: how does one achieve high code coverage beneficially?
I implement async await in terms of generators using TypeScript, going a bit deeper into TypeScript’s typings for generators.
My developer’s perspective on a year of working with Shape Up after switching over from Scrum
A reflection on what I think is a good attitude to have when faced with a daunting task
In this post I try to explain why although tempting, it’s a bad idea to use “big” types (representing parts of your domain model and often coming from code generation) across your application code.
I use vim macros to implement a repeated code change in a relatively big codebase. I learn of a way to apply macros that exhaust occurrences in one file across multiple files using only vim.
While useful, user-defined type guards are a vector for runtime errors in TypeScript applications. It’s very easy to implement them in a way that makes a piece of code unsafe.
Using the TypeScript Record type can result in unexpected type unsafety. In this post, I suggest using a Dictionary type that solves this.
A rant on how I think people can better appreciate and enjoy music, and perhaps other types of art, too.
In this post, I try to share some of the confirming experiences and observations that have helped me in the process of following git best practices.
I decided to surrender to my sacrilegous self and try to emulate everything I do with Vim from an empty Emacs config file built with Org-mode.
An introduction to Mozilla’s Servo project built in Rust, where I try to encourage people to contribute and tell my own story along the way.
A checklist that should help you once and for all truncate that stubborn span and print some beautiful ellipses at the end of your one-liners.
This is a short list of CSS features that work on Firefox but not yet on Chrome. In particular, features that would be really cool to use in production if the other major browsers supported them.
An interactive introduction to CSS filters that includes a playground to produce code using sliders, to better visualize the effect of each filter on an image.
An introduction to my blog and me.