Blog Archive

A list of all the blogs I've written... this goes back pretty far...

Posts

How did you get started in tech?

Recently, I applied to speak at a local tech group, sharing my journey in tech thus far. I wanted to share what I wrote here, including the prompt. I tried to keep it brief and active. How did you get started in tech and what are your lessons learned along the way?

The Trifecta of Goodness

Since 2012, I’ve been developing websites and web apps, mostly on WordPress, Laravel, and Gatsby, mostly for clients (that is, no real personal projects). I’ve worked on my own as a freelancer and now I work with an awesome group of folks at The Digital Ring in Madison, Wisconsin. The the team of people with […]

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 see if this was possible, and it is! If you’ve ever wanted a fast and secure WordPress site, here is one way to do it. NOTE: I would NOT recommend this (probably) for a live site. Maybe there’s a slightly different way of going about […]

Hello Gatsby! This blog is now headless WordPress…

Well, I did it. I jumped on the Gatsby bandwagon, and it seems pretty great so far! Also, there’s been a very nice bump in overall site performance and experience (Chrome Lighthouse audits):

Learning React… So I can I can hang out with other things…

Maybe it’s FOMO (fear of missing out 😮), or I’m finally starting to see the benefit, but I’m finally getting down and dirty with React, compiling everything I need to be proficient with it, and start using on the regular.

Using Local by Flywheel for Local Laravel Development

Note: This post has been updated to work with the new version of Local. I’ll try to keep things updated if the development environment changes in the future. (last updated: Feb. 18, 2020) While I mostly build with WordPress, I’m going to be working with a few projects coming up that will require a more […]

Customizing WordPress

Everyone wants a unique web presence. WordPress makes this easy by allowing us to customize our website to our heart’s content.

A New Talks Page

Recently, I’ve started volunteering to give more talks to local user groups and conferences. Normally, I have some kind of slide deck to go along with those as a resource. To keep all of these in one place, I’ve created a Talks page as a kind of repo for the talks I’ve given or talks in […]

Talk: Getting Started with WP-CLI

Do you work with or maintain WordPress sites and wonder if there’s an easier way to keep things updated? Are you looking for a way to automate a site setup, turning a five minute install into a 5 second install? (Well, at least less than 5 minutes) Are you bogged down by repetitive tasks that […]

2018: The Year of Going Deeper and Wider

A quick bulleted list… This year, I’m working on the following: Deeper Gutenberg and React Vue and the RESTAPI For fun: calypso fork? WP-CLI stuffs? Beans something?? Wider Laravel NodeApp For fun: Raspberry Pi and a bot Health Really get this dialed in for the rest of my life. Get weight down into the 230s […]

How I Wrote My First Bash Script to Implement WP-CLI on Managed Sites

They say if you want to learn something, teach. Or scratch your own itch. Or just do it. In any case, I had an itch that I have been wanting to find a fix for for a while. If you are a developer like me, you began figuring this “WordPress thing” out through tutorials, trial […]

Tips for Small Business Owners Getting Started with WordPress

A couple months ago, I was asked to contribute to an article for business owners on getting started with WordPress. The article was just published and I made slot #4 (I don’t think there’s anything special about that, btw ). There was some great advice in the article, especially #1: Don’t be afraid to get […]

July Checkin, Goals Update

I’m big on setting goals and areas of focus for the short term. My general goals and mantra for 2017 are summed up in the post Harder, Better, Faster, Stronger… I usually like to see where I’m at halfway through the year and adjust accordingly to either get back on track or set some different goals. […]

How to Use a Filter on TinyMCE to Add Buttons

Recently, I was asked to add a button to the visual editor for posts and pages on a WordPress install that would insert the <!–nextpage–> code for article pagination . I had done this before, but wanted to write about it here, since I’d totally forgotten how to do it, and wanted to make sure I had a […]

How to Pass Information from One Page to Another with Forms and JavaScript/jQuery

This is a quick post, just to share something I learned. Recently I got a request to create a simple submit form with a an email input that would direct to another page and take the email address and pre-fill a more complex form with email, name, address, etc. Below is the code I used […]

Getting Post Meta for the WP REST API

