2024-11-13 12:00:00
Earlier this year, following the closure of my publisher, I reacquired the rights to my three books. And as of last night, you can read the first two books — the second edition of Responsive Web Design, and Responsive Design: Patterns & Principles — online, right here on this very website. For free.
I have a lot of emotions about my publisher’s sudden closure, but I’m just thrilled I was able to rescue these books, and make them publicly available. And there are two people in particular who helped make it happen. First, Jeff Eaton’s Dancing Queen library made it possible for me to export my books’ contents into Markdown. Second, Mat Marquis’s book site builder was a helpful reference for me, an Eleventy naïf, in figuring out how to build these two little mini-sites. I’m deeply grateful to both Jeff and Mat for their work, and for making it possible for all of us authors to preserve our books.
Because I’m me, a few caveats.
First, these books are old. If you see any code, I hope you’ll remember it is extremely Of Its Time. These books were written when Internet Explorer was still a going concern, when flexbox support was relatively minimal, and CSS Grid was still but a glint in the W3C’s eye. The books’ principles are, I think, still incredibly sound, but I can recommend skimming the implementation details.
Somewhat related to that, the images aren’t currently retina-friendly. I might go diving into some old files at some point, and see if I can export sharper versions of that artwork. But with everything [gestures around] going on, that’s pretty low on my list of priorities.
Now, with that out of the way: because I’m me, a few emotions.
The process of getting these books online was, overall, tinged with melancholy. It always feels a bit weird to revisit old writing; doubly so when I think about how much easier things felt back then. And the books — those lovely yellow and orange paperbacks — don’t exist any more. It’s hard for me not to feel like putting the books online is a kind of lessening. That the books are, like, gone.
Of course, the books aren’t gone, not really. After all, I still have the memories associated with them: pecking away on my phone at the first draft of Responsive Web Design while I was riding the train to The Boston Globe’s offices; working with Jason, David, and Mandy on Editorially, which sparked all sorts of thoughts on seams and modularity in responsive design; getting a chance to work with editors the likes of Dan, Anna, Mandy, and Erin, and watching both books become so, so much better for it.
And of course, I have memories of all the people and places those books brought into my life. Chances are good you and I might’ve even chatted about your design work, and talked through a thorny design problem together. I’ll always be grateful to these little books for bringing those moments into my life. I’ll always be grateful to you for picking up a copy of one of these books, getting ideas from it, and making this whole “responsive design” thing real simply by making something with it.
So here I stand, considerably older than I was when I first wrote an article, and the two books that followed it. I’ll miss those days, but I’m just glad these books are still here. They’re just different than they used to be. I suppose I am too.
Thank you, as always, for reading.
This has been “Two books, no longer apart.” a post from Ethan’s journal.
2024-11-06 12:00:00
Here are some things I know.
I know have a home. It’s a little home, framed with and bounded by four walls. Those four walls are draftier than I’d like, especially as the New England days get shorter. But they’re solid, those walls. I’m glad to have them. Especially today.
I know She is here. She took care of me today, held me together until I got my feet back under me. I don’t know that they’ll stay under me — I doubt they will — but we’ll see. I also don’t know what I did to deserve her, but I’m more grateful than I can say.
I have two little cats. They’re sweethearts, and seem to just know when someone needs them. They’re quick to cuddle, or to bring over their favorite toy. I know I’ve needed them a lot today. They seem to know, too.
I know I have friends. They’re the kindest, fiercest, sharpest people I’ve ever met. I went for a walk with one of them tonight; I spoke to another on the phone when I was walking home. Nothing was fixed, mind, but both of them helped me more than they probably know.
I know I have my fear, my despair, my anger, my dread, my heartbreak, and my grief. But I also have my love. I will say I’m not feeling much hope right now — but maybe it’ll come back.
I know I’m still here.
What’s more, I know you’re here, too. Whatever happens next, we’ll find our way together.
And I know that counts for something.
This has been “A catalog.” a post from Ethan’s journal.
2024-11-04 12:00:00
Something momentous is happening this week — it’s happening right now, in fact. And no, I don’t mean that thing. It’s something else entirely: namely, the largest union of tech workers just went on strike.
The New York Times Tech Guild walked off the job at 12:01 a.m. Monday, making good on a threat that has loomed over the company for months and could disrupt the newspaper’s ability to cover this week’s election results. The Tech Guild called the open-ended unfair labor practice strike after increasingly intense negotiations between the guild and Times management failed to yield a contract agreement, Tech Guild representatives told The Washington Post.
Laura Wagner for The Washington Post, “New York Times Tech Guild goes on strike”
Why does this matter? Well, let’s start with what a strike is. Here’s a quick definition from my most recent book, You Deserve a Tech Union:
A strike is simply another kind of collective action workers can take. In fact, collectively withholding your labor — collectively stopping work — is possibly the most powerful form of action at a worker’s disposal. When used intelligently, it can draw public attention to an important issue, which in turn can apply pressure to your employer. But it exerts internal pressure, too: when a group of workers withhold their labor, that slows productivity, which impacts their employer’s bottom line. That pressure can, in turn, be used to win concessions from an employer.
We’ve seen strikes in the tech industry before.
These are just a few quick examples, mind. (If you need more, I can recommend Collective Action in Tech’s open database of worker-led actions.) But in each case, those workers identified something wrong with their workplace, and decided collectively to withhold their labor: applying pressure to their employer by walking off the job, all in service of fighting for something better.
At the same time, these strikes have been timeboxed. They’ve often lasted a few hours, or maybe an entire day. Now, don’t misunderstand me — these shorter actions still very much matter. I simply mention their length to note that what we’re seeing at the Times is something new: for the very first time, tech workers have declared an open-ended strike, one that could last days, weeks, or longer. And they’re doing this precisely because the company’s leadership has failed to negotiate in good faith with the union: after two years of fighting, the union still doesn’t have a contract:
Times senior software engineer and Tech Guild member Kait Hoehne said the group was hoping to avoid a strike as negotiations continued late Sunday night, but that management’s failure to make concessions on key issues left tech employees feeling like they had no other option.
“We love our jobs and we’re looking forward to being able to do them,” she said, “but we haven’t seen enough movement from management and we’ve been bargaining for far too long … the ball is in their court.”
Over the last decade, we’ve seen tech workers become increasingly comfortable flexing their labor muscles — from workplace petitions to protests and, increasingly, to strikes. With the Tech Guild’s fight, I think we’re entering a new chapter for the tech industry’s labor movement — and a win for them truly is a win for the rest of us.
Want to support the workers of the New York Times Tech Guild? Well, you’re in luck: there are two solid options available to you. First and foremost, the union has declared a virtual picket line, as noted in The Washington Post’s piece on the strike — and they’re asking us to not cross it:
The striking employees will picket in front of the newspaper’s Times Square office from 9 a.m. to 6 p.m. daily and are asking readers to honor the Tech Guild’s digital picket line by not accessing Times games or cooking apps.
In other words, they’re asking us to abstain from our favorite word games and cooking apps, in the hopes that the dip in traffic will help bring the company’s leadership back to the negotiating table. Break game streaks, not strikes.
Second, the Tech Guild has opened a strike fund, and could use our financial support. What’s a strike fund, and why does it matter? Here’s the union’s explanation:
Going on strike means we lose our paychecks for the duration of the strike. While this is an important sacrifice in order to win a fair contract, many of our union members will need financial assistance, particularly those who are the primary earners for their families. No one deserves to face financial hardship for taking action with their coworkers. Your donations will help us win this fight.
Strikes are incredibly hard for every worker on the line — they’re literally foregoing their wages to fight for a better deal. If you’re interested in helping them fight on, this is another way to do it.
This has been “Times to strike.” a post from Ethan’s journal.
2024-07-21 12:00:00
Last year, I wrote a book called You Deserve a Tech Union. When I first announced it, I said it was the hardest thing I’ve ever written, and that I was incredibly proud of it. I think that assessment holds up, even now: I’m deeply glad I got the chance to write it; I’m beyond grateful my publisher was willing to publish a book about the urgent need for unions in tech.
A little more than six months later, my publisher announced they were suspending operations, and would no longer be publishing new books. A few months after that, they announced their business was no longer sustainable, and that were permanently closing their doors.
I’m certain this was a difficult decision for the company. It was hard enough for me to hear about it — and heck, I’m sure that applies to anyone who’d published a book with them. But as difficult as that news was, something wonderful happened in response: a bunch of authors got organized, reached out to our former publisher, and collectively asked if they’d be willing to let us reacquire the rights to our books.
Then something else wonderful happened: they agreed.
Following on from a flurry of paperwork, I stand here the sole owner of my first three books: Responsive Web Design, Responsive Design: Patterns & Principles, and my latest title, You Deserve a Tech Union. The books’ internals are currently unchanged from when they were published, and they’re still available for purchase everywhere you buy books online; the only thing that’s different is that when you buy a copy, I’ll be getting paid directly, rather than through my publisher.
There are two changes I’m excited about — one small, one big:
That’s where things are right now. But really, I don’t quite know what comes next. For my two older books, I’m weighing whether or not I should just release them online for free. But as for You Deserve a Tech Union, I’d like to put it on a more sustainable path. Honestly, the most likely outcome is that I’ll continue to self-publish it: give the book a new coat of paint, maybe update a few sections that would benefit from a refresh. At the same time, I’m curious if there’s another publisher who’d be interested in giving the book a proper home.1
Anyway. The last few months have been a bit of a journey, to say the least. But wherever my little books happen to land, I’m always, always, always going to be grateful that they got a chance to be out in the world. And right now, I’m especially glad that they’re still here.
And finally, I am — as ever — incredibly grateful to you for reading my books. Thank you.
I’ve reached out to a few publishers already, but hey: if you happen to work with an interested publisher, or if you have a connection to someone who does, please feel free to drop me a line. ↩︎
This has been “Reacquired.” a post from Ethan’s journal.
2024-07-15 12:00:00
The world’s got a few things going on, and I’ve been tinkering with my website.1 More specifically, I just migrated off of jekyll and over to Eleventy.
(Fair warning: this post is entirely too long; even worse, it’ll get very lightly technical. So if How Markdown Files Go Brr
isn’t of interest to you — and believe me, I get it — feel free to skip this post.)
Truth be told, I didn’t need to change anything about my publishing setup. I’ve been using jekyll for over a decade. It’s lovely software, and I’ve been really happy with it. But in recent years, it’s started to become a bit slow to work with. On top of that, I’ve never been any good with Ruby, the language jekyll’s written in. That means that outside of copying-and-pasting a couple borrowed plugins, I’ve more or less been locked into jekyll’s default feature set.
That’s why I started playing with Eleventy. Eleventy’s a static site generator created by my friend and colleague Zach Leatherman. I am very late to this particular party, of course: tons of very cool people have been playing with Eleventy, and doing terrifically exciting things with it. So a few years back, I created a new branch, and started tinkering.
As you might know, a few things happened in the interim: there was is a global pandemic; I got busy; I got sick; I got better; I wrote a book; I got a new job. That’s all to say that the Eleventy migration stopped, started again, restarted, and then basically…fell apart and languished. But I finally got a little momentum going earlier this year, and just pushed the changes live last night.
Overall, the migration went really well. I did stumble on a few things, though:
jekyll makes a bunch of really handy global variables available to site owners, nestling key pieces of data underneath objects like site.*
, page.*
, layout.*
, and so on. There’s a mental model at play there, and it made a lot of sense to me.
By contrast, Eleventy doesn’t have a similar structure. And honestly, that’s mostly fine! But when I was first starting to tinker, it did make Eleventy feel a lot…well, fuzzier than jekyll did.
I used jekyll’s proprietary {% link %}
tag to link to, like, everything on my site. It is an incredibly handy way to link to arbitrary files, and finding an Eleventy equivalent was one of the first things I asked about. I was never happy with any of my custom solutions, so when I found out about the new inputPathToUrl
filter in the Eleventy 3 alpha, I upgraded with a quickness. And it’s been great.2
If there’s a better way to debug issues in Eleventy, I’d love to learn it. Errors can often result in an intimidating pile of warnings in the console, and adding log
filters everywhere usually didn’t feel productive.
About a week ago, I noticed that nearly all of my post dates were wrong: if I’d written a post on February 10, the post would appear on my website with a timestamp of February 9. After hours of frustrated research, I learned that this is by design, and is even listed as a common pitfall for those using Eleventy the first time.
Thanks to a few very helpful blog entries, I managed to get a solution in place.3 But man, I wasn’t expecting this little curveball, and I could see other folks getting tripped up by it too.
Related to that — and this might just be me, mind — I had some difficulty navigating Eleventy’s documentation. When other people wrote about an issue with Eleventy, they’d often link to something in the docs that would get me unstuck. And generally, I found that was a theme with my migration: I’d start by searching the internet for guidance on an issue, rather than the Eleventy documentation itself.
I don’t want to suggest that my experience was bumpy, mind you — far from it! Overall, I am delighted by how easy it was to move a decade’s worth of material over to Eleventy. And now that I’ve moved things over, here are some of the things I’m most excited about:
Anyway! I’m delighted to have hit this little milestone, and to be on a platform that feels exciting and sustainable. Of course, if I’ve done my job right, you won’t notice any changes. Not until the redesign’s done, anyway.4 But of course, if you do see anything amiss: please drop me a line, and I’ll get things sorted straightaway.
As always, thank you for reading.
Yes, this is becoming a bit of a running theme. ↩︎
I should note that when I switched from version 2 to version 3’s current alpha, my build times nearly doubled. But since we’re talking about a change of, like, three seconds to five seconds, and since Eleventy 3 is still in alpha, I have absolutely no problems whatsoever with this. Thanks to a recommendation from a friend, I upgraded to a later alpha of Eleventy 3, and that cleaned things right up. I’m back down to two second builds! Yay! ↩︎
Namely, figuring out enough of Moment.js to write some little date formatters. ↩︎
Yep, I’m working on a redesign — and I’m actually pretty excited about it! (And yes, it’ll probably be here in another geological era or two.) ↩︎
This has been “This site goes up to Eleventy.” a post from Ethan’s journal.
2024-05-20 12:00:00
Okay, well, here’s me: I just wrapped my first week at 18F, where I’ve joined the team as a product designer. This first week’s been heavy on device setup, attending orientation sessions, and taking various self-paced classes — in short, learning what it means to work both in and for the federal government. It’s been a lot, to be sure, but it’s never felt overwhelming. These folks seem to have spent a lot of time thinking about the onboarding process, and how best to support the people in it.
This is all to say that it’s early days yet, and all the learning I’ve done this week is, like, the work before the work happens. But as I look back over everything I’ve seen since Monday, two themes emerge:
I’ll probably have more to say later. But for now, I can say this: I’m glad to be here, and I’m looking forward to what’s ahead.
This has been “Hello, 18F.” a post from Ethan’s journal.