Johnathan Lyman

My name is Johnathan Lyman. I'm an engineer at Papertrail, a huge Apple nerd and semi-regular blogger. I enjoy bubble tea way too much and find Farming Simulator relaxing.

Find out more.
2014 – 2018 Johnathan Lyman. All 338 posts and 12 pages were made with and in Seattle.

Powered by:

May 2015 Archives

Beginner’s Mind


It happens to all of us. We get worked up about something that we’re really confident is a for sure thing. Then they call the lottery numbers and we’re still broke. Being disappointed by or in something extends way beyond buying lottery tickets and hoping to strike it rich. It’s easy to be disappointed in just about anything when we realize it didn’t meet our original goals or expectations.

A few days ago I read a post from Marc Chernoff on 3 Ways You’re Making Your Life Harder Than It Has To Be. While not directly related to this discussion, one of the things he points out is this situation:

Imagine you had a ripe, juicy apple sitting on an otherwise empty table in front of you.  You pick it up eagerly, take a nibble, and begin to taste it.

You already know how an apple should taste, and so when this one is a bit more tart than you expected, you make a face, feel a sense of disappointment and swallow it, dissatisfied.

Or perhaps the apple tastes EXACTLY as you expected – nothing special at all.  So you swallow without even pausing to enjoy its flavor, and you move on with your day.

In the first scenario, the apple was disappointing because it didn’t meet your expectations.  In the second, it was too plain and unexciting because it met your expectations to a T.

Do you see the irony here?

It’s either not good, or not good enough.

Let’s think about that for a second. In this scenario, the consumer of the apple is inherently disappointed because the apple was either nothing remarkable or just sucked. Both are levels of disappointment, the former being veiled and not all-encompassing.

One way to avoid so much disappointment in life is to go into things with and open mind. The other, stop having expectations for things you aren’t intimately familiar with and be flexible. I can walk into Whole Foods and subsequently walk out and be disappointed they don’t have a certain brand of something I want. I could also walk into Whole Foods and buy an alternative brand to something I want because the original brand wasn’t available. In the latter situation, I’m no longer disappointed I couldn’t get X product. Sure it wasn’t the brand I wanted, but I went into Whole Foods with the idea that it might not actually be there in the uber-specific format I desire.

In consuming the apple from earlier, Marc goes on to say:

Now imagine you try this: eliminate your expectations of how the apple ‘should’ taste.  You don’t know, and you don’t pretend to know, because you haven’t tried it yet.  Instead, you’re genuinely curious, impartial and open to a variety of flavors.

You taste it, and you truly pay attention.  You notice the juiciness, the grainy texture of the skin, the simultaneously sweet, tangy and tart flavors swirling around your tongue, and all the other complex sensations that arise in your awareness as you chew.  You didn’t know how it would taste, but now you realize it’s brilliant!  It’s brand new, because you’ve never tasted THIS apple before.

Mindfulness practitioners often refer to this as “beginner’s mind,” but really it’s just the outcome of a mindset free of needless expectations.

Beginner’s Mind. All of this boils down to having a beginner’s mind. Going into a situation without pretense, already being convinced, or otherwise having a jaded view.

Also called “keeping an open mind.”

Forget Your Goals


All through life we set goals for ourselves in order to accomplish things. Sometimes we set a goal to lose 20 pounds by summer, or to finish fixing cleaning up the garage.

We spend so much time focusing on the end, that while we make our way there, we never feel like the actions in the middle are as important.

The problem is, they are. In fact, they’re more important than the goal.

Take the example of losing 20 pounds. That sounds like a fantastic idea, one that I could probably get behind, myself. The problem with this idea is that all that seems to be important is crossing the 20-pounds-lost mark.

We’re so focused on the end, we don’t believe everything we’re doing in between is crucial, too, and end up not giving it as much attention.

Here’s a better example that I can take from my personal experience.

Since I started this blog January 2015, I’ve shared 74,000 words. For comparison, 60-80,000 words is a book. I wrote a book in a sliver over four months. If I woke up, January 1, 2015, and set a goal to write a book and have it finished by May 7th, I’d freak out. I’d also probably not finish it.

In climbing to 74,000 words, I focused on the day-to-day. I set writing goals for myself that didn’t involve an endgame. These plans I made didn’t have a finish.

If I came to realize then what I realize now, I wouldn’t have even called them goals. What’s a good word for something you do on a regular basis for which you set aside time?

