Covid sucks

We were at a wedding two weekends ago, and used the busy Eurostar from Amsterdam to London to get there. The train journey was lovely, but that’s probably where I picked up the disease. When we got back on the Sunday evening I had a sore throat. The following morning it was worse, and I tested positive for the coronavirus: an angry red T line that appeared even before the liquid had crept up to the C. We’ve been very cautious over for the last two years, and attending the wedding was a calculated risk. We masked as much as we could, but the dice rolled against us.

Fortunately we have a guest room with an en-suite bathroom that allows us to isolate from the rest of the household. Although Abi’s test on the Monday morning was negative, she wasn’t feeling great. As a precaution to shield Alex and Fiona, Abi joined me in the isolation chamber on Tuesday evening, and by Thursday she was testing positive as well. We’ve used Albert Heijn home delivery to keep the groceries flowing. Without a fridge, we’ve been living mostly on mueslibollen, cheese, and dry Kellogg’s cereal straight from the packet.

This was a rough ride. It’s only in the last couple of days that I’ve been starting to feel like myself again. After a week of nothing, my sense of smell has partly returned. Yesterday I actually felt bored, which was interesting. Until then I’d had a hard time concentrating on anything for any length of time. I’ve had a couple of books in here with me, but I only managed to finish one of them. We’ve watched some movies & TV shows together in the evenings, but mostly I’ve been feeling too exhausted to move or think.

Yesterday was a psychological low point. As well as feeling bored, I was starting to despair that this would ever end. We’ve been testing every day, and although my T line was fainter than the C line, I wasn’t seeing much change from day to day. I was scared that my immune system just wasn’t up to the task of clearing the virus, and that I’d still be in this state for weeks: the line getting slowly fainter, asymptotically approaching invisibility. Fiona is moving out next week. I’m upset that I haven’t been around with them for the last two weeks, and the thought of seeing them off to the airport in a taxi on Tuesday morning was painful. I had wanted these last couple of weeks at home to play out very differently.

Today, however, I tested and it was negative. I hardly dared to get my hopes up when a few minutes passed and there was still no line. But when 15 and 30 minutes went by and the T was still clear, I felt cautious relief. I’m still coughing, but that’s normal for me. (I have shitty lungs. I’ve never met a respiratory infection that didn’t love them.) My sense of smell isn’t all the way back, but at least it’s recovering.

Progression of my recent Covid tests, from Day 7 (18 July) to Day 11 (22 July). Day 0 was day of first positive test, Monday 11 July.

Abi is still testing positive, but her line is faint now as well, and today her C line appeared before the T line did. Also progress! But because we really don’t want to run the risk of Fiona testing positive on Tuesday morning before their flight, or Alex testing positive on Friday before we head off on our big road trip, I’m going to stay in isolation until tomorrow. If tomorrow’s test is negative as well, though, I’ll exit. I’ll probably keep wearing a mask around the house. Risk management is all about impact assessments and trade-offs. The impact of Alex or Fiona getting infected in the next few days would be really high, so extra caution is warranted.

Fun fact

In a meeting the other day, we were invited to give a “fun fact” about ourselves as an icebreaker. What I came up with is that I’ve been running my own blog for over 20 years.

Looking good for 20

“Blogging” is a hobbyist niche part of the web these days, so it counts as quirky; “20 years” is a round and notable number. But as soon as I said it out loud, I started worrying that everyone would think I was self-promoting and trying to drive traffic. Don’t forget to like and subscribe!

I’m not treating this as special event, and the only reason it even crossed my mind was because I wrote two whole posts in the last week and was surprised that two people (Hi Dave! Hi Alex!) even noticed. I first started writing this blog just after moving jobs in 2000 as a kind of a public postcard to people who knew me. For a while I enjoyed the “blog ring” community, finding new voices, linking to people I found interesting, cherishing hope that they’d like things I wrote and link back. I even did a small amount of tech blogging, again probably in the hope of getting recognized by bigger fish. In the last decade social media has changed the landscape, and blogging has waned. For a while I had an IFTTT recipe set up to auto-post anything I wrote here to Twitter, and occasionally that would generate some kind of comment response. The phase I’m in now is that I’m writing this blog for an audience of one: me. Both me now, because getting thoughts out of my head is an important tool for not getting stuck on them; and also for future me, who periodically comes back to look at thoughts and feelings from the past.

