Archive: December, 2018

88

sparkline
                    5th                     10th                     15th                     20th                     25th                     30th     
12am          
4am    
8am                    
12pm                      
4pm                              
8pm                      

map

Monday, December 31st, 2018

2018 in numbers

I posted to adactio.com 1,387 times in 2018: sparkline

In amongst those notes were:

In my blog posts, the top tags were:

  1. frontend and development (42 posts), sparkline
  2. serviceworkers (27 posts), sparkline
  3. design (20 posts), sparkline
  4. writing and publishing (19 posts), sparkline
  5. javascript (18 posts). sparkline

In my links, the top tags were:

  1. development (305 links), sparkline
  2. frontend (289 links), sparkline
  3. design (178 links), sparkline
  4. css (110 links), sparkline
  5. javascript (106 links). sparkline

When I wasn’t updating this site:

But these are just numbers. To get some real end-of-year thoughts, read posts by Remy, Andy, Ana, or Bill Gates.

I’m going to be flying back to England from Seattle before it’s midnight in the USA but after it’s midnight in the UK.

I think I’ve figured out a way to avoid awkward New Year’s “celebrations”.

How I write conference talks. — Ethan Marcotte

I can relate to Ethan’s 16-step process for writing conference talks.

Step 14 is the most important.

Sunday, December 30th, 2018

Very Slow Movie Player on Vimeo

I love this use of e-ink to play a film at 24 frames per day instead of 24 frames per minute.

Saturday, December 29th, 2018

Picture 1 Picture 2

Mesa and Lola.

The power of progressive enhancement

Andy’s slides:

We dive into why progressive enhancement is important and how we can leverage the power of Vanilla JavaScript, Web Components and modern CSS to deliver a hack-free, lightweight and progressive experience for our users.

as days pass by — Why isn’t it their job

The secret is: if you use semantic HTML, then they do the work, not you. Their browser does the work, not you. If your pages use semantic HTML, you’re not going to get bug reports saying that your web app doesn’t work in a screenreader, or your buttons don’t work without mouse clicks, or your site doesn’t show anything on a Yoyodyne SuperPhone 3 running FailBrowser, because it will and they will and it will. And using semantic HTML elements is no more effort; it’s just as easy to use main as it is to use div id="main". Easier, even.

Making single color SVG icons work in dark mode

Another good reason to use the currentColor value in SVGs.

Carson: Textured fluid type - Steve Honeyman

I reckon it’s time for distressed type to make a comeback—CSS is ready for it.

A New Mailing List, Goodbye Instagram?, Future Book Hello Again — Roden Explorers Archive

Craig’s slow walk away from Instagram:

I want to have a place very far apart from that, where I can post photos on my own terms. Not have an algorithm decide which of my posts is best (have you noticed Instagram making the second photo in series appear first in the carousel?). And I don’t want to be rewarded for being anodyne, which is what these general algorithms seem to optimize for: things that are easily digestible, firmly on the scale of “fine, just fine.” It becomes a self-fulfilling prophecy, as the more boring stuff we shove into our eyeballs, the more boring our taste becomes.

The 100 Year Web (In Praise of XML)

I don’t agree with Steven Pemberton on a lot of things—I’m not a fan of many of the Semantic Web technologies he likes, and I think that the Robustness Principle is well-suited to the web—but I always pay attention to what he has to say. I certainly share his concern that migrating everything to JavaScript is not good for interoperability:

This is why there are so few new elements in HTML5: they haven’t done any design, and instead said “if you need anything, you can always do it in Javascript”.

And they all have.

And they are all different.

Read this talk transcript, and even if you don’t agree with everything in it today, you may end up coming back to it in the future. He’s playing the long game:

The web is the way now that we distribute information. We will need the web pages we create now to be readable in 100 years time, just as we can still read 100-year-old books.

Requiring a webpage to depend on a particular 100-year-old implementation of Javascript is not exactly evidence of future-thinking.

Words I wrote in 2018

I wrote just shy of a hundred blog posts in 2018. That’s an increase from 2017. I’m happy about that.

Here are some posts that turned out okay…

A lot of my writing in 2018 was on technical topics—front-end development, service workers, and so on—but I should really make more of an effort to write about a wider range of topics. I always like when Zeldman writes about his glamourous life. Maybe in 2019 I’ll spend more time letting you know what I had for lunch.

I really enjoy writing words on this website. If I go too long between blog posts, I start to feel antsy. The only relief is to move my fingers up and down on the keyboard and publish something. Sounds like a bit of an addiction, doesn’t it? Well, as habits go, this is probably one of my healthier ones.

Thanks for reading my words in 2018. I didn’t write them for you—I wrote them for me—but it’s always nice when they resonate with others. I’ll keep on writing my brains out in 2019.

Friday, December 28th, 2018

Books I read in 2018

I read twenty books in 2018, which is exactly the same amount as I read in 2017. Reflecting on that last year, I said “It’s not as many as I hoped.” It does seem like a meagre amount, but in my defence, some of the books I read this year were fairly hefty tomes.

I decided to continue my experiment from last year of alternating fiction and non-fiction books. That didn’t quite work out, but it makes for a good guiding principle.

In ascending reading order, these are the books I read in 2018

A Fire Upon The Deep by Vernor Vinge

★★★☆☆

