## One year afterLast year, on June 28, [I was hit by a truck crossing the street in Healdsburg, California]( ). It was a really life-changing experience; with broken ribs, face, and wrist, I spent a lot of time in a haze of pain, trying to minimize the shooting jabs that would happen if I grabbed something the wrong way or turned my body too far. I spent a week in the hospital; another few weeks with my family in California; and then a couple of months healing and getting physical therapy. I was really lucky to have such a strong and resilient social safety net. Although the accident was in California, Quebec auto insurance covered all my medical expenses, and even helped with incidentals. But even more important, my family and friends came through for me. My three brothers visited me in the hospital, as well as a cousin, and then friends in SF stopped by non-stop while I was healing enough to take a plane home. My wife, Maj, was exceptionally organized, keeping all the papers in place and coordinating all the moves and travel. I really just had to concentrate on getting better. By [fall of last year,]( ) I was back to the gym, working out with light weights and doing some cardio. I still have occasional twinges and jabs from my wrist, and my ribs make disconcerting grinding noises when I stretch the wrong way, but for the most part I am as back to normal as I’m ever going to get. One thing I’m grateful for is just not having excruciating pain catch me and knock me breathless when I’m not expecting it. But I’m also grateful to be active again, and able to work in the garden or ride my bike or do any of a hundred physical activities that were unavailable to me last year. I have an ongoing lawsuit to clear out the last of the expenses, and there always seem to be new bills from some clinic or institute attached to the hospital I stayed in. I don’t think this accident is going to be gone from my life for a while. But for now, I’m happy that the worst of it is over. Thank you to everyone who wished me well, fed me, clothed me, drove me to appointments, or encouraged me as I strained through the pain of simple, everyday activities. It meant a lot to me. #accident #anniversary #health #pain
## Me on The VergecastAnother media appearance, this time on one of my favourite tech podcasts, [the Vergecast]( ). [I did a talk]( ) with David Pierce about new developments in ActivityPub, how to increase adoption, and our work at [the Social Web Foundation]( ). I hope it’s interesting for people who a) like hearing me talk (more [here]( )) and b) like ActivityPub and the Fediverse.
## How to register just enough domainsI have a problem with registering domains. When I have an idea for a Web site, software project, organization, or sometimes just a pun or joke, I’ll go on a domain registrar site and see what related domains are available. I’ll brainstorm a bit in the search screen to try some different options for names or top-level domains, and if I find something in my price range, I’ll buy it, even if I’m not going to use the domain right away. This leaves me with a portfolio of unused domains that are like reminders of unfulfilled dreams. Ah yes, the Web site for the [Frito pie]( ) restaurant I never made. Oh, right, I was going to start a social network for people in the Plateau de Montreal. Each year, as the renewal deadlines come up, I have to decide if I’m going to give up this little dream, or give myself another year to get started. The fact is, I just don’t have the time or the energy to make as many social networks or Web sites or joke URLs as I’d like. I have a full-time job, a family, and existing responsibilities at the [Social Web Foundation]( ), [CoSocial.ca]( ), and the [Social Web Community Group]( ). I can’t spend money on dreams I’m not fulfilling, just because I’m afraid to let them go. So, I’m trying to change my habits and come up with a new strategy for using domains. It’s aspirational for now, but I hope I can use it to reduce some of my personal expenses on new domains and domain renewals. I’m sharing it here with you partially in hope that it can be useful, and partially to hold myself to the strategy.## Domain strategy<li><strong>Register a short, personal domain name</strong>. I know, this probably doesn’t seem like a great first step, but bear with me! This domain is going to be the basis for a long term presence. Also, it’s a chance to get it out of your system, and put those domain registration superskils to use one last time. Use something that represents yourself, as a person, not a company or your personal consulting firm or design agency or whatever. I use <a href="https://evanp.me/">https://evanp.me/</a> , which I registered a while ago specifically for this purpose.</li><li><strong>Assign the root domain to a content-management system</strong>. For me, that’s this WordPress blog. Other people might want to use Drupal or Jekyll or a wiki or some other publishing system. You can even use plain old HTML, if that’s how you want to fly. The important thing is that you need to be able to create new pages on a path you like — preferably of arbitrary depth, but at least with user-defined pathnames.</li><li><strong>When you want to register a domain for a new static website, make a page on the root domain instead.</strong> OK, now we’re into the part where we’re actually saving money. When you get an idea for a Web site, and you start searching for domain names, stop doing that. Instead, create a page on your personal CMS. So, for example, when I wanted to register a new domain for the ActivityPub book I wrote, I instead created a page at <a href="https://evanp.me/activitypub-book/">https://evanp.me/activitypub-book/</a> . This has two benefits. First, it keeps me from registering a domain for a project I’m not even going to start. Second, it keeps me from burning up all my creative energy on domain-buying, and gets me to use whatever momentum I have to write a first draft of the page I need, and possibly either share it out on my blog or on my social network presence(s). Note that using a short domain puts more emphasis on the page’s path than on the domain.</li><li><strong>When you want to register a domain for a new Web service</strong>, <strong>use a subdomain of your personal domain name instead.</strong> There are a lot of Web applications and services that need specific server-side code and databases and can’t be run as a page on a WordPress site — like a Mastodon server, a MediaWiki site, or a NodeJS application I made up. A lot of people will never need to do this; as a software developer, this is something I do all the time. When I need to make a server that can’t run within WordPress, instead of registering a new domain, I create a domain name for my service that is a <a href="https://en.wikipedia.org/wiki/Subdomain">subdomain</a> of my personal domain. So, if I want to set up a Mastodon server (I don’t, right now) I’d make a subdomain at <em>social.evanp.me</em> and use it for the server. The benefit here is that I have a domain name to start off with, and also I don’t worry about starting to use it until I actually have a server available. One particular trick that has worked well for me is to use a <a href="https://en.wikipedia.org/wiki/Wildcard_DNS_record">wildcard DNS record</a> that points to a <a href="https://en.wikipedia.org/wiki/Kubernetes">Kubernetes</a> cluster ingress. I can use the ingress to route between services, without having to create or update the subdomains. It saves a couple of steps in this process.</li><li><strong>If a project needs to become independent, register a domain and move to it.</strong> This is the safety valve that lets me feel OK about not using the “right” domain for a project from the outset. Of course, “needs to become independent” is a hard to specify objectively, but some good rules of thumb are whether there are enough collaborators that I don’t feel comfortable giving them an account on my personal blog, or if the people who use the service or page ask why it’s still linked to my personal domain. At the point when a domain is actually <em>needed</em>, I can go register it, move the service or content to use it, and then use <a href="https://en.wikipedia.org/wiki/URL_redirection">URL redirection</a> to move traffic from my personal site or service to an independent one.<br>Having this as an option lets me worry a lot less when starting a new project. There are also so many <a href="https://en.wikipedia.org/wiki/Top-level_domain">top-level domains</a> (TLDs) available today that I don’t feel like I have to grab a domain just so it doesn’t get squatted by others. It’s OK to use one of the less popular TLDs if the project is becoming its own thing.</li>So, that’s it. Have a personal domain, put a CMS behind it, use that for publishing static pages, use subdomains of it for standalone services, and register new domains only when you need to. I think this kind of strategy is inherent in the idea of having “your own domain”, and a lot of people follow it to a greater or lesser degree, but I wanted to spell it out fully to make it clear to myself how I would deal with different circumstances. Let me know if you have other tips for reducing your domain registration spending by committing to a good personal domain. #domains #spending
## Print Version of ActivityPub Book[O’Reilly Media]( ) asked me to collect expressions of interest for a print version of the [ActivityPub book]( ) I wrote. I’ve added a form to the ActivityPub book page at that you can use to let me know that you’re interested. Even if you’ve told me before in person, over email, or on the Fediverse that you’d like a print version, it would help me a lot if you could add your name to the form. It’s just for counting names and notifying people when the book comes out in print; I won’t use the email for anything else. Thanks so much to everyone who’s shown interest so far. I hope to get a print version happening soon! #activitypub #ActivityPubBook #PrintVersion
So, it’s my birthday on Monday, which means I’m going to do a [birthday inventory]( ), as I do every year at this time. I try to do a comprehensive evaluation of where I am in life, what’s going well and what’s not. This year, Maj and I are travelling to Crete for a week-long trip, so I’m trying to do the inventory a little early to avoid spending my entire trip in the hotel room. (UPDATE: I failed at this. I got part of it done in Charles de Gaulle Airport waiting for our flight to Herakleion, and now I’m on our hotel room balcony in Chania at dawn on the day of my birthday, watching the sun come up over the harbour and typing away.)<li><strong>Health</strong>. So, this one has been rough this year. I got <a href="https://evanp.me/2024/07/26/health-update/">hit by a truck</a> at the end of June while crossing the street in Healdsburg, California. I had many broken ribs, smashed up my face real good, and also snapped one of the bones in my wrist when I hit the ground. I was in the hospital for a week, then groaned on my family’s couches in California until I was allowed to get on a plane to fly home.<br>Three months later, I’m… kind of OK. I am off pain medication for my ribs, and my wrist is healing well. I do occupational therapy and acupuncture and, with luck, I’ll be back to lifting weights at the gym with Stavro in a month or so.<br>The whole incident has made me consider a lot about my health — how it affects people around me, how resilient I can be, how <a href="https://en.wikipedia.org/wiki/The_Body_Keeps_the_Score">the body keeps the score</a>. Most of all, it reminds me of what a deep bench of social support I have — a big family that takes good care of me. It makes me feel rich.<ul class="wp-block-list"><li>This all said, my physical health is not where I want it to be. I’ve got a BMI of 31, which is heavier and thicker than I like to be. I have not yet figured out how to find my way out of this corner; I hope a birthday or a new year gives me the impetus to start exercising more and eating more carefully.</li><li>Mentally, I’m really over-committed with work and school. It makes me testy and irritable. The accident also has me considering a lot of important issues with relation to my body and my age. I’ve been meditating regularly for almost a decade, but I’m also now taking time for therapy sessions. Together, I feel like this is keeping me on the right track.</li></ul></li><li><strong>Family</strong>. My little kids are growing up. Maj and I are transitioning to empty nesters, and I think we’re both comfortable with it. It feels more like a phase transition than the end of anything; we’re parenting in different ways.<ul class="wp-block-list"><li>My daughter Amita is 19 and still figuring out where she’s going to go to university and who she wants to be. Since this summer, she’s sublet her own apartment in our neighbourhood in Montreal — when she wasn’t travelling to Martha’s Vineyard or Brooklyn. I think she’s happy and fulfilled, and I’m proud of the person she’s become. I am also very excited for her university opportunities as a bilingual student and dual citizen. Quebec, rest of Canada, USA, France — these are all open doors for her. I’m probably more aware of the opportunities that close down the longer you wait than she is, which is a cause of tension between us.</li><li>My son Stavro is 16 next month. He has really blossomed in the last year; his love of music has him playing guitar and drums constantly — at home, school, and separate music lessons and studio. For his birthday last year, I got him a membership at our local gym, and we’ve been going to lift weights together since — up until the car accident. It’s a great way to connect and it’s the major milestone I hope for in my recovery. He’s also become more socially aware and engaged.</li><li>My wife Maj and I are doing well together. We’ve hit the point where we have stopped begging the teens to come with us to do things we enjoy, like hiking or museums, and we just go and enjoy them ourselves. It’s been a nice change, and a glimpse into the life we’re going to have over the next few decades. Our trip to Greece for our 20th wedding anniversary is a nice celebration of this change.</li><li>My extended family has been closer this year than expected, because of the accident. I was unable to fly home to Montreal for the first few weeks after getting out of the hospital, so I split my time between my brothers’ houses in the Bay Area. Although I was in a Percocet haze most of the time, I got to be part of their households in a way I haven’t before, spending time with kids and parents. I also got to spend some extra time with my parents in Half Moon Bay. It was a great windfall from the accident.</li></ul></li><li><strong>Work.</strong> Work has been great over this last year. My team at Open Earth Foundation has been working on a new product, <a href="https://citycatalyst.openearth.org/">CityCatalyst</a>, an Open Source tool for tracking and managing a city’s greenhouse gas emissions and climate change risk. I’m now managing a team of 10 people, from data engineers to full-stack Web devs to AI apps developers. It’s a challenge, but I’m really happy about the impact we’re having. This summer, we landed a project to develop climate plans for 50 cities in Brazil — a big jump up from the 5 pilot cities we had up until that point. We’re on the upslope on the rollercoaster, and it feels like we’re on our way to <a href="https://en.wikipedia.org/wiki/Product-market_fit">product-market fit</a>. Our ability to execute on this project will determine whether we can leverage it to hundreds or thousands of other cities, or if we sag into mediocrity and failure. It’s a really crucial time, and I’m nervous and excited about it.</li><li><strong>Life’s Purpose.</strong> What’s developed since last year, even more, has been my work on the <a href="https://en.wikipedia.org/wiki/Fediverse">Fediverse</a> and <a href="https://en.wikipedia.org/wiki/ActivityPub">ActivityPub</a>. I helped create this protocol in the 2010s, and since 2022 I’ve been actively working to maintain it and develop it. The surge of interest in distributed social networks since Elon Musk bought Twitter and turned it into X has made this work seem extremely important.<ul class="wp-block-list"><li>In the last year, I’ve been a big part of the <a href="https://www.w3.org/community/socialcg/">Social Web Incubator Community Group</a> at <a href="https://www.w3c.org/">W3C</a>, which manages the protocol spec. I’ve been maintaining the documents as their editor, as well as helping new reports on AP to get out. I’m pretty excited about the direction of this group; it’s really taken shape during this time.</li><li>I’ve written the O’Reilly book on ActivityPub, <a href="https://evanp.me/activitypub-book/">ActivityPub: Programming for the Social Web</a>. This is the first book I’ve ever written, and it’s been a huge part of my life over the last year — taking up almost all of my scant free time. It was a challenge to structure the text to help developers learn the protocol, as well as writing clearly about the practicalities of developing for the modern Fediverse. I’m really proud of the result — I even had in-person and on-line book readings when it came out in September.</li><li>With co-founders Mallory Knodel and Tom Coates, I started the <a href="https://socialwebfoundation.org/">Social Web Foundation</a>, a non-profit dedicated to making a bigger, better Fediverse. We engaged many of the stakeholders in ActivityPub and have started a number of projects to focus on people, policy, protocol, and plumbing.</li><li>It’s hard to believe that Tom and I also managed to work on a <a href="https://summerofprotocols.com/">Summer of Protocols</a> project to develop <a href="https://github.com/swicg/activitypub-e2ee">end-to-end encrypted messaging over ActivityPub</a>. We got to participate with other protocol developers in a variety of fields and discussed protocol theory with them. It was a great experience; I hope to be a part of the SoP project from here out.</li><li>I continue to work on <a href="https://cosocial.ca/">CoSocial</a>, the social network cooperative I helped found in 2023. I lead the trust and safety team and sit on the board. I stepped back from the board presidency this year, and I’m hoping I can dial down my active trust and safety role and turn over the team to others.</li></ul></li><li><strong>School</strong>. All this work on ActivityPub took a hit on the other parts of my life, especially exercise and sleep (see “Health”). Another place that I took a hit was in my graduate school classes at Georgia Tech. For the first semester that I was working on the ActivityPub book, I got credit as part of a “special projects” program, but the next two semesters I had to withdraw to concentrate on writing. This fall, I considered withdrawing more permanently, but I feel like getting my master’s degree in computer science is a personal goal that I don’t want to give up. So I’m back in classes, taking “<a href="https://omscs.gatech.edu/cs-6400-database-systems-concepts-and-design">Database Systems: Concept and Design</a>“. It means reading, lectures, and homework every week, but I feel great that I’m making forward progress on my degree. The question remains, though, whether I’m going to be able to maintain this level of work — main job, ActivityPub, and master’s degree — long enough to finish the program. It seems almost impossible.</li><li><strong>Home</strong>. I was away from our house in the Eastern Townships of Quebec for months in the crucial period of early summer this year, and it hurt my gardening and vineyard. My grapes grew wildly out of control, and even when I was back to the house it was hard for me to tend to them with my broken wrist and ribs. Surprisingly, they did well anyway, and we had our first harvest of wine grapes in September. Stavro, Maj and I picked, cleaned and squeezed the grapes, and if all goes well we’ll have a case of white wine in spring to drink with Easter lamb.<ul class="wp-block-list"><li>Our home in the city of Montreal is doing great this year, too. We replaced our dishwasher with a new one, and we’ve been slowly replacing other twenty-year-old wedding gifts that are at their end of life. The fact that we are three instead of four in the house is also making it feel less crowded.</li></ul></li><li><strong>Travel</strong>. I’ve done so much travel this year — I went to California in summer, London last winter for an ActivityPub event, Argentina in spring for a work retreat, Maine at the end of summer, and now Greece with Maj for our anniversary. It’s been a real blessing, and one of the major joys I get from life. I’m trying to remember to appreciate the places I’m going to as I’m there — hard to do when so much of my travel is for work.</li><li><strong>Friends</strong>. Ah, the constant refrain. I’ve been bad spending time with friends this year — maybe worse than in previous years. My online connection with much of my friend group is through Facebook, but I’ve been putting more of my life and thoughts into the Fediverse and Mastodon than on other networks. But I have also had good times in person with people in Montreal. I’ve also been re-energizing my friendships in the standards community, which has been a good step forward. As someone who is putting so much time into social networks, you’d think I’d have a better story here.</li><li><strong>Finances</strong>. This year has been OK for finances. Maj is doing well at work, I’ve been doing great at OEF, and I’ve had some additional funds come in from work on the book and on the Summer of Code. Unfortunately, working so hard makes it hard to concentrate on savings, and traveling means lots of expensive meals out and hotel rooms. Altogether, I feel better about our finances than I have in a while, but looming college tuitions are going to be a big lift, regardless.</li><li><strong>World</strong>. Oh, the world. Last week marked one year of devastating war in Gaza — worse than I even imagined it would be in my last birthday inventory. I have tried to do my part to end or at least minimise the suffering with donations, protests, and online discussions, but I can’t help feeling that the runaway war machine has become unstoppable without a major change in the world structure. I hope that we as a world community find our way to that change. I am holding onto hope that the presidential election in the US reconfigures some part of the machinery so that Gaza’s war winds down</li> The sun is almost over the horizon here, and the harbour is starting to wake up. I’m going to finish the inventory at this point, although I’ll probably add or amend over the next few days as ideas pop up. Thanks for reading this far. #birthday
My book [ActivityPub: Programming for the Social Web]( ) is on its way to the virtual printers tomorrow, which means it will be available for purchase from all your favourite e-book stores at various points during next week. I will be taking this opportunity to have an online reading and book-signing party. The event is on September 30, 2024 at 9PM ET. You can follow this [meeting link]( ) to join. I’ll do a reading from parts of the book (the parts that are very accessible to everyone, not the code samples!) and a Q&A. I’ll also be doing a book signing for people who have already bought the book (or who buy it during the event). How do I sign an ebook? Simple: you show me proof that you bought the book, and I’ll post a note on the fediverse with whatever text you want and tag you in. It’s an instant collectible. I’m looking forward to having more people read the book, and I really hope it helps more people write programs for the social web. Please feel free to join!
Those who have followed my [health update]( ) and [original posts]( ) know that I was hit by a car while crossing the street in late June. It’s now been 12 weeks, and I want to give an update on the update. Just a couple of months ago, I was in really serious pain, with 9 rib fractures, and even with opioid painkillers taken every couple of hours, every movement was excruciating. My left wrist was in a brace and I couldn’t write or type. My face was bruised and numb, with broken bones in my jaw, cheek and eye socket. Today, I’m mostly better. It’s astounding how resilient my body is. I have a hard time with standing and sitting, but not with the kind of blinding pain that made me want to faint. I rarely wear my brace, and I’ve started running daily. I’m seeing an occupational therapist, a psychotherapist, and an acupuncturist for better circulation and healing. My broken wrist is still very stiff; I can barely bend it. The orthopaedic surgeon says that I may need another surgery at some point, but I am hopeful. I can type, write, and do most household tasks. It still can’t take a lot of weight; I need to push myself up with my other hand, for example. I am not yet back to the weightroom, which is a bummer, since it was an important form of bonding with my son before the accident. I have a hard time remembering just how scary and all-encompassing my injuries were that first weekend. I felt like my pain was everything; all I was was a pain-haver. I kind of gave up at some point even imagining what it would be like to get back to normal. I talked to my therapist about this; I’ve kind of realised that I’m never going to go back to how I was before the accident. I’m always going to have a body that had a really violent set of injuries, forever. But that doesn’t mean it has to be worse. She said, “How do you know it isn’t *better*?” I’m trying to hold onto that thought. Legal and financial issues still loom, but they feel like they’re starting to resolve. I kind of realised a while ago that the reason people get pain and suffering payments from legal settlements isn’t to compensate them for the pain they had during the accident; it’s to compensate them for the pain and complications they’re going to have for the rest of their lives. It’s a way to pre-pay for chronic, recurrent medical issues. I’m doing some household chores, gardening, and other light hand work. I’ve been trying to do extra stints of dishwashing to make up for all the chores I skipped, but I’m literally 3 months behind, and I’m probably never going to catch back up. Thanks to everyone who’s had kind words about my accident; it’s meant a lot. I’m probably not going to make any further updates, except in that creaky way that people with pins in their bones complain about oncoming storms. No words of wisdom to share except please be careful crossing the street. #accident
I gave a talk** at [Berlin Fediday]( ) this weekend entitled *A Bigger, Better Fediverse*. I talked about what has been happening on the Fediverse in terms of growth, but also what’s been improving in terms of trust and safety. I also talk about why these two dimensions go hand-in-hand, and how we can’t have one without the other. ** Almost. There were technical issues, so I had to record the talk and then upload it. All the better for you!