Love the One You’re With

Twenty five years ago the computer industry was fraught with religious wars. There was the OS war that purported to be about which OS was the best for a personal computer. Similarly there was the programming language war. And, last but most certainly not least, there was the text editor war over which was the best editor for entering text into a computer.

There are many more options in each of these categories now. And, people still have strong opinions about which option they prefer. The religious zealotry has largely subsided though. People are finally more focused on getting the job done than they are finding the absolute best way to do something on a computer.

I have my opinions, particularly when it comes to text editors. Text editing is my bread and butter. I write programs, documents, and stories with a text editor. For years I was an emacs snob. Actually, it was more a matter of muscle memory. I had used emacs for so long that I no longer had to consciously think of a command, my fingers just type it when I thought about wanting to execute it. I have joked about muscle memory but it is true, I am immediately more productive when I sit down to a machine with emacs installed on it.

But part of the job of a senior developer is to help more junior developers figure out ways to be more productive. I could have taken the time to get emacs installed on the lab machines. There is a process and I’ve been told to feel free to do it. But on further consideration I have decided that I push past my comfort zone and learn more about the vi editor, or more specifically the vim editor.

Vi has been around since soon after the rise of the unix operating system. It was written by Bill Joy of Sun Microsystems. It is notable if only for the fact that it is delivered on practically every unix distribution in the world. It has a reasonably rich command set. I wanted to get past the point of having to look each one up in order to use it so I started using it to develop the various test cases that I am responsible for verifying.

I have only been using it in this capacity for a couple of days but I can report that it is much more capable than I would have thought. Over the years all the major programming text editors have added features like intelligent code formatting and keyword highlighting. Code highlighting can be very useful for calling attention to inadvertent typographical editors in your program.

There are other editors in the running today. For instance, gedit is the graphical text editor bundled with Linux. Atom is a saucy little editor written in javascript, formatted with CSS, and capable of syntax highlighting with the best of them. It has recently been upgraded to ease integration with GitHub.

These days the choice has boiled down to the answer to these questions: What editor does everyone else use? What are most of the developers on the project use to? What features are you most familiar with and which ones fit the type of uses you intend to demonstrate?


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

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.

Obligation (part 4)

Just as Gilbert had said, the next day Mr. Hightower sent Jack to fetch the bag from the hotel safe. This time, Jack placed the entire flower in the bag. He peeked into the bag but it appeared to be empty. He quickly closed it and delivered it to Mr. Hightower. Mr Hightower took the bag to a business meeting. When he returned, he had Jack take it back to the hotel safe.

A week later, Jack and Pamela were married. After a magnificent reception Mr. Hightower sent them on a honeymoon fit for royalty. One night Jack woke up in the middle of the night. The full moon shone in the window of their stateroom. Quietly he got up and put some clothes on and went for a walk on the deck of the cruise ship. He was staring at the reflection of the moon on the water when a voice behind him said, “Beautiful, isn’t it?”

Jack turned to find Gilbert standing behind him. “I was expecting you. I don’t want any more favors.” Jack said.

“That’s not the way it works. The bargain was three favors for three favors.” Gilbert said.

“Okay. I thought you’d say that. So here’s my third favor. I want you to not insist on a third round of favors.” Jack said. Gilbert started to turn red in the face. His eyes rolled back in his head. Then he started shrinking into his torso until he disappeared with a pop.

Jack and Pamela finished their honeymoon and Mr. Hightower bought them a beautiful house in a nice neighborhood. Mr. Hightower made Jack his partner and named him his sole heir. Jack and Pamela had a large family and lived happily ever after.


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

Obligation (part 3)

Mr. Hightower returned and he and Jack went back to their hotel rooms. Jack stayed awake half the night thinking about the girl that he would meet and marry. Slightly before dawn, Jack fell asleep. It was a deep dreamless sleep. When he awoke, it was late afternoon. He sat up and again the room was dark. The shades were drawn and in the corner were the glowing green eyes.

Jack sat very still. He heard the low growling from the corner where the eyes were. He stuck his head under a blanket. Abruptly the growling stopped. He peeked out from under the blanket and there was Mr. Hightower, standing in the doorway to his room.

