Life As An Adult With ADD

Disclaimer: Due to this being a topic that can be very controversial, I will be disabling comments for this article. This is not to avoid conversation but to curb the urge for readers to voice opinions not facts.

History Defined

If you were to talk with the teachers who invested so much time in me throughout my schooling, more often than not, the terms they would have used to describe me would have been: “day-dreamer”, “lazy”, “never lives up to his potential”, and so on. On the surface, this could be considered true, but underneath it all, these terms didn’t quite tell the true story of me.

Continue reading Life As An Adult With ADD

Simple Off-Canvas Navigation

It seems as if there are tons of examples or solutions available for off-canvas navigation. Each of these options seem to have their own use case but never seem to seamlessly integrate into what I have been looking for. What do you do when that is the situation? You create something that works and would be easy for others to use.

Continue reading Simple Off-Canvas Navigation

The Art of Untethering: How Is Your Work Life Balance – Part 3

It seems as if everyone is an expert about something these days. Whether it’s a type of programming language or how to talk with clients. While I don’t consider myself to be an expert about work/life balance, I can offer practical tips, that are based on experience, that will help you along the way.

This is part three of a three-part series on work/life balance. Let’s first revisit what this series is composed of. The focuses are:

  1. What is work/life balance?
  2. What are the warning signs that the paths are starting to cross?
  3. Tips to help you maintain a quality work/life balance.

In part one, we talked about what work/life balance is and some statistics and facts around the subject. In part two, we looked at the warning the signs that show that the paths between work and life are starting to cross. Today, we will look at some tips that will help you to establish a healthy work/life balance.

How Can We Maintain A Quality Work/Life Balance?

We’re all going to face a time in our lives and careers when the live between work and life becomes unhealthy. It can start in the form of a responding to a light night email or taking a phone call while out to dinner.

When is it enough? When will we draw the line?

Let’s look at some practical tips that I have found to be helpful and maintaining a quality work/life balance.

Tip #1: Listen

We should constantly listening. But what should we be listening to?

Listen to the ones around you

Your family, friends, and even co-workers should have the freedom to let you know that there is unbalance. Chances are, they will recognize this before you ever do.

Listen to Your Body

Your body is designed to warn you when something is off. When we overwork, our body will let us know. For me, this would come in the form of being physically exhausted. I’m the type person who can thrive off of six good hours of sleep a night. I normally do not toss and turn. My wife says that once my head hits the pillow at night, I’m out (She’s right and I’ve always been that way). But when I overwork, my body needs more time to recharge. This usually comes on the weekends where I have found myself sleeping twelve hours between Friday night and Saturday morning and still taking a nap later in the day (I never take naps).

Your physical warning signs can be different. Whatever is may be, listen! Don’t ignore your body, because at some point, it will shut down.

Listen to Your Mind

Your mind will stop speaking to you as you see it slowly shut down. I’m a front-end developer. My job is to write code and think about how the decisions I am making will affect the user. If my mind is not able to process at its highest potential, I will not be effective at my job. But this goes further than just work. If my mind cannot process as it should, I can’t be mentally available to my wife, friends, and others that are a part of my life.

The mind, along with the body, when not receiving the rest they require, will cease to function as they should.

We need to stop and listen!

Tip #2: Provide Separation and Create Boundaries

This tip may lend more to people who work from home as I do, but a dedicated work space for your work area is vital for success. This area should not dual purpose. Your office should not also serve as your location to escape to when a football game is on. But, we should not let the kitchen table become our place of business. We do not need to allow the living room sofa be the place where we conduct most of our business. When I go into my office, I’m going to work.

The second part of this tip refers to creating boundaries. When you work from home, boundaries can be stepped on so easily. And most of the time, it’s not intentional. While working from home does allow the flexibility to stop and engage in a quick conversation with your significant other or to play a quick game of hide and go seek with your children, there has to be boundaries.

“People who violate your boundaries are thieves. They steal time that doesn’t belong to them.”

- Elizabeth Grace Saunders

In most cases people don’t know or understand that they are crossing a boundary when it happens. We have to honestly say that this is our own fault because we never communicated this to them. On the other hand, there are those who are boundary breakers, and no matter what we say or do, they will never respect them. In those cases, we have to take a hard stance. This is the case for those who work from home or commute to an office daily. Is that phone call or text message that important at the moment?

Tip #3: Unplug

