Friday, March 26, 2010

Definitions Three

Class:
A class is a combination of data methods or functions that can be instantiated as objects. A class is often used in OOP, and usually has its first letter in caps. Another definition is that a class is a construct that is used as a template or blueprint to create objects of that class. That object of a class is called an instance of that class. The template is a blueprint for the characteristics and behaviors that all the objects of that class share.

Object:
An object is an instance of a class. OOP (Object oriented programming) uses objects and classes. An object is bunch of characteristics, properties, or functions all contained within that objects class.

Array:
Multiple data items that can be selected by their given place with the array throughout a running program. Or more simply, an array is list of data. Each piece of data contained within an array is identified by an index number depending on is position in the array. The first element in an array is always [0], the second is [1], etc... Each array has a given length which is dependent on the number of elements within that array.

Wednesday, February 3, 2010

Definitions Two:

A. Property: A way of describing an object. They become second nature in describing an object. X and Y are Inherited properties. Other types of properties are; rotation, visible, scaleX, scaleY, alpha, etc...

B. Variable: They hold something. Like a bucket. Technically, a variable is a named pointer to a location in the computer's memory where the data is stored. X or Y are variables in math. They keep track of information related to objects.

C. Functions: It is a preset type of name that is built into applications. You can built your own. There are three parts to a function; Return type, Function name, and arguments. You "call a function" when using one.

D. Methods: They instruct their respective objects to take action. You can tell a movie clip, for example, to stop playing by using its stop() method. You can write your own methods. Classes have specific methods, and inherit methods from ancestor classes.

E. Events: They are responsible for setting scripts into motion, causing them to execute. Events come in many varieties.

Wednesday, January 27, 2010

Definitions: HW

A. Programming: In general, it is a process of writing code for a computer program. It also includes debugging, testing, and maintaining of the code. A program is code complied in order to accomplish a specific task within a computer. Code can be customized or tweaked to accomplish a new task, but can take much time a skill.
B. Syntax: A process of creating and arranging lines within a specific language. The word derives from ancient Greek, meaning "arrangement." Syntax is used to describe the rules and principles within a specific language. More specifically, in computer language, syntax is "...(a) set of rules that define the combinations of symbols that are considered to be correctly structured programs in that language." (From Wikipedia). 
C.  Data: In general, data is anything that is compatible with a computer. Often, data refers to binary code (ones and zeros) that is a language that only a computer can read. It is all of the data on a computer that is not programs. 

Tuesday, January 26, 2010

Knep - Artist Lecture

Mr. Knep uses technology in enhance his art along with programming, to make it feel more organic and non - digital... He spoke about emergent behavior - birds flocking, fish swimming, etc... He wants to bring a type of artificial intelligence to his work, that would not be possible without programming. For example, in his "Healing series," when users walk across the surface of the piece, the organic looking floor moves away from them, in a very subtile and organic way. The "Scar" that is left behind is never the same twice, therefore, using programming to make an image unique for each experience. The scar that is left behind IS healed, but not fully, leaving a marking that will never fully heal. Knep says, "Each person who interacts with it leaves his mark." In his expansion of this series, (Healing 1,2,3, etc..) he choose to use a large pool - Here, we can see multiple users walking through the space, leaving marks and, with the use of programming, we can see were people have been walking in specific areas, more than others (Because each user leaves her mark behind). This larger "Pool" piece uses six projectors and motion tracking software hooked up to several cameras to track the movement of the people intelligently. The software he designed makes it possible for each individual user to create a unique path and "Scar" within the piece. 
In "Drift," Knep uses several vertical screens on  the wall each with their own unique pattern, but also interconnected. The program subtilely shifts the patterns between the screens and used a sort of organic algorithm to drift the pattern between each... This piece also uses cameras to look at the viewer and make adjustments according to who is standing in front of the screens. Each column starts off looking the same, but the interactivity of the users makes the piece change once it is engaged. 
Deep wounds also uses programming, with projectors, cameras and an intelligent program to track the users. When a user walks over the space, names of dead soldiers are revealed slowly, and subtilely to create a somber environment. After each user walks over the stone floor, the names are slowly covered back up with another organic pattern. In Expand, erect, the users push a button to "Stir up" these small creatures, the react differently in this work and the subsequent works that are similar. He uses programming to give the horde a personality. Finally, in "Big Smile," Knep uses facial tracking software to evoke emotion from the viewers. The large, animated smile changes its expression depending on if the user is looking right at him. This uses humor and smart programming to gets its message across. 

Thursday, January 21, 2010

Programming Media: By Casey Reas

Software programming within art: Used as a new tool for creating work in other media... Some artists use commercial software (most) - Such as photoshop, Premiere, etc... These make it very easy for an artist to do photo editing, video, etc... Still, some other artists choose to work with programmers to create specific programs. For example, Director, Flash, MAX, these make GUI environments easy for artists to work within. Even fewer choose to C, Java, Perl, this is because often they will have to farm out the work to outside programmers (being that these are unique languages that are difficult to learn, and could takes years to prefect). 
Programming can create a bridge for art of the past and present. Artists use software to do what they could otherwise not. Although programs are nothing more than 1's and 0's in a sequence, they are be are very powerful and potent tool to evoke new environments for new media. 

There are six areas of software expression. We can look at these as the basic aspects of programs in general. They include, Dynamic form, Gesture, Behavior, Simulation, Self - Organization, and Adaptation...
Dynamic form; changes in time and responsive. This can include input for several sources like mouse input, microphone, and video.
Gesture; Hand gestures, for example. Can be layered, gradual, and includes interpreting gestures that can be more complex. These gestures can go from subtile to large and overwhelming. 
Behavior; Movement with the appearance of intent. Creates a personality.
Simulation; aspects of the physical world - Uses our senses and shows forces; mass, acceleration, mimicking perspective, materials and physical laws. Natural systems can also be simulated.
Self - Organization; makes emergence possible. Structures emerge through interaction. Small changes to rules of interaction can cause large changes to processed visualization. 
Adaptation; Ability to change. The software muse be aware of its content. Adaptive expressions are rare. It is possible with an interpreter for a program to modify its content while running.

- - - - - - - - - - - - - - - - - - - - -

Example of software expression: Adaptation ; a rare trait.
I found that adaptation was the most fascinating trait of software expression. This is because of how rare and difficult it is within software programs in general. Also I find that it leans more toward artificial intelligence , a subject that I am interested in within art. It seems to me, that for art to more forward into the far future, artificial intelligence is the clear way that it is going. Adaptation calls for a given software to be self aware in a way. That is that, a program must be flexible, self aware, and predictive. 
Furthermore, adaptation must be thought of as a first point during creation of software. As in the first link I have posted, the article states that, "Self adaptable software requires high dependability, robustness, adaptability, and availability."

Links: