My Workflow Tips and Tricks

Alfred Workflow: Boot up

I recently returned from a team meetup in Hawaii (you can read about the fun stuff here). The meetup had a strong focus on discussing and improving our efficiency as a team. Part of that involved sharing our individual workflows so we could learn from each other. While some of the tips that I shared are specific to the work that we do as a team, other parts might be helpful in general.


I rely heavily on an app called Alfred. If you haven’t used it before, I recommend giving it a look. On the surface, it looks like a simple Spotlight replacement. But when you get under the hood and start using Alfred’s features you’ll see that it blows Spotlight out of the water.

Shameless self promotion: I was recently interviewed on the Alfred Blog, which you can check out here.

Starting my day

I have a custom Alfred Workflow that I use to get my day started. I hit Opt + Space, and enter the work keyword into the prompt. This opens up all of the apps that I use for work, as well as the tabs that I use in Chrome to start my day.

For reference, the apps and sites that I open are:

I have a few variations for this one. For example, if I’m doing a theme review, I have an Alfred workflow for that. It will fire up my theme review Vagrant, open Sublime Text, and open up the front-end and back-end of the site in Chrome.


Color coded Gmail Labels

Once I’m booted up, I head over to the Gmail tab. At Automattic, we use P2s extensively for internal communication (well, actually, o2). I subscribe to the most important of these by email. I use Gmail filters and labels to keep my inbox organized. The filters break things down by category (i.e., Jetpack, Support Forums, GitHub) and then I use labels to color code them. That way I can get a good sense of what requires my attention with just a quick glance at my inbox.

I also have my inbox set to show unread messages at the top. This allows me to mark the non-important messages as read, and they will disappear from the top. If one of the emails requires a quick action, I try to do it right away. If I don’t need to complete the action right away, I use a hotkey to quickly enter it into Todoist.


Todoist Workflow

When I enter a task into Todoist using the quick add, I just send it to my inbox. Then, after getting caught up on my emails, I open up the Todoist app itself and organize my tasks using Projects and Labels. I keep projects top level (Personal, Work, Read, Write, etc.). I then use labels to break things down into specifics (Forums, P2, GitHub, etc).


After email, I head over to Slack, which we use for synchronous communication. I do not read scroll back in Slack when I logon for the day. I also mute most of the channels that I am in. The exceptions are my team channels, and other important company-wide channels. This allows me to avoid unnecessary distractions, but still receive notifications when someone mentions a keyword in a muted channel.

Alfred Workflows

Now that I’m all caught up on communication, I’m ready to start my day. Depending upon what I’m working on this work can vary quite a bit. But there are a few Alfred workflows that I use on a regular basis:

  • Alfred Gist: Easily create a Gist from the contents of your clipboard. This is handy when I’m writing a quick code snippet in Sublime Text for a user, and want to share it with them.
  • Caffeinate Control: This allows you to enable/disable your Mac’s sleep function. This comes in handy when I am regen’ing thumbs, or doing something that requires my monitor to remain awake.
  • WordPress developer reference: Search the .org documentation for functions, hooks, classes, etc. It also autocompletes, which is nice for when I can’t remember the exact name of a hook or function.

There are a handful of commands that I run on a regular basis to troubleshoot Jetpack connection issues. Instead of manually typing these commands in each time, I have workflows that allow me to automate the process.

For example, I often try to cURL a site’s xmlrpc.php file to see if it is accessible. Instead of typing the command each time, I just copy the URL to my clipboard, hit Opt + Space to bring up Alfred, and enter the curl keyword and Ctrl + V to paste the URL. Doing so will run the following command in Terminal (where {query} is the URL):

Command Line

iTerm2 and Oh my ZSH

Speaking of the command line, I use iTerm2 as a replacement for the native Terminal. And I use zsh instead of bash, with oh my zsh to manage my zsh config. (h/t @jeherve). Both are customizable and provide many helpful shortcuts right out of the box.


When I complete a task, I try to make a note of it into iDoneThis. I have an Alfred workflow that allows me to type idid followed by a description. I don’t use this as much as I should, but it is helpful to reflect upon what I’ve accomplished in a day/week.


Hemingway Editor App

When I am writing a post or replying to a non-native English speaking user I often run it through Hemingway. The editor looks for wordy sentences, adverbs, passive voice, and complicated words. It isn’t bullet proof, but it does catch quite a few common errors.

Screenshots / Sharing

I use Cloudup to share files. It lives in my menubar, and I can easily share files by dragging them onto the icon. When the upload completes, Cloudup copies the URL to my clipboard and it is ready to send. If I need to annotate screenshots before sending, I use Glui. Using Glui I can quickly mark up diagrams, add arrows, text, and more before sharing the image on Cloudup.


I’m constantly iterating on my workflow, so none of these techniques are written in stone. Do you have any workflow tips or tricks? If so, I’d love to hear!

2013 in Review

2013 in Blogging by

The stats helper monkeys have been busy putting together a personalized report detailing how everyone’s blog did in 2013. Here is an excerpt from my report:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 59,000 times in 2013. If it were a concert at Sydney Opera House, it would take about 22 sold-out performances for that many people to see it.