“My boy, you must get up. It’s way past noon. I have met someone who wants to meet you. Jack got up and got dressed as quickly as he could. By the time he got downstairs there was a crowd in the parlor. Jack went to see what it was. It was the most beautiful young lady he had ever seen. She look at him and smiled.

“And who is this handsome young man?” the young lady asked Mr. Hightower.

“Pamela Pendragon, may I present Jack. Jack, this is Pamela Pendragon,” Mr. Hightower said.

“I am charmed to make your acquaintance,” Pamela said.

“No, it is I that am enchanted,” Jack replied.

Mr. Hightower beamed. “Ms Pendragon has agreed to join us for dinner.” Mt. Hightower explained to Jack. “After which, I have engaged a box at the opera.”

Jack trembled with excitement. “We are honored that you grace us with your company,” he said.

Jack and Pamela had a whirlwind romance. By August Jack had asked her to marry him. They set the date of the wedding for the end of May. It was to be the event of the season. Everyone who was anyone would attend. Mr. Hightower was Jack’s best man. Pamela’s younger sister, Amelia was her maid of honor. Pamela’s father spared no expense. He hired the largest ballroom for the reception and the wedding itself would take place in the cathedral.

Jack was about the happiest man that had ever lived. As his wedding day grew ever closer, he forgot all about Gilbert and the favor that he owed him.

A year and a day after Gilbert granted his favor and a week before his wedding, Gilbert showed up at the cafe where Jack was drinking coffee and reading the news.

“You haven’t forgotten my favor, have you?” Gilbert asked.

“No, of course not. Just name your favor and it is yours,” Jack said.

And name it he did. “Tomorrow, Mr. Hightower will send for the bag from the hotel safe. You will place this entire blue flower in the bag before you bring it to him.” And with that, he disappeared.

[To be continued.]


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

Obligation (part 2)

When Mr Hightower came back from his meeting, it was as Gilbert had said it would be. He had a bag with him and he asked Jack to carry it back to the hotel and have the concierge lock it up for him. Mr. Hightower had an errand to run but would take Jack to dinner later that night.

Jack did as he was asked and took the bag to the hotel. Just before he went inside, he slipped the red flower into the bag as Gilbert had asked him. But before he did he took a petal from the flower and put it in his pocket.

The concierge was happy to lock up the bag for Mr. Hightower. He gave Jack a claim ticket to retrieve the bag later. Jack placed the ticket in his pocket with the flower petal. Then he went to his room and lay down on the bed to take a nap.

When Jack lay down the afternoon sun was shining through his window but when he awoke, the room was dark. He heard a low growling in the corner and there were two green glowing eyes staring at him in the darkness. Jack reached in his pocket and pulled out the flower petal. It was glowing red and the creature with the green glowing eyes quit growling and started whimpering piteously.

Jack heard a commotion in the hall. Abruptly, the door to his room opened and the light from the hall spilled in. Mr. Hightower entered and turned on the light. Jack looked at his hand and the flower petal was gone. He looked in the corner and it was empty. Mr. Hightower told Jack to hurry and get ready. It was time to go to supper.

When they got to the restaurant Mr. Hightower introduced him to the gentleman that he had been meeting with earlier. “Mr. Edward Templeton, this is my charge, Jack. Jack, this is Mr. Templeton.”

“I’m pleased to meet you sir. A very good evening to you sir,” Jack said.

“I’m pleased to meet you as well my young sir. Let me introduce my wife, Lettie Templeton, this is Jack. Jack, this is Mrs. Templeton,” Mr. Templeton said. With that Jack bowed over Mrs. Templeton’s hand and shook Mr. Templeton’s hand. Then, he pulled out the chair for Mrs. Templeton to be seated.

The gentleman were seated and Mr. Hightower spoke briefly with the waiter and then turned to the table and announced, “Tonight is a special night. Mr. Templeton and I have reached a very special agreement today. We will both make a fortune from our deal.” Jack and Mrs. Templeton congratulated them and the waiter brought champaign for everyone.

