How to learn to program your own VJ apps

I am not stupid. Mac OS X 10.5 (Leopard) will ship with a new version of Quartz Composer with a GLSL object, which will run any shader (a program that runs on the graphics card) you put into it. Anton has already got his shaders working in a Leopard RC. While Max/MSP/Jitter will probably remain my main programming language for some time, I want to be able to make simple apps that do a couple of things really well, without the overhead and unpredictability of Max, so, thanks to Eric’s advice, I’m going to take a serious hack at learning Cocoa. I have bought a book. I like this bit from the end of chapter one:

The second trick [of learning] is to stop thinking about yourself. While learning something new, many students will think, “Damn, this is hard for me. I wonder if I am stupid.” Because stupidity is such an unthinkable terrible thing in our culture, the students will then spend hours constructing arguments that explain why they are intelligent yet are having difficulties. The moment you start down this path, you have lost your focus.

I used to have a boss named Rock [like teh television show?! :P --ed.]. Rock had earned a degree in astrophysics from Cal Tech and had never had a job where he used his knowledge of the heavens. Once I asked him if he regretted getting the degree. “Actually, my degree in astrophysics has proved to be very valuable,” he said. “Some things in this world are just hard. When I am struggling with something, I sometimes think, ‘Damn, this is hard for me. I wonder if I am stupid,’ and then I remember that I have a degree in astrophysics from Cal Tech; I must not be stupid.”

Before going any further, assure yourself that you are not stupid and that some things are just hard. Armed with this silly affirmation and a well-rested mind, you are ready to conquer Cocoa.

That’s good advice for my brain. Expect new open source visual programs to appear on this site in future. THERE, I SAID IT.

Leave a Reply

Please enter your name and email (address will not be displayed). A website URL is optional.