Wednesday, April 16, 2014

Please don't take my sunshine away

I recently attended a technology conference and one of the sessions was focused on website security.  This is something that people are becoming more and more aware of, sometimes painfully so.  The presenter in this session was trying to drive home the point that website developers need to be thinking about how to secure their websites from day one.  He related a how-not-to experience he had with a close friend.  This friend was getting ready for the release of a new website and he called the presenter the night before to see if he had any thoughts on how to make the website as secure as possible.  The presenter told him his best option was to not release the website.  The friend told him that wasn't an option, so the presenter suggested he change the website code so that when someone tried to log in they would immediately get logged back out.

The presenters point was that the night before is the wrong time to start thinking about security, but it got me thinking that the real problem with website security is users, not code.  The code by itself is harmless.  It's the users who make everything go wrong.  Developers and designers will often say-half joking, half lamenting-that the software would look and work fine if we didn't have to worry about people using it.  And the real issue is that when you allow people to use software and interact with it, you give them a degree of control over the software.  If you allow them to have too much control you put yourself at risk.

Now I realize that real life isn't like software.  Software is programmed and predictable.  Computers do what you tell them too.  In real life each person has agency and can make their own choices.  There are habits and behaviors that guide what we do, but it's not fixed code.  We can change our behavior and learn new habits.  But one principal that applies to both software and humans is what happens when we give control to someone else.

The Lord taught us in the Doctrine and Covenants that the "power is within [us] wherein [we] are agents unto [ourselves]".  So why would we ever choose to give that power away?  The power of choice is the one thing that is truly ours and cannot be taken from us.  We know from Job's story that many, many things can be taken away, but never our power to make choices.  But remember that just because something can't be taken doesn't mean we can't give it away.

In what ways do we give our power away?  What causes us to give control of our software to another user?  The prophet Mormon teaches us in the Book of Mormon that when we lose the guidance of the Lord's spirit we are "led about by a vessel is tossed about upon the waves, without sail or anchor, or without anything wherewith to steer her." (Mormon 5:18).  A ship on the open water without sail or anchor certainly has no power to choose her course, and so it is with us.  Without the Savior to anchor us and without his Spirit to guide us we can be left adrift in the world.

There are many subtle ways we give our power to others.  Have you ever heard someone say that someone else "makes them angry"?  Or maybe you've said it yourself.  When you use that phrase you are admitting that you have given your power to choose your emotions and reactions to that person.  Do you even know this person to whom you have given the most precious thing you have?  Do they even know that you've given them this great responsibility?  They now have power to control how you feel, so if they don't know, you'd better explain it to them.  Or you'd better hope they use this power for good.

My advice would be, don't give anyone this power unless you trust them.  You can probably give it to your spouse or significant other.  It's probably okay to give it to family and very close friends.  It's certainly appropriate to offer it to the Lord.  He'll never use it, but he will accept it.  But don't give it to strangers.  Don't give it to the guy who cut you off on the freeway.  Don't give it to coworkers, even if they have really annoying habits or if it seems they have made goals to ruin your life and they are working hard to achieve them.  Don't give it away without careful consideration

Always remember that you and only you have the ultimate control and thus ultimate responsibility for how you feel and how you act.  You are the author of your life's story.  You may not get to choose all the characters or all of the events, but you always get to choose how you act.

You are responsible for your own happiness, so please don't give your sunshine away.

Thursday, March 27, 2014

A rose, by any other name is still expensive

What's in a name?  We can thank good old Bill Shakespeare for posing some of the most though provoking questions known to man.  So let's ponder together what really is in a name.  Shakespeare says that a rose by any other name would still smell as sweet.  That may be true, but if you're trying to get my attention in a crowded room, you'd better get my name right or you're not going to have much luck.  So is a thing defined by it's name, or is a name really nothing more than a label?

Let's take a quick refresher course in the English language.  Most of it speak it fluently, but few of us remember any of the rules.  For most of us it's a little like trying to redeem reward points or frequent flyer miles.  "I" before "e" except after "c", not valid on major holidays or on days that end in "y".  We're aware that rules exist, but no clue how to explain them.  Luckily for me I have a daughter in second grade who is learning all these rules for the first time.  Which means she still remembers them and I can ask her what some of them mean.