I started this towards the end of 2017 and finished it at the start of 2018. A good sci-fi romp, but stretched out a little bit long.

Time Travel: A History by James Gleick

★★★★☆

I really enjoyed this, but then, that’s hardly a surprise. The subject matter is tailor made for me. I don’t think this quite matches the brilliance of Gleick’s The Information, but I got a real kick out of it. A book dedicated to unearthing the archeology of a science-fiction concept is a truly fascinating idea. And it’s not just about time travel, per se—this is a meditation on the nature of time itself.

Traction by Gino Wickman

Andy was quite taken with this management book and purchased multiple copies for the Clearleft leadership team. I’ll refrain from rating it because it was more like a homework assignment than a book I would choose to read. It crystalises some good organisational advice into practical steps, but it probably could’ve been quite a bit shorter.

Provenance by Ann Leckie

★★★☆☆

It feels very unfair but inevitable to compare this to Ann Leckie’s amazing debut Imperial Radch series. It’s not in quite the same league, but it’s also not trying to be. This standalone book has a lighter tone. It’s a rollicking good sci-fi procedural. It may not be as mind-blowingly inventive as Ancillary Justice, but it’s still a thoroughly enjoyable read.

Visions, Ventures, Escape Velocities: A Collection of Space Futures edited by Ed Finn and Joey Eschrich, with guest editor Juliet Ulman

★★★☆☆

This book is free to download so it’s rather excellent value for money. It alternates sci-fi short stories with essays. Personally, I would skip the essays—they’re all a bit too academic for my taste. But some of these stories are truly excellent. There’s a really nice flow to the collection: it begins in low Earth orbit, then expands out to the Mars, the asteroid belt, and beyond. Death on Mars by Madeline Ashby was a real standout for me.

The Best of Richard Matheson by Richard Matheson, edited by Victor LaValle

★★★★☆

For some reason, I was sent a copy of this book by an editor at Penguin Classics. I have no idea why, but thank you, Sam! This turned out to be a lot of fun. I had forgotten just how many classics of horror and sci-fi are the work of Richard Matheson. He probably wrote your favourite Twilight Zone episode. There’s a real schlocky enoyment to be had from snacking on these short stories, occassionally interspersed with genuinely disturbing moments and glimpses of beauty.

Close To The Machine: Technophilia And Its Discontents by Ellen Ullman

★★★☆☆

Lots of ’90s feels in this memoir. A lot of this still resonates today. It’s kind of fascinating to read it now with the knowledge of how this whole internet thing would end up going.

Gnomon by Nick Harkaway

★★★★☆

This gripped me from the start, and despite its many twisty strands, it managed to keep me with it all the way through. Maybe it’s a bit longer than it needs to be, and maybe some of the diversions don’t entirely work, but it makes up for that with its audaciousness. I still prefer Goneaway World, but any Nick Harkaway book is a must-read.

Hidden Figures by Margot Lee Shetterly

★★★★☆

Terrific stuff. If you’ve seen the movie, you’ve got about one tenth of the story. The book charts a longer arc and provides much deeper social and political context.

Dawn by Octavia Butler

★★★☆☆

This is filled with interesting ideas, but the story never quite gelled for me. I’m not sure if I should continue with the rest of the Lilith’s Brood series. But there’s something compelling and unsettling in here.

Sapiens: A Brief History Of Humankind by Yuval Noah Harari

★★☆☆☆

Frustratingly inconsistent. Here’s my full review.

The Fifth Season by N.K. Jemisin

★★★★☆

The Obelisk Gate by N.K. Jemisin

★★★☆☆

The Stone Sky by N.K. Jemisin

★★★☆☆

I devoured these books back-to-back. The Fifth Season was terrific—packed to the brim with inventiveness. But neither The Obelisk Gate nor The Stone Sky quite did it for me. Maybe my expectations were set too high by that first installment. But The Broken Earth is still a fascinating and enjoyable series.

Programmed Inequality by Marie Hicks

I was really looking forward to this one, but I found its stiff academic style hard to get through. I still haven’t finished it. But I figure if I could read Sapiens through to the end, I can certainly manage this. The subject matter is certainly fascinating, and the research is really thorough, but I’m afraid the book is showing its thesis roots.

The Power by Naomi Alderman

★★★☆☆

This plays out its conceit well, and it’s a fun read, but it’s not quite a classic. It feels more like a Neil Gamain or Lauren Beukes page-turner than, say, a Margaret Atwood exploration. Definitely worth a read, though.

New York 2140 by Kim Stanley Robinson

★★★★☆

The world-building (or maybe it’s world rebuilding) is terrific. But once again, as is often the case with Kim Stanley Robinson, I find the plot to be lacking. This is not in the same league as Aurora. It’s more like 2312-on-sea. It’s frustrating. I’m torn between giving it three stars or four. I’m going to be generous because even though it’s not the best Kim Stanley Robinson book, it contains some of his best writing. There are passages that are breathtakingly good.

A Thread Across The Ocean by John Steele Gordon

★★★★☆

After (temporarily) losing my library copy of New York 2140, I picked this up in a bookstore in Charlottesville so I’d have something to read during my stay there. I was very glad I did. I really, really enjoyed this. It’s all about the transatlantic telegraphic cable, so if that’s your thing—as it is mine—you’re going to enjoy this. It makes a great companion piece to Tom Standage’s The Victorian Internet. Come for the engineering, stay for the nautical tales of derring-do.

