About Nicolas F. R. A. Prado

Nicolas F. R. A. Prado. Electrical Engineer from Brazil. Interested in hacker culture, embedded systems, Linux and electronics.

The RSS's url is : https://nfraprado.net/feeds/all.atom.xml

Please copy to your reader or subscribe it with :

Preview of RSS feed of Nicolas F. R. A. Prado

CardOS: Writing an OS for the Cardputer

1970-01-01 08:00:00

I recently got the M5Stack's Cardputer. I was motivated to get it because I knew other people personally that had it too, so we would be able to share our progress, but I was worried it might end up being just another board that sits in my closet forever untouched …

vCard + RSS as an alternative to social media

1970-01-01 08:00:00

Last year after talking for a while with someone during a conference they asked me for my LinkedIn to be able to connect with me, to which I answered I didn't have one.

It was many years ago when I decided to leave social media. I don't miss it. Instant …

Collecting pins

1970-01-01 08:00:00

It started innocently about one year ago as I was looking for a gift for a friend. We played a lot of League of Legends and Ragnarok Online back in the day, so I wanted to give him something to remember that. Eventually I came across these pins:

Meeting the Linux community at my first ELC

1970-01-01 08:00:00

This month I attended the Embedded Linux Conference Europe, which was co-located with the Open Source Summit Europe, and took place in Dublin, Ireland. This was my first time attending a Linux conference in-person as a contributor and it was a very special experience.

This wasn't my first ever in-person …

Moving the blog to Codeberg

1970-01-01 08:00:00

As someone who cares about FOSS, I'm always happy to move to a FOSS alternative when one shows up, provided there aren't any big drawbacks.

Back when I was in University and starting to learn the ways of Git, I only knew about two Git hosting options: GitHub, the mainstream …

Using emojis in matplotlib

1970-01-01 08:00:00

Last month, as I was writing the blog post with all the statistics for the blog's two year anniversary, the "Blog statistics after two years" post, I decided that I really wanted to have a plot with emojis. From the moment I thought of this I knew it couldn't simply …

Blog statistics after two years

1970-01-01 08:00:00

Wow, it's been two years since I've started this blog! I'm really happy that I've still managed to keep up the one post per month. Hopefully I'll be able to keep it up for the third one!

For this post I thought it would be fun to look through some …

Discovering the comfort of loudspeakers

1970-01-01 08:00:00

In 2014, while on a school trip to Germany, I bought a Razer Tiamat headset. The sound was great and for the most part it was comfortable. Its only issue was the clamping force, which was a bit too much, and gave me headaches after long hours of use.

I …

Learning from SerenityOS

1970-01-01 08:00:00

One day I was scrolling through Reddit as usual, when I saw a post linking to this blog post: I quit my job to focus on SerenityOS full time. I was intrigued by the backstory, the premise of this OS, and also by the fact that its development was being …

Running LineageOS on my Nexus 5X

1970-01-01 08:00:00

This month marks one year since I bought a Nexus 5X and started using LineageOS, so I thought I'd share my experience.

Setting up

About one year ago, a friend told me he found a really good deal for a Nexus 5X online. The Nexus 5X is an old phone …

Learning x86-64 assembly basics

1970-01-01 08:00:00

Recently I decided to learn assembly. I already had a reasonable understanding of how it worked due to some classes that touched the subject in university, however I never had the opportunity to really write assembly code.

Since my everyday computer is an x86-64 machine, it made most sense to …

Making internal linking in pelican effortless

1970-01-01 08:00:00

One interesting feature of Pelican, the static site generator I use for this blog, is the internal link expansion syntax with {}. It is documented here. Some examples are {filename}, {static} and {author}. The purpose of the syntax is to have shorter and easier aliases to link to internal content in …

The menus in my system

1970-01-01 08:00:00

Another post going through stuff I set up for my desktop environment a couple years ago and that have used ever since 🙂. This time I'll show the menus I've created using rofi.

So, what is rofi? It's basically a program where you feed a list of options to it, and …

The blocks in my status bar

1970-01-01 08:00:00

Five years ago when I moved to the i3 window manager, I started using its status bar, the i3bar. It is text based, and it's up to you what gets shown there. However it is not very modular: it's weird to combine different information to be shown since everything has …

Resurrecting a computer on the go

1970-01-01 08:00:00

Earlier this month I was spending a few weeks in another country. It was late at night and I was once again looking over my personal files and thinking if there was a better way to organize them in folders.

After thinking for a bit I decided on a new …

My journey to a good backup system

1970-01-01 08:00:00