My friend and I are working on a little side project. It’s a job posting site for an industry we’re familiar with: ESL jobs around the world. While this project could be seen as “just another job board”, we’re hoping to add some features that will make it fun to use and valuable for schools and recruiters. […]

2017: Harder, Better, Faster, Stronger

Before (or while) reading the below, make you sure you give this a listen: Let’s get down to brass tacks…

Looking Backwards: 2016 in Review

It’s that time of the year, reviewing what has been done, assessing what was good, discarding what was not, and moving forward in a better situation than I was before. After my theme and goal setting at the end of 2015, I moved into the new year with hope and optimism. This year was very interesting […]

Why Yoast SEO Isn’t Enough to Increase Your Site’s Traffic

I’ve been doing some work for a client, helping her to get her e-commerce products SEO’d and understand a little better about the SEO landscape. She’s using the Yoast SEO plugin (a good choice!), but I want to make sure she (and now you!) know how she can not only make sure her site and products […]

Why WordPress Freelancing?

About 4.5 years ago, my life changed… Affiliate marketing and passive income was all the rage. Who doesn’t want to make money while they sleep? So I gave it a shot, and started building these simple sites on something called WordPress. I started using WordPress simply to get good looking sites up in a couple […]

Genesis and Angular: Adding Routing to Posts and Pages (Part 3)

This is the third post in a three part series on using Genesis and Angular. Part 1 can be read here, and Part 2 can be read here.  Routing is part of the magic of web applications, and not something that we really think about when we’re developing WordPress sites since it’s basically taken care […]

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 using Genesis and Angular. Part 1 can be read here, and Part 3 can be read here.  In my last post on the subject, we left off with two-way bindings to show that our Angular markup was working in Genesis. That’s great! But we want […]

How to Disable Phone Number Linking in iOS Safari

I was working on a client’s site recently, and they sent me a screen shot with their address in the header of the site, saying the postal code was off center. At first I thought I had messed up my Sass styles on the media query for small screens. Then, I realized what was going on: Safari in […]

Adding Angular Markup to a Genesis Child Theme (Part 1)

This is the second post in a three part series on using Genesis and Angular. Part 2 can be read here, and Part 3 can be read here.  This month is “Angular August“, and so I’ve been focusing on learning Angular (1, not 2 yet… but soon!). I’ve set myself several tasks learning angular, one of which is developing […]

Angular Learning Resources for Angular August

For the month of August, I’ve been diving into Angular, and so far, it’s much easier for me to grasp than BackboneJS. That’s ok, Backbone, I’ll come back to you later! I’ve started compiling some resources I’ve been using to learn Angular as well, and am putting them here. I’ll be updating this from time […]

Getting Familiar with Backbone.js

I’ve been doing a ton of learning of JavaScript frameworks recently. I built a single page application with KnockoutJS for my Udacity Nanodegree. It was pretty great, I learned a ton, and like the idea of being able to build something fast with the help of frameworks. Yeah, I’m hooked:-)! I decided to start out […]

Presenting Meg-n-Boots

I’m SUPER proud to show off this custom theme, built from the _s starter theme. I called it “Meg-n-Boots” after my wife, and because it uses the Bootstrap framework. Clever right? It’s working out for me so far! I’ll be writing some posts about the tools I used to build it, and what I incorporated in […]

January Goals, Did I Do Them?

It’s always hard to not meet your goals. Even harder to admit them to the public:-). But, here it goes, and here’s the progress I’ve made…

Documentation as a Discipline

