Matias Pan

A small corner of the internet where I write about stuff 🐶⛰️🧑‍💻

How services are provisioned, deployed and operated at Lemon Cash

Lemon Cash is a crypto startup based in Argentina that operates digital wallets, card payments and more. In this blog post I describe how we implemented a solution for provisioning, deploying and operating services that empowers developers to ship more quickly. This solution is not a fully fledged platform but it provides similar benefits by standing on top of strongly defined concepts and conventions. What we implemented only makes sense in the context in which the company was in, so I will start by explaining what that context was....

October 2, 2022 · 14 min · Me

Fast JSON parsing in Go for OpenRTB

The code used for this test can be found here. TL;DR: when looking into overall performance and usability, json-iter is the clear winner. It gives roughly a 4x improvement over encoding/json and 1.2x over the second most performant option. It is also extremely easy to use. You simply need to import it, define a global variable (that you can call json to make it even easier) and then use it like you would use encoding/json....

November 22, 2020 · 9 min · Me

Writing a face detection function for OpenFaaS

There is a new term in town that has been making its way to all of us for a couple of years now: Serverless. When I first heard this I was kind of confused as to what it meant. Everybody seemed to have an opinion about it but there were no real answers. The following definition from serverless-stack helped me clarify a bit: Serverless computing (or serverless for short), is an execution model where the cloud provider is responsible for executing a piece of code by dynamically allocating the resources....

March 16, 2019 · 5 min · Me

Tracking color objects with GoCV

Disclaimer: this blog post is just a port of Adrian’s tutorial at pyimagesearch where he shows how to track a ball using Python and OpenCV. I only changed a few things here and there and rewrote it using Go and GoCV. So all the credit should go to him I always prefer to start by showing what you’ll get if you stick to the end, so here it goes: Hooked? Awesome....

October 19, 2018 · 10 min · Me

Motion tracking turret with Gobot and GoCV - Part 1

The title says it, motion tracking turret using only Go, ready to have some func? This blog post will be divided into three main parts: Motion detection with GoCV, Controlling servo motors with Gobot and Putting it all together. In the first part, we build a lightweight motion detection algorithm that can run on low-power devices such as the RPi. In the second part we will show how to control servo motors with Gobot from the Raspberry Pi and in the last part we’ll explain how to go from detecting an object on an image to telling exactly the angles in which the servos need to move in order to track it....

October 18, 2018 · 12 min · Me

Deploying Gogs to a DigitalOcean Kubernetes cluster

In this post I will show step by step how to create a Kubernetes cluster on DigitalOcean and then deploy Gogs to the cluster using a set of tools that automate all this. Creating the Cluster Choosing the Cloud Provider I chose DigitalOcean as the cloud provider since it’s the cheapest I could find and it has worked really well for me in the past, plus I was already familiar with a few of their products....

September 16, 2018 · 7 min · Me