A project? a habit? It could be called anything you want, so long as you find these criteria to be most important:

  1. Figure out what you want to accomplish.
  2. Set aside time at whatever interval you find appropriate.
  3. Don’t think about #1.
  4. Do whatever it is you planned on doing during the time set at #2.
  5. Repeat #3 and #4 as necessary until you’re where you want to be.

The first step comes in the planning phase. This is where you sit down and determine what you want to do. Maybe you really do want to lose 20 pounds. It’s totally okay to have that goal.

Step two involves figuring out when during the week you’re going to sit down (or stand up) and work on the task at hand. Depending on what it is, you can break it down in to multiple sub-tasks. If you’re writing a book, each time you sit down and write can be a task all on its own; write a page every Monday, Thursday, and Saturday for example.

Step three is the most important of all: stop thinking about your end goal. Seriously. Everything I’m telling you comes down to this: if you focus only on the end, you’ll never appreciate all the work you’re doing to get there. That 1.2 pounds you lost last week will seem like nothing and you’ll eat your sadness.

Step four is action time. You’ve determined when you’re going to work, so now work. Enter into the work mindset with the idea that you’re just there to complete the task. You’re only doing whatever it is you’re doing at that time. You entered the gym and are going to lift weights. You’re training for a marathon but tonight you’re only going to focus on running five miles.

Step five involves continuing to work and not focusing on your end goal. Tracking progress can be acceptable but is a slippery slope. If you’re just starting out, I wouldn’t recommend it. If your goal is open-ended, then by all means. Tracking progress on an open-ended goal is great. It forces you to think about it in smaller chunks because there’s no end, only continual betterment of yourself.

I don’t want to tell you to stop having goals. Having a goal or five is awesome and I encourage it. It’s the focus and or obsession over said goal that’s the problem. I keep going back to the 20-pounds-lost goal because it’s such a good one to use as an example. In order to lose 20 pounds, you have to lose one pound, then two pounds. Then three. If nothing I say but one sentence sticks, let it be this one: what you’re doing today to reach your goals in life is more important than reaching the actual goal because without those incremental steps, you’ll never make it.


What do you think? Is there a goal in life you’re trying to accomplish but don’t feel like you can ever make it? What do you think would happen if you stopped focusing on the end and started paying attention to what you’re doing about it right now? I’d love to hear your story in the comments, via Twitter or email. If your story is good, I might revisit this topic in a future post with your thoughts and comments. Thanks for reading!

Morning Email: Check In Without Checking Out


If you’ve ever worked in a position where regular communication via email is important, you know what I’m about to discuss.

We’re all guilty of it. It’s 8:00 AM. You’ve sat down at your desk, your computer is warming up for the day. You open your email application and BOOM, there’s a metric butt load of emails waiting for you, nay pining for you, nay downright stabbing each other for your attention. The red bangs, the forty replies from a large group, the attachments, oh God the attachments!

I came across a great article by Chris Guillebeau this afternoon about how he finds a way to check his email every morning, but doesn’t let it consume him. How could this be? Only wizards hold such power as to deflect the mind-controlling gaze of a full inbox.


I check email every morning—not always “first thing” but usually pretty early. I take a quick scan, delete or archive anything irrelevant, and send any urgent replies. This quick scan takes an average of 10-15 minutes on average. [emphasis mine]

Quick scan. That’s the key. Unless its from HR telling you your giant raise came through or your boss telling you your giant pay cut came through, it can probably wait.

Guillebeau goes on to talk about the post-email-check session. After checking his email, he starts work. Real work. Stuff he actually has to get done. Those emails are just sitting there, and that’s perfectly okay.

Let’s not jump to conclusions, though. It’s fine to come back to emailing every now and then, but don’t let it become a distraction.

Sit down and complete a full task before checking email again.

I do this on a regular basis. It irritated former co-workers who were still stuck in 1999 and email seemed to be the only way to get a hold of me, never mind that IM, text, phone calls, or God forbid, a desk visit were also viable options.

Did you get my email? – Every co-worker who uses email as an excuse to start a conversation about said email’s topic.

I want to take Chris’ ideas one step further, though. I think it’s important to set clear boundaries. Establish yourself as that guy in the office who will:

Address every message at some point throughout the day.

Between X and Y hours, you will review all messages as necessary. Between those times of your choosing, you’re doing other stuff. Feel free to even close your email program. It’ll all still be there. Trust me.

Speak with you in the appropriate manner regarding a message or multiple messages.

