November 3, 2014

Over the last couple of weeks, we had some great questions submitted by two listeners. One wanted to know about how he could go about learning SVN better so that it is not as much of a hassle to update plugins he has hosted on, and the other listener wanted to hear about some of daily habits. What activities, schedules, habits, etc, have helped us to become more successful developers and to help us improve our businesses.

This episode was sponsored by WP Ninjas, the creators of Ninja Demo and the highly popular Ninja Forms plugin.


Show Notes:

Image credit: Vancouver Public Library

INTRO: Welcome to Apply Filters, the podcast all about WordPress development. Now here’s your hosts, Pippin Williamson and Brad Touesnard.

PIPPIN: Welcome back to Episode 29 of Apply Filters. Today we’re going to be covering some listener submitted questions, everything from deployment scripts to updating plugins on to just general work habits, things that we do throughout the day. And we want to start, as usual, by talking about some of the things that we’ve been working on recently. Before we do that, though, a quick shout out to our permanent sponsors once again, the guys behind Ninja Forms, WP Ninjas. Go check them out if you haven’t: Ninja Forms and Ninja Demo.

Brad, what have you been doing lately?

BRAD: Hey, man. We’ve been working away. We pushed out a free version of WP Migrate DB. That was on, gees, that was, yeah, just last week, towards the end of the week.

PIPPIN: You’ve had a free version for a while, so this is just a greatly improved free version?

BRAD: It’s not like — yeah, there was a lot of changes that we made, a lot of bug fixes and some very, very minor improvements, kind of all behind the scenes stuff, so we made it a point release, but it was a ton of work. We’ve just made a lot of really small changes. And, yeah, so we finally got that out, and then the pro version will be staggered. It’ll be coming out probably in a week’s time.

PIPPIN: Very cool.

BRAD: So we’ve got that coming up. And, on the help tab of that plugin, we never had a support form. We always just had the email address, and people would just email us through their email client or whatever they use for email. So we fixed that up and put an actual support form in there, so that’s pretty cool. And it automatically grabs their, like, the diagnostic info and error log from the plugin.

PIPPIN: That’s really handy.

BRAD: And attaches it to their request. It doesn’t do it, like, maliciously. There’s a checkbox you’ve got to check for it to do that, but it’ll be super handy because we always ask people. You know, they’d send us a request, and then we’d email them back and say, “Can you send us the diagnostics?”

PIPPIN: Right, so you’re just removing the need for that extra.

BRAD: Yeah, so we’re stepping — yeah, so taking out those steps, those extra back and forth. Those shouldn’t be necessary anymore, and it just makes it way easier for them to give us that stuff, checking the box, right?

PIPPIN: I’ve been meaning to do that for the EDD support form where we won’t necessarily require it, but just provide the form to submit that info when they open their initial ticket. Now ours inside of the WordPress admin, so they’re still going through the form on the website, but it would still get rid of that initial reply of, “Hey, could you send us your system info?”

BRAD: Yeah, exactly. And I think that it probably annoys people a little bit to have to do that extra step just to copy and paste into a text file and then attach that to the reply email. It’s a few steps that, if you can save them, it’ll —

PIPPIN: It makes it better for everyone.

BRAD: Yeah, it’ll be.

PIPPIN: It lets you resolve issues faster. They get their issues resolved faster. It’s less work for them. That’s awesome.

BRAD: Yeah.

PIPPIN: And are you doing that only in the pro version or the free one as well?

BRAD: Just the pro version. We don’t support; we don’t provide any kind of free support for the free version.


BRAD: You have to upgrade to get the email support.

PIPPIN: Yep, and that makes sense.

BRAD: Yeah. You can always use the .org support forms though to submit requests and stuff.

PIPPIN: Right.

BRAD: And so, yeah, the other thing with that was people would send us .rtf files, and Help Scout doesn’t open those, so we have to download them and then open them on our local machines.

PIPPIN: And that’s another step you just don’t want to have to have.

BRAD: Yeah, it’s going to save us a little bit of headaches too, so all good there.

PIPPIN: Definitely.

BRAD: Then another thing that was a little bit annoying was when we send out renewal emails, people have to copy a coupon code into the form when they renew to get their discount. Some people were forgetting, and so they’d email us, and then we’d have to refund them, and then they’d have to go through the whole thing again and actually put the code in this time. So it’s kind of annoying for them, annoying for us. It’s just annoying, so now when you click the link in the email, it will just apply the coupon code automatically.

PIPPIN: That’s a big improvement.

BRAD: Yeah. It’s the small things that add up, right?

PIPPIN: It really does.

BRAD: Yeah.

PIPPIN: Well, and to be honest, it’s probably going to make your renewal — not only does it make your renewal process easier, more reliable, but you’ll probably have more people actually do the renewal.

BRAD: Maybe.

PIPPIN: Because if you see someone — if someone goes through the renewal process, they get to the purchase screen, and then they realize the amount is not discounted, they may not have ever even seen the discount in the email, and they may just decide, eh, I don’t want to do it.

BRAD: Absolutely, yeah. There’s no question. Yeah, so hopefully that helps things out for everybody. But, yeah, what have you been up to, man?

PIPPIN: Well, the last week has been a little crazy because our new baby showed up eight days ago.

BRAD: Yeah! Congratulations!

PIPPIN: Thanks, so that’s been fun. It’s been fun getting to know her and getting back on schedule with some things. But she’s doing really well. The wife is doing really good, and our two-year-old is really enjoying the new baby too, so that’s fun.

BRAD: So that’s been a week now?

PIPPIN: It’s been about eight days, yeah.

BRAD: Eight days. Nice. I’m ahead of you by, I don’t know, three or four weeks.

PIPPIN: Yeah, you’re probably a little bit more back on schedule than we are.

BRAD: Yeah, maybe. I don’t know about that. Everyone has got a little bit of a cold, so sleeping isn’t so easy these days.

