Junior Seminar/Rouvelle/Spring '07
Thursday 6pm-9pm.
Brown Center 215

Contact:jrouvelle@mica.edu
Office: Brown Center, room 211, phone (in office).
Office hours: by appointment
_______________________

Course work in summary:

We will spend the first four weeks of the term building a Magnetometer - the rational behind this decision can be found below. I will then meet with you individually during week five to discuss your interests and plans. Week six we will meet with Norm White - I will ask you to read something about Norm, and come up with two questions for him - in addition I will ask you to show him some of your work.

In addition to the Visiting artists who will visit with you, we have an opportunity to participate in this year's Maryland Robot Festival that will occur on Saturday, April 29, at the Historical Electronics Museum in Linthicum. The Directors of the Maryland Robot Society - both engineers - and both very interested in your artworks - will be visiting our class either week two or week three. They would like you to show some of your work at the Festival. In advance of their visit, I will ask you to prepare a brief presentation on your work.

We will spend time talking about content, and it's place in your own work, and in the work of artists whom you admire. During our meetings I will go into more detail about this topic. I will ask each of you to write a brief (3-5 page) paper as a final project that covers the content of your work. I repeat, we will discuss this in detail after we have finished the Magnetometer.

I will also present information (Guidelines for Admission, Faculty, Student Work, etc...) on a few Graduate Schools that have programs related to Interactive Media. The intention of these presentations is to familiarize you with what is going on in your media at other schools, and to introduce the protocols necessary to get into Grad School.

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:

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.

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 (eg, not returning from dinner, or other unexplained disappearance) 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 and tutorials will often be delivered through the web - via links (URLs). Critiques 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:
Please bring to each class: 1-2 CD-R(s) - Recordable Compact Discs (700 MB). 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 CD-R 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.

Software Consultant:
If you are having trouble becoming acquainted with the software we will be using please see the software consultant.

Food and Drink in the Computer Labs:

No.

ADA COMPLIANCE:
In order to provide the highest quality educational experience for every student, MICA is committed to compliance with the ADA and Section 504. Any student who has (or suspects he or she may have) a physical, cognitive, or psychological disability and who wants to request accommodations must immediately schedule an appointment to meet with the Director of the Learning Resource Center, Dr. Kathryn Smith, by calling the LRC Administrative Assistant, Mary Walsh, at (410)669-3177. The LRC is MICA’s designated department for determining reasonable accommodations based on legal requirements and will provide the eligible student with an official Accommodation Verification letter to the instructor. Each semester the student must formally request accommodations from the LRC each semester, and format of the Verification letters change each semester to ensure currency.
NOTE: Students with disabilities who want assistance during emergency evacuations must register with the LRC within the first week of each semester.

HEALTH AND SAFETY:
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

There is no Final Exam during exam week. Our final class is the last week of classes.

______________

Weekly Schedule
______________

Week 3

turner broadcasting guerilla ad stunt draws ire

 

A visit from Career Development’s Hadieh Shafie

 

Inspirational Videos:

 

http://www.youtube.com/watch?v=J7pok0TKDU8 #1

 

http://www.youtube.com/watch?v=nAV0sxwx9rY #2

 

Google group: AreaDecoded

Timeline for event.

Who is doing what?

 

____________________________

Week 4

 

Timeline for the exhibit.

Google group AreaDecoded.

Designer:

Leah Beuchley

Of the

University of Colorado Craft Technology Group

Related work(?):mobilebacktrack?

 

 

Web2.0 in four minutes and thirty-three….: The machine is Us/ing Us

 

____________________________________

Week 5

 

“so, what do you do?” (artist statements, spoken introductions, how to talk about your work)

 

timeline for exhibit.

 

**Next week we will meet at the Contemporary for an artist talk

 

 

Tech:

 

Python Scripts for parsing email

 

Brief intro to the Arduino Board:

 

3-axis accelerometer (LIS3LV02DQ)

 

script to connect it to the Arduino (based on julian bleecker’s work)

 

Ph sensor (two transistors, a power source, and a 500k potentiometer)

 

