Clang-format format only on save for Visual Studio

Temps de lecture: 1 minute

It took me some times to understand how to format only on save on visual studio. Here are the steps for posterity:


  1. Install extension « format on save »
  2. Disable all the automatic formating options (« Automatically format X when I type Y »)
  3. Set « ClangFormat execution » to « Run ClangFormat only for manually invoked formatting commands »

The 3rd one is the most obscure. Without it, formatting will continue to happen, randomly making your cursor jump in the middle of a sentence because formatting occured and the file changed under your feet. 😉

Sphérier 2 sur X: les tâches et les arcs

Temps de lecture: 3 minutes

Voici est une série de songes sur le thème du Sphérier, une série d’applications permettant de planifier, de réfléchir, d’observer (avec grande satisfaction), de progresser et de partager des moments de sa vie. C’est une peu l’expérience ultime de gamification. Dans un futur proche, l’écosystème Sphérier a explosé et des communautés entières utilisent des applications Sphérier dans des contextes très variés.

Dans la partie 2, nous suivrons la journée de Bé’, le jour où il débute un nouvel arc.

Lire la suite Sphérier 2 sur X: les tâches et les arcs

L’incubateur des songes: Sphérier partie 1 sur X: « La nouvelle ligue »

Temps de lecture: 2 minutes

Voici est une série de songes sur le thème du Sphérier, une série d’applications permettant de planifier, de réfléchir, d’observer (avec grande satisfaction), de progresser et de partager des moments de sa vie. C’est une peu l’expérience ultime de gamification. Dans un futur proche, l’écosystème Sphérier a explosé et des communautés entières utilisent des applications Sphérier dans des contextes très variés.

Dans la partie 1, nous suivrons la journée de Al’, le jour de la sortie d’une nouvelle ligue.

Lire la suite L’incubateur des songes: Sphérier partie 1 sur X: « La nouvelle ligue »

The wheel

Temps de lecture: 2 minutes

Let’s stop reinvent it

My hatred for Facebook and Dan Abromov is so huge,

They are still managing to bloat the web development world with PHP style frameworks, still refusing to believe that ACID RDBMS, OOP and strongly-typed languages were, are, and will always be the best way to develop robust and maintainable applications, wether it is on Chrome 817.34 or on windows 95.

Once MySQL or PostgreSQL will be better in terms of horizontal scalability (and that may already be the case) and some ORM will make RDBMS low brain accessible for 90% of devs (and that may already be the case too), MongoDB and NoSQL will gently fall into oblivion for 90% of devs, who are not working with the 50X engineers team that is managing the Data Lake of Facebook (0.001% of developers on earth).

Do you see where I’m going ?

Lire la suite The wheel

Oh my Grod!

Temps de lecture: 1 minute

La Scandinavie: La nature sauvage, les longs hivers et son art de vivre « hygge » permettant de survivre a tout ça. Lors d’un weekend à Copenhague, j’ai découvert une chaîne de café remettant au goût du jour un plat local ancestral: le Grod (gruaux).

Le plat parfait pour les petites et grosses faims, salé ou sucré, en solo ou sur un buffet de brunch où chaque convive peut « construire » son propre bol. L’idée toute simple se décline au gré des saisons et des envies. La base de bouillie d’avoine est agrémentée de fruits, noix, produits laitiers ou confiture en tout genre.

Alors plutôt qu’une recette exhaustive, voici une liste de suggestion d’accompagnements tirées de mes expérimentations en cuisine.

Lire la suite Oh my Grod!

Ledger cone Android feature request

Temps de lecture: 2 minutes

Twice last year I tried to do plain text accounting. And I failed to do so because it requires using the computer regularly to sort expenses that happened during the week. « Cone » is an Android app that enables you to all entries on the go. Then a computer is only needed for analysis.

Earlier on the irc freenode#plaintextaccounting salon, I had the chance to talk with the developer of « Cone » and I had a feeling that I could contribute some ideas on how to make the data entry faster.

Lire la suite Ledger cone Android feature request

One day one track (2019)

Temps de lecture: 2 minutes

Hello les amis,

