Time for another annual product review! The thing that I do so infrequently that my last one was at v31.0 in January 2019. This time I’m not writing it as a series of release notes. Gotta shake it up! And my thoughts just aren’t flowing like that right now.

Obviously a lot has happened in the past three years, not just to me but to the world. I have been in a very privileged position to mitigate a lot of the issues that have cropped up. My family is general healthy, still employed, and in a safe position.

Writing and Coding

I haven’t written in this blog in almost two years, and I keep telling myself that will change. I don’t want to be the kind of blogger who only updates to say, “long time no see!”, or, “more incoming”. But alas, here we are.

At the very least, I have been keeping my newsletter going on an almost weekly basis, so it’s not like I’ve been doing nothing! I’ve just been doing it in a different form wiht a different type of feedback. I’m quite liking that return to newslettering, and I have plans for a second one that I want to try to form an actual community around this year. You should subscribe and see what interesting things I’m finding online.

I’ve started a new coding project for the year, which is both exciting and daunting. My intent is to code up as much as I can on some artistic project each month, with a new project to start out each month. Whatever I have I will share publicly by the end of the month and hopefully blog about. I’m really pumped on the idea, but I’ve already stalled out on month one a bit!

I’m working on the blog post to hopefully put up tomorrow, but January’s goal is to create a basic Full Site Editing theme to start using on my personal site and get a feel for how themes would be developed for clients and for public release. I’m fairly excited, but also intimidated by the concept. Still, I want to see improvement in the space, and I want to work on my very lackluster design abilities. Maybe that’ll be a future project…

Personal Stuff

This has been one of the biggest areas of growth in the past few years for me. Like a lot of folks, I’ve used the separation from constant events and being in public around ohters granted by the pandemic to do a bit of introspection. A topic that’s fascinated me for years has been identity. Both in how we form and shape it for ourselves, and how we reflect that back onto others. I think that internet technology has done a lot to morph self conception, and it is truly something worth studying more in depth. Something that I personally want to study more in depth.

For those who can take a cursory glance at me, I am in fact gay (surprise!). For those who know me a bit better, you may know that’s overly simplistic, as I’ve complicated myself enough that I don’t really know where I’m at. Here’s a list of things that I’ve been thinking about my gender and sexuality over the past few years: gay, agender, pansexual, non-binary, polyromantic, transgender, polyamorous. I don’t think that all of these fit me, and certainly not all of the time, but it’s a start. I have pretty consistently stuck with the label queer, as it’s one that I’m ok with simplifying something complex and amorphous and not really necessary to label.

“Not queer like gay. Queer like, escaping definition. Queer like some sort of fluidity and limitlessness at once. Queer like a freedom too strange to be conquered. Queer like the fearlessness to imagine what love can look like…and pursue it.”

—Brandon Wint

For what it’s worth, many people are going to see me for the first time in years having moved from using he/him pronouns and being married to a man. Still that, but also preferring they/them pronouns, more outwardly presenting myself as queer, and in a loving relationship with that same man, as well as transgender and non-binary partners who make me just as happy in different ways, having taught me new ways to love and be loved. I’m excited to meet you all over again!

I can’t tell how many folks think that I just got lazy with my own name, but I have in fact stopped capitalizing it last year. I’ve got a bunch of reasons for that, but I admit that I’ve taken a lot of inspiration from two writers who I have great respect for, danah boyd and the unfortunately passed bell hooks. There’s a lot that I could give about why I made this decision, but suffice to say it’s complicated in the same way that any part of being human is.

Moving into another year

I’m rambling a lot but I wanted my birthday post to let out a bit of this stuff in a place other than my newsletter or in private chats with friends. I promise that there is more to come but for now I am going to celebrate my birthday with some loved ones today who go out of their way to make me feel good.

If we’re meeting again after a while or for the first time: hello, my name is david. I’m queer, I’m tremendously thankful for everything in my life, I’m working on getting a little better every day, and I love you 💝

Covid-19 has clearly become the most important event of the year, and will have long-term effects that we can’t even see yet. One thing that I have noticed positively is the number of people who are stepping up to help their communities.

I’ve been thinking a lot about what I could do to help, and have asked a few people for advice. I figured it’d be worth sharing some general ideas. Not because they are extraordinarily groundbreaking things that you couldn’t figure out for yourself, but because sometimes hearing someone else can strengthen what you already know.