Borne by Jeff VanderMeer

★★★★☆

Not as disturbing as the Southern Reach Trilogy, but equally unsettling in its own way. Shades of Oryx and Crake, but in a more fantastically surreal setting.

The Airs Of Earth by Brian Aldiss

★★★☆☆

A good collection of short stories from the master of sci-fi. I’ve got a backlog of old pulpy paperback Aldiss collections like this that make for good snackfood for the mind.

Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian and Tom Griffiths

A Christmas present from my brother-in-law. I just cracked this open, so you’ll have to come back next year to find out how it fared.

Alright. Now it’s time to pick the winners.

I think the best fiction book I read this year was Nick Harkaway’s Gnomon.

For non-fiction, it’s a tough call. I really enjoyed Hidden Figures and A Thread Across The Ocean, but I think I’m going to have to give the top spot to James Gleick’s Time Travel: A History.

But there were no five star books this year. Maybe that will change in 2019. And maybe I’ll read more books next year, too. We’ll see.

In 2017, seven of the twenty books I read were by women. In 2018, it was nine out of twenty (not counting anthologies). That’s better, but I want keep that trajectory going in 2019.

Malicious AI Report

Well, this an interesting format experiment—the latest Black Mirror just dropped, and it’s a PDF.

Will PWAs Replace Native Mobile Apps? — Smashing Magazine

This article conflates progressive web apps with having an app shell architecture. That’s a real shame.

Reading Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian and Tom Griffiths.

Tumble log xyz

Kevin made this handy catch-all service for hosting Tumblr blogs on their own domain (which can bypass Tumblr’s annoying Oath interstital). Here’s mine.

Songs I liked from 2018

> Outside of a dog, a book is a man’s best friend. Inside of a dog, it’s too dark to read. —Groucho Marx

Outside of a dog, a book is a man’s best friend. Inside of a dog, it’s too dark to read.

—Groucho Marx

Thursday, December 27th, 2018

Oysters.

Oysters.

The Spenglers: Operation Seattle

The Spenglers: Operation Seattle

Checked in at Matt's in the Market. with Barbara, Jeb, Jessica map

Checked in at Matt’s in the Market. with Barbara, Jeb, Jessica

Audio I listened to in 2018

I wrapped up last year with a list of some of the best audio I listened to in 2017. This year I huffduffed about 260 pieces of audio, so I could do a similar end-of-year list for 2018. But I thought I’d do something a little different this time.

It seems like podcasting is going from strength to strength with each passing year. Some friends of mine started new podcasts in 2018. Matt started Hobby Horse, where he talks to people about their tangential obsessions. Meanwhile Khoi started Wireframe, a jolly good podcast about design.

Apart from the trend of everyone having their own podcast these days, there’s also been a trend for quite short and manageable “seasons” of podcasts. See, for example, Horizon Line by Atlas Obscura, which is just four episodes long. Given the cherry-picking nature of my usual audio consumption (the very reason I made Huffduffer in the first place), this trend suits me quite well. There have been a few podcast runs in 2018 that I can recommend in their entirety.

The Secret History Of The Future is a collaboration between Seth Stevenson and Tom Standage, one of my favourite non-fiction authors. They look at modern technology stories through the lens of the past, much like Standage has done in books like The Victorian Internet. There are annoying sponsor blurbs to skip past, but apart from that, it’s a top-notch podcast.

I discovered Settling The Score this year. It’s a podcast all about film scores. The two hosts have spent the year counting down the top 25 scores in the American Film Institute’s list of (supposedly) greatest scores in American cinema history. It’s a pleasure to listen to them take a deep dive into each film and its score, analysing what works and what doesn’t. It will also make you want to rewatch the movie in question.

By far my favourite podcast listening experience this year was with Stephen Fry’s Great Leap Years. It’s just six episodes long, but it manages to tell the sweep of human history and technology in an entertaining and fascinating way. I’ll admit I’m biased because it dwells on many of my hobby horses: the printing press, the telegraph, Claude Shannon and information theory. There are no annoying sponsorship interruptions, and best of all, you’ve got the wonderful voice of Stephen Fry in your earholes the whole time. Highly recommended!

So there you have it: three podcasts from 2018 that are worth subscribing to in their entirety:

Wednesday, December 26th, 2018

Checked in at Marion Oliver McCaw Hall for Nutcracker. Nutcracker — with Jessica, Barbara, Jeb map

Checked in at Marion Oliver McCaw Hall for Nutcracker. Nutcracker — with Jessica, Barbara, Jeb

Picture 1 Picture 2

Lola has had just about enough of this photo-taking nonsense.

Monday, December 24th, 2018

Going to Seattle. brb

Saturday, December 22nd, 2018

Jessica and Suka.

Jessica and Suka.

Time travelling with the crew of Apollo 8:

http://apollo8.spacelog.org/00:04:58:35/#log-line-17915

And enyoying the banter with CAPCOM Mike Collins:

http://apollo8.spacelog.org/02:07:18:22/#log-line-199102

“Imma let you finish, but Apollo 8 was one of the best moon missions of all time!” Frank Borman, Bill Anders, Jim Lovell—50 years ago.

“Imma let you finish, but Apollo 8 was one of the best moon missions of all time!”

