The theme of this blog entry was triggered by a set of slides that were presented at this OSCON this year on the topic of flow. Flow being the wonderful energised state where you are fully focused upon and enjoying
the activity at hand.

For reference the presentation was: OSCON2015: Coding in the FLOW (Slides)

 

The conference presentation goes on to describe what the presenter thinks are the criteria needed for when you are coding, but I think there is a degree of generality here that can be applied to anything technical or skilled. They were described as:

  • G = Clear, attainable goals
  • F = Immediate and relevant feedback
  • S = Matched Skill and Challenge

For myself, I think I can add at least one other criteria

  • A = Available Time

In terms of my tinkering away at little software projects, my most recent project has been npyscreenreactor. npyscreen is a Python library around the Python curses bindings. npyscreenreactor is an implementation of interfacing that library with the Python Twisted library.  Twisted is an event driven networking engine for python. The reactor part of the name refers to a design pattern for how to write event based service handlers and have them run concurrently.  (See Reactor Pattern)

The project was written to support virtualcoke.  virtualcoke is an emulator of the behaviour of the PLC that drives the UCC Coke Machine. This is written primarly to avoid club members needing to have access  to the coke machine to test code to speak to the machine and the development of the reactor was needed to enable use of the PyModbus Twisted module.

This project, npyscreenreactor, has taken sometime to come to fruition with an initial working release of the code in March 2015, some bug fixing in June, working examples in August and probably what will now be a stable version in September.

For this the goal, feedback, and skill have been there. However, the available time/energy has not (due to other commitments, such as work).  The wider project that will use virtualcoke, I still need to throw some energy at, but it is now lower down my list of priorities.

In things apart from this, flow has been less forthcoming of late and I’ll need to work on it.  The challenge being to set up a positive reinforcing cycle where the achieving the goal generates warm fuzzies and more enthusiasm to work harder.

… of actually completing things.

Upon reflection, it appears to have been a sucessful week.

Work – We relocated offices (including my own desk (again)) over the previous week from one slightly pre-used office building to another more well-used office building. My role as part of this project was to ensure that the mechanics of the move as far as IT and Comms occured and proceed smoothly. After recabling the floor, working with networks, telephones and desktops staff it was an almost flawless move, and everyone was up and running easily on Monday morning. I received lots of positive feedback which was good.

Choir – The wrap up SGM for the 62nd Australian Intervarsity Choral Festival Perth 2011, Inc happened. Pending the incorporation of the next festival, it is all over bar a few cheques and paperwork. Overall it was a great festival and as Treasurer was pleased with the final financial result (positive).

Hacking – This weeks little project has been virtualsnack. This is a curses emulator of the UCC Snack Machine and associated ROM. It is based on a previous emulator written with PyGTK and Glade that had bitrotted in the past ten years to be non-functioning and not worth the effort to ressurect. The purpose of the emulator is enable development of code to speak to the machine without having to have the real machine available to test against.

I chose to continue to have the code in python and used npyscreen as the curses UI library. One of the intermediate steps was creating a code sample, EXAMPLE-socket.py, which creates a daemon that speaks to a curses interfaces.

I hereby present V1.0 “Gobbledok” of virtualsnack. virtualsnack is hosted up on Github for the moment, but may move in future. I suspect this item of software will only be of interest to my friends at UCC.

I’ve been back in Perth for about a month now and am only starting to re-adjust to it.   After having travelled around the world, I still feel very much like a visitor in town (admittedly, one who knows how to get around)

I’ve been extremely lax about writing up my international adventures. It was hard during the trip due to constantly being on the move with sucky internet access and a case of writers block.    I’ve decided to write up some of the international sections as vignettes so based on requests I’ll write something about those cities first.   In order, Vancouver, San Francisco, Chicago, Grand Rapids, Boston, New York, London, Amsterdam (Haarlem), Oslo and Hong Kong (with a bonus Brisbane and Sydney in there too)

I still have to complete my other journey that requires leaving a very familiar place after 19 years, but I suspect that will happen in the new year.  (ask me in person and I’ll be less cryptic)

Anyhow, comments and requests welcome.

 

 

Continued travel up from Melbourne through Albury, Gundagai, Yass and onwards to Canberra which is where I am currently writing to you from.

Having lived all my life effectively on the coast, inland population centres both fascinate and confuse me.   Why would anyone life so far from the ocean?   What do you do with the extra land that is in one of your four compass directions?

From this visit to Canberra, in comparison to previous ones, the place seems to be going through a bit of a growth spurt.   Talking with the lovely P last night, I was amazed at the comparatively low housing costs compared to Perth.   This is probably making the place attractive to live for some.

Didn’t do as much tourist stuff as I had hoped today.  Was a bit sad when I visited the Telstra Tower to hear that the museum that was there is no more.

Notable achievement for the day was organising a catch up with all my favourite Canberra folk on Monday night.

Reached that point in travelling yesterday where being away from home hits.  Yesterday, was a very cold day in Melbourne and missed hugs and company.

In the evening visit St Paul’s Cathedral for ringing.  Tower stairs make me dizzy!

I’ve spent most of today on tasks and errands, some small progress made, but not much.   Some things seem very difficult to accomplish in Melbourne as opposed to Perth.   I’m needing to spend tomorrow making sure I’ve got adequate supplies ready for IV.

 

Arrived in Melbourne yesterday.

Achievements unlocked:  Driven the Great Ocean Road, Driven on a toll road

Caught up with some of the MonUCS for dinner, then headed off to my friend R’s place to sleep.

This morning visited the Shrine of Remembrance.

Melbourne this time around is proving familiar.   This is not unexpected as I’ve visited several times.   I’m finding on this trip that I’m getting a strong impression of how each capital cities culture translates to what a visitor experiences.  The thing I think Melbourne lacks is a driver to better things – Perth is its isolation, Adelaide not wanting to be Melbourne, Sydney wanting to be first, Brisbane to be big.   I’ll have to compare it with London when I eventually visit.

I’ve arrived in Apollo Bay.  This is my last stop before arriving in Melbourne tomorrow.

The coast line between Port Fairy and Apollo Bay is spectacular.   It reminds me heavily of the Greatwinter trilogy by Sean McMullen.  I was worried that I didn’t have my tether attached and I would be drawn into the Great Southern Ocean.

The drive was also fun in the forest with lots of windy corners.

I’m spending the evening lazing in front of the television, checking the email (with more to be responded to tomorrow) and attending to looking after oneself tasks.

In the interests of brevity and the need for further samples, I’m saving the world from my rant about dodgy plumbing in cheap accomodation.