The weirdest first day of vacation

“Yes, I’ll be working a bit on the project while I’m off because I really dig it!”

Me, massively underestimating “a bit”
In this write-up, I’m attempting the epistolary narrative style that I remember enjoying from Stephen Chbosky’s excellent novel “The perks of being a wallflower”

Dear diary, I slept in this morning \o/, got up and drank two or three cups of espresso while I lazily browsed social media and played a few games on my smartphone. I did yoga a bit before noon, showered, and got ready for the rest of my first day of vacation.

I ate a light lunch standing up in the kitchen as I was transplanting the ferns I collected last Sunday near the lake.

As I pondered which subject I was going to draw later in the day as part of Inktober, I also pondered the oddity of my Apple Watch not recongnising as “stood” the good chunk of the previous hour that I had spent, well… standing. I certainly had been “moving a little” on the account of transplanting ferns not being the kind of activity you can engage in by being immobile.

Memoji-2020-laptop

A quick time-check led me to my desk. I had just enough time to publish a press release.

I drank more espresso, took the dog out for a walk and by then I had a pretty good idea what I was going to draw. I returned to my desk again for a one-hour meeting that lasted three hours /o\ That’s the first massive underestimation of how much time to block for that project (the W3C website redesign).

My brother showed up during my call (much earlier than I anticipated) and as he didn’t have his keys he tried to FaceTime me. I rejected the call, texted him that I was in a meeting, but he responded by texting me that he was outside. So I ran downstairs to let him in, ran back up and continued with my colleagues.

Memoji-2020-shock

The doorbell rang not too long after. I apologised to my colleagues and ran downstairs and outside to pick up a delivery that I expected tomorrow. I dropped the unopened package on the dining table and as I headed back upstairs to my computer, I smiled at my brother. By then he was taking all the space on the sofa, which was fine because the cat doesn’t like the sofa that much.

My valiant colleagues and I had been at it for what seemed like days, and I was aware that each of them had other fish to fry, and yet nobody else was better positioned than them/us to do what we needed to do. Time was passing and it was food o’clock in all of our time zones.

We were done. Rather suddenly —It was the strangest thing! It seemed only moments before that we had gone through two thirds of the exercise and I was agonising (out of shame because I was getting way more of their time than was bargained for, and because my brother was waiting downstairs.)

Memoji-2020-shrug

The completion of our task took us all by surprise! As I quickly thankologised profusely to them, one of my colleagues quipped that he was almost late for second breakfast, another enquired how many breakfasts there were and whether several lunches followed and how many, and the third colleague really looked like he wanted us all to put on more work! So my finger smashed the Zoom button that ended the meeting for all.

It was 8 o’clock. I was thinking that working the equivalent of a half-day during my vacation wasn’t too bad from the point of view of my employer, and I wondered if I had missed the time before which I could still go back on how many days I was really taking.

My brother wanted me to try a particular wine that he likes very much. Opening my package made me happy: my favourite fragrance arrived in two versions: regular and “body mist.” My brother’s wine was very good, he’s right. We sipped it and ate guacamole and chips while the oven heated. I made a nice dinner that didn’t take long to prepare, and we both enjoyed it.

Soon enough we were on the sofa, me drinking espresso and him drinking tea; each talking to each other with interest, him about why some stuff changed at his workplace and me suggesting further areas of optimisation (he will at least explore one idea.) I stood up a few times and “moved a little”, as commanded by my smart watch. He doesn’t mind, he doesn’t think I’m weird.

I grabbed my art book, pencil and ink pen a bit before 11 o’clock. Today’s Inktober prompt is “sleep” and I was going to draw a newborn sleeping next to his daddy’s chest. My brother commented that the photo I used as reference was too detailed, and he may be right, but I had a good feeling about it and told him I was trying a minute or two before giving up. My feeling was indeed right, and my brother was surprised when I was finished, because I finished earlier than he anticipated, and the drawing was pretty good.

Memoji-2020-party

Eventually, my brother left. It was 2 am. We had spent a lovely evening together. It had been a nice break from work but I was keen on finishing where I left off, out of duty because of the timeline that was agreed on.