I'm a bit of a data hoarder. I still have some of the first programs I've ever written, photos I've taken on trips and drawings I did many years ago, to name a few. And since I don't trust some company to store all of this data for me, it …

Owning my Kindle

1970-01-01 08:00:00

Several years ago my mother gave me a Kindle Paperwhite 2. I have read a few books on it since, but it never felt like it was really mine. Locking the screen showed some annoying ad, all books bought from Amazon were protected by DRM, books transferred through USB only …

Blog customizations

1970-01-01 08:00:00

I've been using pelican as my static blog generator since I started this blog about one year ago. It only took a bit of configuration to get the blog up and running, and a bit of searching through pelicanthemes to find nikhil-theme which is the theme I'm still using.

While …

One year of blog

1970-01-01 08:00:00

It's been a full year since I started this blog! So I thought I'd take this chance to talk a bit about the blog itself: How it started and my thoughts on it.


I had already thought a bit about having my own blog. Having a little corner of …

Keeping track of my packages

1970-01-01 08:00:00

As I previously mentioned in the "Moving to Wayland" post, I recently moved to a new computer. Moving can be very annoying if you use a heavily configured system and don't have all the configurations easily available to just move over. Since I do regular backups of my files, which …

Learning music theory by writing melodies

1970-01-01 08:00:00

Hey, first non-technical blog post 🙂.

Anyway, I haven't talked about this before here, but I'm really interested in playing the piano. When I was younger I took some guitar classes, but I always wanted to play the piano, and a couple years ago I finally got one! I've been playing …

Moving to Wayland

1970-01-01 08:00:00

In the middle of January, my computer decided to surprise me, and not in a good way. Differently from all the quirks I've come to expect from it after all these 6 years of use — faulty keyboard, flashing screen, bad audio jack — this time it was worse, and it wasn't …

Ledsticker: My first holistic SW + HW project

1970-01-01 08:00:00

It was in the middle of 2019. I was taking classes in Embedded Systems Laboratory and had to make the final project of my choice. I had the idea to do some sort of a Guitar Hero using a keyboard for the input, an 8x8 LED matrix to display the …

Organization beyond Taskwarrior

1970-01-01 08:00:00

In the previous article of this series, I went into all my Taskwarrior and VIT customizations, and my workflow with them, that enables me to organize my tasks and get them done. Tasks, however, aren't the whole story when getting organized.

Another crucial component of organization is having a calendar …

Managing my tasks using VIT

1970-01-01 08:00:00

Two years ago I decided to get more organized about my life. During that time I read the Getting Things Done book and discovered Taskwarrior, a task manager for the terminal which doesn't get in the way.

I greatly appreciated Taskwarrior's simplicity and customizability, but after some time, the need …

Porting a flash LED driver upstream

1970-01-01 08:00:00

Now that I had a working serial cable for my Nexus 5, as described in the "Making an UART cable for the Nexus 5" post, I was ready to face some action and help in upstreaming.

Looking through Brian Masney's TODO page there were a couple options, but the one …

Bulk file editing with ranger

1970-01-01 08:00:00

My file manager of choice is ranger. It's terminal-based, provides keybind mapping for everything making me more efficient in navigating my files, and it's incredibly extensible by enabling the creation of custom commands in python. If that wasn't enough, it also has a ton of other great features (extensible file …

Playlist generation with MPD

1970-01-01 08:00:00

Music is life. I really love listening to music, although not the same kind of music all the time. Most of the time though, anything goes: I like to listen to any of the songs I have at random. But when I'm doing something that needs concentrating (like writing this …

Automatic context detection for Taskwarrior

1970-01-01 08:00:00

One of the main ideas of GTD is to have a context associated with each task, so that it is very easy to see which tasks can be done in your current context. I organize my tasks with Taskwarrior, so to make it work with contexts, when adding a new …

Setting up mbsync to work with XOAUTH2

1970-01-01 08:00:00

For a long time I used offlineimap to synchronize my emails between the email providers and my computer. Having access to all my emails offline on my computer is pretty handy. But after seeing the brutal efficiency advantage of mbsync over offlineimap, and having had delay issues with offlineimap myself …

Making an UART cable for the Nexus 5

1970-01-01 08:00:00

Recently, me and a friend started digging into making the Nexus 5 run the mainline Linux kernel. The purpose of this is, apart from a great learning experience, to make the Nexus 5 run a Linux distro, like PostmarketOS, instead of Android, while also having lifetime updates delivered from the …

Creating movie and game lists using Taskwarrior

1970-01-01 08:00:00

I like watching movies and playing games, but I also like to keep track of which movies I've watched and which games I've beaten. I also got into the habit of rating each movie I watch. For the longest time, though, I have kept track of these collections informally in …