If you receive a group mail about donuts in the kitchen, promptly punch* the sender with a donut.

(* in your mind. Assault is assault, people.)

**Tell you to “see me” if it’s really that damn important. **

You’re in the same work area, Bob, for crying out loud.

Promptly turn you away if you’re coming to talk about an email you just sent.

If you were going to come talk to me, why did you bother sending the email? “For your records” is a lame excuse. Stop it. I’ll come see you if it’s warranted.

That’s how I survive my day. My last job involved a lot of this. I received roughly 20,000 emails a calendar year. Anything short of extreme distance from the Inbox from Hell resulted in a mental breakdown.

Now it’s your turn. How do you keep from getting distracted, sucked in, and ultimately overwhelmed by email? Share in the comments, below

Choosing Your Words


We spend a great deal of time communicating via text. Some would argue we communicate more now than ever before as a society, albeit a smaller percentage via speech. This is likely due to the proliferation of text-based communication methods like email, text messages, Skype, etc.

Granted, before email we wrote letters or talked on the phone. The problem with letter writing is that its not efficient for long conversations. We resorted to the phone for such things but even then a successful phone call required two people to be in the right place at the right time.

With today’s digital communication, we can say what we want instantly to another person.

There’s a downside to all this, however, and I think Mark Twain made a good point well before digital communication was ever a thing:

The difference between the almost right word and the right work is really a large matter—it’s the difference between the lightning bug and the lightning. ~ Mark Twain

Twain’s statement can be conveyed in two ways: the way related to writing and being descriptive in said writing, likely for a book or short story, and the way related to making sure you mean what you say and say only what you mean.

Because we have such instant access to communication, it’s easier than ever to say things without really meaning them. One can be incredibly hurtful and do real damage with little effort. It’s easy to “fly off the handle” at someone via text message because there isn’t a physical barrier preventing those words from instantly reaching someone. In the letter-writing or even telegraph days, one had to think about what they were saying before and during the writing phase. They then had to take that letter or telegraph somewhere to have it sent.

All this extra time serves as a good buffer period. With text messages, however, the moment one becomes upset at another, it takes two seconds to convey that anger and not give it a second thought.

This is where we as a society are lacking. We’ve developed ways of near-instantaneous communications with one another tens, hundreds, and thousands of miles away with next to no cost, but we’ve regressed sharply when it comes to what we say and how we say it. We see politicians “walking back” statements they make, we see hateful things written about others on Twitter and Facebook, we Snapchat our friends pictures that weren’t meant to be shared without a second thought.

One can’t help but wonder what Mark Twain would say if he saw how careless we as a people have become when choosing our words.

Create High-Resolution Mockups for Your App or Site with Promotee


When it comes to promoting your site or app, it’s important that your renders are high quality and accurately portray what your customers should expect.

Promotee is a Mac application to create pixel-perfect and professional looking artwork for iOS, Mac and Android apps. Just drop a screenshot from your app onto a template in Promotee and our graphics engine will blend it into the template to generate a gorgeous looking result.

Promotee has one goal: to do exactly what I said without breaking the bank of paying for renders or shooting your own devices, wasting valuable time. I sat down with the app and here’s how it went.

When you launch the app for the first time, you’re dropped right into it with no fuss. You’re given an interface that allows you choose from iOS, Mac, and Android devices. By default, all three categories are selected under the “All” tab.

Over the top of the window is side-scrolling menu where you can choose the device and layout you desire. This list includes iPads in both horizontal and vertical arrangements, a three-way iPad setup, iPhones in both black and white, and more.

Because I’m about bullying testing it out, I took three screenshots of my homepage for the 3-way vertical iPhone arrangement. The middle image aligned properly, but the side two did not, leading to a less-than-ideal visual:

Screenshot 2015-05-03 15.45.32Hoping that it was just a bug, I moved to a single device both vertical and laying flat, both iPhones. This time, I had success both times. All hope was not lost on this app. When dragging the image into the zone marked on our mock device, it took next to no time at all for the render to complete. I suspect this is because re-orienting an image within bounds is trivial. I don’t foresee any issues on even lightweight OS X systems like a Macbook Air. My Macbook Pro is four years old and it was just another day in the life.

Speaking of OS X devices, I wanted to see how well Promotee could churn out mockups of a Macbook Pro. I selected the Mac category and found a mockup of a Macbook Pro (non-retina) just like what I own.