****power the sensor directly from the Arduino board’s “5V” supply and ground only***

 

script to connect the Ph sensor to the Arduino board (ADC = Analog to Digital Conversion)

 

Tri-color LEDs and an electrostatic sensor I made using the 74hc14 hex inverter

 

for the love of transistors

 

ideas:

when 1st life meets 2nd life

 

 

Conferences:

 

TED conference intro,

 

 

SIGGRAPH

 

 

 

_______________________________________________________

 

Week 6

 

PHP Tag Cloud

 

Constructing the classroom of the present

 

In a previous post I wrote about a few php scripts connected to an SQL database that produced a Class Tag Cloud where members of my class can anonymously contribute words or phrases while we dialogue, and the words/phrases they contribute end up projected on a screen for all to see.  Words may be sent via phone or PC.  The font size of the words/phrases are proportional to the prominence in the database, so, if someone contributes something to the class tag cloud and you want to emphasize the thought you would then submit the same word/phrase and that word/phrase would literally become larger on the screen.

 

Here’s a recent pic:

 

 

I’m writing about this again because I’ve put it into practice lately and can report that it has been a valuable aspect of my classroom work, permitting the expression of notions, associations, and other ideations that tend not to bloom under the protocols of traditional classroom decorum – i.e., speak in turn, raise your hand, contribute proper sentences, etc.

 

As an addition to the class tag cloud (which I do a screen capture of at the end of each class), last week I used Twitter and found it to be another valuable addition.  The way we did it was that each class member signed up for the service and we all then took the time to issue the “follow_ x_ “ command for each classmate.  At various times during our work the room fell silent as we were all focused on the sms flow around the group, then, one by one, the group became more vocal, and less twittered, and the form became more about speaking and tag clouding, and so on.  It was, I think for many of us, a fine in-class experience.

 

For me, though, the magic occurred once class had ‘stopped’ and I continued to receive messages via Twitter from classmates throughout the week.  The messages had a random quality but, as we’ve been discussing bohm style dialog and collective intelligence lately, the challenge of associating these messages into our respective ‘heres’ opened our work and class out in a way that I found beautiful. 

 

This experience with Twitter gave me the image of taking our Class Tag Cloud out for a walk – allowing us to know each other better, while exploring the relationship of environment to idea.  I strongly recommend these tools and welcome your feedback.

 

Here are the scripts with instructions for the class tag cloud, they require the creation of a simple database table (in the examples below called ‘cloud’) comprised of two fields: ID (int, auto-increment, primary key), and Words (var chars, at least 25 characters long).

 

I strongly recommend that you copy these scripts and paste them into an editor such as smultron (for MacOSX) or even dreamweaver, as sometimes spaces produce junk characters that will crash the scripts below.  Such junk can be seen and eliminated in a decent script editor.

 

Here is how to make your own class (y) tag cloud.

 

 

INPUT>> You’ll need these two scripts (code.php and tag_cloud_input.php) to input words into the tag cloud, you’ll need the tag_cloud_display.php to display the tag cloud.  When you first launch this script you will see some error messages followed by a text input box and a submit button.  This is normal as there is nothing in the database yet.  Once you place a word in the database the errors will dissapear.

 

name of script: code.php

 

Here’s the script>>

<?php

$dbh=mysql_connect ("localhost", "<username>", "<password>") or die ('I cannot connect to the database because: ' . mysql_error());

?>

 

**************************************************

 

name of script: tag_cloud_input.php

 

 

***If you change the name of this you’ll need to make changes below.  You’ll have to create a table in your own database, and then replace ‘DATABASE_NAME’ with your own database name (not the table name, that goes elsewhere). The Mysql table this is reading is called cloud, which consists of two columns: ID and Words.  ID is the primary key, set to auto-increment, Words is set to Var Char with a max length of 30.

 

Here’s the script>>>

 

<?php require_once('code.php'); ?>

<?php

if (!$dbh) {

die('Could not connect: ' . mysql_error());

}

// select the db

