Infinite Loop
There is an interesting
phenomenon in the IT world known as an “infinite loop.” It is the state of a
program that has no way of ending. I remember first learning of this from
friends while visiting the Radio Shack stores way back in the day. Radio Shack
released their first personal computer called the TRS 80. There was always one
on display at the stores. Security was non-existent, so we would get on the
computer and type in a simple BASIC program that would display our name on the
screen “infinitely” until someone came along and stopped it.
Later in college, we learned
that you could send a simple command to a printer that would cause it to do a
page feed. Again, creating a simple program that would send this command to a
printer “infinitely” would cause it to spew paper at a rapid pace until the
operator could “kill” the program. If a printer was left unattended such a
prank could empty a box of printer paper in seconds. We thought it was amazing
that we had such power!
I recently re-entered the IT
field. Much has changed. The languages are much more stable and sophisticated.
I didn’t even consider the fact that they were still capable of getting into an
“infinite loop” scenario … until yesterday. I ran a program that should have
finished in seconds, but instead ran for several minutes before I stopped it.
After further investigation I realized I had omitted a very important step in
the logic.
Without getting too
technical I’ll give a brief explanation. In SQL, which is what I’m using now, in
order to “iterate” or loop through data, you create a “cursor” containing the
information you wish to process. You then “fetch” a record from the cursor,
test to see if you have reached the end of the cursor, and if not, process the
data. At the end of the process you fetch another record from the cursor and
repeat. Because of the test for “end of data” at the beginning of the process,
this will continue until all data has been processed.
Yesterday I inadvertently
left out the “fetch” at the end of the procedure. This caused it to look at the
same data over and over with no end in sight. Because I never fetched a new
record the test for end-of-data was never satisfied and it just looped. Had I
not intervened it would continued running until it timed out.
As I began to consider this
a few thoughts came to mind. There are many that live life this way. Like the
movie Groundhog Day they live the same day over and over, not even realizing
the missing “fetch” that needs to occur to give them new information, new
inspiration, new definition, and renewed purpose. They grind out the same data
over and over again, each time hoping for a different outcome. Unfortunately,
some never realize it until they “time-out”. That is not a life.
My pastor, Bobby Gourley,
has been trying to teach me something since his arrival in August 2014. He
calls it “margin”. I call it “Sabbath”. They mean the same thing. The writer of
Hebrews called it “rest”, as in “Let us therefore strive to enter that rest, so
that no one may fall by the same sort of disobedience.” (Hebrews 4:11)
Regardless of what you call it, the meaning is the same. You have to take time
to “fetch” some new information for your life.
Did you ever notice how
Jesus was always pulling away from the crowd to spend time alone with Father?
If Jesus needed to “fetch” from time to time I know I do. Moses would spend
time alone with God in the Tabernacle in order to be refreshed and renewed as
he led Israel through the wilderness. Paul, after his conversion, spent time
away from Jerusalem to be taught by the Holy Spirit. We all need “fetch” time
in order to stay spiritually, mentally, and physically alive.
“Fetching” can take on many
forms. It will most likely be different for each person because our needs vary
greatly based on our life experience and position. Regardless of where you are,
or what you do, margin/Sabbath/rest is necessary. Without it we simply churn
the same old information over and over, never progressing, never producing,
just getting tired.
One day your life (process)
will end. You will “time out”. Wouldn’t it be better to leave in the middle of
a productive life cycle than simply on the treadmill? Find a way to recharge.
You will never regret it.
No comments:
Post a Comment