harsh – Clock





This project was really fun to work on, with my intention being to make a linguistic representation of time. I first started with trying to tell the time in an interesting way - which simply involved applying a polish notation idea to the time itself, so something like 8:41 would become "eleven past half past eight" - while this was alright, I tried to make it more and more interesting. This led me to make the time more complex, by adding and removing common idioms such as "Half" and "Quarter" from the time. After this, a friend suggested for this complexity to increase the longer the function runs, which I thought was an awesome idea, and was the last thing I implemented.

In its current state, the text overflows from the screen and you must scroll to see the rest, I've currently paused trying to make the text smaller for it to fit in the screen - hopefully, this will come to realization in a future version. (Update- fixed it!)

let timer = 2;
function getWord(number){
  number = int(number);
  if (number==1){return "one "}
  else if (number==2){return "two "}
  else if (number==3){return "three "}
  else if (number==4){return "four "}
  else if (number==5){return "five "}
  else if (number==6){return "six "}
  else if (number==7){return "seven "}
  else if (number==8){return "eight "}
  else if (number==9){return "nine "}
  else if (number==10){return "ten "}
  else if (number==11){return "one " + "past " +"ten "}
  else if (number==12){return "two " + "past " +"ten "}
  else if (number==13){return "three " + "past " +"ten "}
  else if (number==14){return "four " + "past " +"ten "}
  else if (number==15){return "QUARTER "}
  return number.toString();
function getWordHour(number){
  number = int(number);
  if (number==0){return "twelve"}
  else if (number==1){return "one "}
  else if (number==2){return "two "}
  else if (number==3){return "three "}
  else if (number==4){return "four "}
  else if (number==5){return "five "}
  else if (number==6){return "six "}
  else if (number==7){return "seven "}
  else if (number==8){return "eight "}
  else if (number==9){return "nine "}
  else if (number==10){return "ten "}
  else if (number==11){return "eleven"}
  else if (number==12){return "twelve"}
  return number.toString();
function makeTimeString(listWithShit){
var decimalTime = listWithShit[0];
var changes = listWithShit[1];
var operator = listWithShit[2];
var decimalTimeString = decimalTime.toString();
var hourString = decimalTimeString.slice(0,2);
if(int(hourString) > 12)
  hourString = int(hourString) - 12;
  hourString = hourString.toString();
else if(int(hourString) < 1) { hourString = int(hourString) + 12; hourString = hourString.toString(); } var minuteString = decimalTimeString.slice(3,5); var minuteStringInt = int(minuteString); minuteStringInt = int( map(minuteStringInt,0,100,0,60) ); var finalString = "" for(var i=operator.length-1; i>=0; i--){
  var curOperator = operator[i];
  var curChange = changes[i]
  if(curChange == 15){curChange = "QUARTER "}
  else if(curChange == 30){curChange = "HALF "}
  else if(curChange == 10){curChange = "TEN ";}
  else if(curChange == 5){curChange = "FIVE ";}
  if(curOperator == "-"){finalString+="past ";}
  else if(curOperator == "+"){finalString+="to ";}
var newMinuteString = "";
  var hourStringInt = int(hourString)+1;
  hourString = hourStringInt.toString();
  var leftOverMinutes = minuteStringInt-45;
  if(leftOverMinutes == 0){
    newMinuteString = "QUARTER "+"before "
    newMinuteString = getWord(leftOverMinutes) + "past " + "QUARTER " + "before "
else if(30<=minuteStringInt  && minuteStringInt<45){
  var leftOverMinutes = 45-minuteStringInt;
  if(leftOverMinutes == 15){
    newMinuteString = "HALF "+"past "
    newMinuteString = getWord(leftOverMinutes) + "past "+"HALF "+"past "
else if(15<=minuteStringInt  && minuteStringInt<30){
  if(minuteStringInt == 15){
    newMinuteString = "QUARTER "+"past ";
    var leftOverMinutes = 30-minuteStringInt;
    newMinuteString = getWord(leftOverMinutes) + "to "+"QUARTER "+"past ";
else if(0<=minuteStringInt  && minuteStringInt<15){
    if(minuteStringInt != 0){
      newMinuteString = getWord(minuteStringInt) +"past "      
var hourStringWord = getWordHour(int(hourString));
//hourStringWord = hourStringWord.slice(0,hourStringWord.length-1);
var timestring = finalString + newMinuteString + hourStringWord + "."
finalString = "It is " + timestring.toLowerCase();
return finalString;
function complicatedClock(hour,minute){
  var currentTime = hour+map(minute,0,60,0,1);
  var newTime = currentTime;
  var changes = [];
  var operator = [];
  var timeChanges = [30,15,10,5];
  for(var i = 0; i < timer; i++){
    var curIndex = int(random(0,4));
    var stepChange = timeChanges[curIndex];
    var addOrSubtract = random(0,1);
    if(addOrSubtract < 0.5){ changes.push(stepChange); operator.push("+"); newTime = newTime + map(stepChange,0,60,0,1); } else { changes.push(stepChange); operator.push("-"); newTime = newTime-map(stepChange,0,60,0,1); } } return [newTime,changes,operator]; } var curTimeString; var increasing = true; var textYTop = 20; function setup() { createCanvas(500,500); background(50); textFont("Helvetica"); fill(255); noStroke(); curTimeString = makeTimeString(complicatedClock(hour(),minute())); } function keyPressed(){ if (keyCode == ESCAPE){ increasing = false; } else { increasing = true; } } function mouseWheel(event) { textYTop -= event.delta; if(textYTop > 30){
  	textYTop = 29;
function draw() {
  if (frameCount % (120) == 0 && increasing == true){
    curTimeString = makeTimeString(complicatedClock(hour(),minute()));
    timer+= 4;


I think that categorizing things as either "First Word Art" or "Last Word Art" is difficult, if not impossible to do except in hindsight. I think every artist strives to make one or the other, but there is no real way to know other than to see what follows, and as such I believe most projects will fall somewhere in the middle.

Particularly the idea of "Last Word Art" is troublesome to me. It seems to require a universal understanding that the best of the best has already been created, and to attempt to refine the idea any further would be ridiculous, but I think that overlooks the fact that the most innovative ideas draw inspiration from the past as part of the process.

Since technology is constantly evolving, one might anticipate that a lot of "First Word Art" can stem from the development of technology. However, just because something is new and different doesn't necessarily mean it's valuable simply because it utilizes a new material or concept (though it certainly can be).


It's pretty clear that ideally one would make art that is both "first word" and "last word," but that this is not a practical goal. My artwork tends to fall on the first word side of things, although I haven't been quick enough (yet) to consider myself among the very first to adopt any technique, and I don't have any strong allegiance with new techniques versus old. As a career goal, I definitely want to make something that stands the test of time, and if I can do that I don't care so much if it's with new media or not. Granted, I find that working with newer media is more exciting, so I'm more likely to be making that sort of work.

The first word/last word classification is not as simple as Naimark makes it out to be. For example, Pixar movies are visually first word, but do not use particularly new storytelling strategies. In theory they are developing technology for the sake of making stories that last, which seems like an honorable goal. Of course, it is still difficult to consistently make quality work of any kind, and sticking with a formula can lead to stale art.


I find my relationship to technology and art somewhat tenuous. I came into CMU deeply interested in art, and not so much technology and as I have been here those two have swapped, and are swapping back again. For awhile I've viewed technology as a toolkit for art separating the two, but being at CMU has made be realise that in this niche of combining the two, they are one and the same. Advances in technology are advances in art, and art advances technology through experimentation. I compare this to the inception of ideas. Our clock project provides the same baseline, with the same technology available to all of us who undertake it, and yet each of us find new ways to piece together what we are given into entirely different and new manifestations.

However, I've also been struggling with the novelty of what we make. This concept of the first word art really jars with me. I fully accept and acknowledge the experimentation, but at the same time my conception of art/my interest in art history is framed by completed works that leave an impact on the timeline of art. But I also recognize that each novel thing we make leaves an impact on us as creators, something I forget far too often as I make work for assignments rather than for growing myself as an artist.


In my senior year of high school (last year), I was a visual design major. In most of the years before that, the teacher had her students do a few big projects each year; however, in my year, we got a huge proposal from the principal to create a piece of public art that represents our mission statement to hang in the school. It was very important to the principal that a lot of work went into its production, so before any sketching, we spent the whole first semester doing market research on how to create the perfect piece. We had to make sure that it would not only represent our large body of students, but "stand the test of time." That exact quote was written on every brainstorm sheet.

I bring this up because Naimark's student's remark about surviving time reminded me of how true it is (in my opinion) that artists cannot only make art for the now -- after researching for so long, I learned that we have to predict how people will interpret our pieces in the future, and strategically plan around that so they aren't forgotten. If the piece won't have cultural or social significance come the next generation of artists, is it worth making at all? Artists shape artists; first word art depends on last word art, and vice versa. I agree that when work is technologically novel, it can age poorly, but that's only if people aren't willing to accept that this is the direction our cultures and societies are moving toward. It's important for artists themselves to be adaptable to changing times, and as a result they learn how to make their art robust. I think it's ultimately more important for artists to make first word than last word because we will no longer learn anything if we stop experimenting and innovating.


I think that good first word art requires a special kind of person to create. It's difficult to move away from the norm and create something completely groundbreaking. While I would be interested in creating this kind of art, I simply don't think that I have the ability. Maybe this is an overly defeatist way of thinking, but considering just the number of people on Earth, the probability of a good original thought is really small, and I don't think I'm creative enough.

Instead, I find it easier to focus on concepts that already exist. I think that expanding on and combining existing ideas create really successful works of art that last through time. I often hear the Picasso quote "Good artists copy, great artists steal". To me, this means that you should take inspiration from other people's work, but make it your own in some way. I appreciate this quote because it reminds me that ownership and personality are more important than 100% originality. I think that this places me in between first and old word art, since I don't necessarily pursue complete originality, but I'm also not trying to follow any well established model (at least consciously). 


Big Brother's Clock

Replacing Minutes with Seconds View:


From the beginning, I knew I wanted to experiment with time unconventionally because I love the relativity of time and how it is interpreted.  I began to mess around with the concept of taking time and making each minute into a year by adding the hours and minutes to create the decade in the 1900s. Although it is not an "accurate" representation of time, I liked that it furthered the idea of time's interpretive nature. Originally, I was thinking of sampling a song from a certain year and possibly using APIs to gain access to a variety of music. However, as I experimented with how to compute the year, I was fascinated that although there are technically 24 hours in a day and 60 minutes in a hour, the clock never reaches this technically real but not real time. Furthermore, when inserted into my formula of computing the year, this "ideal" year was 1984. I found that an extremely interested premise that time somewhat revolved around this number and subsequently considering that time revolved around the ideas about society and humanity within the novel. From here, my concept shifted from music to literature considering the significance of the book 1984. Although not complex in code, each book was picked to embody some of the morals shown in 1984.  Each book serves an important purpose and therefore the projection of time through these books is personal and biased based on my experiences. Overall, "Big Brother's Clock" was made through an exploration of the conceptual more than the visual or mathematical.

//The Clock of 1984
PImage bookBack;
int circleX, circleY;
int circleSize = 50;
color circleColor;
color currentColor;
boolean circleOver = false;
int visible; 
void setup() {
  size(800, 570);
  circleColor = color(255);
  currentColor=color(209, 142,8);
  circleX = 180;
  circleY = 70;
void draw() {
  //All 83 Books
   String[] books = {"The Wonderful Wizard of Oz",
    "The First Men in the Moon",
    "Just So Stories",
    "The People of the Abyss",
    "The Tale of Peter Rabbit\nand Benjamin Bunny",
    "The Gift of the Magi",
    "The Future in America:\nA Search After Realities",
    "Cautionary Tales for Children",
    "The Man Who Was Thursday",
    "The Machine Stops",
    "Howards End",
    "The Secret Garden",
    "The Problems of Philosophy",
    "The Google Book",
    "The Beasts of Tarzan",
    "The Metamorphosis",
    "Relativity: The Special\nand the General Theory",
    "His Family",
    "The Decline of the West:\nPerspectives of world-history",
    "Strange News from Another Star",
    "The Age of Innocence",
    "How to Analyze\nPeople on Sight",
    "The Velveteen Rabbit",
    "The Ego and the Id",
    "So Big",
    "The Great Gatsby",
    "Being and Time",
    "Is Sex Necessary? Or,\nWhy You Feel the Way You Do",
    "The Mysterious Universe",
    "The Story of Babar,\nthe Little Elephant",
    "Journey to the End\nof the Night",
    "Lord Edgware Dies",
    "The Logic of\nScientific Discovery",
    "It Can't Happen Here",
    "How to Win Friends\nand Influence People",
    "The Hobbit",
    "The Sword in the Stone",
    "The Secret Life\nof Walter Mitty",
    "Portrait of the\nArtist as a Young Dog",
    "The Garden of Forking Paths",
    "The Stranger",
    "The Little Prince",
    "What Is Life?",
    "Animal Farm",
    "The Common Sense Book\nof Baby and Child Care",
    "The Age of Anxiety",
    "No Longer Human",
    "Death of a Salesman",
    "The Martian Chronicles",
    "The Catcher in the Rye",
    "The Borrowers",
    "Fahrenheit 451",
    "Lord of the Flies",
    "I can jump puddles",
    "The Cat in the Hat",
    "The Computer and the Brain",
    "Sweet Bird of Youth",
    "The Weirdstone of Brisingamen",
    "James and the Giant Peach",
    "A Wrinkle in Time",
    "Where the Wild Things Are",
    "The Giving Tree",
    "The Autobiography of Malcolm X",
    "Rosencrantz and\nGuilderstern Are Dead",
    "The Medium is the Massage:\nAn Inventory of Effects",
    "Do Androids Dream\nof Electric Sheep?",
    "Fantastic Mr. Fox",
    "A Happy Death",
    "Frog and Toad Together",
    "The Chocolate War",
    "Tuck Everlasting",
    "The Alteration",
    "Bridge to Terabithia",
    "The World According to Garp",
    "The Neverending Story",
    "Cosmos: A Personal Voyage",
    "A Light in the Attic",
    "Life, the\nUniverse and Everything",
    "Pet Sematary"
  // Fetch the current time
  int H = hour();
  int M = minute();
  int arrSpot = H+M;
  int year = 1900 + (H + M);
  PFont font = createFont("BonvenoCF-Light.otf",32);
  String currTimeString = "19: " + (H) + "+" + nf(M, 2);
  if (visible>0){
  text(currTimeString, 10, 25);
  text("Hour: " + H, 10, 50);
  text("Minute: " + M, 10, 75);
  text(year, 10, 100);
  text(books[arrSpot], 300,80);
  update(mouseX, mouseY); 
  if (circleOver) {
  } else {
  ellipse(circleX, circleY, circleSize, circleSize);
  text("   Clock\nBreakdown", circleX-19,circleY-5); 
  text("   Clock\nBreakdown", circleX-19.5,circleY-5); 
//Code Modified From Processing Site
void update(int x, int y) {
  if ( overCircle(circleX, circleY, circleSize) ) {
    circleOver = true;
void mousePressed() {
  if (circleOver) {
    color temp= circleColor;
boolean overCircle(int x, int y, int diameter) {
  float disX = x - mouseX;
  float disY = y - mouseY;
  if (sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
    return true;
  } else {
    return false;
//Image Credits: BuyBackdrops.com




I definitely agree with the thinking that there is both first word art and last word art. In my opinion, the two feed off of each other in a way. Variations of already "invented" last word art can evolve to maybe create first word art. Further studies into the field of first word art can generate new interest for new branches of art. The interest in something new and exciting appealing to new artists--the cycle continues.

The new technologies constantly arising may be revolutionary in innovation, convenience, or entertainment. Since those three fields have such dominance over everyone's lives, it is not surprising to see why technologies shape culture. For example, today's prevalence of convenient taxi systems such as Uber or Lyft have almost a culture of its own. Furthermore, technological development can also be shaped by culture. Using the same example as before, the culture today seems to be busier and faster than it used to be. There are always things to do and places to be. Inventions like the Uber was created directly to combat that; being affordable, able to get a ride quickly, and using a trustworthy review system.



"Why bother if it's already been done?"

Not to be overly critical but this phrase has rubbed me the wrong way every time I've heard it. I don't understand the obsession with wanting to create new, novel, and mind-blowing art. In my opinion, striving to only create first word art, or seeing first word art as the only true art, will bring a great deal of turmoil and suffering upon the artist.

Categorizing everything that is an iteration or inspired from existing work as "merely entertainment, not art" is pretty pretentious.  It insinuates that entertainment and art can't coexist within a piece, as if art can't be entertaining, or something entertaining can't be art. If we forever strive to make only first word art, then where is the substance? First word art is a proposal for the future. Without further iterations and deep dives into what that art could become, it remains quite useless. And at the same time, last word art can't exist without first word art.

I guess I just don't understand the need to categorize art in this way at all.  First and last word art can't exist without each other, and they can't exist without everything that comes in between, so why bother with the distinction? Why try to create black and white borders where there don't need to be any?




I think it's interesting that Naimark sees such a distinction between these types of art. Naimark claims that half the art world sees "first word" art as true art and the other half sees"last word" as true art. So, if we take that to be the case, then good art only comes around at the start or end of an artistic era. This seems silly, especially considering our classifications of the artistic periods are approximations, and there are many examples of outstanding artists working uncharacteristically differently for their time period. How can it be that we compare Giotto to Raphael and make a value judgement about their works simply based off of the technologies and knowledge that each artist had in his time?

We can only examine each artist and their work within the context of their lifetimes, and from there decide if it is good or not. Otherwise, we end up making choices solely based off of variables outside of the artists' control. Would it make sense to make the claim that since computers and computer art has advanced to a vastly more complex state, Vera Molnár's works are bad? Or conversely that her works are the best representation of computer art because they were the first? These seem like difficult propositions to back up.

Technological innovation, culture, and the art that follows is a long lineage that builds on the past. Certainly, Beethoven took what Haydn built and added his own take to it; Beethoven moved Haydn's creation beyond its original state. Is it better or worse for that? Neither. It's something different.