PIPPIN: Oh, that’s a little rough. Beyond that, on the work side of things, I’ve been fighting an issue in EDD for the last — it’s been about three weeks ago that it was first reported, and I’ve spent about the last week kind of debugging and tracking it down. It’s a really strange issue. Basically, if you have a custom query on the homepage, and that query includes pagination, so maybe you’re showing recent portfolio items or recent products, or recent block posts in a custom query that’s paginated, and if you have your homepage set to a static page, it turns out that EDD breaks the pagination that’s on that screen, which is not really desirable.

It turns out that it’s doing it for a really strange reason. For anybody who is really interested in looking at what the actual issue was, I’ll link the issue in the show notes, but basically I think I finally tracked it down and discovered that there’s a bug in WordPress Core. Basically, if you call is_page during the template redirect action, for some strange reason the queried object isn’t yet present. So, on the homepage, if you call is_page, and if you have pagination, so for example you’re trying to go to to go to the second page of your query, it will actually end up triggering a canonical redirect that makes it go back to just the plain homepage URL with no pagination parameter, which is really strange. I spent about a week trying to track it down and get it mostly fixed, but it was odd, so it was kind of an interesting issue.

BRAD: And you were able to reproduce this locally in your local dev environment?

PIPPIN: Yep. Yeah, so the first time it was reported, I actually didn’t think it was an EDD bug at all. I couldn’t reproduce it. Then I managed to figure out what you had to do to reproduce it, and now I can make it happen every time, so there’s definitely an issue in there somewhere.

BRAD: Crazy.

PIPPIN: Yep, it’s weird. But I have to go in and put some filters on the canonical redirect and on template redirect and pre_get_post. It’s like a three-step process to fix it.

BRAD: Yeah.

PIPPIN: It’s very strange.

BRAD: I’ve always found the pagination stuff in the functions in the WordPress to be a little strange. I think they could probably use some love.

PIPPIN: Yeah, they’re always a little weird, especially — they’re okay as long as you don’t have pretty permalinks. The moment you put in pretty permalinks and rewrites, things get a little bit more complicated.

BRAD: Oh, yeah. Yeah, that’s right.

PIPPIN: But aside from spending an obnoxious amount of time tracking that down, I’ve been working on Affiliate WP 1.4, which we’re hoping to push out some time this week, probably either tomorrow or Thursday.

BRAD: Cool. What are the headlining features in that?

PIPPIN: There’s not a whole lot that’s new in it. We’ve done some bug fixes, a couple of main bugs with, like, there was a paid memberships pro bug that we fixed, some silly things with, like, pagination in the admin. If you go to the referrals tab, and it’s listing all the different referral commissions, if you sorted that by a specific affiliate, then the pagination didn’t reflect that change, so it would still be showing the pagination for all referrals. Got things like that fixed.

Introduced a new option to exclude sales tax from referral calculations, that’s a big one that people have been asking for, for a while, which just makes sense. If you have $100 sale and $10 of that is sales tax, the referral gets calculated on $90 instead of $100. A couple other little bugs, but nothing too major.

BRAD: Right. Do you do point releases even if there’s no features, no new features in it, or is it like a major version release?

PIPPIN: In this case, we’re doing, I guess I would call it, a major version, so going from 1.32 to 1.4. And, in this case, it would be a major — we’re adding the new feature of the taxes exclusion option.

BRAD: I see.

PIPPIN: Otherwise, if we didn’t have that, we’d probably do 1.33.

BRAD: Gotcha. Cool. So you’re just going up point-ones. You’re not going to wait to do two. You kind of use the WordPress —


BRAD: — way of doing it. Yeah. Cool.

PIPPIN: Yep. That’s pretty much what’s been keeping me busy for the last few weeks.

BRAD: Cool.

PIPPIN: The baby took up quite a bit of time.

BRAD: [Laughter] As they do.

PIPPIN: Yep. We’ve got two listeners submitted a series of questions for us: Chris Kindred and Ben Pearson. Brad, why don’t you take us through some of what Chris was asking about?

BRAD: Sure. Yeah. I’m just going to read it out what he wrote. This is an excerpt. He had a little bit more, but we cut it down a little bit to save a little time.

He says, “Every time I update my plugin, I end up having to go over to How do you use SVN to update your plugin page and spending ten minutes learning it again? I only have one plugin on WordPress repo and it is pretty new, so I haven’t been able to work with SVN much. Do either of you use a GUI or have any suggestions that might make SVN easier? It should the easiest part of updating a plugin, yet the part that I dred each time. Thanks again. If you ever end up in Crested Butte, Colorado, snowboarding, instead of heading to the east coast, I’ll buy you a few beers.”

Sweet! That sounds like something you might want to take advantage of, Pippin.

PIPPIN: Yeah, sounds like a few beers might be in order, especially if there’s snowboarding involved. Well, there are a few things that I would tell Chris. Number one, don’t worry about having to go back to the documentation over and over again. That just means that you’re learning it, and you’re working on committing it to memory.

Personal confession: It took me nearly two years to remember how to update a plugin on .org from memory instead of using the doc. So, for nearly two years, I referenced the SVN doc every single time that I updated a plugin or committed a new plugin. So I don’t think there’s any; there’s no shame in having to go back to a doc on that, especially if SVN isn’t something you use every single day.

BRAD: Mm-hmm.

PIPPIN: Brad, do you have any similar experience?

BRAD: Well, yeah. I mean, there’s definitely, like when you’re talking about command line stuff, I’m constantly checking man doc pages because I’m not in the command line all the time, so I don’t really know it, know every command and every argument that there is out there. And I don’t actually know anyone who is like that. That is some Master Jedi stuff, right?

PIPPIN: Definitely. There are always going to be people that know more than others, but there are thousands and thousands and thousands of commands.

BRAD: Yeah.