I’m not going to turn you away, beautiful stranger who stumbled in here by accident! But don’t expect me to go all Kottke.

For example: one of my work friends is following a course to become a personal trainer. She posted a chat message about keto diets, which prompted me to go back and look at what I wrote about hating Atkins many years ago. From a historical record perspective, it was a reminder that I’ve hit a “peak” weight of 77kg many times in the past, even though I have an enduring sense that I “should” be in the 71-73kg range. I stepped on the scales in early January this year and was dismayed to see myself at just over 88kg.

An interesting side effect of the pandemic lockdown is that I’ve had a lot of time to establish some different and consistent eating habits, and to “change my relationship with food” — something I’ve long felt would be much more useful to me than periodically going on a weight-loss diet. Before March, when I was flitting back and forth to Scotland every fortnight, I had some acquired some very bad snacking habits. There were always tasty treats available in the office; and at the end of the work day it was far too easy to load up on sweets and treats at the supermarket on the way back to my B&B. Travel itself was an opportunity to comfort myself with food. I’d fallen into a pattern of buying the same sandwich and snacks at Amsterdam and Edinburgh airports whenever I passed through, regardless of whether I was actually hungry.

When the opportunity isn’t there, the action can’t follow. For now, I’ve broken that pattern, and aligned myself with a different one. Even with almost no physical exercise, and without making any conscious attempts at calorie restrictions, I’ve somehow come down to 83kg. Reading my past notes about weight loss, reminding myself that I’d been at 77kg multiple times, and that 71-73 is not actually what I normally weigh, was a useful challenge to some of my negative thoughts. Thanks, past me! Future me: you’re probably reading this when you’re feeling bad about hitting some other arbitrary weight limit. Go easy on yourself. You’ve done this before, you can do it again.

Even though this blog has been active for 20 years, the underlying technology has changed quite a bit. The first articles I wrote were manual HTML fragments in a little PHP app I’d built myself on a shared account on EZPublishing. I switched to Movable Type in 2001 and loved it. I stayed up to date with all the versions, dabbled in the community, knew the template language inside out, even wrote a couple of plugins. In 2014 I moved to WordPress, because MT was creaking at the seams, and WP had reached a level of maturity I was happy with. I moved to shared hosting at Pair.com, and in 2014 switched to running my own server Linode. I’m still happy with that. In recent years I’ve swapped Apache for Nginx, and Let’s Encrypt and certbot now take care of all the annoying SSL stuff. When I see other people hand-crafting beautiful templates for their own site I still miss rolling my own designs, but usually only briefly. For now, I’m very happy with the balance of control and convenience that I get with WP.

I don’t know how many words I’ve written here, but they’ve all been non-fiction. At school, at uni, and well into the 90s I used to write short stories and occasionally, unsuccessfully, send manuscripts off to magazines. (Shout out to the IMPs from the Compuserve days.) It’s not something I’ve done in ages. I do still occasionally get the urge to write fiction again — usually just after I’ve read a book or watched a film that’s right up my alley. I want more of those stories to exist in the world!

Over the last week or so Fiona and I watched season 1 of Impulse. I’d spotted JWZ making reference to it a couple of times, and I was intrigued. It’s loosely based on Steven Gould’s book in the Jumper series. It’s really good, but also much darker than I’d expected: the story is driven by the main character’s experience and survival of sexual assault. This week I went back and re-read Jumper, and realized that the theme is not out of place at all: Jumper deals with domestic abuse, anger, and ambiguous feelings about revenge in a very open way as well. Both fall in the superpowers-but-not-superheroes genre, an area I enjoy a lot, and they shook loose a few story ideas I’ve had on the shelf for a while.

Jumper: Amazon.de: Gould, Steven: Fremdsprachige Bücher

Here’s where I see another interesting difference between me twenty years ago and me, now: when I think about the effort that would go into writing a piece of fiction, I’m wondering how (and why) I would ever do something like that alone. Almost all the intellectual work I do these days, in the software arena, is a collaborative effort. We discuss, we plan, we prepare together, before we write a single line of code. The idea of going off and putting something down on paper before hashing it out thoroughly in a group first feels…strange.