One of the hardest parts of working from home is learning to walk away from my computer so that I can focus on my family. The way that I do this is unplug. I turn it off. I don’t bask in the glow of my office computer monitors when I am not working. Each day when I finish work, I completely shut my computer down. This keeps the enticement at a minimal. Another thing that I do is I don’t check my work email when I am not working. In most cases, if there is an emergency that would require my attention, my team knows how to contact me.

Tip #4: Avoid Distractions

Avoiding distractions may be one the hardest things that we have to do today. We live in a connected world, where not only do we have instance access to anyone or anything, others have instant access to us. Let’s face it, social media, while it can be very enjoyable, is a distraction. It’s distraction not only at work but at home. There is a reason that a lot of companies blog access to Twitter, Facebook, Instagram, and others on their network. The escape around that is your phone (which is another distraction in itself). When my wife and I go out on dates, we put our phones away. One text message, tweet, or Facebook message can quickly derail and ruin the time we have set aside to spend with each other.

Tip #5: Be Present and Engaged

We need to be present. We need to be engaged. When I’m working, I need to be giving it my all. That’s what 10up employs me to do. The expectation is that I write great code and craft amazing user experiences for our clients and the people who use their websites. When I’m with my family, my attention should be on them. I should be engaged in the conversation. If I’m out with friends watching a game at the bar, I need to be present.

We need to experience our experience!

Tip #6: Have Fun!

Is it going to hurt you to have a little fun in your life? Go outside, take in the fresh air. Go on a walk. Watch a movie. Do something you enjoy. If you enjoy writing code, and that’s your career, please find another hobby! You may think that sounds crazy, but I have met many developers at conferences and Meetups who are programmers or developers by trade and they spend all of their free time writing code.

In Conclusion

While some of the information in this series may not be new to you, can you honestly say that you are doing a good job of providing separation between work and life? That’s the end goal of this series. I want you to be aware that if you don’t enjoy life, it will pass you by. If you don’t enjoy work, you will fall down the hole of being unsatisfied. Let’s become better family members, friends, employees, and overall better people. The only thing that is at stake is everything!

The Art of Untethering: How Is Your Work Life Balance – Part 2

Warning signs are all around us, whether on the roads we drive on or in the places we visit often. Too often, after encountering these signs, we easily take for granted that they are there, and carry on about our business. But why are these signs in place? They represent present danger that lies ahead. They are in place to make sure we are aware what is going on around us. Life gives us warning signs to let us know that something is wrong. And just like the previously mentioned, we can easily ignore these also.

This is part two of a three-part series on work/life balance. Let’s first revisit what this series is composed of. The focuses are:

  1. What is work/life balance?
  2. What are the warning signs that the paths are starting to cross?
  3. Tips to help you maintain a quality work/life balance.

In part one, we talked about what work/life balance is and some statistics and facts around the subject. Today, we will look at the warning the signs that show that the paths between work and life are starting to cross.

Did the Ghostbusters Have It Right?

One of my favorite movies of the 80’s was The Ghostbusters. I remember a particular scene in the movie when Egon informs the rest of the Ghostbusters one of the most important details around the use of their equipment. They were to not cross the streams because life as they knew it would cease to exist.

Fast forward to one of the last scenes of the movie. We see the Stay Puff Marshmallow man climbing the side of a building. And on top of this building, the Ghostbusters are plotting a way to defeat the forces that are coming against them. The Keymaster and Gatekeeper are in place and Gozer is planning to take over the world. At this moment, Egon reveals his plan. In order to sustain life on earth, they will have to cross the streams. Peter Venkman, played by the amazing and eccentric Bill Murray, responds in a way that only he can:

Ghostbusters

This movie brings a thought to my mind, what is the Ghostbusters had it right the whole time? When work and life continually collide, will life as we know change? Could it even cease to exist?

A Little Back-story

The thought of work/life balance is not a new one to me or most of us in general. Whether we want to admit it or not, we have all faced those times when work overtakes life or life overtakes work.

I have been working professionally, in the web development industry for over ten years now. The first seven years are definitely the most unhealthy years of my life. I was trying to establish myself in this industry, working for my own set of clients and doing work for other agencies. There were times where work was in abundance and there were times when I had no work at all.

I found myself at a point that I would not say no to a project. I would take on the weight and burden no matter how much I had on my plate. My days in the office were eight to ten hours. I would then go home, and work through most the night until I had reached the point of exhaustion.

My work weeks were averaging 60 to 70 hours. I was at an unhealthy place, not only physically, but emotionally. The quality of my work was decreasing and my productivity was non-existent. I knew that something had to change.

