Posts

MAID in Canada

Elaina Plott Calabro wrote an incredible article about nine years of Canada’s euthanasia laws (called MAID) in The Atlantic. In the past nine years, MAID has expanded from an option for patients with reasonably foreseeable” deaths into Track 2, which allows for people who don’t have reasonably foreseeable deaths to request it anyway.

Over 5% of deaths in my country are now clinically assisted. It took Canada just a few years to reach that number; it took Belgium over twenty to do the same. And the number continues to climb. In Quebec, 7% of deaths are assisted.

The laws surrounding MAID are unclear and mostly assign responsibility to medical practitioners to determine if patients qualify, which means the entire thing is basically one giant loophole allowing legally assisted death.

One of the things it means to be Canadian is to honour the rights and wishes of other people. That’s part of what makes it a wonderful place to live: most people genuinely believe in equality and respect for others, including people who don’t look like them. 

I think it’s good to respect the wishes of other people and honour their requests. But I also think it’s far too easy for political leadership in Canada to lean on the pretence of respecting a person’s right to die how they want. This country has major accessibility problems in its free health care systems. Some of these problems are provincial. Some are federal. It is irresponsible for the federal government to lean on assisted death, instead of providing more universal access to healthcare. In fact, the provision of MAID without adequate universal health care causes predictable, knowable problems.

Calabro writes:

For these critics, the reasonably foreseeable” death requirement had been the solitary consolation in an otherwise lost constitutional battle. The elimination of that protection with the creation of Track 2 [note: an option for MAID despite no reasonably foreseeable death in the patient’s future] reinforced their conviction that MAID would result in Canada’s most marginalized citizens being subtly coerced into premature death. Canadian officials acknowledged these concerns — We know that in some places in our country, it’s easier to access MAID than it is to get a wheelchair,” Carla Qualtrough, the disability-inclusion minister, admitted in 2020 — but reiterated that socioeconomic suffering was not a legal basis for MAID.

And later:

Nearly half of all Canadians who have died by MAID viewed themselves as a burden on family and friends. For some disabled citizens, the availability of assisted death has sowed doubt about how the medical establishment itself sees them — about whether their lives are in fact considered worthy of saving.

Finally:

MAID advocates dispute the charge that disabled Canadians are being quietly or overtly pressured to consider assisted death… Even so, this past March, the United Nations Committee on the Rights of Persons With Disabilities formally called for the repeal of Track 2 MAID in Canada — arguing that the federal government had fundamentally changed” the premise of assisted dying on the basis of negative, ableist perceptions of the quality and value” of disabled lives, without addressing the systemic inequalities that amplify their perceived suffering.

It is regrettable to me that so much of the pushback on MAID is from religious, conservative voices. Almost every left-leaning person I know would agree that it is the responsibility of our government to make healthcare easily accessible and available for all. But the instant Christian conservative voices get involved and start arguing about moral values, people bristle and suddenly there’s a polarized divide. 

I can comfortably say this because I am a God-fearing Christian. I have my own personal qualms with MAID and am unsure I would ever request it, even if my death were reasonably foreseeable.” However, I don’t accept my morals to be deterministic of national law, and I do not think that anything in our Canadian Charter of Rights and Freedoms would suggest otherwise, particularly in the twenty-first century.

But I am deeply uncomfortable with the fact that people who view themselves as a burden to the system, or people who view the system as unavailable to them, pursue MAID as a viable option. The queasiness is underlined by Calabro’s reporting, which includes this gem of a sentence:

Although cost savings have never been mentioned as an explicit rationale for expansion, the parliamentary budget office anticipated annual savings in health-care costs of nearly $150 million as a result of the expanded MAID régime.

In Canada, our annual health spending was expected reach $372 billion in 2024, so $150 million is 0.04% of our spending. I do not suspect it to be a primary motivator or rationale behind MAID. However, what would happen if we spent another $1 billion, or even $5 billion, on improving health care access for the sorts of people who feel abandoned by the system? That would be an increase of spending in 1.3%. (If our leaders are feeling particularly spineless, they could increase healthcare spending by 0.04%. Call it a re-investment of the savings back into the system.)