So we're going to borrow my eight-year-old's brain for a minute and talk about synonyms.  Hopefully we all remember what these are, but humor me while I explain it.  Synonyms are two different words that have a similar meaning.  They can often be used interchangeably without changing the meaning of a sentence.  So if I wanted to convey to you how tired I am right now after spending most of the last week remodeling a bathroom, I have several word choices.  Tired, exhausted, fatigued, demoralized, clueless (not a synonym, but still an appropriate adjective to describe me right now), just to name a few.

In the world of database engineering, however a synonym has a different meaning.  Without getting too deep into how databases work a synonym means you are picking a word to refer to some other thing in the database.  For example, let's say you have a table where all of your customers are stored.  The table will have a name which most likely cannot be changed without breaking almost all of your software.  Let's say the table is called "all_my_customers" (note that the underscores are fairly common because database programs don't like spaces).  Now, say that you really don't like that name and you want to refer to the customer table by another name.  You would create a synonym and then use that instead.  The table didn't change, but now you've to a different name that you like better.  It's just like giving the table a nickname.

I've noticed that sometime we run into problems in our life by combining these two concepts.  We use a new word that we like better and think that the meaning of the sentence is unchanged.  One example that comes to mind are the words slow and deliberate.  Sometimes we have coworkers who we would consider slow, but instead call them deliberate.  Or maybe it's the other way around.  The point is that being deliberate often looks the same as being slow, but it's not the same thing.  You can be slow without being deliberate.  You can also be deliberate without being slow.

By the same token you can be described as fast or reckless.  Sometimes they mean the same thing, or rather have the same outcome, but now always.  If you've ever watched a pit crew in a NASCAR race change tires, fast is really the only way to describe it, but it's definitely not reckless.  So you have to be careful which words you choose to describe things.  You can swap out words that mean the same thing, but you can't swap out words that you like better.  In other words, you can use synonyms, but be careful if you use nicknames.

We do the same thing with spiritual matters.  A prime example of mistaking synonyms for nicknames is patience and idleness.  It's far too easy to be idle and tell ourselves that we're being patient.  We refrain from action because we're patiently waiting the right opportunity.  How many of us have friends or neighbors (wait, is it leap year?  did I put the "i" in the right spot?) that could use an invitation to come to church or talk to the missionaries and we're patiently waiting for the right opportunity?  This is one of Satan's favorite tricks because we essentially convince ourselves that we're doing the right thing by having patience.  Aren't we supposed to be patient?  The scriptures are full of counsel to be patient, but it's almost always in the context of trials or burdens.  When we are counseled to be patient what we're really being asked to do is forget about our own timetable and trust in the Lord.  We are rarely ever counseled to refrain from action.

So we take a word that don't like -idleness- and give it a nickname -patience- and convince ourselves that we used a synonym.  This makes us feel better about doing to wrong thing, but it's a trap.  You've all heard somebody at some point say "Let's call it what it is" and this is what they're talking about.  If you find yourself facing a bad habit, confront it, don't give it a nickname.  A rose by any other name may still smell as sweet, but the same holds true for other things, like raw sewage.

The real question is not what's in a name, but rather what name did you choose.

Saturday, March 1, 2014

The Most Beautifulest Day

My 4 year old has developed a cute habit when she says prayers.  She has started to learn to pray on her own and we no longer prompt her with what to say next.  But she always starts the same way.  "Dear Heavenly Father, Thank you for this most beautifulest day."  Now, my immediate reaction the first time she said that was to correct her, but I decided not to.  I sounds so cute when she says it, and they'll be plenty of time for proper grammar later.  Between her Mom and her Papa (my wife's dad) she'll get more than her share of grammar tips.  But as time has gone on I have discovered entirely new reasons why I'm glad I resisted the urge to help.

As a computer programmer I deal with several different programming languages.  Some of the ones I use more frequently are Java, PL/SQL, Bash, Javascript, and a little bit of Python.  Now I realize that to most of you it's all Greek, but there are nearly as many programming languages as there are spoken languages these days:  COBOL, Fotran, C++, Objective C, Perl, Ruby, Lisp, .NET, Visual Basic, T-SQL, XQuery.  And those are just the ones that popped into my head.  Many languages mean many choices and they each serve a purpose.  They each have strengths and weaknesses, but they all have one thing in common.  They were invented.  Somebody at some point in time made them up.  Somebody decided they didn't like any of the existing languages and invented their own.

