MySQL

Aujourd’hui, j’ai appris que le « My » de « MySQL » n’est pas un article possessif mais une référence au prénom de la fille ainée de son créateur, Michael Widenius. « My », comme « Little My » (Petite Mu en français) dans les Moomins.

.DS_store

Suite à une conversation avec un collègue, la question « pourquoi ces fichiers tout nuls s’appellent .DS_store ? » est survenue. Et je me suis souvenu de cet article de 2006 :

En 1999, j’étais le technical lead pour le Finder de Mac OS X chez Apple. À cette époque, la base de code du Finder avait huit ans et avaient atteint sa fin de vie. Faire le moindre changement demandait d’énormes efforts d’ingénierie, et le moindre changement cassait généralement deux ou trois trucs sans rapport en apparence. Pour Mac OS X, nous avons décidé de réécrire le Finder de zéro.

Une partie du travail impliquait de séparer son interface utilisateur de ses fonctionnalités, son back-end. Le back-end du Finder énumérait les fichiers, regardait les changements dans le système de fichier, gérait les métadonnées, comprenant l’emplacement des icônes et les réglages des dossiers. En interne, ces deux composants étaient connus sous les noms de Finder_FE et Finder_BE (Front-end et back-end).

Cependant, on s’est vite rendu compte que le back-end du Finder allait être utile en dehors du Finder. Ainsi est né le plan de le rendre un jour disponible en tant qu’API publique. Vu que j’étais responsable des noms « Icon Services » et « Navigation Services », on a décidé de partir sur « Desktop Services ». (À l’époque, on envisageait de renommer le Finder en « Desktop »). D’où le nom de .DS_store, pour « Desktop Services Store ».

Lucille Bluth de la série Arrested Development. L’air dédaigneux, une tasse de café à la main.

C’est juste une page web. Combien est-ce que ça peut peser ? 10 Mo ?

Lire la suite de « C’est juste une page web. Combien est-ce que ça peut peser ? 10 Mo ? »

Les Habits neufs de l’empereur

Molly White au XOXO Festival (à partir de 9:16) :

Ces derniers temps, on dirait que le Web est juste devenu un autre outil du capitalisme débridé, alors que des entreprises massives contruisent des murs toujours plus hauts autour de leurs empires numériques, traitant les personnes qui utilisent leurs logiciels comme des ressources dont ils peuvent extraire de l’argent et des données personnelles.

Que reste-t-il pour celles et ceux parmi nous qui ont vu le Web comme une toile infinie, un outil pour atteindre celles et ceux qu’on aurait jamais pu rêvé d’atteindre auparavant, un medium qui pouvait étendre les limites de ce qui était possible dans un monde analogique ?

Si on en croit les principaux sujets de discussion autour de la tech dans le grand public, et l’invention de termes comme « techlash » pour décrire l’opinion bien plus dur envers les sociétés du numérique comparé à leurs premiers jours, je pense que c’est un ressenti assez répandu.

Ceci étant dit, est-ce que ça vous surprend si je dis que, maintenant plus que jamais, je ressens ce sentiment brûlant d’excitation de ce qui est possible ? C’est parce que ce qui est vraiment nul ces jours-ci avec le Web, ce qui nous donne du désespoir et de la colère, a tout à voir avec l’industrie qui s’est formée autour du Web, mais pas avec le Web lui-même.

Le Web est toujours juste un support sur lequel n’importe quoi peut-être construit. Plus important encore, le Web c’est les gens qui l’utilisent, pas les sociétés qui se sont établies autour. Et la grande désillusion qu’on voit en ce moment est peut-être une bonne chose. Plus que jamais, des gens ont réalisé que les rêves utopiques d’un Web qui n’apporterait que du positif et des choses merveilleuses étaient peut-être erronés. Que les sociétés du numérique n’ont peut-être pas toujours nos propres intérêts à l’esprit. Et que les slogans comme « Don’t be evil » sont plus proches du marketing que de la vérité.

Avec ce savoir vient du pouvoir. Le pouvoir de donner au Web la forme que l’on souhaite tout en se battant contre les formes dont on ne veut pas. L’industrie du numérique a un pouvoir structurel et financier, c’est sûr. Mais la seule chose qui permet ce genre de gangrène — et pour citer le grand Cory Doctorow, de « merdification » — que l’on a vu se propager à travers les plate-formes qui font désormais parties intégrantes de la vie des gens, est la main mise des dites plate-formes sur le Web. Et c’est fragile.

