123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557 |
- <!doctype html><!-- This is a valid HTML5 document. -->
- <!-- Screen readers, SEO, extensions and so on. -->
- <html lang=fr>
- <!-- Has to be within the first 1024 bytes, hence before the <title>
- See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
- <meta charset=utf-8>
- <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
- <!-- The viewport meta is quite crowded and we are responsible for that.
- See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
- <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
- <!-- Required to make a valid HTML5 document. -->
- <title>Medium et pizzas — David Larlet</title>
- <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
- <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
- <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
- <link rel="manifest" href="/manifest.json">
- <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
- <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
- <meta name="apple-mobile-web-app-title" content="David Larlet">
- <meta name="application-name" content="David Larlet">
- <meta name="msapplication-TileColor" content="#da532c">
- <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
- <meta name="theme-color" content="#f0f0ea">
- <!-- That good ol' feed, subscribe :p. -->
- <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
-
- <!-- Canonical URL for SEO purposes -->
- <link rel="canonical" href="https://larlet.fr/david/stream/2015/03/24/">
-
- <style>
- /* http://meyerweb.com/eric/tools/css/reset/ */
- html, body, div, span,
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
- a, abbr, address, big, cite, code,
- del, dfn, em, img, ins,
- small, strike, strong, tt, var,
- dl, dt, dd, ol, ul, li,
- fieldset, form, label, legend,
- table, caption, tbody, tfoot, thead, tr, th, td,
- article, aside, canvas, details, embed,
- figure, figcaption, footer, header, hgroup,
- menu, nav, output, ruby, section, summary,
- time, mark, audio, video {
- margin: 0;
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
- }
- /* HTML5 display-role reset for older browsers */
- article, aside, details, figcaption, figure,
- footer, header, hgroup, menu, nav, section { display: block; }
- body { line-height: 1; }
- blockquote, q { quotes: none; }
- blockquote:before, blockquote:after,
- q:before, q:after {
- content: '';
- content: none;
- }
- table {
- border-collapse: collapse;
- border-spacing: 0;
- }
-
- /* http://practicaltypography.com/equity.html */
- /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
- /* https://www.filamentgroup.com/lab/js-web-fonts.html */
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
- font-weight: 300;
- font-style: normal;
- font-display: swap;
- }
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
- font-weight: 300;
- font-style: italic;
- font-display: swap;
- }
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
- font-weight: 700;
- font-style: normal;
- font-display: swap;
- }
- @font-face {
- font-family: 'TriplicateT4c';
- src: url('/static/david/css/fonts/Triplicate-T4-Code-Regular-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Triplicate-T4-Code-Regular-webfont.woff') format('woff');
- font-weight: 300;
- font-style: normal;
- font-display: swap;
- }
-
- /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
- body {
- /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
- font-family: "EquityTextB", Palatino, serif;
- background-color: #f0f0ea;
- color: #07486c;
- font-kerning: normal;
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: subpixel-antialiased;
- text-rendering: optimizeLegibility;
- font-variant-ligatures: common-ligatures contextual;
- font-feature-settings: "kern", "liga", "clig", "calt";
- }
- pre, code, kbd, samp, var, tt {
- font-family: 'TriplicateT4c', monospace;
- }
- em {
- font-style: italic;
- color: #323a45;
- }
- strong {
- font-weight: bold;
- color: black;
- }
- nav {
- background-color: #323a45;
- color: #f0f0ea;
- display: flex;
- justify-content: space-around;
- padding: 1rem .5rem;
- }
- nav:first-child {
- border-top: 1vh solid #2d7474;
- }
- nav:last-child {
- border-bottom: 1vh solid #2d7474;
- }
- nav a {
- color: #f0f0ea;
- }
- nav abbr {
- border-bottom: 1px dotted white;
- }
-
- h1 {
- border-bottom: .2vh solid #2d7474;
- background-color: #e3e1e1;
- color: #323a45;
- text-align: center;
- padding: 2rem 0 1rem;
- width: 100%;
- }
- h2 {
- margin: 4rem 0 1rem;
- border-top: .2vh solid #2d7474;
- }
- h3 {
- text-align: center;
- margin: 3rem 0 .75em;
- }
- hr {
- height: .4rem;
- width: .4rem;
- border-radius: .4rem;
- background: #07486c;
- margin: 2.5rem auto;
- }
- time {
- display: bloc;
- background-color: #2d7474;
- color: #e3e1e1;
- padding: .29rem 1rem;
- float: right;
- }
- ul, ol {
- margin: 2rem;
- }
- ul {
- list-style-type: square;
- }
- a {
- text-decoration-skip-ink: auto;
- }
- article {
- max-width: 50rem;
- display: flex;
- flex-direction: column;
- margin: 3rem auto 1rem auto;
- }
- article p:last-child {
- margin-bottom: 1rem;
- }
- p {
- padding: 0 .5rem;
- }
- p + p {
- margin-top: 2rem;
- }
-
- blockquote {
- background-color: #e3e1e1;
- border-left: .5vw solid #2d7474;
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 1rem;
- margin: 1.5rem;
- }
- blockquote cite {
- font-style: italic;
- }
-
- figure {
- border-top: .2vh solid #2d7474;
- background-color: #e3e1e1;
- text-align: center;
- padding: 1.5rem 0;
- margin: 1rem 0 0;
- font-size: 1.5rem;
- width: 100%;
- }
- figure img {
- width: 250px;
- height: 250px;
- border: .5vw solid #323a45;
- padding: 1px;
- }
- figcaption {
- padding: 1rem;
- line-height: 1.4;
- }
- aside {
- display: flex;
- flex-direction: column;
- background-color: #e3e1e1;
- padding: 1rem 0;
- border-bottom: .2vh solid #07486c;
- }
- aside p {
- max-width: 50rem;
- margin: 0 auto;
- }
-
- /* https://fvsch.com/code/css-locks/ */
- p, li, pre, code, kbd, samp, var, tt, time {
- font-size: .95rem;
- line-height: calc( 1.5em + 0.2 * 1rem );
- }
- h1 {
- font-size: 1.7rem;
- line-height: calc( 1.2em + 0.2 * 1rem );
- }
- h2 {
- font-size: 1.6rem;
- line-height: calc( 1.3em + 0.2 * 1rem );
- }
- h3 {
- font-size: 1.35rem;
- line-height: calc( 1.4em + 0.2 * 1rem );
- }
- @media (min-width: 20em) {
- /* The (100vw - 20rem) / (50 - 20) part
- resolves to 0-1rem, depending on the
- viewport width (between 20em and 50em). */
- p, li, pre, code, kbd, samp, var, tt, time {
- font-size: calc( .95rem + .6 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h1 {
- font-size: calc( 1.7rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h2 {
- font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h3 {
- font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- }
- @media (min-width: 50em) {
- /* The right part of the addition *must* be a
- rem value. In this example we *could* change
- the whole declaration to font-size:2.5rem,
- but if our baseline value was not expressed
- in rem we would have to use calc. */
- p, li, pre, code, kbd, samp, var, tt, time {
- font-size: calc( .95rem + .6 * 1rem );
- line-height: 1.5em;
- }
- h1 {
- font-size: calc( 1.7rem + 1.5 * 1rem );
- line-height: 1.2em;
- }
- h2 {
- font-size: calc( 1.5rem + 1.5 * 1rem );
- line-height: 1.3em;
- }
- h3 {
- font-size: calc( 1.35rem + 1.5 * 1rem );
- line-height: 1.4em;
- }
- figure img {
- width: 500px;
- height: 500px;
- }
- blockquote {
- margin-left: -1.5rem;
- }
- }
-
- figure.unsquared {
- margin-bottom: 1.5rem;
- }
- figure.unsquared img {
- height: inherit;
- }
-
- /* https://github.com/richleland/pygments-css */
- .codehilite{
- background-color: #fdf6e3;
- margin: 1rem auto;
- padding: 1rem;
- overflow-x:auto;
- box-shadow:inset 0 0 2px rgba(0,0,0,0.2)
- }
- .codehilite .t{color:#586e75}
- .codehilite .w{color:#073642}
- .codehilite .err{color:#cb4b16}
- .codehilite .k{color:#859900}
- .codehilite .kc{color:#2aa198}
- .codehilite .kd{color:#268bd2}
- .codehilite .kn{color:#b58900}
- .codehilite .kp{color:#859900}
- .codehilite .kr{color:#073642}
- .codehilite .kt{color:#b58900}
- .codehilite .n{color:#586e75}
- .codehilite .na{color:#2aa198}
- .codehilite .nb{color:#268bd2}
- .codehilite .nc{color:#268bd2}
- .codehilite .ne{color:#cb4b16}
- .codehilite .no{color:#2aa198}
- .codehilite .nd{color:#2aa198}
- .codehilite .ni{color:#2aa198;font-weight:bold}
- .codehilite .nf{color:#268bd2}
- .codehilite .nn{color:#586e75}
- .codehilite .nt{color:#2aa198;font-weight:bold}
- .codehilite .nv{color:#cb4b16}
- .codehilite .b{color:#859900}
- .codehilite .bp{color:#586e75}
- .codehilite .v{color:#586e75}
- .codehilite .vc{color:#586e75}
- .codehilite .vg{color:#268bd2}
- .codehilite .vi{color:#268bd2}
- .codehilite .m{color:#268bd2}
- .codehilite .mf{color:#268bd2}
- .codehilite .mh{color:#268bd2}
- .codehilite .mi{color:#268bd2}
- .codehilite .mo{color:#268bd2}
- .codehilite .s{color:#2aa198}
- .codehilite .sb{color:#2aa198}
- .codehilite .sc{color:#2aa198}
- .codehilite .sd{color:#2aa198}
- .codehilite .s2{color:#2aa198}
- .codehilite .se{color:#cb4b16}
- .codehilite .sh{color:#2aa198}
- .codehilite .si{color:#cb4b16}
- .codehilite .sx{color:#2aa198}
- .codehilite .sr{color:#cb4b16}
- .codehilite .s1{color:#2aa198}
- .codehilite .ss{color:#cb4b16}
- .codehilite .il{color:#268bd2}
- .codehilite .o{color:#586e75}
- .codehilite .ow{color:#859900}
- .codehilite .p{color:#586e75}
- .codehilite .c{color:#93a1a1;font-style:italic}
- .codehilite .cm{color:#93a1a1}
- .codehilite .cp{color:#93a1a1}
- .codehilite .c1{color:#93a1a1}
- .codehilite .cs{color:#93a1a1}
- .codehilite .hll{background-color:#dc322f}
- .codehilite .g{color:#586e75}
- .codehilite .gd{color:#586e75}
- .codehilite .ge{font-style:italic}
- .codehilite .gr{color:#586e75}
- .codehilite .gh{color:#586e75;font-weight:bold}
- .codehilite .gi{color:#586e75}
- .codehilite .go{color:#586e75}
- .codehilite .gp{color:#586e75}
- .codehilite .gs{font-weight:bold}
- .codehilite .gu{color:#586e75;font-weight:bold}
- .codehilite .gt{color:#586e75}
-
- @media print {
- body { font-size: 100%; }
- a:after { content: " (" attr(href) ")"; }
- a, a:link, a:visited, a:after {
- text-decoration: underline;
- text-shadow: none !important;
- background-image: none !important;
- background: white;
- color: black;
- }
- abbr[title] { border-bottom: 0; }
- abbr[title]:after { content: " (" attr(title) ")"; }
- img { page-break-inside: avoid; }
- @page { margin: 2cm .5cm; }
- h1, h2, h3 { page-break-after: avoid; }
- p3 { orphans: 3; widows: 3; }
- img {
- max-width: 250px !important;
- max-height: 250px !important;
- }
- nav, aside { display: none; }
- }
-
- /* Dark theme */
- [lang=en] body {
- background: #323a45;
- }
- [lang=en] article,
- [lang=en] article em,
- [lang=en] article strong {
- color: #f0f0ea;
- }
- [lang=en] article a {
- color: #ffbd2b;
- }
- [lang=en] article a:visited {
- color: #ff6b03;
- }
- [lang=en] blockquote,
- [lang=en] figure {
- background: #111930;
- color: #ccc;
- }
- </style>
- <nav>
- <p>
- <a href="/david/" title="Profil public">David Larlet</a> partage ses <a href="/david/blog/" title="Expériences bienveillantes">réflexions</a> et sa <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a>.
- </p>
- </nav>
-
- <h1>Medium et pizzas</h1>
- <time>2015-03-24</time>
- <article>
- <blockquote>
- <p>Still, I wouldn’t say that Medium’s homogeneous design is bad <em>ex ante</em>. Among web-publishing tools, I see Medium as the equivalent of a frozen pizza: not as wholesome as a meal you could make yourself, but for those without the time or motivation to cook, a potentially better option than just eating peanut butter straight from the jar.</p>
- <p>[…]</p>
- <p>In truth, Medium’s main product is not a publishing platform, but the promotion of a publishing platform. This promotion brings readers and writers onto the site. This, in turn, generates the usage data that’s valuable to advertisers. Boiled down, Medium is simply marketing in the service of more marketing. It is not a “place for ideas.” It is a place for advertisers. It is, therefore, utterly superfluous.</p>
- <p>[…]</p>
- <p><strong>Whereas the traditional typewriter offered freedom at the cost of design, the billionaire’s typewriter offers convenience at the cost of freedom.</strong></p>
- <p><cite><em><a href="http://practicaltypography.com/billionaires-typewriter.html">The billionaire’s typewriter</a></em> (<a href="/david/cache/07e6ba2425870233ffb2af9a31eb43d9/">cache</a>)</cite></p>
- </blockquote>
- <p>Matthew Butterick un peu énervé par la colère nous donne son avis sur Medium et c’est violemment justifié. Et pendant ce temps là, dans une galaxie pas si éloignée…</p>
- <blockquote>
- <p>These days blogging tools try to lock you into their business model, and lock other developers out. I have the freedom to do what I want, so I decided to take the exact opposite approach. I don’t want to lock people in and make them dependent on me. Instead, I want to learn from thinkers and writers and developers. I want to engage with other minds. Making money, at this stage of my career, is not so interesting to me. I’d much rather make ideas, and new working relationships, and friends. </p>
- <p><cite><em><a href="http://scripting.com/2015/03/23/mywordEditorIsOpenSource.html">MyWord Editor is open source</a></em> (<a href="/david/cache/31ac8edca25131c55c2f3948f0cd842f/">cache</a>)</cite></p>
- </blockquote>
- <p>Servez une pizza surgelée à un écrivain, il n’aura droit qu’à l’olive.<br />
- Apprenez-lui à faire une pizza, il pourra la partager avec ses amis.</p>
- </article>
-
-
- <nav>
- <p>
- <a rel=prev href="/david/stream/2015/03/23/">← Chère donnée</a> | <a href="/david/stream/2015/" title="Retour à la liste complète">↑</a> | <a rel=next href="/david/stream/2015/03/25/">Slack et IRC →</a>
- </p>
- </nav>
-
-
-
-
- <aside>
- <p>
- Articles choisis :
- <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
- <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
- <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
- <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
- <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
- <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
- <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
- <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
- <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
- <a href="/david/blog/2015/travail-transition/" title="Accéder à l’article complet">Travail en transition</a>,
- <a href="/david/blog/2015/pairmutation-travail/" title="Accéder à l’article complet">La pairmutation du travail</a>,
- <a href="/david/blog/2015/principes-web/" title="Accéder à l’article complet">Principes Web</a>,
- <a href="/david/blog/2015/travail-transition/" title="Accéder à l’article complet">Travail en transition</a>,
- <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
- <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
- <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
- <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
- et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
- </p>
- </aside>
-
-
-
- <nav>
- <p>
- <abbr title="Lieu de vie et de potentielles rencontres actuel">Montréal</abbr> ·
- <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Contact</a> ·
- <a href="http://larlet.com" title="Identité professionnelle">[Travailler ensemble ?]</a> ·
- <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">Hébergeur</abbr> ·
- <a href="/david/log/" title="S’abonner aux publications via RSS">Flux</a>
- </p>
- </nav>
-
- <script>
- /* Service workers */
- if (navigator.serviceWorker) {
- window.addEventListener('load', function () {
- var selector = 'a[href^="/david/cache/"], a[rel=prev], a[rel=next]'
- function sendLinks (selector) {
- var links = [].slice.call(document.querySelectorAll(selector)).map(function (link) {
- return link.getAttribute('href')
- })
- links.push(location.pathname) // Put the current page in cache too.
- navigator.serviceWorker.controller.postMessage({ links: links })
- }
- navigator.serviceWorker.getRegistration()
- .then(function (registration) {
- if (!registration || !navigator.serviceWorker.controller) {
- return navigator.serviceWorker.register('/serviceworker.js')
- .then(navigator.serviceWorker.ready)
- .then(function () {
- console.log('[ServiceWorker] Ready to go!')
- })
- .catch(console.error.bind(console))
- } else {
- console.log('[ServiceWorker] Send links via registration')
- sendLinks(selector)
- }
- })
- navigator.serviceWorker.addEventListener('controllerchange', function () {
- console.log('[ServiceWorker] Send links via controller change')
- sendLinks(selector)
- })
- navigator.serviceWorker.addEventListener('message', function (event) {
- var link = document.querySelector('a[href="' + event.data.link + '"]')
- if (event.data.status && link) {
- link.style.backgroundColor = '#2d7474'
- link.style.color = '#f0f0ea'
-
- link.setAttribute('title', 'En cache pour consultation sans connexion')
-
- }
- })
- })
- } else {
- console.warn('[ServiceWorker] No cache for old browsers.')
- }
- </script>
|