Speeding up the Assembly Line

No matter what I turn my hand to, whatever activity I undertake, I always end up programming.

In the late 1990s when I was a copy editor, I coded GREP macros in Nisus Writer to speed up spelling and punctuation corrections. Later, nPower, a suite of HTML tools, and KD Screenwriting System, both released as freeware. This led to a commercial job programming a translation package in Nisus.

At that time I was interested in writing, but instead of a novel, I wrote StoryProject, an innovative non-linear outliner. Programmed with HyperTalk, it was pushing the limits of the easy-to-use, high-level framework of HyperCard. But it did well as shareware, sold through the Kagi payment system.

In the early 2000s, when I was making short films, I learnt to work with 3D software for animation and movie fakery. Soon I was writing plugins in the COFFEE scripting language for Cinema 4D.

From 2005 I was busy with stock photography and 3D graphics. Again, I coded my own tools, including a photo editor that greatly speeded up my workflow. By now I was using Python. Probably most demanding were FITS processing tools used in astrophotography. Addons for Blender, the open source 3D software, should also get a mention, as I’ve made quite a few of them, including one commercial job.

My biggest Python project to date is Quicknr, a commandline application for publishing websites from plain text sources. It is a pleasure to use and is proving invaluable in my website work.

I am now 100% committed to Python, and have complete command of the language. The issue is no longer “what have I learned”, but rather “what have I forgotten”. There are over 300 modules in the standard library. The challenge is to quicken your access to the documentation and your own code library. My three-part searching solution for Geany, the IDE that I use, exceeds what you may find available in a commercial IDE.

My college degree is English, not Computing Science. In the context of Python, that should be seen as a potential advantage. I am not encumbered by paradigms from other languages, such as Java or C. My code is naturally “pythonic”, does not re-invent the wheel, and uses Python to best advantage.

Previous

Next