Since we had trouble with the 3-way iPhone setup earlier, I wanted to try again with the 3-way iMac setup. Unlike our iPhone setup earlier, this mockup was flawless.

Android devices get some love, too, so don’t worry about that. If you’re looking for additional devices and you bought the App Store version, you can pick up the 5C/iPad mockup and the Macbook Air (perspective) mockup for $0.99 each via an in-app purchase. If you bought the app right from their site, you’ll have to go back to their site to get your mockups, still $0.99 each.

I’ve included images below from the app below that I created in the process of writing up this review.

All in all, this app is pretty slick. It does exactly what the developers claim it does, albeit with a hiccup here or there. I suspect whatever bug is plaguing the app will be fixed at some point in the future. For right now, It’s a maybe. It’s $4.99 on both the App Store and straight from their site. It’s possible that by the time you read this, whatever issue I experienced is now fixed. if that’s the case, I’ll update this article accordingly.

This slideshow requires JavaScript.


18 Resources for Getting Started with WordPress


WordPress is one of the most popular blogging platforms and content management systems on the planet. Created by Matt Mullenweg and the team at Automattic, it’s an open source and free tool using PHP and MySQL for creating just about any kind of site you can imagine.

Today I’m going to cover a load of resources for getting yourself familiar with WordPress, what it can do, and how to expand and develop for it.


Before we get into the technical stuff, we need to cover the basics. You won’t get very far if you don’t know how to install it or navigate its interface.

**The WordPress Codex

**This might be the single best starting point. Coming straight from the source, every single person new to WordPress needs to read the getting started guid on the WordPress Codex. This guide describes where to start from the very beginning: what a weblog is really all about. It continues from there to making a plan regarding your hosting situation, installation, setting up, working with themes and plugins, and finally getting into some more advanced topics.


**Another great beginner guide comes from Like the Codex but more summarized, the guide from WPBeginner gets you running WordPress “in a week (or less).”


**If you’re looking for a hosted solution, there’s always With that comes a great guide on getting started there from the folks that make happen. If you’ve never used WordPress before, might be the single easiest way to get familiar with the software before diving into hosting it on your own.



If you want a good overview on how to make a good quality plugin, Hongkiat has you covered. They cover basic folder structures, naming conventions, best practices, filter, and more.

Tuts+ – Jeffery Way

Jeffery Way has a crash course on plugin development in video format on and covers all the basics to make a good plugin. In this scenario, Way covers how they made an actual plugin to serve a real-world purpose and how he planned it out.


Plugin development is only a small part of a successful and well-oiled WordPress site. the other portion is a quality theme. Why? Your theme is what people see and having it work properly and be as efficient as possible practically goes without saying.


**WordPress Codex

**If you want to make your own theme, you can, should you have the proper front-end development skills. The Codex has a rather extensive list of lessons on various elements of theme developments.

Tuts+ – Sam Parkinson

Another WordPress pro, Sam Parkinson, has a rather exhaustive tutorial on creating a WordPress theme from scratch. Parkinson covers the structure of a theme, what the files should look like, and what various functions look like that you’ll likely be using.


It’s ok to admit that you’re not good at developing WordPress themes. I’ll admit that, too. Here’s a list of my favorite theme developers.

**Ecko Themes

**Their shop doesn’t have a lot in it, yet, but the quality is great and the price points are exactly where they need to be.


This shop has been around for a while and their list of themes is extensive. At the time of this article, they have 87 themes that come as one large package for $69. That comes out to be around $.80 a theme. if you’re a developer or want lifetime access, you’re looking at still low prices of $89/year or $249 one time.


He’s been in it for a while and his collection of themes serves a wide audience and great support comes with each theme. You can buy each theme individually or get access to the whole collection for $199.


It’s also OK to go with a free WordPress theme if you’re finding what you looking for without spending any money. Frankly, WordPress themes can be expensive, too.

Modern Themes

The team behind Modern Themes is shooting for creating quality themes that don’t cost money. Just because a theme doesn’t have a price tag on it, doesn’t mean it has to be sub-par. Modern Themes hosts a variety of themes that cost zero dollars, with premium options that offer up additional features for a fraction of the price of most premium themes.

Anders Noren

A Swedish developer, Anders Noren creates great WordPress themes, mostly for free. As someone who’s used several of this themes in the past, I can vouch for the quality.

The WordPress Theme Directory is the go-to repository for every approved theme. Each of the themes on this site meet strict quality standards and there are literally thousands to choose from.


