Commit 81f23ac4 authored by Cyrille Chopelet's avatar Cyrille Chopelet
Browse files

[References] Make references available for previous blog posts

parent 1605780f
......@@ -10,6 +10,31 @@ description: |-
categories: [ software-creation ]
tags: [ langue-francaise ]
keywords: [ numérique, digital, étymologie ]
references:
- id: wiktionnaire
name: Wiktionnaire
url: https://fr.wiktionary.org
lang: fr
- id: daf
name: Dictionnaire de l'Académie Française
url: https://www.dictionnaire-academie.fr
lang: fr
- id: tlfi
name: Trésor de la Langue Française informatisé (TLFi)
url: https://www.cnrtl.fr/definition/
lang: fr
- id: wiktionary
name: Wiktionary
url: https://en.wiktionary.org
lang: en
- id: wiki-montre-numerique
name: Montre numérique
title: true
url: https://fr.wikipedia.org/wiki/Montre_num%C3%A9rique
lang: fr
author:
name: Wikipédia
---
Ceux qui me connaissent le savent : je peux être assez tatillon sur la langue française.
......@@ -48,7 +73,7 @@ Le [_Dictionnaire de l'Académie française_][daf-numerique] (DAF[^daf]) et le [
> <cite><a href="http://www.culture.fr/franceterme/terme/INFO174">FranceTerme</a></cite>
L'adjectif est tiré presque directement du latin _numerus_, qui signifie « nombre ».
Ce nom est d'ailleurs [issu de la même racine](https://www.dictionnaire-academie.fr/article/A9N0548 « Nombre »).
Ce nom est d'ailleurs [issu de la même racine](https://www.dictionnaire-academie.fr/article/A9N0548 "Nombre").
### « Digital »
......@@ -70,7 +95,7 @@ Les deux dictionnaires indiquent dans ce sens un emprunt à l'anglais au <span c
### « _Digital_ » (en anglais dans le texte)
Je connais moins les dictionnaires anglais de référence disponibles gratuitement et vais donc m'appuyer sur le simple / simplifié mais néanmoins efficace [Wiktionary](https://en.wiktionary.org).
Je connais moins les dictionnaires anglais de référence disponibles gratuitement et vais donc m'appuyer sur le simple / simplifié mais néanmoins efficace [Wiktionary][wiktionary].
En regardant [ses définitions](https://en.wiktionary.org/wiki/digital#Adjective), on constate que l'adjectif anglais est une traduction valable pour aussi bien pour le « digital » français (relatif aux doigts) que pour « numérique » (relatif aux nombres).
[L'étymologie](https://en.wiktionary.org/wiki/digital#Etymology) est la même qu'en français : du latin _digitalis_.
......@@ -119,10 +144,10 @@ Il s'est certes répandu à une très grande vitesse, avec une définition parfo
Enfant des années 80, je me souviens depuis toujours d'avoir entendu parler de « montres digitales », par opposition aux « montres à aiguilles ».
Oui, l'anglicisme était déjà présent.
Fait intéressant, l'article Wikipédia pour « Montre digitale » redirige aujourd'hui vers « [Montre numérique][montre-numerique] » --- j'avoue ne jamais avoir entendu cette dénomination --- avec une remarque en bas de page concernant l'appellation « digitale » :
Fait intéressant, l'article Wikipédia pour « Montre digitale » redirige aujourd'hui vers « [Montre numérique][wiki-montre-numerique] » --- j'avoue ne jamais avoir entendu cette dénomination --- avec une remarque en bas de page concernant l'appellation « digitale » :
> Dans ce cas le qualificatif digital est un anglicisme de l'anglais _digit_ (nombre) et prête à confusion car en français digitale signifie _appartenant au doigt_ (ex : des empreintes digitales), d'où le risque de confusion avec les montres « tactiles ».
> <cite><a href="https://fr.wikipedia.org/wiki/Montre_numérique">Montre numérique</a>, Wikipédia</cite>
> {{< ref-cite "wiki-montre-numerique">}}
Wikipédia irait donc dans le sens de mon auteur oublié en nous disant que _digital_ peut aujourd'hui être confondu avec _tactile_.
......@@ -178,6 +203,7 @@ La route est longue, il y aura toujours des réfractaires, mais nous avançons.
[^daf]: Il ne s'agit pas d'une abréviation officielle, mais mes articles sont suffisamment verbeux pour que l'on puisse se le permettre.
[^tlfi]: _Trésor de la Langue Française informatisé_. Contrairement à la précédente, cette abréviation est couramment acceptée.
{{% references %}}
[téléverser]: https://fr.wiktionary.org/wiki/t%C3%A9l%C3%A9verser "Téléverser"
[uploader]: https://fr.wiktionary.org/wiki/t%C3%A9l%C3%A9verser "Uploader"
[numerique-bordel]: https://twitter.com/NumeriqueBordel "Numérique, bordel !"
......@@ -185,4 +211,4 @@ La route est longue, il y aura toujours des réfractaires, mais nous avançons.
[daf-numerique]: https://www.dictionnaire-academie.fr/article/A9N0816 "Numérique"
[tlfi-digital]: https://www.cnrtl.fr/definition/digital "Digital "
[dire-ne-pas-dire-digital]: https://www.dictionnaire-academie.fr/article/DNP0430 "[Dire, ne pas dire] Digital "
[montre-numerique]: https://fr.wikipedia.org/wiki/Montre_numérique "Montre numérique"
......@@ -4,7 +4,7 @@ title: Le coût du temps
subtitle: Préférez-vous dépenser cet argent maintenant ou plus tard ?
slug: cout-temps
description: |-
En utilisant le poste de développement comme exemple, ce billet vise à montrer comment les économies à court terme peuvent se retourner contre un projet dans la longueur.
En utilisant le poste de développement comme exemple, ce billet vise à montrer comment les économies à court terme peuvent se retourner contre un projet dans la longueur.
cover:
src: hourglass.jpg
alt: Le sablier Windows verse du sable qui s'écoule et couvre le fond d'écran Windows
......@@ -19,6 +19,40 @@ author: chop
categories: [ software-creation ]
tags: [ programming, management, computer ]
keywords: [ temps, temps perdu, coût, prix, comics, symétrie des attentions, investissement ]
references:
- id: computerhope-better-on-or-off
name: Is it better to leave the computer on or turn it off?
title: true
url: https://www.computerhope.com/issues/ch000390.htm
lang: en
author:
name: Computer Hope
- id: bluejay-computer-electricity
name: How much electricity do computers use?
title: true
url: https://michaelbluejay.com/electricity/computers.html
lang: en
author:
name: Michael Bluejay
- id: lux-enovos-tarifs
name: Tarifs électricité au Luxembourg
url: https://electricite.lu/fournisseurs/enovos#tarifs
lang: fr
- id: energystar-top10
name: Top 10 Computer Power Management Myth…and Realities
title: true
url: https://www.energystar.gov/products/low_carbon_it_campaign/put_your_computers_sleep/myths_realities
lang: en
author:
name: Energy Star
- id: octo-culture-code
name: Culture Code
title: true
url: https://www.octo.com/publications/culture-code/
lang: fr
author:
name: OCTO Technology
---
Plus d'une fois au cours de ma carrière, pourtant pas si longue, j'ai dû travailler sur des machines qui n'étaient pas adaptées à mes besoins pour le développement.
......@@ -96,18 +130,18 @@ Supposons que votre société impose la consigne habituelle d'éteindre les ordi
C'est une bonne chose pour l'environnement !
Pour vos factures d'électricité aussi, d'ailleurs...
[^usure]: Vous pourriez être inquiet que cela accélère l'usure de vos machines, mais [ces craintes ne sont plus d'actualité](https://www.computerhope.com/issues/ch000390.htm) sur les machines actuelles.
[^usure]: Vous pourriez être inquiet que cela accélère l'usure de vos machines, mais [ces craintes ne sont plus d'actualité][computerhope-better-on-or-off] sur les machines actuelles.
Par expérience, la plupart des développeurs ne suivent pas cette instruction et se contentent de verrouiller leur poste avant de partir.
Je reviendrai sur certaines des raisons par la suite, mais l'idée principale est que les développeurs aiment pouvoir travailler dès leur arrivée, en retrouvant leur environnement tel qu'ils l'ont laissé la veille.
Supposons à présent que vos développeurs soient suffisamment disciplinés pour obéir à cette règle.
Comme dit plus haut, vous économisez de l'électricité.
Imaginons que les postes soient des [machines puissantes consommant 200 Watts](https://michaelbluejay.com/electricity/computers.html).
Imaginons que les postes soient des [machines puissantes consommant 200 Watts][bluejay-computer-electricity].
Vos développeurs vous aiment : ils arrivent à 8h et partent à 19h.
Cela correspond à une journée de 10 h s'ils s'accordent une heure de pause pour déjeuner, et cela laisse les ordinateurs éteints pendant 13 h.
Le principal fournisseur d'électricité [la vend environ 0,1 €/kWh la nuit](https://electricite.lu/fournisseurs/enovos#tarifs).
Le principal fournisseur d'électricité [la vend environ 0,1 €/kWh la nuit][lux-enovos-tarifs].
La consigne d'extinction des machines vous fait donc économiser 0,2 kW × 13 h × 0,1 €/kWh = **0,26 € par ordinateur et par nuit**[^fn-energy-star-top10] !
C'est génial !
......@@ -116,7 +150,7 @@ Mais changer la machine n'aura pas vraiment d'impact sur ce point, réduisant pr
Apparemment, cette politique n'a pas d'effet négatif sur le travail de notre développeur : il ordonne juste à son ordinateur de s'éteindre et n'a même pas besoin d'attendre avant de s'en aller.
Si ce n'est qu'éteindre une machine implique nécessairement...
[^fn-energy-star-top10]: Voir aussi [_Top 10 Computer Power Management Myths...and Realities_](https://www.energystar.gov/products/low_carbon_it_campaign/put_your_computers_sleep/myths_realities).
[^fn-energy-star-top10]: Voir aussi [_Top 10 Computer Power Management Myths...and Realities_][energystar-top10].
### Démarrage de l'ordinateur
......@@ -199,10 +233,10 @@ Il semble raisonnable d'imaginer que **le développeur perd 10 min par jour** p
N'importe quel développeur travaillant sur des projets volumineux le sait : la compilation prend du temps.
_Beaucoup_ de temps.
Avez-vous déjà travaillé sur un projet [GWT](http://gwtproject.org) ?
Avez-vous déjà travaillé sur un projet [GWT][gwt] ?
C'est lent.
Votre Java est transpilé en plusieurs versions de JavaScript afin de fonctionner sous plusieurs navigateurs.
Si vous ajoutez une surcouche comme [GXT](https://www.sencha.com/products/gxt/) ou [Smart GWT](https://www.smartclient.com/product/smartgwt.jsp), qui sont les pendants GWT d'[ExtJS](https://www.sencha.com/products/extjs/) et [SmartClient](https://www.smartclient.com/product/smartclient.jsp), la complexité s'en trouve grandement accrue et, logiquement, il en est de même pour le temps de compilation, qui devient _péniblement_ long.
Si vous ajoutez une surcouche comme [GXT][gxt] ou [Smart GWT][smartgwt], qui sont les pendants GWT d'[ExtJS][extjs] et [SmartClient][smartclient], la complexité s'en trouve grandement accrue et, logiquement, il en est de même pour le temps de compilation, qui devient _péniblement_ long.
En 2010, ma propre expérience d'un projet GWT + GXT utilisait une configuration Maven optimisée pour construire le projet et le déployer immédiatement sur JBoss.
Chaque exécution durait 15 min.
......@@ -235,7 +269,7 @@ Il ne peut pas utiliser un débogueur parce que &lt;_insérer ici la spécificit
Parce que chaque changement et test de correction implique une attente de 4 min.
Ainsi, comme sur tous les projets souffrant de problèmes de qualité, les bugs sont découverts trop tard et, en prime, l'environnement est un obstacle à leur résolution, ajoutant aux délais de livraison et réduisant la satisfaction des utilisateurs / clients.
Me permettré-je d'ajouter que ces corrections ne seront jamais aussi satisfaisantes qu'elles le devraient ?
Me permettrais-je d'ajouter que ces corrections ne seront jamais aussi satisfaisantes qu'elles le devraient ?
### Le total
......@@ -315,7 +349,7 @@ Des solutions existent pourtant et il est possible d'investir une fois pour gagn
Nous avons juste effleuré la problématique des économies à court terme résultant à des pertes à long terme, mais la machine n'est ni le pire ni le plus commun dans ce domaine.
La qualité est aussi un point récurrent.
On n'a pas envie de dépenser davantage pour faire du binômage, ou _pair programming_ --- le livre blanc [_Culture Code_](https://www.octo.com/publications/culture-code/)[^culture-code] d'OCTO Technology s'appuie sur plusieurs études et estime que cela représente une hausse du coût de développement de 15 %, avec d'autres bénéfices --- ou dans les tests.
On n'a pas envie de dépenser davantage pour faire du binômage, ou _pair programming_ --- le livre blanc [_Culture Code_][octo-culture-code][^culture-code] d'OCTO Technology s'appuie sur plusieurs études et estime que cela représente une hausse du coût de développement de 15 %, avec d'autres bénéfices --- ou dans les tests.
On _sait_ pourtant, et cela a été démontré plusieurs fois, que de tels investissements ne sont pas en perte.
[^culture-code]: N'hésitez pas à le lire, en tant que développeur ou manager, si la qualité logicielle a la moindre valeur à vos yeux.
......@@ -349,11 +383,24 @@ Traitez-les simplement comme vous aimeriez l'être à leur place.
> **Les clients ne sont pas la priorité. Les employés sont la priorité**.\
> Si vous prenez soin de vos employés, ils prendront soin des clients.
> <cite>Richard Branson (en lire plus --- en anglais --- <a href="https://www.thehrdigest.com/richard-branson-clients-do-not-come-first-employees-come-first/" rel="nofollow">ici</a> ou <a href="https://nzbusiness.co.nz/article/why-you-should-put-employees-not-customers-first" rel="nofollow">ici</a>)</cite>
> <cite>Richard Branson (en lire plus --- en anglais --- <a href="https://www.thehrdigest.com/richard-branson-clients-do-not-come-first-employees-come-first/" hreflang="en" rel="nofollow">ici</a> ou <a href="https://nzbusiness.co.nz/article/why-you-should-put-employees-not-customers-first" hreflang="en" rel="nofollow">ici</a>)</cite>
## Remerciements
L'image de couverture a été conçue sur base d'une [photo de Simon Goldin](https://en.wikipedia.org/wiki/Bliss_(image)#/media/File:Bliss_location,_Sonoma_Valley_in_2006.jpg) ([CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0)).
Celle-ci figure le même point de vue que [le fond d'écran par défaut de Windows XP](https://en.wikipedia.org/wiki/Bliss_(image)), dix ans plus tard.
L'image de couverture a été conçue sur base d'une [photo de Simon Goldin][bliss-10y-later] ([CC BY-SA 3.0][cc-by-sa-3]).
Celle-ci figure le même point de vue que [le fond d'écran par défaut de Windows XP][bliss], dix ans plus tard.
{{% references %}}
[gwt]: http://gwtproject.org "Google Web Toolkit"
[gxt]: https://www.sencha.com/products/gxt/ "ExtGWT"
[extjs]: https://www.sencha.com/products/extjs/ "ExtJS"
[smartgwt]: https://www.smartclient.com/product/smartgwt.jsp "Smart GWT"
[smartclient]: https://www.smartclient.com/product/smartclient.jsp "SmartClient"
[bliss-10y-later]: https://en.wikipedia.org/wiki/Bliss_(image)#/media/File:Bliss_location,_Sonoma_Valley_in_2006.jpg
[bliss]: https://en.wikipedia.org/wiki/Bliss_(image) "Bliss (image)"
[cc-by-sa-3]: https://creativecommons.org/licenses/by-sa/3.0 "Creative Commons — Attribution-ShareAlike 3.0 Unported
— CC BY-SA 3.0"
......@@ -20,6 +20,40 @@ author: chop
categories: [ software-creation ]
tags: [ programming, management, computer ]
keywords: [ time, lost time, cost, price, comics, employees first ]
references:
- id: computerhope-better-on-or-off
name: Is it better to leave the computer on or turn it off?
title: true
url: https://www.computerhope.com/issues/ch000390.htm
lang: en
author:
name: Computer Hope
- id: bluejay-computer-electricity
name: How much electricity do computers use?
title: true
url: https://michaelbluejay.com/electricity/computers.html
lang: en
author:
name: Michael Bluejay
- id: lux-enovos-tarifs
name: Tarifs électricité au Luxembourg
url: https://electricite.lu/fournisseurs/enovos#tarifs
lang: fr
- id: energystar-top10
name: Top 10 Computer Power Management Myth…and Realities
title: true
url: https://www.energystar.gov/products/low_carbon_it_campaign/put_your_computers_sleep/myths_realities
lang: en
author:
name: Energy Star
- id: octo-culture-code
name: Culture Code
title: true
url: https://www.octo.com/en/publications/culture-code/
lang: en
author:
name: OCTO Technology
---
More than once in my---no-so-long---career, I've had to work on machines that were not appropriate to my development needs.
......@@ -93,7 +127,7 @@ Let's imagine your company issues the usual directive to turn off computers ever
It's a good thing to do for the planet!
And for your electricity bills, by the way...
[^wear-down]: You may be worried this would wear your computer parts down faster, but [those worries don't apply anymore](https://www.computerhope.com/issues/ch000390.htm).
[^wear-down]: You may be worried this would wear your computer parts down faster, but [those worries don't apply anymore][computerhope-better-on-or-off].
In my experience, most developers don't follow this instruction and just lock their computer before leaving.
You'll find some of the most common reasons below.
......@@ -101,11 +135,11 @@ Developers want to be able to immediately start working when they arrive in the
Let's now imagine your developers are disciplined enough to comply with this rule.
As I said, you save electricity.
For the sake of argument, [let's imagine it's a high-end computer that uses 200 Watts](https://michaelbluejay.com/electricity/computers.html).
For the sake of argument, [let's imagine it's a high-end computer that uses 200 Watts][bluejay-computer-electricity].
Your developers love you: they come at 8 and leave at 19, which is a 10-hour-long day if they take a lunch break for one hour.
That's a 13-hour-long night for their powered-off machines.
Luxembourg's main electricity provider [sells it about €0.1/kWh at night](https://electricite.lu/fournisseurs/enovos#tarifs).
Luxembourg's main electricity provider [sells it about €0.1/kWh at night][lux-enovos-tarifs].
The power-off rule made you save 0.2 kW × 13 h × €0.1/kWh = **€0.26 ($0.29) per computer and per day**[^fn-energy-star-top10]!
That's great!
......@@ -114,7 +148,7 @@ But changing the machine won't have much of an impact here, making this paragrap
Apparently, this policy does not have any adverse effect on your developer's work: they just tell the computer to shut down and don't even have to wait before leaving.
Except powering off inevitably means...
[^fn-energy-star-top10]: Also, see [_Top 10 Computer Power Management Myths...and Realities_](https://www.energystar.gov/products/low_carbon_it_campaign/put_your_computers_sleep/myths_realities).
[^fn-energy-star-top10]: Also, see [_Top 10 Computer Power Management Myths...and Realities_][energystar-top10].
### Booting the Computer
......@@ -193,10 +227,10 @@ Let's say our developer loses **10 minutes a day** to such freezes, though I've
Every developer having to compile large projects knows it: it takes time.
_A lot_ of time.
Have you ever been compiling a [GWT](http://gwtproject.org) project?
Have you ever been compiling a [GWT][gwt] project?
It is long.
Your Java gets transpiled to several versions of JavaScript, which should work on many browsers.
If you add an overlay like [GXT](https://www.sencha.com/products/gxt/) or [Smart GWT](https://www.smartclient.com/product/smartgwt.jsp), which really are [ExtJS](https://www.sencha.com/products/extjs/) and [SmartClient](https://www.smartclient.com/product/smartclient.jsp) ported to GWT, the complexity is highly increased and, hence, so is the compilation time.
If you add an overlay like [GXT][gxt] or [Smart GWT][smartgwt], which really are [ExtJS][extjs] and [SmartClient][smartclient] ported to GWT, the complexity is highly increased and, hence, so is the compilation time.
It becomes _painfully_ long.
In fact, in 2010, my own experience of a GWT+GXT project, with an optimized Maven pipeline that built and deployed to JBoss directly, implied 15-minute-long build.
......@@ -312,7 +346,7 @@ Solutions exist and you could invest once to save time on all the next occurrenc
We scratched the surface of the short-term savings resulting in long-term losses, but the machine is neither the worst nor the most common problem in this area.
Quality is also a recurring pain point.
We don't want to spend more money on pair programming---the well-documented and well-presented [_Culture Code_](https://www.octo.com/en/publications/culture-code/) white paper by OCTO Technology[^culture-code] estimates it's a 15% increase in development cost, with other benefits---or testing.
We don't want to spend more money on pair programming---the well-documented and well-presented [_Culture Code_][octo-culture-code] white paper by OCTO Technology[^culture-code] estimates it's a 15% increase in development cost, with other benefits---or testing.
We _know_, though, and it has been demonstrated again and again, that such investments are greatly rewarding in the long run.
[^culture-code]: Please, don't hesitate to read it, as a developer or a manager, if software quality is any worth to you.
......@@ -351,5 +385,19 @@ To keep it short, just treat them as you'd like to be treated.
## Credits
The cover image was designed using a [photo by Simon Goldin](https://en.wikipedia.org/wiki/Bliss_(image)#/media/File:Bliss_location,_Sonoma_Valley_in_2006.jpg) ([CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0)).
It was taken from the same spot as [Windows XP's default wallpaper](https://en.wikipedia.org/wiki/Bliss_(image)), ten years later.
The cover image was designed using a [photo by Simon Goldin][bliss-10y-later] ([CC BY-SA 3.0][cc-by-sa-3]).
It was taken from the same spot as [Windows XP's default wallpaper][bliss], ten years later.
{{% references %}}
[gwt]: http://gwtproject.org "Google Web Toolkit"
[gxt]: https://www.sencha.com/products/gxt/ "ExtGWT"
[extjs]: https://www.sencha.com/products/extjs/ "ExtJS"
[smartgwt]: https://www.smartclient.com/product/smartgwt.jsp "Smart GWT"
[smartclient]: https://www.smartclient.com/product/smartclient.jsp "SmartClient"
[bliss-10y-later]: https://en.wikipedia.org/wiki/Bliss_(image)#/media/File:Bliss_location,_Sonoma_Valley_in_2006.jpg
[bliss]: https://en.wikipedia.org/wiki/Bliss_(image) "Bliss (image)"
[cc-by-sa-3]: https://creativecommons.org/licenses/by-sa/3.0 "Creative Commons — Attribution-ShareAlike 3.0 Unported
— CC BY-SA 3.0"
......@@ -18,6 +18,48 @@ author: chop
categories: [ software-creation ]
tags: [ programming, typography ]
keywords: [ typographie, police, fonte, codage, programmation, développement logiciel ]
references:
- id: freecodecamp-readability
name: "How Typography Determines Readability: Serif vs. Sans Serif, and How To Combine Fonts."
title: true
url: https://www.freecodecamp.org/news/how-typography-determines-readability-serif-vs-sans-serif-and-how-to-combine-fonts-629a51ad8cce/
date: 2018
lang: en
author:
name: Harshita Arora, freeCodeCamp
- id: insidermonkey-easiest-fonts
name: 7 Easiest Fonts To Read On Screen and Paper
title: true
url: https://www.insidermonkey.com/blog/7-easiest-fonts-to-read-on-screen-and-paper-520113/
date: 2017
lang: en
author:
name: Amber Hewitt, Insider Monkey
- id: fira-mono
name: Fira Mono
url: https://mozilla.github.io/Fira/
lang: en
author:
name: Mozilla
- id: fira-code
name: Fira Code
url: https://github.com/tonsky/FiraCode
lang: en
author:
name: Nikita Prokopov (Tonsky)
- id: monoid
name: Monoid
url: https://larsenwork.com/monoid/
lang: en
author:
name: Andreas Larsen
- id: ubuntu-font
name: Ubuntu font
url: https://design.ubuntu.com/font/
lang: en
author:
name: Canonical
---
Les développeurs / développeuses font généralement très attention aux outils qu'elles ou ils choisissent : [leur ordinateur]({{< relref path="blog/2019/11/11-cost-of-time" >}}), leur éditeur...
......@@ -46,7 +88,7 @@ Je vais prendre une minute pour expliquer la solution de cet exemple.
Si vous avez immédiatement compris ou n'êtes pas intéressé, je vous invite à passer directement à [la suite](#criteres-selection-police).
Reprenons : qu'est-ce que {{< numfmt 2147483647 >}} ?
<!-- XXX use KaTeX to pint the equation -->
<!-- XXX use KaTeX/MathJax to print the equation -->
C'est la valeur de 2<sup>31</sup> − 1, le plus grand entier pouvant être stocké dans un `int` en Java (Java utilise 32 bits pour ce type, mais le premier est réservé pour le signe).
Dans les deux cas, nous ajoutons un nombre à cet `int`, mais le résultat est différent.
......@@ -103,10 +145,10 @@ Non, vraiment ! Ce critère est complètement objectif.
Si vous êtes un développeur professionnel ou passionné, vous allez passer des heures face à ces glyphes.
Vous avez plutôt intérêt à être sûr·e qu'ils ne vous sont pas désagréables, sans quoi votre boulot / passion va vite se changer en enfer.
[^espace-feminin]: Non, je ne me suis pas trompé dans l'accord de mon adjectif. [Espace est féminin](https://www.cnrtl.fr/definition/espace) lorsqu'il désigne le caractère.
[^espace-feminin]: Non, je ne me suis pas trompé dans l'accord de mon adjectif. [Espace est féminin][tlfi-espace] lorsqu'il désigne le caractère.
[^mix-indentation]: Personne n'oserait mélanger espaces et tabulations, n'est-ce pas ? Hormis les éditeurs qui n'en font qu'à leur tête...
[^serif-definition]: Si vous ignorez ce qu'est l'empattement, [cet article (en anglais)](https://www.freecodecamp.org/news/how-typography-determines-readability-serif-vs-sans-serif-and-how-to-combine-fonts-629a51ad8cce/) résume bien et donne quelques conseils que je n'ai pas suivis lors de la conception de la pile de fontes de ce site.
[^serif-better-on-paper]: [Cet article](https://www.insidermonkey.com/blog/7-easiest-fonts-to-read-on-screen-and-paper-520113/?singlepage=1) confirme cette tendance, bien que l'on constate des exceptions dans les deux sens.
[^serif-definition]: Si vous ignorez ce qu'est l'empattement, [cet article (en anglais)][freecodecamp-readability] résume bien et donne quelques conseils que je n'ai pas suivis lors de la conception de la pile de fontes de ce site.
[^serif-better-on-paper]: [Cet article][insidermonkey-easiest-fonts] confirme cette tendance, bien que l'on constate des exceptions dans les deux sens.
## Ma sélection
......@@ -129,7 +171,7 @@ Traduit de la documentation de la police :
> Votre œil passe une énergie non nulle à lire, interpréter et joindre plusieurs caractères en un élément logique unique.
> Idéalement, tous les langages de programmation devraient être conçus avec des symboles Unicode comme opérateurs, mais ce n'est pas encore le cas.
Pour répondre à cette problématique, l'auteur est parti de [Fira Mono](https://mozilla.github.io/Fira/), proposée par Mozilla, et a inclus un ensemble de [ligatures](https://fr.wikipedia.org/wiki/Ligature_(%C3%A9criture)) pour les opérateurs de programmation les plus courants.
Pour répondre à cette problématique, l'auteur est parti de [Fira Mono][fira-mono], proposée par Mozilla, et a inclus un ensemble de [ligatures][wiki-ligatures] pour les opérateurs de programmation les plus courants.
Dans les éditeurs supportant les ligatures, ces séquences sont ainsi remplacées par des caractères uniques.
{{< figure src="fira-code.mini.png" link="fira-code.png" alt="Exemple de code avec Fira Code" >}}
......@@ -137,20 +179,20 @@ Dans les éditeurs supportant les ligatures, ces séquences sont ainsi remplacé
C'est joli.
Je ne suis pas certain que l'interprétation soit plus aisée pour les développeurs et développeuses habitués aux suites de caractères, mais cette fonctionnalité peut se désactiver dans la plupart des éditeurs.
Un autre détail sympathique de cette fonte est la présence de [variantes stylistiques](https://github.com/tonsky/FiraCode#stylistic-sets).
Un autre détail sympathique de cette fonte est la présence de [variantes stylistiques][fira-code-sets].
Par exemple, il est possible de choisir entre deux styles pour le symbole du dollar, le « et » commercial, l'arobase, le chiffre 0...
Toutes ces variantes sont reprises ci-dessous.
{{< figure src="fira-code.variants.mini.png" alt="Aperçu visuel des variantes stylistiques disponibles" link="https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets" >}}
Website
: https://github.com/tonsky/FiraCode
: {{% ref-link "fira-code" %}}
Repo
: https://github.com/tonsky/FiraCode
: {{% ref-link "fira-code" %}}
License
: [SIL Open Font License v1.1](https://scripts.sil.org/ofl)
: [SIL Open Font License v1.1][license-ofl]
Documentation
: [Conseils d'installation](https://github.com/tonsky/FiraCode/wiki) et [configuration des variantes stylistiques](https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets)
......@@ -168,17 +210,17 @@ Comme pour Fira Code, des variantes stylistiques sont disponibles, et même plus
J'ai découvert cette police en 2015.
Vers la même époque, j'ai également découvert les polices d'icônes.
L'auteur a eu l'idée de créer des ligatures pour chaque icône de Font Awesome, donnant naissance à [Monoisome](https://github.com/larsenwork/monoid/tree/master/Monoisome).
L'auteur a eu l'idée de créer des ligatures pour chaque icône de Font Awesome, donnant naissance à [Monoisome][monoisome].
J'ignore quelle version de la fonte iconique est utilisée, la variante de Monoid n'ayant pas été mise à jour depuis 2018.
Website
: https://larsenwork.com/monoid/
: {{% ref-link "monoid" %}}
Repo
: https://github.com/larsenwork/monoid
License
: [MIT License](https://opensource.org/licenses/MIT) et [SIL Open Font License v1.1](https://scripts.sil.org/ofl)
: [MIT License][license-mit] et [SIL Open Font License v1.1][license-ofl]
Documentation
: [README](https://github.com/larsenwork/monoid#readme)
......@@ -196,10 +238,22 @@ Cette police n'a pas de fonctionnalité élaborée ou de ligatures, mais elle es
Ubuntu Mono est une superbe solution si vous cherchez quelque chose de simple et efficace !
Website
: https://design.ubuntu.com/font/
: {{% ref-link "ubuntu-font" %}}
License
: [Ubuntu font license v1.0](https://ubuntu.com/legal/font-licence)
: [Ubuntu font license v1.0][license-ufl]
Documentation
: [Documentation wiki](wiki.ubuntu.com/Ubuntu_Font_Family)
{{% references %}}
[tlfi-espace]: https://www.cnrtl.fr/definition/espace "Espace"
[wiki-ligatures]: https://fr.wikipedia.org/wiki/Ligature_(%C3%A9criture) "Ligatures"
[fira-code-sets]: https://github.com/tonsky/FiraCode#stylistic-sets
[monoisome]: https://github.com/larsenwork/monoid/tree/master/Monoisome
[license-olf]: https://scripts.sil.org/ofl
[license-mit]: https://opensource.org/licenses/MIT
[license-ufl]: https://ubuntu.com/legal/font-licence
......@@ -18,6 +18,48 @@ author: chop
categories: [ software-creation ]
tags: [ programming, typography ]
keywords: [ typography, font, coding, programming, software development ]
references:
- id: freecodecamp-readability
name: "How Typography Determines Readability: Serif vs. Sans Serif, and How To Combine Fonts."
title: true
url: https://www.freecodecamp.org/news/how-typography-determines-readability-serif-vs-sans-serif-and-how-to-combine-fonts-629a51ad8cce/
date: 2018
lang: en
author:
name: Harshita Arora, freeCodeCamp
- id: insidermonkey-easiest-fonts
name: 7 Easiest Fonts To Read On Screen and Paper
title: true
url: https://www.insidermonkey.com/blog/7-easiest-fonts-to-read-on-screen-and-paper-520113/
date: 2017
lang: en
author:
name: Amber Hewitt, Insider Monkey
- id: fira-mono
name: Fira Mono
url: https://mozilla.github.io/Fira/
lang: en
author:
name: Mozilla
- id: fira-code
name: Fira Code
url: https://github.com/tonsky/FiraCode
lang: en
author:
name: Nikita Prokopov (Tonsky)
- id: monoid
name: Monoid
url: https://larsenwork.com/monoid/
lang: en
author:
name: Andreas Larsen
- id: ubuntu-font
name: Ubuntu font
url: https://design.ubuntu.com/font/
lang: en
author:
name: Canonical
---
We developers often spend a great deal of attention choosing our tools: [computer]({{< relref path="blog/2019/11/11-cost-of-time" >}}), editors...
......@@ -45,7 +87,7 @@ I'll give here the explanation of this brain teaser.
If you spotted it immediately or are just uninterested, just skip to [the next part](#font-selection-criteria).
So, what's {{< numfmt 2147483647 >}}?
<!-- TODO use KaTeX to print the equation -->
<!-- TODO use KaTeX/Mathjax to print the equation -->
It's 2<sup>31</sup> − 1, the largest number that can be stored in a Java `int` (Java's `int` uses 32 bits, but the first one is for sign).
In both cases, we add a number to this `int`, but in the first case, it becomes negative ({{< numfmt -2147483548 >}}), while in the second, it becomes a higher number ({{< numfmt 2147483657 >}}).
......@@ -99,8 +141,8 @@ If you're a professional or passionate coder, you'll spend hours confronted with
You'd better make sure it doesn't get under your skin or your job/passion will just become a bit more hellish.
[^indetation-mix]: But nobody except your dumb editor would dare mixing tabs and spaces, right?
[^serif-definition]: If you don't know what serifs are, [this article](https://www.freecodecamp.org/news/how-typography-determines-readability-serif-vs-sans-serif-and-how-to-combine-fonts-629a51ad8cce/) is great and gives advice I didn't follow when designing this website's font stack.
[^serif-better-on-paper]: [This article](https://www.insidermonkey.com/blog/7-easiest-fonts-to-read-on-screen-and-paper-520113/?singlepage=1) confirms this, not as a general truth, but as a trend with its exceptions.
[^serif-definition]: If you don't know what serifs are, [this article][freecodecamp-readability] is great and gives advice I didn't follow when designing this website's font stack.
[^serif-better-on-paper]: [This article][insidermonkey-easiest-fonts] confirms this, not as a general truth, but as a trend with its exceptions.
## My Selection
......@@ -122,7 +164,7 @@ It also tries to answer a problem coders don't know they have. From their docume
> Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one.
> Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet.
So, as a solution, the author took [Fira Mono](https://mozilla.github.io/Fira/), developed by Mozilla, and included a set of [ligatures](https://en.wikipedia.org/wiki/Orthographic_ligature) for the most common programming combination.
So, as a solution, the author took [Fira Mono][fira-mono], developed by Mozilla, and included a set of [ligatures][wiki-ligatures] for the most common programming combination.
In editors supporting ligatures, those sequences are thus replaced with single characters.
{{< figure src="fira-code.mini.png" link="fira-code.png" alt="Example of code using Fira Code" >}}
......@@ -131,20 +173,20 @@ That looks nice.
I don't know if that's easier to parse than characters sequences when you're used to the usual way of writing and reading it.
If you don't like it, you can still deactivate the ligatures and yet use the font.
Another nice feature of this font is that it provides some [stylistic variants](https://github.com/tonsky/FiraCode#stylistic-sets).
Another nice feature of this font is that it provides some [stylistic variants][fira-code-sets].
For instance, you can customize the way you display the dollar sign, the ampersand, the "at" sign, whether the 0 is barred or dotted...
All these variants are represented below.
{{< figure src="fira-code.variants.mini.png" alt="Visual preview of available stylistic sets" link="https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets" >}}
Website
: https://github.com/tonsky/FiraCode
: {{% ref-link "fira-code" %}}
Repo
: https://github.com/tonsky/FiraCode
: {{% ref-link "fira-code" %}}
License
: [SIL Open Font License v1.1](https://scripts.sil.org/ofl)
: [SIL Open Font License v1.1][license-ofl]
Documentation
: [Installation instructions](https://github.com/tonsky/FiraCode/wiki) and [stylistic sets enabling instructions](https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets)
......@@ -163,17 +205,17 @@ Like with Fira Code, stylistic alternates are available, offering even more choi
I discovered this font in 2015.
Around that time, I'd also discovered iconic fonts such as Font Awesome.
The author had the idea of creating ligatures for each Font Awesome icon.
Thus was born [Monoisome](https://github.com/larsenwork/monoid/tree/master/Monoisome).
Thus was born [Monoisome][monoisome].
I don't know which version of Font Awesome was used, though, since this variant of Monoid has not been updated since 2018.
Website
: https://larsenwork.com/monoid/
: {{% ref-link "monoid" %}}
Repo
: https://github.com/larsenwork/monoid
License
: [MIT License](https://opensource.org/licenses/MIT) and [SIL Open Font License v1.1](https://scripts.sil.org/ofl)
: [MIT License][license-mit] and [SIL Open Font License v1.1][license-ofl]