You are viewing aestetix

I, Aestetix - [entries|archive|friends|userinfo]

[ website | ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

[Jan. 15th, 2008|01:33 am]
Previous Entry Add to Memories Share Next Entry
I often think of the fight between open/closed source as one of art vs engineering.

If source is open, it can be shared and improved upon, which means, ultimately, it is a work in progress that is never finished. Art at its finest is a person creating a way to share their perspective of an idea. You can see this when you gaze at the lifetime portfolio of an artist, and see all the breakthroughs and improvements as he gets better and better at defining himself for others. Language works in a similar fashion: new words come and go, sometimes stick, while old words acquire new meanings. Vocabulary shares with art that it is an encapsulation medium for communication.

But then I realize my error: this challenge is recursive. I had been making the faulty assumption that there is a plateau, the point at which closed source stands, upon which no improvement can be made.

Take a static binary, for example. While at first it seems like a finished product (thank you, gcc) really, it is just code that has gone through a transition to make it more efficient. If I desire, I can optimize with a hex editor and work out some Knuth-fu. Thus the black box can go backwards in time.

Now for this same static binary, perhaps with it we have created a module for another program, like PHP. Rather than being a final product in itself, it is a system with input/output parameters that work into an algorithm. But when I call it, it is within code that brings this product into another system, where many products interact as functions to create a new product. Say I have added an encryption module to PHP, which works alongside an mssql module. When I call both in the PHP code, PHP produces a web page, which can then be integrated into the web system. Thus the black box can go forwards in time.

On reflection, I'm now realizing that words themselves become black boxes of ideas. For example, if I call a function in PHP to encrypt something, I am invoking a word that PHP recognizes. If I give a tourist directions to Times Square, when they get off the Q train in Coney Island they will realize that the words I used to give them directions were faulty. Blends and morphology work in the same way.

So perhaps the art exists, and technology is our attempts to tame and control it, even though by naming we simply push the ideas into another series/system.

[User Picture]From: two_pi_r
2008-01-15 07:21 am (UTC)


In contrast, we have systems such as Lisp, Smalltalk, and Ruby, where static-ness doesn't exist, and your code is one with the system at large. It's an open box, and the interaction is at once both malleable and clear.

Time does not exist for these systems, as everything is accessible at any time - Common Lisp lets you access the compiler at runtime, reader state at interpret time, and so on. In a way, such languages are the embodiment of the open source ideal at the micro- level, and communities built up around them are a manifestation of it on the macro-/human level.