$db_selected = mysql_select_db('DATABASE_NAME', $dbh);

 

if (!$db_selected) {

die ('Can\'t use database : ' . mysql_error());

}

 

if (isset ($_POST))

{

            $word = ((isset ($_POST['word']) && trim ($_POST['word']) != '')?trim($_POST['word']):'');

            $word = mysql_escape_string ($word);

            if ($word != ''){

$sql = "INSERT INTO cloud (words) VALUES ('$word')";

@mysql_query ($sql, $dbh);

('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']).'/tag_cloud_input.php';

}

}

 

 

// connect to database

 

 

$sql ="SELECT words FROM cloud ORDER BY id DESC limit 1";

 

$result1 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result1) {

die('no results: ' . mysql_error());

}

 

 

 

$row1 = mysql_fetch_array($result1);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row1[0]' group by words";

 

$result2 = mysql_query($sql);

 

$row2 = mysql_fetch_array($result2); //$row2[0] = last tag...

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result2) {

die('no results: ' . mysql_error());

}

 

 

//select the second to last word

$sql ="SELECT words FROM cloud where words != '$row2[0]' ORDER BY id DESC limit 1";

 

$result3 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result3) {

die('no results: ' . mysql_error());

}

 

 

 

$row3 = mysql_fetch_array($result3);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row3[0]' group by words";

 

$result4 = mysql_query($sql);

 

$row4 = mysql_fetch_array($result4);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result4) {

die('no results: ' . mysql_error());

}

 

////

 

//select the third to last word

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' ORDER BY id DESC limit 1";

 

$result5 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result5) {

die('no results: ' . mysql_error());

}

 

$row5 = mysql_fetch_array($result5);

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row5[0]' group by words";

 

$result6 = mysql_query($sql);

 

$row6 = mysql_fetch_array($result6);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result4) {

die('no results: ' . mysql_error());

}

 

//select the forth from last word

 

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' and words != '$row6[0]' ORDER BY id DESC limit 1";

 

$result7 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result7) {

die('no results: ' . mysql_error());

}

 

$row7 = mysql_fetch_array($result7);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row7[0]' group by words";

 

$result8 = mysql_query($sql);

 

$row8 = mysql_fetch_array($result8);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result8) {

die('no results: ' . mysql_error());

}

 

//select the fifth from last word

 

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' and words != '$row6[0]' and words != '$row8[0]' ORDER BY id DESC limit 1";

 

$result9 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result9) {

die('no results: ' . mysql_error());

}

 

$row9 = mysql_fetch_array($result9);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row9[0]' group by words";

 

$result10 = mysql_query($sql);

 

$row10 = mysql_fetch_array($result10); //$row4[0] = last tag...

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result10) {

die('no results: ' . mysql_error());

}

 

 

//select the sixth from last word

 

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' and words != '$row6[0]' and words != '$row8[0]' and words != '$row10[0]' ORDER BY id DESC limit 1";

 

$result11 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result11) {

die('no results: ' . mysql_error());

}

 

$row11 = mysql_fetch_array($result11);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row11[0]' group by words";

 

$result12 = mysql_query($sql);

 

$row12 = mysql_fetch_array($result12);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result12) {

die('no results: ' . mysql_error());

}

 

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud GROUP BY words ORDER BY id";

 

$result = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result) {

die('no results: ' . mysql_error());

}

 

 

// here we loop through the results and put them into a simple array:

// $tag['thing1'] = 12;

// $tag['thing2'] = 25;

// etc. so i can use all the fancy array functions

// to calculate the font-size of each tag

while ($row = mysql_fetch_array($result)) {

 

    $tags[$row['tag']] = $row['quantity'];

}

 

// change these font sizes if you will

$max_size = 250; // max font size in %

$min_size = 100; // min font size in %

 

// get the largest and smallest array values

$max_qty = max(array_values($tags));

$min_qty = min(array_values($tags));

 

// find the range of values

$spread = $max_qty - $min_qty;

if (0 == $spread) { // we don't want to divide by zero

    $spread = 1;

}

 

// determine the font-size increment

