Spring for Articles 2017

May 2017

This month, I’m going to be writing about a few topics related to what I’ve been working lately. Some of those can become very long so that I will try to break them into small series.

In the first article, I will describe some challenges that I have on my team today. Being a tech leader of a group of very smart engineers, all of them having different opinions about how to solve a complex problem, is definitely not an easy task. Keeping everyone aligned, in a democratic quorum, requires a lot of grooming and synchronization. I will try to illustrate a proposal of how to handle such scenarios using basic vector algebra.

Next, how to build real-time distributed collaborative editors. I would like to share some of the concepts that I’m experimenting with my research project. These are no doubt absolutely speculative. This is going to be a series of articles about exploring CRDT data structures, parallel processing, eventual-consistence, and peer-to-peer. It will be fun!

To finish, I’ve decided to learn how to program in Rust. The approach will be basically to start selecting a few projects that I would like to rewrite, just for the sake of learning. I always wanted to study in more details some of the storage engines in key-value databases like LevelDB and BoltDB.

Note: I guess playing with real projects it’s the only way to keep me invested on practicing algorithms, the same for papers. Maybe that’s why I’m a huge procrastinator of things like studying for coding interviews. Why on earth do people keep asking candidates to find the longest sequence of characters in a string?

I hope you like it. See you soon.