According to Calabro’s reporting, 60,300 Canadians received medical assistance in dying as of 2023. I would suggest that a better way to honour the rights of our fellow citizens would be to increase spending by a fractional amount, increase access to healthcare, and possibly save the lives of people who otherwise feel the system pressures them to choose assisted death, rather than be a burden.

Medicare is called a universal health care system” for a reason. In any situation where it is not universal — and there are many — efforts should be made to make it so. Those efforts should not be reasonable.” I should not look at their efforts and deem that they merely tried. Politicians should make unreasonable efforts to better the lives of the people. That is their job. To do any job well is to pursue it to a level that outsiders would deem unreasonable. 

Unreasonable efforts must be made to improve our healthcare system, because if a growing number people rely on MAID as a solution, it suggests that the system is otherwise insufficient.

Regardless of your stance on this issue, Calabro’s reporting is excellent, and well worth an hour of your time.

I spent a bit of time last week comparing how SVGs render differently in Safari and Chrome when using CSS’s vector-effect, and shared my findings in my portfolio.

Doing the hard thing, even if it’s working out in the morning before your first cup of coffee, and you would rather die

I’ve been playing with a new routine for the month of August. Nearly a year and a half ago, I bought a good rowing machine. I use it a lot. I’ve tried rowing during the morning, which is hard; rowing over lunch, which is difficult to consistently schedule; and rowing after work, which requires a level of fastidiousness towards a shut-down routine that I do not possess. 

The habit I quit the fastest is rowing in the morning. It’s hard to get out of bed and work out. Your body is cold, so it’s slower. You never get your best times in the morning. You’re groggy and grumpy. You get the benefits of an improved mood after a workout, sure, but those benefits are less observable because your comparison point pre-workout is asleep.”

Despite that, my habit for the month of August is to attempt to work out every morning before I work. On Monday, Wednesday, and Friday, I have various rowing routines. Tuesday is strength training. Thursday is core day, with optional strength or rowing sessions on top of it. If I really need a break, I can walk on Thursdays instead. 

I’m starting my second week of this. I hate it. To be blunt, I love working out, but I don’t love anything enough to want it before I have coffee. 

But it also works. Or at least, it’s working now. If I remember, I’ll write again about how it’s going in a month. 

There’s something about starting with the hard thing. I don’t mean eating the frog. I mean just doing something hard. It’s the same dopamine hit you get from a hard Dark Souls boss. Maybe it’s because I’m chronically depressed, but doing one hard thing before my brain can talk me out of it is the only way I know to do two hard things. A part of your brain says: I can do this. I am not a failure. I’ve done this hard thing. I can do anything.”

Doing the hard thing gives you the strength to ask the most important question: What’s next?”

Spotify is an ad platform, not a music service

I was today years old when I found out that Spotify’s entire existence started with selling ads. From Nick Heer’s review of Liz Pelly’s Mood Machine:

While Spotify’s founders tend to describe a noble birth, Perry points to a 2015 interview with co-founder Martin Lorentzon in which he describes the idea to build a targeted advertising platform first. How it would acquire users was an open question — “[s]hould it be product search? Should it be movies, [or Godfather’], or audiobooks? And then we ended up with music”. That is not necessarily a bad thing. What is bad, though, is that Spotify reportedly began with an unlicensed library and made money on the back of it. That combination does not sound to me like the result of a love of music.

This explains a lot about why it feels like Spotify’s interests don’t align with my own. Most of their decisions don’t line up with the decisions people who love music would make. 

For example, when attempting to fight spammy AI-generated music:

In an attempt to disincentivize these behaviours and reduce Spotify’s costs, the company announced in November 2023 it would stop paying royalties for tracks with fewer than one thousand annual streams. … How much it actually hurts low-effort spammers is a good question, but it impacts legitimate indie artists — what [Universal Music Group CEO] Grainge calls garbage” — for whom Spotify now presents no advantage over piracy.