1er avril 2019: Après quelques mois d’inactivité me revoici avec un nouveau projet: produire une piste par jour pendant le mois d’avril. L’objectif étant de se faire violence en ne revenant pas sur le travail de la veille et de recommencer à nouveau depuis le début. ça sera l’occasion de pratiquer le solo sur push2, ainsi que la composition spontannée, en opposition à mon habitude où je retravaille ad nauseum les chansons déjà composées

4 mai 2019: ça y est, le mois est terminé, voici le module soundcloud. On se retrouve plus loin pour un retour d’expérience 🙂

Setlist :

Lire la suite One day one track (2019)

Recette de nettoyant ménager de Toadette974

Temps de lecture: 1 minute

Hello hello! Aujourd’hui, Toadette974 nous présente sa recette de nettoyant multisurface.

Dans une bouteille en plastique de 1.5L, mélanger 75ml de vinaigre blanc, compléter d’eau, une goutte de liquide vaisselle pour le côté moussant (ça ne sert à rien mais c’est joli), et 10 à 15 gouttes l’huile essentielles pour masquer l’odeur de vinaigre blanc.

Ubuntu 16 bugfix clavier désactivé [expert]

Temps de lecture: 1 minute

Grande mésaventure l’année dernière, mon clavier ne fonctionnait plus sous Ubuntu 16, je pouvais me connecter à ma session avec le clavier visuel uniquement. Après moulte péripéties, j’ai réussi à réparer tout ça en deux étapes.

Lire la suite Ubuntu 16 bugfix clavier désactivé [expert]

Smeal.fr

Temps de lecture: 1 minute

Hello,

Ce mois ci j’ai essayé, après avoir longtemps pensé que jamais je n’en mangerai, le repas en poudre. Le concept est simple : un gros sac de poudre que l’on dose dans un shaker adapté, on complète d’eau, on mélange, on boit, et hop ! Ça fait un repas complet et équilibré ! J’en ai donc pris tous les jours de la semaine à la place de mon cher petit déjeuner.

Lire la suite Smeal.fr

Mojito

Temps de lecture: 1 minute

Dans un petit verre

  1. Une demi cuillère à café de miel (si possible d eucalyptus)
  2. Un quart de citron vert pressé (ajouter les morceaux de pulpe qui sortent de la presse)
  3. 1 cuillère à café de sucre de canne
  4. Ajouter la menthe, bien touiller pour dissoudre le miel et travailler la menthe
  5. Un peu moins de 2 grandes cuillères de sucre de canne
  6. 3 grandes cuillères de rhum blanc (4 pour la version corsée)
  7. 1 ou 2 glaçons
  8. Compléter d’eau gazeuse au raz du verre
  9. Ajouter une framboise pour le côté chic (manquant sur la photo)

Oeufs au lait

Temps de lecture: 1 minute
  • 1l Lait entier
  • 5 cuillère à soupe de sucre
  • 5 œufs

Battre les œufs en omelette, faire tiédir le lait et y faire fondre le sucre, enfourner une demi heure au bain marie à 180 degrés.

L’astuce de tata Isabelle : « achetez une poule: avec des œufs frais c’est bien meilleur 😉

Hack n°1 – Votre attention vaut de l’or

Temps de lecture: 2 minutes

Oyez ! Oyez !

Si vous lisez cette article, j’ai la chance d’avoir votre attention !

Notre temps d’attention est une ressource précieuse que nous avons tendance à sous-estimer, c’est une ressource limitée dans le temps et que nous ne pouvons ni stocker ni récupérer.

Les GAFA le savent mais ne vous le disent pas : votre attention vaut de l’or.

Rappelons que Facebook et Google font plus de 80% de leur chiffre d’affaire uniquement grâce à la publicité.

Lire la suite Hack n°1 – Votre attention vaut de l’or

Tutoriel migrer playlists itunes vers mpd [niveau confirmé]

Temps de lecture: 1 minute

Lorsque j’ai quitté le monde Apple, c’est avec regret que je pensais avoir perdu mes playlists iTunes. Comme toujours avec open source, il y a moyen de bricoler. J’ai eu beaucoup de mal a importer mes playlists itunes dans mpd. Je ne précise ici que les étapes qui ne sont pas disponibles sur le net. Si vous voulez plus d’information sur le lecteur/serveur mpd, linuxfr a une très bonne introduction sur ce sujet. Voici comment j’ai réussi :