A while ago, I read a post from Tom McFarlin about keeping a change log.  I had actually just started a massive project and was scrambling to remember what I did the previous month and why. Also, we had promised to deliver technical documentation and user manuals. I figured that I would get through the project (which […]

How I Think About Cooking Food

There was a summer in elementary school that I stumbled on the 90s classic show, Great Chefs, Great Cities. I can still hear the theme song in my head! The show captured my attention. The food looked delicious, the chefs made it look effortless, and everyone always seemed to enjoy the process and the final product. […]

I Wrote This Post in the Command Line With WP-CLI

I just found a new toy, and it is a good one. I have loved using the command line for version control, and now I have a new tool in the arsenal. Let me introduce you to WP-CLI…

Recipe: How to “Hide” Vegetables

Do you remember when you were a kid and used to refuse to eat your veggies? For all the neighbors knew, there might have been some kind of war going on trying to get you to swallow a mouthful of green healthiness. Later in life, you kind of grow into vegetables. They become less distgusting, […]

This Week I Learned: SQL database queries and foreach()

It’s been a busy week. I’m putting together a new theme (to be unveiled soon), updating some projects I’ve been working on, and tuned my guitar for the first time in about three months. I’ve come across a couple new things I wanted to record. It’s funny how, when putting sites together, you come across things you […]

How Much Javascript is Enough?

There is a rush to learn Javascript right now. Especially in the WordPress community, there are people clamoring for more, better, and comprehensive Javascript resources. And there’s tons available and even more lists, and lists of lists. Similarly, most all entry level developer jobs–from Junior Developer to Front-End Engineer–are all requiring a decent amount of […]

Recipe: Cauliflower Rice

If you’re like me, you typically go for seconds. Also, if you’re like me, those seconds can include an extra serving of carbs, carbs that you don’t need. Or, leaving the carbs out of this, maybe you’re a big fan of sauce dishes like curry or tajine. Or you like (ok LOVE) fried rice. Rice, […]

An Honest Review on my January Plan

“Uhh ohh…” I looked at my watch. I couldn’t believe it was already Sunday. Not just anytime on Sunday, but evening. That meant that the weekend was over and it was time to get back to the weekly projects at hand tomorrow (that is, today!).  This isn’t a post about “a case of the Mondays”, and it’s […]

Recipe: Korean Dalkgalbi

There are certain flavors that capture your attention. For me, one of those is this spicy/semi-sweet Korean dish: dalkgalbi. I love the smell of this while it’s cooking, and it’s full of meat and veggies. A great combination! So, here’s how to make it (or at least, how I make it)…

This Week I Learned: Custom Meta Boxes and Post Meta

“Can we have a l way to link a slider image to a specific page?” my client asked. “Sure, no problem,” I said. Now, I had never done this before, but it seemed easy enough to do. In my mind, I pictured the solution: In the slider custom post type (cpt), I need a custom […]

Learning New Things: Bower

Along with Grunt, another tool I’ve been playing around with is Bower. What is Bower? It’s a package manager for the web, duh! Ok, let’s back up. What does that even mean? Two bits of information should help clarify: The origin of the name “bower”. A better understanding of what packages are. Let’s dive in…

Recipe: Buffalo Chicken Dip

Just thinking about buffalo chicken wings and blue cheese dressing makes me salivate! You? I thought so!;-) This recipe was first introduced to me by my friend Paul. A true friend! I’ve since made it about a dozen times here in Korea, and it’s always (I repeat, always) a crowd pleaser. Wanna please your crowd? Here’s […]

Learning New Things: Grunt

I’m still getting a handle on Grunt. As far as a build tool, I’ve not yet been able to wrap my head completely around it. Maybe I need a better tutorial, or maybe I just need to not get hung up on any task runner that isn’t working right (looking at you, livereload!). I’ll get […]

Recipe: Chipotle Chicken Curry

I love creamy, savory dishes. I also love unique and interesting flavor combinations. This recipe does both, and so much more! Here’s what you need, and what you can add:

This Week, I’ve Learned… Your Best Isn’t Always Good Enough

They say: “when it rains it pours.” But it’s still a real bummer to get wet. Without being too explicit, I’ve tried really hard in some big endeavors over the past three to four months, and I’ve received the feedback and results:

BOSI Index: Moving Towards Specialist

For the first two years we lived in South Korea, I was working for an e-commerce start-up, The Arrival Store. They were really big on investing in the team, growing people professionaly, and making sure that we were working in areas of strength. While with them, I took two assessments: the Strengths Finder 2.0, and the […]

Creating a Body of Work

I’ve only just begun to write consistently, but why? Why now?? Podcasts are a big part of my weekly routine. I usually absorb them at 2x speed while working, running errands, running, or whenever I have a spare moment. I love listening to people talk about ideas, get some tips about business, web development and life, and occasionally […]

Recipe: Bacon and Broccoli

