Welcome to Bixoto's Tech Blog

This is bixoto's tech blog. Here you will find useful tips, tutorials & interesting information about tech related stuff (Python, PHP, JavaScript, Dokku, etc).

Serve localhost with HTTPS using a single command

Serving localhost with HTTPS is a common need while developping a Web application that needs resources from another host, but it’s cumbersome because of the CORS issues and the need to install self-signed certificates or disable security features in the browser. Thankfully, Pierre-Mikael Legris, a developer in Switzerland, recently released Backloop.dev: the DNS entries for … Read more

Remove the expiry date on self-hosted Gitlab personal access tokens

Back in May 2023, Gitlab made it mandatory to have an expiry date on personal access tokens. This is pretty inconvenient in some setups, and fortunately they eventually removed the requirement in Gitlab 17.4, released in September 2024. Make sure you have a version higher or equal to 17.4, then go in the admin dashboard, … Read more

How we manage configurable products in Magento

What is a configurable product? A configurable product exposes several variations of a same product according to one or more attributes. It could be a shoe with different sizes, a perfume bottle with different volumes, a pet food item with different weights or a shirt with multiple sizes and colours. In Magento back-end, it is … Read more

Exploring Svelte and Capacitor: A global reflection

In the realm of web and mobile development, it’s never easy to decide which frameworks and tools are a better fit for our projects. For the last months, I have been developing some apps with Svelte and Capacitor, and now it’s time to reflect on the journey, analyzing the outcomes, strengths, and weaknesses of this … Read more

Monitor anything with Telegraf, InfluxDB, Grafana and Python

At Bixoto we use the TIG stack to monitor our systems. “TIG” stands for “Telegraf, InfluxDB, Grafana”. Telegraf is an agent that collects metrics on your servers and sends it to InfluxDB, a database oriented for real-time data. Then, Grafana reads these data points and renders them with nice graphs and provides some alerting. Of … Read more

How does bixoto.com work?

At Bixoto we’re quite ambitious but we’re a small team so we have to make pragmatic choices for the technologies we use. For example, the website is using Magento under the hood, so we haven’t had the need to recode an e-commerce stack from the ground. Magento has its issues, but it has tons of … Read more

Install avifenc on Ubuntu 20.04 and 22.04

AVIF is a next-generation image format for the Web, that’s supported by all major browsers except IE and Edge. It has better compression than WebP, which itself is a great improvement as a replacement for JPG. As of today, the most efficient way to encode JPG images into AVIF is to use libavif’s avifenc. There are no prebuilt … Read more

Always encode your Requests payloads in Python

At Bixoto, we use a lot of different APIs to interface with suppliers and other services. Today, I was working with an XML API using requests (via api_session) and xmltodict. TL;DR: use requests.post(url, data=my_string.encode(“utf-8”)) and not requests.post(url, data=my_string).Long version below: The simplified code looked like this: This worked great until I called client.hello() with a name that contained accents, such as “Élise”. The API … Read more