// this is the increase per tag quantity (times used)

$step = ($max_size - $min_size)/($spread);

 

echo '<a href="http://www.rouvelle.com/tag_cloud_input.php"> full cloud</a><br>';

echo '<i>recent cluster >>> </i><br>';

 

// loop through our tag array

foreach ($tags as $key => $value) {

echo "<body BGCOLOR=\"C9C9C9\">";

if ($key == $row2[0]) {

 

    $size = $min_size + (($value - $min_qty) * $step);

   echo '<a href="http://www.rouvelle.com/tag_cloud_input.php" style="text-decoration:none; font-size: '.$size.'%; color: 000000"';

 

    echo ' title="'.$value.' things tagged with '.$key.'"';

   echo '>'.$key.'</a> ';

   

}

 

elseif ($key == $row4[0]) {

 

    $size = $min_size + (($value - $min_qty) * $step);

   echo '<a href="http://www.rouvelle.com/tag_cloud_input.php" style="text-decoration: none; font-size: '.$size.'%; color: 919191"';

    echo ' title="'.$value.' things tagged with '.$key.'"';

   echo '>'.$key.'</a> ';

 

 

}

 

 

 

elseif ($key == $row6[0]) {

 

    $size = $min_size + (($value - $min_qty) * $step);

   echo '<a href="http://www.rouvelle.com/tag_cloud_input.php" style="text-decoration: none; font-size: '.$size.'%; color: ffffff"';//was FFC2BF

 

 

    echo ' title="'.$value.' things tagged with '.$key.'"';

   echo '>'.$key.'</a> ';

 

}

 

 

}

 

echo "<title> black=latest, size=prevalence, add new or amplify existing </title>";

echo "<form name='chatform' method='post' target='chatroom' action='tag_cloud_input.php'>

tag:

<input type='text' name='word'><br>

<input type='submit' name='action' value='Submit'>

</form>";

echo "</body>";

?>

 

 

*****************************************************************

 

 

As mentioned above you’ll need to insert in your own username and password (at least – if you’ve come up with another name for the database, table, and columns you’ll have to change those, too.  If you change the name of the script you’ll need to make changes in the script itself so that it points to itself.  The commented out stuff works.  Play with it and see what it does.

 

 

OUTPUT>>

 

name of script: tag_cloud_display.php

 

***If you change the name of this you’ll need to make changes below.  The Mysql table this is reading is called Cloud, which consists of two columns, ID and Words.  ID is the primary key, WORDS is set to Var Char with a max length of 30.

 

Here’s the script>>

 

<?php require_once('code.php'); ?>

<?php

if (!$dbh) {

die('Could not connect: ' . mysql_error());

}

// select the db

$db_selected = mysql_select_db('DATABASE_NAME', $dbh);

 

if (!$db_selected) {

die ('Can\'t use database : ' . mysql_error());

}

 

if (isset ($_POST))

{

            $word = ((isset ($_POST['word']) && trim ($_POST['word']) != '')?trim($_POST['word']):'');

            $word = mysql_escape_string ($word);

            if ($word != ''){

$sql = "INSERT INTO cloud (words) VALUES ('$word')";

@mysql_query ($sql, $dbh);

('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']).'/tag_cloud_display.php';

}

}

 

 

// connect to database

 

 

$sql ="SELECT words FROM cloud ORDER BY id DESC limit 1";

 

$result1 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result1) {

die('no results: ' . mysql_error());

}

 

 

 

$row1 = mysql_fetch_array($result1);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row1[0]' group by words";

 

$result2 = mysql_query($sql);

 

$row2 = mysql_fetch_array($result2);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result2) {

die('no results: ' . mysql_error());

}

 

 

//select the second to last word

$sql ="SELECT words FROM cloud where words != '$row2[0]' ORDER BY id DESC limit 1";

 

$result3 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result3) {

die('no results: ' . mysql_error());

}

 

 

 

$row3 = mysql_fetch_array($result3);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row3[0]' group by words";

 

$result4 = mysql_query($sql);

 