Isn’t that what I’m doing right now on this blog, though? Where’s the difference? The image of the lone creator I have in my head isn’t even correct in the first place. Code review maps to early readers, QA maps to the editorial process. Architecture is reviewed in workshops and writing groups. The lone creator has never been alone.

But I really don’t need another project right now. So this weekend I’m just enjoying some world building inside my own head, and that’s where it’s likely to stay.

Digging your own rabbit hole

In the Kottke newsletter this week Tim Carmody highlights Dan Nosowitz’s article in NYMag “I Don’t Know How to Waste Time on the Internet Anymore”:

The other day, I found myself looking at a blinking cursor in a blank address bar in a new tab of my web browser. I was bored. I didn’t really feel like doing work, but I felt some distant compulsion to sit at my computer in a kind of work-simulacrum, so that at least at the end of the day I would feel gross and tired in the manner of someone who had worked. What I really wanted to do was waste some time.

But … I didn’t know how. I did not know what to type into the address bar of my browser. I stared at the cursor. Eventually, I typed “nytimes.com” and hit enter. Like a freaking dad. The entire world of the internet, one that used to boast so many ways to waste time, and here I was, reading the news. It was even worse than working.

As the kids (youngsters in their thirties) say these days (probably not any more): “It me”.

Very recently I downloaded Brent Simmons’s Evergreen RSS reader, which came pre-populated with an interesting selection of blog feeds he follows, and that I probably would never have come across myself. That was nice. Likewise, I’ve been dipping my toes in the water of Manton Reece’s micro.blog, and reading new things I find there. Sometimes it’s thoughts about how people respond to expectations, sometimes it’s a picture of someone’s back yard. It’s good stuff.

Tim Carmody calls it “digging your own rabbit hole”:

So what does this mean? Paradoxically, wasting time is now more work. You can certainly do it — the web is as full of nonsense as it ever was — but you have to look a little bit harder. You have to learn some new things. You have to find your own corners charting unmonetizable enthusiasms. It’s not just going to happen to you. You have to dig your own rabbit holes.

Curiously, this brings back a feeling of peeking into private spaces, even though these sites are openly available on the internet. But they’re not part of the mainstream: Twitter, Medium, Tumblr. If you want to be read these days, and you don’t already have an audience, you publish on one of the social outlets. Writing on your own site (the “indie web”) has different connotations: a certain resistance to the mainstream. I dig it.

One of Tim’s links there was to Austin Kleon’s article “What do you want to learn?”. This reminded me of a piece I wrote myself on Everything2 in 2001, “What can you do this month that you couldn’t do last month?”. Here’s the whole thing:

Earlier today, my wife and I were talking about the baby we have due in six weeks’ time. (We talk about this a lot.) We were considering how quickly babies grow, and how quickly they learn. A whole new individual takes form, its body, its personality, it’s whole being evolving on a daily basis. From one week to another it picks up new skills: holding a cup, grasping a spoon, crawling, walking, talking.

We never learn so much, so quickly, as when we are children.

Is the converse true? If we keep learning, and keep acquiring new skills, do we stay young?

For a child, a completely new thing is utterly fascinating. As we grow older, there are fewer new things to discover, and come to think that every day is like any other. We’ve seen and done it all before. And because we don’t experience it as often, we forget just how much fun the thrill of discovery is! Find that thrill, and you’ll find your inner child.

One of my goals in life is to have as much fun as possible. And learning new things is one of life’s greatest pleasures. So I owe it to myself to consider the following question on a regular basis:

What can I do this month that I couldn’t do last month?

If I can’t answer this with something new, interesting and fascinating, then I must be doing something wrong. This month, for instance, I have learned how to play hi-hat ostinatos on my drum kit. Very soon, I’ll be learning how to change nappies.

  • Learn a new language. Visit a foreign country, and learn all about it while you’re there!
  • Learn to play a musical instrument. Then, learn how to play along with your favourite songs!
  • Learn to juggle. Then, learn to do tricks with juggling balls!
  • Learn to cook. Discover how to prepare food like they do in posh restaurants!
  • Learn to make furniture. Build yourself a bookcase!
  • Learn to sew. Buy a pattern, and make a pair of trousers!
  • Learn to draw. Make sketches of your parents, or of your friends. Sketches evoke completely different memories than photographs do.

