In design, white space is the part of a page or illustration that is left unmarked. There are no images, words, or even small flourishes. It is completely blank, left as the silence among the other design elements on the page. That silence is important. It lets the viewer's mind breathe. It gives them a place to rest their eyes as they think about everything else on the page. That silence gives…
I find barriers to access all the time. A curb cut buried under a mountain of plowed snow, making the sidewalk impossible to access. A website with auto-playing and distracting video, blinding a user from noticing any meaningful content. A giant image packed with text, making the information inaccessible to screen readers. I never expected to find a barrier within the academic rigor of my child's…
Appelflap is a Dutch apple fritter. It is also, as I was recently reminded, a topic of conversation at work from years ago, where I said the following: "The appelflappen aren't my problem. My problem is the woman who looks like she murdered someone in a horror movie surrounded by appelflappen that look like bloody teeth." For context, our development team was working in 2-week sprints, which we…
My email box is almost always full of messages from friends, colleagues, newsletters, and the not-so-occasional spammers. I strive for inbox zero, but somehow rarely achieve it. However, I do make a regular effort to check, read, sort, and sometimes even respond to the emails I receive. Today, I received a unique business opportunity in my inbox. The subject line read: [Confidential] Ever…
OpenAI announced its new model for creating images in ChatGPT yesterday. This model promises more accurate, more detailed, and faster image generation, not only for transforming one image into another, but also for creating completely original images. I use ChatGPT to create fun images, mostly based on my daughter’s imagination. As I read OpenAI’s announcement, thinking of new images to ask it to…
I got an email from WordPress.org yesterday. We are writing to inform you that your WordPress.org and Slack accounts have been unblocked following a recent review. This review was conducted as part of our continuous efforts to maintain a healthy and inclusive community where everyone is treated fairly and can engage positively. I laughed. My WordPress Slack account was blocked in October 2024. I…
I trust books. At least, I used to. I grew up in the pre-internet era of bookshops and libraries. The printed word was the best source of information. Back then, there was an inherent trust that a book earned by default. Fast forward to today's internet-heavy, AI-infused world. A (large) part of me still wants to believe in the credence of a published book, at least the non-fiction books. These…
I am in the middle of a big project at work and decided to create a new section of our site for it. I can't talk about the project (yet!), but let's pretend it is about cats (the animal, not the musical) . I want its URL to be short and simple, so I decided to call it mysite.org/cats . I created the main landing page, clicked "Publish", and went to my new URL: mysite.org/cats-2 Well, that is not…
Let's talk about red flags for a moment. I have seen many over the course of my career. One in particular that comes to mind is an interview I had several years ago. The interview was with a larger organization who was hiring for several open developer positions. As I walked into the office, I saw a flurry of people going here and there. One escorted me to an office, where I waited until a very…
Dear Matt, I am tired. This is not the kind of tired that a good night's sleep will solve. This kind of tired stems from having too much on my plate -- both good and terrible. I started a new role at work that I am beyond excited about. (Good.) I am a single parent to an amazing 6 year-old. (Really good.) As for the terrible, they are personal things that I will only share privately. This…
Naming things is hard. As a developer, finding the right name for a function is sometimes harder than writing the function itself. The name has to be descriptive, so the purpose of the function is obvious. However the name cannot be too descriptive, because that will make the name too long. Nor can the name be too similar to other functions inside its system, because that will cause confusion. The…
My daughter takes taekwondo. Her belt test was last night, where she was aiming to earn her orange belt. The test started with warm-ups and a specific sequence of moves. She and her classmates have been practicing this for the last couple of months. She was great. The test ended with each student breaking a board in front of the class. At her level, she needed to kick the board to break it. Now,…
Almost a year ago, I published an article about what could be described as the worst way to revert tags in git . I regret that article. The process I outlined there was an experiment gone awry. I conclude the post by telling my readers to "use the knowledge here at your own risk." I hope you all listened. I am bringing this up because I was recently put into a situation ( again ) where I needed to…
It has been years since I finished a side project on time. An idea takes shape. "This should only take me a day or two," I think, optimistically. Then, life takes over. Between my kid, my job, and single-handedly running our household, the end of the day comes fast. My personal time comes after work is over and our bedtime routine is done. It is full of best intentions, until I fall asleep in a…
First, a story 8:50 am The red sedan pulls into the school driveway. "Bye kiddo," it says. A child gets out of the car, ready to walk to the front doors. "Have a great day!" As the passenger door closes, the car moves forward, anxious to get the day started. It immediately stops, blocked by traffic. A double line of cars obstruct the only path through the lot, waiting. The red sedan inches…
I am not a naturally social person. I do enjoy seeing people in real life, but what restores me is staying home with a good book or a Star Trek marathon. I am the textbook definition of an introvert. I am also naturally shy. As a child, I rarely spoke in class, not because I did not know the answer, but because I did not want to speak in front of my classmates. I once had a teacher ask me to say…
I am a minimalist at heart. I do not like clutter -- physical or digital. The only decor in my house are things that I love or remind me of where I've been. I semi-regularly purge my closets to make space, so clothes I wear don't get lost among the ones that are collecting dust. Bins of my daughter's toys are everywhere, which bothers me to no end, but my house is her house too. I crave inbox…
I am about to go into "mom mode" for this post, because I recently came across (and almost fell for) the most clever phishing attempt I have seen to date. Some background I recently had to replace my roof. The details are a much longer, unrelated story. Here are the highlights: It rained outside. Then, it rained inside . I filed a claim with my insurance company. A roofer replaced my roof. The…
I have been using git for (checks watch) over a decade and reverting commits still trips me up. I recently came across a bug in our code. This codebase is regularly deployed to production and we know production does not have this bug. This gave us a good idea of when the bug was introduced. Very long story short, the decided goal was to revert this repository back to the last known good commit.…
I started working with custom Gutenberg blocks sometime in late 2017. Or, perhaps, it was early 2018. To be honest, the timing is a bit fuzzy because I was pregnant at the time and pregnancy brain is real. For those of you keeping track, these timeframes are well before the WordPress 5 release date of December 6, 2018 . Regardless, it has been a while. Gutenberg was still in development and…
This post has been a long time coming. I have talked about custom WordPress block creation for several years now, from blogging about registering dynamic blocks with block.json to speaking at various conferences about why dynamic blocks are awesome . It recently occurred to me that I have yet to write up a complete post about how I write my custom blocks. Every so often, someone asks me about the…
With the latest news about exponentially-rising tuition costs and student debt forgiveness, I keep asking myself whether college was truly necessary. Truth be told, I have been asking that quite a bit over the years. I went to college in the late 1990s, starting off as a dual major in computer science and physics. I wanted to work for NASA. I knew I would never cut it as an astronaut, though I had…
I am a published author. Wow. Publishing a children's book was a shock, probably to everyone, but especially to me. I never thought that "author" would ever be a word that I could use to describe myself. Yet, here we are. I suppose this should not be too surprising. I spent my high school years writing (pretty terrible) poetry, some of which was published in our school's creative writing magazine.…
Joni is a full time developer. Joni is a single mom with a 4 year old. Joni is a newly (almost) published author. (T-3 days until launch!) Joni is a self-published author, which means Joni is also a PR agent. How does she do it all? We don't know. She’s not sure either. Seriously, it’s amazing everyone is still in one piece and the house didn’t burn down. Getting a little serious now. Really, when…
I have spent the last several weeks (slowly) evaluating different email newsletter solutions because, according to my marketing plan, a newsletter is something I should consider starting. I mean, it is a great way to get the news out about my book and any future writing I may (probably) do. However, I am not 100% convinced I have anything meaningful to say on a pseudo-regular basis. Aside from the…
They say, "try to do something that scares you." They say, "say yes to everything." Who are "they" ? And why exactly am I listening to them? Writing a book was scary Actually, I take that back. Writing a book, specifically Sweet Little You wasn't scary. It was necessary. I started writing it, as I start writing most things, out of frustration. I love my daughter's little library of books. Ok, it's…
Today is my birthday. This is not a marketing ploy. Today is actually my birthday. Being at the end of May, it often overlaps with the Memorial Day holiday weekend, which, to be honest is pretty nice. I get some time off to relax and recharge and catch up on my mile-long to-do list. It is a bonus that my child goes to a Montessori school that is inexplicably, but thankfully, open on almost every…
Something happened this weekend. Something big. I got the final illustrations for Sweet Little You ! OMG OMG OMG!! I have been working with Lisa Wee , a wonderfully talented illustrator, for the last few months and I couldn't be happier with the final version. I am self-publishing and still working on an official release date, but expect this book to be available summer 2022 . For now, I am very…
Oh carousels. The last time I wrote about carousels, it was 2017 (seemingly a lifetime ago) , when I shared a solution for fixing keyboard navigation in carousels . I know carousels have not magically disappeared in the last 5 years, but they have come up yet again in (work) conversation. To make a very long story short, we know we have clients who want carousels on their sites. They tend to be…
I was recently given the task of making the WordPress core RSS block look exactly like one of our custom blocks posts block. That custom block displays a series of news stories. RSS feeds are series of news stories, so this request totally makes sense. Originally, I assumed the task would be a long process of copying and pasting CSS rules from our posts block to classes that match up to the RSS…
Once upon a time, there was a (not exactly) young girl who decided to have a full-time tech job, solo-parent a pre-schooler, and publish a book. "I am so organized!" she exclaimed. "I can totally manage my time to get this done." Act I, scene 1: Hahahaha [Cue the universe, laughing, saying "Oh really? Hold my beer."] Enter school closures. And snow (in the mid-Atlantic, where they think they can…
I've been thinking a lot lately about my early career as a developer. Getting a CS degree was hard -- harder than it needed to be. My classes were filled with C++ and (mid-1990s) Java. Those languages were neither easy or pretty. I learned HTML and CSS on my own. (It was the 90s. Web development degrees didn't exist then.) I struggled with (presentational) JavaScript. Early career options My…
I have been meaning to write more, mostly to have some sort of creative outlet that does not involve code. Don't get me wrong. I love coding and still have about 20 different side projects and ideas that I want to work on. However, writing code for fun after writing code all day for work has not sounded... well... fun these days. After writing the manuscript for Sweet Little You , I realized that…
In an effort to spend more time on Twitter [1] , I came across a tweet with the following advice : Go to the library and read 100 books published in your category in the past five years I know I need to do more market research about my book. This is brilliant! I can totally do this. Remember what your category is... Oh right. My category is children's book for families with a single-by-choice…
Well, the text is done! After a few rounds of editing (e.g. many, many, many rounds) with both alpha readers and a proper editor, I am feeling quite good about it. I'm happy with the message. I'm happy with the story flow. I'm happy with the rhythm of the verses. I'm happy with the rhymes. So, why do I feel like I should still be editing? The editing process, to date Editing has definitely been a…
It has been a busy year! Between running after my newly-minted preschooler, excitedly settling into life as a fully remote worker, and remodeling our kitchen, you would think I would have time for little else. I thought the same. Then my brain starting talking. Do you remember all of those books that you and mini-you have been reading about how she was made? , it asked. Do you remember how those…
My last blog post was about WordPress theme customization with JSON . It seems only fitting that I follow that up (nearly 6 months later... yikes!) with a new post about custom block registration and, you guessed it, JSON! WordPress 5.8 introduced the ability to use a block.json file to register and configure custom blocks. This is a huge step towards minimizing (and possibly eliminating) the…
The new WordPress editor ("Gutenberg") has been a part of our lives for almost 2 1/2 years . Since that initial launch, WordPress has come out with so many different ways to customize block editor: theme.json , block variations, and block supports. These are three distinct features that provide different customization options. Yet, for some reason, I can never remember what controls what (or how…
I have been creating custom WordPress blocks since Gutenberg was in beta, though the vast majority are for work. But this week, I added my very first block to the WordPress block directory. (Hooray for my Color Palette !!) Anyone can create a plugin that adds a block to your WordPress site. However, developers need to go through a second step to add that block plugin to the block directory . The…
This is a post long in the making, even before the days of our global pandemic and quarantines. In fact, I have been attempting to write this post for so long (6 weeks and counting) that I have deemed this post to be "impossible". However, before I go there, let's start with why I wanted to write this post to begin with. I love conferences. Developer conferences are the perfect places for me to…
Once upon a time, there was a WordPress post editor that discovered it had turned into a simple HTML editor.... (Apologies to Anne Tyler's Back When We Were Grownups .) But in all seriousness, has this happened to you? I ask because this just happened to me. Twice. I logged into WordPress to add a new page and discovered that the Gutenberg editor was gone. No, I did not accidentally install the…
March 23, 2020. That date, almost exactly 2 months ago, was the first day of our new normal. This new normal is me working from home full time. It is my daughter staying at home full time, no longer in day care with her friends and teachers. It is video chats with friends and family. It is going for walks along the same (mostly deserted) neighborhood streets. It is spending way too much time in my…
If you are a developer who hosts your sites on Pantheon, I would be willing to bet that you also use Terminus . For all you Terminus users, a message like this probably looks familiar: Terminus 2.2.0 [notice] A new Terminus version v2.3.0 is available. You are currently using version v2.2.0. You can update Terminus by running `composer update` or using the Terminus installer: curl -O…
A few times a year, we hold an internal event at work that we call "Serendipity Day." We use this day, inspired by NPR , to work on projects that are somewhat work related, but have been sitting on our back burners for a while. Sometimes we use this day to research a new topic. More often than not, though, we use this day to build something new. Serendipity, take 1 Over a year ago, I decided that…
I have been a professional developer for 20 years. Actually, I have been writing code for much, much longer than that, but I have only been getting paid for it for the last 20 years. In recent years -- especially the last couple of years -- I have noticed my days filling up with other tasks. I go to work. I review a build plan for a new feature to a new website that is actually being built out by…
A very common editor update that us WordPress developers make is to add options to the featured image meta box in the post editor. This is usually something like a checkbox to determine whether the featured image should be displayed at the top of a post. The good old (pre-5.0) days Before WordPress 5.0, this was usually accomplished in PHP, using the admin_post_thumbnail_html hook. For a great…
We have been working all year to replatform our websites at work from Drupal to WordPress. We decided to go with WordPress for many reasons, one of the biggest being its admin UI. The WordPress edit screen, especially when compared to the Drupal edit screen, has historically been intuitive and preferred by content editors. In fact, many of my clients in the past have asked to switch their websites…
I wanted to update this category in my blog one more time before "signing off". I could blog all day and night about Amelia, but I also want to keep most aspects of her life private. That means, off Facebook, off Instagram, off whatever other social media platforms exist that I'm "too old" to use, and off this blog. Sorry folks. 12 Days Amelia is 12 days old now. She changes literally every day.…
Over the course of the last week, since my daughter's birth, I have discovered that I have become very used to being pregnant. This realization is becoming more and more apparent as I heal from my c-section and I regain more general mobility. For example, I can bend over and touch my toes. (Thank goodness, because my toenails are so long, they could be weapons. But I digress.) Whenever I do bend…