Blog Posts

RSS Feed

Practical Developer Tips for Digital Accessibility Advocacy

Digital accessibility advocacy tips from a web developer’s perspective, all focusing on building accessibility support into our daily work.

Nuxt 2 to Astro 3 Replatforming – from Setup to Production

Notes from a replatform effort from Nuxt to Astro, including setup, struggles, migration, and finding solutions for search and sitemap.

Why Budgets are so Important for Software Development  Projects

Using a real estate analogy, I share why budget is a critical question that should be considered carefully when starting a new software dev project.

Web Components in Astro

How to use native web components inside an Astro project, with a few isolated examples and explanation of some issues I had to navigate.

Fighting Back Against Toxic Productivity

I have a sometimes unhealthy obsession with my todo list, here I share some intentional self awareness strategies I use to periodically recalibrate

State of the Browser 2023 Conference Recap

A brief bulleted recap of State of the Browser 2023 from my perspective, including the decision to sponsor, and a bit about traveling to London to attend in person.

One of a Kind Business Cards

I wanted memorable and personal business cards to share. Here’s my process towards a unique experience that encourages further engagement.

Going Independent – Two Months In

The last freelance journey post, covering the past few weeks of progress including open source contributions, site updates, and a new project!

Eleventy Style Guide Generator – Step by Step guide adding to an existing site

Step by Step guide to adding the Eleventy Style Guide Generator to an existing site. Details on how to avoid needing WebC or Design Tokens included.

Pulling WordPress Post Categories & Tags Into Eleventy

Step by step guide to gathering post categories and tags from the WordPress REST API for better filtering and discoverability in an Eleventy blog.

Eleventy Style Guide Generator with WebC Component Support

The simplicity and speed of Eleventy with the organization of a self documenting design system. Style guide generator that incorporates design tokens, fluid typography, and WebC components.

Going Independent – Week Four & Five Check in

Weeks four and five freelance journey check in, touches on a contract opportunity I chose not to pursue, how I’m getting more organized, and other progress & plans.

Going Independent – Week Three Check in

Week three check in on my freelance web developer journey. Some more networking, my first big proposal rejection, and some coding progress for an 11ty style guide generator.

I Want To Be Known For… – Freelance Introspection

This is a follow up post from the “Ideal Client and Project”, continuing my introspective journey as I iterate on my various online presences that I’d roughly call my “personal brand”.

Going Independent – Week Two Check in

Week two check in on my journey towards going independent. Setting up more operations, networking for freelance web development projects, and took a couple days off.

The Ideal Client and Project – Freelance Introspection

There’s a surprising amount of introspection required when you decide to go freelance. One is to figure out “the ideal” client and project. Here’s my process so far.

Going Independent – Week One Check in

A week since I shared I’m going freelance, which was a week after being laid off. Keeping that weekly cadence for a bit as I continue to figure things out.

Steve Woodson – Independent Web Development Consultant

I’m manifesting a decade old dream and moving towards independent web development consulting. Here’s some reflection of the past week, and how I came to choose this exciting next adventure.

I Was Laid Off, Now What?

I was laid off, this post is where I share some of the research I had done, my reflections from the first few days, and an open invite to chat with others affected.

Intentional Attention – My Organization Strategy for Interesting Reads

With an ever growing list of interesting content and limited time to read it all, this is how I’ve been more intentional about how I organize and parse.

Plaid Swatch Generator

SVG based plaid swatch generator, choose your five colors and generate a unique plaid pattern that you can download and share.

How I Hacked My Brain to Let Myself Relax in the Evenings

A successful productivity experiment that has reduced my anxiety and lets me give myself permission to relax in the evenings.

Email Newsletters – My Emotional Response Spectrum and Organization Strategy

How I personally categorize newsletters, how that categorization has influenced how they’re organized, and how much attention they get as a result.

CloudFront Function for basic auth, redirect, and serving from S3

How to switch from Lambda@Edge to a single CloudFront function for serving static content from an AWS S3 bucket, with redirects and basic auth included!

Conserving Sentry Transactions by Ignoring Laravel Routes

Sentry limits transactions per month, this shows how to conserve them by ignoring specific Laravel PHP routes you don’t need to trace later.

Joining the IndieWeb with Webmentions and Microformats

A collection of resources that helped me get Webmentions set up on the blog posts for this site.

Adding a Table of Contents to dynamic content in 11ty

Code that introduces automated anchor links to headlines in Eleventy dynamic-loaded content. Improves accessibility and makes content sharing easier!

Solving Animation Layout Flickering Caused by CSS Transitions

Solving layout flickering (or animation flashing) happening on browser resize caused by CSS transitions, with live before and after examples!

A Step-by-Step Guide to Sorting Eleventy Global Data Files by Date

Step-by-step guide to date-based global data sorting in Eleventy, including automated by file last modified and manually via a data property

Getting Started in Technical Leadership

I get asked “how do I get started in technical leadership” enough that I decided to share a bit of what has helped me grow over the years.

Thought Experiment – Greatest Superpower and Biggest Weakness

Reflections on my strengths and weaknesses both professionally and personally, with an action plan to leverage the strengths and improve on the weaknesses.

