Sunday, September 28, 2014

Autorun testing

1/ For PI: - create a desktop file -> running a python file (readme)
- create a desktop file: type nano <filename>.desktop
- type the followings: http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/gui/desktop-shortcuts
- put it in the autostart directory: 'mkdir ~/.config/autostart" , then copy the desktop file to there (http://raspberrypi.stackexchange.com/questions/12730/start-a-lxterminal-on-startup)
- python path here:
 

setting full screen for lxterminal:

> change the xml file in pi/.config/openbox  -> add
<application name = "lxterminal"> 
<decor>no</decor>
<maximized>true</maximized>
<fullscreen>true</fullscreen>

Procedures for my pi:
- plug in ethernet cable (not the mouse and keyboard)
- plug in power
- everything will start by itself!

* To set HDMI -> VGA, need to change the config file: http://www.makeuseof.com/tag/three-ways-to-display-your-raspberry-pi-on-a-monitor-or-tv/
* To set background and foreground color, just go to lxterminal > preference
* To set screensaver off, edit the file (sudo nano xxxxxxx):






- http://www.etcwiki.org/wiki/Disable_screensaver_and_screen_blanking_Raspberry_Pi
- more methods: http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18200












- and this: http://it.thelibrarie.com/weblog/2013/07/raspberry-pi-disable-screensaver/

* to remove mouse cursor (this works for me, but you need to remove that line if you want the cursor appears again) : http://darmawan-salihun.blogspot.hk/2013/01/disabling-raspberry-pi-cursor-inside.html
...
[SeatDefaults]
xserver-command=X -nocursor
...

2/XP computer : running a web page
1/ get firefox and set the homepage
2/ download an addon call full screen add on -> do the settings for auto full screen
3/ create a new firefox short cut in start up : start> all programs > right click > ..
4/ hide your mouse here: http://www.softwareok.com/?seite=Microsoft/AutoHideMouseCursor

3/ macbook : running a python file (writeemail)

- Download iTerm2 to replace original terminal (because with full screen feature)
- Then set the default command line (say: run a specific python path)
- Set the full screen mode and set as default window arrangement
- in iTerm2 preference, check for default window arrangement (means everytime will open in full screen)
- go to system preference > account > login > add in iTerms (to make sure whenever macbook login, it will automatically load iTerm2)

Monday, September 22, 2014

autorun

For the purpose of minimizing administrative procedures, I have to think of ways to smooth-en the setup of my works.

Currently I have three programs, my ideal mapping as follow:
  • Pi -> run python script > 
- need to make a launcher script http://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/
- edit http://www.slideshare.net/SeggySegaran/raspberry-pi-autostarting-a-python-program
- start on terminal: http://www.raspberrypi.org/forums/viewtopic.php?f=32&t=76653
- setting screen size: http://ubuntuforums.org/showthread.php?t=1888851
- edit configure file for full screen: http://forum.lxde.org/viewtopic.php?f=3&t=31566 
- more customization: http://bbs.archbang.org/viewtopic.php?id=355
- autorun when boot: http://www.raspberrypi.org/forums/viewtopic.php?f=91&t=65607
- note: can it do full screen automatically?
  • mac book -> run python script
- Download iTerm2 to replace original terminal (because with full screen feature)
- Then set the default command line (say: run a specific python path)
- Set the full screen mode and set as default window arrangement
- in iTerm2 preference, check for default window arrangement (means everytime will open in full screen)
- go to system preference > account > login > add in iTerms (to make sure whenever macbook login, it will automatically load iTerm2)
- SUCCESS!!

-> also need to do ssh to allow remote access-> just in case need to fix any issues

extra:

- autorun a PI with full screen browser and a specific address: http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/gui/auto-run-browser-on-startup

Sunday, September 21, 2014

Thinking about error code and exceptions

In an exhibition settings, of course I would like to minimize the possible errors and so that minimize admin configuration by the gallery assistant. As such, I need to implement functions such as: continuous loop, catch exceptions and log them, also bypass if any exceptions are found. Then I realize this acts possibly the ways to contribute automation. To keep machines running, no matter errors are found, it keeps produce thing.




Programming 3: reading networked replies

Third screen is about reading networked replies..
- selecting what to display: I tend to display everything includes header and things that is usually hidden in an email client interface. But I do want to exclude the original sent message (which includes poems), because audience suppose to see those msg already and it is hardly seen everything in one screen if there is no mouse provided.

