Caffeine Powered Automaton

Programming is Art

06.23.09

Programming is art, and like a lot of new forms of artistic expression it struggles to define itself as such in the community. However, as Donald Knuth suggests in his series of books ‘The Art of Computer Programming’ the crafting of code is an art form. It is often thought of as being tied to heavily into Mathematics to be considered an art, but anyone who has ever looked at a fractal can tell you that there is a certain amount of beauty in math as well.

The empty file is the programmer’s blank canvas. The planning done ahead and comments throughout the code are sort of the sketch lines that form the basis for the piece. The code itself is the paint that gives the entire thing body. It’s not just as simple as a painting analogy. The process of coding is in itself a very creative process. There is not one way to approach a particular problem and each programmer has his or her own style; from the way that they indent, where they place their braces, when they comment if they do at all.

In some ways this explains the anger of programmers when they are forced into code conventions in the working world. They have their certain style and an outside style is being forced upon them. It’s like da Vinci being forced to paint in the style of van Gogh, it at first looks and feels unlike the code that you are not used to writing. The creative aspect also tends to explain why programmers have a tendency to make programs more difficult for themselves in the corporate world. They are looking for a challenge and for some way to be creative and often this causes horrible (yet creative) monstrosities.


The Demoscene is an example of what happens when programmers try to capture the true creativity and accept programming as an art. Amazing collaborations of graphics and sound pushing the limits of what the hardware is capable of doing. Originally starting on the commodore 64 and showing just what creative programmers could do with large hardware restrictions. The Demosceners were able to make the Amiga do things never seen before.
Putting a bunch of lines of code together and being able to visualize the end result takes a massively imaginative mind. Unlike many other jobs what really makes a programmer great is tons of practice. No amount of schooling alone can turn a novice programmer into a guru.
"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter."
(Eric Raymond)
link comments (3)

RevenanTrivia

02.27.09

For the past week or so I've been working on a trivia bot for the people over at #l2l and #xomb on irc.freenode.net. Today I finally got it into a decently workable state, as in it plays trivia, saves scores, and gives points. Of course there are still some bugs I need work out and a bunch of things I want to add to it. However, you can download it on the projects page. Additionally if you are just interested in peeking at some of the source quickly drop on over to my github repo page.
link comments (4)

XOmB Bare Bones Release

02.21.09

XOmB Bare Bones was released today by David Wilkinson and Steve Klabnik of the University of Pittsburgh. More information about the XOmB Bare Bones OS can be found on the linked wiki page, along with information about the XOmB project on the whole.
link comments (0)

Commanding Missiles

02.06.09

I hate Java Applets, I really do. I think they're one of the worst things to appear on the internet, right after Goatse.cx, however, for my web development class I was given the task of writing Missile Command in Java as to be used as a web applet. The result can be found under projects (or just click here). The code will be available once it's actually legible and particular comments have been purged.

link comments (1)

Now With More Twitter

01.14.09

I decided to mess with the Twitter API a little so now whenever a new entry is posted a tweet will appear on my account. Not sure how long I will actually keep this up and running but it was a little basic introduction to the twitter API and cURL. I'll probably be showing a little tutorial for how all of this is done once I learn more about it, however, it seems extremely simple thus far.
link comments (0)
Next »