$row4 = mysql_fetch_array($result4);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result4) {

die('no results: ' . mysql_error());

}

 

 

//select the third to last word

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' ORDER BY id DESC limit 1";

 

$result5 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result5) {

die('no results: ' . mysql_error());

}

 

$row5 = mysql_fetch_array($result5);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row5[0]' group by words";

 

$result6 = mysql_query($sql);

 

$row6 = mysql_fetch_array($result6);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result4) {

die('no results: ' . mysql_error());

}

 

 

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' and words != '$row6[0]' ORDER BY id DESC limit 1";

 

$result7 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result7) {

die('no results: ' . mysql_error());

}

 

$row7 = mysql_fetch_array($result7);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row7[0]' group by words";

 

$result8 = mysql_query($sql);

 

$row8 = mysql_fetch_array($result8);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result8) {

die('no results: ' . mysql_error());

}

 

//select the fifth from last word

 

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' and words != '$row6[0]' and words != '$row8[0]' ORDER BY id DESC limit 1";

 

$result9 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result9) {

die('no results: ' . mysql_error());

}

 

$row9 = mysql_fetch_array($result9);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row9[0]' group by words";

 

$result10 = mysql_query($sql);

 

$row10 = mysql_fetch_array($result10); //$row4[0] = last tag...

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result10) {

die('no results: ' . mysql_error());

}

 

 

//select the sixth from last word

 

$sql ="SELECT words FROM cloud where words != '$row2[0]' and words != '$row4[0]' and words != '$row6[0]' and words != '$row8[0]' and words != '$row10[0]' ORDER BY id DESC limit 1";

 

$result11 = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result11) {

die('no results: ' . mysql_error());

}

 

$row11 = mysql_fetch_array($result11);

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud where words = '$row11[0]' group by words";

 

$result12 = mysql_query($sql);

 

$row12 = mysql_fetch_array($result12); //$row4[0] = last tag...

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result12) {

die('no results: ' . mysql_error());

}

 

 

 

$sql = "SELECT words AS tag, COUNT(id) AS quantity FROM cloud GROUP BY words ORDER BY id";

 

$result = mysql_query($sql);

 

if (!sql) {

die('Could not sql: ' . mysql_error());

}

 

if (!result) {

die('no results: ' . mysql_error());

}

 

 

while ($row = mysql_fetch_array($result)) {

 

    $tags[$row['tag']] = $row['quantity'];

}

 

// change these font sizes if you will

$max_size = 250; // max font size in %

$min_size = 100; // min font size in %

 

// get the largest and smallest array values

$max_qty = max(array_values($tags));

$min_qty = min(array_values($tags));

 

// find the range of values

$spread = $max_qty - $min_qty;

if (0 == $spread) { // we don't want to divide by zero

    $spread = 1;

}

 

// determine the font-size increment

// this is the increase per tag quantity (times used)

$step = ($max_size - $min_size)/($spread);

 

// loop through our tag array

foreach ($tags as $key => $value) {

echo "<body BGCOLOR=\"C9C9C9\">";

if ($key == $row2[0]) {

 

    $size = $min_size + (($value - $min_qty) * $step);

  

   echo '<a href="http://www.rouvelle.com/tag_cloud_display.php" style="text-decoration:none; font-size: '.$size.'%; color: red"';//was FF0C00

 

    echo ' title="'.$value.' things tagged with '.$key.'"';

   echo '>'.$key.'</a> ';

   

}

 

 

else{

 

    $size = $min_size + (($value - $min_qty) * $step);

   echo '<a href="http://www.rouvelle.com/tag_cloud_display.php" style="text-decoration: none; font-size: '.$size.'%; color: 4F2F4F"';

 

echo ' title="'.$value.' things tagged with '.$key.'"';

 echo '>'.$key.'</a> ';

 

  

    // notice the space at the end of the link

}

}

 

echo "<title> red=latest, size=prevalence</title>";

echo"<head> <meta http-equiv=\"refresh\" content=\"5\"></head>";

echo "</body>";

?>

 

*********************************************