Thursday, September 11, 2014

Exhibition: computers allocation

1x windows - run python - screen 2 [need to check if i need to install python] -> or download another browser to run animation such as firefox.
1x Pi -> run python - screen 3 [python available in pi]
1x macbook -> run animation on a browser

two php run on the server, a conj job is set.
1x getting the latest spammer list
1x display animated interface 

Programming 2: sending out spam poems

The second program logic has been drafted. It took me almost two days to finish the programming.
*outstanding thing:
1/ think of how to select around 8k emails
2/ dedicated IP -> trial run -> load test for consecutive days of code running

Tuesday, September 9, 2014

Pi with screens

I have bought few things from taobao:

1/ screen -> screen broken
2/ 3.2 tft screen -> not working as I need to reinstall pi OS. The original OS requires 4GB free space then I found another one online: http://pan.baidu.com/s/1ntkJo85#path=%252FLCD32-CN%252FIMAGE. I can't use existing OS and get the screen up and running
3/ hdmi to vga cable -> works fine and quality is good
4/ mini projector is working, but just too low resolution
5/ big keyboard doesn't really work properly..at the end i use another china usb keyboard.

other testing:
- it can't really load the hellozombies page, possibly it requires much more ram and memory. Therefore, this device can only be used in running python script.
- it can load once with the Midori browser -> very slow though


Sunday, September 7, 2014

alternative setup style

two walls
- 1x wall projection
- 1x wall with two computer arms














Monday, September 1, 2014

Estimated costing and technical requirement

Cost for both setup:

1/  Dedicated server IP: $900
2/ Domain: $78
3/ Transportation:
Transport (SSP to CityU): $60
Transport (CityU to connecting space): $160
Transport (Connecting space to HSK): $500

Setup1 with all zombie media

1/ old and cases monitors: $920
2/ Pi: $560
3/ Projector (need to source/SCM?)
4/ Computer accessories: VGA splitter for the big CRT + projection screen, HDMI to VGA (for Pi), Ethernet cables x 3, cable extension e.g power/ ethernet , router??
5/ Extension cord (with at least 8 plugs: 4x monitors, 1x case, 1x Pi, 1x computer) : site provided?
6/ Mac computer - lab top (self provided)

Setup 2 with two monitors:
1/ old monitor: $920
2/ Pi: $560
3/ Mac computer - labtop (self provided)
4/ Projector (need to source / scm?)
5/ Computer accessories: HDMI to VGA (for Pi): $50, cable extension, ethernet cables x 3
6/ wall-mounted stand for CRT x 2 (need to source)

Technical setup

Estimated setup with old monitors and non functioned cases. I need to test more on the projection with dim light.









Monday, August 25, 2014

hello zombies

o...i almost finish the first screen with the zombies!!















Basic functions are finished including getting spammer list (copy and unzip to txt), read txt and display rolling html txt. lol

I am thinking the con job scheduler and found this: http://www.phpjobscheduler.co.uk/. As such, the download and upload process can be centralized and handle by one script. yah! Therefore, everytime the page load and retrieve the spammer txt file on my server. :) 

technical diagrams and flows


















Tuesday, August 19, 2014

Dealing with Respberry Pi for exhibition settings

I have been working long for the wifi connection, still cannot figured out the eduroam settings. Then I work on Ethernet cable and internet works with cable connection.



Things work fine after changing the power adaptor and cable, with a more stable current flow and both keyboard and mouse response well.

I can able to surf online, browsing different pages.

Python version is 3.2.3 [GCC 4.6.3]

1/ How to run python: http://mcpionline.wordpress.com/2013/02/18/how-to-run-python-programs-on-the-raspberry-pi/

2/ Setting up SSH to communicate between mac and pi [PI Ethernet cable to router & Mac Ethernet cable to router]: http://www.raspberrypi.org/documentation/remote-access/ssh/unix.md

3/ To get IP address in PI: hostname -I

4/ To set up file transfer between PI and MAC: http://raspberrypi.stackexchange.com/questions/8950/copy-files-from-osx-to-from-pi









5/ run all the tested python script @ PI

6/ Fix WIFI dongle
- it works for other WIFI but not eduroam

7/ accessing file system command: http://www.raspberry-projects.com/pi/command-line/file-system