So, I'm used to dealing with words that aren't really words.  It's common for me to say things like "execute a query" or "dump the cache".  This is why my wife stopped asking me what I did today at work.  It sounds like I'm describing a botched bank robbery.  It's also why I can appreciate it when my daughter made up the word "beautifulest". 

Programming languages exist so that a human can tell a computer what to do.  Computers don't naturally speak the same language as humans, so we had to invent some kind of common ground.  When programmers find that the language they are using doesn't allow them to give the right instructions to the computer, they either find a language that does, or invent a new one.  In the same way, my daughter needed a better way to express how she felt about the day, but the language she was using (mostly English with some custom syntax and verb-tenses) didn't have the right word, so she invented a new one.  To her, beautiful just didn't cut it.  It needed to be the most beautifulest day.

Prayer can be an interesting thing.  As I've written before it gets very easy to fall into ruts and get comfortable with a certain set of phrases.  I try to avoid saying the same things over and over again, but one thing I've always repeated is "Thank you for this beautiful day".  I use that every time, not because I'm comfortable with it, but because I really mean it.  I am grateful for each day, and each day is beautiful, simply because it exists.  To help you understand my perspective I share some numbers with you from my service as a missionary.

I served in the Mexico Monterrey South mission for 25 months, from February 2000 to March 2002. I flew home 3 days after the closing ceremony of the Winter Olympics  During my mission I served in 8 different Areas and had 17 different companions.  I called home 8 times during my mission.  For those of you keeping track, most of those numbers seem a little high, especially the phone calls.  I should point out that all of them were authorized by the Mission President, and I would have been just fine only making the standard 4 calls, so let me share with you the nature of the other 4. 

The first one happened after I had been out for 6 months.  I received instructions from the Zone Leaders to call home and upon doing so I learned that the mother of the girl I had been dating had passed away from cancer.  The second call came just before Mother's day near the one year mark.  Again the instructions came from the Zone Leaders to call home.  I assumed that my family had to reschedule the Mother's day phone call for some reason, but that was not the case.  I called them only to learn that my Grandma Coleman had passed away.  I remember thinking that this was 2-too-many phone calls for a missionary to receive, so you can imagine my disappointment 6 months later when I received the 3rd phone call.  This time the Mission President, who happened to be our city for a Zone Conference, pulled me aside and asked that I call home immediately.  It was then I received the new that my Dad had been put in the hospital and diagnosed with Non-Hodgkin Lymphoma and Guillan-Barre syndrome.  I was sure this had to be the last time I had to call home off-schedule, especially since the next couple of letters home reported improvement and his eventual release from the hospital.

I will never forget the 4th phone call.  I was serving as an Assistant to the President and we were in the Mission Office when the call came from the Mission President that I need to once again call home.  It was with a heavy heart that I received the news from my Mom that Dad was back in the hospital on life-support and the decision had been made to pull the plug.  I was shocked and devastated.  I thought that the Lord was supposed to protect his missionaries and their families.  How could this have happened?

With the love of my family, the support of an amazing Mission President, and my own testimony of the Gospel I decided to finish the last 4 months of my mission.  I would say it was a hard choice, but that's not the truth.  I talked to my Mom about it and there was no doubt in my mind that I needed to serve the Lord. I knew my family would be well taken care of and that I needed to finish what I had started.  In the coming months, I found out why.

I had the opportunity to travel throughout the mission, working with the Zone Leaders to help train their missionaries.  On one such occasion I accompanied the Zone Leader and his companion to visit a family that was nearing their baptismal date.  The mother and children were ready and willing, but the father was holding back, saying that he just wasn't ready.  The Zone Leader had done all he could help him, but they weren't getting through.  So I asked if I could talk to him.  I sat down with this man in his home and asked him why he felt like he wasn't ready.  He gave me all the standard excuses and I listened.  When he finished I looked at him and said that the time was now to make the choice.  I told him that you never know how much time you have left to spend with your family and you can't wait to do what you know is right.  The Spirit was very strong as I shared my recent struggles with him and he made the decision to be baptized with his family.

