Archives de l’auteur : Fab

Corsair: repas végétarien à +15€, prix racoleurs

Mauvaise expérience client sur le site de la compagnie aérienne Corsair.

Stupéfaction: avec la compagnie aérienne Corsair, il faut payer 15€ de supplément pour un repas végétarien/végétalien (donc 30€ aller-retour). Ce qui n’est pas le cas avec Air France. Les autres repas spéciaux (hindou, léger en sel, sans gluten…) sont sans surcoût (apparemment ils ne l’étaient pas il y a quelques années). Un repas végétalien, par nature, devrait coûter moins à produire. S’agit-il de la répercussion de coûts logistiques? De se rattraper sur les « options » (comme les bagages) après avoir appâté avec un prix de base réduit? De faire payer plus les végétariens qu’on suppose avoir un pouvoir d’achat plus important?

Comme j’imagine qu’il s’agit d’un repas de qualité industrielle (type cafétéria) et que ça me semble trop cher, autant emporter un sandwich. Mais dans ce cas, je crains que le repas « de base » en surplus risque être détruit.

Je veux privilégier un vol direct pour éviter de traverser la France quatre fois pour rien. Sur la page de recherche, les prix et le statut « vol direct » sont affichés.

Mais il s’avère qu’il s’agit du prix le moins cher du jour. Et le moins cher n’est pas le vol direct, mais la combinaison TGV+vol depuis Orly. Après cela il faut rajouter 2 x 50€ pour un bagage en soute, plus les 30€ de repas végétarien. Le trajet vient de prendre 47% de plus que ce que je pouvais espérer.

Solved: Thomson TG784n modem-router stopped resolving host names with LAN IPs

The ADSL offer of my ISP OVH includes lending an antiquated TG784n. For the local machines that registers to its DHCP, it gives its own IP (192.168.1.254) as DNS server, and recently this DNS stopped answering (=> timeout) to requests for domain names whose associated IP is a private IP (192.168.x.y, 10.x.y.z). The DNS servers of my ISP resolved them correctly.

Resolution: I don’t know the root cause, by I could solve it this way

  • Telnet on the router: telnet 192.168.1.254
  • Enter your router login/password if any.
  • Enter the command: dns server config filter=disabled
  • Note that this command did not solve the issue: dns server config WANDownSpoofing=disabled

When the filtering of these requests is done, their count can be observed with this command:

{Administrator}=>dns server debug stats
[…bla bla bla…]
Spurious answers                 :       189

Fairphone 4, premières impressions: trop gros, techniquement moyen mais presque sans concurrent*

Un téléphone plus éthique?

Acheter un téléphone est quasiment toujours synonyme de conditions de production (humaines comme environnementales) désastreuses. Des conditions que l’on n’accepterait pas pour soi ou près de chez soi. À ma connaissance, les alternatives sont maigres. Le plus connu est sûrement Fairphone. Il y a peut-être aussi le Librem 5 de Purism dans sa version fabriquée aux États-Unis (2000$ !), et qui tourne sur un OS spécifique (basé sur un Linux traditionnel adapté).

Connecteur USB-C usé, réparation difficile, adieu Galaxy A5

Flanqué d’une honteuse flemme écocide, j’ai renoncé à garder plus longtemps mon Galaxy A5 2017. Un seul de mes câbles USB-C pouvait encore le charger (à vitesse lente, après plusieurs tentatives de branchement, sur une seule face). Il m’aurait fallu remplacer le connecteur USB, situé sur la carte-mère. Une procédure jugée comme difficile par les guides de réparation. Elle demande de jouer du fer à souder sur des connections minuscules. D’où l’intérêt que le téléphone soit conçu pour être plus réparable.

Je me suis donc tourné vers un Fairphone 4.

Continuer la lecture

Microbenchmark: Java (Sprint Boot) memory hungry compared to Rust (Actix-web)

I ran two micro-benchmarks comparing web service endpoints implemented in Java (Sprint Boot and Spark) and Rust/Actix-web. In summary, performance were equal or not that different, but memory usage was extremely higher in Java. (disclaimer: micro-benchmarks don’t reflect more complex applications, the ease to face various specific cases, to find developers, to adapt the current infrastructure and dev ecosystem…).

Micro-benchmark 1: receive a JSON and return a subset

An overly simplistic benchmark: it does almost no computation excepted deserializing and serializing a JSON.

Java version performed between 0% and 25% slower (according to the number of concurrent calls, the more the better). But the memory consumption was 5Mo for Rust and larger than 300Mo for Java!

Micro-benchmark 2: query a Postgres DB to return the reading of a kanji

The service takes a kanji character (Japanese character of Chinese origin) as a query parameter, search in a Postgres DB all the readings associated to this kanji and return them as a JSON.

Both Java and Rust version had the same performance, the Rust one being less stable according to Apache Bench. But in term of memory… 10Mo for Rust vs 160-190 (Spark) and 258-370Mo (Spring) for Java.

If you are running an infrastructure based on Java « micro »-services, that will make quite an overhead on your hosting bill.

Train et région PACA: +60% pour les télétravailleurs