Offer services to local businesses in need

There are a lot of businesses that are struggling right now. Some have already laid off their employees or shut down.

There have been calls for everyone to order dinner out from their favorite local restaurants. I agree that supporting businesses that you want to see stay around is valuable, but not all of those businesses are equipped to handle an online ordering, delivery or pickup only reality. Some don’t have websites at all, let alone ways to take orders online.

There is a group in Orlando that put together the website Save Orlando Bars, which is intended to collect donations for bars that they can then distribute to staff who are unable to serve and get tips. This is a great start that required comparably little direct action on behalf of the organizers. They did design and build a site, which is exactly in their wheelhouse.

If you want to do more, contact your favorite restaurant and see if they need some support for their site. If they offer delivery, they may not be showcasing it prominently. If they have a way to order online it may need help. Or even just updating a menu and their hours, making it easier for potential customers to support them financially as their walk-in business plummets.

Give breaks to your long term clients

I’ve lost two clients due to layoffs over the past two weeks.

One of my clients did not dismiss me, though their business is based almost entirely around live events that have been postponed or canceled for the foreseeable future. Simply put, they’re paying to manage a site that is mainly providing the information that everything is closed.

This is one of my oldest maintenance clients, and they’ve paid me for years of work supporting their site through FixUpFox. They had me place some info on the site about cancellations due to the pandemic, and mentioned that it was going to be challenging with ad revenue drying up.

I realized this week that I was spending too much time complaining about how other businesses were handling their customers, and not doing anything for mine. I paused this client’s billing and sent them an email letting them know that I would be keeping it off for a few months, but the services provided would not change.

Screenshot of an email that says Dear david - I hardly know how to thank you. It's true - we've been calculating how long we can remain online without ad revenue coming in. This will be extremely helpful. And we'll get back to paying you once again as quickly as possible
A screenshot of an email from my client.

It’s already been a difficult month, but this is a sacrifice that I am able and willing to make. I’ve reduced rates for some other clients as well, letting them know that it was temporary and specifically to help and to thank them for their years of support. They could have chosen countless other providers, but they trusted me with their business, and I don’t take that trust lightly.

Make yourself available for questions

I’ve spent over a decade working with WordPress and two decades on web development in general. I’ve been involved in community building for as long, and I have been working from home for years. Plus, I run my own businesses. When it comes to advice, I may not have the best, but I have a lot of it.

I have made an open call to chat with people via DM and a few other chat/voice services that I use for anyone that needs to talk. This includes if someone just wants to talk about life in general and have someone to vent to or commiserate with. The same goes for you: leave a comment on this post or contact me on Twitter @davidWolfpaw, through Mastodon @david@tech.lgbt, or through other means that you may have and we’ll make time to talk.

Be there for your friends and listen

Related to the above: I have been proactively reaching out to friends online to see how they are doing. This has been a reminder that not everyone is in the same position that you are, and that challenges exist outside of your view. It’s easy to become complacent and think that your problems are everyone else’s. Being able to communicate with people all over the world and see how they’re coping can help you adjust, as well as let them connect.

I check in on quite a few friends daily and some others at least weekly to see how they’re doing. Most important, I try to let them do most of the talking and empathize in places where I cannot sympathize directly. I love when people ask me how I’m doing and check in, since it lets me know that they are thinking of me. If I can do the same, I feel that I should.

Remember to help yourself, so that you can help others

You can’t be there for everyone else if you aren’t taking care of yourself. Drink enough water. Get some regular exercise. Journal. Eat something healthy.

Whatever it is that helps keep you doing well, ensure that it doesn’t stop in this time of confusion and panic. You’ll better help your friends and community if you are helping yourself first.

I was thankful to spend the start of this week at the Flashback Conference, a small event hosted in Downtown Orlando. The event had the focus of, “Celebrating web development of today and how we got here”, and I think that it delivered quite nicely.

One of the reasons that I attended the event is that I have been feeling a bit of burnout around web development lately. I’ve gotten to a certain point that I have admittedly been able to coast on things that I’ve already got a good enough grasp on, and not push myself to do more. I’ve described my state lately as, “mentally and emotionally exhausted”, and I think that applies to work as well.