8/ setup virtual keyboard: require internet connection: "sudo apt-get install matchbox" 

Sunday, August 17, 2014

Thinking about the screens

I have to submit some images and final idea to WMC..today I finally have sometime to seat down and rethink the whole process. At the same time, estimating the technical feasibility.



#1: php spammer list display
- upload and unzip file on webserver with php: http://www.a2zwebhelp.com/upload-file-unzip-webserver


















#2: sending spam poem:
- read internet web text with Python: http://www.daniweb.com/software-development/python/threads/161312/reading-from-a-website
- time delay with Python: http://stackoverflow.com/questions/510348/how-can-i-make-a-time-delay-in-python


















#3: listening to reply:
- need to write a script to run the script in every 10 mins

Saturday, August 16, 2014

Thinking about exhibition settings

1/ with old CRT monitor x 3 + some cases, can think of really using one of the computer to run web thing.
 

2/ Putting a monitor into a cardbox  

I need to test a HDMI to VGA for my PI

Thursday, August 7, 2014

Python testing: sending and reading email


Tested:

1/ simple scrolling email -> js and html
2/ simple python sending out an email
3/ simple python reading out an email
4/ simple python deleting mails on server

next action:
1/ test sticky screen
2/ read email content instead of subject + check the duplicate read email  (store in a text file)
3/ continuous send email with delay (say every 2 seconds / mail) + random text file content
4/ two forms of display: many text on a single screen or one by one flashing
5/ small python script to download zip file then unzip and store in a specific location: http://www.stopforumspam.com/downloads/

Sunday, August 3, 2014

Almost latest idea - writing to spammers

Artwork title: Writing to Spammers

The work is about:
- intervening the spam system
- understanding the techno-materiality of spam system e.g server, coding and mail library
- understanding the cultural logic of reading and writing spam
- criticizing the massive cultural spam industry
- counter suggesting to response to spam rather than filter it in the mailbox

How it works:

1/ Display of the animated spam address
  • A program is written to extract a spammer list for every 24 hours
    • getting latest zip file, unzip and put on web server again
  • a screen displays with fade in/out or running text of a spammer email address, one follows the other 
2/ Writing a poem to spammers 
  •  A program is written to keep sending out a spam poem to each of the spammer
    • random selection of one of my spam poems
    • need to know which one has been sent and which one hasn't 
    • need to display the sending process e.g which email address, which poem to send, status such as start sending, successfully delivered etc. 
    • auto scroll/process to display the next spam poem, logic repeats
    • * specify sender email address, subject, content, to-address
 3/ Reading spammer' email
  • A python script is written to keep listening to the email server and see if any auto reply or bounce back email 
    • continuous check (poll) request to mail server
    • download the email content, email address, timestamp, subject etc and able to mark read/delete the email on server
    • Display the email content on screen
Technical equipment and architecture:

1/ Dedicated IP server
2/ A web domain e.g www.writingtospammers.com
3/ a email address such as reply@writingtospammers.com
4/ #1> display email address }  a web page (html, jquery, php)   or python with UI framework
5/ #2> writing spam email } either php or a python script 
6/ #3> reading spam email } either php or a python script

Next actions:
1/ test script1: python ftp and get zip file, unzip and then display the text on terminal; then check UI, adjust font color, text size, animated effect and full screen
2/ test script2: python sending dummy email (smtp) and check delay/sleep syntax
3/ test script3: python receiving dummy email (pop3) 


Tuesday, July 29, 2014

Spambot and spammer

Theoretical side of the Spams

Turing back to the origin! Rethinking about Spam and see how much I can push forward to the artwork and the concept.

Spam as one of the common phenomenon in the network and digital culture. It gets hidden easily through the technique of spam filtering. It gets evolve as virus and can destroy/manipulate/misuse computer data once the users open it and execute it.

Spam - being both commodities and wastes
 

Inspiration / food for thoughts from the book "The Spam Book" (2009)
- 40% email traffic is spam
- 12.4 billion spam emails are sent daily
- regard as digital waste
- important part of network culture

- p.4: "Whether they are seen as novel business opportunities or playing the part of the unwanted in the emerging political scenarios of network futures, anomalous objects, far from being abnormal, are constantly made use of in a variety of contexts, across numerous scales."