PIPPIN: And so the ones that you commit to memory are the ones that you use all the time.

BRAD: Yes.

PIPPIN: If you’re not using them every single day, don’t feel bad about them not sticking.

BRAD: Yeah. That being said, I knew SVN before I even got into WordPress, so I had a little bit.

PIPPIN: You have a bit of an advantage.

BRAD: In this particular area, yeah, I was.

PIPPIN: Sure, yeah.

BRAD: I kind of cheated.

PIPPIN: I think I was more like Chris here in that I was learning SVN through necessity of trying to put my plugins on .org.

BRAD: Right.

PIPPIN: For that, honestly, it was just do it enough times and eventually it’ll stick.

BRAD: Yeah.

PIPPIN: Maybe like work on committing the first command to memory: SVN_update, SVN_ci, et cetera. Just keep it really, really simple. Don’t try to remember everything. You remember one command, then you remember the next command, et cetera.

BRAD: Yeah. The other thing, I think, is you can script this stuff right? You can create a little script that will deploy your plugin.

PIPPIN: Or take one from someone else who has written one for you.

BRAD: Exactly, exactly. I’ve got one out there. I think we already talked about it on the show before.

PIPPIN: Yeah, I think it was in the show notes of a couple episodes ago.

BRAD: Yeah, so the script that I wrote does a build of the plugin and then deploys it to and to GitHub as well, if you want. Yeah, that’s what I would do. I’d script, script a lot of things. I also used to have a little notepad document that had common commands that I would use because I’d always forget them. The one that I used probably, that I had to keep going back for often, was the MySQL_dump command because there were certain arguments.

PIPPIN: I still have to reference the docs on those.

BRAD: Yeah. Well, there’s one thing that you have to put in there oftentimes to force it, UTF8, because if you don’t do that, sometimes you end up with squiggly characters.

PIPPIN: Right.

BRAD: I could never remember how to write that out, so I was always having to copy and paste it.

PIPPIN: Another thing that Chris mentioned here, he was asking if either of us have a GUI that we use to help make SVN easier, and there are a couple things I’d like to say on that. Number one; there are a couple of GUIs that work really, really well. If you’re on Windows, TortoiseSVN is awesome. I used Tortoise for about two years. Tortoise also has a Git version, so it’s TortoiseGit and TortoiseSVN. If you’re on a Mac, Versions is really great, as well as one called Tower. They’re all awesome.

But I think, if you really want to learn SVN, and you really want to know what you’re doing, I’d really encourage you to stick with the command line simply because typing out the commands is what is really going to make you commit it to memory. Instead of going to a menu and saying, “update” or something like that, or “tag release,” you’re actually running the individual commands that are triggering the update process or committing these changes, and it helps you get a better understanding of what exactly is happening.

BRAD: Absolutely, yeah.

PIPPIN: Now, if you find you like GUIs better, by all means use them. But I think if you want to learn it, use a command line, at least until you know what’s going on.

BRAD: Here’s what I’ve found is that people come to me, and they’re having trouble with SVN or Git, and they’re using TortoiseSVN or some GUI. They’ve gotten themselves into trouble, and they just really don’t know how to get out of it because they don’t have an understanding of the underlying things that are happening when they’re clicking buttons in the GUI. And so they don’t actually even know what they’ve done and how they’ve gotten there.


BRAD: And so it’s really difficult to get yourself out of these situations when you have no clue what the underlying things that are happening are.

PIPPIN: Yeah, and by forcing yourself to work in a command line, those are the kinds of things that you’re going to learn what’s going on and will learn how to get out of.

BRAD: Yeah. Sounds like, for this situation, he just wants to get — he just wants to ignore SVN if possible, right?

PIPPIN: In that case, find a script. If you just search Google for deploy script, there’s a bunch of different ones. Brad has one. Mark Jaquith has one. Paul Clark has one. There are at least five or six different versions that are readily available that allows you to type one command into the command line, and it does everything for you, and it’s awesome.

BRAD: Mine actually came or originally I was using Scribu.


BRAD: What’s his name: Cristi?

PIPPIN: Cristi.

BRAD: Cristi Burca or something?

PIPPIN: Something like that.

BRAD: Yeah. I was using his. He’s an awesome builder. He started WP-CLI as well, and he’s got all these command line scripts for deploying WordPress plugins, so check those out as well. That’s how I got started with my script.

PIPPIN: Yeah, so I think that’s the main piece of advice is that if you don’t want to learn SVN because you don’t need to, just get a script for it.

BRAD: Yeah.

PIPPIN: But if you want to learn it, use the command line until you know what’s going on, and then use a GUI or command line or whatever method you like best.

BRAD: For sure. Cool. Got another question here from Ben Pearson. Do you want to take that one, Pippin?

PIPPIN: Sure. Ben had a couple of questions all around daily routines and work habits. He specifically asked, “I’d be interested to hear an episode about your daily routines and habits for effective development. For example, do you have any tips that you can share about the way you work? Do you have particular times of the day that you allocate for WordPress development, support, marketing, et cetera, exercise habits, sleep hours, distractions, minimizing distractions from notifications, project management, et cetera.”

These were a few things that I would really like to hit on because I think they’re questions that people tend to have a lot. Especially if somebody is working on getting started, they’re looking at people who are established or businesses that are successful. And they’re thinking, let me look at what they do so that I can see if I can better improve my habits or better improve the things that I’m doing. Brad, do you want to start off by telling us what’s maybe one thing from this list, whether it’s when you choose to work on development, support, et cetera, when you exercise, how much you sleep, any of those things that you have found —

BRAD: Sure.

PIPPIN: — that has helped you with your business?

BRAD: Well, let’s just go through the list in order here.


BRAD: Start with the tips. We can share about the way we work. The first thing he asks is do we have any particular times of the day that we allocate for WordPress development, support, marketing, business development, learning, social media, phone calls, planning ahead, et cetera.