I’ll give a short spoiler: this event was fantastic. The cost was great, it was intimate, and I had great conversations with lots of new acquaintances. I hope that the organizers put it on next year, I’ll gladly volunteer, and I will try harder to push people in the local tech community that I know to attend.

Arriving at the Event

Flashback Conference 2020 was held at The Abbey, a concert and event venue with a stage, plenty of gathering space, and rows of chairs and tables setup for the conference. The location in the heart of downtown by Lake Eola made it convenient to step outside for fresh air, walk to Starbucks for fancier coffee during the breaks, as well as avoid having to worry about parking and travel since it was easy for me to get a ride to and from the event.

The hosts were welcoming as I arrived, easily checking me in and directing me to make a name badge. I was happy to not be the only one putting pronouns on my name badge, which was one of the first of many ways that I felt a bit more included.

I made a note before the event that it was the first conference that I’ve been to with a tech focus that was less than half white male. While it’s still a bit disappointing that it’s something worth noticing immediately, I was pleased with the diversity of people, experience levels, and thought that came from the conference. The event host, Jenell Pizarro, was entertaining, kept everything on track, and was all around a good emcee, having done research on her own to share interesting tidbits about speakers.

If all that I got were the conversations that I had with new people, that would have been worth it for me. Thankfully, the presentations were overall very good as well.

Day One Presentations

In another notable moment, this has to be the first conference in years that I attended every single presentation. Making it a single track event was a great idea, and was the only way that catching every talk was feasible. Though there were some minor technical difficulties, it’s not unexpected for a tech conference.

JavaScript developer and author Kyle Simpson was the day one keynote for the event. In his presentation he covered some of the history of web development, from single file pages with all scripting inline (or even before scripting existed for the web!) to the idea of separation of concerns, Kyle had a long timeline of web development tools and techniques.

Kyle had several takeaways for attendees around focusing on the user first, and suggesting that we don’t think about graceful degradation or progressive enhancement but instead on “Imprintable Design”. His overall thesis was that users shouldn’t have to mold to technology, but technology should instead fit users and meet them where they are, becoming imprinted with the needs, wants, and concerns of the user. I am fully behind design and development in this way.

Kyle Simpson at Flashback Conference 2020 in Orlando. Slide reads, "Need a new term: Progressive Enhancement, Progressive Experience, Personalized Experience, People Empathy", with all options dimmed except for People Empathy

Ben Ilegbodu was the second speaker, and also spoke about the history of web development. Both of these men were around and developing during most of this time, and Ben reminded us that things were both simpler, yet harder with a higher barrier two decades ago.

Before justify-content, we had the spacer gif.

Ben Ilegbodu

Following Ben was Ayşegül Yönet, who shared with us how WebXR is poised to redefine VR development for the web. The demo took a bit of time to get going but was interesting, and I look forward to seeing more done in the VR space that feels less just like novelties or vertigo-inducing games.

Jay Hoffman, creator of The History of the Web was the perfect person to talk about the death of webmasters. Spoiler: Jay doesn’t really think that they are gone, but they have definitely changed. He outlined what makes a good webmaster as being versatile, collaborative, and skillful. Jay also talked about why things simultaneously got too hard and too easy for the webmaster as they existed on the early web to keep existing.

The next talk was an accessibility primer discussion with Helena McCabe. She gave lots of good data around accessibility and disabilities, a variety of compelling reasons on why your site should be accessible, and a few ways to get started on working toward that goal.

Em Lazer Walker did a very cool talk about game dev on the web. Specifically, they shared some of the methods used to optimize a Flappy Bird battle royale game, which introduced me to some novel concepts of caching and creatively fudging to give the appearance of instantaneous interaction on a budget.

Em Lazer Walker at Flashback Conference 2020 in Orlando. Slide text reads, "Go forth and make weird things!"

Simon MacDonald talked about progressive web apps from their inception to the current state of affairs. The work that he did with PhoneGap helped me several times in the past, as well as let me see that something totally opaque to me (developing a phone app) was accessible by flipping the script on what tooling was acceptable.

Always Bet on the Web.

Simon MacDonald

Finishing day one, Divya Sasidharan talked about JAMStack, considering dynamic content in static site generators, and handling deploys. She shared some useful tools and links, and further encouraged me to experiment with moving my personal site to a static site for the good of my users. Maybe that’ll be a post soon!