Frank Borman, Bill Anders, Jim Lovell—50 years ago.

The ‘Future Book’ Is Here, but It’s Not What We Expected | WIRED

Craig writes about reading and publishing, from the memex and the dynabook to the Kindle, the iPhone, and the iPad, all the way back around to plain ol’ email and good old-fashioned physical books.

We were looking for the Future Book in the wrong place. It’s not the form, necessarily, that needed to evolve—I think we can agree that, in an age of infinite distraction, one of the strongest assets of a “book” as a book is its singular, sustained, distraction-free, blissfully immutable voice. Instead, technology changed everything that enables a book, fomenting a quiet revolution. Funding, printing, fulfillment, community-building—everything leading up to and supporting a book has shifted meaningfully, even if the containers haven’t. Perhaps the form and interactivity of what we consider a “standard book” will change in the future, as screens become as cheap and durable as paper. But the books made today, held in our hands, digital or print, are Future Books, unfuturistic and inert may they seem.

Friday, December 21st, 2018

We Should Replace Facebook With Personal Websites - Motherboard

Facebook isn’t really all that much better or more convenient than having your own website, or sending emails or chats. But for some reason, Facebook (and Instagram) are where we post now.

Cindy Li

2005 feels like a pivotal year in my memory. That’s the year that Rich, Andy and I formed Clearleft. It was also the year that the three of us went to South by Southwest for the first time. That was amazing. Not because of the event itself, but because of the people. I met, hung out with, and formed firm friendships with people whose blogs I had been reading for years—it really was like my RSS reader had come to life. It’s also where I met Cindy for the first time.

Me and Cindy

We ended up hanging out a lot there, and afterwards. She came to England. We met up in Florida (her family is in Jacksonville, not far from St. Augustine, where Jessica’s family is from—in fact, we may well have been in the same St. Augustine pastry shop at the same time before we even met). And of course we’d see each other at conferences …like that one time in San Diego, when she joined me in my first ever karaoke experience (little did I know that she was in on the rick-rolling). Wherever geeks gathered, Cindy was there. Cindy could outgeek all of us, whether it was nerding out about good food or Star Wars. That was until she met her match at the Web Directions North conference in Vanouver in early 2007.

The winter collection

Matt came all the way from England for that conference. I distinctly remember sitting with him on the bus back from the post-conference snowboarding trip to Whistler after the conference. He was able to point out all the filming locations from The X Files, Battlestar Galactica, and every other sci-fi TV show. He met Cindy the next day and, of course, they clicked.

Cindy ended up moving to San Francisco, and I’d visit her den of nerdery whenever I was in town. Meanwhile, Matt was crossing the Atlantic at every available opportunity to spend time with Cindy. On one of those trips, they went down to the courthouse and tied the knot.

Given the short notice for the wedding, they decided that they’d have a bigger marriage celebration further down the line. At that year’s South by Southwest, Cindy and Matt took me aside and asked if I’d officiate at their wedding. “But I can’t officiate a wedding!”, I said. “I’ve got no qualifications!” “A-ha!”, they pointed out, “It’s technically not an official marriage ceremony—we’re already married.”

November 6th, 2010.

That’s how I came to give the most important public speaking engagement of my life. It was nerve-wracking and wonderful.

Matt and Cindy

I’ll never forget when Cindy and Matt came to Boston for An Event Apart a few years later. I was so happy to see Cindy that I didn’t even notice the most striking thing about her; after we hugged, she just stared at me and pointed at her belly until the lightbulb went off over my head. Cindy was pregnant!

They had a beautiful baby boy named Apollo. Isn’t that an awesome name?

Jeremy with Apollo.

They managed to match that awesomeness with the naming of their second boy, Orion. Apollo and Orion!

When Cindy was pregnant with Orion, she didn’t have the opportunity to surprise me with the news in person, like she had done with Apollo. She Facetimed me and Jessica to tell us the news. But she had other news to share with us that she didn’t want to be widely known. She had just been diagnosed with cancer.

I don’t really want to talk about that, but just consider what it must have been like to be going through treatment and being pregnant at the same time! Orion is a miracle, and Cindy was the miracle worker.

(The reason I don’t want to talk about Cindy’s cancer is, well, for one, she didn’t want it to be known so I’m still thinking of it as a private matter, but also Cindy could never be defined by how she died, but rather how she lived.)

By this time Cindy and Matt had moved to Pittsburgh. Myself and Jessica visited when we could. I was there for my birthday last year, and together we recreacted delicacies from that pastry shop in Saint Augustine.

Apollo amazed

A lot of my memories of Cindy involve amazing food. Like that time we all went to The French Laundry. This year we made plans to go to Alinea in October. Cindy got reservations. Jessica and I booked our plane tickets. But it wasn’t to be. It became clear that Cindy wasn’t able to travel and that there wasn’t much time left. Instead of a trip to Chicago, we made a trip to Pittsburgh. We were hoping to see Cindy one last time. But she died just a few days before we showed up.

But remember what I said about Cindy being defined by her life, not her death? It’s so, so true. Literally everyone who knew her was a better person for it. Her energy. Her indominatable spirit. She really was truly inspiring. She still inspires me. I know it sounds like a cliché to say that only her body has gone, while her spirit lives on, but in this case, it’s really true. Her spirit is alive in every single person who knew her. And if that isn’t enough of a cliché, I’m going to come right out and say it: I’m a better person for having known Cindy.