The way I have recently reorganized my day is that I find that I work really well in the morning until about noon. In the past, what I used to do is used to tackle email, right, because those are the easy things to tackle because your inbox is full of unread messages, and you should read them, right? I don’t think that’s true. I don’t think that is the best way to work.

If you’re the most productive in that time before lunch, maybe glance at your emails to see if there are any that are super urgent and deal with them. But all the others, ignore them, and do some coding or whatever else that you’re going to get the most.

PIPPIN: Whatever your most challenging task of the day is.

BRAD: Yeah, exactly, whatever your most challenging thing, that’s what I do now.

PIPPIN: I found that to be absolutely true. Brian Castle just wrote a blog post about that too, and that’s one of the big things that he mentioned is that if you want to be successful, and one of the things that you can help make yourself more successful, is get up in the morning and do your hardest work in the morning.

I’m just like you, Brad. I had the habit of, I would try to tackle email and support first thing in the morning because I had the mentality of, well, if I get that done, then I have the rest of the day to work on everything else.

BRAD: Mm-hmm.

PIPPIN: But what would usually happen is I would work on it all morning. I’d get to lunchtime. I’d take a break. I’d come back, and I would still have more because, guess what, it just keeps flowing in.

BRAD: Yeah.

PIPPIN: And I would never actually get to my main development work or the challenging work that I needed to do.

BRAD: Yeah, exactly.

PIPPIN: But if I put it off, and I do the hard work in the morning, which is what I did this morning, I spent three hours working on Affiliate WP 1.4, and I got a lot done. Now, the rest of the afternoon, I’m probably going to do support and emails and other general tasks.

BRAD: Yeah. Yeah, I mean, I’ve found that it’s not always possible because I have people that need me to do things so that they can do their work, so sometimes I have to do that, whatever it is, so that they can continue their work.

PIPPIN: I’ve found that —

BRAD: Go ahead.

PIPPIN: — for things like phone calls, meetings, or things like that, I like to have those in the afternoon as opposed to the morning. The afternoon is usually a little slower for me, a little sleepier, and it’s not that a phone call doesn’t take attention or take focus, but it’s not the same as trying to solve a logic bug.

BRAD: Yeah. Yeah, and I think creative energy is another thing that I’ve become very kind of aware of is that I find I’m most creative probably in that space as well during the morning.

PIPPIN: Yeah, definitely.

BRAD: It’s where probably the creative thinking. Well, and I guess that’s the same thing, really, we’re talking about because, when you’re problem solving, you’re trying to come up with a creative solution, right?


BRAD: So it’s a very similar thing.

PIPPIN: I’m sure you’re the same way, and I know a lot of people are, is that you actually think a lot at night. Maybe it’s, you’re thinking while you’re going to bed about a problem, or you’re thinking about it if you woke up in the middle of the night, or even while you’re dreaming. But if you use, like, think of that time as — it’s a weird kind of like focus time when you’re sleeping.

But like, for example, last night I went to bed, and I was thinking about all these different things that I needed to do for Affiliate WP 1.4. They were fresh in my mind while I was going to bed, and then when I woke up. And so I immediately tackled it. If I had waited six hours, they wouldn’t have been fresh.

BRAD: Right.

PIPPIN: What about exercising?

BRAD: It’s funny. I find the hardest thing is to find the time. That’s what people say, “I can’t find the time to exercise.” What I have done, and I kind of felt the same way. I can’t spend an hour doing exercise every single day.


BRAD: That seems like a lot out of your day. What I do is I do about 20 minutes of high intensity training. It’s called HITT. And it’s kind of like the — there are a lot of them out there. There’s P90X or whatever. They’re just, for those 20 minutes, you’re basically just hammering it, right?


BRAD: Instead of the other way of working out, which you see people at the gym where they’re like they hit the weights, and then they’re walking around for ten minutes, you know.

PIPPIN: Taking up a lot of time.

BRAD: Yeah, yeah, so that’s what I do, and I find it’s really good because it gets your heart rate up, which is really important because, if you don’t get your heart rate up, there’s a whole lot of chemical benefits to getting your heart rate up, so I try to do that. What do you do? Do you take a walk?

PIPPIN: I’ve got a few things. Number one; I think you have to decide, when you’re figuring out what you’re going to do excise-wise, what are your goals? Are you just trying to stay healthy and stay in shape? Are you trying to get really fit? Are you training for marathons? It’s going to change depending on what you’re trying to do.

For me, I just want to be healthy, and I want to be reasonably fit. And so a couple things: number one is just like there’s nothing wrong with taking 30 seconds to do 20 pushups a couple times a day, or 50 sit-ups, or something like that. I take my dog on a walk two or three times every single day, and we go for between a half-mile and a mile. And not only does that just help me stay active, it’s also kind of my mental break time and my thinking time. If I have a problem I’m working on, I take the dog. I go for a walk, and I try to kind of work through it not in front of the screen.

BRAD: Right.

PIPPIN: Then the other thing is my day-to-day work habits, by using a standing desk help a ton.

BRAD: Oh, yeah. I’m standing up right now while we’re recording.

PIPPIN: I actually sat down at the start of this episode, but I was standing for a while before that.

BRAD: We’re seesawing here.

PIPPIN: Yeah. But just standing for a large portion of the day, and by large I really mean like half of the day, so I will go an hour sitting, an hour standing, an hour sitting, an hour standing. That alone makes me feel so much healthier than just if I was sitting every day and then exercising in the evening.

BRAD: Yeah. I mean I used to sit like for half the day and then stand for half the day, and then I realized, whoa, what am I doing here? I’ve got to start switching this out more often.

PIPPIN: Right.

BRAD: That’s what I do now too about every hour or just more often. I don’t have a set schedule or anything.

PIPPIN: No. I usually do it after I’m like, hmm, I’ve been sitting for a while. Okay. I’ll stand up.