Day Two Presentations

The keynote for day two was on “The Humble Radio Button”, by Estelle Weyl, someone who has written more books about development than I will likely learn in my life. She was gracious with her time to chat, and during her presentation she shared a lot of useful demonstrations on how something seemingly as straightforward as the radio button, a 26 year old HTML feature, could be used in stunningly diverse ways. I absolutely agree with Estelle that we as developers have to try to avoid breaking the accessible web foundation that we’re starting with when developing sites.

Someone is paying for your [JS library] downloads. It’s not you as the dev.

Estelle Weyl
Estelle Weyl at Flashback Conference 2020 in Orlando. Slide text reads, "HTML is by default accessible. It is our job as developers not to fuck that up."

Raymond Camden had an entertaining presentation on the history of the dynamic web. The first scripting that I ever learned was Perl for CGI, and being reminded of it was a weird treat. He also endorsed some of the static site generator frameworks that I have played with and considered for future projects.

I haven’t used Azure, but Burke Holland gave a good overview of some cool things that you could do with the platform, walking through most of the code that runs a public bookmarking demo site that he built that looked pretty cool. Following Burke’s talk and lunch was a panel focused on the current state of web development, which echoed a lot of what was heard earlier in the conference: it is simultaneously easier and harder to get into web development and to find a job these days.

david Kourshid is a talented developer who can do amazing things with CSS. I thought that I liked CSS, but I wish that I had used some of his examples in some talks that I gave last year. For now, I’ll settle on learning from him and trying to duplicate some of his efforts in my own way. david showed a lot about how web animation works, and some creative ways to think about design for the web. This had to be the talk that most made me immediately want to start coding something on the spot.

Before the afternoon break, Alyssa Nicoll talked about dark patterns in UI, something that frustrates me on a regular basis. She gave some good resources for combating them, as well as showcases of various dark patterns. Some of them are mind-blowingly brazen in how they attempt to deceive users, and many work.

Finally, the decision to end the event with Carlos Souza was a great idea on the part of the organizers. I’ve been to some of his Meetups in the past, and we used his company’s office for years to host the WordPress Meetup, for which I will be forever grateful. Carlos spoke about moving to the US and creating tech communities, how that impacted his career, and how all of us can give back as attendees, speakers, organizers, and sponsors of local events. The topic is near and dear to my heart and I was nodding in agreement the whole time.

Community Involvement

I overall liked the fact that it was a smaller, more intimate event. But I can’t help but agree with one of the panel speakers, Lee Warrick, about the lack of community involvement at the event. I know dozens of developers that would have benefited from this conference, and I posted to our Meetup group in advance of the event and told people that I was going.

What I didn’t realize, being self employed, is that some people simply couldn’t make themselves available to attend that wanted to. Lee shared this with me via tweet:

It’s sad that this is the case, but with some of my prior employment experiences I can also understand it happening. Business owners: encourage your employees to attend community events, or at least don’t discourage them when they suggest them to you!


I couldn’t have asked for a better conference to get me out of my funk a bit.

Did it solve every problem that I have right now? Absolutely not.

Did it give me pages and pages of notes to refer to later, both for specific problems and explorable ideas? checks notebook Yup, for sure.

Thank you Flashback Conference, for reminding me of where I started on the web, and why I’ve stuck with it for so long 💝

As usual, I’m running a bit late on plans! I was out of town for the past week, and while I could have written this post then, I wanted to take time off away from the computer a bit.

I’ve seen lots of “13 Best Whatevers of the Decade” posts going around, but I decided to limit to a few of my favorite things that I personally consumed in 2019 only, whether they were made last year or not. I also wanted to choose my top thing in each category, then realized that it’d be easier just to pick a few that I liked overall.

Favorite Film of 2019 – ‘Steven Universe: The Movie’

Steven Universe The Movie screenshot of Amethyst, Garnet, Steven, and Pearl

What can I say besides I love Steven Universe? There is something about the pure wholesome goodness of the show that gets me. The characters not only grow over the course of the series, but they make mistakes, learn from them, and live with those consequences. Even with standalone, bite-sized episodes, the world is more fully fleshed out and realized.

