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.

It is often observed that attempting to undertake one task begets another, with the corollary that two days later you’ve built a bikeshed painted in a multitude of colours.

So, dear readers, this tale of woe begins with the need to update my blog to something useful after 18 months of neglect and more. I had been writing a travel blog from when I took some leave off work to wander the globe. For this task, a new more generic DNS entry and an upgrade to the WordPress installation and syndication with my Advogato blog. Easily accomplished and a sense of progress.

This blog entry is going to be mostly a technical one. I’ll try incorporating more of real life in other entries.

Great, now I can tell the world about my little project toying with Vagrant and Puppet.

It is called “Browser In A Box”. It is up on Github https://github.com/mtearle/browser-in-a-box

It is very simple, a Vagrant file and a set of Puppet manifests/modules to launch Chromium in kiosk mode inside a VM to hit a certain URL. This is part of planned later work to look at creating a Vagrant development environment for Concerto.

At this point, I got distracted … aside from the liberal upgrades of bash on various machines to address Shellshock

Then I accidentally purchased a new Ultrabook. My previous netbook had been getting long in the tooth and it was time to upgrade. I ended up purchasing a Toshiba Satellite NB10, a reasonable processor Intel N2830, 4 Gig of RAM and 500 Gigs of spinning rust. Those are the nice bits.

On the negatives, Crappy Toshiba keyboard layout with the ~ key in a stupid spot and a UEFI bios. It is now blatantly apparent why Matthew Garrett drinks copious quantities of gin.

Special brickbats go to the Ubuntu installer for repartitioning and eating my Windows installation and recovery partition. (The option to install over my test Debian installation got over enthusiastic).  The wireless chipset (Atheros) has a known problem where it confuses the access point.

The next distraction ended up being a fit of procastination in terms of rearranging my tiny apartment. I’ve now modelled it in a program called Sweet Home 3D. Easy and straight forward to use. Needs a few more furniture models, but perfectly functional. I shall use it again next time I move.

Finally, we arrive at the the original task. I want to start syncing my calendars between various locations (written here for my benefit later).

They are:

  • Work stream – From my Work (Exchange) to my private host (Radicale) to Google Calendar (which will get to my Android phone)
  • Personal stream – From my private host (Radicale) to Google Calendar (and back again)
  • Party stream – From Facebook’s ical export to my private host and Google Calendar

In addition, various syncing of contacts but not my primary focus at the moment.

It appears that syncevolution will do most of what I want here. The challenge revolves around how to get it working. Ultimately, I want to have this live headless hosted on a virtual machine not running a desktop.