BRAD: Yeah.

PIPPIN: Then if I get tired or my back hurts or something like that, then I’ll sit back down.

BRAD: Yeah. Sitting for —

PIPPIN: Not good for you.

BRAD: I used to sit for eight, nine hours a day. I never even thought twice about it. I think it’s made a huge difference for me personally.


BRAD: Just sitting on your hamstrings is so bad for your legs too in terms of flexibility and stuff.

PIPPIN: My legs used to get really, really sore just from sitting.

BRAD: Yeah. Yeah. The other thing I do, I guess it’s not really exercise per se, but sports. I play ultimate Frisbee. I practice with a club and I go to tournaments with them on weekends, so we travel around with this team and have shenanigans. Then, in winter, I play just rec league hockey.

PIPPIN: Nice. I bet those are —

BRAD: These are team sports, right? I think the important thing there is the camaraderie that you have with your teammates.

PIPPIN: Absolutely. You’re not doing it by yourself.

BRAD: Yeah, it’s super important, especially for, like, me. The only people I socialize with is my wife and kids, right?

PIPPIN: I think there’s probably another thing in there. There’s probably another thing in there that’s really important, and I know, Brad, we’ve talked about this before. But those events are scheduled.

BRAD: Yes.

PIPPIN: They are part of your weekly schedule. When it comes to exercise or doing things like just being active or getting away from work, if you can schedule them and just make it a part of your routine, it won’t become a matter of, oh, I don’t have time for this. It’s just natural.

BRAD: Especially with team sports because you can’t just put off a practice when you’re playing with a team or a game.

PIPPIN: Right, because people are depending on you.

BRAD: Those people are depending on you. I think you become more accountable to doing, to committing to those things and sticking with them, right?

PIPPIN: Definitely.

BRAD: Yeah. What about sleep? How much sleep do you get every night?

PIPPIN: I used to not sleep at all.

BRAD: [Laughter] Gees!

PIPPIN: Like two, three years ago when I was really kind of getting things ramped up a bit, I had the mentality of, look, I want to do this. I’m going to push. I’m going to keep pushing, and we’re going to go for 18 hours a day. We’ll sleep four hours a night. We’ll get up early in the morning. We’ll go to bed late at night.

BRAD: [Laughter]

PIPPIN: It kind of worked. But you know what I found? I managed to double, triple, and quadruple the size of the business by sleeping eight hours a night.

BRAD: Oh, yeah, yeah, right.

PIPPIN: The more I slept — now, not like, not the more I slept, but by forcing myself to actually sleep a healthy amount every night, ignoring things like babies waking you up and stuff like that, but having a general sleep schedule of 8 hours a night, everything did better, much better than when I was pushing through 18 hours a day.

BRAD: Yeah. Well, I think you start to see the forest for the trees.


BRAD: There’s lots of literature that says exactly what you’re saying that it’s better to sleep eight hours a night than four.


BRAD: You’ll be further ahead.

PIPPIN: I get more done in the 8 to 10 hours a day that I work now than I did when I worked 18 to 20 hours a day.

BRAD: Right, because it’s quality of work, not necessarily quantity, right?

PIPPIN: Exactly.

BRAD: Yeah.

PIPPIN: Absolutely.

BRAD: Yeah, exactly.

PIPPIN: Have you found the same thing?

BRAD: I’ve always pretty much — yeah, I’ve never been big on, like, all-nighters and all that. Even in college, I was like, eh, I’ll take a drop in letter grade. That’s fine.

PIPPIN: [Laughter]

BRAD: [Laughter] I don’t care. Yeah, I kind of — I don’t know if I just kind of knew that it wasn’t going to make a difference or not.


BRAD: That’s what I felt. If I stayed up all night studying, the next day I’d be useless at the exam, so what was the point? I just said, you know what? I ran out of time. Here I am. This is where —

PIPPIN: This is what I’ve got for you.

BRAD: This is it. Yeah, that’s always kind of been my philosophy. That’s not to say when I was younger, when I was starting to program, and I was just loving programming, I pulled. I’d be up until 5:00 a.m. just coding just because I’d get in the zone.

PIPPIN: Yeah, but that’s not because you’re trying to push through. That’s because you’re just intensely focused and interested on what you’re doing.

BRAD: Yeah.

PIPPIN: That’s very different.

BRAD: I was just playing, right?


BRAD: It was just playtime.

PIPPIN: That still happens to me where I’ll be focused on something, I’ll be playing around with something new, and all of a sudden I realize, oh, it’s midnight, it’s 2:00 in the morning, or something like that.

BRAD: Yeah.

PIPPIN: And it’s just because I was really focused and interested in what I was doing.

BRAD: Yeah. I mean, you’ve probably got a flexible enough schedule that you could sleep in if you wanted to get your full night sleep in those situations too, right?

PIPPIN: Sure. Yeah. Though I found that I really hate to do that because one of the things that’s really helped me is to start working at the same time every day.

BRAD: Yeah.

PIPPIN: Or close to it. I start between 8:30 and 9:00 every single day.

BRAD: Right.

PIPPIN: I never start at 10:00. If I start at 10:00, then my day is gone.

BRAD: Yeah. I mean there’s got to be — there’s like a little bit of a culture of staying up, pulling, you know, staying up all night and then sleeping during the day in the programming world, right?

PIPPIN: Absolutely.

BRAD: But there’s a lot of evidence to suggest that’s terrible for you because of daylight actually changes your —

PIPPIN: Here’s a really good … related to that.

BRAD: Yeah.

PIPPIN: I’d have to look it up to find the actual study, but someone did a study on the overall intelligence, IQs, and the number of brain cells of flight attendants and pilots.

BRAD: Oh, yeah?

PIPPIN: They have really strange hours because they’re always flying over time zones, time changes, et cetera.

