Skip to main content
seanmcp.com

Articles

Search with cmd/ctrl + f, use site search, browse by tag, or try a random article.


Mc-Pher-son  

We know how to pronounce "er", "her", and "pher", so why is it hard to pronounce "McPherson"?

Balance bikes are just better  

Our older son struggled with training wheels, but after switching to a balance bike he and his younger brother learned in no time.

Deleting my GPTs  

GPTs provided little value to me now, little potential value in the future, and were the only thing locking me in my Open AI subscription.

Smile and wave  

To dissuade drivers from speeding down my neighborhood street, I make the choice to smile and wave at them.

Pittsburgh TechFest 2024  

Pittsburgh TechFest 2024 was a good experience and valuable opportunity to connect with the local tech scene

Fonts  

Fonts (typefaces) that I like and where to find them

Cairn RPG  

Resources and more for Cairn, the rules-light tabletop roleplaying game

Latin  

Latin phrases that are good to know

Five-room Dungeons  

General recommendations for creating five-room dungeons for your adventure games

Debugging  

Resources on debugging

Manage your photo archive  

Take a minute to review all photos from today's date and delete the ones you don't need

Site update May 2024  

tl;dr I removed dark mode, `/contact`, likes, analytics, Netlify, and changed random articles

Measuring and cutting  

Measuring twice, cut once is good advice for woodworking but maybe not for software engineering

A Few Things #12  

A collaborative interactive, Toto on ocarina, a word-based strategy game, and a classic infinite runner

A Few Things #11  

A personal apologetic, assessing the world, Scotland's rainforests, and finding new music

A Few Things #10  

A pink lake in Senegal, an Indian community that solved drought, and the strange origin of Idaho's name.

Upgrading from Astro v2 to v4  

I needed to update dependencies, change a client directive, and then update configuration in Netlify

A Few Things #9  

A reflection on silence contemplation, the art of bookmaking, semantic satiation, and soccer logo design

A Few Things #8  

Tree mails, disappearing cockroaches, and an entry in the game dev log genre

Why Microsoft Edge?  

Edge has all of the features of Chrome with some additional features

A Few Things #7  

7 million syllabi, trash bag testing, a skeleton gardener, and jokes that probably aren't that funny.

A Few Things #6  

Reflections on digital waste, a great green wall, beautiful illuminations, and a fun trivia game

Python Reference  

A quick reference guide for working in Python

A Few Things #5  

Handwriting research, medieval fighting snails, wholesome comics, and banana price projections

Adding a components page  

After a recommendation from Syntax.fm, I added a public page to see all of the components that I’ve created for this site

A Few Things #4  

An investigation in remote Madagascar, Parkinson's Law, writing letters to your future self, and a live shark tracker.

A Few Things #3  

The Japanese art of repair, a movie/TV recommendation service, a relaxing gardening game, and answering the question "Can elephants swim?"

Adobe has the worst captcha  

To create an Adobe account, you are required to count the value of a pile of dice 120 times

A Few Things #2  

Reflections on creation, the NFL's success, a map of lightning strikes, and Chester A. Arthur holding ham.

A Few Things #1  

An app to help you travel, dispelling an American myth, reflection on creation, and a game that will make your head spin.

Sli.dev review  

A great tool that gets out of the way when creating slides

Off to Kindergarten  

My first born starts Kindergarten today and boy am I going to miss him

1000 commits  

This article marks the 1000th commit to this website's repository

How I'm using AI in July 2023  

Some more competitors are entering the ring, but GitHub Copilot remains the only AI-powered product that I use regularly

Timeboxing types  

In order to maximize the value of types and your time, consider timeboxing the amount of time that you spend writing any given type

CSS columns are neat  

The columns property is CSS divides content among a set number or width of columns

Quality requires iteration  

You're not going to write the perfect program on your first attempt; it's going to take multiple iterations to arrive at the best solution

A workable emoji picker on Ubuntu  

The default GNOME emoji picker is limited to certain applications, but you can find copyable emojis in the Activities view

Losing steam  

This year started strong on writing, but I have found little motivation recently

Reviewing "Go By Example"  

Go By Example is a great resource for learning the syntax and patterns of Go, but you might need to supplement it with other resources to learn how to work in the language

Coding Music  

A growing list of artists that I like to listen to while programming.

Podcasts  

A list of some of my favorite podcasts

VS Code  

A garden all about VS Code

Web-browser Accessibility Tools  

Chrome, Edge, Firefox, and Safari all have built-in accessibility tools to help you create accessible experiences for all

Linux Update in 2023  

After experimenting with Linux last year, I am happily using Ubuntu on a Lenovo Yoga as my personal computer

How I'm using AI in May 2023  

GitHub Copilot is the top product this month, but Bard, Bing, ChatGPT, and Warp all have their uses

What is nullish in JavaScript?  

Nullish values are null and undefined, and it's important to thing of them separately from falsy values