What happened to Cindy was so horribly, horribly unfair (did I mention that she didn’t smoke, or drink, or even use bad language?). But there’s one thing that I’m so very grateful for: I’m so, so glad that she had Matt. I always knew that Cindy was amazing—she’s Wonder Woman—but I’ve come to realise that she really did find her match. Matt is Superman. I am in awe of his strength. I cannot imagine what he is going through right now. Like Cindy, he is an inspiration to me.

Cindy is gone, but that love between Cindy and Matt …that’s forever.

Cindy and Matt

Thursday, December 20th, 2018

Going to Cork. brb

I was supposed to fly from Gatwick to Cork today so now I’m undertaking An Unexpected Adventure to Stansted. Because drones.

Wednesday, December 19th, 2018

Performance Calendar » All about prefetching

A good roundup of techniques for responsible prefetching from Katie Hempenius.

Reading The Airs Of Earth by Brian Aldiss.

Vienna

Back in December 1997, when Jessica and I were living in Freiburg, Dan came to visit. Together, we boarded a train east to Vienna. There we would ring in the new year to the sounds of the Salonorchester Alhambra, the band that Dan’s brother Andrew was playing in (and the band that would later be my first paying client when I made their website—I’ve still got the files lying around somewhere).

That was a fun New Year’s ball …although I remember my mortification when we went for gulash beforehand and I got a drop on the pristine tux that I had borrowed from Andrew.

My other memory of that trip was going to the Kunsthistorisches Museum to see the amazing Bruegel collection. It’s hard to imagine that ever being topped, but then this year, they put together a “once in a lifetime” collection, gathering even more Bruegel masterpieces together in Vienna.

Jessica got the crazy idea in her head that we could go there. In a day.

Looking at the flights, it turned out to be not such a crazy idea after all. Sure, it meant an early start, but it was doable. We booked our museum tickets, and then we booked plane tickets.

That’s how we ended up going to Vienna for the day this past Monday. It was maybe more time than I’d normally like to spend in airports in a 24 hour period, but it was fun. We landed, went into town for a wiener schnitzel, and then it was off to the museum for an afternoon of medieval masterpieces. Hunters in the Snow, the Tower of Babel, and a newly restored Triumph of Death sent from the Prado were just some of the highlights.

There’s a website to accompany the exhibition called Inside Bruegel. You can zoom on each painting to see the incredible detail. You can even compare the infrared and x-ray views. Dive in and explore the world of Pieter Bruegel the Elder.

The Battle between Carnival and Lent

ANDI - Accessibility Testing Tool - Install

Another bookmarklet for checking accessibility—kind of like tota11y—that allows to preview how screen readers will handle images, focusable elements, and more.

Tuesday, December 18th, 2018

Picture 1 Picture 2 Picture 3

Singing the Twelve Days of @Codebar with the wonderful @CodebarBrighton organisers, coaches and students.

Stop Learning Frameworks – Lifehacks for Developers by Eduards Sizovs

It’s a terribly clickbaity (and negatively phrased) title, but if you turn it around, there’s some good advcie in here for deciding where to focus when it comes to dev technology:

  • Programming languages are different, but design smells are alike.
  • Frameworks are different, but the same design patterns shine through.
  • Developers are different, but rules of dealing with people are uniform.

The 15 Web Design Books of 2018 You Can’t Afford to Miss

How lovely! Going Offline is in very good company in this list, and Oliver has some nice words to say about it:

Starting with no assumption of JavaScript knowledge, Jeremy explains the latest strategies, the ins and outs of fetching and caching, how to enhance your website’s performance, and more.

Extremely beginner-friendly and approachable, it can be read in half a day and will help you get Service Workers up and running in no time.

But all I want for Christmas is for Shopify to stop enabling Breitbart.

Material Conference 2018: Craft on the Web - Charlotte Dann - YouTube

Charlotte’s opening talk at the Material conference was really excellent—a great narrative at the intersection of code and creativity.

Remove Background from Image – remove.bg

Well, this looks like it could come in handy—no more tedious time in Photoshop trying to select turn a person into a separate layer by hand; this does it for you.

Monday, December 17th, 2018

Picture 1 Picture 2

Heading back to England after flying to Vienna for an important meeting …with Pieter Bruegel the Elder.

Checked in at Art History Museum (Kunsthistorisches Museum Wien) for Pieter Bruegel d. Ä., Once in a Lifetime. with Jessica map

Checked in at Art History Museum (Kunsthistorisches Museum Wien) for Pieter Bruegel d. Ä., Once in a Lifetime. with Jessica

Going to Vienna. brb

Sunday, December 16th, 2018

Oh Hello Ana - Blogging and me

A personal history of personal publishing from Ana—it’s wonderful!

When I was feeling low and alone I would recall how happy I used to be before I was working in tech. I would remember my silly fan sites, my experiments, my blogs and everything that I loved so much that made me become a developer.

Browsers

Microsoft’s Edge browser is going to switch its rendering engine over to Chromium.

I am deflated and disappointed.

There’s just no sugar-coating this. I’m sure the decision makes sound business sense for Microsoft, but it’s not good for the health of the web.