Lire la suite Tutoriel migrer playlists itunes vers mpd [niveau confirmé]

Carry Poulet avec lentilles + rougail tomate

Temps de lecture: 2 minutes

Recette originaire de l’île de la Réunion, adaptée pour être cuisinée avec des ingrédients de la métropole. Plus c’est confit, meilleur c’est, le cuisiner l’après midi pour le dîner par exemple. Mais on peut également le manger de suite 😉

Lire la suite Carry Poulet avec lentilles + rougail tomate

Crèpes à la farine de sarrasin

Temps de lecture: 1 minute

Hello, cette recette existe en beaucoup de variantes, avec ou sans temps de repos, œuf, ou lait. En voici une très simple et rapide. J’apprécie particulièrement de la préparer à l’improviste avec les amis car cela donne à tout le monde l’occasion de confectionner sa propre crèpe sur mesure.

Les crèpes cuites se conservent plusieurs jours au réfrigérateur emballées dans une feuille plastique avec un petit essuie-tout à l’intérieur pour absorber un peu d’humidité. La pâte se garde un ou deux jours au frais également.

Ingrédients :

  • 50 cl de lait
  • 30 cl d’eau
  • 300 g de farine de sarrasin
  • 2 oeufs
  • 1 pincée de sel

Photo : une magnifique jambon œuf fromage

Quelques exemples de garniture :

  • Jambon œuf fromage
  • Saumon épinard

Tutoriel de configuration pour Taskwarrior C2 Android

Temps de lecture: 2 minutes

J’utilise taskwarrior au quotidien. C’est un excellent outil de gestion de tâches en ligne de commandes. Pour synchroniser mes tâches entre les ordinateurs, j’utilise FreeCinc. Il existe un client Android sobrement intitulé Taskwarrior C2 qui est bien fait, mais difficile à configurer. Je vais vous guider de la création de compte à la synchronisation.

Lire la suite Tutoriel de configuration pour Taskwarrior C2 Android

L’incubateur des songes

Temps de lecture: 2 minutes

Une idée sans exécution est un songe

J’ai beaucoup d’idées, mais une idée ne vaut que si elle est pas réalisée. Alors lorsque me vient une idée que je ne peux pas immédiatement réaliser, je la consigne dans un fichier intitulé « un jour, peut être.txt« . Régulièrement, je constate que peu, voir aucune idée qui y est listée n’a été réalisée depuis la dernière fois que je l’ai vue. Parce que la vraie vie, parce que le travail, parce que la fatigue. Parce que. Et ça m’énerve, et ça me lasse.

Ce midi j’ai déjeuné avec Martin, un ami de l’Université, et avec nostalgie, je me remémorait les années d’or où les projets associatifs pleuvaient par dizaine et avançaient au gré du semestre de la création à la réalisation.

Martin me fit cependant remarquer deux choses :
– on idéalise le temps de l’Université: en comparaison du temps que l’on y a passé; on a accompli bien moins que ce dont on se souvient.
– on est peu objectif du temps présent : en comparaison du temps que l’on y passe; on réalise beaucoup plus que ce que l’on pense.

Ces deux effets me rappellent un adage en rapport avec les réseaux sociaux qui dit : « ne compare pas ton toi réel avec les autres numériques ». (aparté : sur les réseaux sociaux, chacun publie une version édulcorée de sa vie, mais lorsque l’on consulte le profil des autres, on compare sa vie authentique et réelle à une version édulcorée de la vie des autres, comparaison qui génère stress et anxiété)

D’une certaine manière, cela vaut également pour notre envie d’avancer et de s’accomplir. Contrairement aux réseaux sociaux dont les plus ascètes se privent totalement, cette envie d’avancer gagnerait à être mis en face de la réalité: toutes ces idées que l’on aimerait avoir fait ne sont pas celles que l’on aimerait faire aujourd’hui. Parce que la vraie vie, parce que le travail, parce que la fatigue. Parce que.

De cette discussion, je tire donc deux actions. La première est de continuer à écrire. En particulier pour ces idées qui ne peuvent pas être réalisées aujourd’hui, écrire permettra de clarifier et préciser. Ce sera un moyen d’éviter d’y réfléchir en continu, et cela intéressera (voir inspirera !) peut être quelqu’un-une, ou mon moi du futur.

