An Old Friend

I’m nearing the end of the official Python programming-language tutorial. My interest in programming was recently rekindled and Python seemed a decent re-entry point — especially because there’s a fully operational scripting environment, known as Pythonista, that runs on the iPad.

I suppose you could say I used to develop software professionally — until I stopped a few years ago. It feels kinda good to get back into programming. I don’t have any professional aspirations, it’s just a hobby like when I first started many years ago. At that time, coding seemed like such an impossible feat, then it clicked and off I went.

My first experience with programming was Microsoft’s Visual Basic, almost 20 years ago. I was excited to install and begin coding — yet I couldn’t decipher the code, it just didn’t make sense, like trying to read a foreign language in an unfamiliar alphabet. Then I read an intro-to-programming book, one used in college classes — it used the C language and some included libraries to teach. After finishing the book, I went back to the Visual Basic development environment and surprisingly it made sense. The process of working-through the book seemed to unlock an ability to program.

But I still struggled with programming in the sense that doing anything interesting was complicated. Sure you could effortlessly place a button and update a text-box, but things got complex real fast when going beyond the basics. I was stuck with too-simple or too-hard so I stopped programming for a bit. Then a new way to write for Microsoft Windows came out, called the .NET Framework. I really liked C-Sharp and the large library of functionality that came with it.

But unfortunately, it still had its limitations. Just like before, writing long lines of complicated C/C++ code was the only way to do the most interesting activities. Yet .NET was decent enough at developing moderately interesting applications. I had also tried web-programming, like PHP and such, but found that a bit cumbersome compared to desktop-app programming. I liked visually-oriented programming rather than slinging and storing data into databases.

Yet when it came time for finding a professional outlet, PHP and ASP.NET were the easiest positions to find so I did that, learning as I went. I was pretty good though, very meticulous. I didn’t much care for the business side and eventually burnt out. Not too long afterwards I tried my hand at developing Apple Mac Apps in Objective-C but found the language too unwieldy and old-fashioned especially coming from C#. I did sell a few apps in the Mac App Store but nothing significant.

I do appreciate Apple’s new Swift language. I really like their Swift Playgrounds app for teaching kids about programming. Although I think anyone using it might need access to an experienced programmer because it seems a bit too challenging otherwise. X-Code on the other-hand, Apples’s full-featured development environment needs a serious paradigm shift in my opinion. I was not pleased with what I recently saw in an official tutorial — linking up code to the graphical parts of the program seems cumbersome. It makes me miss the ease of C# and .NET from over a decade ago.

In a sense, I think of programming as a means of expression. Like a painter expresses with brush on canvas, a programmer expresses with code in compilers — or a writer expresses with words on paper. I often try my hand at art/drawing apps but eventually abandon them because I fail to enjoyably express myself — I typically can’t create something I admire. Whereas in writing, I’ve written a lot of things that amuse or impress myself. I can’t say that I’ve made anything impressive with programming, but I often find the process fun because of the learning and problem-solving involved.

But that’s been my underlying issue with programming, an inability to create things I’m impressed with — thus I can’t completely express myself. Instead, I regularly come up against insurmountable limits that stop me on my path. Oftentimes the complexity rises to a point that shuts down the fun. Although, perhaps my impatience is to blame. Many of the programs we use daily are like living breathing entities that have their creator’s souls poured into them. Maybe I wasn’t willing to put that much effort into an individual project.

Yet I suppose that was another issue I had with programming: finding a worthwhile project in which I could pour my essence. Which is why I’m writing words nowadays instead of code. I enjoy writing words and I can express myself to a great degree. But similarly, I don’t like large writing projects, I’d rather just transcribe some snippets of thought on a regular basis. Writing, programming — really, they’re just a means to entertain my mind, giving my thoughts something to do, a purpose.

I have no point in my late-night rambling beyond an acknowledgment to an old friend that’s come back to visit. Will he stay? Who knows. But it’s good to see him while he’s here. I’ve missed you buddy. How many late nights did we spend together? All alone in a world of our own. How many guises have you worn? C, C++, Visual Basic, Java, PHP, Javascript, C#, Python, Ruby, Objective-C? You old son of a bitch, stumping me whenever you could. But I got my licks in here and there.

Well goodnight old friend. May your loops never be infinite and your memory always well-managed.

Minding the Mind

There’s 3 weeks left in January, and you know what that means! It’s time to begin the January Mind Your Mind Challenge!!!. For only 12 minutes per day, for the rest of the month, we’re going to play a little game with our thoughts. Let the mind-games begin!

Sit cross-legged, either tuck your feet under your knees or place one foot on top of the opposite knee if you find a foot getting crushed. Lean forward a little and straighten your back, and lean back until upright and supported. Overlap your hands (palms facing up), while resting your forearms on your thighs. Tilt your head up, and bring it down until comfortable. Let your eyelids gently fall. Inhale through your nose. Exhale through your nose. Inhale. Notice your tummy inflating and deflating.

Now when exhaling, say the word “om” silently within the head, pronouncing it in a relaxing way. Inhale. Exhale while mentally saying “om”. Keep doing this. Eventually you’ll notice that you’re thinking about something else and no longer saying “om”. Good job! Now repeat the pattern: inhale, exhale “om”, notice your wandering mind, inhale, exhale “om”. Eventually your mind will wander less, you’ll be inhaling, exhaling “om”, inhaling, exhaling “om”, for longer stretches at a time.