Mon expérience de lutte dans ce combat m’a convaincu d’à quel point nous, les gens normaux de tous les jours, avons du pouvoir. Même quand on a en face des plate-formes massives et des sociétés qui valent des milliards de dollars.

J’ai un site appelé « Web3 is Going Just Great ». Et je l’ai créé fin 2021. Et pour celles et ceux qui étaient là en 2021, l’industrie du numérique faisait ce qu’elle sait faire de mieux : « hyper » une nouvelle sous-industrie, en vendant aux gens des produits dont ils n’avaient probablement pas envie, et en leur racontant l’histoire que la blockchain va être le futur de la finance, du Web, et même de la société, et que rater le train en marche causera leur péril. L’histoire était que tout ce que vous faites serait bientôt sur la blockchain, ce qui, je crois, était censé être une promesse excitante et pas une menace.

Inutile de dire que j’avais quelques inquiétudes. Pour moi, il semblait que le vrai récit n’était pas dit. Perdue au milieu de titres décrivant des jeunes de vingt ans à bord de Lamborghini était la réalité de l’industrie : que beaucoup de personnes étaient blessées par un secteur qui semblait avoir 99 fraudes pour chaque projet qui essayait un tant soit peu de faire quelque chose de valeur. Mais qu’est-ce que je pouvais faire ? J’étais juste une ingénieure logiciel d’une vingtaine d’années, sans plate-forme, sans relations. J’ai fini par faire ce que j’aime faire : construire quelque chose de cool, principalement pour le plaisir de le faire, et j’y ai écrit ce que je voyais. J’ai codé vite fait un site web qui pouvait illustrer les désastres de cette industrie soit-disant prometteuse. Juste en postant un résumé rapide à chaque fois qu’un projet se faisait hacker ou que les fondateurs se barraient avec tout l’argent, ou que quelqu’un proposait de faire quelque chose comme mettre vos données médicales sur la blockchain. (Ils n’arrêtent pas de faire ça !) J’ai pensé que la mise en page en frise chronologique aiderait à illustrer la fréquence à laquelle tout ça arrive, et que le compteur d’argent en feu pouvait illustrer l’échelle incroyable à laquelle ceci se faisait au détriment des gens.

Je ne pensais pas que ça irait où que ce soit. Ce serait juste un petit projet amusant pour moi et les quelques amies qui ressentent la même chose à propos des « habits neufs de l’empereur » qui se joue devant nos yeux.

Alors ça c’est drôle parce que, pas plus tard que la semaine dernière, j’ai relu avec mes enfants Les Habits neufs de l’empereur. Je n’aurai jamais été capable de faire ce rapprochement. Mais c’est tellement parfait.

À chaque fois que je vois des articles de presse ou des gens en ligne s’extasier sur les crypto-monnaies, la réalité virtuelle, l’intelligence artificielle, et je ne sais quoi encore, je me pince et je me demande si je suis le seul à trouver ça complètement nul et sans intérêt.

L’objectif sous-jacent de l’IA

Lu sur Mastodon :

The underlying purpose of AI is to allow wealth to access skill while removing from skill the ability to access wealth.

Ce qui, en français, donnerait :

L’objectif sous-jacent de l’IA est de permettre aux riches d’accéder à des compétences tout en supprimant à ces dernières la capacité d’accéder à la richesse.

Utiliser un certificat SSL sur un site Jekyll en local

Sur Playorama.app, j’ai mis en place la possibilité de streamer son écran d’ordinateur vers la Playdate. J’utilise la bibliothèque pd-usb qui utilise l’API Web Serial (fonctionnalité propriétaire de Chromium, meh). Et pour que ça fonctionne, il faut impérativement être en HTTPS (même en local).

J’étais tombé il y a quelques mois sur cet article qui explique parfaitement la marche à suivre (dans mon cas, sur un site Jekyll). En résumé :

brew install mkcert
brew install nss # for firefox
mkcert -install

Puis dans le dossier du projet :

mkdir ssl/
mkcert -key-file ssl/key.pem -cert-file ssl/cert.pem "playorama.local"