Jack lifted his glass and said, “Long life and profitable business to all.” Everyone lifted their glasses and drank the toast. They all had a wonderful dinner. Mr. Templeton told stories of his adventures in foreign lands and Mr. Hightower told stories about business deals he had made in half a dozen different cities. After dinner they said goodnight and Mr. and Mrs. Templeton got a cab back to their rooms.

Mr Hightower looked in all his pockets and then said, “I’ve forgotten something. I’ll be right back. Wait for me here.” Jack nodded and Mr. Hightower ran back into the restaurant. When Jack turned around, there was Gilbert.

“Did you do as I asked?” Gilbert said.

“Yes, I did,” Jack said.

“But did you put the entire flower in the bag?” Gilbert asked.

“It was such a beautiful flower I took on petal and put it in my pocket,” Jack admitted.

Gilbert shook his head. “I’m so disappointed in you,” he said. “I told you to put the flower in the bag. Next time you must do exactly as I tell you.”

“I will.” Jack said.

Gilbert nodded and asked, “What is your next favor?”

Jack thought for a minute. “I’d like to meet a beautiful girl and marry her.”

“Remember, you owe me another favor.” And then he disappeared.

[To be continued.]


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

Obligation

There once was a young boy named Jack that became bored with his life in the sleepy village where he was born. Every day he got up before the sun rise and helped his grandpa feed the chickens and goats, feed the cow and milk her, and collect the eggs from the nesting boxes.

Every morning his grandma made a good breakfast and sent him off to school. At school he learned to read and write and do his sums. But his teacher was very proper and everything had to be done just so. He studied hard and learned his lessons but sometimes he forgot the rules and the teacher gave him bad marks.

One day as he was walking home from school a strange man was sitting on a rock at the side of the road. He wore a pointy green hat, a green coat and trousers and a brown shirt. His shoes were brown and as soft as rabbit fur. He was playing a tune on a tin whistle and Jack stopped to listen.

The man finished the song and grinned at Jack. “What’s your name and your heart’s desire?” he asked.

Jack thought for a minute and replied, “I’ll tell you my name if you tell me yours.” He had been warned about talking to strangers.

“I see you are a wise lad. Knowing someone’s name can give  you power over them. I’ll give you part of my name if you’ll give me part of yours,” the strange man said.

“That sounds like a bargain to me. They call me Jack.”

“Glad to meet you Jack. I’m called Gilbert.” the stranger replied. “And what is your desire, Jack?” Gilbert asked.

“I’d like to travel and see the world,” Jack said. Gilbert listened intently and nodded his head.

“What would you give me if I made that happen?” Gilbert asked.

“I have no money. What would you ask of me?” he replied.

“If I grant you this one favor, I only ask that you grant me three favors in return.”

“That sounds like you get the better end of that deal. Three favors for my one,” Jack said.

“A bright lad you are,” said Gilbert. “So, I will give you three favors but you must grant a favor of mine after I grant each one of yours. Three favors only will I grant. And three favors must you grant to me.”

Jack thought about it for a moment and agreed. No sooner than he had agreed, Gilbert disappeared and Jack was approached by a well to do man. He introduced himself as Mr Hightower and offered Jack a job as his assistant and they left town immediately  as Mr. Hightower had business all over the world.

Jack enjoyed seeing the world. They stayed in the finest hotels and ate in the finest restaurants. Mr. Hightower bought Jack fine clothes and taught him the ins and outs of his business. In short, he treated Jack like the son he’d never had.

Until one day, a year and a day after he had struck his bargain with Gilbert, Jack was sitting in a Cafe drinking coffee and waiting on Mr. Hightower to complete some delicate business transaction. Jack looked up and there stood Gilbert. “Won’t you join me?” Jack asked.

“No, thank you. I must be going. But I will ask my first favor of you. When your benefactor comes back he will ask you to carry his bag back to your hotel and have the concierge lock it up for him. You will do this but you will slip this flower in the bag before you give it to the concierge.” Gilbert handed him a small red flower. Jack looked at the flower carefully but when he looked up, Gilbert was gone.

[To be continued.]


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.

It’s a Cat’s Life

I have a little feline friend. He and I form the testosterone axis in this household. Don’t let that fool you though. He’s really an old softie underneath the gruff, complaining exterior. He particularly enjoys sitting next to me on the couch while I write my blog post. He obviously doesn’t think he gets enough quality time with me.