Check out my full year in review! And if you have a or Jetpack enabled blog, keep your eyes peeled for your own report!

WordPress Functionality Plugins

WordPress Functionality Plugin Presentation

I recently gave a talk at the Pasadena WordPress Meet Up on Functionality Plugins. The presentation was short – more of an intro than anything else – but I hope someone found it helpful. For more information, you can check out the resources slide at the end of the presentation.

If you have any questions, or want to share some of your thoughts, leave a comment below. Now, enough rambling, here are the slides:


Web Developers and the Impostor Syndrome

Last September, I had lunch with another WordPress Developer while at WCLA. During our discussion, we touched on an interesting subject. The Impostor Syndrome. I wasn’t aware of the actual term at the time, but the definition seems to fit our discussion.

The impostor syndrome, sometimes called impostor phenomenon or fraud syndrome, is a psychological phenomenon in which people are unable to internalize their accomplishments. Despite external evidence of their competence, those with the syndrome remain convinced that they are frauds and do not deserve the success they have achieved. Proof of success is dismissed as luck, timing, or as a result of deceiving others into thinking they are more intelligent and competent than they believe themselves to be.

How does this apply to web developers? What the hell am I talking about?

Let me explain…

During our talk we both acknowledged that when we first started working with other developers, we were apprehensive about it. Not because we were against collaboration. Not because we were against working with other people. But simply because it was very intimidating.

I know for myself, it wasn’t necessarily a lack of confidence. I have always taken pride in my work, and I am confident in my craft. I know that I know my stuff! Yet, at the same time, there is a feeling of vulnerability when you expose the code behind your work to other people.

The “I Can Do It Myself” Stage

Prior to working with other developers, I tried to do everything myself. I worked at small agencies and was usually the only full-time developer on staff. This forced me to learn a lot, and to learn it quickly. But the projects continued to get more and more complex. And the workload kept increasing. I had to work with other people. I was terrified. What if they find errors in my code? What if I’ve been doing something incorrectly? What if I’m a fraud?!

At this point in time, I had plenty of accomplishments under my belt. I had an extensive portfolio, a long list of happy clients, and plenty of my own personal projects. But for some reason, that fear was still there.

Getting over the fear

Eventually, I had a project come up in my freelance world that I knew I couldn’t handle myself. The agency I was working with at the time had another developer that I was going to work with. Logically, I knew it would be okay. But, panic still set in. And I had to face it straight on. And guess what. The project went great.

Come to find out, this developer was far more advanced with JavaScript than myself. But I wasn’t exposed as a fraud or banished from the web development community. Instead, he offered some advice about parts of my code – which lead me to become a better developer. And on top of that, I was able to give him some advice about working WordPress.

Who would have thought… I was able to teach him something. To this day we still exchange emails and offer each other advice. When I have a JavaScript question he’s usually the first guy I ask. And when he has a WordPress question, he doesn’t hesitate to ask me for help.

Looking Back

Now, a couple of years later, I look at that first project as a significant turning point in my career. That’s when I started to collaborate. It wasn’t until I started working with other developers that I really began to pinpoint my strengths and weaknesses. And I have found out that it’s extremely valuable to know both of those.

I will admit that I still get jitters every once in a while when I publicly share my code. But it’s usually followed by positive feedback. On top of the thank you’s, I’ve also received valuable feedback that has helped me learn new things.

So… What’s my point?

I am a firm believer that everyone can learn something from everyone. And everyone can teach something to everyone. I’ve heard other people talk about the Impostor Syndrome (or similar feelings), so it doesn’t only apply to developers. And I don’t think that it is uncommon.

I wanted to share my story, and urge other people to take a step out of their comfort zone. Whether you are a seasoned developer, or you’re just getting the hang of HTML and CSS, you can learn by sharing and collaborating. So put yourself out there!

Search the WordPress Codex from Alfred

Search WordPress Codex from Alfred

Awhile back, Brian Krogsgard mentioned the productivity app for OS X called Alfred. Since then, I’ve found myself using it on a daily basis. A quick Google search will return a lot of great articles about Alfred, so I won’t go into depth here. But I did want to share one custom search that I find myself using fairly regularly.

Create a Custom Search in Alfred for the WordPress Codex

Throughout my day-to-day work I often reference the WordPress Codex. No matter how much I learn, I still find myself looking up function references. One of the great things about Alfred is that it allows you to create custom searches. That means that you can create a custom search to look up functions in the WordPress Codex. Just enter the following:

Alternatively, you can create it manually by following these steps:

  1. Open Preferences > Features > Web Search in Alfred.
  2. Click Add Custom Search in the bottom right.
  3. For Search URL enter:{query}
  4. For Title enter: WordPress Functions (or whatever name you’d like).
  5. For Keyword enter: wp (or whatever shortcut you would like).
  6. You can drag an icon to display with the search. I used the official WordPress logo.
  7. Click Save
  8. Call Alfred and try a search using your Keyword followed by a WordPress function name.

Again, this is only one of many things that you can do with Alfred. It’s a great app, and I highly recommend it. What do you think?

Why I Use and Recommend WP Engine for WordPress Hosting