I made some very big life decisions, some that surrounded the physical state I was in, and others that were in regard to where I lived and worked. An opportunity to work at NC State University was presented to me, to which I accepted and moved to Raleigh. This transition not only started a change in my life to bring me to a healthier place, but I also met my lovely bride.

The warning signs were all around me and I finally decided to stop ignoring them.

The Warning Signs

Let’s take a couple of moments and look at three warning signs that will help to easily recognize that work and life are imbalanced.

Warning Sign #1 – You Can’t Turn Work Off

If we are honest, we can all say that we have those times when we could not turn work off. Sometimes, this will come in the form of a late night email that we feel require immediate attention or illicit a response. There are also those times when we are surrounded by the ones we love and we choose to not ignore the phone that persistently ringing.

Some in the WordPress community have recently written thoughts that allude to the adage that if you truly love what you do, it will not feel like work. While there is truth in this thought, there is also an inherit danger and an unrealized truth in this reasoning. The danger is we can become so weighed down by work, that we no longer enjoy what we do for a living. The unrealized truth is that we are all going to experience moments where work feels like work and it’s hard. That is the nature of the game.

What is our priority? Is the problem being presented to us urgent or are we internally pressuring ourselves? If I answer the phone or respond to an email, will I be setting the expectation that I will do so again in the future? These are questions that we must ask ourselves.

Warning Sign #2 – You Are Working More While Accomplishing Less

What is the long-term benefit to working more hours when we are less productive? Does this benefit our companies, clients, or our own personal success? If we are working 60 hours in a week, but the quality of our work is equivalent to 30, how long will we be an asset to out company or clients?

Warning Sign #3 – Your Relationships Become Unhealthy or Strained

Naturally we would think that the strain would come between ourselves and the ones we are closest to. While this is true, it is my opinion, the strain goes further. This strain quickly pours over into our work environment.

Conclusion

For years, I have made the statement that I am one the few people you will meet who can truly say that they turned a hobby into a career. I have the pleasure of working with an amazing team at 10up and the wonderful clients that we partner with. I love my job! I love being able to craft beautiful solutions while writing poetry in the form of code. But, with this in mind, I cannot become so easily blinded to the warning signs, if they pop up around me. I owe that to not only myself, but to my family, friends, employer, co-workers, and the WordPress Community.

Coming Next

In the final part of this series, we will discuss some helpful tips to assist you in establishing a quality work/life balance.

The Art of Untethering: How Is Your Work Life Balance – Part 1

If we are truly honest with ourselves, we can all say that we have had those moments in life where we have struggled with balancing work and life.  The truth is that sometimes work flows over into life and life flows over into work.  How to balance these two is a question that we must all face and figure out how to answer.

This past weekend I spoke at WordCamp Raleigh on the subject of work/life balance. I was overwhelmed with the amount of positive feedback I received in person and via twitter from attendees of my talk. To be brutally honest, this is perhaps the hardest talk I have ever given. To stand before your peers and talk about a subject that can be at times unpopular but needed, is a difficult task. For that reason, I submitted to be a speaker and was honored to be chosen.

In this series, we will talk about work/life balance and how it relates to us. The information in this talk derives from my talk and research prior to. This will be a three-part series that focuses on:

  1. What is work/life balance?
  2. What are the warning signs that the paths are starting to cross?
  3. Tips to help you maintain a quality work/life balance.

What is Work/Life Balance?

The concept of work/life balance is not a new one. While researching for my talk, I found proof of studies going back to the early 20th century on what was the optimal amount of hours that a person should work in a week in order to achieve the highest level of productivity. But before we dive into that research, let’s take a minute and look at the definition of work/life balance.

Work/Life balance can be defined as:

Work–life balance is a concept including proper prioritizing between “work” (career and ambition) and “lifestyle” (health, pleasure, leisure, family and spiritual development/meditation).1)Work-Life balance definition from Wikipedia

Additionally, Heather Schuck says this:

You will never feel truly satisfied by work until you are satisfied by life.

The truth of this statement should resound deeply in each of us, but I would contend that you will never feel truly satisfied by life until you are satisfied by work. The two go hand in hand.

The 40 Hour Work Week

The concept of the 40 hour work week dates back to the Industrial Revolution when workers in the building trades and related industries rallied together to establish better working conditions. But this concept was revolutionized by Henry Ford and Ford Motor company.

