Friday, October 15th, 2021
Tuesday, October 12th, 2021
Welcome to Brighton!!!
Saturday, October 2nd, 2021
Thursday, September 30th, 2021
Twenty years of writing on my website
On this day twenty years ago I wrote the first entry in my online journal. In the intervening two decades I’ve written a further 2,817 entries.
I am now fifty years old, which means I’ve been blogging for two fifths of my lifetime.
My website has actually been around for longer than twenty years, but its early incarnations had no blog. That all changed when I relaunched the site on September 30th, 2001.
I’m not quite sure what I will be saying here over the coming days, weeks, months and years.
Honestly I still feel like that.
I think it’s safe to assume an “anything goes” attitude for what I post here. Being a web developer, there’s bound to be lots of geeky, techy stuff but I also want a place where I can rant and rave about life in general.
That’s been pretty true, although I feel that maybe there’s been too much geeky stuff and not enough about everything else in my life.
I’ll try and post fairly regularly but I don’t want to make any promises I can’t keep. Hopefully, I’ll be updating the journal on a daily basis.
I made no promises but I think I’ve done a pretty good job. Many’s the blogger who has let the weeds grow over their websites as they were lured by the siren song of centralised social networks. I’m glad that I’ve managed to avoid that fate. It feels good to look back on twenty years of updates posted on my own domain.
Anyway, let’s see what happens. I hope you’ll like it.
I hope you still like it.
Here are some of my handpicked highlights from the past twenty years of blogging:
- Hyperdrive, April 20th, 2007
Last night in San Francisco.
- Design doing, November 11, 2007
The opposite of design thinking.
- Iron Man and me, December 1st, 2008
The story of how one of my Flickr pictures came to be used in a Hollywood movie.
- Seams, May 12th, 2014
There is a crack, a crack in everything. That’s how the light gets in.
- Web! What is it good for?, May 28th, 2015
Not absolutely nothing, but not absolutely everything either.
- Split, April 10th, 2019
Materials and tools; client and server; declarative and imperative; inclusion and privilege.
Tuesday, September 28th, 2021
Thursday, September 23rd, 2021
Going to London. brb
Wednesday, September 22nd, 2021
Welcome to Brighton!
You picked a nice day for it!
Tuesday, September 21st, 2021
Pondering the cognitive dissonance of being in favour of vaccines but against GMO crops.
The science-sceptical arguments against both are remarkably similar.
And both are in reality safe and effective.
Thursday, September 16th, 2021
Someone needs to update howmanypeopleareinspacerightnow.com
There are fourteen people in space right now (on three different spacecraft).
Tuesday, September 14th, 2021
Ooh, yeah, that was fun!
Monday, September 13th, 2021
Stakeholders of styling
When I wrote about the new
accent-color property in CSS, I pondered how much control a web developer should have over styling form controls:
Who are we to make that decision? Shouldn’t the user’s choice take primacy over our choices?
But then again, where do we draw the line? We’re allowed over-ride link colours. We’re allowed over-ride font choices.
Ultimately, I came down on the side of granting authors more control:
If developers don’t get a standardised way to customise native form controls, they’ll just recreate their own over-engineered versions.
This question of “who gets to decide?” used to be much more prevelant in the early days of the web. One way to think about this is that there are three stakeholders involved in the presentation of a web page:
- The author of the page. “Author” is spec-speak for designer or developer.
- The user.
- The browser, or user agent. A piece of software tries to balance the needs of both author and user. But, as the name implies, the user takes precedence.
These days we tend to think of web design a single-stakeholder undertaking. The author decides how something should be presented and then executes that decision using CSS.
But as Eric once said, every line of you CSS you write is a suggestion to the browser. That’s not how we think about CSS though. We think of CSS like a series of instructions rather than suggestions. Never mind respecting the user’s preferences; one of the first things we do is reset all the user agent’s styles.
In the early days of the web, more consideration was given to the idea of style suggestions rather than instructions. Heck, users could always over-ride any of your suggestions with their own user stylesheet. These days, users would need to install a browser extension to do the same thing.
h2.font.size = 20pt 40%
Here, the requested influence is reduced to 40%. If a style sheet later in the cascade also requests influence over h2.font.size, up to 60% can be granted. When the document is rendered, a weighted average of the two requests is calculated, and the final font size is determined.
I think the only remnant of “influence” left in CSS is accidental. It’s in the specificity of selectors …and the
I think it’s a shame that user stylesheets are no longer a thing. But I get why they were dropped from browsers. They date from a time when it was mostly nerds using the web, before “regular folks” came on board. I understand why it became a little-used feature, suitable for being dropped. But the principle of it still rankles slightly.
But in recent years there has been a slight return to the multi-stakeholder concept of styling websites. Thanks to
prefers-color-scheme, a responsible author can choose to bow to the wishes of the user.
I was reminded of this when I added a dark mode to my website:
Y’know, when I first heard about Apple adding dark mode to their OS—and also to CSS—I thought, “Oh, great, Apple are making shit up again!” But then I realised that, like user style sheets, this is one more reminder to designers and developers that they don’t get the last word—users do.
Saturday, September 11th, 2021
Yes, but the selection is very limited:
Friday, September 10th, 2021
Saturday, September 4th, 2021
Thursday, September 2nd, 2021
It felt strange to be inside a building with other humans sharing an experience. At times it felt uncomfortable. The speaker’s dinner the night before the conference was lovely …and anxiety-inducing. Not just because it was my first time socialising in ages, but also just because it was indoors. I’ve been avoid indoor dining.
But the travel to Zürich all went smoothly. The airport wasn’t too busy. And on the airplane, everyone was dutifully masked up.
There’s definitely more paperwork and logistics involved in travelling overseas now. Jessica and I had to fill in our passenger locator forms for Switzerland and the UK. We also needed to pre-book a Covid test for two days after we got back. And we had to get a Covid test while we were in Switzerland so that we could show a negative result on returning to England. It doesn’t matter if you’re double-vaccinated; these tests are mandatory, which is totally fair.
Fortunately the conference organisers took care of booking those tests, which was great. On the first day of the conference I ducked out during the first break to go to the clinic next door and have a swab shoved up my nose. Ten minutes later I was handed a test result—negative!—complete with an official-looking stamp on it.
Two days later, after the conference was over, we had time to explore Zürich before heading to the airport to catch our evening flight. We had a very relaxing day which included a lovely boat trip out on the lake.
It was when we got to the airport that the relaxation ended.
We showed up at the airport in loads of time. I subscribe to the Craig Mod school of travel anyway, but given The Situation, I wanted to make sure we accounted for any extra time needed.
We went through security just fine and waited around for our gate to come up on the screen of gates and flights. Once we had a gate, we made our way there. We had to go through passport control but that didn’t take too long.
At the gate, there was a queue so—being residents of England—we immediately got in line. The airline was checking everyone’s paperwork.
When we got to the front of the line, we showed all our documents. Passport? Check. Boarding pass? Check. Passenger locator form? Check. Negative Covid result? Che …wait a minute, said the member of staff, this is in German. According to gov.uk, the test result needs to be in English, French, or Spanish.
I looked at the result. Apart from the heading at the top, all of the actual information was international: names, dates, and the test result itself said “neg.”
Not good enough.
My heart sank. “Call or email the clinic where you got the result. Get them to send you an English or French version” said the airline representative. Okay. We went off to the side and started doing that.
At this point there was still a good 40 or 50 minutes ’till the flight took off. We could sort this out.
I phoned the clinic. It was late Saturday afternoon and the clinic was closed. Shit!
Jessica and I went back to the gate agent we were dealing with and began pleading our case (in German …maybe that would help). She was very sympathetic but her hands were tied. Then she proposed a long shot. There was a Covid-testing centre in the airport. She would call them and tell them we were coming. But at this point it was 35 minutes until the flight left. We’d really have to leg it.
She scribbled down vague directions for where we had to go, and we immediately pelted off.
At this point I feel I should confess. I did not exhibit grace under pressure. I was, to put it mildy, freaking out.
Perhaps because I was the one selfishly indulging in panic, Jessica kept her head. She reminded me that we weren’t travelling to a conference—there wasn’t anywhere we had to be. Worst case scenario, we’d have to spend an extra night in Zürich and get a different flight tomorrow. She was right. I needed to hear that.
I was still freaking out though. We were running around like headless chickens trying to find where we needed to go. The instructions had left out the crucial bit of information that we actually needed to exit through passport control (temporarily re-entering Swiss territory) in order to get to the testing centre. Until we figured that out, we were just running hither and tither in a panic while the clock continued to count down.
It was a nightmare. I don’t mean that figuratively. I mean, I’m pretty sure I’ve had this exact nightmare. I’m in a building with a layout I don’t know and I need to get somewhere urgently but I don’t know how to get there.
Even the reason for this panicked situation felt like it had a dream logic to it. You know when you wake up from a bad dream and you examine the dream in retrospect and you realise it doesn’t actually make any sense? Well, that’s how this felt. You’ve got a negative test result but it needs it to be in one of these three languages …I mean, that sounds like the kind of nonsensical reasoning that should dissolve upon awakening.
Time was slipping away. Our flight leaves in twenty minutes.
Finally we realise that we need to go back through passport control. On the other side we run around some more until we spot the location that matches the vague description we’ve been given. There’s a sign! Covid testing centre!
We burst in through the doors. The gate agent had called ahead so we were expected. The young doctor on duty was cool as a cucumber. He must have to deal with this situation all day long. He calmly got us both to start filling in the appropriate online forms to pay for the tests, but instead of waiting for us to finish doing that, he started the testing straight away. Smart!
This felt like another nightmare I’ve had. I don’t mean having a swab shoved up my nose until it tickles my brain—that was probably the least uncomfortable part of this whole ordeal. I mean I need to fill out this web form accurately. On a touch screen device. And do it as quickly as possible!
Well, we did it. Filled in the forms, got the swabs. But now it was less than fifteen minutes until our flight time and we knew we still had to get back through passport control where there were lines of people.
“You’ll have the test results by email in ten minutes,” said the doctor. “Go!”
We sprinted out of there and went straight for the passport lines. Swallowing my pride, I went to the people at the end of a line. “Our flight leaves in ten minutes! Can we please cut in front!?”
Right, next line. “Our flight leaves in…”
“Yes, yes! Go!”
“Thank you! Thank you so much!”
We repeated this craven begging until we got to the front of the line and gave our passports to the same guy who had orginally stamped them first time we came through. He was unfazed.
Then we ran back to the gate. Almost everyone had boarded by this point, but the gate was still open. Maybe we could actually make it!
But we still needed our test results. We both stood at the gate with our phones in hand, the email app open, frantically pulling to refresh.
The minutes were ticking by. At this point the flight departure time had arrived, but the gate agent said there was a slight delay. They could wait one or two minutes more.
Pull, refresh. Pull, refresh.
“I’ve got mine!” shouted Jessica. Half a minute later, mine showed up.
We showed the gate agent the results. She stamped whatever needed to be stamped and we were through.
I couldn’t believe it! Just 15 minutes ago I had been thinking we might as well give up—there was absolutely no way we were going to make it.
But here we were boarding the plane.
We got to our seats and strapped in. We were both quite sweaty and probably looked infectious …but we also had fresh proof that neither of had the ’rona.
We just sat there smiling, looking at each other, and shaking our heads. I just couldn’t believe we had actually made it.
The captain made an announcement. They were having a little technical difficulty with the plane’s system—no doubt the cause of the slight delay, luckily for us. They were going to reboot the system in the time-honoured fashion of turning it off and again.
The lights briefly went out and then came back on as the captain executed this manouvre.
Meanwhile Jessica and I were coming down from our adrenaline rush. Our breathing was beginning to finally slow down.
The captain’s voice came on again. That attempt at fixing the glitch hadn’t worked. So to play it safe, we were going to switch planes. The new plane would take off in an hour and a half from a different gate.
As the other passengers tutted and muttered noises of disapproval, Jessica and I just laughed. A delay? No problem!
But oh, the Alanis Morissette levels of irony! After all that stress at the mercy of the ticking clock, it turned out that time was in plentiful supply after all.
Everything after that proceeded without incident. We got on the replacement plane. We flew back to England. We breezed across the border and made our way home.
It felt good to be home.
Saturday, August 28th, 2021
Thursday, August 26th, 2021
Wednesday, August 25th, 2021