Just learn!

First of all, I’m always somewhat surprised when I discover that Everything2 still exists. That’s cool. Secondly, I had forgotten that I wrote that piece over on E2, rather than here on my own blog. (Which is why I included it above, just in case E2 goes away and I can’t find it again.)

Third, a sad realization that I can’t even name anything I can do now that I couldn’t do twelve months ago. (I’m not going to count CSS-grid.) So much of the last couple of years has been a determined slog through depression and recovery, both my own and that of others. Fun is something that happens to other people, or at the very least is eked out in small measures under the guise of minimal self care: taking walks, going to concerts, and binge-watching Netflix.

This isn’t a plea for help or sympathy, just a nudge to myself that I used do better, and, if I give myself the time and opportunity, I will do better again.

Memory

One of the items in Alexis Madrigal’s Five Intriguing Things newsletters last week was the article “All You Have Eaten: On Keeping a Perfect Record” by Rachel Khong.

It’s about NASA’s first “Hawaii Space Exploration Analog and Simulation” (HI-SEAS) project, which is an attempt to simulate some of the conditions astronauts would expect on a mission to Mars. Eight people spent four months isolated in a special habitat 2,500 meters up the slopes of Mauna Kea in Hawaii. One of the goals of the project was to observe how the subjects dealt with a limited diet during that time.

Rachel Khong juxtaposes the project with her own experience of keeping a detailed food diary:

For breakfast on January 2, 2008, I ate oatmeal with pumpkin seeds and brown sugar and drank a cup of green tea.

I know because it’s the first entry in a food log I still keep today. I began it as an experiment in food as a mnemonic device. The idea was this: I’d write something objective every day that would cue my memories into the future—they’d serve as compasses by which to remember moments.

[…]

What I’d like to have is a perfect record of every day. I’ve long been obsessed with this impossibility, that every day be perfectly productive and perfectly remembered. What I remember from January 2, 2008 is that after eating the oatmeal I went to the post office, where an old woman was arguing with a postal worker about postage—she thought what she’d affixed to her envelope was enough and he didn’t.

I can see the appeal. I don’t think I have the persistence to keep a food log that consistently for so long, but I’ve certainly been enjoying the more frequent, more mundane “breakfast blogging” I’ve been doing this year. (I think I’ve written more this year already than in the last three years combined.) Just the act of writing things down fixes and emphasizes things in my mind. What’s mundane to everyone else is a bookmark for me, a chalk mark on the pavement of memory lane. Without these little hints, the past lose resolution over time. Entire weeks and months become compressed into a daily average — get the kids ready for school, go to work, make dinner — until the point where I can’t even be certain I’m really the one who lived through them.

But whenever I examine it, the mundane turns out not to be so minute after all. Almost every time I sit down to write one of my “mixed media” posts, I think I’ll just pop down a simple bulleted list, only to end up north of five hundred words an hour or two later; in the process stumbling over a dozen fleeting moments that had already begun to fade.

So: expect this to continue.

Moving to WordPress

After twelve years of using Movable Type, I have just moved the blogs on sunpig.com to WordPress. For some time now, Movable Type has been failing two of my three tests for choosing a piece of platform software:

  • Is it well documented? (Yes.)
  • Is it under active development? (No, at least not in its open source version.)
  • Does it have an active and supportive user community? (Not any more.)

I still like its architectural model of static publishing, and (partly because of that) it has a great security record, which is important if you’re running your own server. I’ve been using MT since version 1, and I’ve clung to it for sentimental and pseudo-practical reasons (“I know the templating language really well!”) for a long time, but the online world is a much different place now, and the fact is that compared to all other avenues for writing online, MT 5’s interface is poor, and I dislike using it. As a result, I don’t. I blogged less in 2013 than in any previous year.

OpenMelody was a fork of the open source version of MT 4, but it seems to be dead now.

I was considering using Jekyll, which is a modern static site generator: write posts in your text editor, run a site generator from the command line, and `rsync` the generated html files to your server. This has lots of good points: it generates static files, and it plugs directly into my standard text editor workflow — with version control! This is great if you’re a programmer and always have access to a machine with a command line. Not so great if `bundle exec jekyll build` makes you twitchy, or if you like the idea of occasionally posting something from your phone. Also, no matter how you slice it, comments end up as a crazy hack. I can see myself using jekyll for other projects, just not for our main blogs.