Seriously, look at that broccoli. So Green! This is one of my favorite go to meals, ready in about 7 minutes (I can do it in about 5 minutes if I don’t want the bacon so crispy). Here’s how you do it…

My January 2016 Plan

Every year, I try to make some New Years commitments, and I’ve written about those here. One of the activities I’ll probably engage in on a monthly basis is setting some deliverables to get done that month. There are several reasons for doing this, but in the spirit of going pro, I want to start […]

Looking ahead to 2016

Every year, we make resolutions. Some make decisions, other make mantras. I’m a fan of all these things, and relish in the chance to engage in self examination and set some goals for myself. For 2015, my mantra and goal was to “trim the fat”. This meant a couple things: Lose fat, not just weight, […]

How to Update WordPress (Single install and Multisite)

Many people ask me how to update WordPress. Updates on WordPress can be scary if you’ve never done them before. However, there are plenty of reasons to update: Security updates are huge! Any bug fixes that will make your site run better Staying up with web standards Taking out the trash! In this video, I guide […]

On Developers….

Developers are wizards. They’re like magic people. How do you place a price on that? You got to think of yourself as a wizard and then maybe you could price more appropriately. From my view, I just see magic happen. –Jesse Mecham on Startups for the Rest of Us  

Some Thoughts on Approaching New Clients

Friend and fellow freelancer Melissa wrote me an email I thought I should share: I have a couple process questions for you. 🙂 So I’m deciding that I’ll try to approach some businesses that I am naturally curious/ passionate about to see if they would want to utilize my services. I’m thinking of talking with […]

Don’t Forget Value Added… Unless You Don’t Want Paying Clients

The worst feeling in the world is the one you get when you say to yourself, “If only I’d just said X, Y and Z, I would have sealed the deal.” But the bird has flown, the ship has sailed, and you are back to the job board, cold calling, referral asking, or pavement pounding. […]

Entrepreneur or Freelancer: Are you a businessman or a business, man?

When starting down the path of business, there can be some confusion, even identity crisis. How do you self-identify now that you are working for yourself, or selling your product or service to a general market? How do you accurately speak about what you do? In a weekend away with some folks starting up businesses, […]

Take the Shortcut: Find a Mentor and Apprentice Yourself

When I committed to getting on the Genesis Developer list, I hadn’t even bought the Genesis Framework. Granted I had worked with one client on a project involving the Genesis Framework, but that was hardly enough to say time spent with the framework to know anything about it. If there was an issue, I relied […]

Resources for SEO and Keyword Research

(This post is the result of a question from James. If you have any questions, please let me know and I’ll see what resources I can send your way). This post compiles everything I know about SEO and Keyword Research. It is summed up in the resources below that I used to learn and implement […]

Just in Time Learning: Trimming the Fat and Focusing to Move Forward Quickly

Having clients pay you to learn a new skill is a very difficult art. In trying to stay 20 Hours Ahead, you will often bite off more than you can chew. The reason is simple: in the grand scheme of things, you know very little. If you are on the road from freelancer to entrepreneur […]

Time Track with Toggl (or Lose Your Pants!)

Time tracking (with Toggl) is a pretty new experiment for me… but I’m loving it. One of the most influential podcasts of my “20 Hours Ahead” formation has been an interview with a Genesis developer by the name of Bill Erickson on The Matt Report. Erickson uses systems and time tracking to maximize his revenue per hour by measuring the […]

Day 21: Self Education: WordPress Tutorials and Where to Get Good Help

“Take time to improve your knowledge and skills so that you can put a premium on yourself. You don’t have to be content in being simply a good doer if you can also become a great teacher.” ― Jan Mckingley Hilado, Rich Real Radical: 40 Lessons from a Magna Cum Laude and a College Drop […]

Day 20: Self Education: The Staging Site (try it on your computer first!)

As you get more familiar with WordPress, you will want to try and push the limits and see what you can do, both in terms of design and development. It’s easy to want to try new things on your site or even a client’s site, live and online. Reason However, you NEVER want to experiment […]

Day 19: Self Education: The WordPress Community, Who to Watch, Know and Follow

It should be pretty apparent by now: WordPress has an amazing community of people, developers and businesses all contributing to make the community and core of WordPress better and better. Reason There will be several people that you will want to follow and head the advice of. You might even want to hire them! Recipe […]

