Flow

July 15, 2016 10:06 am

Most people would understand what is meant by saying one is “in the zone.”  The psychological concept goes by “flow.”  Quoting from Wikipedia,

Flow is the mental state of operation in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. In essence, flow is characterized by complete absorption in what one does.

Mihály Csíkszentmihályi (yah, I have no idea how to pronounce that) wrote a book about flow and describes 6 required factors to achieve flow (borrowed from Wikipedia):

  1. Intense and focused concentration on the present moment
  2. Merging of action and awareness
  3. A loss of reflective self-consciousness
  4. A sense of personal control or agency over the situation or activity
  5. A distortion of temporal experience
  6. Experience of the activity as intrinsically rewarding

I think programming is uniquely suited to the creation of a state of flow.  When working on a programming problem I inherently become more intensely focused as more and more context is pulled in to my working memory.  All the bits and pieces have to be tracked and accounted for.  The more complex the problem the less room there is for extraneous thoughts.

This all-encompassing aspect of working memory feeds into point 2.  I’m not so much typing at a keyboard as I’m modifying the interconnected pieces of the software as they’re held in my working memory.  The typing is more a way to capture the changes as I produce them in my head.  But I’m not thinking about the keyboard in any way, it may as well not exist.

As the construction of the software takes over my mental processes I’m forced into letting go a sense of self-consciousness.  There isn’t any room in memory or processing power left to worry about it.  It is during these times that others might interrupt me to inform me that I’m whistling or tapping on my desk or some other thing that’s bothering them.  I become completely unaware that I’m doing it.  Having a private office at work really helps in this regard.  When I must maintain self-conscious awareness to be courteous to those around me it inhibits the ability to enter a state of flow.

Programming is entirely about personal control over the situation.  It is the programmer’s mind being melded with the limitations of the machine and language.  Once the keyboard and the monitor melt away as mere extensions of one’s own thoughts and senses it is simply a matter of solving the problems and verifying the solutions.

The time distortion is one of the most fascinating aspects of flow.  While in flow I can work for hours on something and it will feel like just minutes.  Hunger disappears, emails are ignored, music is unheard.  What I’ve recently been able to observe is the “awakening” process that occurs at the end of flow.

A few weeks ago I was working on a new feature in one of our applications at work.  I had my browser up to test changes as I went, energetic music was playing, my text editor was opened up with all the needed files loaded.  I loaded all the relevant information into my head and began implementing the solution.

As my commits to version control piled up and the task was completed I was aware of the state of flow ending.  It’s very much a let down.  Flow is a heightened state of awareness and efficacy.  Coming out of it feels something like rapidly becoming dumber.

As I came out I became aware of the music playing to the point that it became distracting and turned it off.  I glanced at my email inbox and wondered how that many emails had come in without me noticing.  I noticed the time and realized that it was both after time to head home and that I was really hungry.  And, ultimately, I re-entered reality with almost an awed feeling of having lived in a land where thoughts and actions blurred.  Where my abilities were a cut above the normal day-to-day levels.

Achieving flow is not something that happens daily for me.  It can be weeks between sessions.  But when I can achieve flow it reminds me how enjoyable problem solving can be.  Writing software is the medium, but not the goal.  I believe it’s the satisfaction of finding and implementing solutions that drives flow for me.

Heather’s Dance Recital 2016

June 12, 2016 3:51 pm

Heather’s dance recital was on Saturday, June 11.  She loved it.  Her favorite part was “all of it.”  We went and got frozen yogurt afterwards.

The company doesn’t allow video taking during the performance, but this year they at least put up free videos and some free pictures that can be downloaded.  The photographer taking the pictures had a camera that does much better than ours in low-light conditions.  So I’ll just post those pictures since they look much nicer than the noisy ones I took.  Low-light performance is really the only reason I’d like to upgrade to a newer camera at some point; the sensor technology improvement over the last 7 years have been pretty impressive.

I don’t really have much else to say, so here are pictures and the video is at the bottom:

june37pm-9395as june37pm-9386as june37pm-9357as june37pm-9355as june37pm-9352as june37pm-9351as june37pm-9338as

And some pictures with her teachers after the show.  She switched teachers half way through the year because her original class only had 2 kids so they combined them into one of the other classes before they started learning the recital piece.  I really should have used a fill flash for these pictures in the shade with the sunlit building behind them.  Oh well.

IMGP5193as IMGP5207as

Now the video (it’s only 2:40 long, it’s just Heather’s dance).  It was just a wide-angle shot of the whole stage.  I cropped it down which is partly why the resolution is low.  The teacher is standing stage left, guiding them through the routine, which is why Heather is almost always looking that way.

If the video won’t play in your browser, you can right-click and download it here: Heather Recital 2016

New Couches

June 10, 2016 8:09 pm

After failing to get a new front door we decided to replace the traditional couch & loveseat in the living room with more “sactional” pieces from Lovesac with a new cover color that we could mix & match with our existing pieces.

After an absurd amount of deliberation we chose a nice forest green color as we thought it would go well with the other colors we have in the house.  And it does look quite nice.

Lovesac introduced wedge pieces (in the family room picture) and roll-arms (in the living-room picture) in the last few years which increases the versatility and stylishness of the collection.  We’re quite pleased with the quality, durability, and flexibility of the sactional pieces and covers.

