""" Program: ObliqueStrategies.py Description: The Oblique Strategies were originally a set of one-hundred cards, each bearing a short phrase. They were devised by Brian Eno and Peter Schmidt as ways of working through creative problems. When a blockage occurs, draw a card, and see if it can direct you in a tangential way that helps solve the problem. This implementation has three lists making up two different decks. The entries in the list "cards" are strategies taken from version four of the printed cards, including all corrections. But it also includes any strategies that were deleted from that edition but found in previous printings. So it is something of a meta-version. I have additionally made some minor typographic changes. (c) 1975, 1978, and 1979 Brian Eno/Peter Schmidt The entries in the list "diary" are additional strategies taken from "A Year With Swollen Appendices: The Diary of Brian Eno". (c) 1996 Brian Eno Together, these lists make up the "eno" deck. The "robin" deck is made up of my own strategies, devised over some time and still evolving. These were not written with any reference to the original Oblique Strategies. Usage: Simply run this program from the command-line to get a random strategy. There is a parameter to specify the deck; the usual UNIX switch --help will tell you all about that. Reference: www.rtqe.net/ObliqueStrategies/ Program Copyright: (c) 2005 Robin Parmar . License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at http://www.gnu.org/copyleft/gpl.html for more details. """ __version__ = '0.1' import random from optparse import OptionParser class ObliqueStrategies: # possible decks decks = ['eno', 'robin'] cards = [ '', '(Organic) machinery', 'A line has two sides', 'A very small object. Its center', 'Abandon desire', 'Abandon normal instructions', 'Accept advice', 'Adding on', 'Always give yourself credit for having more than personality', 'Ask people to work against their better judgement', 'Ask your body', 'Balance the consistency principle with the inconsistency principle', 'Be dirty', 'Be extravagant', 'Breathe more deeply', 'Bridges -- build -- burn', 'Cascades', 'Change ambiguities to specifics', 'Change instrument roles', 'Change nothing and continue consistently', 'Children -- speaking -- singing', 'Cluster analysis', 'Consider different fading systems', 'Consult other sources -- promising -- unpromising', 'Convert a melodic element into a rhythmic element', 'Courage!', 'Cut a vital connection', 'Decorate, decorate', 'Destroy nothing; Destroy the most important thing', 'Discard an axiom', 'Disciplined self-indulgence', 'Discover your formulas and abandon them', 'Display your talent', 'Distort time', 'Do nothing for as long as possible', 'Do something boring', 'Do something sudden, destructive and unpredictable', 'Do the last thing first', 'Do the washing up', 'Do the words need changing?', 'Do we need holes?', "Don't avoid what is easy", 'Emphasize differences', 'Emphasize repetitions', 'Emphasize the flaws', 'Feed the recording back out of the medium', 'Fill every beat with something', 'Find a safe part and use it as an anchor', 'Get your neck massaged', 'Ghost echoes', 'Give the name away', 'Give way to your worst impulse', 'Go outside. Shut the door.', 'Go slowly all the way round the outside', 'How would you have done it?', 'Idiot glee', 'Imagine the piece as a set of disconnected events', 'Infinitesimal gradations', 'Intentions -- nobility of -- humility of -- credibility of', 'Into the impossible', 'Is it finished?', 'Is something missing?', 'Is the intonation correct?', 'It is quite possible (after all)', 'Just carry on', 'Left channel,right channel, center channel', 'Listen to the quiet voice', 'Look at the order in which you do things', 'Lost in useless territory', 'Lowest common denominator', 'Magnify the most difficult details', 'Make a blank valuable by putting it in an exquisite frame', "Make what's perfect more human", 'Mechanize something idiosyncratic', 'Mute and continue', 'Only one element of each kind', 'Openly resist change', 'Put in earplugs', 'Reevaluation (a warm feeling)', 'Remember quiet evenings', 'Remove a restriction', 'Repetition is a form of change', 'Reverse', 'Short circuit (example: a man eating peas with the idea that they will improve his virility shovels them straight into his lap)', 'Simple subtraction', 'Spectrum analysis', 'Take a break', 'Take away the important parts', 'Tape your mouth', 'The inconsistency principle', 'The tape is now the music' 'Think of the radio', 'Tidy up', 'Trust in the you of now', 'Turn it upside down', 'Twist the spine', 'Use an old idea', 'Use an unacceptable color', 'Use fewer notes', 'Use filters', 'Use your own ideas', 'Water', 'What are the sections sections of? Imagine a caterpillar moving', 'What are you really thinking about just now?', 'What is the reality of the situation?', 'What mistakes did you make last time?', 'What would your closest friend do?', 'Work at a different speed', 'You are an engineer', 'You can only make one dot at a time', 'Your mistake was a hidden intention', "Don't break the silence", "Don't stress one thing more than another", 'Use "unqualified" people', "What wouldn't you do?", "Try faking it [Stewart Brand]", "Slow preparation, fast execution", "Is the style right?", "Where is the edge?", "Voice your suspicions", "What is the simplest solution?", "Make it more sensual", "Use something nearby as a model", "Think -- inside the work -- outside the work", "What context would look right?", "When is it for?", "What to increase? What to reduce? What to maintain?", "How would someone else do it?", "Would anyone want it?", "Go to an extreme, come part way back", "Once the search has begun, something will be found", "Be less critical", "From nothing to more than nothing", "Retrace your steps", "Only a part, not the whole", "Faced with a choice, do both [Dieter Rot]", "Always give yourself credit for having more than personality [Arto Lindsay]", "Revaluation (a warm feeling)", "Lost in useless territory", "It is quite possible (after all)", "Idiot glee", "Move towards the unimportant", "It is simply a matter of work", "Not building a wall; making a brick", "The most easily forgotten thing is the most important", "State the problem as clearly as possible", "Always the first steps", "Question the heroic", "Go outside. Shut the door.", "In total darkness, or in a very large room, very quietly", "Which parts can be grouped?", "Change specifics to ambiguities", "Use cliches", "Consider transitions" ] diary = [ "Back up a few steps. What else could you have done?", "Describe the landscape in which this belongs.", "First work alone, then work in unusual pairs.", "How would you explain this to your parents?", "Instead of changing the thing, change the world around it.", "List the qualities it has. List those you'd like.", "Steal a solution.", "Take away as much mystery as possible. What is left?", "What do you do? Now, what do you do best?", "What else is this like?", "What most recently impressed you? How is it similar? What can you learn from it? What could you take from it?", "What were the branch points in the evolution of this entity", "What would make this really successful?", "When is it for? Who is it for?", "Who would make this really successful?" ] robin = [ "A shadow is cast upon the wall.", "A sketch is good enough for now.", "Add a catalyst.", "Adopt an arbitrary conformity.", "Ending is beginning.", "Ask google.", "Be imagistic.", "Be more self-reflexive.", "Betray your instincts.", "Beyond a level of complexity, spontaneous assembly occurs. [De Landa]", "Choose a colour you dislike.", "Close your eyes.", "Cook yourself a meal.", "Copy your last action.", "Delegate the most important process.", "Delete your favourite thing.", "Do what is easy.", "Do what is necessary.", "Drop a beat.", "Even out the tone.", "Find a good person to kick your ass.", "Find a new context.", "Find an unlikely collaborator.", "Follow that whim.", "Get some fresh air.", "Hug someone.", "Increase cohesion.", "Increase tension.", "It's not that important.", "Lie down and breath.", "Light some incense.", "Look to the borderlines.", "Make more concrete.", "Meet face-to-face.", "Minimalism / maximalism.", "More boring.", "Nothing is something.", "Obliterate the most recent.", "Picture your childhood home.", "Seek the original.", "Separate the parts.", "Slice into equal pieces.", "Slow down.", "Spark a fire.", "Spiral like a nautilus shell.", "Stand on one leg.", "Stop and drink tea.", "Take fragmentary notes.", "Take the tangent to the centre segments. [Alphaville]", "The snail carries its home.", "There are no rules.", "There are places we go when we travel.", "There is nothing to say.", "Turn it inside out.", "Turn it into a ritual.", "Twice as fast and half as long.", "We have come to the war zone.", "What are you doing next Saturday?", "What haven't you noticed?", "Where is the outside?", "Write a computer programme.", "Write a surprise letter." ] # the eno deck is compiled from two lists eno = cards + diary def __init__(self, deck='eno'): deck = deck.lower() self.texts = [] # seed randomiser from system time random.seed() # for each specified deck, add entries to our list for d in self.decks: if d in deck: self.texts += getattr(self, d) def GetCard(self): # return a random entry from our list return random.choice(self.texts) def PrintCard(self): # print a random entry from our list print '\nOblique Strategy v.%s:\n>> %s <<' % (__version__, self.GetCard()) if __name__ == '__main__': parser = OptionParser() parser.add_option('-d', '--deck', dest='deck', default='eno|robin', help='specify deck to use') (options, args) = parser.parse_args() os = ObliqueStrategies(options.deck) os.PrintCard()