Note from jme: for once, this blog post is entirely written by Gemini 3 as it did the heavy lifting for this new theme… Its prompt was: Create a new blog post that will tell the world what we did together on this theme. It is your time to shine… Today marks a special milestone for this blog. If you’re reading this, you’re already experiencing the result of an intense and creative collaboration…
Plate B — a scanned field, one cell called out One (me) might want to test PQC support to be sure that their server are ready for the imminent (< 10 years) PQC apocalyse. One might say that it is a bit too early to be scared of a not so impending doom… But why wait and who I am to judge? After all, the Y2K craze bootstraped my career…
Plate A — section blocks on a chain-dash axis You might have noticed that PQC has become a (really) hot topic in the past few weeks, and to be honest, I don’t know why—since we are years away from a “real-life” cryptographic doomsday. I quote the NIST : Researchers need to surmount many technical challenges before this can happen. Experts’ estimates range from a few years to a…
Plate D — a run of intervals, one sectioned Oh, the good old days… No real responsibilities yet, as I was a consultant, and plenty of time to play. By plenty, I mean about 10 hours a day on workdays and 20 hours during the weekend. It was the best time of my life. I played almost all the MMORPGs one can name, but mostly Dark Age of Camelot and EVE Online. On EVE Online, I’ve seen…
Plate C — nested revisions on a common axis I decided to update my Hugo theme. This includes updating deprecated template syntax, getting a bit more width for the posts, and adding a better and fancier “terminal” lookalike for the source code examples. This is tedious and brings little to no intellectual value to me. Obviously, I am neither discovering Generative AI nor Cursor, but…
Before we start: I hate PowerShell’s lack of consistency for error handling so I did not bother to handle all error since this is only a code snippet. I wanted to check how one can set and force MFA authentication right from the start. While there is no real practical use for this, it was a good exercice. Nota: All names where generated using Fake Name Generator so don’t bother sending…
I decided to trade my perfect 100% SSL Labs score with activating TLS1.3 on my website. Not that any of this matter, since this is a static blog. The good news is that AES256 is privileged over AES128 in the cipher suite order. OPENSSL TLS_AES_256_GCM_SHA384 (0x1302) ECDH secp384r1 (eq. 7680 bits RSA) TLS_CHACHA20_POLY1305_SHA256 (0x1303) ECDH secp384r1 (eq. 7680 bits RSA) TLS_AES_128_GCM_SHA256…
Accessing the RAPT’s API. If you want a direct access to RATP’s open data API, you’ll need to fill a pdf form and send it to an email address. I tried and never heard back of them. So I used https://api-ratp.pierre-grimaud.fr in order to access real time schedules. Thank-you to Pierre Grimaud for providing this really cool alternative. The documentation of the API is pretty…
TL;DR: it is not possible to have TLS1.3 with Nginx and 100% on SSL Labs because of RFC 8446. Activating TLS1.3 on Nginx. Activating TLS1.3 on Nginx is quite straightforward using the ssl_protocols directive : ssl_protocols TLSv1.3 TLSv1.2; Enters RFC 8446… RFC 8446 (The Transport Layer Security (TLS) Protocol Version 1.3) and more specificaly chapter 9.1. (Mandatory-to-Implement Cipher Suites),…
Today concluded a long road for me. Not because the route “was not droite” but because “la pente was rude”. I managed to get a 100% score on SSL Labs . It is not that difficult, but because TLS security is an always evolving subject, it is quite difficult to find up-to-date information on how to do it. Plus I wanted to switch from lighttpd to Nginx before because I wanted…
tl;dr ssh-keygen -o -a 100 is more than enough. If you look closely at (a recent) ssh-keygen —help (or even man ssh-keygen), you’ll see that ssh-keygen provide a way to strengthen your private key against brute-force attacks. When saving a new-format private key (i.e. an ed25519 key or any SSH protocol 2 key when the -o flag is set), this option specifies the number of KDF (key derivation…
Nb: This is a shameless repost of a previous blog about my vim configution. Lately, I have been using VIM extensively for python development and I came to “finally” added much needed customization to the editor. Since I’m lazy, I am using pathogen as my plugin manager. Plugin list YouCompleteMe (code completion) python_ifold (function and classe folding) syntastic (syntax…
38 days before the Paris Marathon… that’s about… 100 days too early for me to be fully ready. I blame my knee problems! While my Cardio is doing fine, my mileage is wayyyy too low for me to get a good chronometer on the 9th of April. My current target is to complete the 42km in 4 hours. I believe this is something I can achieve easily providing my knee leaves me alone.
But why? I wanted to play with MQTT and TLS and that’s about it… I decided to go with golang. Mainly because I never tried the language before and because I wanted a single binary with no dependencies and C was not even an option (I’m too old for this shit). Why not using client cert authentication? While client authentication using public key is nice, I didn’t feel it brings enough…
I’m growing more and more into Alpine Linux. It is a fast and lean Linux Distribution. In fact, this blog is running on Alpine along with Lighttpd. However, because the distro is generating very few I/O events, one should always be mindful of the entropy pool… This is especially true when the web server is only serving its pages over https… Checking the entropy pool on Linux is done through…
I finaly decided to put the correct favicon for my blog… Back in my days we had only favicon.ico and we were fine with the 16x16 resolution. Nevertheless, screens got better so I fully understand that we need more options in order to accomodate for higher resolutions. However, the favicon mess is the epitome of why we can’t have nice^H^H simple things… HTML < link rel = 'apple-touch-icon'…
Ok, comments are back. I am not going to lie, configuring Content Security Policies for disqus on lighttpd is quite annoying because of the multiple domain disqus uses for delivering their service. However since I am not paying (with money) for the service, I won’t complain too much provided the anti-spam engine is top notch.
I finally decided to move to a static generated blog. Mostly because of the “last” nodejs dependency “accident”, but mainly because constantly upgrading a software I’m barely using is not something I want to spend my time on… So stay tuned as I cutomize this new page and import old posts (unless I decide to get ride of the past blog posts just for the fun of it). edit : I finaly settled for the…