There wasn't another missionary in the entire mission who could have borne that testimony to him in the way that I did.  I knew at that moment why I been prompted to finish my mission, so that I could help this man and his family start down the path to receiving the blessings of the Gospel and eternal life with our families.  I was able to help them in a way nobody else could.

The Lord works through us and each new day we are given on this earth is one more day to bless the lives of those around us.  It's one more day to spend with our families, one more day to improve and grow, one more day to prepare ourselves for eternal life.

I hope that we can all be thankful for each new day and try to make it the most beautifulest possible.

Thursday, January 2, 2014

Don't forget to flush

One of the most important things I've had to learn as a computer programmer is how computers remember and process information.  When you write software you are generally going to be storing information of some kind and then doing things with that information.  Every single piece of software I have ever encountered used information in one way or another.

Now, most computer code is written in such a way that the information is gathered into a temporary location first.  Depending on the programming language and what type of software you are building this location is known by names such as The Session, RAM, Variables, and other things, but the bottom line is that more often than not the information gathered by the program is temporary.  As soon as you leave the program, or turn off your computer the information is lost.  You need to write additional code to store that information in a permanent location, such as a database, hard drive and so on.

The process of moving information from a temporary location to a permanent home is known as persistence and it's one of the more difficult things developers do.  Being able to do it well is the difference between a successful application and one doomed to failure.  Imagine how well would do if they kept the items in your shopping cart in temporary place, or if they weren't able to store your shipping address, forcing you to enter it each time you place an order.  Persisting information so that it can be reused at a later time is key to their success.

The human brain is no different.  When we process information from our 5 senses, that information first goes into a temporary location known as short-term memory.  When you meet a new person for the first time your brain will likely start to run a program called Social Greeting.  Circumstances may dictate you run a different program such as Stranger Danger, but for now let's assume a less harmless encounter.  For most people this program gathers visual data, such as whether this new person is male or female, hair and eye color, and unfortunately if the person running Social Greeting is male, some other details that seem critical in the moment, but in reality probably shouldn't occupy so much space in memory.  (Yes, ladies, we know where your eyes are and thank you for the reminder).  The program also gathers audio data including their name, whether they speak English or not, as well as data from the other 3 senses.

Fast forward to some number of minutes, hours, or days into the future.  If the software your brain is running has been designed properly you will still remember things about this person.  You will probably be able to identify them in a photo-lineup.  You may remember what they smelled like (ladies are especially good at remembering when the smell is Too-Much-Old-Spice) and if you're lucky you may even remember their name.  This is because your brain has the ability to persist information gathered by the various programs you run each day into your Long-term Memory.

Your brain is essentially one enormous computer program and you are the programmer.  It came preloaded with the necessary drivers and input devices to allow you to capture information, but how you use that information is entirely up to you.  You can be programmed, but contrary so popular belief, you are the only one that can write your software.  You were given complete control of your operating system by the System Administrator.  This does not mean that writing your own programs is easy, only that it is possible.   You can't always control the stream of information coming in, but you decide how to best process and store it.

The tools needed to program your own brain are becoming scarce and less common.  We hear stories about people that rise above their situations to achieve great things and it seems like a miracle that they are able to accomplish great things.  We have become a society full of people that allow ourselves to be programmed by others and at the heart of this issue is social media.

Raise your hand if you have a Facebook® account.  Now raise another hand if you're on Twitter®.  How about Instagram®?  Vine®?  Snapchat®?  Google+®?  E-Harmony®?  Shall I go on?  Now I'm not saying that any one of these is in and of itself an evil that must be eliminated from our society.  I think Facebook is an amazing tool that allows me to keep in contact with friends and relatives that I might otherwise not be able to reach.  Social media can be a great force for good by allowing people to organize efforts in mass in support of a cause.  But the flip side of that coin is the sheer volume of information to which you are subjected.