I can understand how this decision was made, but its ramifications — and the lack of consideration for them — are damning. 

All this to say that Nick Heer’s essay is excellent, and I highly recommend it.

James Clear’s Newsletter

James Clear has been on a roll recently. This week’s newsletter is no exception:

You can attract luck simply by telling people what you are working on.”

And:

Working on a problem reduces the fear of it. It’s hard to fear a problem when you are making progress on it — even if progress is imperfect and slow. Action relieves anxiety.”

One of the highest-value newsletters I’ve ever subscribed to.

CRO’s latest case study was one of their most interesting in a while.

Public Betas for iPadOS 26, iOS 26, and macOS 26

Apple released the public betas for this year’s major operating systems today. Six Colors has coverage of iOS 26, iPadOS 26, and macOS 26. I have not used these yet, and I don’t intend to for the time being. Despite all the whizz-bang of Liquid Glass, I am unexcited about these betas. It is easy to judge something one hasn’t used, but I have had to design around it already for clients (I hope I’ll have more to share about that soon), and its increasingly transparent UI does not inspire confidence in its usability. 

I am looking forward to the new windowing experience in iPadOS, but I wish it came without the rest of the new design.

Frame of Preference

Marcin Wichary made an incredible website that lets you experience the Mac’s various different preference panels over the decades. This is a mine of incredibly good and incredibly bad design, and a frankly unbelievable way to play with it all. 

I really like the panels in the original from 1984, but I think the 1987 control panel works well too. The 1987 panel reminds me of where we are today, but it was obviously designed with a lot more love and care.

The PRS SE NF 53

I found out only tonight that PRS recently announced the SE NF 53, which is their lower-priced, foreign-made version of their high-end NF 53. The NF 53 (which I’ve written about before) is their take on a 50s Telecaster, which is one of Fender’s most beloved instruments. 

I have owned multiple Telecasters in my time, across varying price ranges. Right now, I have one in my collection — their cheapest Made in Mexico” variant. It’s the best Telecaster I’ve ever played. (I just spent some time playing it today and had a blast.)

A Telecaster doesn’t need to be expensive to be great. That’s what makes it such a beloved instrument. So I’m excited about this much more affordable version of the NF53.

Years ago, after PRS unveiled the Silver Sky (John Mayer’s signature guitar and their take on a Strat-style instrument), I emailed PRS and asked when we could expect their take on a Tele. Needless to say, I’ve been looking forward to both the NF 53 and the SE version for some time. (PRS told me they don’t comment on future products, but that was enough to suggest to me that their take on a Tele might be a future product,” so it felt like a sure thing it was coming.)

First, PRS’s video demo of this instrument is excellent. Bryan Ewald is an incredible player, and I am certain he gets better every year. He makes everything sound great, and this is no exception.

Second, I love that the SE version of this instrument has the same bridge as the American-made version. That’s a great sign. Every Tele player will tell you the bridge is what makes or breaks a Telecaster. And the bridge on the NF 53 line, along with its saddles, is a genuinely innovative design and a testament to American guitar manufacturing. It solves a lot of intonation problems common to this style of guitar, so the guitar is more likely to be in tune all the way along the neck. That helps a lot with recording. 

Thirdly, I am not sure I like the pickups. The NF 53 comes with noiseless Deep Dish” pickups that look to my eyes like an unconventional size, but I really like normal Telecaster pickups, even with their vintage single coil sound. I think that’s a huge part of their charm and a massive part of their tone, which can go from round-bottomed and thick to bright, thin, and twangy with the twist of one knob. I did some googling, and I’m unsure if one could easily replace the Deep Dish pickups with something more conventional. Just something to keep an eye on, if you’re into that kind of things.

