Archives de l’auteur : Fab

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

Dessin de type manga: à un comptoir de gare un homme blond portant une veste de costume et une chemise à carreau saisit de ses deux mains des billets de banque
Allégorie: moi en train de payer mes billets de train suite aux nouveaux tarifs.

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.

Dessin en couleur: vue un petit village rural avec une église en son centre dans un paysage de champs verts légèrement vallonnés. Un chemin au premier plan avec trois personnes.
« Rendons-nous à Saint-Martin-la-chapelle-des-bois, où se trouve le dernier fabriquant français de noms de communes. »
  • 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

Gros plan sur des câbles électroniques noirs sur une surface également sombre. Parmi eux se trouvent de petites figurines du SWAT à tenue bleu marine et casque jaune. Équipements électroniques en fond
L’équipe a sécurisé le réseau, je répète, l’équipe a sécurisé le réseau.

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

Scène de type Pixar: un homme rieur en chemise blanche et cravate rouge est assis à une table couverte de pièces de cuivres dont certaines semble en train de tomber
Mais qu’est-ce que je vais bien pouvoir faire de tous ces centimes!

(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.

Batterie non-remplaçable = appareil jetable, n’achetez pas!

Paul Atréides (interprété par Timothée Chalamet), le personnage de Dune, tient en main un rasoir électrique
L’Épice donna à Paul Atréides la vision du futur de son rasoir: un déchet électrique.

Un appareil dont la batterie n’est pas remplaçable est à l’horizon de quelques années un déchet électronique en puissance. Refusez ce genre de pratiques et n’achetez que des appareils dont la batterie est remplaçable et facilement disponible.

Continuer la lecture

Application tardive du recours direct (L124-3): Allianz condamnée

L’assurance adverse Allianz a attendu 4 mois et le début d’une procédure judiciaire pour vouloir m’indemniser des dommages faits à mon vélo, que je ne pouvais réparer sans leur aval. Le tribunal l’a condamnée. Je recommande fortement d’éviter cette société d’assurance.

Voila ce que je retiens de ces deux litiges.

Un montage d'un marais inspiré des Marais Morts du Seigneur des anneaux au bout duquel se trouve une court de justice ressemblant à la Court suprême des États-Unis d'Amérique
« On n’obtient pas si facilement la Justice. Ses Portes Noires ne sont pas gardées que par des Orques. En ces lieux il y a un mal qui ne dort jamais. » Boromir, fils de Denethor
Continuer la lecture

Ce que je ne savais pas sur le cyclotourisme

Dessin dans le style Makoto Shinkai: un·e cycliste portant une casquette et debout avec son vélo entre les jambes sur une piste étroite encadrée de murets et rambardes. Le chemin descend la pente abrupte d'une colline. La personne semble admirer la vue sur une ville côtière en contrebas. La végétation est verte et le ciel bleu avec des nuages indiquant un temps venteux.
La grande aventure du cyclotourisme!

Voila des choses que je me suis rendu compte qu’une fois sur la route.

  • Ne pas surestimer la distance qu’on peut faire lors d’une journée, ni sous-estimer la fatigue et les douleurs qui peuvent s’accumuler au fil des jours. Je pensais au départ que si je pouvais faire sans problème 100km un jour de week-end, je pourrais faire une distance un peu plus courte (ex: 75km) chaque jour de mon trajet. Sauf que pendant un voyage:
    • On n’est plus aussi frais par la suite qu’au premier jour.
    • On peut avoir le vent de face toute la journée, voire pendant plusieurs jours, et ce n’est plus du tout le même effort.
    • On peut se tromper de route ou vouloir faire un détour.
  • Ou partir plus tard le matin. Ou prendre le temps de visiter des lieus touristiques, se baigner, ou juste s’arrêter admirer le paysage.
    • Quand je suis le nez dans le guidon, je n’arrive pas à apprécier le paysage. À 15-20 km/h, j’ai l’impression d’en profiter.
    • On est plus chargé que lors d’une sortie à la journée, donc plus lourd, et moins aérodynamique. Je me contente de 2 sacoches arrières Ortlieb Backroller Classic bien solides et étanches (je recommande!), mais certains ont aussi des sacoches avant, une tente sur le porte-bagage et/ou une remorque.
    • Les pépins physiques sont plus embêtants quand les jours d’efforts s’enchaînent. Lorsque j’atteins ma limite physique, je commence à avoir mal au genou, et enchaîner les jours avec cette douleur est pénible.
  • Prendre en compte l’état de la piste cyclable. Sur les itinéraires des Eurovelo 1 (et sa partie Vélodyssée le long de la côte Atlantique), et Eurovelo 6 (Loire et Danube), de nombreuses portions sont des chemins de terre et de gravillons. Certains courts passages sont faits de pavés. Avec des roues de VTC aux pneus quasi-lisses (ce qui est mon cas, j’ai utilisé mon vélo du quotidien), c’est peu agréable. Cela doit être l’enfer avec un vélo de route. On ne roule pas à 30km/h sur ces portions. En fait sur les portions avec des plus cailloux, je dois rouler à 15km/h max, ce qui rallonge bien le temps de trajet.
  • Être bien étanche, c’est indispensable. Rouler sous la pluie pendant des heures c’est possible si on a des sacoches étanches. Marques couramment recommandées: Ortlieb et Vaude. C’est plus cher, mais c’est solide et c’est fabriqué en Allemagne (pas par de pauvres exploités d’Asie du Sud-Est). Les Backroller Classic ont un système où la fermeture s’enroule pour être bien étanche, comme avec des sacs de sports nautiques (maintes fois on m’a demandé si je faisais de la plongée, du bateau ou du kayak 😀). Avec en plus une veste à capuche et un pantalon de pluie couvrant les chaussures, on reste au sec, c’est magique.
  • Bien vérifier minutieusement l’état du vélo bien avant le départ. Pour éviter tout problème pendant le trajet (réparer sur la route sans avoir forcément tous les bons outils et les pièces de rechanges), mieux vaut bien passer en revue le vélo au moins 1-2 semaines avant de partir (histoire d’avoir le temps d’acheter les pièces, de réparer et de tester). Les câbles ou patins de freins ou les patins sont un peu fatigués? Autant les changer avant de partir, ce sera des soucis en moins pendant les vacances.
    Quelque chose semble suspect mais n’empêche pas de bien rouler au quotidien? Mieux vaut investiguer avant le départ pour ne pas tomber sur un problème insoluble au mauvais moment. Deux exemples:
    • Une semaine avant le départ, mon axe arrière faisait un bruit de cognement. J’ai cru le régler en jouant sur le serrage. Mais après 3 jours de voyage sans problème, les symptômes sont réapparus et il s’est avéré qu’il était cassé. Si je l’avais démonté avant de partir, je l’aurais compris et je l’aurais changé.
    • La veille d’un autre départ, j’ai voulu changer mon pneu avant et impossible de détacher la roue (attache problématique). Ne voulant rien empirer à un moment critique, j’ai parié sur le fait que je pourrais regarder plus tard. Sauf que pendant le trajet, j’ai crevé à cette roue. Heureusement, un club de voile a pu me prêter une pince (pas de magasin de cycles ou de bricolage à Roscoff-même), ce qui m’a permis l’enlever l’attache et de la remplacer par une de rechange que j’avais eu la présence d’esprit d’emporter. Mais ça aurait pu être très très pénible!
  • Avoir un garde-boue. Je n’en avais pas (en fait j’ai un pauvre modèle Décathlon simple qui ne tient pas bien donc que je n’ai pas emporté). Je pensais en bricoler un sur mon porte-bagage avec un sac poubelle et de l’adhésif, mais je n’ai pas anticipé la pluie ce jour-là. Au final, le vélo était bien crade. Au final, j’ai acheté des garde-boues SKS S-Board/S-Blade démontable (et volable) facilement.
  • Avoir les outils et pièces nécessaires pour les différents déboires. Si vous avez un problème technique et que vous êtes loin de tout magasin de vélo, ça risque d’être très embêtant pour votre périple. J’avais limité mon matériel à un multi-tool, une pompe, 2 chambres à air, un pneu, des démontes-pneus, des ciseaux, des câbles de freins et de vitesses et de l’adhésif. Cela m’a suffit, mais il me faudrait aussi de quoi réparer la chaîne. J’ai croisé un cycliste du coin qui avait endommagé sa chaîne, et si j’ai un dérive-chaîne dans mon multi-tool, je n’avais pas de maillons de rechange. Heureusement un autre voyageur en avait.
    Pour la prochaine fois, je pense avant de partir m’entraîner à démonter ou réparer les différentes parties qui peuvent poser problème (ex: changer le câble de frein).
    Par contre il se peut que certains types de casse ne soient pas réparables simplement, et quand on est à distance de tout magasin de cycles je ne sais pas comment on pourrait faire. Par exemple, j’ai cassé mon axe arrière, et je n’ai dû mon salut qu’au fait que je n’étais « que  » à 6 km d’une gare SNCF ce qui m’a permis de rejoindre mon étape suivante, puis à 1h en train de Toulouse où il y avait des magasins de cycles ouverts le lundi (contrairement aux autres petites villes) et où on a pu me le changer.
  • Si on loue un vélo, emporter de quoi réparer une crevaison. Si on loue un vélo, cela n’empêche pas que la roue puisse se dégonfler ou se crever. Ça m’est arrivé. Donc si j’avais à louer à nouveau, j‘emporterais ma pompe, des démontes-pneus, un multi-tool pour enlever la roue (si ce n’est pas une attache rapide) et un kit de réparation (rustines…). Ça ne prend que peu de place. Imaginez que vous creviez à 2h de votre destination, vous serez très content d’avoir ce qu’il faut.
  • Il n’y a pas de consignes à bagages dans certains lieux touristiques (ex: la dune du Pilat). J’ai vu plusieurs fois que certains laissent leurs sacoches sur le vélo, moi je ne suis pas rassuré.
  • Il n’y a pas toujours des restos/boulangeries/snacks/supermarchés quand on en a besoin. Surtout quand on est végétarien. Il m’est arrivé de louer une chambre dans un petit bourg où le moindre resto était à 6km aller; donc au « dîner » ce soir-là: pommes et cookies. Donc mieux vaut prévoir le coup: par exemple acheter des sandwichs dans une boulangerie le matin si on n’est pas sûr de trouver pour le midi et le soir.

En tous cas, mes deux voyages le long de la côte Atlantique et le long de la Loire ont été de très bonnes expériences (et en plus c’est écolo). Je recommande.