Et enfin on lance Jekyll avec les arguments suivants :

bundle exec jekyll serve --ssl-key ssl/key.pem --ssl-cert ssl/cert.pem

Et ça marche.

Résoudre l’erreur « Unable to provision site » avec Local pour WordPress sur macOS

J’ai récemment découvert l’application « Local » pour facilement déployer un site WordPress en local. Mais à mon grand désarroi, l’application sur macOS sur un Mac avec un processeur Apple (M1, M2, …) déclenchait une erreur « Unable to provision site » (comme celle-ci) à la création d’un site.

La solution ? Installer Rosetta à la main en exécutant la commande suivante dans un Terminal :

softwareupdate --install-rosetta

LEGO Jurassic Park: The Unofficial Retelling

J’ai enfin vu le court-métrage animé « LEGO Jurassic Park: The Unofficial Retelling ». Bon, ça casse pas des briques (huhu), c’est très enfantin, mais j’ai quand même ri deux fois. Et surtout j’ai bien aimé le clin d’oeil à la fin avec ce personnage non nommé qui porte le même T-shirt que Spielberg sur le tournage du film.

À gauche, une photographie de Steven Spielberg sur le tournage de Jurassic Park, avec casquette, lunettes et T-shirt arborant plusieurs T-Rex sur fonds colorés. À droite, une capture d'écran du film LEGO montrant un personnage barbu avec casquette, lunettes et le même T-shirt.À gauche, une photographie de Steven Spielberg sur le tournage de Jurassic Park, avec casquette, lunettes et T-shirt arborant plusieurs T-Rex sur fonds colorés. À droite, une capture d'écran du film LEGO montrant un personnage barbu avec casquette, lunettes et le même T-shirt.

Tirer parti d’OpenType pour créer une police de coloration syntaxique

J’adore l’idée. Un des avantages non mentionné que j’y vois est que, vu qu’il s’agit simplement d’une déclaration @font-face, le fichier de police (qui fait 53 Ko) n’est pas téléchargé s’il n’est pas utilisé sur une page.

Playdate Pizza Cover

Panic sort une housse de protection pour la Playdate en forme de boîte à pizza. C’est ridicule donc parfaitement indispensable. Et le site offre une utilisation rare de border-image pour faire le cadre en damier.

La housse de protection version Pizza pour la Playdate.

Contrôles alternatifs.

Madeline Thorson (la conceptrice du jeu Celeste) a partagé sur Mastodon :

Il y a un nombre surprenant de personnes qui jouent à Celeste avec une combinaison de clavier et de manette, avec une main sur chaque, comme ça :

Schéma d'un clavier et d'une manette PS5 côte à côte. Les touches ZQSD contrôlent la direction, les boutons de la manette contrôlent le saut, le dash et l'interaction.

Ça m’a fait penser à cette technique utilisée par les personnes qui jouent à Tetris de manière compétitive jouent : le rolling. J’ai découvert ça via la formidable chaîne Youtube EGO :

Le rolling, ça consiste à utiliser ses cinq doigts pour les taper les uns à la suite des autres très vite contre l’arrière de la manette, de manière à presser la manette contre votre doigt.

À voir (à partir de 7 minutes).

Not By AI

Un badge pour signaler qu’une création a été faite sans Intelligence Artificielle. (On en est là.) D’autres alternatives ici, ou .

Au revoir Twitter.

La semaine dernière, j’ai définitivement supprimé mon compte Twitter. Je n’y ai rien posté depuis plus d’un an, et je n’y mettais quasiment plus les pieds. Les frasques du nouveau propriétaire ne me font rien regretter du tout. Je laisse derrière moi 15 116 abonnés et plus de 24 000 tweets. J’ai mis en place une archive de mes tweets sur tweets.hteumeuleu.fr grâce à Tweetback (qui tourne sous Eleventy). Je suis désormais plutôt actif sur Mastodon et j’espère vous y retrouver.

Responsive Web Design

Lu sur Mastodon :

Après toutes ces années, je viens seulement de me rendre compte que l’illustration de l’article d’Ethan Marcotte qui a donné naissance au Responsive Design est elle-même responsive.

Je… Je… Je le découvre aussi.

Installer une autre version de Ruby sur macOS.