WP Engine Homepage

The team over at WP Engine recently asked me if I’d be interested in doing a Q&A for their blog. I was more than happy to do so, and it got me thinking about their company and what they do. I’ve worked with a lot of different web hosts over the years and all of them have their pro’s and cons – whether it be pricing, support, server configurations, or just the overall experience.

I’ve had good experiences and bad, but WP Engine stands out as one of the best hosting providers that I’ve worked with. While I’ve had good experiences with other hosts, it’s rare to find a host that provides great service and holds each customer relationship to such a high regard. Here are just a few reasons why I host my WordPress sites with them, and why I recommend them when people ask.

Speed and reliability

The technology that WP Engine uses is designed specifically for WordPress, and their server stacks can handle any amount of traffic. I’ve seen some large traffic spikes in my analytics, but would have never known based upon the performance – which was still snappy and quick. They use top quality hardware, and spread web requests and database queries across multiple servers.

On top of that, you don’t have to worry about configuring any caching plugins. WP Engine uses technology that was created by their team called “EverCache”. They claim that this technology outperforms just about any caching plugin (including WP Super Cache and W3 Total Cache) and based upon the performance that I have seen, I believe it. And it’s all configured automatically – both server side and client side. You’ll still have to minify your scripts and stylesheets, but that’s a piece of cake.

If you’re looking for an example of these fast loading times, just check out the page load times on my site.

They offer a CDN

I haven’t seen any other host that offers a solid CDN right out of the box. WP Engine does. They work with NetDNA to provide a fast, reliable CDN. You don’t even have to get your hands dirty setting it up, as it is all configured automatically. This point could be bundled with the one above, because it also contributes to better speed and reliability, but I figured it was worth its own section.

Support is knowledgeable, helpful, and friendly

To me, support and communication is just as important as the technology. And again, WP Engine does a great job with it. Although they are not available 24/7 (except for emergencies), I have never had an issue waiting for someone to help me out.

Not only are they prompt, but they are also extremely knowledgeable. Their entire support staff is made up of WordPress experts. They’ve helped me tackle some issues and offered suggestions for problems that were caused on my end – not a lot of hosts will go above and beyond like that.

And to top it all off, they have always been patient and friendly whether it be via their Support Dashboard, Twitter, email or phone. I guess you could say I like those guys and gals.

One Click Staging Site

This is one of my favorites. WP Engine offers the ability to create an exact copy of your live site, at any time, with one click of a button inside your WordPress Dashboard. You can push your changes to this staging site, test things, break things… All without affecting your production site. When you are running a public facing site, this feature is priceless. You don’t have to be nervous updating themes or plugins, or making changes to your site. Try them on your staging site first, make sure they work, and then push to your live site. And you can reset your staging site at any time with one click. It’s awesome.

Git Integration

I use Git for version control, so I was happy when WP Engine fully integrated Git-Push-To-Deploy into their hosting platform. You can push changes to your staging site or your production site… or both. All you have to do is open a ticket with your SSH public key and which install you’d like to associate them with and then you can start utilizing all the Git goodness. Pretty rad.

Peace of mind

WP Engine secures every site they host. They constantly scan their servers and make sure no malware or security holes are present. They also fix your site if it’s hacked – for free. Backups and restore points are automatically created daily, and you can manually create one at any time with a couple of clicks. And this is included with any plan.

It saves time

With all of these features (and more) I find myself spending a lot less time with server issues and maintenance. WP Engine will even update your sites when a newer version of WordPress is available. For example, when 3.5 was released, I received word from WP Engine that they would be testing the latest version of WordPress, and then pushing the updates to all installs. They notified me beforehand so I was able to test 3.5 on my staging sites. After making sure everything was in working order, I easily updated to 3.5 on my production sites. It was the most seamless update I’ve ever completed. And for minor releases (3.5 to 3.5.1 for example) WP Engine handled it automatically without a hitch.

I don’t have to worry about taking manual backups, or regular server maintenance. They take care of it. Pretty rad.

They are active in the WordPress community

Another thing that I like is the fact that I often see WP Engine active in the WordPress community. Whether it be on Twitter, at WordCamps, or just exchanging ideas with other WordPress enthusiasts. Hell, I don’t even think Austin sleeps.

Affiliate Program

They also offer a very generous affiliate program. If you sign up for the WP Engine affiliate program you’ll receive a minimum of $150 per referral. It doesn’t matter which plan, the payout is at least $150+. I would recommend them either way, but it’s nice that they offer the affiliate program, too.

Note: The links to WP Engine in this article are affiliate links. It will cost you nothing extra, but I will make a commission if you buy hosting through them. Affiliate links or not, I stand by everything written here and would feel the same either way.

WP Engine – Conclusion

Suffice to say, I like the team and the service over at WP Engine. They offer solid WordPress hosting, awesome support, and they are easy to work with. Go check them out. And if you’re looking for hosting now, they’re offering two months free when you prepay for a year. They don’t lock you in to any contract, and they also offer a 60-day money back guarantee. So if you’re unhappy, you can get a full refund.

Have you worked with them before? Or do you have a question? Whether positive or negative, let me know in the comments below.