Day 18: Self Education: An Introduction to WordPress Frameworks

When starting on a new project, whether it is sewing a new dress together, building a cabinet, or baking cookies, there is always a preset pattern or even design that you use. You might change the fabic of the dress, or add dark chocolate chips instead of milk chocolate chips. However, the basic structure of […]

Day 17: Self Education: The WordPress Codex

“Self-education is, I firmly believe, the only kind of education there is.” ― Isaac Asimov It is hard to imagine sitting down and reading the entire Encyclopedia Britannica, much less the whole of Wikipedia. However, we make reference to these resources and others when we have questions about historical happenings, are curious about the way […]

Day 16: Functionality: Security Configuration

Backing up your website is a great, proactive way to make sure that your website and content will always be available in the case of some kind of hacker or malicious attack. However, it is also just as important to prevent those attacks from happening in the first place. Reason There are several default settings […]

Day 15: Functionality: Backup Configuration

Imagine waking up and finding that you website has been hacked, compromised, or your domain has expired and your website is down. Or, imagine that you’ve been messing with some PHP code and didn’t enter the code just right and now your website is broken! Reason There are several ways to break or crash a […]

Getting Through the Mopes, the Blocks and the Stalls

It happens… The time will come in this 20 Hours Ahead Journey that you stuck. You will not feel like doing the work. You will not feel like you’re progressing, and you will certainly feel like somewhere along the line, you made the wrong decision to learn something new, to put yourself out there, and strike out on your […]

Day 14: Functionality: Plugins 2: Five More Plugins

Your website is probably not ready to go right “out of the box”. There are different things that you would like for it to do that it doesn’t automatically do at the install with the standard features. This is where plugins come in. Reason There are so many different plugins, and so much your website […]

Day 13: Functionality: Embeding a Video

The beautiful thing about content on the internet is that it innately sharable. Web 2.0 formats have made it possible for easy sharing of media formats across different platforms. With HTML5, embedding is getting even easier. Reason YouTube is the second largest search engine after Google (yes, beating out Bing and Yahoo!). You will probably […]

Day 12: Functionality: Basic HTML and CSS (and CodeAcademy)

There will always be a few things that you want to get tweaked “just right”. While there are several ways to make site-wide tweaks, you might want to do this specifically per post or page. Reason Eventually, you’ll want to get familiar with HTML and CSS. It’s better to go ahead and try out small […]

Day 11: The Basics: Using the Help Menu and Screen Options

After installing some plugins and adding content, you might notice that your screen is getting crowded with options. Or you might need some more immediate help with questions that are coming up as you work on your website. Reason Part of the goal of this series is to help you add functionality and become more […]

Day 10: The Basics: Reviewing the Front End of Your Site (UX)

The last part of our Basics section! Once everything is basically set up and you’ve been creating content, it’s time to review what the front end looks like. Reason You can do all of the tweaking and adding of content you like on the back end, but if the front end of your site does […]

Day 9: The Basics: WordPress Widgets

Widgets are another set of small functions that add a little bit of flare to your website. The basic widgets add a search bar to your site (SUPER important), add notes about comments and categories, and can even add a calendar. Reason There are certain areas on a WordPress site that are designated “widget areas” […]

Day 8: The Basics: Uploading Media

There is so much more to say than what the written word allows you to. Pictures, audio video and other written formats are all ways that you can allow your audience to consume your content. Reason For some of this content, you will the media to be available on your website. Until you develop a […]

Day 7: The Basics: Plugins Part 1: JetPack and Akismet

Websites and blogs can get pretty bland pretty quick. There are also plenty of functionalities that you’ve probably seen on other sites that you have though, “Ooo, I want THAT on my website!”. Enter Pugins… Reason Plugins also you to simply and easy add to the functionality of your website without necessarily needing to know […]

Day 6: The Basics: Creating and Arranging Top Level Menus

Websites are more than just a landing page. They contain blog posts, about pages, different categories, even shopping carts and contact forms. Reason People want to see ALL of your content and they need to be able to navigate to the different parts of your site quickly and intuitively. This is where menus come in. […]

Day 5: The Basics: Finding and Choosing and Installing a (Free) Theme