La région « Sud » (un nom aussi approprié qu’« Amérique » pour désigner les États-Unis) doit avoir besoin d’argent. La carte « Zou 50-75 » (30€ par an) a pris fin. Elle permettait d’acheter des billets par 10 à -75% (par rapport au plein tarif) pour un trajet prédéfini (maison-travail pour la plupart), d’avoir -50% sur les autres trajets et pour des accompagnants. Maintenant, pour 2 jours par semaine, il n’y a plus qu’une offre « Zou! Mensuel Flex », avec seulement 55% (10 trajets dans le mois) ou 65% (20 trajets) de réduction, ce qui représente dans mon cas une augmentation de 40% (sans compter l’argent auparavant économisé pour des ballades du week-end).

Les noms de communes les plus fréquents en France

En partant du jeu de données ouvert des listes de codes postaux, j’ai réuni la liste des noms de communes les plus fréquents en France:

  • 12 communes: Sainte-Colombe
  • 11 communes: Saint-Sauveur
  • 10 communes: Saint-Aubin, Beaulieu
  • 9 communes: Saint-Rémy, Saint-Pierre, Saint-Paul, Saint-Michel, Saint-Marcel, Sainte-Marie, Le Pin
  • 8 communes: Beaumont, Saint-Christophe, Saint-Clément, Saint-Georges, Saint-Hilaire, Saint-Hippolyte, Saint-Loup, Saint-Médard, Verrières

Les mots/noms les plus fréquents (en excluant les articles, prépositions…): Saint (4106), Sainte(361), Martin (257), bois (218), Pierre (180), chapelle (179), Jean (171), val (127), Germain (120), Villers (109), mer (106), mont (102), ville (96), château (94), Julien (88), grand (88), pont (87), Laurent (87), Villeneuve (85), Georges (84), Seine (82), Loire (80), Hilaire (77), André (75), Fontaine (74), Mesnil (73), Neuville (71), Aubin (70).

Un VPN sur odroid M1 avec Wireguard

J’ai configuré un serveur de VPN Wireguard sur mon Odroid M1 (alternative du Raspberry Pi). Cela me permet me connecter à Internet avec mon téléphone de manière sécurisée et confidentielle quand je suis sur un Wi-Fi auquel je n’ai pas confiance. Voici la configuration (j’espère ne pas avoir oublié d’étape).

Continuer la lecture

Odroid M1, premières impressions: pratique, SSD rapide mais CPU lent

J’ai finalement acheté un Odroid M1, vu que le Raspberry 4 (que j’aurais préféré) n’est pas prêt d’être dispo. Mes premières impressions.

  • Une installation basique d’Ubuntu est très simple, juste en mettant un SSD M2, avec une connexion Internet par Ethernet, un écran et un clavier.
  • Petitboot, le gestionnaire de boot, n’est pas mature (ne sauve pas certains réglages).
  • Les performances CPU sont très décevantes, de l’ordre de mon Odroid X2 vieux de 9 ans.
  • Les performances disques avec SSD M2 sont très bonnes. En linéaire, 700Mo/s en lecture, 200Mo/s en écriture avec un simple Fox Spirit PM18 M.2 2280 (marque LDLC). Il y a 9 ans, la puce eMMC de mon Odroid X2 donnait 47Mo/s et 30Mo/s.
  • L’OS officiellement supporté est Ubuntu 2020.04. La version 2022.04 a des limitations de support matériel, notamment pas d’affichage graphique (bref, on ne peut pas l’utiliser en ordi de bureau).
  • Mon vieux modem-routeur Thomson TG784n a un comportement bizarre: je ne peux pas lui donner un bail DHCP illimité. En DHCP le transfert de trafic (ex: de serveur HTTP) cesse de fonctionner au redémarrage suivant quand il obtient une nouvelle IP. J’ai dû mettre une IP statique (et des passerelles et DNS en dur).
Continuer la lecture

Rémunération des parts sociales du Crédit Coopératif

(préambule: s’agissant de placements financiers, je n’ai pas d’expertise particulière, je ne garantie pas que les informations qui suivent soient exhaustives, et n’assume aucune responsabilité sur les pertes que vous pourriez faire)

Cette banque propose d’acheter ses parts sociales. La page consacrée liste des risques, notamment: rémunération non-garantie, risque d’illiquidité (potentielle impossibilité de revendre ses parts), risque de perte de valeur des parts, responsabilité du détenteur vis-à-vis des pertes jusqu’à 5 ans après revente…

J’ai eu du mal à trouver quelle avait été la rémunération (imposable!) des parts « P » (pour les particuliers) par le passé, pour le comparer à l’inflation. Je n’ai pas trouvé directement sur le site du Crédit coopératif, mais en cherchant sur Duckduckgo les pdf de leur site:

  • 2021: 0.5%, 2020: 0% (source, page 44)
  • 2019: 1.15% (source, page 22)
  • 2018: 1.35%, 2017: 1.35% (source: page 59)

Je suis tombé sur ce billet de blog de 2012 où l’auteur est très critique sur le principe des parts sociales de banque dans un but de profit (illiquidité, risques…). Pour lui, c’est plus de l’ordre de l’acte militant.