Finally, the price. First, I thought it was outrageous. $1400 CAD seemed really high to me when I checked my local retailer. But it turns out that’s only a few bucks more than Fender’s new Player II Telecaster (their Made in Mexico line). That’s just about $600 more than I paid for my Player Telecaster only a year ago. I don’t know if this is Fender bumping up their prices, or just what things cost now thanks to American tariffs. Either way, $1400 isn’t chicken scratch, but it’s in line with the competition, so fair is fair. (And unlike every Fender I’ve ever owned, I’ve never had a PRS with a wonky neck or wony frets.)

Artificial intelligence and mastery

What happens to our collective intelligence, on a long-term timeline, if we allow the robots to do our thinking for us?

Many people I follow online have already suggested standards are slipping across organizations who rely on AI. I don’t know anything about that; I work for myself and I have impeccable standards. (If anything, my standards are increasing over time, which is as it should be, probably.) 

That being said, to use artificial intelligence in your work is to lower your standards by at least a little bit. It’s a way of saying, yes, the plagiarism machine that is essentially a word-by-word prediction algorithm can do this part of my work, and there is no intrinsic value in me doing it.” (Artificial intelligence is naturally good at summarizing long text and making it shorter, because that is quite literally what it is designed to be good at. So it’s not a terrible way to start research, or get help shortening your lengthy email to the C‑suite, who are all probably summarizing your email with AI anyway. But when it comes to actually doing original work and thinking, artificial intelligence tends to be much less predictable and nowhere near the same level of quality. It is, after all, making it up as it goes.)

But I was reading Clear Thinking by Shane Parrish, and he says something very interesting on page 79

Most of the time when we accept substandard work from ourselves, it’s because we don’t really care about it. We tell ourselves it’s good enough, or the best we can manage given our time constraints. But the truth is, at least in this particular thing, we’re not committed to excellence.

When we accept substandard work from others, it’s for the same reason: we’re not all in. When you’re committed to excellence, you don’t let anyone on your team half-ass it. You set the bar, you set it high, and you expect anyone working with you to work just as hard and level up to what you expect or above. Anything less is unacceptable.

I think this is the discomfort that many of us feel with artificial intelligence. If we take shortcuts like this, we say that the process has no value. But for a lot of us, the process is the work. The process is where value is generated, and the process is what we’ve mastered. It’s what we’re committed to.

So asking artificial intelligence to write the blog post, design the logo, or program a website feels about as alien to a creative as hiring out somebody else to build the deck would to a carpenter. It suggests that the bar is set low, and that perhaps we are no longer capable of reaching it on our own. (If I were hiring a carpenter and I found out they outsourced their deck, I am not sure I would hire them.)

Shane continues on the bottom of page 79 through to 80:

Masters of their craft don’t merely want to check off a box and move on. They’re dedicated to what they do, and they keep at it. Master-level work requires near fanatical standards, so masters show us what our standards should be. A master communicator wouldn’t accept a ponderous, rambling email. A master programmer wouldn’t accept ugly code. Neither of them would accept unclear explanations as understanding.

We’ll never be exceptional at anything unless we raise our standards, both of ourselves and of what’s possible. For most of us, that sounds like a lot of work. We gravitate toward being soft and complacent. We’d rather coast. That’s fine. Just realize this: if you do what everyone else does, you can expect the same results that everyone else gets. If you want different results, you need to raise the bar.

Neither of them would accept unclear explanations as understanding” sums up the entire situation: each time we use AI, we are essentially saying we are fine with somebody else doing this work inside a black box. The tools reveal our priorities. If we rely on AI, we don’t become masters. At some point, the reliance on the tool masters us.

Fix grid and flexbox layout problems with display: contents

I find I typically learn about new-to-me CSS when I’m struggling through a problem. Today’s issue is an age-old problem I have with flexbox and grid approaches to layout design.

Consider a client using your average CMS to insert your standard unordered list. Maybe it looks like this:

<p>Here is a list of books we'd recommend on the topic:</p>