Very soon, the vast majority of browsers will have an engine that’s either Blink or its cousin, WebKit. That may seem like good news for developers when it comes to testing, but trust me, it’s a sucky situation of innovation and agreement. Instead of a diverse browser ecosystem, we’re going to end up with incest and inbreeding.

There’s one shining exception though. Firefox. That browser was originally created to combat the seemingly unstoppable monopolistic power of Internet Explorer. Now that Microsoft are no longer in the rendering engine game, Firefox is once again the only thing standing in the way of a complete monopoly.

I’ve been using Firefox as my main browser for a while now, and I can heartily recommend it. You should try it (and maybe talk to your relatives about it at Christmas). At this point, which browser you use no longer feels like it’s just about personal choice—it feels part of something bigger; it’s about the shape of the web we want.

Jeffrey wrote that browser diversity starts with us:

The health of Firefox is critical now that Chromium will be the web’s de facto rendering engine.

Even if you love Chrome, adore Gmail, and live in Google Docs or Analytics, no single company, let alone a user-tracking advertising giant, should control the internet.

Andy Bell also writes about browser diversity:

I’ll say it bluntly: we must support Firefox. We can’t, as a community allow this browser engine monopoly. We must use Firefox as our main dev browsers; we must encourage our friends and families to use it, too.

Yes, it’s not perfect, nor are Mozilla, but we can help them to develop and grow by using Firefox and reporting issues that we find. If we just use and build for Chromium, which is looking likely (cough Internet Explorer monopoly cough), then Firefox will fall away and we will then have just one major engine left. I don’t ever want to see that.

Uncle Dave says:

If the idea of a Google-driven Web is of concern to you, then I’d encourage you to use Firefox. And don’t be a passive consumer; blog, tweet, and speak about its killer features. I’ll start: Firefox’s CSS Grid, Flexbox, and Variable Font tools are the best in the business.

Mozilla themselves came out all guns blazing when they said Goodbye, EdgeHTML:

Microsoft is officially giving up on an independent shared platform for the internet. By adopting Chromium, Microsoft hands over control of even more of online life to Google.

Tim describes the situation as risking a homogeneous web:

I don’t think Microsoft using Chromium is the end of the world, but it is another step down a slippery slope. It’s one more way of bolstering the influence Google currently has on the web.

We need Google to keep pushing the web forward. But it’s critical that we have other voices, with different viewpoints, to maintain some sense of balance. Monocultures don’t benefit anyone.

Andre Alves Garzia writes that while we Blink, we lose the web:

Losing engines is like losing languages. People may wish that everyone spoke the same language, they may claim it leads to easier understanding, but what people fail to consider is that this leads to losing all the culture and way of thought that that language produced. If you are a Web developer smiling and happy that Microsoft might be adopting Chrome, and this will make your work easier because it will be one less browser to test, don’t be! You’re trading convenience for diversity.

I like that analogy with language death. If you prefer biological analogies, it’s worth revisiting this fantastic post by Rachel back in August—before any of us knew about Microsoft’s decision—all about the ecological impact of browser diversity:

Let me be clear: an Internet that runs only on Chrome’s engine, Blink, and its offspring, is not the paradise we like to imagine it to be.

That post is a great history lesson, documenting how things can change, and how decisions can have far-reaching unintended consequences.

So these are the three browser engines we have: WebKit/Blink, Gecko, and EdgeHTML. We are unlikely to get any brand new bloodlines in the foreseeable future. This is it.

If we lose one of those browser engines, we lose its lineage, every permutation of that engine that would follow, and the unique takes on the Web it could allow for.

And it’s not likely to be replaced.

Saturday, December 15th, 2018

Using aria-live

A terrific explanation of the aria-live attribute from Ire. If you’re doing anything with Ajax, this is vital knowledge.

Friday, December 14th, 2018

GitHub - GoogleChromeLabs/quicklink: ⚡️Faster subsequent page-loads by prefetching in-viewport links during idle time

This looks like a very handle little performance-enhancing script: it attempts to prefetch some links, but in a responsible way. It won’t do any prefetching on slow connections or where data saving is enabled, and it only prefetches when the browser is idle.

GitHub - frctl/awesome-fractal: A curated list of awesome things related to Fractal

A starter list of Fractal examples and links. You can expand it.

Thursday, December 13th, 2018

Learning to unlearn – The Sea of Ideas

This is the real challenge for service workers:

For 30 years, we taught billions of humans that you need to be connected to the internet to consume the web via a browser! This means web users need to unlearn that web sites can’t be used offline.

Good morning.

Good morning.

Wednesday, December 12th, 2018

What’s the difference between JavaScript event delegation, bubbling, and capturing? | Go Make Things

I can never keep these straight—this is going to be a handy reference to keep on hand.

Is Tech Too Easy to Use? - The New York Times

Seams!

Of all the buzzwords in tech, perhaps none has been deployed with as much philosophical conviction as “frictionless.” Over the past decade or so, eliminating “friction” — the name given to any quality that makes a product more difficult or time-consuming to use — has become an obsession of the tech industry, accepted as gospel by many of the world’s largest companies.

Monday, December 10th, 2018

I’m kind of amazed that it’s the tenth of December already and I’m still in the game—this might be my best year yet.

https://twitter.com/tomscott/status/804381434706202624

Sunday, December 9th, 2018

