Welcome to my blog

Hi! I’m a software engineer with interest in distributed systems. I’m currently working with Elixir and Erlang. You will find content here mostly regarding Elixir and Security.

Vehicle cluster simulation

Disclaimer: I don’t have a degree in electronic engineering. My knowledge comes from reading and experimenting. You should do your own research before trying to replicate my work. The problem Old vehicles start to have issues as they age, and a common one with Nissan 200SX (S13) (240SX in America and 180SX in Japan) is the cluster that stops working, either the speedometer (more common) or the tachometer (engine RPM). The issue with the speedometer is the needle that either stops working or jumps to the other end of the scale (240+ km/h). This is associated with broken solder joints (mainly X1, X2, Y1, Y2) in the speedometer PCB, and usually a reflow (resoldering) is enough to fix. ...

September 28, 2025 · 7 min

Postgres - I can't replicate a slow query

In one of my personal projects I’ve implemented a GenServer to store slow queries. One of these queries was returning 17+s seconds to return a result, so I decided to investigate the reason. For the context, I’m using a Postgres database and use PgAdmin as UI to test some queries. The first step was to run the query on PgAdmin, but got a response immediately. Shouldn’t this query take 17+ seconds? ...

September 8, 2025 · 4 min

Bypass WAF

Intro The people that creates or uses crawlers to fetch information from a web page, know that you can lose access if the website owner add a WAF (Web Application Firewall) to the web page. This will certainly make your life more difficult. Some examples of WAF are: CloudFlare WAF Imperva Cloud WAF AWS/Azure WAF How it work? https://pt-corp.storage.yandexcloud.net/upload/corporate/ww-en/download/PT-devteev-CC-WAF-ENG.pdf Normally sits between the client and the server. Monitor and filters HTTP traffic between server and clients. Contains complex rules to detect malicious traffic. SQL Injections; XSS; TOR; Denial of Service (DoS), etc. Blocks malicious traffic. Story In one of my side projects I maintain some crawlers. Recently one stopped working after the website changed, but that wasn’t the only reason for the crawler to stop working, they also added a WAF to it. ...

September 1, 2025 · 2 min

Jump the TSA queue at the airport

On a recent trip to the United States, I noticed there is a way to skip the TSA queue waiting for clearing immigration going out of the country, so I decided to share it here. But first I want to tell you how I ended up finding it. I arrived at the airport and went to the TSA queue for my designated flight gate. Waited until it was my time to go through with my passport and online boarding pass. While my friend went without any issues, I didn’t have the same result. The TSA officer told me to go back to the airline check-in counter and ask them to reprint my boarding ticket. He also gave me this little paper. ...

February 13, 2024 · 3 min

Elixir code coverage with partition test

With the release of Elixir 1.10, the --partition option was added to the mix test to be able to split our test suit in runners. For this use case, I’ve used ex_coveralls to generate the coverage report. To get the coverage for our test suite we need to export the .coverdata files for each runner, using --export-coverage option that is available since version 0.15.2 When running with partitions you need to define MIX_TEST_PARTITION environment variable with a value between 1 and 4. ...

May 5, 2023 · 3 min

Bots and Crawlers — The automation of information gathering

Nowadays, with the fast pacing appearance of services on the Internet, we are faced constantly with new challenges. More commonly we are seeing new types of attacks to companies that hold customer information. As today, this is an asset that keeps increasing in value. In this article I will introduce you to my view and experience of gathering information since my early days of programming up until now, how it evolved, some challenges I’ve been faced with, and my view of the future. ...

December 11, 2019 · 16 min

Phoenix with image upload to S3 in an API: Implementation and testing

Here it is, another small article about the implementation of a new functionality in the API service we are building using Elixir and Phoenix. Implementation We need to implement a way to upload user images to the cloud (S3 in this case) so after some research I found this article that explains in a very good way the basic code on how to implement it. Arc is a very good dependency to handle image upload either for local or for S3 storage. ...

May 2, 2017 · 6 min