<ul>
    <li><em>Book One</em></li>
    <li><em>Book Two</em> (our go-to on the topic)</li>
    <li>And finally, <em>Book Three</em></li>
</ul>

Very simple HTML and CSS.

But let’s say the client wants to change the list design. In today’s example, they want to replace each bullet with a checkmark icon, and they want the checkmark to sit on a yellow circle. Ideally, these elements are accessible and scale with the type. So, you write this code:

ul.checklist {
	list-style: none;
	padding-left: 0;
	margin:0;
}

ul.checklist li {
	// Add white space
	margin: 1em 0 0;
	// Create a grid layout for your new icons
	display: grid;
	grid-template-columns: 1.5em auto;
	gap: .5em;
	max-width: 100%;
	// Not necessary, but habitual
	position: relative;
}

ul.checklist li::before, ul.checklist li::after {
	// Correctly size the icon and background
	grid-column:1;
	grid-row:1;
	height:1.5em;
	width:1.5em;
	content:'';
}

ul.checklist li::before {
	// Background yellow
	background: var(--color-yellow-100);
	border-radius: 50%;
}

ul.checklist li::after {
	// Add the icon
	// The mask changes the fill of the SVG
	background-color: var(--color-black-100);
	mask: url('/assets/icons/checkmark.svg') no-repeat center;
	mask-size: contain;
}

Before reading or scrolling any further, see if you can guess the problem that will arise from this layout. (If you guess it correctly, you are smarter than me, because I always forget this is going to happen.)

Ready? OK, here’s a screenshot of where this breaks down in real-world use on a non-profit’s website:

A broken layout in a list item on a webpage. This is basically unreadable in its current form.

Basically, as far as the browser is concerned, each element in this <li> lines up with another column in the grid. So if the text in the <li> says Visit <a href="https://acme.co">our website</a> to learn more, that’s actually three elements (two text elements, one link element), and thus we have multiple column breaks.

The fix is easy:

li {
	display:contents;
}

I somehow missed the early writing about display:contents;, but there is very little written about this CSS feature anywhere, and it’s a handy one to know.

display:contents; is meant for use within flexbox or grid systems where child HTML elements like this break the flow of content. It’s support is decent (barring some tag-specific incompatibility). Its one downfall is that it breaks screen reader support; my understanding is that formatting is not read via screen readers when display:contents; is in use. (I am not positive this is accurate, but the situation used to be worse, and overall it seems fine today.)

To account for edge cases and be as specific as possible within a variety of CMSs, my new boilerplate for this (within a grid system) looks like this:

// Do not apply display:contents to paragraph tags inside li
ul.checklist li p {
	grid-column:2;
}

/**
 * For text inside an li that is not inside a p tag,
 * I want to support specific text formatting without breaking the grid.
 * This includes italics, bold, links, and code.
 * It does not include headings or anything else that might 
 * break the intended purpose of the design.
**/
ul.checklist li > a, ul.checklist li > strong, ul.checklist li > b, ul,.checklist li > i, ul.checklist li > em, ul.checklist li > code {
	display:contents
}

And just like that, you have child elements in a grid container with inline formatting that doesn’t break the flow of their parent.

Here’s how that checkbox looks with the above code applied:

A list item on a website that uses a checkmark instead of a bullet. The text inside the list item says: "They can visit the follow-up website, where they can use our church finder to find your church, learn more about Jesus, order helpful resources, and much more"

Give footnotes a spec

I use footnotes on this blog, but have often found them annoying to implement, write, and deal with, so I found Jake Archibald’s post on footnotes an interesting take on the matter:

If reproduced as-is, footnotes on the web are even worse than their printed counterparts. In print, the footnotes are usually at the bottom of the current page, so they’re a quick glance away, and you can use a finger to mark your place in the main text while you’re off on your side-quest. Whereas on this beautiful pageless web of ours, you have to scroll all the way down to the end of the article. You can try flinging right to the bottom of the document, but if there’s a sizeable footer or comments section, you’ll overshoot the footnotes. And of course, after all of this, you have to scroll back to where you were, which is easier said than done.