Note à moi-même parce que sinon j’oublie à chaque fois : pour installer une autre version de Ruby sur macOS avec rvm, et éviter les erreurs du genre Error running '__rvm_make -j8':

rvm install 3.2.3 --with-openssl-dir=$(brew --prefix openssl@1.1)

Outlook 16.80 sur macOS.

Ce mois-ci, je me suis fixé comme objectif de mettre à jour Can I email avec des tests sur la dernière version de Outlook sur macOS. En effet, Microsoft uniformise les versions desktop d’Outlook (sur Windows et macOS) pour n’être plus qu’une vue web utilisant plus ou moins le même filtrage que sur Outlook.com. La bonne nouvelle, c’est que ça va enfin nous débarrasser du moteur de Word dans Outlook sur Windows. La mauvaise nouvelle, c’est que c’est une sacré régression (en terme de support HTML/CSS) pour Outlook sur macOS.

Refaire des tests sur Can I email, ça veut dire pour chacune des 272 fonctionnalités HTML/CSS actuellement testées :

  • Rouvrir le fichier de test correspondant.
  • Le copier dans Parcel, et s’envoyer un test avec.
  • Afficher l’e-mail dans le client mail et observer le résultat. Si le résultat est négatif, comprendre ce qui ne passe pas. (Est-ce que ça la propriété est simplement supprimée ? Tout le temps ou seulement pour certaines valeurs ?)
  • Reporter le résultat dans le fichier Markdown correspondant du site.

Je n’en suis pas encore à la moitié de ces tests, et c’est déjà une sacré dégringolade pour Outlook dans le classement des clients mails par support de Can I email. De la troisième position avec 236 sur 272 fonctionnalités supportées, Outlook (macOS) est passé dixième (avec un score de 189 sur 272). Et j’imagine que la chute va continuer jusqu’à se rapprocher de Outlook.com (le webmail desktop), actuellement en 24e place (avec un score de 161 sur 272).

Les petits secrets de la copie privée

J’ai enfin pris le temps de regarder cette conférence de 2019 et cette redevance, appliquée pour tout achat de matériel de stockage, est toujours aussi scandaleuse. J’ai appris dans cette vidéo que l’on pouvait demander à en être remboursé (par exemple en tant que professionnel si on n’utilise pas ses disques durs pour faire de la copie privée). Mais le parcours pour y arriver est totalement délirant. La simple création d’un compte chez Copie France requiert plein de paperasse lourdingue ou payante (Extrait de Kbis, statuts, fiche INSEE, …). Et surtout, un remboursement nécessite une facture indiquant le montant de la redevance pour copie privée payée sur l’appareil. J’ai regardé sur mes derniers achats chez la Fnac, Apple ou Backmarket, et je n’ai trouvé la mention nulle part. Et voilà comment Copie France a récolté 285 millions d’euros en 2022.

Diamond Subpixel Arrangements

Un outil pour visualiser la disposition des pixels « en diamant » (comme sur un iPhone).

Capture d'écran de l'outil montrant à gauche divers dessins en pixels et à droite la disposition des pixels rouges, verts et bleus sur un écran.

Recadrer un SVG avec Inkscape.

Note à moi-même parce que j’oublie tout le temps : pour recadrer un SVG à la taille de son contenu, dans Inkscape sous macOS, on fait sa sélection puis cmd+maj+r.

Contexte final

Cabel Sasser (le co-fondateur de chez Panic), dans un article intitulé « Fantasy Meets Reality », aborde la difficulté de concevoir des choses dans leur contexte.

Le design, c’est global. Personne ne peut avoir toute la compréhension du monde. Et cela peut conduire à des angles morts. Je pense qu’il y a de bons arguments à faire valoir à ce qu’une équipe plus diversifiée de designers autonomes travaillant ensemble pourrait détecter beaucoup plus de pièges potentiels en matière de conception dans le monde réel.

Mais honnêtement, je pense qu’en grande partie, c’est juste que certains designers sont extraordinaires pour imaginer des choses, mais pas pour imaginer des choses entourées par l’univers. Ce joli truc sur lequel vous travaillez, se trouve en fait dans une fenêtre, sur votre écran, coincée sous une barre de titre, et c’est aussi épineux que possible. Et si vous n’arriviez pas à imaginer des choses dans leur contexte final ?