Published

Command to delete all `node_modules` directories

How to delete all node_modules directories from your computer

Sam just pointed out this article, so useful! I ran the command to check how much space my node_modules folders are taking up, it’s 6.2G in total. Probably more on my external drives. Not necessary for sites I haven’t touched in quite a while (particularly since I’m still trying to keep my old laptop kicking…).

Published

“I propose to take our countrymen’s claims of American exceptionalism seriously”

America believes itself exceptional, the greatest and noblest nation ever to exist, a lone champion standing between the white city of democracy and the terrorists, despots, barbarians, and other enemies of civilization. One cannot, at once, claim to be superhuman and then plead mortal error. I propose to take our countrymen’s claims of American exceptionalism seriously, which is to say I propose subjecting our country to an exceptional moral standard.

Ta-Nehisi Coates, Between the World and Me

Many passages in Between the World and Me are worth quoting, but this one really hit home. Coates also brands this “patriotism à la carte” in his Atlantic article “The Case for Reparations” (see below).

This blind national pride has been particularly painful to many people recently with the wildly inadequate pandemic response, the killing of George Floyd, unmarked federal officers’ violence in Portland, and so many more recent events.

I’d forgotten about how very pervasive it is until I got back to the US in early June. It’s insidious, sad and borderline delusional. And it’s not just a right / conservative thing.

It’s all well and good to be proud of your accomplishments, but if you can’t identify and work to rectify your failings then what the hell is the point?


I’ve been speaking with some friends about this book, they mentioned a few resources I’d like to follow up on.

And I’m still working through my previous list.


I just finished “The Case for Reparations” and learned so much.

Coates weaves together individual and collective experiences, history, and data to connect the dots between the Jim Crow South, the Great Migration, redlining by the Federal Housing Association following the New Deal, the efforts of the Contract Buyers League, Belinda Royall’s early and successful petition for reparations in 1783, John Conyers’s HR 40 bill, the early history of slavery in the US, the failure of Reconstruction, the levelling of Tulsa’s “Black Wall Street” and its subsequent suppression in law and the media, the myth of fatherhood as the antidote to Black poverty, the fuzziness of affirmative action, the “gulag of the Mississippi” Parchman Farm, the impact of Germany’s post-WWII reparations on Israel and the evolution of contemporary Germany, the prevalence of subprime lenders preying on Black home buyers in the run up to the 2008 crisis, and so much more.

He argues for the cooperation of every aspect of society in a real discussion and debate about reparations to “reject the intoxication of hubris” and bring about “a revolution of the American consciousness, a reconciling of our self-image as the great democratizer with the facts of our history”.

HR 40, the Commission to Study and Develop Reparation Proposals for African-Americans “to examine slavery and discrimination in the colonies and the United States from 1619 to the present and recommend appropriate remedies”, has progressed since Coates wrote “The Case for Reparations” in 2014. Texas Representative Sheila Jackson Lee is now first sponsor of HR 40 having taken over from John Conyers in 2018. There has been some progress with the bill, but a vote has not been set.

Published

“You are a nesting doll. All the people you have been before are still inside you.”

You are a nesting doll. All the people you have been before are still inside you. Some yelling, still needing to be understood about the big shit that happened to them.

– – –

The Quaker clearness committee is a small group of people you take a personal issue to. They are prohibited from offering “fixes” or advice. For 3 hours they pose honest, open questions to help you discover you truth.

– – –

Mimetic theory is a concept developed and advocated for by René Girard, 20th-century French anthropologist. Mimetic theory’s key insight is that human desire is not an autonomous process, but a collective one. We want things because other people want them.

As more and more people want something and that object remains scarce, there is a conflict.

This began as a natural phenomenon: animals and humans learn by imitating other members of their groups, but neither humans nor animals are able to differentiate between good, non-acquisitive mimesis (learning skills from others in your group) from bad, acquisitive mimesis (desiring scarce objects – money, fame, power, someone else’s mate, etc.)

Girard believed that historically human societies managed mimetic conflict through the scapegoat mechanism. If the conflict over a scarce object became too intense, the community subconsciously choose a scapegoat which was sacrificed (literally or metaphorically).

– – –

I don’t believe believe the world is made of quarks or electromagnetic waves, or stars, or planets, or any of these things. I believe the world is made of language.

Terence McKenna

From a particularly good Kleroteria I received today. The writer decided not to include any personal identifiers so I’ll leave it unattributed.

More on mimetic theory here.

Published

Finding the rhythm

I’ve finally fallen in to a decent daily rhythm, it’s taken a while post-move.

My ideal routine seems to involve being at my desk around 8:30am, then calls and correspondence with UK+EU clients and collaborators until 10 or 11.30am (depends on the day). A bit of toast or something, then try to get my head down on a particular dev task for 1–2 hrs before lunch. Not a lot of time to finish any one thing, but can usually at least progress with something. This is a good window for writing, actually! After lunch, a bit more correspondence with folks in North America and then try to get my head down again until the end of the day. That’s usually when I get the most tricky stuff done.

Of course not every day looks like that, but I think that’s what I need to aim for. When it’s thrown off, particularly when I have to interrupt the head-down time for some reason, I tend to feel like I haven’t accomplished anything in the day. Which is garbage, b/c of course I have got some stuff done. Still, it’s not a nice feeling.