**if you’re rocking a hosted WordPress site on, this site will become a favorite for you. At least 345 themes are featured here of both free and premium varieties.

Extra: All-Encompassing Video Courses

If you like video training, Lynda has just about anything you could hope for, including WordPress. Prices are great at least than $30 a month.


**If you’re a fan of a track-based development course that covers the whole gamut of WordPress development, Team Treehouse has a course you’ll be interested in. It covers the basics like going over the Codex, getting a local development environment set up, theming and templating, Bootstrap, customizing the administration panel, and more. It really is an all-in-one course. Treehouse isn’t free, but for $25/month, you can consume as many courses of their as you like.

Great free training and lectures from key players in the WordPress community. If you miss various WordPress events, you might also find them here.


Udemy is good for more than programming courses. WordPress development and administration is on their menu, too, and prices are hard to beat.


**A great video library that you can browse on their site. Created by Shawn Hesketh, a 26-year freelance development guy, he’s made likely a literal ton of WordPress sites for his clients. His tutorials have helped over 100,000 people get into WordPress and build their own sites.

Dart: Java-Free Android Apps


Made by some folks from the Chrome V8 Javascript engine team, Dart tries to solve 20-year old frustrations of working with Java. A language created completely in house, it feels a lot like Python.

from ArsTechnica:

Being fast and responsive is one of the biggest goals for Sky. While 60FPS (or Hz) is the smoothness standard most devices and app developers aim for, the Dart team wants to crank that up to 120FPS, which isn’t even possible to display on the standard 60Hz smartphone screens we have today. That sounds rather improbable on Android, where many apps don’t stay at 60FPS, let alone 120. Rendering an app at 60FPS requires a frame to be drawn every 16ms, and apps “jank” or display an animation stutter, when they can’t keep up with the 16ms deadline.

I know the feeling. I’ve experienced it myself many times when I used to own an Android device. I also am a fan of the word “jank.”

The Dart team brought along a demo app, and it was rendering entire frames in 1.2ms. While it was a simple example, it appears Sky has plenty of headroom for silky-smooth animation on more complicated apps and makes that 120FPS goal (8ms rendering time) seem like a possibility. The Dart team says Sky is “Jank-free by design” with APIs that don’t block the main UI thread, meaning that even if the app slows down, the UI will still be fast and responsive.

Now that’s what I’m talking about. I’m not entirely sure why 120fps is necessary as they’re still struggling to get 60fps to run smooth. Baby steps, folks. Sure there’s nothing wrong with aiming high, but I’d hate to see this dropped because they never got to 120fps in real world use cases.

Read the rest of the article Dart on ArsTechnica or check out Dart for yourself.

Bulk Updating Any Meta Values in WordPress Posts Automatically


I updated the look of my site, today, and with that came a non-standard setup for featured images and the realization I’d have to manually update a lot of posts.

The theme requires custom meta be used for the featured image setting to determine how to display an image. As of this post, I have roughly 170 blog posts in the database that would need updating from the beginning of January until now. I definitely didn’t want to spend the next 60 minutes (170 posts * time to click) updating each post, so I did a bit of quick and dirty PHP coding.

Placing the code within the_loop() allowed it to run automatically for each post that was presented. Setting the per-page post count to 200, I effectively had all 170 posts pushed on screen at the same time. This subsequently updated all 170 posts at the same time. This of course put a little bit of a hit on my SQL database, but not so much that it bogged it down. I’m sure having 170 * 2 reads then writes all at once blew out a few of the cobwebs. Most of this site is cached pretty effectively so the database doesn’t do much.

Screenshot 2015-05-02 18.23.56

You’ll see in the image above where I made the updates. The first spike should have been the only one, but I entered the wrong value for one of the custom meta fields so I had to go back and do it again. The code has logic so if it was already correct, it skipped it, hence the smaller second peak.

If you’re curious, the above came from NewRelic, a service offering made by some pretty cool people. They’re free to use for the basic stuff and their customer service rocks. </shameless plug>

Anyway, without further delay, here’s the code that made this happen:

Pretty neat, eh? I know it’s nothing spectacular but it gets the job done, for sure.

Share this post with everyone you know who’s even just remotely interested in WordPress development. One could even bulk-update posts themselves with zero clicks or interaction necessary.

I feel like I did a great thing, today. Time for a beer.

Johnathan Lyman
Kenmore, WA,
United States
blogging, design, technology, software, development, gaming, photography