The time tracker on my computer started logging a new day at 5 am. I was done right after 6. Whew! This was the second massive underestimation of how much time to block for that project. But now the people we work with can do their part and hopefully we will all meet the deadline in two days.

As I stood at my window, sipping espresso and watching the sky going from really dark to some sort of hesitant but unmistakable glow, I observed that it’s a whole day of vacation I could have written off.

A bitter pill to swallow

Illustration of a sad person at a desk

I was prepared for that meeting where a man said the same things I said. But I wasn’t prepared to hear that in spite of being the project manager, I would need to be trained if I were to act as interface with people on this project. It’s not like I hadn’t been interfacing so far, and the group needed a different kind of interfacing. So I’ve been wearing my cranky pants for a couple of days. There’s a large dent in my motivation as a result, and an even bigger dent in my sense of worth.

My other website behind the curtain

I’ve been editing the W3C website for a few decades now (gasp!) and in leading its redesign from the 2008 design, I am learning an astounding amount of new things about it! Here are some of the things I know about it.

Illustration of a spotlight lighting a man running, graphs and a book

Spotlight on the W3C website

In the 21 years I’ve been with the W3C, I remember only 3 different designs, the current one dates from a decade ago. Redesigning our website is crucial to improve the overall experience of those who depends on our Web standards work.

The website is managed by W3C itself and has been up for three decades. It currently contains over 2 million web pages. They’re static HTML or built in Perl, PHP, come from WordPress or are custom built using Symfony.

Illustration showing a woman at her computer leaning against stacked objects adorned with a gear

Tech stack summary

  • Debian Linux
  • Apache is used for serving the static content
  • MySQL for database storage
  • Varnish HTTP Cache is used for full-page caching
  • HAProxy is used for load balancing
  • There are over 3,700 Apache .htaccess files with different rewrite rules
Illustration showing hands at a keyboard in front of a screen

Hosting & content

In a large-scale hosting setup, there are around 100 servers running Linux Debian on OpenStack, of which 20 to 30 servers are related to the primary website.

Web content is stored mostly in CVS and databases via CMS tools (WordPress, Symfony), and secondarily in GitLab and GitHub.

Most content is managed as static HTML edited locally (e.g. emacs, vi, BlueGriffon) and committed into CVS repositories using CVS clients, the terminal or HTTP PUT or WebDAV. Or, content is generated dynamically using Symfony or statically via makefiles, XML and XSLT.

25 instances of WordPress power the W3C Blog (over 950 posts) and W3C News (over 4,200 items), but also our Talks, working groups blogs, a test site, and W3C Community and Business Groups.

Illustration of an alien beamed by a UFO

The W3C Homepage

The current homepage of the W3C website is a mix of HTML snippets which usually appears elsewhere on the W3C site, generated via XML, XSLT, PHP and other tools:

  • The News items are read from WordPress
    • The “homepage news” category determines what to show on the W3C homepage; we typically show up to 9 entries
    • The “top story” category determines which news item is expanded on the W3C homepage; we prefer to feature one, but have at times shown two or more
  • The right-hand side shows the last three posts from the W3C Blog
  • W3C Member Testimonials rotate from a database
  • The Events and Talks are shown from a Symfony app and WordPress respectively
  • The search bar links to an external DuckDuckGo search (that we chose for its good reputation for data privacy)
  • The rest is static

Markup errors in any of the source files will likely “break” the homepage. On average, I break the homepage 10% of the time!

Mes lightning talks à Paris Web

Paris Web 2014

C’est là qu’est l’os (Paris Web 2014, lightning talk) [slides]

Lightning talks from Paris Web on Vimeo.

Paris Web 2016

Je l’ai annoncé, puis je l’ai présenté : Le rôle du staff W3C pour continuer de réinventer le Web de demain (Paris Web 2016, lightning talk) [slides]

Lightning talks from Paris Web on Vimeo.

Photo of me on stage at a transparent pulpit with microphone. I am a woman with short auburn curly hair. I wear a white shirt and blue jeans. I am looking at the audience. Behind me on the large screen is the bottom right of a slide where I hand wrote in white my name, affiliation and handle.
Coralie Mercier, Paris Web 2016, Photo by Emmanuelle Legrand