Let's go back to the person we met a few paragraphs ago.  Do you still remember their name?  Probably not, and that's because we have become terrible as a society at persisting information.  We scroll through our news feeds and timelines processing tiny bits of information in mass quantities but never moving any of it into our long-term memory.  To use a personal example, in the past 60 seconds I processed the following information:  6 pictures of some one's new truck, a photo of one person I know and several people I'll likely never meet in my lifetime, someone is nervous about a big test tomorrow, somebody really loves their husband, the Utah Jazz won (I already knew that, having watched the game, but now I know twice), some one's child lost a tooth, someone spent time with one of their grand kids, somebody just finished cleaning up their kids toy room and is happy to "be done with it" (must be a first time parent, otherwise they'd know better than to be happy that they are "done" cleaning), somebody posted something in Spanish and my Spanish is so rusty that I'm not even going to bother trying to translate it.  And the list goes on, and on, and on, and on...

And I will remember none of this tomorrow.

It's far too easy to get caught up in these micro-bursts of information and neglect other more important things.  We fail to remember (no pun intended) that unless we move the information to our long-term memory it will be gone.  We need to take time to process worthwhile information and then store it permanently.  The scriptures counsel us to "treasure up in [our] minds the words of life" (Doctrine and Covenants 84:85).  When you treasure something you don't treat it as another drop of water in a sea of useless information.  You stop and think about it.  You ponder and consider it carefully.  You figure out how you can use it to enrich your life.  And most importantly you persist it so that you can use it later.

Just as a computer programmer must sift through all of the information being gathered in the program and decide what to store permanently, you must "seek out of the best books words of wisdom" (Doctrine and Covenants 109:7) and then store that information permanently.

In certain programming languages persisting is referred to as flushing, so as you process the ever-growing streams of information in your life, don't forget to flush.

Thursday, December 5, 2013

Me, myself, and everybody

So here I am sitting in my hotel room in San Francisco on Day 4 of a business trip.  Just me, myself and I.  And boy am I bored.  It's fairly ironic.  As a parent I often find myself wishing for even a moment of privacy.  I've found myself contemplating driving to the nearest gas station so that I can use the restroom in peace.  And now I've hit the jackpot.  An entire week to myself! and I just realized that this is not what I wanted.

There are so many things that are made better by being with someone else.  I've ran into numerous situations this week where I've missed having someone to share them with.  For example, I went to a local burger joint, got my order and went to sit down at a table by myself.  The dining experience is not meant for one person. For starters, even the smallest table has two chairs.  Then, a few minutes into my meal I had to use the men's room and as I stood up I found myself wondering how the bus boy would know that I'm coming back.  I had no way to signal to the restaurant that the table was only temporarily unoccupied, that I was coming back for the last few bites of the burger and the rest of the fries and please don't clean up my lonely little table just yet.  I nearly decided to take my tray in with me before I finally settled on finishing eating first (ever tried eating and doing the potty dance at the same time?) and then going.

Being by myself for most of the week has helped me realize something that the Lord already knew.  "It is not good that man should be alone" (Genesis 2:18).  Now I realize that taken in context this scripture specifically refers to the companionship of a husband and a wife, but simply taken at face value we can learn a valuable lesson.  We know that the purpose of our life on earth is to be tested and to prove our willingness to obey the commandments.  Normally when you take a test you do it alone.  Cheating and getting help from another person is discouraged.  But life is not a normal test.  It literally takes everything we have, and guess what.  We're not supposed to do it alone.  We need to help others, but just as importantly we need to be helped by others.

There is a reason that addiction recovery programs always employ some sort of "sponsor".  It's critical to have someone you can call when you feel pressure to relapse.  Other people can help.  They can give advice, or provide a new perspective, or simply distract you until the urge subsides.  We are a social species and can only reach our true potential with the help of others.

I realize that not everyone chooses to be alone.  Sometimes it seem like circumstances conspire to isolate us.  Being alone is not part of God's plan for us.  Loneliness is a tool the Adversary uses to disconnect us from others.  Sometimes not being alone takes effort on our parts.  As I looked around the restaurant for a place to sit that night, I wasn't the only solo diner there.  I choose to sit by myself, but I could have just as easily made another choice.

A long time ago the Apostle Paul wrote a letter in which he made the following statement:

"Therefore ye are no more strangers and foreigners, but fellowcitizens with the saints, and of the household of God"