In the early 1900’s, Ford Motor Company conducted extensive research to find the “sweet-spot” for the work week. They found that workers who worked over 40 hours a week, initially had a greater amount of productivity than those who worked the 40 hour work week. The end result was that those who worked 40 hours maintained a consistent level of productivity while the others declined.

At least 134 countries have laws setting the maximum length of the work week. However, the United States does not have a maximum work week length and does not place any limits on the amount of overtime that an employee is required to work each week.

In six of the top 10 most competitive countries in the world (Sweden, Finland, Germany, Netherlands, Denmark, and the United Kingdom), it’s illegal to demand more than a 48-hour work week.

Research has shown that on average, 76% of Americans work more than 40 hours per week. This statistic, along with the lack of limitations on work week hours, paints a disturbing picture of where the priorities are as a society.

Burnout

The end result of increased over-working is burnout. Burnout can be defined as:

physical or mental collapse caused by overwork or stress.

People who consistently work long work weeks get burned out and inevitably start having personal problems that get in the way of getting things done. The fallout of burnout spans both work and life.

Coming Next

In the next part of this series, we will look at some of the warning signs that can help us to know that work and life are colliding.

Stay tuned!

Notes   [ + ]

1. Work-Life balance definition from Wikipedia

WordCamp Raleigh 2014

This weekend, I’m excited to be speaking at WordCamp Raleigh, at North Carolina State University’s Centennial Campus. Centennial Campus is a research park and campus that is home to the NCSU School of Engineering along with the Hunt Library, ABB, and Broadband.com.

Prior to going to work with 10up, I worked for the Department of Electrical and Computer Engineering at NCSU. I’m really excited to see my former colleagues from NCSU and hear about the cool things that they have been working on in the six months since I left. ITECS (The NCSU School of Engineering IT Department) has made a collaborative push to move departmental sites from a multitude of CMS’s (mostly Drupal and home-grown) to WordPress. With this push came creation of some plugins that were developed for use with many of the NCSU internal systems and apps. One handy plugin would allow admins to require users to authenticate with the NCSU authentication system while also leaving the ability to allow an external user (non-NCSU employee or user) to still have access to the WordPress dashboard.

Saturday Afternoon, I’ll be presenting my talk, “The Art of Untethering: How Is Your Work/Life Balance?”, on the Power User’s Track.

In this talk, we will discuss what work/life balance is; how to see the warning signs that the paths are crossing; and how to maintain the balance so that both work and life are enjoyable and fulfilling.

I’ll embed my slides after my talk and I’ll post video as soon as they become available.

If you are in the Oak City this weekend, stop by WordCamp Raleigh. There are still a few tickets available. I’d love to meet you and talk about WordPress.

Setting Object Terms With A Checkbox in WordPress

I’m going to start this article out with a thought that I feel to be true. At times, in our professional lives, we tend to become lazy. In most cases, we don’t do do consciously. This seems to happen because we know where to find answers and we end up relying upon those sources. Then, when we are not able to find the answer through a previously used source, we don’t always know what to do. Prior to immediate access to an endless supply of information via the internet, we had to answer our own questions and solve our own problems. So was the case with a recent client project.

Here’s the scenario:

  • The client needed to be able to tag a particular article as a “Cover Story”.
  • The solution was not to use a WordPress “Tag” or “Category”.
  • The functionality needed to be simple and so that editors could easily identify such articles.

With the requirements clearly identified, I started looking on the internet for a way, which quickly proved to be fruitless and a waste of time. I put on my thinking cap and was able to create a solution that was clear, concise, and easy to use. So, let’s talk about this solution.

Tagging An Article As A Cover Story

Not using WordPress’ built-in solution for tagging and categorizing can be simple to achieve in these type situations by utilizing a custom taxonomy. We could easily set a term in place and query that term. Creating a custom taxonomy is as easy as using register_taxonomy() . Let’s see an example of a registered taxonomy:

The above code is standard for creating a custom taxonomy in WordPress, but with a few differences. You will notice that show_ui , show_in_nav_menus , and show_admin_column  are all false. The reason for this is that the taxonomy was to in an essence hidden from the editor. This code above gave us a custom taxonomy that we could query but not be seen in the Dashboard.

Wait a minute, if the editor cannot see the taxonomy, how will the editor be able to select an article as a “Cover Story”? That is question that I had to answer.

Hook To the Publish Metabox