And now I’m working on a browser extension… https://mobile.twitter.com/adactio/status/1071782923077124097

And now I’m working on a browser extension…

https://mobile.twitter.com/adactio/status/1071782923077124097

The Case Against Quantum Computing - IEEE Spectrum

This is the best explanation of quantum computing I’ve read. I mean, it’s not like I can judge its veracity, but I could actually understand it.

What I Learned in Six Years at GDS ◆ 24 ways

Blogging about what you are working on is is really valuable for the writer because it forces you to think logically about what you are doing in order to tell a good story.

It’s also really valuable to blog about what you’ve learned, especially if you’ve made a mistake. It makes sure you’ve learned the lesson and helps others avoid making the same mistakes.

Saturday, December 8th, 2018

What happens at the @Clearleft Christmas party stays at the @Clearleft Christmas party.

What happens at the @Clearleft Christmas party stays at the @Clearleft Christmas party.

Friday, December 7th, 2018

How Readable? | Clearleft

Cassie and I went to a great Async talk last night all about code readability, which was well-timed because it’s been on our minds all week. Cassie explains more in this post.

Browser diversity starts with us. | Zeldman on Web & Interaction Design

Hear, hear!

When one company decides which ideas are worth supporting and which aren’t, which access problems matter and which don’t, it stifles innovation, crushes competition, and opens the door to excluding people from digital experiences.

So how do we fight this? We, who are not powerful? We do it by doubling down on cross-browser testing. By baking it into the requirements on every project, large or small. By making sure our colleagues, bosses, and clients know what we’re doing and why.

Goodbye, EdgeHTML - The Mozilla Blog

Mozilla comes out with all guns blazing:

Microsoft is officially giving up on an independent shared platform for the internet. By adopting Chromium, Microsoft hands over control of even more of online life to Google.

Design process for the messy in-between » cog & sprocket

Designing your design process:

  1. Know your strengths and focus resources on your weaknesses.
  2. Learn to identify the immovable objects.
  3. What has to be perfect now and what can be fixed later?

Thursday, December 6th, 2018

Big ol’ Ball o’ JavaScript | Brad Frost

Backend logic? JavaScript. Styles? We do that in JavaScript now. Markup? JavaScript. Anything else? JavaScript.

Historically, different languages suggested different roles. “This language does style.” “This language does structure.” But now it’s “This JavaScript does style.” “This JavaScript does structure.” “This JavaScript does database queries.”

Drupal’s commitment to accessibility | Dries Buytaert

Shots fired!

I’ve come to believe that accessibility is not something you do for a small group of people. Accessibility is about promoting inclusion. When the product you use daily is accessible, it means that we all get to work with a greater number and a greater variety of colleagues. Accessibility benefits everyone.

This evening’s @asyncjs talk by @DvBerzon on language, grammar, syntax, and statistical rigour was top notch—I’ll be watching his research into code readability with eager interest.

http://howreadable.com/

Microsoft Edge: Making the web better through more open source collaboration - Windows Experience BlogWindows Experience Blog

The marketing people at Microsoft are doing their best to sell us on the taste and nutritional value of their latest shit sandwich piece of news.

We will move to a Chromium-compatible web platform for Microsoft Edge on the desktop.

You keep using that word. I do not think it means what you think it means.

Preparing my @naconf talk. It’s a messy process.

Preparing my @naconf talk. It’s a messy process.

Introducing Background Fetch  |  Web  |  Google Developers

I’m going to have to read through this article by Jake a few times before I begin to wrap my head around this background fetch thing, but it looks like it would be perfect for something like the dConstruct Audio Archive, where fairly large files can be saved for offline listening.

Four Days Trapped at Sea With Crypto’s Nouveau Riche

A brilliantly written piece by Laurie Penny. Devestating, funny, and sad, featuring journalistic gold like this:

John McAfee has never been convicted of rape and murder, but—crucially—not in the same way that you or I have never been convicted of rape or murder.

Mistletoe Offline

This article first appeared in 24 Ways, the online advent calendar for geeks.

WALL·E | Typeset In The Future

A deep dive into Pixar’s sci-fi masterpiece, featuring entertaining detours to communist propaganda and Disney theme parks.

Wednesday, December 5th, 2018

Finishing the day with a rocket launch. 🚀

Finishing the day with a rocket launch. 🚀

While we Blink, we lose the Web

Losing [browser] engines is like losing languages. People may wish that everyone spoke the same language, they may claim it leads to easier understanding, but what people fail to consider is that this leads to losing all the culture and way of thought that that language produced. If you are a Web developer smiling and happy that Microsoft might be adopting Chrome, and this will make your work easier because it will be one less browser to test, don’t be! You’re trading convenience for diversity.

Risking a Homogeneous Web - TimKadlec.com

When’s the last time you can remember that a framework was given preferential treatment like AMP has been given? You could argue that it’s a format, like RSS, but no one has ever tried to convince developers to build their entire site in RSS.

I’m with Tim on his nervousness about Google’s ever-increasing power in the world of web standards.

Monocultures don’t benefit anyone.

Why You Should Never, Ever Use Quora – Waxy.org

Never mind their recent data breach—the reason to avoid Quora is that it’s a data roach motel.

All of Quora’s efforts to lock up its community’s contributions make it incredibly difficult to preserve when that they go away, which they someday will. If you choose to contribute to Quora, they’re actively fighting to limit future access to your own work.