I certainly felt like a stranger and a foreigner in this little restaurant in San Francisco, miles away from my home and family and friends, but should we ever feel that way?  Paul didn't think so, and neither does the Lord.  We are all children of our Heavenly Father and we have a responsibility to make sure nobody feels alone.  I love the phrase "no more strangers".  How would the world change if there were no more strangers?  How much better could we make people's lives if we knew things about them and cared about them.

Instead of sitting down by myself to eat in peace, I could have solved my loneliness issue by simply asking someone if they would mind some company.  And it's entirely possible that I may have solved their loneliness issue too.

This is something that I struggle with.  I don't open up to new people very quickly.  I'm shy and self conscious and I try too hard to make sure people like me.  But that's no excuse.  I need to be better.  I need to follow Paul's counsel and reach out to those around me.  I need to say Hi to people standing in line next to me.  I need to get to know my neighbors better.

I hope that you'll all join me and work towards creating a world in which there are no more strangers.

Tuesday, July 16, 2013

The Mysterious Black Box

First off, let me apologize.  It's been almost 2 months since my last post.  Second off, let me apologize again.  It's pretty egocentric of me to feel like I need to apologize to you for not gracing you with my wisdom and insight more frequently.  So sorry for the lag in posts, and sorry again for the slight egomania.  There.  Now that we have that all cleared up let's get down to business.

Most people in the business world are familiar with something called a black box.  This is a different black box than the one found in the cockpit of an airplane (which is actually bright orange).  For those of you that haven't encountered that term in this context, it's really nothing more than a generic description of any process where there is an input and an output, but nobody knows what happens in between.  For example my auto mechanic is a black box.  I take the car to him, he does some things that I don't understand and he gives the car back.  I'm never even really sure if he actually did anything, but that's the beauty of the black box.  You don't have to understand the middle piece in order to interact with the process.  It's someone else's job to understand it and make it work.  You only need to know the input and output to use it.

In the world of software development, black boxes are everywhere.  As a software developer I don't require the people using my software to know what goes on behind the curtains.  They just know that they click a button and something happens.  In many cases the developer doesn't even know all of the inner workings.  For example, if I were to develop a web page, all I know is how to write the HTML (or whatever other flavor of web technology), but I have no idea what happens when someone types the URL for my site in their browser.  I know there is this thing called the Internet and data is sent across wires (unless the data is going somewhere wires aren't available, then carrier pigeons are used) until it all gets where it needs to go and the website loads.

From a spiritual standpoint our life is full of black boxes, but we know them by a different term:  The Mysteries of God.  The thing about spiritual black boxes is that the we interact with them the same way we would any other black box; we put something in and we get something out without really knowing how the processes goes from A to B.  We put obedience in, some mysterious and unknown things happen inside the box and out comes a blessing.  We don't know what the exact blessing is.  That's where faith comes in.  We only know that the outcome will be whatever God has prepared for us.  The prophet Joseph Smith described this phenomenon best while in Liberty Jail.  The Lord spoke to Joseph and listed a large number of very bad things that could have happened to him and then counseled him that "all these things shall give thee experience, and shall be for thy good." (Doctrine and Covenants 122:7).  What happens inside the black box is not always easy to deal with, but the outcome is always in our favor.

Now that doesn't mean that we shouldn't try and understand the black box.  We are promised over and over in the scriptures that if we keep the commandments and pray diligently that we can know the mysteries of God.  The following passage in the 8th section of the Doctrine and Covenants even tells us how this knowledge can be recognized when it comes to us:
2) Yea, behold, I will tell you in your mind and in your heart, by the Holy Ghost, which shall come upon you and which shall dwell in your heart. 

3) Now, behold, this is the spirit of revelation; behold, this is the spirit by which Moses brought the children of Israel through the Red Sea on dry ground.
I think it's interesting that Moses parting the Red Sea is the example given of the spirit of revelation.  When you think about it, it makes perfect sense.  Put yourself in Moses' sandals for a minute.  Here you are at the edge of the Red Sea with thousands of your people.  You're feeling pretty good after all the hard work you went through to get them released from slavery in Egypt.  All of the sudden some Israelite scouts coming running toward you frantically screaming something about Pharaoh and an army of chariots.  You finally calm them down enough to get the whole story, which is that Pharaoh seems to have changed his mind and has sent an army to take your people back to Egypt.  You know that fighting them will result in slaughter, but you also know that your people would rather die than return to Egypt as slaves.  (Now stop and think:  If it were you, what could you do save your people?)   Suddenly, you have an idea.  I know, you think to yourself, I'll just part the sea straight down the middle and we can just walk to the other side!