BRAD: Yep.

PIPPIN: It turns out that, on average, flight attendants, pilots, and people that have those kinds of hours actually dramatically lower their IQ over time just by doing those strange hours.

BRAD: Bartenders.

PIPPIN: I’m sure bartenders are the same way. Anybody that works in a job that has those really weird, non-consistent hours.

BRAD: Yeah. Gees. They should get paid more, man.

PIPPIN: They should, absolutely.

BRAD: Because it’s a hazard of the job, right?


BRAD: That’s just the hours they need to work.

PIPPIN: All right, so what about one of the things that Ben wanted to know, any tips for working with young families or finding a family/work balance? We’re both actually in this same situation right now. Brad, you have two little ones. I have two little ones.

BRAD: Yep.

PIPPIN: How do you find a balance for that?

BRAD: I’m just flexible, really. When my son was born, our first, it was our first child. What I did, basically, is I would stay up, basically did exactly what I shouldn’t have been doing, and I was staying up late into the night, 3:00 a.m.-ish, so that my wife could sleep during that time. Then I’d go to bed, and then she would get up when the baby would cry and need to be tended to.

That actually kind of worked, right, because the alternative was we both didn’t get any sleep, right? I think there’s going to be — it’s not going to be an ideal scenario when you have a baby that’s getting up five times in a night, right? You kind of just try to figure it out and do the best you can, and that’s what we ended up doing, and it worked out pretty good. What about you?

PIPPIN: Nice. I guess I didn’t really do that. My wife and I have always had a pretty similar sleep schedule in terms of we would both go to bed, and we didn’t try to offset it. It was a huge advantage for me just the fact that my wife stayed at home. She works part time as a dance teacher, so what we would normally do is we’d get up in the morning.

She would sleep in about two hours longer than I would, and I would get as much done as I could in the morning and early afternoon. Then, when she would go to work in the afternoons, then that’s when I would take a break, and I would take care of the kids. Then when she came back, then I would go back to work for a couple of hours, and that’s what we did for about two years. Now we actually haven’t really figured out what our new schedule is with the new baby yet because we’re only a week in.

BRAD: [Laughter] Right. I could tell you what we do now.

PIPPIN: How did it change? The same thing as the previous one?

BRAD: We basically said, okay, the baby is yours. My wife does breastfeeding, so she has to get up in the night anyways. Right now is like, okay, if the baby needs to be tended to at night, it’s your job. Your job, and you can sleep in. She’s on maternity leave, so she can sleep in all day if she wants to, right, if she doesn’t get any sleep during the night. That’s, basically that kid is her responsibility, and my responsibility is our 2.5-year-old. We kind of just said: one kid is with you and one’s mine. It’s been working out okay. I get — it’s not ideal. My son has a cough right now, so I’m getting up, like, three times, four times a night anyways with him.

PIPPIN: Right.

BRAD: Yeah, it’s still challenging.

PIPPIN: I think one of the things that I definitely learned some time last year was that if your 1.5-year-old or your 2-year-old wants something, it’s okay to take a break. Go spend five minutes with him. Go spend ten minutes with him, during the day, during the normal workday. Especially since we work from home, we have that privilege of being able to go spend a little bit of time with them, and that’s awesome, and so take advantage of it. I used to think that, oh, I’m going to lock myself in the office for the next eight hours, and then I’ll come back.

BRAD: Yeah.

PIPPIN: I do that sometimes, but I really like being around him, and there’s nothing wrong with having five minutes of distractions, or ten minutes, or taking a few minutes to go on a walk with him or go play in the backyard. It makes you a healthy human being.

BRAD: Yep. No, for sure. I think getting away from the computer screen probably helps your brain kind of reset too.

PIPPIN: Absolutely. Now that being said, it’s really valuable to also acknowledge that sometimes you have to get rid of distractions. On those days, I go to the coffee shop, and I plug my headphones in, and then I’m there for five hours or so without a distraction from a toddler running up and playing on my desk.

BRAD: Right, yeah. I mean, yeah, sometimes you just have to buckle down and get some work done, right?

PIPPIN: Yeah, you have to find that balance. You have to work it out as a family. For us, we figured out that basically if I have to go to the office and work, if I close my door, it means I’m working.

BRAD: Yeah.

PIPPIN: In general, don’t ask me to come down and do the dishes.

BRAD: Right.

PIPPIN: I’ll happily do them later in the evening, but right now I’m working, and it’s so that I can not work in the evening.

BRAD: Do you have trouble getting to sleep some nights? Is that an issue for you yet?

PIPPIN: Some nights. It depends on the day. If I have a bad day or we have an issue that I’m having trouble working through an issue, whether it’s a bug or we’re having a problematic customer or something like that, then I absolutely do.

BRAD: Yeah. It’s funny. I just said yet, as if it’s going to — if there’s an age where it’s —

PIPPIN: Oh, I’m sure it’ll happen. My family, historically, has issues. My dad doesn’t sleep hardly at all. He gets up at 4:00 every morning.

BRAD: Right.

PIPPIN: He wakes up and he just can’t sleep any more.

BRAD: I know.

PIPPIN: I’m sure it’ll happen.

BRAD: I know it does happen to, like, yeah, my in-laws have that problem, and my parents are also complaining about that too. That’s weird and scary. I hope there’s a cure for that before I get that age. Yeah. I started reading fiction before bed is what I found actually helps me.

PIPPIN: I like that you said because something I’ve been thinking about recently. I want to give a small shout out to Curtis McHale. One of the things that he said recently that he has done to help dramatically improve his business and increase their business’ revenue is he stopped watching TV in the evening, and he started reading, like, workbooks and business books and stuff like that. I think that’s awesome.