Pulling WordPress Content into Eleventy

Composable Architecture Powered by WordPress part 2 – How to pull content from a WordPress RESTful API into an Eleventy generated static site.

SSH “Server Key Changed” Error and How to Fix It

Brief description of the common “server key has changed” error, and details on how to fix it on a Mac local server environment.

Making Intervention Image Ignore SVGs

Quick writeup of how I handled a pervasive Intervention Image error “Intervention\Image\Exception\NotReadableException” in a Laravel app.

Composable Architecture Powered by WordPress

One developers journey toward content authoring nirvana. Thought process, decisions, and source code for a WordPress composable architecture.

IAAP CPACC Exam Preparation and Reflection

Some notes on how I prepared for the CPACC Certification exam and reflecting on the exam itself.

Implementing Dark Mode

Details of how I implemented dark mode on Be Inclusive, including some issues I encountered along the way.

Alternatives for object-fit in IE11

A background image compromise to support IE11 while also giving modern browsers the best experience using CSS object-fit. Presented with detailed problem, solution, examples, and alternatives.

Soft Skills: Productivity and Goal Setting

It’s easier to set well-defined, achievable goals when you base them on long-term, general goals. A personal mission statement and thinking in terms of roles can help.

Empathy in Web Accessibility

On Global Accessibility Awareness Day, we explore how building empathy is fundamental to improving our approach to web accessibility.

What the Font are Vertical Rhythm and Modular Scale?

Why you should care about vertical rhythm and modular scale, defines them, and a demonstration on how to integrate them into your next project.

Soft Skills: Improving Your Emotional Intelligence

The term “Soft Skills” covers a broad spectrum of topics in interpersonal, communication, leadership, and personal skills. These are arguably the most important skills for your career, but by definition, they are also difficult to measure.

The Four Levels of Mobile Browser Testing

Tips to help you embrace the budget and time constraints of your project while testing in mobile browsers.

Managing Multi-Tenant Component Styles

Tracing the path we took to accomplish a unique, cohesive design system for multiple sites within a single Content Management System (CMS) platform installation.

Off-canvas Menu + Fixed Navbar = Buggy iOS Safari

While working on a responsive refresh of the Upshot website I came across some buggy behavior when mixing an off-canvas menu with a fixed position element on the page. I realize that fixed elements have had a history of bugginess in iOS and detailed articles have already been written. However, I hadn’t seen what was occurring for me […]

Avoiding Career Stagnation

As a web developer the potential for career stagnation – feeling stuck, idle, and lacking progression – is higher than average. With technology constantly being improved and reinvented it’s amazingly easy to find yourself falling behind. I’ve felt this way several times over the years, to the point where I’ve started to also notice what […]

Filtering and Sorting a Table with PHP

I had a friend ask me earlier this week if I knew of any resources that could point him in the right direction on how to create a PHP page of tabular data that had the ability to be both filtered and sorted. We both weren’t able to find anything suitably simplified so the underlying […]

PHP Functions – Part 2

Pad, Reduce, Chunk I lumped these three functions together because I doubt I could count on one hand the number of times I’ve used any of them. Though once you understand what they do there are several applications for them that would make development cleaner if not also just plain easier. Here they are in […]

Recharge & Release

I find that I go through productivity phases, generally the two I am most cognizant of are what I can loosely refer to as recharge and release. When recharging I feel I read a lot more than usual. I catch up on a backlog of articles I flagged, dig into books I had been meaning […]

No Shame In Looking It Up

Web developers are tasked with remembering several different programming languages in order to effectively get the job done. HTML, CSS, & Javascript are the big three of course, but there are others such as Coffeescript, SCSS, XML that help workflow and facilitate tasks. Backend devs also commonly need to know scripting languages (e.g. PHP, Ruby […]

PHP Functions – Part 1

I’ve been working with PHP for several years, dare I say a decade at this point, and I’m still surprised at functions I’ve never or rarely used. In an attempt to share in my delight of discovering these gems and hopefully enlighten others to some very helpful functions, I’m going to try to start a […]

Apache 2GB file limit

Just came across a new issue I hadn’t dealt with before, apparently once a file (in my case a very large error_log file) reaches 2GB or 2,147,483,647 bytes it can’t work with the file anymore. In this case the system couldn’t write to the error log and threw an Internal Server Error. I didn’t realize what the […]

URI vs URL? Think Scotch vs Whisky

For the longest time, I’ve been unconsciously transposing URI and URL (with the occasional sprinkling of “web address”) in conversations and correspondences without ever really considering that they are abbreviations for two different things. That is until I decided to finally read up on these confounding abbreviations and got the proper info on the real difference between URL and URI. So you […]

Website Performance – gZipping & Extended Expirations

With a mixture of a few techniques added to the .htaccess or httpd.conf files, you can reduce the pageload and the bandwith usage of your website fairly easily. In the examples below i’m referring to expressions for addition to .htaccess, the http.conf file may be structured differently to do the same things. I’m setting this […]

MySQL Optimization Top Ten List

I recently had the opportunity to delve deeper into MySQL and how to optimize and generally better my database structure and queries. There’s a lot of information on this topic so I thought i’d share the top ten things that matter to me when creating and querying databases.