Reflections on Python
Its all about the plotter
I learnt to code when I arrived in London in 1997, one of the thousands of young Australians completing their rite of passage from university to adulthood via an extended European trip. Faced with the reality of needing to earn a living and very little jobs on offer to those with a training in Anthropology, I turned to my other skillset, a (very) limited ability to program computers learnt during my childhood. As many others have experienced, this accidental beginning turned into a career which continues in technology to this day. While I spent many years coding for a living, I ceased using these skills roughly 15 years ago as I transitioned into design and management. I have worked on many projects and advised companies who use python yet not had the opportunity to get my ‘hands dirty’. For me the homework task was one of re-learning lost skills as well as acquiring new ones. Reminders from my past include remembering how frustrating syntax can be when it is pernickety over wrong indents or a stray colon. How many hours I spent in my life fixing these trivialities does not bear dwelling on. The challenges I had with the plotter reminded me of when I coded the London Underground ticketing systems, and the hours we spent testing by printing tickets and walking through mock ticket barriers in a test lab underneath 221 Baker St, feeling like we were solving our own kind of mystery. My main learning from this was the reminder that when physical machines are involved, the code is never fully tested until it runs successfully on the machine. The plotter moved in ways I did not anticipate. For example, the original code provided by the course instructors did not bind the movements of the plotter to the page, as it did when simply printing to a file. Lessons I remembered were the value of well-structured code, properly commented and readable. While modern computers have plenty of compute power, programs can still run into issues caused by inefficient code as they are inherently less maintainable. While the artwork task was challenging due to my rather limited artistic skills, I found that by making the code configurable through input allowed for greater experimentation and quality of output, through continually adjusting the number of circles the plotter was drawing.