Jake suggests myriad ways to deal with this problem, most of which I’d already implemented, but none of them solve the root problems:

  1. Footnotes are less accessible, because they’re often set smaller than body text. 
  2. On the printed page, footnotes can exist in the footer of any page. This makes them unobtrusive to read, since the size of a page is restricted by the physical limitations of books. Your eyes don’t have to travel far. On the web, no such luck: a webpage can be a mile long, so placing footers at the end of the document can turn footnotes into a very un-fun game. 

The bigger problem in my mind is #2, and I’ve been contemplating solutions to this for some time. 

On the web, I’ve often thought the best solution is using something similar to <aside> or <section role="notes"> in the way Jake describes. Ideally, each footnote” would directly follow the paragraph it pertains to. 

On desktop, these footnotes could be displayed in the margins of the page. (It’s called marginalia for a reason.) The smaller type can stay, mostly as a way to semantically highlight the insignificance of the footnote itself, which almost certainly exists for the author’s sake and not the reader’s. This works really well in Klim Type Co’s essays and case studies. (Unfortunately, Klim’s solution doesn’t scale down to mobile.)

I dislike the popup solution, which presents the user which a choice and annoys me personally as a reader. Popups are also annoying to build. 

The problem with using <aside> or <section role=“notes”> is that these solutions are not part of any agreed-upon footnote spec. It’s scope creep if you’re building in most CMSs today, including (and probably especially) WordPress. They also don’t render as footnotes in RSS feeds, so your content will be presented differently there than it would be on a website. (One could replace marginalia with normal footnotes for RSS feeds, but again, scope creep.)

For now, one way around it is to use JavaScript to fetch the footnotes and display them inline as marginalia beside the text. I’ve never built this out, but I can imagine a few potential accessibility problems (in addition to the accessibility issues already present for footnotes).

The best solution, outside of abandoning footnotes altogether, is an HTML spec for footnotes that removes the need for each developer to suggest their own implementation. Whatever the spec is, it could incorporate a best-practices approach that allows for CSS styling to transform footnotes into marginalia, something similar to an <aside>, or even a popup. It would also, theoretically, solve accessibility problems that developers create with their own implementations. 

For now, a better approach is probably to replace each footnote with a <section role=“note”>, which is an idea I hadn’t considered, but quite like. Thanks Jake!

Typography and AI

I read something today that perfectly captures how I feel about artificial intelligence.

According to reporting from The Verge, Monotype (a company I do not like) is really pushing the idea that AI is coming for our fonts.” Which is a gross way to say that AI is coming for type designers, which is a gross thing to publicly get excited about.

Apart from the fact that we continue to discuss AI taking our jobs and our humanity from us (as though it’s desirable), the other problem here is that this future isn’t real. At least, not now:

AI, the report suggests, will make type accessible through intelligent agents and chatbots” and let anyone generate typography regardless of training or design proficiency. How that will be deployed isn’t certain, possibly as part of proprietarily trained apps. Indeed, how any of this will work remains nebulous.

Why Monotype would want to push any of this is beyond me. The Verge mostly attempts to draw similarities between today’s AI proclamations and the effects of industrialization on typography in the early 20th century. The metaphor is completely broken, because unlike these AI proclamations, the effects of industrialization were actually real.

And then, the money quote. This is in reference to Zeynep Akay, director at typeface design studio Dalton Maag:

It’s almost as if we are being gaslighted into believing our lives, or our professions, or our creative skills are ephemeral.”

It is exactly this! In a rush to get investor dollars, every company in the world is trying to tell professionals in every space (but particularly in white collar information work) that their jobs, livelihoods, and skill sets are irrelevant in the coming tide.

The current chatbots are useful tools, but any company claiming they’re replacing” workers with AI is attempting to paint a narrative about layoffs with a different colour. The tool just isn’t there. It’s especially not there for any work that requires creative thought, and because the entire AI chain is more or less word prediction based on prior knowledge, there isn’t much chance AI in its current incarnation could design anything actually new.