In a fit of enthusiasm, I decided upon attempting to build it from source as opposed to using the packages provided from the upstream (to avoid dragging in unnecessary dependencies.

I need to build from HEAD due to recent code added to syncevolution to support the change in Google’s CALDAV API to be behind OAuth V2.

This was not an overly successful exercise, I ended up getting something built but it didn’t ultimately work.

Problems encountered were:

  • libwbxml2 – The upstream at opensync.org is down. There appears to be forks, so playing the game of guessing the current head/release version.
  • activesyncd – Build system is currently broken in parts. There appears to be bit rot around the evolution bindings as the evolution API has changed

I gave up at that point. I’ve since spun up a different virtual machine with Debian Jessie and an install of Gnome. The packages from the syncevolution upstream installed cleanly, but have yet to work out the incarnations to make it work. However, that my friends is a story for a later blog entry…

Dear readers,

In my last instalment I left you having left Brisbane and arrived into Sydney ready to depart Australia.  Apologies for the lack of updates for the past few weeks, I’ve been enjoying the trip, devoting my all my brain cycles to my adventures, and spare moments to catching sleep and relaxing.

After a very long Thursday (courtesy Air Canada), was met at the other end by long time friends, A and E.   Had to remember, or be reminded, to get in the correct side of the car for Canada.  Canada not being of the 76 countries that drive on the left.   Was entertaining for the A and E to watch my reactions to being taken in traffic in the front passenger seat for the first time.

Headed off to A and E’s apartment to freshen up after the long flight.  As A famously boasts, “Closer to the airport than the nearest hotel!”.   Their apartment has a birds eye view looking out over the Vancouver Airport.  The area of Richmond that they live in is being slowly developed and turned into apartment towers.   I’m slightly jealous of the view and that it would be a nice place to spend a lazy winters afternoon looking out of the window.

Of my Vancouver experiences, two stick in my mind.

The first was ringing at my bell tower in a foreign country [1] at the Holy Rosary Cathedral.  I managed to ring there twice, once for a wedding and once for service.   Unsurprisingly, ringers are not a diverse bunch, easily spotted lurking outside towers, and fit into some stereotypes.    That said I had a great time and would love to visit them again.

The second was a trip out to the Richmond Night Markets with A, E and Z.   We worshipped at the stall supplying Rotatos (potatoes cut in a swirl on a stick and covered in cinnamon).  Yum!   Wandered past lots of other delicious food smells coming from the other vendors.   Looked at the dozens of stalls selling iPhone covers and shaking my head.   It was a great market experience.

Sadly, I had to leave Canada for the rest of my trip into the the US of A and crossed the border at of all places, Vancouver Airport.   I think I get bonus points for avoid LAX 🙂

[1] No, Queensland doesn’t count.

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.

 

 

Arrived into Brisbane late morning on Saturday 4th August, it was great to finally get out of the chilly parts of Australia back into a nice, warm sunny part of the country.

First memorable experience of my time in Queensland was getting dragged along to a publicity sing for QUMS at the University of Queensland (UQ) Open Day.   Having participated in UWA Open Days I had some idea of what to expect.   Given it was a publicity sing and they needed all the voices they mustered, joined in and sung a lot of the usual songbook repertoire.   Several people were impressed at the sound tech controlling his rig with an iPad, and he was impressed with the volume that we made when we sang Bogoridtyse Deyvo.

I managed to also attend a couple of QUMS Rehearsals and Coffees during my extended stay in  Queensland.   The coffee at S place was enjoyable with lots of spirited post rehearsal conversation, scheming about BIV and working out QUMS fundraising ideas.  Hot dog, anyone?

Catching up with friends in Brisbane was also important.   Had lunch with R at the local golf club that is near his place, unfortunately in the electorate of that awful Campbell Newman person, but a good afternoon with chats about trains, choristers and beer.

The second lunch that was organised was going out to Brisbane’s Worst Vegetarian restaurant, the Norman Hotel, with I and colleague.  A nice T bone steak was consumed and a lot of very geeky conversation ensued and some discussion on careers.

I also got the chance to cook during one of my evenings in Brisbane.  I’ve grown quite fond of cooking bangers and mash.

Celebrated K’s birthday by heading out to dinner at Southbank.   The food was excellent and was the company.

Lots of ringing, rehearsals, service and even a quarter peal behind.  I’m looking forward to visiting more towers later in London.  I, K and M were excellent company during my ringing in Brisbane.

The second weekend in Brisbane was spent with a trip up to Mount Tambourine with S and K to eat lunch at the Fox and Hounds.   A very good faux English Pub 🙂   The trip also involved a wander around the markets, buying avocados, eating cheese, drinking beer and purchasing some very sinful fudge.

Packing and preparing for the overseas trip became the focus of the last few days in Brisbane.  I’m growing more accustomed to travelling with less, but there were decisions to be made about what ended up getting packed in the back pack and what got left behind.     This also meant the end of the driving trip across Australia, I’d covered somewhere around 7000 km (will need to check fuel records) over the length of the whole journey.    I don’t think I’ll undertake another long drive for a while again, although I’ll need to head down to Busselton for my school reunion when I get back to Australia.

Driving around Brisbane was much nicer than Sydney or Melbourne, just as long as you get the right exit and don’t disappear off onto the Inner City Bypass…. 25 minutes later ….. anyhow, hills are still exciting for a flat town person like me.

Woke up on the morning of the 16th August and took the taxi out to Brisbane Airport.   A mixture of sadness at leaving Brisbane with the excitement of heading onwards to Vancouver for the first leg of my international trip.  The trip down to Sydney with Qantas was uneventful but otherwise enjoyable.   I’ll leave off here and will continue to write about the next part of my trip in another post.

 

This blog entry has taken some time to put together and write up as other things have been keeping me occupied and enough time for reflective thoughts and writing has been proving elusive.

Drove out of Sydney heading out into regional New South Wales with a mission to get to Parkes in one day.  This is only 400 or so kilometres.  On WA roads, it would be easily achievable and quickly.   I managed it however, but NSW does have a different idea of what a highway is.

Passed through Bathurst, on the way to Parkes, indulged my inner motor head and drove around the Mt Panorama circuit.   Head onwards to Orange and then continued to Parkes.

My GPS decided to take me the dirt track way to get to the telescope and managed to arrive about fifteen minutes before closing at the gift shop.  Took some photos, bought some merchandise and indulged the geek in me.  Collected some geeky telecommunications photos too.   I’m a bit sad that I arrived there several days early, I think it would have been a much more exciting time as the Curiousity Rover was landing.

Returned to Orange for the evening and caught up with J and her band of ringers at Holy Trinity.   A very fun ring with some practice of call changes.   J and her husband put me up overnight which I was thankful for.

It would have been remiss of me to visit Orange without going and seeing B M OAM.   Had a lovely cuppa with him and chatted about all things choral and IV, and then let him return to his home renovations.

Drove onwards and arrived just after dusk in Tamworth.   Found a motel to stay in, after some confusion with the GPS, and settled for the night.   The meal at the restaurant attached was notable for its blandness.

The next day started with a visit to the Big Guitar and was then onwards through Armidale, down the side of the mountain at Dorrigo to Bellinen, a cut across inland to Varley and then onwards to Coffs Harbour.

The motel at Coffs Harbour felt like something out of survivor, but it had a stove and I took the opportunity to cook for myself for a change whilst travelling.   In the morning, the Big Banana was visited and then onwards to Bryon Bay.

Byron Bay reminded me very much of Margaret River, however with something mildly wrong and much more exploitative of the tourist.  In quaint country town style I had arrived on the day of the Coffs Cup and some stores that I wished to use were closed.   Egads!

At K’s suggestion, went and wandered up to the lighthouse and looked out into the Pacific Ocean.  Wandered down the hill to the most easterly point of the Australian continent.   I then head back into town and found a nice BnB with the most blue room ever to stay for the night.

The next day was the final major driving leg of this trip to Brisbane, and crossing the border into Queensland.

Returning back to the topic of this post, one of my favourite bits of trivia about the east cost of Australia (as opposed to Western Australia) is that Tasmania, South Australia, Victoria, Queensland and the ACT were all part of New South Wales at some point in their history.

Driving around the east coast of Australia you can see this influence, both current and historic, of Sydney and New South Wales pervade the built environment and culture.

As I crossed the mountains outside of Sydney and got back onto the plane, the areas there felt like a completely different state.   Victoria, now in comparison, seems lost elsewhere in time.   Canberra and ACT seem schizophrenic, not knowing if they want to be New South Wales or Victoria.

I’ve enjoyed seeing the bits of Australia in between and may go and visit there again.

 

 

 

Arrived Sydney late Wednesday afternoon into Paramatta.  Visited ringing practice at All Saints.  Lovely bells and a nice band, then headed onwards onto D’s place in Petersham.

Understandably snoozed a lot on the Thursday.    Friday, I first visited a contact who works for AARNet and touched based on a couple of projects that are under way and caught up with D and Q after they got home.

Saturday was catching up with geek friend, M.

A very good evening was had with L and A and their friend M.  M and her friend M also turned up.  Met A?.  A also dragged M along.  Lots of very yummy home made pizzas were made 🙂

Sunday was catching up with S and G for lunch, briefly met their son D.   Lots of change in their life with a new house and a change in employment situation.   The Sunday evening was spent with the cousins, who are always great company.

Monday night was ringing practice at St Andrews, and then Tuesday was getting back on the road again.

Crossed the harbour via the bridge and tunnel multiple times and got used to driving in Sydney… not that scary!

This slightly delayed post covers Canberra.   Delayed mostly from not having very much computer time over the past few days to reconnect back into the geeksphere.

Have now done a lot of the tourist things in Canberra – National Carillion, National Portrait Gallery, National Library, Old and New Parliament Houses, Royal Australian Mint and the very solemn Australian War Memorial.   There are still a few left like the place with the miniature things.

Enjoyed wandering around the Parliament Houses and looking at the architecture.   Shall have to visit again when the House of Representatives is sitting.

Rung for service at St Pauls in Manuka.  Nice bells and a sociable bunch of ringers, including a Canberra chorister that I already knew.

Went with S and L to a bonfire over the border in New South Wales for Sunday night.  Was a fun experience on a cold winters night and had lots of yummy Vegan food.

Organised a dinner gathering on the Monday night at a cafe called Cream.  N, K, A, C, G, M, R, P, S, D, L, S all turned up throughout the course of events.  Introduced M to P and I’m sure they’ll enjoy going for motorbike rides and honing their ninja skills.  S came with myself, L and S to get soy fried ice cream elsewhere in Canberra.  It was a great experience to introduce completely (for values of Canberra) separate friends to each other and have them get along.

Departed Canberra and headed off to Jindabyne.  Saw snow again in the distance (I’m progressively getting closer…) and caught up with D.  Had some excellent Indian, chatted about life, IV and floristry 🙂    Continued heading onwards to Sydney but that is for another post….

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.