But I want to counter it and say that I think there’s a lot of truth to that, but I think there’s also a lot of truth in completely disconnecting for three or four hours of the day. If that means you’re sitting in front of the TV watching soap operas, that’s fine. If you’re reading fiction, that’s fine. Whatever you’re doing, that for me, like, discovering that in the last year and a half has been one of the most valuable things I think I’ve found is that it’s okay to quit for three hours and don’t even think about the business.

BRAD: Right. It’s almost like intentional distraction.


BRAD: Distract your brain from thinking about business because I used to try, like I was trying to read business stuff before bed, and oh, man, that was like drinking — I might as well have just bounded a thing of vodka.

PIPPIN: Yeah, because it gets your brain going.

BRAD: Oh, man, does it ever! Like, just sparking, right?

PIPPIN: I don’t know if vodka gets your brain going, but maybe a pot of coffee.

BRAD: Yeah, okay, caffeine. Yeah, well, apparently alcohol is terrible before bed too, but anyway.

PIPPIN: It depends on how much you drink … if you pass out.

BRAD: Yeah, maybe if you eat some turkey and have some wine.

PIPPIN: Probably not very good for you though.

BRAD: Yeah. Have you minimized distractions? That was another thing that Ben brought up here, minimizing distractions. Is that something that you’ve — I know you talked a bit about that when you went to Canada to visit your sister, wasn’t it?

PIPPIN: Yes. There are times I have and other times I haven’t. I think one of the things that people bring up a lot when they talk about minimizing distractions is closing Facebook, closing Twitter, closing your email, things like that. I’ll be perfectly honest. I leave Twitter and my email open 24 hours a day. It is always on my screen. I never close it. But there are certain times when I will close it. I’m like, wow, I got a lot done suddenly.

But for me, general distractions are more of avoiding a lot of the little things that are not necessarily important. Those could be if you’re writing plugins. If it’s a little plugin that needs a little fix, it’s okay to leave it for a few months.

BRAD: Mm-hmm.

PIPPIN: If you have a little task that you’ve just been needing to do, it’s okay to leave it, and prioritize.

BRAD: Do you have a to-do list that you kind of–?

PIPPIN: I say, “Screw to-do lists.”

BRAD: Okay.

PIPPIN: I hate them. There’s nothing that’s distracted me more than a big to-do list. For me, my to-do list is my Google calendar, and I’ll put three main items for each day that I need to do.

BRAD: Yep.

PIPPIN: To me, that’s basically like, hey, this bug needs to be fixed for this customer, so let’s make sure that it happens. But I’ve never had a to-do list. I mean, I’ve tried, but I’ve never had them be successful because they’re always a distraction, and they just keep building up and building up and building up and building up.

BRAD: No, I think — I mean, essentially what you’re doing with your Google calendar is a to-do list. I call that a to-do list.


BRAD: Setting it each day, these is the things that you want to get done today. Then that allows you to — when a pull request comes in for one of your plugins, then you just say, “You know what? That’s not today.”

PIPPIN: Right. I say it’s not today, and I don’t even worry about noting it down. I don’t create a to-do list for the next month in advance.

BRAD: Right.

PIPPIN: Ever. I create it for today and tomorrow, basically.

BRAD: Mm-hmm.

PIPPIN: And it’s okay to have things sit around for a bit. There’s nothing wrong with that. But I think, if you create a to-do list, and you have the entire month planned out, that’s going to be a burden, and you’re going to have a really hard time working through that.

BRAD: Right.

PIPPIN: Because it’s going to be like, you have the never-ending to-do list. Yeah, everyone has a never-ending to-do list. That doesn’t mean you need to be staring at it.

BRAD: Yeah. Basically, what I do, I have a bunch of to-do lists, but I have only got a very small one is the one that I actually look at all the time.


BRAD: All the other ones are, you know, GitHub issues over here, and GitHub issues over there. Right?

PIPPIN: Right.

BRAD: Those are all to-do lists.

PIPPIN: It’s a to-do list, but it’s not a do this now list.

BRAD: Exactly, exactly.

PIPPIN: It’s a, hey, let’s make sure this is logged so that when we come back or if this comes up again, we know that it was recorded somewhere.

BRAD: Yeah. Have you ever heard of getting things done, GTD?

PIPPIN: It sounds familiar.

BRAD: It’s like a technique. There’s a book by Paul Alan, and I don’t even think I read the book. I just read so many articles that were about the book.

PIPPIN: Sure, references.

BRAD: Or some spin on the book, yeah, that I feel like I got the gist of it. Basically, though, one of the facets is when a task comes in to your in box, you add it. If you can take care of it in a couple minutes, then you do it. You take care of it because it’ll take you longer to put that on a list somewhere than just to take care of it.


BRAD: Then if it needs attention later, then you add it to the appropriate list. If it needs attention way in the future, then you add it to that list. That’s kind of the basics of it. I probably butchered this thing because I never actually read the book.

PIPPIN: No, that sounds very close.

BRAD: That’s basically what I do. That’s basically the steps that I take.

PIPPIN: Yep, I find the same thing. I do that day-to-day in customer support. If a customer reports a bug and I’m reading it, and I realize, oh, that’s definitely a bug and I can fix it right now, I will fix it immediately because I know it’ll be faster for me to fix it now than to log it and then to later look it up, reread their ticket, reinvestigate, and try to remember what I was thinking at the time.

BRAD: Right.

PIPPIN: And so I’ll fix it immediately. Then, sometimes I’ll fix it, and then I will create an issue to log it just so I know there was a history behind why that command was made.

BRAD: Hmm. Another thing that I have found that’s really helped me out is notifications. You know, like when email comes in, there’s a ding.


BRAD: Then your phone buzzes, and then when someone mentions you on Twitter, an alert comes up. It’s just there’s way too many notifications, right, because every app now wants to notify you, wants your attention. I just, all across the board, they’re all done, so I get no notifications, so I check my email if I want to know if there’s something new in there.


