A place to cache linked articles (think custom and personal wayback machine)
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

index.html 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="en">
  4. <!-- Has to be within the first 1024 bytes, hence before the `title` element
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>25th work anniversary (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Is that even respected? Retrospectively? What a shAItshow…
  28. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  29. <meta name="robots" content="noai, noimageai">
  30. <!-- Documented, feel free to shoot an email. -->
  31. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  32. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  36. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  37. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  38. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  39. <script>
  40. function toggleTheme(themeName) {
  41. document.documentElement.classList.toggle(
  42. 'forced-dark',
  43. themeName === 'dark'
  44. )
  45. document.documentElement.classList.toggle(
  46. 'forced-light',
  47. themeName === 'light'
  48. )
  49. }
  50. const selectedTheme = localStorage.getItem('theme')
  51. if (selectedTheme !== 'undefined') {
  52. toggleTheme(selectedTheme)
  53. }
  54. </script>
  55. <meta name="robots" content="noindex, nofollow">
  56. <meta content="origin-when-cross-origin" name="referrer">
  57. <!-- Canonical URL for SEO purposes -->
  58. <link rel="canonical" href="https://blog.koalie.net/2024/02/29/25th-work-anniversary/">
  59. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  60. <article>
  61. <header>
  62. <h1>25th work anniversary</h1>
  63. </header>
  64. <nav>
  65. <p class="center">
  66. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  67. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  68. </svg> Accueil</a> •
  69. <a href="https://blog.koalie.net/2024/02/29/25th-work-anniversary/" title="Lien vers le contenu original">Source originale</a>
  70. <br>
  71. Mis en cache le 2024-03-01
  72. </p>
  73. </nav>
  74. <hr>
  75. <p><img src="https://blog.koalie.net/wp-content/uploads/2024/02/koalie-mit-ids-825x510.jpeg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Two Massachusetts Institute of Technology (MIT) identification cards on a wooden surface, with a retractable key holder. The cards show the same individual's photo and name with different expiration dates." decoding="async" fetchpriority="high"></p>
  76. <p>25 January 1999 was my first day at <a href="http://w3.org">W3C</a>. I was 23 years old when I started. I’ve now spent more than half my life at that. I regret nothing because I find the work I do really interesting, important, meaningful; and I don’t tire of it because I feel like there’s renewal every now and then. I’ve held many positions, worn many hats, learned a lot of things and I work with incredibly smart and dedicated people. This has been and is very rewarding.</p>
  77. <div class="wp-block-image">
  78. <figure class="aligncenter size-full"><img decoding="async" src="https://blog.koalie.net/wp-content/uploads/2024/02/19990219_coralie-w3c-office.jpg" alt="Young white woman with long brown hair sitting at an office desk with a large cathode ray tube monitor, computer, papers, and a window with blinds in the background." class="wp-image-30742" srcset="https://blog.koalie.net/wp-content/uploads/2024/02/19990219_coralie-w3c-office.jpg 640w, https://blog.koalie.net/wp-content/uploads/2024/02/19990219_coralie-w3c-office-300x225.jpg 300w" sizes="(max-width: 640px) 100vw, 640px"><figcaption class="wp-element-caption">Coralie at her desk. Photo of February 1999. Resolution of 640x480px, because: early digital cameras!</figcaption></figure></div>
  79. <p>I selected a highlight for each year (in many cases it was hard to choose just one, so I didn’t) for a retrospective:</p>
  80. <ul>
  81. <li>1999: Meeting in Toronto; my first transatlantic flight</li>
  82. <li>2000: Organized the first W3C <a href="https://www.w3.org/news-events/w3c-tpac/"><abbr title="Technical Plenary and Advisory Committee meeting">TPAC</abbr></a> in Europe: TPAC 2001, Mandelieu</li>
  83. <li>2001: Started to code my personal website (<a href="https://www.koalie.net">koalie.net</a>)</li>
  84. <li>2002: Training in management</li>
  85. <li>2003: Elected staff representative (per French Labour law)</li>
  86. <li>2004: Was asked to consider joining the W3C Comm Team</li>
  87. <li>2005: Joined the Comm Team (half-time); became staff contact of the <a href="https://www.w3.org/2002/ab/">W3C Advisory Board</a> (a role I held for 12 years)</li>
  88. <li>2006: Moved to Boston to work 9 months at MIT as a “Visiting Scholar”</li>
  89. <li>2007: Handed off the management of the W3C Europe team’s travels, budgets and policies</li>
  90. <li>2008: Joined the Comm Team full-time; organized my last big meeting: TPAC 2008 + Team Day, in Mandelieu</li>
  91. <li>2009: Learn to edit the W3C website</li>
  92. <li>2010: Put W3C on social media, and Tim Berners-Lee on Twitter</li>
  93. <li>2011: Interviewed for a job elsewhere but failed after round 3</li>
  94. <li>2012: Co-wrote the first draft of the W3C code of ethics and professional conduct</li>
  95. <li>2013: Training in product management; First presentation in front of W3C Members (on how incubated work moves to the standardization track)</li>
  96. <li>2014: Spearheaded “Webizen”, a first attempt to open W3C Membership to individuals; Re-elected Staff Representative</li>
  97. <li>2015: Became Head of the W3C Comm Team</li>
  98. <li>2016: Survived year one of the Encrypted Media Extensions public relations nightmare</li>
  99. <li>2017: Stopped being the AB Team contact; Survived year two of EME PR nightmare</li>
  100. <li>2018: Management of the W3C “diversity fund” to financially help people who are from under-represented communities attend TPAC; Re-elected Staff Representative</li>
  101. <li>2019: Go-to-Market strategy for W3C’s legal entity; Narrative strategy for fundraising in the future</li>
  102. <li>2020: <a href="https://www.w3.org/help/w3c-website-design/">W3C Website rede</a>sign project (<abbr title="request for proposals">RFP</abbr>, selection, contributions, leading)</li>
  103. <li>2021: The “Ralph’s office zoom background” <a href="https://blog.koalie.net/2021/01/29/pranking/">prank</a>; W3C Website redesign (continued)</li>
  104. <li>2022: Re-elected Staff Representative; Website public content re-write; second attempt to open W3C Membership to individuals; proposed W3C internal re-organization; <a href="https://blog.koalie.net/2022/12/20/burnout/">burn-out</a></li>
  105. <li>2023: W3C Website launch; got COVID for the first time; Humane Technology Design certification; e(X)filtration of the W3C Twitter account and moved it full-time to Mastodon (an instance we operate ourselves)</li>
  106. </ul>
  107. <p>It is as likely as anything else that I will finish my career at the Web Consortium. I wouldn’t mind!</p>
  108. </article>
  109. <hr>
  110. <footer>
  111. <p>
  112. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  113. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  114. </svg> Accueil</a> •
  115. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  116. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  117. </svg> Suivre</a> •
  118. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  119. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  120. </svg> Pro</a> •
  121. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  122. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  123. </svg> Email</a> •
  124. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  125. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  126. </svg> Légal</abbr>
  127. </p>
  128. <template id="theme-selector">
  129. <form>
  130. <fieldset>
  131. <legend><svg class="icon icon-brightness-contrast">
  132. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  133. </svg> Thème</legend>
  134. <label>
  135. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  136. </label>
  137. <label>
  138. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  139. </label>
  140. <label>
  141. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  142. </label>
  143. </fieldset>
  144. </form>
  145. </template>
  146. </footer>
  147. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  148. <script>
  149. function loadThemeForm(templateName) {
  150. const themeSelectorTemplate = document.querySelector(templateName)
  151. const form = themeSelectorTemplate.content.firstElementChild
  152. themeSelectorTemplate.replaceWith(form)
  153. form.addEventListener('change', (e) => {
  154. const chosenColorScheme = e.target.value
  155. localStorage.setItem('theme', chosenColorScheme)
  156. toggleTheme(chosenColorScheme)
  157. })
  158. const selectedTheme = localStorage.getItem('theme')
  159. if (selectedTheme && selectedTheme !== 'undefined') {
  160. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  161. }
  162. }
  163. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  164. window.addEventListener('load', () => {
  165. let hasDarkRules = false
  166. for (const styleSheet of Array.from(document.styleSheets)) {
  167. let mediaRules = []
  168. for (const cssRule of styleSheet.cssRules) {
  169. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  170. continue
  171. }
  172. // WARNING: Safari does not have/supports `conditionText`.
  173. if (cssRule.conditionText) {
  174. if (cssRule.conditionText !== prefersColorSchemeDark) {
  175. continue
  176. }
  177. } else {
  178. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  179. continue
  180. }
  181. }
  182. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  183. }
  184. // WARNING: do not try to insert a Rule to a styleSheet you are
  185. // currently iterating on, otherwise the browser will be stuck
  186. // in a infinite loop…
  187. for (const mediaRule of mediaRules) {
  188. styleSheet.insertRule(mediaRule.cssText)
  189. hasDarkRules = true
  190. }
  191. }
  192. if (hasDarkRules) {
  193. loadThemeForm('#theme-selector')
  194. }
  195. })
  196. </script>
  197. </body>
  198. </html>