Practice this routine for 12 minutes per day. Consult a clock or timer to know when the time is up. If you get sleepy during your practice, try a different time of day — then settle on a time and stick with it. Maintain this practice for the rest of the month. Remember, this is just a friendly little game with the mind.

Bonus Feature: At some point during the challenge you might begin to notice yourself drifting — you’re no longer saying “om” but you’re not thinking either, it’ll seem like you’re somewhere beyond thought. You might notice a calm peacefulness, as if you’re away from the world floating into the infinite. This is the entranceway to tranquility — embrace it.

Intangible Challenge

For many, our challenge isn’t our lack of dedication or our inability to do hard work, it’s our lack of a well-defined objective, we have no place to apply our efforts. The desire to overcome is there, but there’s nothing to push, no direction to travel, no easily identified obstacle in our way.

For instance, clearing a driveway full of snow has a clearly defined path. Hold the shovel, stick it into the snow, lift, and throw to the side, repeat until no snow remains. Into such a task, we can put all our focus and effort, exerting and exhausting ourselves in the process. And, this activity immediately produces an obviously useful result.

Oftentimes though, we may be driven to do something that isn’t as tangible and might not seem useful. So it’s not that we lack direction, it’s that we keep ignoring the path that’s right in front of us. Those around us may consider the path worthless, so we avoid it.

Part of our challenge then, is trying to pursue our path while external forces attempt to prevent it. We might have to traverse it while camouflaging ourselves in tangible utility. Despite not wanting to deviate from our dedication, we sometimes have to appear busy with what others find productive.

Is summation, we must accept our path despite external resistance, and once accepted we must find furtive ways to remain upon it. Our challenge is not only the path itself, but its acceptance and the balancing of our dedication with other aspects of life.

Untested

Perhaps challenge is not axiomatic to life, but merely a perspective. Either we can do something or we can’t — what’s the test? If we require practice or determination to overcome a perceived challenge, either we practice or we don’t, either we’re determined or we aren’t. And if outcomes are beyond our control, a more permanent obstruction could intervene at anytime. Perhaps challenge is merely another part of the everything life provides — in other words, if we look for challenge, we’ll find it.

Interesting Stories

An interesting story is not without tension or imbalance — a story without a wrinkle is merely a static scene. Challenge, confusion, tension, suspense, unpleasantness, turmoil — whatever you call it — is the foundation of every entertaining story.

In life, no one is provided a stress-free existence. Life is consistently filled with stressors, so much so, that it seems like a manufactured drama. But if life is a story, why isn’t it more pleasant, why not dial down the intensity so everyone has a good time?

Some potential reasons why life may be overly difficult despite being a manufactured tale:

– Perhaps this is the best the author could do while managing billions of intermingling lives.
– Perhaps the story is designed by committee and this is a compromise.
– Perhaps more people actually enjoy the higher intensity than not.
– Perhaps the higher intensity is necessary to maintain sufficient long-term interest.
– We love other people’s drama, maybe fairness dictates we have some of our own.
– How else could we relate to stress/suffering within a story except through direct experience.
– Not everyone can be the star, perhaps we take turns.
– Perhaps we’re not the intended audience, maybe we’re reality-show zoo animals.

Waves of Engagement

Life is like a wave-filled ocean, it’s constantly barraging us with “waves of engagement”. In other words, life is forcing us to participate by sending challenges our way. If we’re happy, it’ll send sadness, if we’re calm, it’ll send agitation.

But sometimes we get hit so hard by a particular wave that we fail to recover before the next one arrives. In this way, feelings such as anger or sadness can start to build up. This cascade of negativity can eventually drown us if we don’t do something about it.

How does one escape a rip-current? One method is to relax and float along with the current until its pull weakens, then swim back to shore. The other method is to immediately swim off to the side, out of its pull, and then swim back to shore. Trying to get back to shore by directly swimming against a rip-current, only leads to exhaustion and the potential for drowning.

So if we’re already sad or angry, getting even sadder or angrier only leads to exhaustion and the potential for drowning in our negative emotions. We’ll eventually reach a point where we hate life itself. One method of escape from this negative path, is to relax and ride out the emotion, no longer fighting it, or dwelling on it, just dispassionately observing. Another method is to sidestep the emotion, taking life less seriously while laughing at its absurdity, and ignoring life’s attempts at agitation.

Neither method is easy when we’re caught off guard and find ourselves swept up in a current of negativity. But swimming against the current is even harder, and will likely lead to drowning. Sometimes it helps to hear someone shouting instructions from solid ground. Do you hear that?

Solving the Riddle

Why seek to solve the riddle of life?

For some, figuring out how the toy works is more fun than the toy’s intended functionality.

For some, life is perceived as too difficult and too unfair so it becomes a hated thing, so much so that it’s difficult to justify continuing on. But everyone can bear a burden if the burden is justifiable — so some seek the justification. They don’t want to abandon life, they desperately seek a reason as to why they’ve been mistreated or why there was no actual mistreatment to begin with, and in finding the rationalization, they can move on and live their lives.

For some, life is terribly confusing, it feels like an alien world, and they want to know how to live it “correctly”.

Some question whether we’ll lose our sense of wonder by deconstructing life. But many are searching for wonder by trying to peer behind the curtain and gaze at the churning gears. And for some, the potential consequences are worth it, finding enjoyment in the process of solving the mystery, filled with hope that seeing the underlying structure will end their confusion.