Software developer usually working on distributed systems within various (programming) languages or paradigms.

  • experienced with ecommerce systems
  • nodeJS, golang, php, python, react, rust, typescript, (?)
  • terraform, ansible, packer, jenkins
  • MySQL, PGSQL, OracleDB, MongoDB, Redis, ClickHouseDB
  • kubernetes, apache kafka, rabbitmq, grafana, prometheus, helm
  • arch linux <3, redhat
  • AWS, GCP, OCI, Azure
  • various cloud related certifications
  • yeah, that’s my cat

Implementing hybrid searching in ElasticSearch

I’ve been playing a lot lately with embeddings and semantic search implementations and strategies so I’ll present a bit my learnings - tailored around search systems already using ElasticSearch as the engine behind it. Some terms Let’s start with some introductions. What’s ElasticSearch? You can view it as a manager of Lucene instances. (open-source search engine) Each index is running under the hood a Lucene instance and through this setup you can query your data....

December 2, 2023 · Gabriel Martin

LLMs - First Major Murder

StackOverflow has published recently its latest stats about usage - and apparently, starting with the public access on ChatGPT, the service’s usage has decreased with ~50%. Everybody has rushed in saying that probably the Internet will start forgetting what SO did over this whole time, but I doubt this is the case. Actually, these stats will probably pump back as ChatGPT is not able to answer the latest tech trends and it shouldn’t - it needs new training data, traning data which is now becoming harder to fetch than it was before (see the reddit drama)....

July 31, 2023 · Gabriel Martin

Migrating a Legacy PHP App

Recently, I’ve been working on an old hobby project as I needed to rehost it somewhere else. This website serves something like 10k unique users / day and it’s completely community driven - our users interact on the website through comments, forum posts, a chat widget (self-stored) and the content they’re providing (movie subtitles). I’ll just guide you through the entire process. Initial landscape The initial architecture was pretty simple:...

March 18, 2023 · Gabriel Martin

Fixing 400 Bad Request - Cookie too large error for Nginx Ingress

In some scenarios when integrating with an Identity Provider (IdP) - Keycloak, Auth0, or any similar solution - a 400 error may occur in Nginx due to the size of the request and/or cookie (headers). To solve this issue, some additional configuration for your Nginx ingress is required. Nginx Ingress is one of the resources used in Kubernetes to receive external requests and direct them to the appropriate service in the Kubernetes cluster....

November 23, 2022 · Gabriel Martin

Remapping tilde on MacOS for a Logitech INT keyboard

Just as the title states, I had this pity situation where I bought a Logitech MX Keys Mini keyboard and tried to use it on any of my MacBooks. All cool and fancy, but the layout I could find for the external keyboard is INT and I’m used to working on US ones. And having the tilde/grave (~/`) key right next to Z is not something a programmer can really get used to....

November 18, 2022 · Gabriel Martin