A high priority was to make the end result feel like it was a natural part of the WordPress UI while being clearly marked and visible. To do so, we hooked into the WordPress “Publish” metabox. Hooking into the metabox is as easy as  add_action( 'post_submitbox_misc_actions', 'function_name' ); . While hooking into the metabox proved to be easy, the ability to achieve the overall goal of being able to easily tag an article did not. Our thought was to add a checkbox to the “Publish” metabox. Adding a checkbox is easy, but having said checkbox set a term and remove a term, was not easy. Let’s look into the solution.

Adding the Checkbox

Let’s first look at how we were able to add a checkbox.

As you can see from the example above, we have created a standard checkbox that has a value of “cover-story” and is in return using checked()  for whether the post has that term.  We are using is_object_in_term()  to determine if the current post has the “cover-story” term. Lastly, we are hooking into the “Publish” metabox as described above.

Saving the Term

Now that we have created the checkbox and hooked it to the “Publish” metabox, we need to save the data that is being passed. In effect, when the user checks the checkbox, the cover-story term needs to be applied to the current post. Also, if the user un-checks the checkbox, the term needed to be removed from the current post.

This is our solution:

A few items of note from the above code are:

  • If the user has checked the checkbox for the cover story, the “cover-story” term would need to be associated with the current post. We used wp_set_object_terms()  to achieve this. Note that the final option in this usage is true. This function has an boolean option to $append to the taxonomy. By default, the value is false. Since we would like for additional terms to be used for this taxonomy in the future, the value of $append needed to be set to true.
  • If the user later un-checked the checkbox, the “cover-story” term would need to be removed from the current post. We used wp_remove_object_terms()  to do this.

UI Love

As stated above, we wanted the solution to feel natural and match the UI of WordPress. To do so, we applied some css to provide the proper experience. This css was included in the parent theme’s admin stylesheet.

The above css is using Sass as a css pre-processor.

Here is a screenshot of the result:

The visual end result
The visual end result

Final Result

We verified that the terms were being applied or removed from the correct post (the correct term_taxonomy_id was being applied to the correct object_id in the _term_relationships table in the database), while ensuring that the checkbox fit into the overall UI of WordPress. We wrapped this in a class and called it a day!

As always, I’d love to know your thoughts on this solution!

Adding Theme Support For Custom Functions In WordPress

Recently while working on a client project, one of my co-workers shared a function for WordPress that I was not aware existed. Well, to say that I was not aware that it existed would be untrue. Frankly, I didn’t know that we could create custom functionality with this. The function I am talking about is: add_theme_support();. In the past, I’ve used the add theme support function as described on the WordPress Codex – primarily to add support for thumbnails, menus, post-formats, etc.

You’re probably wondering why would I take the time to write about a function that most WordPress theme developers are already using? The reason is simple, most WordPress developers love, or should love, to discover new ways to hook into the built-in functionality that WordPress has and do amazing things!

My co-worker Chris Marslender, who is the Technical Co-lead on one of the projects I have been working on, shared that you could add theme support for virtually any custom function in WordPress. This type ability has been crucial in our current project where we have developed a Parent/Child Theme strategy, using functions and elements across multiple sites. Some of the custom functionality we have created are being shared by some but not all sites. The ability to create the function in the parent and add theme support has proven to be a step in the right direction that allows for one point of failure and less code to edit when additions would need to be made or bugs are discovered.

Let’s take a look at an example of how you could use this type of function in your theme.

Create a Custom Class or Function

Let’s say that we would like to create a function that will create a Portfolio Custom Post Type. Here is the code we would use to do this:

As you can see, this is a standard class that creates a Portfolio Custom Post Type. Simple enough right? You would then call this class in your theme’s function.php file using the following line of code:

Adding Custom Theme Support

Now that you have written your function or class, you can add theme support for it in two easy steps. Let’s first look at how to add this to your class or function. In the case of the class above, we have an init() function that is using add_action()  to call the register_cpt()  function. To add support for this in your theme, you could do the following:

Notice the new code on line two that says current_theme_supports . This checks for a theme’s support for a theme function, in this case portfolio .

This is the first step to adding custom theme support for your function or class. The second step is much easier and should be familiar.

In your theme’s function.php, you would add the following line of code:

With these easy steps, you can add support for your custom functionality in your theme. While this may not apply for every theme, it can prove useful in a situation where a Parent/Child theme strategy is being used with shared functionality. I’d love to hear your thoughts on this!

And once again, shout out to my co-worker, Chris Marslender for teaching me this handy piece of code.