Fairy Tale Debrief

So much for a first attempt at a fairy tale. Here’s a first cut at a debrief. As one of my loyal readers was quick to point out, I left several mysteries unexplained. I never explained the significance of the flowers or the bag. I never explained the growling creature with glowing eyes. There was no payoff, no pun, no moral, no explanations.

What do I, as a writer take away from this exercise? One tip that I’ve been given on several occasions that was driven home in this case was that you should write your story backwards. That is to say, you should figure out how it ends and then write the beginning to support the conclusion. That helps to avoid all the loose ends.

I think the story has potential if I rewrote it with that in mind. Another lesson learned: it’s very difficult to write a story from start to finish in five hundred word increments with a daily deadline. I may get the hang of serial fiction on a deadline eventually but I don’t intend to try it again until I get some less ambitious projects under my belt.

The reason I have tried it so many times is that I have a schedule crunch. There are only so many hours in a day and I still work a full time day job. Writing takes time. Time is a precious commodity. I am going to keep trying different ideas to find time to write. Eventually, I will retire and have more time to spend writing. I am hoping to get in enough practice between now and then that I can actually find a market for my writing.

Whether I sell my work or just continue to develop my skills as a story teller, it is a win – win situation. Developing new skills has been demonstrated to help keep the brain young. Besides that benefit, writing is one of only a few ways that I have ever managed to sustain flow. Flow is addictive.

If you don’t know what flow is you can read my post, Let it Flow, from last week or the Wikipedia post about it. You can also watch Mihály Csíkszentmihályi‘s TED talk on the topic. I also wrote a post about How I Find Flow.

I hope you experience flow. I hope you find your bliss. Remember, happiness is a choice, not a consequence of wealth or possessions. Life is a journey not a destination. Pay attention to the scenery along the way.

Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

How I Find Flow

At the suggestion of a friend, I watched a TED talk called Mihaly Csikszentmihalyi: Flow, the secret to happiness | TED Talk …. I have read his book, Flow, and so the ideas presented in the talk weren’t new to me. What I was reminded of was the necessity of a high degree of challenge combined with a high degree of skill. As I pondered that it occurred to me that in so many of the cases of flow that I have read about or experienced myself, one of the key factors was a level of familiarity with ones tools that was so intuitive that you don’t consciously think about them.

Take writing for instance. I have developed my typing skills to the point where I don’t think about spelling words anymore. I just think the sentences that I intend to write and they appear on the page. It feels almost like magic.

Similarly, when I write a program, I build it a piece at a time. I prefer interpreted languages, like Lisp or Python, because I can experiment with them as I think about the problem. The IPython environment is especially good for that kind of development as it records every expression you enter and every response that it returns and labels it with an index number (see the screenshot below).

You can also step through the history by using the up-arrow and down-arrow keys. You can edit the expression and then execute it again. Typos are not nearly as frustrating when you don’t have to type in the entire expression again. Notice I refer to the previous output with the _ character. The line that starts with the prompt: In [2]:  computes the square of 42 ( _**2) .

There are many other useful features of IPython. I am still exploring them. The nice thing about them is that they are optional. You can learn about them a little bit at a time and they don’t get in your way if you don’t know about them. This helps you stay in flow by not distracting you.

There are other nifty tools to help you write Python code. I have been using one called Spyder that is a multi-pane Integrated Development Environment similar to Xcode, Eclipse, or Visual Studio, depending on your preference as a programmer. Each of these other IDEs have add on software that helps you develop Python.

I’ve wandered a bit away from the topic but the point that I am making is that before you can experience flow while doing a task, you have to be comfortable doing it. Pick a tool, learn it until it disappears. When you are creating, the tool should become invisible to you. Your focus should be on the code that you’re writing, not the tool that you are writing it with. Furthermore, you should be thinking about solving the problem, not how you get the language to do what you want. That takes a good bit of practice to achieve as well.

To round out my examples by noting another activity where I experience flow. When I’m playing guitar, I experience flow. Especially when I am trying to play a piece that I’ve never tried before. Or when I try to learn a new song on the mandolin. It challenges me and demands skills that I often have to learn to get into the zone. It’s worth it though.

Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Let it Flow

Mihaly Csikszentmihalyi is a psychologist noted for his study of the phenomenon of flow. Flow is the positive experience of being so engrossed in something that you lose all awareness of anything else. It occurs when you are engrossed in a task which is challenging but not overly so. You know what you have to do next but you are very much in the moment. You often lose track of time. You feel a pronounced sense of accomplishment and well being.

We’ve all experienced this feeling sometime in our lives. I remember one time being so focused on making prints of the photographs that I had taken for a photography course that I went in to the lab when it opened at ten in the morning and the next thing I new, it was nine thirty in the evening and the lab assistant was coming around warning everyone that the lab closed in half an hour.

Flow is the reason that I love programming so much. When you get to the point in a project where you understand the problem domain well enough that you can sit and implement one feature after another it is the best feeling in the world.

