Aller au contenu
OneKitly
Daniel Okonkwo

Articles de Daniel Okonkwo

Développeur front-end et rédacteur Tech · Voir le profil

· 4 min de lecture

Mo, Go, To : 1024 contre 1000, bits contre octets expliqués

Comprends clairement les unités de données : le clivage 1024 contre 1000, bits contre octets, et pourquoi un disque d'1 To s'affiche à environ 931 Go — avec des tailles réelles de fichiers et de stockage.

· 12 min de lecture

Les listes de tâches Markdown et ce qui s'affiche vraiment où

Les listes de tâches ne sont pas dans CommonMark. C'est une extension de GitHub Flavored Markdown, d'où des cases à cocher ici et des crochets littéraux là. La règle exacte du marqueur, l'effet de l'imbrication, et un tableau de ce qui est CommonMark, GFM ou ni l'un ni l'autre — vérifié sur les deux spécifications et quatre moteurs de rendu.

· 14 min de lecture

Où une ligne peut se couper : l'algorithme Unicode derrière chaque paragraphe justifié

« Couper aux espaces » échoue dans la plupart des systèmes d'écriture. UAX #14 donne à chaque caractère une classe de coupure ; nous avons cherché les nôtres dans Unicode 17.0.0 et exécuté une implémentation conforme sur espaces insécables, traits d'union conditionnels, espaces de largeur nulle, URL, japonais et thaï.

· 14 min de lecture

Convertir entre formats de liste sans perdre de données : les règles de guillemets que personne ne lit

Passer d'une liste à retours à la ligne à une liste à virgules est trivial jusqu'à ce qu'un élément contienne une virgule. Les règles de guillemets de la RFC 4180, pourquoi un champ CSV peut contenir un saut de ligne, pourquoi les tableurs européens utilisent le point-virgule, et ce qu'un élément vide fait à l'aller-retour — chaque cas exécuté et imprimé.

· 14 min de lecture

Retirer le Markdown : ce que le texte brut perd, et ce qu'une regex se trompe à faire

Un lien devient un texte dont la destination a disparu, une liste imbriquée perd sa hiérarchie, un tableau devient une file de mots. Puis la moitié technique : le markdown n'a pas de spécification unique, et un nettoyeur à base de regex abîme un nom de fichier, un signe de multiplication et l'intérieur d'un bloc de code — le tout confronté à un vrai analyseur.

· 13 min de lecture

Ce qu'un vérificateur de palindrome doit décider avant de pouvoir répondre

Casse, blancs, ponctuation et signes diacritiques : quatre politiques, six phrases réelles, et la réponse change à chaque fois. Puis la moitié la plus difficile — inverser une chaîne n'est pas défini en soi, et l'inversion par unité de code casse les émojis et détache les accents, démonstration dans Node.

· 14 min de lecture

Convertir entre PNG et JPG sans perdre l'essentiel

Les deux sens échouent de façon opposée. PNG vers JPG aplatit silencieusement la transparence sur une couleur de fond choisie par le convertisseur — nous avons obtenu du blanc avec un outil et du noir avec un autre sur le même fichier. JPG vers PNG ne récupère rien et a coûté jusqu'à 11,4 fois les octets.

· 15 min de lecture

Le filigrane : ce qu'il protège, et ce qu'il ne protège pas

Une marque visible vit dans les pixels : elle survit donc à toute copie — et dégrade l'image pour tout spectateur honnête dans le même mouvement. Mesuré : ce que coûte une marque d'angle, ce que coûte une marque en pavage, et comment chacune se compare au crédit dans les métadonnées, aux Content Credentials et au filigrane invisible.

· 14 min de lecture

Favicons : les tailles dont tu as réellement besoin en 2026

Cinq fichiers couvrent tous les consommateurs existants : l'onglet, le favori, la tuile épinglée, l'écran d'accueil Android et l'écran d'accueil iOS. Les listes de vingt fichiers sont une matrice de navigateurs morte — avec des mesures de ce qu'une icône de 16 pixels peut ou ne peut pas contenir.

· 18 min de lecture

Horodatages Unix, secondes intercalaires et le problème de 2038

Le temps Unix compte les secondes depuis 1970 en ignorant délibérément les secondes intercalaires, raison pour laquelle ce n'est pas un décompte de secondes physiques écoulées. Voici ce que ce compromis achète, ce qu'une seconde intercalaire fait au compteur, l'instant exact où un compteur 32 bits signé déborde, et le bogue du facteur 1000 qui t'expédie en 1970 ou en l'an 58589.

· 19 min de lecture

Ce qu'un minifieur peut retirer, et ce qu'il ne doit pas toucher

La minification doit préserver le sens, et l'intéressant, ce sont les espaces qui portent du sens : le combinateur de descendance, les espaces dans calc(), l'écart entre deux éléments en ligne. Mesuré ici sur de vrais fichiers, y compris ce que brotli te faisait déjà gagner.

· 18 min de lecture

Les sommes de contrôle ne sont pas des hachages : CRC-32, Adler-32 et à quoi ils servent

Une somme de contrôle attrape les accidents. Un hachage cryptographique résiste à un attaquant. Un hachage de table répartit des clés. Trois métiers différents, trois familles différentes — et voici une collision CRC-32 construite à la main en 0,11 seconde pour montrer précisément pourquoi on ne peut pas substituer l'une à l'autre.