Never in a million years would that idea have just come to someone, but that's why it's the perfect example of what it truly means to have the spirit of revelation.  Nephi describes it as "having great desires to know the mysteries of God".  In Moses' case it was his desire to know what God wanted him to do in that moment and having a perfect understanding that the answer could only come from God.  And once he received that answer, he acted upon it.  He put his obedience in, some things happened that even with today's knowledge of physics and science cannot be explained, and a blessing in the form of a miracle came out of the black box.

We have the same privilege and responsibility Moses had to understand what it is God would have us do in any given moment and in any situation.  We need only ask and be willing to act upon the answer.  We don't need to know how things work inside the black box.  All we need is faith that our obedience will lead to the blessings God has in store for each of us.

Friday, May 17, 2013

Patience, Grasshopper

Walking into the office the other day I noticed something.  We have a spot on the main floor just inside the employees-only-beyond-this-point doors where a poster is frequently displayed.  The poster rotates from time to time as it advertises things like upcoming employee events, training classes and other assorted items.  On this particular occasion the poster was a teaser for some announcements that were going to be made.

Once a year every employee is asked to participate in an employee satisfaction survey.  I'm sure many, if not all, of my fellow Corporate Americans have participated in a similar survey.  What I've noticed throughout the years is that the larger a corporation, the longer it takes to digest the results of the survey and come up with a plan based on that feedback.  It turned out to be no different in this case as we had taken the survey several months ago and only now were we about to find out the results.  The creators of the poster no doubt understood the length of this process and demonstrated their empathy by using the following tag line as the teaser:  "Good things come to those who wait."

Now there's a phrase we've all heard a lot.  We humans have a tendency to want to distill our knowledge and understanding into small phrases like that.  It helps us keep better track of important things.  Short phrases are easier to remember and we can file them away for later use.  Parents, in particular, have an entire arsenal of such sayings:  "If you keep making that face it will freeze like that."  "An apple a day keeps the doctor away."  "I brought you into this world and I can take you right back out."  In fact, we hear these little sayings so often that we don't usually venture much farther than their surface to look for meaning.  But for some reason this phrase on the poster that day made me pause and think.

As a software developer something that is at the forefront of my mind at all times is context.  In order to understand something you have to put it in context.  For example, if someone asks you to define the word "red" you need to know if they are talking about the color or the past tense of the verb to read.  Life is all about context and comparison.  So in order to understand how good things come to those who wait I needed to put it in context.

My 1st grader is learning about the concept of compare and contrast and I thought I'd employ that same strategy.  Find something that compares and something that contrasts.  For comparison we have another saying:  "Patience is a virtue".  For contrast:  "Opportunity only knocks once.".  On the one hand we are being told that there is value in waiting and being patient.  On the other hand we're being told that we need to seize opportunities without hesitation.  So which is it.

The answer is both.  And neither.  If that confuses you, remember that you have to put it in context.  There are situations where patience is called for and situations where you need to carpe the heck out of a particular diem.  The trick is knowing which is which.  For help with that we can turn to the scriptures.

In the 4th Section of the Doctrine and Covenants we see this principle at work.  In verse 4 we are told that "the field is white, already to harvest".  That would suggest we need to act soon or risk missing an opportunity.  However verse 6 counsels us to "remember...patience".  So how do we patiently act quickly?  The key lies in understanding that patience is not simply passively waiting.  It is recognizing that we are not in control of the timeline, the Lord is.

In the Book of Mormon we learn that the prophet Alma waited for a long time before his son Alma repented, but he was not just biding his time.  He was actively praying and working to bring his son back to the Gospel.  For those of us struggling with a righteous desire that has not yet been granted there is a quote from Elder Jeffery R Holland that will help:  "We must constantly remind ourselves that He is God and we are not."  He knows what each person needs and when they need it.  If we stay faithful and obedient the blessings will come at the right time.

Good things come to those who wait, but better things come to those who wait on the Lord.