A growing list of blogs and articles I’ve written. This goes back pretty far, so I’m not doing or working with some of these technologies now.
Enjoy, search coming soon, no need for pagination 🤓
-
Serverless Services for Serverful CMSes
As static and headless WordPress sites become more common and…
-
A Hike Through the WordPress Database
Have you ever wondered where the content on your WordPress…
-
Local PHP and NodeJS Version Control
When working on projects with your local computer, it’s essential…
-
Setting Up or Resetting My Macbook
Every now and then, fresh start is a good idea.…
-
Wait, wuuut? Where did my CMS go?!
Static, headless, decoupled, Jamstack, serverless (geez, are there any more…
-
An Ideal WordPress Workflow Development & Deployment Workflow
I know the title is a mouthful, but, this was…
-
Personal Git Commands and Setup
Just about everyday, I’m working on and committing code to…
-
Using WordPress as an API
Wait, what’s an API and why would I use WordPress…
-
WP101 for Developers
This is a 3 hour workshop for the YWeb cohort.…
-
WordPress and Laravel: The Hows, Whys, and Intersections
Do you work with WordPress and wonder if there are…
-
How did you get started in tech?
Recently, I applied to speak at a local tech group,…
-
Less Snark, More Spark
How can you be the developer people want to hire,…
-
The Trifecta of Goodness
Since 2012, I’ve been developing websites and web apps, mostly…
-
Building and Deconstructing a Gutenberg Block
This presentation walks through the new Block Editor in WordPress,…
-
How to Run Your WordPress Site On Local, Gatsby and Netlify… For FREE!
Yes! This is a click-bait-y title. BUT, I wanted to…
-
Hello Gatsby! This blog is now headless WordPress…
Well, I did it. I jumped on the Gatsby bandwagon,…
-
Learning React… So I can I can hang out with other things…
Maybe it’s FOMO (fear of missing out 😮), or I’m…
-
Templating in PHP with REST APIs
Here are the slides for the presentation I gave at…
-
Using Local by Flywheel for Local Laravel Development
Note: This post has been updated to work with the…
-
More Secure API Requests with WordPress Helper Functions
Making API requests with JavaScript is something web developers do…
-
Customizing WordPress
Everyone wants a unique web presence. WordPress makes this easy…
-
A New Talks Page
Recently, I’ve started volunteering to give more talks to local…
-
Auto-Send Slack Invites
Update: This may not work anymore, or may not work…
-
Talk: Getting Started with WP-CLI
Do you work with or maintain WordPress sites and wonder…
-
2018: The Year of Going Deeper and Wider
A quick bulleted list… This year, I’m working on the…
-
How I Wrote My First Bash Script to Implement WP-CLI on Managed Sites
They say if you want to learn something, teach. Or…
-
Tips for Small Business Owners Getting Started with WordPress
A couple months ago, I was asked to contribute to…
-
My First Open Source Code Contribution
A lot of developers have stickers on their computers. Sometimes…
-
July Checkin, Goals Update
I’m big on setting goals and areas of focus for…
-
How to Use a Filter on TinyMCE to Add Buttons
Recently, I was asked to add a button to the visual…
-
How to Pass Information from One Page to Another with Forms and JavaScript/jQuery
This is a quick post, just to share something I…
-
Getting Post Meta for the WP REST API
My friend and I are working on a little side…
-
2017: Harder, Better, Faster, Stronger
Before (or while) reading the below, make you sure you…
-
Looking Backwards: 2016 in Review
It’s that time of the year, reviewing what has been…
-
How to Make jQuery’s Dialog Popup Responsive with JavaScript
Lately, I’ve done a few things with the jQuery UI…
-
Why Yoast SEO Isn’t Enough to Increase Your Site’s Traffic
I’ve been doing some work for a client, helping her…
-
Why WordPress Freelancing?
About 4.5 years ago, my life changed… Affiliate marketing and…
-
Genesis and Angular: Adding Routing to Posts and Pages (Part 3)
This is the third post in a three part series…
-
Using Angular to Display Content in Genesis Using the WP REST API (Part 2)
This is the second post in a three part series on…
-
How to Disable Phone Number Linking in iOS Safari
I was working on a client’s site recently, and they…
-
Adding Angular Markup to a Genesis Child Theme (Part 1)
This is the second post in a three part series on…
-
Angular Learning Resources for Angular August
For the month of August, I’ve been diving into Angular,…
-
Getting Familiar with Backbone.js
I’ve been doing a ton of learning of JavaScript frameworks…
-
Changing Select Menus for Cross-Browser Compatibility
In doing theme or plugin development, maybe you’ve noticed that…
-
Presenting Meg-n-Boots
I’m SUPER proud to show off this custom theme, built from…
-
January Goals, Did I Do Them?
It’s always hard to not meet your goals. Even harder…
-
Documentation as a Discipline
A while ago, I read a post from Tom McFarlin about keeping…
-
How I Think About Cooking Food
One summer in elementary school I stumbled on the 80s/90s…
-
I Wrote This Post in the Command Line With WP-CLI
I just found a new toy, and it is a…
-
Recipe: How to “Hide” Vegetables
Do you remember when you were a kid and used…
-
This Week I Learned: SQL database queries and foreach()
It’s been a busy week. I’m putting together a new…
-
How Much Javascript is Enough?
There is a rush to learn Javascript right now. Especially…
-
Recipe: Cauliflower Rice
If you’re like me, you typically go for seconds. Also,…
-
An Honest Review on my January Plan
“Uhh ohh…” I looked at my watch. I couldn’t believe it…
-
Recipe: Korean Dalkgalbi
There are certain flavors that capture your attention. For me,…
-
This Week I Learned: Custom Meta Boxes and Post Meta
“Can we have a l way to link a slider…
-
Learning New Things: Bower
Along with Grunt, another tool I’ve been playing around with…
-
Recipe: Buffalo Chicken Dip
Just thinking about buffalo chicken wings and blue cheese dressing…
-
Learning New Things: Grunt
I’m still getting a handle on Grunt. As far as…
-
Recipe: Chipotle Chicken Curry
I love creamy, savory dishes. I also love unique and interesting flavor…
-
This Week, I’ve Learned… Your Best Isn’t Always Good Enough
They say: “when it rains it pours.” But it’s still…
-
BOSI Index: Moving Towards Specialist
For the first two years we lived in South Korea, I…
-
Creating a Body of Work
I’ve only just begun to write consistently, but why? Why now?? Podcasts…
-
Recipe: Bacon and Broccoli
Seriously, look at that broccoli. So Green! This is one…
-
My January 2016 Plan
Every year, I try to make some New Years commitments,…
-
Looking ahead to 2016
Every year, we make resolutions. Some make decisions, other make…
-
How to Update WordPress (Single install and Multisite)
Many people ask me how to update WordPress. Updates on…
-
On Developers….
Developers are wizards. They’re like magic people. How do you…
-
Some Thoughts on Approaching New Clients
Friend and fellow freelancer Melissa wrote me an email I…
-
Don’t Forget Value Added… Unless You Don’t Want Paying Clients
The worst feeling in the world is the one you…
-
Entrepreneur or Freelancer: Are you a businessman or a business, man?
When starting down the path of business, there can be…
-
Take the Shortcut: Find a Mentor and Apprentice Yourself
When I committed to getting on the Genesis Developer list,…
-
Resources for SEO and Keyword Research
(This post is the result of a question from James.…
-
Just in Time Learning: Trimming the Fat and Focusing to Move Forward Quickly
Having clients pay you to learn a new skill is…
-
Time Track with Toggl (or Lose Your Pants!)
Time tracking (with Toggl) is a pretty new experiment for…
-
Day 21: Self Education: WordPress Tutorials and Where to Get Good Help
“Take time to improve your knowledge and skills so that…
-
Day 20: Self Education: The Staging Site (try it on your computer first!)
As you get more familiar with WordPress, you will want…
-
Day 19: Self Education: The WordPress Community, Who to Watch, Know and Follow
It should be pretty apparent by now: WordPress has an…
-
Day 18: Self Education: An Introduction to WordPress Frameworks
When starting on a new project, whether it is sewing…
-
Day 17: Self Education: The WordPress Codex
“Self-education is, I firmly believe, the only kind of education…
-
Day 16: Functionality: Security Configuration
Backing up your website is a great, proactive way to…
-
Day 15: Functionality: Backup Configuration
Imagine waking up and finding that you website has been…
-
Getting Through the Mopes, the Blocks and the Stalls
It happens… The time will come in this 20 Hours Ahead…
-
Day 14: Functionality: Plugins 2: Five More Plugins
Your website is probably not ready to go right “out…
-
Day 13: Functionality: Embeding a Video
The beautiful thing about content on the internet is that…
-
Day 12: Functionality: Basic HTML and CSS (and CodeAcademy)
There will always be a few things that you want…
-
Day 11: The Basics: Using the Help Menu and Screen Options
After installing some plugins and adding content, you might notice…
-
Day 10: The Basics: Reviewing the Front End of Your Site (UX)
The last part of our Basics section! Once everything is…
-
Day 9: The Basics: WordPress Widgets
Widgets are another set of small functions that add a…
-
Day 8: The Basics: Uploading Media
There is so much more to say than what the…
-
Day 7: The Basics: Plugins Part 1: JetPack and Akismet
Websites and blogs can get pretty bland pretty quick. There…
-
Day 6: The Basics: Creating and Arranging Top Level Menus
Websites are more than just a landing page. They contain…
-
Day 5: The Basics: Finding and Choosing and Installing a (Free) Theme
Like snowflakes and Danny Boyle movies, no two themes are…
-
Day 4: The Basics: Categories and Comments
As humans, we categorize so many things: our clothing, our…
-
Day 3: The Basics: Your First Page
If the post is the fresh and dynamic content, the…
-
Day 2: The Basics: Your First Post
We all want a website for different reasons: blogging, content…
-
Day 1: The Basics: General Settings and Permalinks in WordPress
“The beginning is always today.” ― Mary Shelley Getting Started…
-
21 Days to WordPress Proficiency: An Introduction
What is Your Situation? Do you have a WordPress based…
-
How to Increase Your Revenue by 30% (Witout Raising Your Rates)
I just finished a couple of projects for clients. This…