Tuesday 4pm-10pm.
Brown Center 206
Contact:jrouvelle@mica.edu
Office: Brown Center, room 211, phone (in office).
Office hours: by appointment
Interactive Scripting. It is hoped that this course will provide an entry point into the dynamic world of interactive scripting. We will define interactivity as a relationship of mutual influence Ð similar to a conversation Ð between participants, based in input, processing, output, and feedback. The participants can be any combination of humans and other systems; mechanical, electric, or other. Scripting will be understood as the will of the creator/artist/designer within this relationship. We will study various techniques and tools to make the intention of the script writer clear to the participants and effective within the media it is deployed. Students will be encouraged to use both electric and non-electronic materials. While various software and hardware will be presented, the focus of our work will be on developing a clear understanding of what interactive scripting is, and to have each student locate media in which they can engage the concepts presented in such a way as to make their understanding of the materials covered clear. We will develop a discourse to differentiate between one-dimensional, responsive interfaces, and interactive relationships. A final project will be required of each student that will exemplify that students understanding of the course material.
Evaluation:
Grades in this course will be based on regular class attendance, the quality of your work, class participation, and progress. Tardiness and excessive absences will adversely affect your grade. Participation in discussions and critiques is mandatory.
Projects & Grading:
You will be asked to do assignments throughout the semester. Most of the assignments will be presented in class and will be designed to stimulate group conversation.
***We will not have a final exam during finals week***
Students will be graded by letter, A-F, on all evaluated work. Work must be completed on time and in full satisfaction of each project goal. Late work (assignments handed in or posted after the start of in-class critique sessions) will be automatically downgraded by one letter grade. In addition to in class exercises, you will complete four projects.
A
|
Well above the expectations of the course. Outstanding participation, attendance, and exceptional progress. |
B |
Above average assignments and participation. No more than one absence. |
C |
Average execution of assignments, participation, and no more than two absences. |
D |
Well below average: work, attendance (two absences), projects, and participation. |
F |
Unsatisfactory: work, attendance (more than two absences), projects, and participation |
Attendance:
Two or more unexcused absences from class may result in failure. Two unexcused late arrivals, or early departures will be marked as the equivalent of one absence. Absence from a class is not an excuse for skipping a tutorial, reading assignment, or posting an assignment. You are fully responsible for completing work.
Readings:
Readings will be linked from the syllabus. There is no textbook. You may utilize the printers in class to download hard copies of web-based content if you prefer. Critiques and discussion will frequently be initiated from various topics covered in the readings Ð in other words, please use the concepts you read about in discussion of fellow studentsÕ work.
Supplies:
We will be writing a lot of pseudocode (described below) during class. Please bring a notebook (paper!) to write your code in. Please bring to each class a storage media of your choice. I recommend a jump drive from the bookstore, in lieu of this, an ipod, or server space, or 1-2 CD-R(s) Ð Recordable Compact Discs (700 MB) will suffice. YouÕll probably go through many of them, for both this and other digital classes. You might also want to bring in a sharpie to label your CDÕs.
It is essential that all work done in class be saved to either your jump drive, CD-R, server space, ipod, etcÉ at the conclusion of class. There will be many, many other students using these computers and anything saved on them will be permanently removed shortly after the conclusion of class.
Food and Drink in the Computer Labs:
No.
ADA COMPLIANCE:
In MICA's efforts to provide the
highest possible quality educational experience for every student, MICA
maintains compliance with the requirements of the ADA and Section 504. Any
student who has, or suspects he or she may have, a disability and wants to
request academic accommodations must contact Dr. Kathryn Smith at the Learning
Resource Center, 443 695-1384 or email at ksmith@mica.edu immediately.
MICA has developed policies and
practices to ensure a healthful environment
and safe approaches to the use of
equipment, materials, and processes. It is
the mutual responsibility of
faculty and students to review health and
safety standards relevant to each
class at the beginning of each semester.
Students should be aware of
general fire, health, and safety regulations
posted in each area and course
specific polices, practices, and cautions.
Students who have concerns related
to health and safety should contact
Quentin Moseley, Environment
Health and Safety Coordinator at 410 225 0220
or email at qmoseley@mica.edu
Electronic Art,
Artists, and Projects List
Weekly Schedule
______________________________________________________________________________
Introduction, Resource website,
review syllabus, registration matters
Web 2.0 n u
Òafter the A-bomb, Rowanda, and
Auschwitz, metaphor is dead. We
need tools and methods to see the world as it is.Ó
-John Yau
motto:
In general I'm more interested in how whatever you do engages the concepts of interactivity (a relationship of mutual influence), integrated media (media as an ensemble of actions, not bound to any specific discipline or practice), and scripting events, and less concerned about the technology you employ. You will have time to develop your technical know-how during your time at MICA and elsewhere. Instead, I would like to use our class as a place to explore ideas related to the concepts mentioned above, and to create models using Pseudocode that help you to come to a deeper understanding and facility of, and with the concepts we will discuss.
Some preliminary terms:
Process:
á
a series
of tasks that result in a goal
Code:
Algorithm:
á
A series
of tasks leading to a specific result. Do you hear that echo? Scripts, and
programs can be considered Algorithms. Successful Algorithms:
á
Reach
their goal
á
Are Lean
(no redundancy or extraneous steps)
á
Are
designed for the specific system that will run (parse) them in mind
á
May be
Unilateral/one dimensional or Interactive/Adaptive.
Our Scripting
Language over the next few weeks will be Pseudo-Code, aka Structured
English.
Pseudo-Code:
Fundamentals
(functional pseudocode)
Review:
An algorithm is a procedure for solving a
problem in terms of the actions to be executed and the order in which those
actions are to be executed. An algorithm is merely the sequence of steps taken to
solve a problem.
Pseudocode is an artificial and informal
language that helps programmers develop algorithms. Pseudocode is a
"text-based" detail (algorithmic) design tool.
The rules of Pseudocode are
reasonably straightforward. All statements showing "dependency" are
to be indented. These include while, do, for, if, switch.
Examples:
1.
//This is a comment, because it
follows the double slashes. These
words are not part of the program, they are
//notes, explanations, and descriptions
of what you are trying to accomplish.
Please start all your scripts with comments.
//This script will help me cross
the street. The title of this
script is: cross the street.
Walk_sign = 0; //comments
may be used anywhere. Please use
them liberally. We have just
created and initialized
//a
variable.
If Walk_sign = 1 Then //conditional logic based on the value of the
variable.
Action
"cross the street"
//output of program based on the value of the variable.
Else //if
the variable does not = 1 then what follows is executed.
Action
"donÕt cross the street, continue to read the value of the traffic
signal"
2.
//this program computes a
studentÕs grade
total = 0; //Initialize total to zero
grade counter = 1; //Initialize grade counter to zero
grade = 0; //Initialize grade to zero
class average = 0; //Initialize class average to zero
While grade counter <= 10 //while grade counter
is greater than or equal to ten
Prompt
Òinput the next gradeÓ;
//Input the next grade;
Total
= Total + grade; //Add the
grade into the total
class average = total/10;
Print class average
3.
//this program calculates an
average grade for all students in one class.
total = 0; //Initialize
total to zero
counter = 0; //Initialize counter to zero
grade = 0; //Initialize grade to zero
sentinel = 7; //In programming a sentinel value
is a value that terminates a loop.
Prompt ÒInput the gradesÓ
while counter != sentinel; //run this loop until the sentinel has
been reached
total
= total + grade; //add this grade
into the running total
counter
= counter + 1; //add one to the
grade counter
input
the next grade (possibly the sentinel)
if counter != 0; //if the counter is not equal to zero
average
= total/counter; //set the average
to the total divided by the counter
print
average; //print
the average
else
print
'no grades were entered' ;
4.
//this program calculates how
many students passed and failed.
passes = 0; //initialize passes to zero
failures = 0; //initialize failures to zero
student = 1; //initialize student to one
While student <= 10; //while student
counter is less than or equal to ten
input the next exam result
if the student passed
passes
= passes + 1; //add one to
passes
else
failures
= failures + 1; //add one to
failures
student = student + 1; //add one to student counter
print the number of passes;
print the number of failures;
if passes <= 8 //if eight or more
students passed
print
"your instructor must be an exemplary citizen";
else
print
ÒletÕs just keep this our little secretÓ
_____________________________________________________
Questions?
LetÕs
try some of this out and write a short script together.
The goal
of the script is to flip a coin and respond to heads and tails differently.
The
steps are:
1. Define what you want the script to do and
place this description in comments at the top of the page.
2. Create and Initialize your
variables. Feel free to apply comments
liberally to remind you of what you are doing.
ÒScript
Like DrawingÓ
>>>Andre
Gregory: ÒWhen we stop reacting, interacting with each other what do we have
left?Ó
Assignment:
Kurt
Vonnegut, ÒYour Guess is as
Good as MineÓ
Introduction
to Programming (short and sweet)
Write
three scripts in your notebook.
Use Input, Actions, Variables (at least one per script), Conditionals
and Loops (just one per script, use either (conditionals (whileÉ) and/or
iterated (forÉ), but please use both in different scripts).
Discuss Kurt Vonnegut, ÒYour Guess is as Good as MineÓ
REVIEW:
o
MAIN PROGRAM
CALL VIDEO_STORE
END MAIN
FUNCTION VIDEO_STORE
CALL BANK
PRINT "Go down another block, it is on the left side of the street.
Ò
CALL POST_OFFICE
RETURN
END FUNCTION
FUNCTION BANK
PRINT "Make a right on Maple go down to Cedar and make a
right."
RETURN
END FUNCTION
FUNCTION POST_OFFICE
PRINT ÒCross the Street and go down one more block.Ó
RETURN
END FUNCTION
LetÕs create a
Program with Functions.
LetÕs
create a Program with Functions and a variable.
****Can we
use conditional logic somewhere?
LetÕs
create a Program with Functions and an array.
Go outside, observe the
environment, and write two scripts with functions and at least TWO
variables that will effect where the program will ÔgoÕ.
Dinner
Now
letÕs explore a few other ideas:
ÒExcept for the miracle of reduction, there is no special reason to build
computers with silicon technology.
Building a computer out of any technology requires a large supply of
only two kinds of elements: switches and connectors. The switch
is a steering element (a hydraulic valve, or the transistor), which can combine
multiple signals into a single signal.
Ideally, the switch should be asymmetrical, so that the input signal
affects the output signal but not vice versa, and it should have a restoring
quality, so that a weak or degraded input signal will not result in a degraded
output. The second element, the
connector, is the wire or pipe that carries a signal between switches. This connecting element must have the
ability to branch, so that a single output can feed many inputs. These are the only two elements
necessary to build a computer. Later we will introduce one more element - a
register, for storing information Ð but this can be constructed of the same
steering and connecting components. Ò
-Dan Hillis,
from ÒThe Pattern on the StoneÓ
scripting
for ensembles of actions:
social
fictionÕs .walk
language
Marc
Horowitz
National Dinner Tour Ð Marc Horowitz
Sliv and
Dulet
Terunobu
Fujimori
Assignment:
1. Create one Program with Functions.
2. Create one Program with Functions and a variable.
3. Create one Program with Functions and an array.
REVIEW:
Procedural programming
ItÕs what weÕve been doing. Procedural programming involves viewing a computer program as a sequential list of computational steps (or procedures: an algorithm) to be carried out. In procedural programming, the list of procedures can be further broken down into subroutines and functions.
In programmer-speak, a ÒliteralÓ is any value declared literally. Good examples would be string literals, array literals and boolean literals - the literal is the part after the Ò=Ó assignment operator:
From now on, please observe the following naming convention when using variables in your pseudocode.
// String literal
var my_string = "2468 This is a string";
// Array literal
var my_array = ['element1', 'element2', 'elephant'];
// Boolean literal
var my_boolean = true;
*************
Discuss Kurt Vonnegut, ÒYour Guess is as Good as MineÓ
60 minutes: Get me the Geeks!
Chris Oakley The Catalogue
***************************
Media
as an ensemble of actions
o DoEat
in class exercise/homework assignment:
how to have a psycho-kinetic party Ð jack houck
Please read this article, and create a script, complete with variables, conditional logic, loops and functions, that a person could interpret to run a successful PK party.
_________________________________________________
I will introduce a new programming concept, and give you an in class assignment. While you are working on that assignment sam and I will visit with you to answer questions and look at your homework.
But first, a brief presentation and discussion:
Fiona Templeton, You-The City
How do gestures become interactive?
The artist does his thinking in the very qualitative media he works in, and the terms lie so close to the object that they merge directly into it. - John Dewey
>>>
Surface computing beyond Microsoft surface and Jeff HanÕs multitouch screen
Does the phrase Technological Overlay mean anything to you?
Jacob Bekenstein and the Bekenstein Bound.
The
Web is a surface.
The
Retina is a surface.
The
library is a surface.
Microsoft
surface is a surface.
Micorsoft
is a surface.
The beach is a surface.
Experience may be the Area of the surfaces with which we are currently interacting.
The
network is the computer.
Networking
an array of surfaces allows the computer to produce more accurate, and useful
models.
ARGs and Street Games integrate many surfaces.
To
Review:
á
The term
ÒObject,Ó that
gives OOP itÕs name, refers to a conceptual
object that represents an item in our program or system. This could be anything
from an online form or a computer file, to a real world object such as a car.
á
This
representation consists of attributes - the characteristics of our object; and
methods - a set of functions and calculations that are either
performed to modify the object itself, or are involved in some external effect.
á
The term
ÒClassÓ represents the definition (or classification -
class) of our object.
á For example, if we were to write a class
called ÒcarÓ, we
could create any number of instances of that class - say ÒPorscheÓ, ÒFerrariÓ
and ÒJaguarÓ. Each
of these instances is an Object. This illustrates that a class is
effectively a set of objects that all share common attributes.
Extend the class via (sub)class, using comments, list the full attributes of each (sub)class
There are a number of relationships that can
be used when interaction is needed between objects. Today we will learn about
and use:
apple "is a" fruit
orange "is a" fruit
banana "is a" fruit
So, Fruit is the class, and the instances of the class are: apple, orange, banana. Objects are instances of a class.
Here it is in pseudocode:
class Fruit
{ //note the use of brackets, each class and subclass should be encapsulated within curly brackets
Attributes:
Ripened ovary or ovaries of a seed-bearing plant, together with accessory parts.
}
(sub)class apple extends Fruit
{
Attributes:
A deciduous Eurasian tree (Malus pumila) having alternate simple leaves and white or pink flowers.
The firm, edible, usually rounded fruit of this tree.
}
(sub)class Orange extends Fruit
{
Attributes:
Any of several southeast Asian evergreen trees of the genus Citrus, widely cultivated in warm regions and having fragrant white flowers and round fruit with a yellowish or reddish rind and a sectioned, pulpy interior, especially C. sinensis, the sweet orange, and C. aurantium, the Seville or sour orange.
The fruit of any of these trees, having a sweetish, acidic juice.
}
(sub)class Banana extends Fruit
{
Attributes:
Any of several treelike Asian herbs of the genus Musa, especially M. acuminata, having a terminal crown of large, entire leaves and a hanging cluster of fruits.
The elongated, edible fruit of these plants, having a thick yellowish to reddish skin and white, aromatic, seedless pulp.
}
o In this example the three (sub)classes: ÒappleÓ, ÒorangeÓ, and ÒbananaÓ have inherited attributes from the ÒFruitÓ class.
This means they inherit FruitÕs
attributes like so:
(sub)class Apple is a Fruit
Apple
{
Attributes:
Ripened ovary or ovaries of a seed-bearing plant, together with accessory parts
A deciduous Eurasian tree (Malus pumila) having alternate simple leaves and white or pink flowers.
The firm, edible, usually rounded fruit of this tree.
}
(sub)class Orange is a Fruit
Orange
{
Attributes:
Ripened ovary or ovaries of a seed-bearing plant, together with accessory parts
Any of several southeast Asian evergreen trees of the genus Citrus, widely cultivated in warm regions and having fragrant white flowers and round fruit with a yellowish or reddish rind and a sectioned, pulpy interior, especially C. sinensis, the sweet orange, and C. aurantium, the Seville or sour orange.
The fruit of any of these trees, having a sweetish, acidic juice.
}
(sub)class Banana is a Fruit
Banana
{
Attributes:
Ripened ovary or ovaries of a seed-bearing plant, together with accessory parts
Any of several treelike Asian herbs of the genus Musa, especially M. acuminata, having a terminal crown of large, entire leaves and a hanging cluster of fruits.
The elongated, edible fruit of these plants, having a thick yellowish to reddish skin and white, aromatic, seedless pulp.
}
o However, as the parent (super) class,
Fruit stays exactly the same:
Fruit
{
Attributes:
Ripened ovary or ovaries of a seed-bearing plant, together with accessory parts
}
***the
(sub)classes do not inherit attributes from each other
Another Example:
{
Attributes:
eyes = 2
legs = 4
diet = ÔcarnivoreÕ
}
(sub)class Lion //extends Cat
{
Attributes:
mane = true
origin =Africa
}
Now we will instantiate/construct an object from the above class. Remember that an object is an instance of a class:
var simba = new Lion() //This is an object
var simba_diet = simba.diet
var simba_origin = simba.origin
var simba_mane = simba.mane
var simba_eyes = simba.eyes
var simba_legs = simba.legs
Now you try. Please create two classes, and two objects for each class. Sam and I will work with you to do this.
Using objects, write a script about zombies. In order to do this you will use all of the concepts we have worked with thus far: variables, loops, conditions, functions, and, in addition classes/objects.
LetÕs create a Person class, with Zombie as a subclass, so:
Class Person
{
attributes:
}
subClass Zombie
{
attributes
}
Within your script, when certain conditions are met, simply construct a new person or zombie like so:
Var_johanna = new Person()
Var_wotan = new Zombie()
Tech:
Assignment:
Script a Ôstreet gameÕ.
_________________________________________________________________________
Your Games, and questions.
Object Oriented Programming pt. 2 (states, behaviors, methods, constructors, composition)
o Identifying the state and behavior for real-world objects is a great way to begin thinking in terms of object-oriented programming.
o "What possible states can this object be in?" and
o "What possible behavior can this object perform?"
o Make sure to write down your observations. As you do, you'll notice that real-world objects vary in complexity;
1. Your desktop lamp may have only two possible states (on and off) and two possible behaviors (turn on, turn off),
2. Your desktop radio might have additional states (on, off, current volume, current station) and behavior (turn on, turn off, increase volume, decrease volume, seek, scan, and tune).
3. You may also notice that some objects, in turn, will also contain other objects.
4. These real-world observations all translate into the world of object-oriented programming.
o An object stores its state in fields (variables) and exposes its behavior through methods (functions in some programming languages).
1. Methods operate on an object's internal state and serve as the primary mechanism for object-to-object communication.
2. Hiding internal state and requiring all interaction to be performed through an object's methods is known as data encapsulation Ñ a fundamental principle of object-oriented programming.
Bundling code into individual software
objects provides a number of benefits, including:
The following Bicycle class is one
possible implementation of a bicycle:
class Bicycle {
int cadence = 0; //State
int speed = 0; //State
int gear = 1; //State
void changeCadence(int newValue) { //Method
cadence = newValue;
}
void changeGear(int newValue) { //Method
gear = newValue;
}
void speedUp(int increment) { //Method
speed = speed + increment;
}
void applyBrakes(int decrement) { //Method
speed = speed - decrement;
}
void printStates() { //Method
System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
}
}
Here's a BicycleDemo class that
creates two separate Bicycle
objects and invokes their methods:
class BicycleDemo {
public static void main(String[] args) {
// Create two different Bicycle objects
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on those objects
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}
The output of this test prints the ending
pedal cadence, speed, and gear for the two bicycles:
cadence:50 speed:10 gear:2
cadence:40 speed:20 gear:3
Class exercise:
1. Extend the Bicycle class above with a subclass that includes
new states and methods.
2. Create a new class that uses the states and methods
from the subclass you created.
3. Use the above examples as a guide.
Return of the Zombie:
Create three new classes that include states and methods.
Create new classes.
Your classes will become part of a script that will be run on campus and will involve the interpreter behaving like whatever classes you create, so please bear that in mind.
Erwin Wurm Ôone minute sculpturesÕ (ex: Ôtake everything you like and pose for one minute, enjoy the silence: http://www.youtube.com/watch?v=99JNXL7jcE0 , 22seconds of wurm: http://www.youtube.com/watch?v=99JNXL7jcE0 script that produces a one minute sculpture under certain conditions.
We will visit with you as you do this.
Assignment
due next week is to create a script that includes objects that you created
today (see below for more information).
Feel free to build special things for your scripts.
These scripts will be interpreted on our campus, so spend some time outside observing where youÕd like your script to be run.
Include getting to that spot as part of your script, so, you would have a function that would include an action that would get someone to, say, cafŽ Doris, once there, the interpreter would respond to specific variables and specific objects with specific methods would be spawned.
Last thing to include: some variable that is triggered by interaction with the public.
***Next week I will break you into clusters, and you will adapt your scripts so that information can be shared between the scripts as they run simultaneously. Information may be shared by any action Ð speaking, texting, calling, leaving a specific mark in a specific place that would be relevant to your script (making a small pile of plastic utensils, for example).
Spend a few hours on this, return after dinner and work on the script here, and sam, dan, and I will help you.
ÒPeople are better at doing than understanding.Ó
Interactive scripting is an intersection of doing and understanding. Interactive scripts may modify themselves as they are interpreted so that the interpreters are doing while understanding.
Black Swans, Cosmic Dust could form Inorganic Life, Ant: Light Pollution, Focused Inattention/STU
//this program causes interpreters to go to specific locations and interact with the environment.
Main Function
Go somewhere
Go somewhere else
End main
Function Go Somewhere
If this then
Go to cafŽ Doris
Go there
If that then
Go Lobby Bunting
Go There
Return
End function
Function There
Check variables
If certain conditions are met then
Interact with someone to get more information
Create new object that uses the information you got from the interaction
Do whatever it is your object does
Go set variable
Return
Function go somewhere else
Depending on information received while waiting go to another location
If end, then
Go end
else
Go Somewhere
Return
End function
Function set variable
Leave a mark based on your interaction/object experience
Send a message that mark has been left
Wait for confirmation/information
Go somewhere else
Return
End function
Function end
Return to class
Return
End function
Class YourClassHere
{
}
methods
________________________________________________________________
Sam, Dan and I will review your scripts and answer your questions.
We will then break you into clusters of 3-4 scripters, and you will work collectively for the rest of class and the rest of the week to develop an ensemble of scripts that will run simultaneously and share variables.
The method(s) for sharing variables is up to you, but some sort of communication among interpreters (those ÔrunningÕ the scripts) is necessary.
The communication may be:
1. rapid (phone/sms),
2. moderate (leaving messages somewhere on campus to be found), or
3. slow (snail mail, ???).
Next week we will run some of the scripts and document them, so please be sure to exchange contact information with your fellow scripters before you leave today.
Assignment:
Complete your group scripts. Please organize the scripts into one folder and email them to both sam: jss@problemboard.com, and james: jrouvelle@mica.edu and turn that folder in next week.
Be prepared to run your scripts, so please do any necessary prep work prior to next class Ð and please rehearse your script prior to next week.
__________________________________________________________________
Week 8
Running of your scripts
___________________________________________________________________
Intro to Javascript and Aptana.
Over the remaining weeks we will work with Javascript. It is important that your final projects incorporate online (javascript and ustream, stickam, semacode) with offline events (your recent pseudocode projects). WeÕll talk more about this as we go.
Aptana
How to use these movies:
Listen carefully.
Write out each script in aptana, remembering that html and javascript files have different extensions.
If, after listening and writing, you have a question raise your hand and one of us will come over and help you.
If, after listening and writing, you feel you understand the lesson, create two variations on the exercise. Save your variations as you will be asked to turn them in.
Our goal is to get through chapters 3-4 today, and I will ask you to begin working on chapter 5 for homework. We will work on chapters 6-8 next time, and complete the exercises in two weeks.
We will begin working on AJAX after Thanksgiving.
You will be asked to create a final project that incorporates online and offline actions.
Deep, Searchable, Javascript Reference
Assignment: Begin working on Chapter 5
_______________________________________________________
Environmental Tuesday/interactive scripting styleÉ.
Derren Brown Zombie Arcade Game
Keith Olbermann Special Comment, Nov. 5, 2007, re: Daneil Levin/Waterboarding
1. Ultimately, Mr. Bush, the real question
isn't who approved the waterboarding of this fiend Khalid Sheikh Mohammed and
two others. It is: Why were they waterboarded? Study after study, for
generation after generation, sir, has confirmed that torture gets people to
talk, torture gets people to plead, torture gets people to break, but torture
does not get them to tell the truth. Of course, Mr. Bush, this isn't a problem,
is it, if you don't care if the terrorist plots they tell you about are the
truth or just something to stop the tormentors from drowning them. If, say,
a President simply needed a constant supply of terrorist threats to keep the
country scared, if, say, he needed phony plots to play hero during and to boast
about interrupting and he used to distract people from the threat he did not
interrupt, if, say, he realized that even terrorized people still need good
ghost stories before they will let a President pillage the Constitution. Well,
heck, Mr. Bush, who better to dream them up for you than an actual terrorist?
He'll tell you everything he ever fantasized doing in his most horrific of day
dreams. His equivalent of the day you flew onto the deck of the Lincoln to
explain you'd won in Iraq. Now, if that's what this is all about, you tortured
not because you're stupid and you think that torture produces confession, but
that you tortured because you're smart enough to know it produces really
authentic-sounding fiction. Well, then, you're going to need all the
lawyers you can find because that crime wouldn't just mean impeachment, would
it, sir? That crime would mean George W. Bush is going to prison.
2. Thus, the master tumblers turn and the
lock yields and the hidden explanations can all be perceived in their exact
proportions and in their exact progressions. Daniel Levin's eminently
practical, eminently logical, eminently patriotic way of testing the legality
of waterboarding had to vanish, and him with it. Thus Alberto Gonzales has to
use that brain that sounds like an old car trying to start on a freezing
morning to undo eight centuries of the forward march of law and government.
Thus Dick Cheney has to ridiculously assert that confirming we do or do not use
any particular interrogation technique would somehow help the terrorists. Thus
Michael Mukasey on the eve of the vote that will make him the high priest of
the law of this land cannot and must not answer a question, nor even hint that
he's thought about a question which merely concerns the theoretical definition
of waterboarding as torture. Because, Mr. Bush, in the seven years of your
nightmare presidency, this whole string of events has been transformed. From
its beginning as the most neglectful protection ever of the lives and the
safety of the American people into the most efficient and cynical exploitation
of tragedy for political gain in this country's history. And then to the
giddying prospect that maybe you could do what the military fanatics did in
Japan in the 1930s and remake a nation into a fascist state so efficient and so
self-sustaining that the fascism itself would be nearly invisible. But at last,
this frightful plan is ending with an unexpected crash. The shocking reality
that no matter how thoroughly you might try to extinguish them, Mr. Bush, how
thoroughly you might try to brand disagreement as disloyalty, Mr. Bush, there
are still people like Daniel Levin who believe in the United States of America
as true freedom where we are better not because of schemes and wars, but
because of dreams and morals. And ultimately, sir, these men, these patriots
will defeat you, and they will return this country to its righteous standards
and to its rightful owners, the people. Good night and good luck.
Please continue with the Javascript Tutorials Ð
paying close attention to chapter 7, and chapter 12 exercise 4. I have uploaded image files when
necessary.
Our goal is to have you create your
javascript projects that use the skills contained in the exercises. When you get an idea for a modification
of an exercise please do it Ð and save it so that we can see what you are
working on.
Assignment:
complete all of the uploaded chapters and create your own version of the
form exercise (chapter 7), and the slide show with captions (chapter 12, ex.
4). Remember that we want to
revisit our cross-media scripts and devise a way to incorporate the web (via
javascript) with the offline actions you developed during the first part of the
semester.
Work at a comfortable pace.
___________________________________________________________________________
Today we will focus on javascript. Our goal is to have all of you comfortable with basic javascripting by the end of next weekÕs session. If you have completed lesson 5 of the video tutorials (which you should have), then >>
Please read and do this, then do
Please complete these exercises on your own, think of them as a quiz. You may use online resources to complete them, but I would like you to complete them individually.
When you have completed Exercises 1 and 2 call Sam or I over so that we can check your work. Please be sure to save your work and include your name in the title of the .html files.
The
Javascript Project (which is interesting) should take a few hours to complete Ð
you can start it during class AFTER you have shown Sam and/or I
your completed exercises. The
Javascript Project is due by the end of next weekÕs class, please complete this
project, as the exercises, on your own.
___________________________________________
Please complete the in class assignments given last week
(see above), and turn them in before you leave.
A taste of whatÕs
to come>>
6,000 languages: an
embattled heritage
á
Multilingualism
is the most accurate reflection of multiculturalism. The destruction of the
first will inevitably lead to the loss of the second. Imposing a language
without any links to a peopleÕs culture and way of life stifles the expression
of their collective genius. A language is not only the main instrument of human
communication. It also expresses the world vision of those who speak it, their
imagination and their ways of using knowledge.
What about the birth of languages???
tech:
_______________________________________________________________