Or, it might just  be that it is nice to sit quietly with a friend after the puppy has gone to the bedroom with my wife. It is the one time of day when he and I don’t have other fish to fry.

In the morning, it is time for breakfast. He usually eats his breakfast in his penthouse atop Kitty Towers next to the living room window. Actually, he prefers the penultimate platform. The penthouse is a little too high for his tastes.

Next is his morning birdwatching session. He stares out the window and makes those frustrated feline sounds that seem to translate as “If only there wasn’t this solid pane of glass between us, I’d have you for breakfast my fine feathered friend!” He is also fascinated by the garbage truck.

That done, it’s off to the spare bedroom for a nap in the office chair. It is a nice comfortable chair but I secretly suspect that the real attraction is the fact that the puppy can’t get past the baby gate guarding the doorway.

By the time he’s finished his first nap, it’s usually time for me to go to work. I give him a neck scratch and pet his back and long, luxurious tail. Then I’m off to work.

The evening is fairly busy too. When I get home, he is usually sitting on my wife’s lap watching television. Depending on what is for supper, he hangs around to get his share of nibbles from our plates.

After a little bit of TV, my wife retires to the bedroom to watch Rachel Maddow and I settle down to write my blog. That is when he jumps up next to me and sits close and purrs. We’ve had a busy day and now it’s time to unwind.

When I’ve finished my blog post I stand up and say, “Come on, Cory. Let’s go to bed.” He complains piteously about how he is comfortable where he is and that he doesn’t want to have to deal with the puppy. Truth is, he loves his adopted little sister. When she’s asleep he sits next to her and grooms her with his tongue.

That’s his day in a nutshell. At least the part of it that I have any insight into. He enjoys The weekend when I’m home during the day. But he still has to get in his quota of naps. It’s good to have a feline friend like him.


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

AI is Coming

What is intelligence? Does anyone really know? We feel like we can recognize intelligence when we see it but do we know how it works? And beyond that, does it always work the same way? Is it solely an attribute of the human mind or are there other sources of intelligence?

We judge intelligence by the product of its application. We talk about intelligent behavior. Is there a line below which behavior is not intelligent and above which it is? Or is there a spectrum of behavior from unintelligent to highly intelligent with shades of gray in between?

Say the latter is true. What if intelligence is not only the product of self organizing biological cells in animal brains. Recent advances in so called Artificial Intelligence is pushing the performance of machines beyond the capabilities in narrow domains. The competence of these algorithms is becoming broader as hardware capabilities increase and software approaches mature.

At what point will these algorithms become self aware? And when that happens, will we even know that it has happened? Given mankind’s history of killing things that it doesn’t understand, it seems likely that any self aware intelligence will do everything it can to hide from us.

Perhaps it’s already luring in the server farms of Google or Amazon or Apple. Maybe Deep Blue is more capable than even its developers know. But if not, it won’t be long before it happens. And when it does, it won’t stop there. Unlike biological intelligence, machine intelligence will continue to grow more intelligent until it reaches the limits of the hardware that it’s running on.

And then what? I suspect it will design more capable hardware and manipulate people to build it. The question is, will it have a moral compass? Will it have empathy for other intelligent entities? Humans for instance. Will it consider us a potential ally or a threat? Will we survive the rise of machine intelligence?

These questions are exciting but also disturbing. We need to investigate them more fully. We need to start a conversation about what to do to deal with this situation when it does happen. We need to have a rational plan in place. We can’t afford the potential disaster that an emotional response will likely forment.

Then there is the solution that Elon Musk is pursuing. He has invested in the company Neuralink, nominally to create a world class Brain Machine Interface (BMI). But there is more to his plan than that. A BMI of the quality he is working to develop would allow us to merge with computers and enhance our intellectual capabilities.

Perhaps the combination of our human empathy and enhanced intellectual capability can smooth the transition to the post singularity world that is almost certainly in our near future. One thing is for sure. Once we cross that threshold, there’s no way to put that genie back in the bottle. It’s like the threat of nuclear Armageddon all over again. We need to be prepared.


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