Learning Go  

Learning the Go programming language for professionanl development has been an enjoyable experience

Set up Decap CMS  

Decap CMS is the official successor to Netlify CMS and works well with the old tooling.

Fix SVG CSS animation issue in Safari  

Safari 16 has trouble with CSS animations on SVG child elements, but you can resolve them by using a combined transform property.

Listen for class change in JavaScript  

There isn’t an event for class list changes, but you can write a function that listens for class changes on an element with the MutationObserver API

Reviewing my Netlify Analytics  

Thanks to Netlify Analytics I know to focus on writing how-to articles, but it has less data than I hoped

CSS :empty pseudo class  

Empty elements in a flex or grid container can result in double gaps, but CSS has an pseudo class to select and remove those elements

Fix trailing whitespace in Astro components  

There is an issue with the Astro compiler that leaves unwanted whitespace in your elements, and this workaround will solve the problem until it's resolved

Farewell Create React App  

The React team is looking to transition Create React App from a project scaffold to a launcher that includes options other than client-side rendering

Starting an RSS Club  

I can publish an article exclusively to the RSS feed with a special flag in the frontmatter

On closings  

Closings are lovely in letters but unnecessary online. I'm going to try to omit closings from my articles.

Learning about Smart Brevity for writing  

Axios co-founder Jim VandeHei advocates for a writing style that is clear and concise. I'm interested in learning whether I can provide more value through direct and informative writing.

Burrito emoji  

Burrito means thank you. Thank you means burrito. Enjoy the burrito.

Publishing a Qwik component  

The Qwik team has made creating and publish Qwik components a smooth and painless process.

New command palette  

I added a new new command/control K command palette to my site. You can use the keyboard shortcut or activate it by clicking the magnifying glass in the header.

Adding images to articles (again)  

I went through the process of adding images back to my articles with a helpful script to automate image processing for me.

Portable custom search engines  

Custom search engines (sometimes called site search) are a great browser feature, but they aren't easily ported from one browser to the next. I created a portable web app to handle your custom search engines from any browser.

Thoughts on Steve Job on consulting  

Steve Jobs had some opinions on consulting, and it sparked a few thoughts of my own. What makes a valuable consultant? Experience.

Are command bars the future?  

Command bars are a great way to access functionality through a single user interface, but how much potential does this pattern have to change the way we interact with products?

Node.js is great for scripting  

Node.js and JavaScript are a great option for scripting for the language features and the large ecosystem. Oh, and it's pretty fast too!

Giving Linux another try  

It's been about 10 years since I last tried using Linux, so I think it's time to explore what it has to offer in 2022.

Jest tips & tricks  

A growing list of little things that make working with Jest a little better

Jest  

A growing list of little things that make working with Jest a little better

Starring content  

A write-up on the new star feature on seanmcp.com

When to use React's memo HOC  

The memo higher-order component can prevent your component for re-rendering unnecessarily, but you should use caution before using it

Music to code to  

A growing list of artists that I like to listen to while programming.

Make a web component  

How to make a custom web component with only a few lines of code

My best Slack emojis  

A curated list of the best reaction emojis that I have created for Slack

Slack Emojis  

A curated list of the best reaction emojis that I have created for Slack

React Native Glossary  

A growing list of terms you need to recognize when working in React Native

React Native  

A growing list of terms you need to recognize when working in React Native

What is Hermes in React Native?  

Hermes is a JavaScript engine that is designed to run on mobile devices. It helps power React Native on Android – and now iOS – devices.

Git  

A garden all about Git

Handy git commands  

A curated collection of git commands that help me do my job better

COVID-19 journal  

Recording my experience contracting COVID-19 in 2020

Let's stop skinning cats  

Proposing an alternative, more constructive idiom to "there's more than one way to skin a cat"

Search all files for two strings  

A terminal command to search for all the files in the current directory that contain two independent strings.

Geddes' Guide to Crafting  

When building something new, get your foundation in place before building upon it.

TypeScript without TypeScript  

TypeScript provides valuable features but complicate the development process. What are some alternatives that provide the features without the headache?

Nodemon for Deno  

Denon is a utility for Deno that provides source watching and process restarting just like Nodemon

Six video update  

Lessons learned from publishing six videos on YouTube

Store readable data  

When forced between storing data for humans or computers, choose the former.

Over my head  

A list of articles, topics, and resources that are currently over my head

Laws I Love  

This is a WIP that I probably will never finish.

Programming reads  

A list of articles, books, and resources for software engineers

Free to grow  

Why tests (should) free you to grow with confidence

2019 into 2020  

Reflecting on last year while looking forward the next

2018 into 2019  

Reflecting on last year while looking forward to next

Why a blog?  

An effort to preserve my content on the ever-changing web

How to create a render prop component  

Render props are a popular technique in modern React, but they can be tricky. Here is a brief explanation and guide to creating your own.