La seconde s’inspire d’une discussion avec ma chère sœur. Suivant les conseils qu’elle avait lus dans un livre, elle m’invitait chaque soir à faire le point sur ma journée, et me forcer à lui trouver 3 moments agréables qui se sont déroulés dans cette journée. J’ai donc installé une application « Habitude » sur mon téléphone qui me rappelle chaque soir de repenser à la journée passée.

À la longue, je verrai bien si cela suffit. Le fait que ces perspectives soient actionnables me fait déjà beaucoup de bien. C’est déjà ça. 🙂

Edit : l’article a maintenant le titre plus positif « incubateur des songes » plutôt que « deuil des songes »

Types de données répliquées convergentes et commutatives

Temps de lecture: 2 minutes

TL;DR

Une thèse d’informatique traite des types de données permettant de créer des applications distribuées dont les données convergent sans synchronisation à priori. J’ai traduit et vulgarisé ce papier en deux articles.

Lire la suite Types de données répliquées convergentes et commutatives

Types de données répliquées convergentes et commutatives – Partie 2 : Exemples Pratiques

Temps de lecture: 8 minutes

«La cohérence à terme vise à assurer que les répliques d’un objet partagé modifiable convergent sans synchronisation à priori.»

Ce sujet est composé de deux articles : la première partie est théorique. Elle définit les propriétés mathématiques que doivent respecter les types de données répliqués convergentes et commutatives.

La seconde partie de l’article est un portfolio d’exemples pratiques. Y sont présentés les différents types de base et d’autres types plus élaborés.

Partie 2 : Exemples pratiques


Lire la suite Types de données répliquées convergentes et commutatives – Partie 2 : Exemples Pratiques

Types de données répliquées convergentes et commutatives – Partie 1 : Théorie

Temps de lecture: 4 minutes

«La cohérence à terme vise à assurer que les répliques d’un objet partagé modifiable convergent sans synchronisation à priori.»

Ce sujet est composé de deux articles (hors introduction) : une exploration théorique de ce qu’est un type de données répliquées convergent et commutatif. Cette première partie définit les propriétés mathématiques que doivent respecter ces types de données.

La seconde partie de l’article est un portfolio d’exemples pratiques.

Partie 1 : Modèle théorique


TL;DR

Partons du principe que le réseau distribue à la longue les opérations de mises à jour entre tous les nœuds. Les nœuds sont de confiance et peuvent être déconnectés et reconnectés. Les nœuds continuent à opérer pendant les instants de déconnexion.

Plusieurs contraintes sur les opérations possibles sur les objet de ces nœuds garantissent la cohérence à terme des répliques de cet objet partagé sans synchronisation, ni consensus, à priori.

En basant le type de données sur l’état, ces contraintes sont :

  • Associativité : fusion(x, fusion(y,z)) = fusion(fusion(x,y), z)
  • Commutativité : fusion(x,y) = fusion(y,x)
  • Idempotence : fusion(x,x) = x

En basant le type de données sur l’opération, ces contraintes sont :

  • Associativité : op(x, op(y,z)) = op(op(x,y), z)
  • Commutativité : op(x,y) = op(y,x)

Lire la suite Types de données répliquées convergentes et commutatives – Partie 1 : Théorie

Logiciels open source cross platform

Temps de lecture: 1 minute

Dans ma quête du système le plus versatile possible, j’ai accumulé une liste de logiciels qui sauvegardent si possible en clair leur configuration. Cela permet d’avoir une grosse Dropbox contenant tout mon contenu, et de déployer ces applications ad-hoc sans avoir à les configurer particulièrement.

  • Photo : digikam
  • Musique : mpd + cantata + beets
  • Livres : calibre
  • Gestion de tâches : taskwarrior
  • Edition d’images : krita

Edition 2017_12_14 : ajout édition image
Edition 2018_06_07 : ajout musique beets.io

Temps de lecture: 1 minute

« Il y a deux choses très difficiles en informatique: l’invalidation du cache, et nommer des objets » Phil Karlton

« Mal nommer un objet, c’est ajouter au malheur de ce monde » Albert Camus

Je pense avoir trouvé la cause du malheur de ce monde. Peut-on l’appeler le Karlmus ?

eureka