-p.10: "proposed by Paul Virilio: that is a need to reverse the idea of accidents as contingent and substances as absolute and necessary. Virilio's apocalypitc take on Western media culture argues for the inclusion of the potential (and gradual actualization) of the general accident taht relates to a larger ontological shift undermining the spatio-temporal coordinates of culture."
"Virilio has argued that accidents should be seen as incidental to technologies and modernity. The stance recapitulates the idea that modern accidents do not happen through the force of an external influence, like a storm, but are much more accurately follow-ups or at least functionally connected with, the original design of that technology."

-p.165: "spam remains an integral part of the everyday experiences of Internet usage" "spam is sent to massive address datbases and circulated internationally" "Spam promotes everything from irresistible mortgage bargains to fast access to .....from ready-made college diplomas to lottery award notifications, and commercial pornography sites."

- p.167: "According to Gillian Reynolds and Catrina Alferoff, in the United Kingdom, "demographic detail, income, sending and credit card transactions, as well as court judgements, are logged into databases and subsequently merged with other databases files from lifestyle questionnaires, retailer returns and market research."


Spam research



Spam Filtering Technique: http://www.slideshare.net/UmarAlharaky/spam-filtering

Text color spam:

Details of network: http://r-s-g.org/carnivore/etcservices-short.txt

ftp  21/tcp
fsp  21/udp  fspd
ssh  22/tcp    # SSH Remote Login Protocol
ssh  22/udp    # SSH Remote Login Protocol
telnet  23/tcp
smtp  25/tcp  mail
domain  53/tcp  nameserver # name-domain server
domain  53/udp  nameserver
www  80/tcp  http  # WorldWideWeb HTTP
www  80/udp    # HyperText Transfer Protocol
pop-2  109/tcp  postoffice # POP version 2
pop-2  109/udp
pop-3  110/tcp    # POP version 3
pop-3  110/udp
imap2  143/tcp  imap  # Interim Mail Access Proto v2
imap2  143/udp  imap
https  443/tcp    # MCom
https  443/udp    # MCom

ref:
http://figures.oreilly.com/tagoreillycom20090501oreillybooks295241I_book_d1e1/figs/I_mediaobject7_d1e7863-web.png

Friday, July 4, 2014

Thinking towards writeme.SpamPoem

The proposal has been accepted in the coming Writing Machine Exhibition in Oct 2014. Yesterday I had a discussion with Hector, where I explain in more details about my concept on mutability and unpredictability. He uses these terms instead: unpredictability, indeterminacy and temporarily. He originally thoughts my concept relates to John's cage randomness.

One of the things that we share is the relationship between concepts/processual and visual representation. Here we both tried to avoid using the term 'visualization', and he aware the term 'translation' is also not the best term to describe the visual presentation. It is because the materiality of computational processes, perhaps, is difficult to represent in visual or even hardly fully translate. He then raise - these processual concepts might able to give a new dimension/thinking of visual. To reframe it, the question is: how to represent the system dynamics through visual representation? or it can never be able to do so? We both see the tensions there - audience understanding, visual representation, the black box of computation. He gave me lots of freedom to decide what I will ultimately select, I feel a lot of trust in between us.

But also because of this, I revisit the project again and started to look at the notion of unpredictability in computer science term. It seems hardly avoid chaos theory, but I will never able to understand due to the complexity of mathematics. Therefore, I need to have a high level understanding of the relationship between: unpredictability, determinacy, dynamics and indeterminacy.

To me, the new work is more about thinking the materiality of network, software and data, this relations are regarded as assemblages which involve both human and nonhuman agents. At one point, human can initiate an intervention, but the software itself will also automatically trigger different data traffic which is invisible to the audience.

Writeme.SpamPoem, - by showing the both the readme.spampoem and visual in parallel, audience might start unpack the parameters, values and inter/intra-action that involves in the work.

...  

Monday, May 26, 2014

GA2012 – XV Generative Art Conference - writing by Oliver Gingrich

"In artificial intelligence and robotics, the term “autonomy” has played a crucial role to refine both control and intelligence. From the outset, artificial intelligence served as a conceptual backdrop for generative arts"

excluding human - " “performed without human guidance” a robot can be called Autonomous.This definition clearly earmarks autonomy as a concept defined through the exclusion of human interaction."

"The theoretic framework of generative art is deeply rooted in artificial intelligence and cybernetics - both in practise (Roy Ascott, Gordon Pask) and theory"