Here are some before and after pictures (I probably should have taken the before & after pictures at the same time of day, but I didn’t and I don’t feel like taking more):

Living Room:

IMG_20160606_220917as IMG_20160610_074609as

Family Room:

IMG_20160606_220854as IMG_20160610_074451as

Heather’s Last Day of Preschool

June 9, 2016 9:05 pm

IMGP5069as

Today was Heather’s last day of preschool.  They had a potluck lunch and little certificates.  The teachers wrote down one memorable thing about each kid as part of their certificates.

IMG_20160609_120624as

If you can’t quite read it, Heather’s says: “Classroom Encyclopedia, Google = Heather.”  She’s a learner.  She loves learning about everything she can.  Her favorite shows are still The Magic School Bus, Wild Kratts, Octonauts, Daniel Tiger’s Neighborhood, Sesame Street, and others.  She watched Planet Earth with us and was super excited about the animals she recognized from the other shows (e.g., whale shark and vampire squid).  She can pick up and read pretty much any children’s book these days.  It’s still hard work for her, but she can do it.  She’s constantly asking questions about things and asking for explanations.  Her standard procedure is to ask Jess, if Jess doesn’t know, she’ll ask me, and if I don’t know, she’ll say, “Just ask Google.”

She’s developing a concerningly comfortable relationship with Google as a fount of all knowledge.  By which I mean, she’ll ask questions like, “What did I eat for breakfast last week?”  And when we say we don’t know she’ll tell us, “Just ask Google; it will know.”  We’ve tried to explain that Google doesn’t work that way, but she doesn’t seem to believe it.  Google knows everything.

Anyway, she had a great year.  She loved preschool.  She was sad anytime she had to miss a day because she wouldn’t be learning the things everyone else was that day.  This fall she’ll start TK (Transitional Kindergarten) for which she is excited.  At least one of the kids from preschool will be in her TK  class next year, so it won’t be all strangers.

June 2016 Camping

June 4, 2016 3:33 pm

Heather and I were supposed to go camping a couple of weeks ago.  I had made a campsite reservation back in May.  The weekend of our trip had cool and comfortable weather–and we were all sick with hand-foot-and-mouth disease.  So we had to reschedule.

I booked the same site for this weekend (June 3-4) and we had roasting 99F weather all week leading in to our trip.  We camped at Joseph Grant County Park in Santa Clara County at the base of Mount Hamilton.  Luckily, after we climbed up into the hills where the campground is, the temperature was at least 10 degrees cooler and there was good shade (I scouted out likely shady sites using Google Maps beforehand, shade is key).

IMG_20160603_185536as

We got to the site around 6:30 and got the tent all set up.  Not wanting to need to get a fire going to cook or eat something hot, I opted for Subway sandwiches for dinner.  We ate those and took a little walk up to an observation hill as the sun set.

After the sun set and things cooled down a bit we got the fire going to prepare for s’mores.  Heather was pretty fascinated by the concept of arranging the wood to allow oxygen flow to help the fire.  After a few false starts she was able to muster up the courage to add a couple of sticks after the fire was going.  She also tried roasting her own marshmallow; it caught on fire in about 5 seconds.

Heather particularly liked the way the fire made everything “look all glowy.”  Like this:

IMG_20160603_204514as IMG_20160603_205754as

Heather fell asleep around 10:15 (usual bedtime ~7:30) and I stayed up a bit longer to enjoy the quiet and let the fire die out.  Then she was up with the sun around 5:45am, declaring it “not night time anymore.”  So….we’re both a bit sleep-deprived today.

Breakfast was Fruity Dyno Bites (Heather requested a cereal breakfast and it’s hard to argue with simplicity).  This brought us to about 6:30am so I figured I would break camp while it was still cool and overcast as the forecast was for another hot day.

IMG_20160604_063934as

Due to really annoying flies, Heather asked if she could just sit in the car, so she did (somewhat surprisingly, I guess she was kind of tired).  I was taking the tent down and noticed a oddly worn-out spot on the floor underneath one of our sleeping pads (this tent floor is the same nylon material as the sides, not a tarp bottom).  I figured there must have been a pointy rock under the spot, but it actually felt like a little hollow space.  I thought it odd that a hollow spot would cause that much wear on the material.  Then I folded up the tent and saw the tent footprint underneath.  It had a hole clean through it (picture taken after getting home).

IMG_20160604_143954as

When I folded back the footprint there was a nasty looking creature lurking in a thumb-size hole under the spot!  A creature that apparently ate or tore a hole through the footprint and tried to get in the tent!  I didn’t get a good look at it though and, after moving the tent and footprint elsewhere, it was gone when I got back.  I think it may have been a wolf spider though:

DSC_0017bbGah!  I have no idea what we would have done if that thing had cut into our tent floor and started climbing around inside.  Might have had to just burn it all down and go home.

So, now I have to repair the tent and footprint.

Anyway, we got packed up and home around 9:00am.  Which was fine with me since it was only going to get hot and unpleasant out.  Our next camping adventure is scheduled in July.  We’re going to try Heather’s first multi-night camping trip.