The Steven Universe movie is the penultimate story of the series, taking place after the powerful ending of the show but before the more relaxed epilogue that we were blessed to receive at the end of the year. It immediately opens by letting us know that the world has changed in the few years following the series proper, but that all of our favorite characters are still around.

Being able to pull a new story out that uses a clever plot device to let the characters – and by extension the audience – get reacquainted with each character as a culmination of the series was a real treat. Not to mention the fact that the songs are really catchy, and that the cast does an amazing job of keeping them stuck in my head four months after the movie was released. It makes sense that Cartoon Network plans on re-releasing it as a sing-along this year. On top of that, the animation is superb.

If 2020 can be the year of authenticity, and the ability for us to talk openly about our feelings without regret, I’d be completely on board with that. I also wouldn’t mind Steven’s wonderful outfit!

Favorite Books of 2019

I finished 61 books last year, which includes some trade paperback comics and audiobooks. It doesn’t include the multiples of that length that made it through my Pocket queue, but I guess it’s not a consumption competition, is it?

This category made me not want to limit to only one entry, because there were so many good ones! I wanted to share a mix of non-fiction and fiction in a variety of formats: introductory primer reference, graphic novel, novellas, and short and full length stories.

Queer A Graphic History

By Meg-John Barker, Jules Scheele

I picked this up during WordCamp NYC, and immediately thought of my friend Allie Nimmons. I texted her the cover of the book and she asked if I could pick up a copy for her. Little did she know that I’d already paid for two more copies of the book 😂

The artwork serves the concepts of the book well, and it is a great primer on a lot of theory around queer thought, rights, and issues. There’s a lot that I wasn’t aware of, especially some of the earlier history of Queer Theory. There were also multiple points in the book where I nodded along with the author going, “yes, exactly, that’s what I’ve been trying to tell people!”

How to Do Nothing: Resisting the Attention Economy

By Jenny Odell

I felt that this book was best consumed on long walks that I’d take through my neighborhood. I use the word “consumed”, because I realize that to some extent it’s still a notch on the stick, a piece of art to be consumed at 2x the intention of the author to make room for others.

That said, I got a lot out of this book. I tried going through both of my social media profiles to the week that I read the book to find a quote that I was certain that I’d saved, but I wasn’t able to find it. The time that I spent focusing on that simple but frustrating task is probably a good example of how we can make busywork feel more important than it is.

We all need to learn how to do nothing sometimes.


By Cory Doctorow

Some of the ideas that Mr. Doctorow explores are inflammatory, and that’s exactly the point. I’ve enjoyed all of his books, and this one was no exception. It left me with lots of ideas, some good and some bad.


By Ted Chiang

I was first introduced to Ted Chiang through the film ‘Arrival’, and am better for it. The short stories here cover a lot of the common sci-fi tropes, yet in a way unlike I’ve seen them before. From an alien world dealing with their overuse of the environment to a time travel story set in the Islamic Golden Age, Chiang takes familiar themes and remakes them anew.

Tetris – The Games People Play

By Brian “Box” Brown

I didn’t realize that Tetris had such a complicated history. This graphic novel is an engrossing read in how people with big ideas took bigger risks by lying their way into bringing the popular Russian computer game to the masses on handheld gaming consoles.

Favorite Album of 2019 – Dirty Computer by Janelle Monáe

What’s that you say? This album came out in April 2018?

Sorry, I can’t hear you over the sound of Janelle Monáe knocking down barriers and proclaiming that we are all valid, and more alike than we are different.

Favorite Games of 2019

Mario Maker 2

This is the kind of game that I can make time for now. I either spend way too much time wandering in games like Breath of the Wild or No Man’s Sky, or I play party games that only require a few minutes at times that it’s socially unacceptable to be on the computer 😅

Mario Maker 2 expands upon the first game with more tools for people way more talented than I am to make frustrating levels that feel amazing when you finally figure out the secret and make it to the flagpole.

Pokémon Sword

I haven’t played through the game very much, so it’s weird to add it here. But I can already tell that it’s a good rework of the original games that I grew up with, and keeps the wholesome fun going that makes the series one of my favorites.

I’ve made myself so busy lately that I haven’t been able to get far into the story yet. But my husband knows me well and took the time to evolve a Sylveon for me to help me build an all doggo team with a friendly fairy as the lead 💝

Adventures With Anxiety