"Generative Art is subject to controllable directives, capable of self-control and predictable as it relies on a set of rules for its creation"





reference: http://www.generativeart.com/GA2012/oliver.pdf
 

Wednesday, May 21, 2014

Mutability

I am trying to search for different terms that are have similar meaning, but at the same time regard as the characteristics of liveness.
  1. unpredictability 
  2. dynamics
  3. mutability
Well the term "unpredictability" found in many writings that are related to the field of media and performances. For example in reality TV show, the unpredictable behaviors of the actor or invited guest. Sometimes the term 'out of control' is used (Palmer) to indicate the sudden interruption of a TV program running such as breaking news. Even in the music scene, Sanden uses the term "spontaneity"and unpredictability (p.11) that are related to musicians' performance.

Software is no doubt that is regarded as one of the performances. I would say it is performative as does things once it runs, or use a more specific term "executes". Both Adrian Mackenzie (2006, p.6)  and Matthew Fuller (2003) describe software as "social software"and use the term mutability to address code as "an unstable volatile material" (from Mackenzie), a concept based on physics. Whilst Fuller uses his own collective artwork The Web Stalker to discuss the notion of mutation that associates a wider cultural process of production. He explicitly mentions the relation of mutability with liveness where subjectivity is embodied in software. In addition, that processual live is infinite (p.64).

At least both scholars who are in the field of software studies use the term 'mutability' to think about liveness in a boarder sense, towards social and material and not only focus on human actants. 

Thursday, May 8, 2014

text on a path using nodebox

Analogue Generativity - artworks and artists

procedurality

procedural rhetorics (Bogost, 2007; Flanagan, 2009)

Ian Bogost: Unit Operations (2006)
"(…) games create complex relations between the player, the work, and the world via unit operations that simultaneously embed material, functional, and discursive modes of representation" (Bogost, 2006, p.106).

"Computation is representation, and procedurality in the computational sense is a means to produce that expression" (Bogost, 2007, p. 5)

Miguel Sicart
Proceduralism is interested in the ways arguments are embedded in the rules of a game, and how the rules are expressed, communicated to, and understood by a player.

Proceduralism both justified the cultural validity of computer games providing arguments for the exceptionality argument (computer games as unique, expressive cultural objects), and opened the possibility for a new take on serious games that combined design approaches with a strong humanist discourse.

ref: Against Procedurality by Miguel Sicart

Saturday, April 12, 2014

TCP and UDP

readme.SpamPoem

quite a lot to update, how to start?

ok- readme.SpamPoem is done, it is more to explore the spam language/culture as well as the autoreply as the medium to distribute artwork. See here: http://www.siusoon.com/home/?p=1184

But I am now also working on writeme.SpamPoem. What I want to do is to develop a generative work that utilize the entire spam poem pool. Currently, it randomly pick up a poem record, and then interact with the mouse movement. I want to replace the mouse movement with network / packet data, such that it comes an autonomous piece but also interact with the environment.

I am exploring various options such as carnivore lib as well as wireshark. I tend to use carnivore as it integrates pretty good with processing. For wireshark, it offers much more data, however, it will increase the complexity of the data file.

I download the latest carnivore lib and it doesn't really work with processing 2.1. It seems i have to install a backward version in order to support 32 bit. Here is the result: https://github.com/RSG/Carnivore/issues/2


Monday, April 7, 2014

The architecture of open data platform

Few things interest me that are closely related to real time technology:
1/ CKAN as an open source platform
2/ the real time module websocket server
3/ the event detection interface at postgresql

The other thing is the understanding of real time -> you require constant polling of request, this cause delay, but also still consider as real time/streaming data. 

drew by LASSE STEENBOCK VESTERGAARD from ALEXANDRA INSTITUTTET A/S 

Wednesday, April 2, 2014

json

Looking into json with processing, found two libraries that can do the job, but the syntax are quite different. One focus on the concept of json array and object, the other tries to DE-emphasize it. Both actually took me quite awhile to fix the minor details of array and object, as well as getting exact data.

The simple program is to connect with the open data from aarhus (literally it can be connect with other data that provide json as the data retrieval method)

 

Monday, March 17, 2014

Twitter bot

This is more practical thinking towards the final outcome.

Just scan through this blog about "Using Google Spreadsheets for a generated text Twitter bot". Wanna test it and think about how bot and live text can be emerged together.