Skip to main content
May 18, 2011

Patterns in Programming: Part I

Just so I don't mislead you, this is not about Adapter, Bridge, Abstract factory, and other dry (yet important) software design ideas.Instead we will discuss patterns of the programming process and their relationships to musical expressions. This is, more or less, a personal exposé into one of my approaches to writing software.

Like many people engaged in a solitary activity, it often helps to incorporate music as part of the sonic landscape. It is typical to place my multi-GB collection into shuffle-by-track mode; this keeps me just enough on edge so I don't fall into a whispy, dreamy state of mind... I wouldn't want to end up in some error-prone alpha state while typing out, for example, a business-critical algorithm!

Exposition Comes Before Development

if __name__ == '__main__':
Sister Rosetta Goes Before Us, Alison Kraus
Ok, I'm writing a python script, just getting started, and this wonderful tune appears inside my head. The beautiful melody is far more interesting than our mundane main() statement.

def get_options():
version_info = 'checkipa: version %s' % (VERSION_NUMBER)
p = optparse.OptionParser(version=version_info)
Fuge Nr. 20 in A minor - WTC Book II, Bach (Glenn Gould)
Yikes! At breakneck speed the script's form emerges as Bach's contrapuntal explorations threaten to overwhelm my concentration. (Did I just hear an implied Neapolitan Sixth?) Anyway, Gould's performance of this mini masterpiece is astounding. Nonetheless, you need to keep your options open, right?

self.plist_file_RX = re.compile(r'bInfo.plist$')
Robot Poetry, Penta - Give Me Five!
What's going on here? Well, we're setting up a regex in the constructor to scan the IPA package's file list. Then if we find it, we'll extract this important file for parsing. Oh yeah, I almost forgot: the frenetic pace doesn't let up one bit as Penta's Nikita Tselovalnikov rocks the psy trance party.

def checkBundleID(self):
if 'CFBundleIdentifier' in
if['CFBundleIdentifier'].strip() == "":
self.errors['bundleid'] = True
else: # key missing
self.errors['bundleid'] = True
Oleo, Pat Martino - Live at Yoshi's
The CFBundleIdentifier, as any iOS developer will tell you, is fundamental — and critical. Thus the script makes sure that the key exists and its value is a non blank string. If the CFBundleIdentifier doesn't meet this basic criteria, then we mark it as an error. Pat Martino, however, couldn't care less about iOS development details; but he obviously cares about creating an exciting guitar solo over Oleo's rhythm changes. And I am grateful for that.


Our python script is not yet done, insofar as this post is concerned. So please come back next week to join the continuation of our musical journey in Part II.


More from the Blog
Mar 13, 2018

Latest Revelations Confirm Arxan’s Suspicions of Source of Apple Source Code Leak Issue

In early February news broke
Read more
Jan 11, 2017

Apperian Moving Up and To the Right as Part of Arxan Technologies

A letter from Mark Lorion, President & General Manager of Apperian. Dear Apperian Customers and Partners,
Read more
Dec 27, 2016

Predictions for 2017 - Where is Enterprise Mobility Headed?

The new year is around the corner and as we look back at 2016 it was an exciting year for the enterprise mobility market, ful ...
Read more