I’ve started experiencing flow when I’m writing. Not all the time and not as intensely as when I’m programming. I suspect it is because I still have to work so hard at it. I sit and think and often nothing worth writing about comes to mind. But like so many other things, I’ve learned that if you’re patient and relax into it, you find yourself in the midst of a blog post or a story before you realize what has happened.

It doesn’t happen every time you sit down to work. If it did, it wouldn’t be nearly as special. But the more you practice, the easier it becomes to find “the zone”, as it is sometimes called.

It doesn’t happen as often if you are tired or stressed. Some days it doesn’t happen no matter what you try. But often that is because you are trying to hard. You’re desperate for a fix of flow.

I have heard that athletes achieve something similar but, not being very athletic, I don’t think I’ve experienced flow from exercising. Although I will admit, sometime when I go for a long walk, I do get a dose of euphoria. I’m told that it comes from the endorphins our bodies release when we exercise. I suspect endorphins may play a role in flow as well.

How ever you find it, it is its own reward. And it has the side effect of making you very productive at whatever task that you set yourself to achieve it. Between you and me, I felt it while I was writing this blog post. It’s been a pleasant way to bring the day to a close.

Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Python For The Win

Today I remembered what I love about programming. It’s that feeling that you get when you know what you want to accomplish. You have an idea of how to start realizing your vision. You are comfortable with your tools, that is the language and the editor that you are using to write your opus. With these elements in place you are set to experience flow. Flow is a state of mind, studied and characterized by Mihály Csíkszentmihályi, where the task at hand is difficult enough to be engaging but not so difficult that you get stuck trying to accomplish it. As you finish one task, the next one becomes apparent to you. It is an exhilarating feeling.

What happened today is that I found a Python package called openpyxl that allows you to read and write Excel files from Python. This was the solution that I was looking for to my problem with analyzing large data sets stored in an Excel spreadsheet. I had been struggling to do it with VBA (Visual Basic for Applications) but I found it to be difficult to use. I found plenty written on it but nothing that spoke to my problem domain. If anything, there were too many mediocre books targeted at spreadsheet power users that were novice programmers. I am the opposite, a casual spreadsheet user that is an expert programmer.

I figured out after I thought about it for a while that experienced programmers just weren’t going to put up with a language as shabby as VBA. Not only was it a bad language but it had no standard definition and was proprietary to Microsoft. Consequently, it was subject to Microsoft’s favorite ploy of making radical changes to the behavior of the language from one version of the product to the next. It made no sense to me to invest any significant amount of effort into crafting a solution only to have to entirely redo it at the next release of Excel.

To summarize, I made more progress today than I would have in a week with VBA. And as a bonus benefit, my code is readable to the large and ever growing cadre of Python programmers. It was a brilliant idea and I’m still floating on air over having figured it out.

Basic was a good first cut at a first language but we have learned a lot about how computer languages should work since it was first released in 1964. Bill Gates and Paul Allen started Microsoft with Microsoft Basic in 1975 and it was a clever implementation that made the limited resources of the early personal computers more approachable by total computer novices. In the intervening 42 years, we have developed a number of languages that fill the niche that Basic originally targeted much better.

Python has become very popular for both casual scripting and implementation of large projects. It has the inertia associated with a large user community and a responsive team of implementors. There is a clear definition of the language and a carefully controlled process governing the evolution of the language. I can develop in it with confidence that my work won’t be rendered obsolete by the next release of the language.

Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.


I have a friend on You Tube with the screenname 7anby (7 to his friends). I met him on Stickam. On Saturday night Pam and I watch bad science fiction, horror and various other B-movie genre movies that are old enough to be in the public domain on a channel called Sleaze Sinema. If you don’t know about Stickam, it is a video chat site. Our hostess streams the video of the movie on the main screen and we all sit around and make snide comments in the text chat window. Several of us are on camera in the other smaller screens and others aren’t. We laugh and do a really good job of entertaining ourselves.

Back to 7anby. I met him on Sleaze Sinema and then I subscribed to his You Tube channel. He writes really evocative short stories and reads them on camera and posts them to his You Tube channel. Lately we have been encouraging him to write a novel. Today I was watching a couple of his videos and he was having the same problem I was talking about yesterday. He sat down to write five pages on his novel and ended up losing part of what he had written to the demented user interface that is called Microsoft Word. So, he makes a wonderful video and tells a great story about his grandfather.

This is exactly what I was talking about. He sets out to write five pages and he makes two videos instead. I want to make videos but I can’t seem to come up with ideas for short videos or the time to make them. Note, I mean videos that tell stories, not vlogs. I want to make more vlogs too but that’s a separate issue. I’m just feeling good that I am writing in my blog more regularly and that what I’m writing in my blog is more than just stream of consciousness crap.

I’ve got more to say about the Sinema but I’m going to try the technique of leaving things to say for next time so that I can get started easier next time. The problem with so many creative endeavors is getting started. Once you acheive flow (another topic to explore at length in another post) it is hard to find a place to stop. I hate being forced to create in little disjoint snippets of time. I want my flow, dammit.