BRAD: And I check Twitter if I want to see if there’s something in there. I get a notification when someone text messages me and direct messages me through Twitter, and that’s it. That’s the only time I get an alert. I just see people using their computer or using a phone, and they’re just getting bombarded with messages all the time, and I’m just like, “How do you operate like that?” It would drive me insane.

PIPPIN: I’m definitely cutting down on the number of notifications I get just for that exact same reason.

BRAD: Yeah.

PIPPIN: I still have a few that come in.

BRAD: It’s liberating, man. It feels so good.

PIPPIN: Yeah, I still have a few that come in. If I’m on my desktop, I get Twitter notifications. But if I’m on my phone, my iPad, or my laptop, I don’t get any.

BRAD: Right.

PIPPIN: Mostly because they don’t actually work on my phone, which is strange. Twitter just decided that it could no longer send notifications to my phone two years ago, and I decided it was a blessing.

BRAD: [Laughter] That’s weird.

PIPPIN: I just went with it.

BRAD: Yeah.

PIPPIN: Yeah. Even though I’ve updated my phone, literally upgraded the phone to a different device three times since then, they still don’t work.

BRAD: That is really weird.

PIPPIN: But I decided it was a good thing.

BRAD: Yeah. Huh. Huh, interesting. Yeah, so I find that, for me, when I get a notification or, before I implemented this, I was getting a lot of notifications. I just felt like anxiety all the time because I felt like I was constantly connected and just being, basically being shot in the face with a fire hose all the time. That’s kind of what it felt like. Not quite so dramatic, but on a smaller scale.

PIPPIN: It’s interrupting your flow. It’s changing your attention for a moment.

BRAD: Yeah.

PIPPIN: Yeah, absolutely.

BRAD: I remember at one point I had, like, just was on Windows, and I had this — I’d installed this Digg, you know, and Digg was awesome.


BRAD: This Digg thing, and any time an article would hit the top, it would notify me.

PIPPIN: That sounds like a terrible idea.

BRAD: I was just getting these notifications constantly of these articles that weren’t important at all. Do you listen to the news? Is that something you do?

PIPPIN: No. I only listen to the news if I’m driving in my car.

BRAD: Right, yeah.

PIPPIN: The same thing, I actually — I don’t listen to podcasts either at work. I will listen to them in the car.

BRAD: Right.

PIPPIN: Because they’re a distraction while I’m working. Actually, I have a really hard time listening to a podcast and working at the same time.

BRAD: Yeah. I can’t listen to any talk radio at all.

PIPPIN: I listen to music all day long, but I cannot listen to — I can’t listen to a conversation.

BRAD: Yeah, the same here. It doesn’t work. In fact, I find I work better if I listen to music that I’m very familiar with.

PIPPIN: Oh, yeah. I actually have — I will, every month or so, I will transition to a new album or a set of albums. Right now, I have about three albums and three artists that I listen to on repeat, so I will listen to the same song probably ten times every single day.

BRAD: Yeah.

PIPPIN: My wife has told me that it drives her absolutely crazy.

BRAD: [Laughter]

PIPPIN: But I have headphones. I have headphones for things like that. But it really helps me. I actually have a couple of songs that I will occasionally play on repeat, and I will listen to them for five hours straight. And I like the song enough that it doesn’t bother me listening to it over and over again, but it’s because it helps me really get into that rhythm. And nothing is changing. It’s the same song over and over again, and so it’s a constant. That helps a lot, I found. If you haven’t ever tried it, seriously, give it a try. Find a song you really like, maybe know it really well, music, lyrics or no lyrics, it’s up to you, and listen to it on repeat for three or four hours.

BRAD: Yep.

PIPPIN: It’s awesome.

BRAD: Amazing things will happen.

PIPPIN: Yep. It might drive you crazy at first when you realize – I’ve heard the same song for a while. But I think….

BRAD: You stop noticing it after a while, I find.

PIPPIN: You don’t notice because how many times — I guarantee you, anybody who listens to music all the time while they’re working has done this. You listen to a song, and you realize you accidentally song onto repeat, or the same album. And you’re like, oh, I’ve listened to this five times already in the last two hours.

BRAD: Yeah.

PIPPIN: Oh, that was weird. But wait. If you think about it, it was actually awesome because you didn’t think about it.

BRAD: Yeah.

PIPPIN: It didn’t even occur to you.

BRAD: Yeah, definitely.

PIPPIN: And that’s awesome.

BRAD: Yeah.

PIPPIN: Having these questions from Chris and Ben has been awesome.

BRAD: Yeah.

PIPPIN: If anybody — any time anybody has questions that they would like to see if they can get them answered on the show, whether they’re about development, about work, about business, let us know. We keep a log of all of them, and so what we’ve been doing is, every couple episodes, we’ll just try to put a couple of them together. As we’ve been accumulating more and more questions, we’re kind of putting them together into individual episodes, and I think it’s fun. If you have anything you want us to talk about, let us know.

BRAD: For sure.

PIPPIN: Brad, do you have anything that you want to throw in before we call it quits?

BRAD: Just, I think I want to mention our sponsors again because they’re so awesome.


BRAD: WP Ninjas, thank you, guys. Check out Ninja Forms, Ninja Demo, if you haven’t already. Those are some awesome WordPress products.

PIPPIN: I will say they did just push out a really slick update for conditional logic and notifications, so two big features that a lot of people have been wanting. It lets you do some really cool things.

BRAD: Ooh, conditional logic, that sounds pretty cool.

PIPPIN: Yeah, and I believe they actually connected it with their notification system, so just as a quick example. If you have a presale form and a support form, and you want them to go to different inboxes, or you want to do something with them, you can easily do that based upon, like, a subject line.

BRAD: Ooh, that’s cool.

PIPPIN: Yeah, so cool stuff you can do. Go check them out.

BRAD: Awesome. Thanks, everybody.

PIPPIN: Thanks, everyone. Catch you next time.