Like snowflakes and Danny Boyle movies, no two themes are exactly alike. There is a theme for everyone out there, and you will probably want to change your theme as the personality of your website changes. Reason The only way to know if a theme will work on your website is to preview it with […]

Day 4: The Basics: Categories and Comments

As humans, we categorize so many things: our clothing, our food, our friends, and even our coffee (I’m drinking some decaf, fair trade, fresh ground coffee now!). We also like to comment on anything and everything:-). Reason Breaking your content down into categories will allow you more flexibility on rendering that content on the front […]

Day 3: The Basics: Your First Page

If the post is the fresh and dynamic content, the page is the foundation and static portion of your site. Pages inform and typically or more general than posts. Typical pages are titled About, Resources, Services, Portfolio, and Contact Us. Reason You don’t always want your content updated in a “tumblog” fashion. Pages allow for […]

Day 2: The Basics: Your First Post

We all want a website for different reasons: blogging, content management, display our portfolio, put a professional foot forward, etc. Here is how to create your first post. Reason More and more, blogs and new posts are becoming a central way to update your audience and keep your website fresh with content. Fresh content is […]

Day 1: The Basics: General Settings and Permalinks in WordPress

“The beginning is always today.” ― Mary Shelley Getting Started Off Right This assumes that you have installed your WordPress software on your self-hosted website. You can also use these tutorials on your WordPress.com account, though some of the functions will be a little different. If you need help installing the WP software on your […]

21 Days to WordPress Proficiency: An Introduction

What is Your Situation? Do you have a WordPress based website but you feel like you don’t know where to begin?  21 Days to WordPress Proficiency will take you from the initial install of your site to installing plugins, do basic customizations in HTML and CSS, and, most importantly, allow you to be a self-educating […]

How to Increase Your Revenue by 30% (Witout Raising Your Rates)

I just finished a couple of projects for clients. This is always a good feeling. One of my strengths is “Acheiver”, which means I love (a-hem, LOVE) to get things done, checked off my list, wrapped up and put away. Normally, I jump right into the next thing without taking time to celebrate. This time, […]

Value Added Service on Projects

In the world of freelancing, I’m finding I need to get projects done as quickly as possible, and with the maximum amount of revenue possible. This is of course depending on the client, what they need, and how much they’ll will to pay for the project they need done. Learning how to price your services […]

Finding (and Getting) Freelance Work

Taking the Freelance Plunge “There’s nothing quite like asking someone to pay you for something you’re not quite sure you can do.” -Me. One of the most !important and delicate times for a business is the validation phase: do people want to and will they give you money? You’ve built your product, or practiced your […]

Code Academy: PHP

Like a peaceful meadow after a trek through dense jungle, or the eye of a hurricane, PHP was a welcome relief, a lot more intuitive, and pretty fun. The Basics on PHP PHP is a server side language, and is the “P” in the LAMP environments that run a good deal of the internet (not […]

Code Academy: JQuery and JavaScript

If the Web Fundamentals Course was like eating a tasty peanut butter and cholocate pie, jQuery (jQ) and JavaScript (JS) we’re like eating a bitttersweet pie and a pebble pie, respectively. jQuery… Not as easy to pick up as HTML and CSS, but not too bad either. What is jQ? Officially, it’s a javascript library.

First Course in Code Academy: HTML/CSS

Finding My NEW Drug of Choice After my first experience with CodeAcademy (CA), I knew that I was hooked. Literally, addicted. I’m a learner AND an achiever, and so the format of CodeAcademy was the perfect way for me to begin learning HTML and CSS. Yes, correctly completing a lesson, getting a green check and […]

Getting Started with Coding: CodeAcademy

Starting from (just about) Zero How do you even begin to start thinking about learning to code on your own? The only thing that I ever really knew about HTML was how to do use the “a href” tag in the text editor in WordPress. That was it.  Seriously.  In thinking about how I could […]

20 Hours Ahead: Initial Thoughts and the Point

Why “20 Hours Ahead”?: The idea is the same behind idea behind Josh Kaufman’s “The First 20 Hours”*, at least as I understand part of it (see his video below). There is the rapid learning that takes place (and I’m an avid learner!), but there’s also the idea that you only need about 20 hours […]