E Ink Message frame

Transmit paper-like messages from 18000 kms away: A simple, e-ink display that receives messages from loved ones from the other side of the globe. why About 10 months ago, my sister left our country to do a WHP (Work-Holiday-Program) on the other side of the world (fun fact, this is almost true as the antipodes of France where we live is right next to New-Zealand, where my sister went). ...

May 27, 2024 · 7 min · 1469 words

A PYPI cache proxy to improve our CI workflows

what & why a bit of context At $dayjob, our backend stack is 99% python based, and deployed through containers on k8s clusters. That means that a lot of time spent in our CI is downloading and installing librairies and modules from Pypi, the Python Package Index. For the sake of data sovereignty and integrity, our CI workers are deployed on-prem, using Gitlab Runners. But due to the variety of projects, we are depending on hundreds of various libraries, ranging from fastapi/flask and their related libraries, to more esoteric ones like pysnmp, yang, scrapli, netmiko/paramiko.. ...

September 9, 2023 · 7 min · 1318 words

Exporting Apple Health Data

Example of metrics exported from Apple Health in Grafana: If you want to test the tool, check out the Github repo here what & why Having a health tracker such as an apple watch is great, but the default views in the Health app on the iPhone can be too simplistic. We can’t correlate between metrics, define a specific time range, etc.. But it’s possible to export all of the collected health data in an archive. The goal then is to parse this archive and import it in a more analysis friendly tool. I’m most familiar with the InfluxDB+Grafana stack, so that’s what I’ll be using, but the parsing tool should provide a groundwork for parsing the exported data, and could be adapted to import to other tools. ...

August 23, 2022 · 2 min · 416 words

Gatekeeper, a ban & rate limit lib for flask

Avoid bursting and brute forcing on your flask app, with RFC6585 compliance what & why Rate limiting is a powerful way to restrict the use of a given service by allowing a given rate of requests. Banning on the other hand can be used to block malicious attacks, mainly brute forcing on authentification routes. The Flask framework does not provide these functionnalities natively (which is normal, it’s a WSGI app constructor) but we can create a module to perform these features through flask’s primitives. ...

June 27, 2022 · 4 min · 766 words