My love story with Spambot.
This little robot breaths and shows emotions, like other “tamagotchi” like digital age creatures, except that Spambot has a few limitations that add to it’s personality: it can only survive if it is fed spam. We, the humans, cannot feed or interact with Spambot. Only his peers, the internet crawling spambots, can feed him and help him live. We therefore are faced with a loss of control of our technological surrounding, and a fear that Spambot might die.
This project embodies many of the themes I have been exploring this year; communications in a networked world, interaction and genetics. Unlike my previous projects, though, Spambot is not about bringing people closer together. The interaction with this project is on a different plane: You want to see Spambot live, but you cannot feed him, like you would do for a pet. You are powerless as to what his future is going to be and it is equally sad and fascinating to me. But this isn’t the only thing about Spambot that sets him apart from the crowd, the fact that he “feeds” off spam, and even posts what they are saying on his website, shows his disconnection from human interaction.
How it works
Physically, the bot is composed of recycled cardboard, LEDs, an Arduino, a continuous rotation motor, a hand-made custom gear and dental floss (yes). The body of the bot was made with origami techniques to give the movement a very smooth and organic feel, which contrasts with the motor, the Spambot involvement and all the programming facettes.
On the programming side, I’ve created an unprotected form online for spam to take the bait. Once values are submitted, my code first parses to determine if it is a spambot or a human, then, if all requirements are met, the date when the text was inputted and the message itself are added to a database. Then there is the index page, which only displays the database and project information, and the XML auto-refresh page, that calculates with dates whether the Spambot is dead or alive. That same page also, like the name implies, generates an xml file every 5 seconds with updated information from the server.
Then I used Processing to connect to the xml file, do a few calculations and then tell Arduino what to do. I use xml connection with Processing, instead of direct MySQL connection because it is much faster and simpler to do so. When Arduino receives the information from Processing, it calculates how bright the LEDs should be and if the motor should be running.
Photos and video coming soon









