The Oracle of the Programmer
€ 2,99
The Oracle of the Programmer is a practical book to find solutions to problems of coding and technical design. It presents a new image of the programmer as an artisan and offers thinking paths a coder can explore when he or she hits a seemingly insurmountable issue.
The book was written about 20 years ago to help young programmers with writer’s block. In those days, our colleagues were more or less self-taught and very young.
Even if programming education has evolved a lot since then, and there are a lot more tools available to assist coders and support staff, the community still suffers from many of the same issues of the early days. Coding is no longer an exclusive skill for programmers, but it’s a competence picked up by designers, scientists, high school students, and their teachers. Many technicians of all kind had to learn to code in order to work with ever more evolved and self-thinking machines.
This book aims to offer a helping hand to our growing community and provide inspiration, reason, and warmth when there is a lacking thereof.
Behind the oracle
Now that we have established this initial framework, we’ll address the oracle. This pamphlet, in its essence, has nothing original to it. The basic idea comes out of the use of the card deck by Brian Eno, one of the fascinating musicians of the nineties, who created a card game to use in case of ‘creative block’. Eno’s cards come with instructions to help the musician in his work:
- Honour thy error as a hidden intention
- Try faking it
- Use an old idea
- Do something boring
- Only one element of each kind
- State the problem in words as clearly as possible and many others in the same tone.
Eno, on top of being a musician, producer, and creator of digital art, is an artist closely in touch with the technological avant-garde in North America, and his reflections notably influenced some of the creators of new technology, above all related to the internet. He was a pioneer in the use of personal computers to create music and visual art, and his web presence is broad enough to find him while surfing about various subjects of a different nature, which shows his ample interests and influence.
On the other hand, (and take note that I’m an atheist, foreign to all superstition) the use of oracles to make decisions is as antique as civilization. The I Tjing, reputed as one of the oldest books of humanity, is the most known. The Tarot, reading the flight of birds, interpreting the shapes of the clouds or the entrails of a sacrificed animal, are as well expressions of this activity of ‘giving meaning’ which characterizes us as humans.
These references to the I Tjing and Brian Eno aren’t as alien to computers and programming as one might think at first sight. The German mathematician Leibniz knew about the ancient Chinese oracle thanks to his relationship with Jesuit explorers, who were since the 16th century the ideological avant-garde of the European empires’ expansion into Asia. It is said that Leibniz invented (or discovered) the binary number system contemplating the hexagrams or drawings of 6 lines that make up the I Tjing. As it happens, Leibniz is one of the fathers of the two fundamental elements of modern computer science: the invention of one of the first mechanical calculators, and the start of what later would be called symbolic logic (aside from the binary numbers mentioned earlier).
By emulation, perhaps out of laziness, I partially copied the scheme of I Tjing. Each subject has his own ‘dictum’, his ‘explanation’, (which would be equivalent to the ‘images’), and its commentaries, like those supposedly written by Confucius as an appendix to each hexagram. Not to fall into an anachronism, which sooner or later would be discovered, the comments in this book are obviously not from Confucius, but from various other characters: musicians, architects, philosophers, mathematicians. I could have used classic authors from our art, like Wirth, Ritchie, or Knuth (I did use some of them). But I preferred poets, musicians, mystics, philosophers, for two reasons. First, the books of earlier mentioned and cited authors, although masterpieces and often landmarks in the history of computing are, I believe, difficult to read for the majority of today’s programmers. Second, by citing texts of other artisans we hope to reinforce the underlying idea behind the aphorisms, that our art is an art like any other and has the same advantages and disadvantages, problems and happiness of any other art form.
Ultimately, it’s about what man makes; his praxis, about that production-reproduction of the world of which Hegel and his disciples talk. To program a computer is, in a small way, to modify the world; a poem from Borges may help us see this clearly:
A unos trescientos o cuatrocientos metros
de la Pirámide me incliné, tome un puñado
de arena, lo dejé caer silenciosamente un poco
más lejos y dije de vos baja: estoy modificando
el Sahara. El hecho era mínimo, pero las no ingeniosas
palabras eran exactas y pensé que había
sido necesaria toda mi vida para que pudiera decirlas.At about three or four hundred meters
of the Pyramid, I bent down, took a handful
of sand, and dropped it silently a little
further and I said in a low voice: I’m modifying
the Sahara. The act was minimal, but the simple
words were accurate and I thought
All my life had been necessary for me to say them.
If the eventual consultation of this oracle serves to unblock some programmer in one of those unfortunate moments where he must deliver a program or a routine in ten minutes, and has no idea where to start, I’ll feel satisfied. Surely I won’t find out if it happens, but that is only a ‘bug’ of the oracle which, for reasons of coherence, I refuse to eliminate.