To put it bluntly, I don’t think there’s a snowball’s chance in hell that AI is designing typefaces for us any time soon.

The slow removal of SCSS from my projects

After reading through Chris Krycho’s extremely cool and clever CSS mixin for light and dark variables, I was particularly struck by his conclusion:

The last couple bits I need to knock down to not need SCSS at all are:

  • The equivalent of the nice @use directive. I think I might actually be able to use Lightning CSS directly along with its interpretation of native @import for bundling and minification.
  • Applying the same approach to the syntax highlighting theme shown above for the syntax highlighting theme, for which I also currently use a @mixin the same way.

This got me thinking about what I use SCSS for these days. SCSS has been a constant part of my toolchain for twelve or thirteen years now; I feel like it’s been a part of my workflow forever. But it frustrates far more than it delights today, at least for me. The announcement of CSS Nesting in December gives me hope that a major reason to use SCSS is becoming part of the standard spec in the future.

Beyond that, here are the last couple things I need to not need SCSS anymore:

  1. Like Chris, I need a good @use or @import directive. Today, this is SCSS’s best feature. I hadn’t heard of Lightning CSS before, but now I am going to check it out (although I am wary of replacing a well-known tool with a less well-known tool).
  2. I think browser targets are helpful as a compilation feature, and I am unsure of a way to make that part of the default CSS spec.
  3. I love using SCSS variables for media queries. @media (min-width:$bp-m) is far easier to use, in my experience, than @media (min-width:700px) or @media (min-width:45em). I understand why we can’t use environment variables, but it really is a shame I just can’t write @media (min-width:var(--bp-m)) and call it a day. I don’t know if I’ll ever get this as part of CSS spec. I’m also aware that best practice is probably to abandon variables in media queries and rely on something more conventional, but old habits…

I think the @use directive is the most important for my needs, and at a certain point, I’d be happy to give up futzing with the developer toolchain around SCSS compilation. Nothing has thrilled me more over my career than watching CSS improve and gain features over the past fifteen years. We’ve gone from floats to grids to crazy math formulas inside variables, and as a result, our layouts have been more less rigid and far easier to work with.

It’s still a great time to be a web designer.

Repetition

Repetition is the mother of learning.” This quote is often misattributed to Zig Ziglar. Austin Kleon attributes it as an old Russian proverb. Of course, it’s also an old Latin proverb, but its most frequently-cited source has been misattributed as Aristotle.

It probably doesn’t matter. The path forward is the same: every day, we must create, over and over, and find joy in this process.

It takes a lot of hours to become a good designer, writer, photographer, or filmmaker. Malcolm Gladwell may have been wrong about 10,000 hours being the tipping point” for mastery, but what’s been lost in all the talk of revisionism in the past fifteen years is the fact that 10,000 hours is a helpful barometer. It’s sixty straight weeks of uninterrupted focus. It’s 250 work weeks, or five years, if one worked roughly forty hours of week with absolutely no interruptions. If you’re lucky, and spend four hours a day focused on your craft, it’s ten years to achieve mastery in any given domain. That’s no small chunk of time.

So people who make things, people who want to master their craft, can’t afford to become distracted. We can’t be intimidated by the blank page. To create something new requires confidence that the blank page is just the beginning. The blank page is an invitation, not a wall. It’s a place of triumph, not discomfort.

The blank page, the empty audio file in a DAW, or the painter’s palettes are places where rules don’t exist, where the physics of time and space can be manipulated. They are an open challenge to invent, to create.

Along the way, don’t forget what you learned as a child in math class: the blank page is a place for doodling. Even Leonardo da Vinci drew dicks in his notebooks.

The work is serious, but it must be approached with lightness. Otherwise, the results suffer.

We must find a way to do this, then repeat, over and over, until the great work of our lives is done.