Going Offline First (Video Series)

A five-part video series from Ire on how she built the “save for offline” functionality on her site.

The first one is about getting a set set up on Ghost so you can probably safely skip that one and go straight to the second video to get down to the nitty-gritty of the Cache API and service workers.

Tuesday, December 4th, 2018

Create Landmark Timing Slides - Notist

This is something I do in my presentations. I have speaker notes scattered throughout the slide deck with the “beats” of the talk—10 minutes, 20 minutes, etc.

If I hit one of those slides and I’m ahead of schedule, I can go on a few more tangents. If I hit one of those slides and I’m behind schedule, I can cut to the chase. Either way, having those decision points spread throughout the talk really helps to keep things smooth.

One thing that can really help in the delivery is knowing if you’re running fast or slow before you crash into the end of your talk. That way you can make adjustments as you go along by glossing over smaller points to speed up or expanding more on your ideas to slow down.

Rams — Gary Hustwit

The newest Gary Hustwit film is a documentary about Dieter Rams, featuring plinkity music by Brian Eno.

Rams is a design documentary, but it’s also a rumination on consumerism, materialism, and sustainability.

Mistletoe Offline ◆ 24 ways

They let me write a 24 Ways article again. Will they never learn?

This one’s a whirlwind tour of using a service worker to provide a custom offline page, in the style of Going Offline.

By the way, just for the record, I initially rejected this article’s title out of concern that injecting a Cliff Richard song into people’s brains was cruel and unusual punishment. I was overruled.

Monday, December 3rd, 2018

Programming CSS

There’s a worrying tendency for “real” programmers look down their noses at CSS. It’s just a declarative language, they point out, not a fully-featured programming language. Heck, it isn’t even a scripting language.

That may be true, but that doesn’t mean that CSS isn’t powerful. It’s just powerful in different ways to traditional languages.

Take CSS selectors, for example. At the most basic level, they work like conditional statments. Here’s a standard if statement:

if (condition) {
// code here
}

The condition needs to evaluate to true in order for the code in the curly braces to be executed. Sound familiar?

condition {
// styles here
}

That’s a very simple mapping, but what if the conditional statement is more complicated?

if (condition1 && condition2) {
// code here
}

Well, that’s what the decendant selector does:

condition1 condition2 {
// styles here
}

In fact, we can get even more specific than that by using the child combinator, the sibling combinator, and the adjacent sibling combinator:

  • condition1 > condition2
  • condition1 ~ condition2
  • condition2 + condition2

AND is just one part of Boolean logic. There’s also OR:

if (condition1 || condition2) {
// code here
}

In CSS, we use commas:

condition1, condition2 {
// styles here
}

We’ve even got the :not() pseudo-class to complete the set of Boolean possibilities. Once you add quantity queries into the mix, made possible by :nth-child and its ilk, CSS starts to look Turing complete. I’ve seen people build state machines using the adjacent sibling combinator and the :checked pseudo-class.

Anyway, my point here is that CSS selectors are really powerful. And yet, quite often we deliberately choose not to use that power. The entire raison d’être for OOCSS, BEM, and Smacss is to deliberately limit the power of selectors, restricting them to class selectors only.

On the face of it, this might seem like an odd choice. After all, we wouldn’t deliberately limit ourselves to a subset of a programming language, would we?

We would and we do. That’s what templating languages are for. Whether it’s PHP’s Smarty or Twig, or JavaScript’s Mustache, Nunjucks, or Handlebars, they all work by providing a deliberately small subset of features. Some pride themselves on being logic-less. If you find yourself trying to do something that the templating language doesn’t provide, that’s a good sign that you shouldn’t be trying to do it in the template at all; it should be in the controller.

So templating languages exist to enforce simplicity and ensure that the complexity happens somewhere else. It’s a similar story with BEM et al. If you find you can’t select something in the CSS, that’s a sign that you probably need to add another class name to the HTML. The complexity is confined to the markup in order to keep the CSS more straightforward, modular, and maintainable.

But let’s not forget that that’s a choice. It’s not that CSS in inherently incapable of executing complex conditions. Quite the opposite. It’s precisely because CSS selectors (and the cascade) are so powerful that we choose to put guard rails in place.

Reluctant Gatekeeping: The Problem With Full Stack | HeydonWorks

The value you want form a CSS expert is their CSS, not their JavaScript, so it’s absurd to make JavaScript a requirement.

Absolutely spot on! And it cuts both ways:

Put CSS in JS and anyone who wishes to write CSS now has to know JavaScript. Not just JavaScript, but —most likely—the specific ‘flavor’ of JavaScript called React. That’s gatekeeping, first of all, but the worst part is the JavaScript aficionado didn’t want CSS on their plate in the first place.

Voxxed Thessaloniki 2018 - Opening Keynote - Taking Back The Web - YouTube

Here’s the talk I gave recently about indie web building blocks.

There’s fifteen minutes of Q&A starting around the 35 minute mark. People asked some great questions!

Sunday, December 2nd, 2018

Rufus is a very good pub dog.

Rufus is a very good pub dog.

Barely Maps

Minimalist cartography.

One Time File

Drag and drop a file up to 400MB and share the URL without a log-in (the URLs are using What Three Words).