Ghost is new and shiny and looks like it pushes the standard blogging interface forward, but: node + sqlite. Really? They sat down and actually came up with that decision? Also, I mistrust an open source project that has a “sign up” link on its home page, but not a “download”.

Drupal would probably do the job, but my impression is (perhaps incorrectly) that it is more geared towards sites rather than blogs.

So… WordPress. Big community, well documented, under active development. Used to have a bad rep for security, but is a lot better than it used to be, and since version 3.7 even features an automatic update process to apply maintenance and security patches. It also has well-established guidelines and practices for hardening an installation. It’s “the standard” these days. I have a general preference for “off-piste” solutions, but sometimes I just want to go with something that “just works”. Mostly.

It took me a few days to prepare the migration. I pulled the trigger yesterday evening, and by the (late) end of the evening, the new Death Star was mostly operational. Today has been mopping up and housekeeping. And so far, I’m feeling pretty good about it.

The new shiny:

I put together a GitHub repository with my notes, preparation, and migration scripts in case anyone else might benefit from the experience: https://github.com/sunpig/sunpig-mt-to-wp. If you notice any problems, let me know.

Movable Type drops support for Safari?

I’ve been an enthusiastic user and advocate of Movable Type since version 1 in 2001. I can’t remember any statement from Six Apart that has shocked me more than this one, made by Jun Kaneka on the MT support forum on 9th December:

Just to be clear, MT5 should work fine with Safari. Actually, the UI designer mainly uses Safari to develop MT5.

On the other hand, supported platform is defined by
the platform which QA team conducts their test. It is now

* Mozilla Firefox 3.5 or higher

* Internet Explorer 6.0 or higher

He slightly elaborates on this on the MTOS-dev mailing list, also on 9th December:

That’s the difference between “Supported” and “Should work fine”.
I’m sorry that the System Requirements page on MT.org
is not precise on that part. We will fix it.

The System Requirements page for MT was last updated on 10th December. The “Web Browser” section currently reads:

As Movable Type is a modern web application which uses Javascript and AJAX extensively, it requires a modern web browser. We strongly recommend the latest version of the following browsers. Browsers are free and easy to upgrade!

The Movable Type is tested and supported on the following browsers:

  • Mozilla Firefox 3.5 or higher
  • Internet Explorer 6.0 or higher (We STRONGLY recommend the latest version).

Movable Type should work fine with other modern browsers, but is not tested with these browsers:

  • Safari 3 or higher
  • Opera
  • Chrome
  • etc.

As a web developer, I completely understand the difference between “supported” and “should work”. Yahoo’s Graded Browser Support policy, with its definitions of A, C, and X-grade browsers codifies this concept neatly. With limited development and testing resources it is impossible to fully support every browser.

But for a company like Six Apart to restrict their list to IE6+ and Firefox 3.5+ is mind-boggling. First of all, there is a huge contradiction between the two platforms they do support: IE6 is eight years old, used by a small and rapidly declining percentage of users, and is widely known as the least capable browser platform still in common use today; Firefox 3.5 is one of the most advanced browsers currently available, but it was released a mere six months ago. Secondly: no Safari. Safari is the browser of choice for the vast majority of Mac users, and enjoys significant use on Windows, too.

The only thing I can think of when I look at that list is: enterprise. Movable Type has now completely abandoned its former user base of hobbyists, bloggers, and geeks, and wants to concentrate on selling into the corporate market. The vocal minority of people who will be pissed off by the absence of official Safari support &mdash the trendsetters, the evangelists, the plugin developers, the tutorial writers — are not the people 6A is interested in reaching any more. To be honest, most of them left for WordPress, Drupal, or ExpressionEngine a long time ago. For several years now, Movable Type has been lacking in product momentum, community, and cool factor, but damn it, it’s a great product with a fantastic feature set, and it’s an awesomely stable platform on which to build a site.

But if MT is abandoning me (I’m writing this in Chrome — not Safari, but part of the Webkit family), I don’t think I can continue to recommend it any more, and this makes me very sad.