Also I was doing so well with exercise before we moved, now have fallen of the horse. Need to work that back in somewhere.

I also need to be careful about not working too long of hours… It seems easy to slip in to overworking during lockdown since there’s SO LITTLE TO DO. But inevitably I start to feel burnt out after a few days of carelessness, even if the overworking is on projects I’m super thrilled about. Just need to keep tabs on it.

Published

Commonplace WordPress theme

I’ve been gradually updating the WordPress theme that powers this site with the help of a very talented designer and thinker, my friend Bec Worth.

It began with conversations about overhauling her own site. She had a few disparate Tumblrs with a ton (and I really do mean a ton) of great references, photos, and more that had accumulated over the years. All of them had fallen in to disuse for one reason or another, but she still felt like some sort of outlet for collecting these sorts of snippets and longer-format writing would be really useful. She brought up the Commonplace book as a particular inspiration. I’d never come across it before but it really resonated.

We continued talking about her site, and I started to restructure my old color-heavy Notebook theme (view in Wayback Machine) to strip out the less necessary functionality, improve the accessibility, etc. I wanted to make it something that could be more widely useful to not just me and Bec, but others as well. The early version of this new theme used variable Work Sans (view in Wayback Machine)

She liked where it was going, so we got her set up on a WordPress instance and used the Tumblr importer to pull in all of that old content. Since then, we’ve been using her log and my site to test out ideas and continue pushing the idea of what a Commonplace Book could be on the web. For more along these lines, I recommend reading her post “What would a Commonplace Book feel like on the web?

What’s next

It’s far from finished. The type is nowhere near as tight as Bec’s designs, I need to spend a bit more time on that! Amongst other things, I need to clean up the table of posts, add a thumbnail view, and improve the gallery block styles. We’re also going to figure out a way of highlighting work and other projects, something that draws a bit more attention than normal posts.

And color! We’d like to make it possible for people to select preferred text colors, maybe on a post-by-post basis or per category. Color is tricky though, I’d like to preserve some baseline of legibility and I’m not sure how much I could do as the developer to enforce that. Also, how do we handle this if we introduce dark mode support? The HSL or LCH color spaces might be helpful.

I’m not planning to submit this to the WordPress theme directory. Right now, this means that installation and updates are pretty manual, the theme has to be uploaded via FTP before it can be installed. Because of that, I’ll eventually set up an update server so that anyone using the theme can perform one-click updates from the WordPress admin area. Note to self: see this article for more on how to do this.

Realistically, people using the theme might want to change up certain aspects of the theme to be more “them”. Instead of adding a ton of theme options like font pickers and that sort of thing, I’d like to encourage people to tinker with it themselves. This is going to require a bit of documentation to point people in the right direction. I’ll probably start with how someone with little-to-no CSS experience could go about changing the font (i.e. upload font files in the Media library then add the necessary CSS lines in the Customizer, or setting up a child theme).

Clearly, it’s a work in progress!

But anyone is welcome to give it a try for themselves. I recommend it if you’ve been looking for a place to keep important references or get thoughts out of your head. Head to the commonplace-wp-theme GitHub repository to download it and read a bit more.

If you do end up using it, we’d love to know.

Published

You are your environment

SF has felt like a tech monoculture for the past 10 years. It’s one of the big reasons we were originally planning to be in / around NYC instead.

I’m sure there’s more to it, but it’s kinda hard to find in the current situation, especially in our neighborhood. The worst thing is the possibility of slipping in to it personally, becoming one-dimensional.

Been on my mind since a lot of the indoor things I usually love doing (reading and cooking are two of the biggies) aren’t ticking the boxes at the moment. It might not be the city, it’s probably more related to the move or the pandemic. Maybe I need to check out Oakland? I guess time will tell, I’ll try harder in the meantime. You are your environment.

Published

How I handle proposals 🧐

This post outlines how I handle proposals as an independent web developer, almost the whole pre-project arc including gathering info, writing and sending the proposal, and what happens after it’s sent.

I love chatting about potential projects with anyone who will entertain me, but I can’t stand writing proposals. My goal is to make the process streamlined enough that I hate it a bit less and am able to get proposals out the door much faster.

This is an important topic and something I’m continuously trying to improve. A good proposal lays solid foundations for a project and sets the tone of a working relationship. Sometimes it even helps weed out the people I’d prefer *not* to work with.

Some of this has evolved over years of freelancing, but a lot of it is brand new or newly refined. Moving from the UK to the US has given me the opportunity to reconsider my procedures and improve the commissioning process both for myself and for my clients.

I’m pretty happy with my approach, but I’m sure it could be improved. Also, what works for me may be totally unworkable for someone else. So take this as one person’s perspective, and please share with me if you have other ideas.

Read more

Published

How I handle rates, pricing, and invoicing 🤑

Pricing is a minefield, and I’m not sure I’ll ever feel like I’ve got it totally right. That seems like a drag but on the sunny side, as an independent developer I’ve got total control over what I charge and can continue to adjust it as necessary.

This is where I’m at with pricing methodologies, rates, and invoicing at the moment. Please send me your thoughts if you have other ideas.

Read more