This game is a half hour long and mainly story driven. Sure, the wolf character is obviously cute and speaks to me, but so does the purpose of the game. You work your way through some anxiety-inducing situations, and decide the course of action that your character takes. At the end you’re given some science-backed resources on how to handle various situations.

It’s playable for free on Nicky Case’s website, and you should check out more of their work too!

Jackbox Party Packs

I never played the original Jackbox games, but the party packs have been a lot of fun. They are great with groups of friends and family, and are good in person or online.


This is just a bit of what I’ve consumed last year. I plan on more regularly sharing what I like this year via my newsletter (subscribe for good stuffs!)

Have you read, seen, played, or listened to anything that you want to share with me? Leave a comment and I’ll add it to my list!

Subscribe to the 🐺🐾 Newsletter

My friend Allie Nimmons asked recently if anyone would read a WordCamp US 2019 recap were she to publish now, and the feedback was highly positive. So much to the point that Allie published her WordCamp US Recap that same day, and inspired me to write one myself. I am not quite as quick as getting things published 😅

Community and Diversity

Allie devotes a good portion of her post to talking about community, which if you already know me, know is one of the topics that I can discuss to the point of making people tired. That’s not a joke, by the way. I have twice had people tell me (once anonymously, once not so much) that I spend too much of my stage time talking about community.

I joined Allie, Jill Binder, and Aurooba Ahmed in giving a workshop on improving diversity at events, with a focus on improving diversity of speakers. More information on the workshop (as well as how to run it in your own community!) can be found at the Make WordPress site, and you can also get the workbook that Aurooba put together for us.

Personal Scheduling

This was one of the most highly scheduled WordCamps I’ve ever attended. I had a tight schedule already, arriving late the night before and leaving the morning of contributor day. In between I had volunteer orientation and a few volunteer shifts, a SiteGround meeting, an organizer meeting, and of course the workshop and my own presentation, The Power of CSS.

My one regret this time around was the sessions that I had to miss. I was told that I got some shoutouts from Tantek Çelik during his talk, “Take Back Your Web”. I absolutely would have attended that regardless of a shoutout, considering how integral Tantek has been to the IndieWeb movement that I’m trying to become more involved in.

Similarly, The Web We Want did a session discussing changes that users would like to see on the web and how we as a community could work to make them happen. The idea looks great on the whole, and I would love to see it expanded in ways to be more accessible to people who aren’t able to attend a few large events or have heavy development skills. I submitted a few suggestions prior to the event, but due to scheduling was unable to be there in person to hear other ideas and see the panel discussion.

My connection to WordPress events revolves almost entirely around people. Whether that’s meeting new people or spending time with friends met online or via past events, I try to devote most of my time to conversations. That was easy to do with most of the jobs that I had, but even in this regard I didn’t fully succeed. As an example, I briefly got to meet david Shanske of the IndieWeb community as he introduced himself to me prior to our workshop, but I was unable to connect again until after the event. When a barrier to community involvement is not exactly knowing where you fit in and how to help, having conversations and finding allies is important. I aim to do so in the future so that one day I feel a bit less like an outsider imposter.

A Shift in WordPress

I won’t be the first to say that the WordPress Community and events have changed a fair amount over the past year. There are a variety of reasons given for this, and I imagine that it’s a combination of factors. WordCamp US certainly felt a bit more corporate than it has in years past, though that’s not really a bad thing to me for an event of this size.

I do think that the disconnect between funding (both the decline in sponsors and rules/limitations) and the volunteer nature of the event are also a cause for concern. I still have yet to get a good answer to a question that I had stemming from a conversation about WordPress Global Sponsors from over a year ago, and part of my concern is that I seem unable to


Finally, a quick rundown of some of my favorite parts of the event.

  • Meeting Jean Perpillant for coffee before the event, freezing my hands in the cold to get a picture of the Arch during the sunrise.
  • Chatting with Cami Kaos and Courtney PK about some non-WordPress things for a change, like gardening, pets, XOXO Fest, and their love for Portland.
  • Checking Twitter after my lightning talk and workshop to see a lot of positive tweets, helping to slightly alleviate the worry that I did a poor job.
  • The talks that I did attend! Like
  • Spending time with the SiteGround crew! This included a dinner in which I overstuffed myself before entrees even arrived, a productive meeting, and catching up with more people about work and life outside of the conference.