Oct 19th, 2016 by Red Lion

So where are the new CAP students??

HSS8123 – just a report of my progress
Jul 8th, 2016 by Red Lion

Long time no see. Yeah, because I have been reading and researching and writing code…

At least I am glad that I am doing what I proposed in the HSS8123 module last year. Yes, I mean last year. I recognise that I would normally do what I said (or promise). For example, in the first year of high school, I said I wanted to study in Wuhan University, and I really did!! OK, enough. So, last year in a HSS8123 session I gave a presentation saying that I am going to make something funny and ridiculous, like Fountain or South Park. And so my research topic for final project is humour and joking in digital art. And explore whether people would appreciate joke as art.

May is a deadline month. So I took about a 2~3 week break in June, and then started literature research. I went to dig for materials related to jokes, humour and appreciation of art. I also spent some time reading neuroscience books because I like medicine and biology…anyway the literature research was quite interesting and gave me inspiration. And as a by-product of the research I, again, want to emphasise the power of culture difference…it’s just so powerful, which is one reason why I chose to apply for a uni in Singapore, an eastern country, to do PhD….OK, OK, I’m sidetracking again, I’ll shut up *LOL*. And of course the conclusion is that jokes should be considered art and we are appreciating them just like appreciating other artworks.

Besides the books and articles I also found some nice ideas when I googled some digital April Fool jokes. Check out this one:

I also asked Tom for advice because I had difficulties finding DIGITAL ART jokes and pranks. Tom’s suggestions are really helpful and I think THIS guy is doing great digital clowning performance videos.

But so far I haven’t found any digital art pranksters. How can we make pranks with digital art?

After watching those prank videos I conclude that the most important thing in pranks is the ridicule of the victim…look at those prank videos showing a close-up of the victim’s face expression after being played a prank on. And what causes this ridicule is mostly the erring of the victims or faulty logic. Such as asking someone to help with a gadget that has been hacked so that the person who uses it will cause trouble for sure (erring of victims). Or, for example, your dining table crashes when you press the “call service” button (faulty logic).

Alright, so I am also going to make the visitors to our exhibition “err” when they walk to my installation. Imagine this: you’re enjoying this nice and neat digital art exhibition. Then you see this corner with a warning sign, but the area looks nothing dangerous. It has only got projections of cartoony cute little birds on the wall, and even has a small table and several sofas for you to relax. You are tired and you sit on the sofa. Then you hear a savage cockcrow behind you, and the projection on the wall start to glitch and show weird flashy shapes. You think you might have destroyed the installation by accident, then suddenly the blue screen of death appears. You are scared of being in trouble and you sneak out of the ballroom…

OK, the above are all assumptions. Tom says never make assumptions about how audience would react, but I would love to see this happen…Anyway I have contacted Abi and hope to talk to her about how to deal with audience’s possible reactions to a digital art installation.

The first week of July has almost passed and currently I am working on Processing code writing. I am using Optical Flow to detect people’s movement in my installation area, and I’ll get a force sensitive resistor to detect people sitting on the sofa. Everything is going on smoothly at the moment.

And please feel free to laugh at me if my project turned out to be a flat joke in the end…I love pranks, but I didn’t think creating my own prank can be so hard!!


HSS8121: Two ideas for In Your Face exhibition
May 16th, 2016 by Red Lion

Tom says we don’t have to come up with really brilliant ideas for the exhibition since this is not what he is going to assess (Tom: Why are you emphasising this in your post?!), but I still want to show my favourite two ideas that I came up for the exhibition here.

Almost everyone on earth knows that I am terribly obsessed with cartoon character design, so of course my two ideas here are all related to cartoon character design as well, and in order to relate to the exhibition’s topic, I chose to explore cartoon face drawing styles. Anyone with experience of watching cartoon animations or reading cartoon comics from different countries will notice that the styles of drawing from various cultures can be totally different, and my plan here is to show these differences to the audiences of the show, whether they watch cartoons or not, by displaying the different face drawing styles.

The first idea is a still display installation. I got this idea after I saw this picture on the web:

anime face in different ages


It’s interesting when you put together a set of different drawing styles for a same object. This picture above shows the evolution of typical anime face drawing styles. Seeing this, I started thinking whether we could also put culture together with timeline. In order to realise this, we might need a large table like this:

faceproj1The thing is we need to try to summarise the common factors of a drawing style from a certain time and culture and produce drawings of one object using the style we have summarised. The problem is that even if it’s one certain time and culture, different cartoonists still tend to draw in different styles, so it might be hard to conclude into one single style. But I still believe this is possible. Perhaps we need to choose those that are more typical. And also cartoonists affect each other, so there should be plenty of family resemblances.

The second idea is generated from the first idea, but consists of interactive factors. In this idea, the drawing styles are not simply displayed. They are for you to choose and combine and make your own face. To be clear, I’ll show a picture here:




The drawings of the face elements will be extracted from cartoon characters from comics and animations from different cultures, and the player can remix the different styles together to see what they get. One thing interesting about this one is that I won’t tell the player which style is generated from which culture and it’s all up to the player to create. It would be pretty fun to see whether people actually put together styles from the same cultural background without knowing it.

Media Documentation for DMS8013 Assignment
May 13th, 2016 by Red Lion

Nice to invite friends to play my games again 😉

Insane trains
May 11th, 2016 by Red Lion

On the hack day I first worked with Meena trying to fetch some train data from the web and apply them to some graphic effects. We did find an API source for train timetables at Newcastle Central Station, and while we were thinking about how to use these data, Ilya showed up and joined us. He said rather than fetching data from the web, why not just fetch data from the videos which I shot at Central Station a few weeks ago. And that lead to a play with background subtraction and interesting results.

Before Ilya joined in, I was playing around with video transparency. I shot several trains from the same spot, with a tripod, so I was thinking whether I could change the transparency of the videos so they would look like ghost trains crashing into each other. We asked John for a bit of help on video addition, and we learned about blend() and tint(). Here’s the screenshot of ghost trains.

2016-5-11 14-35-09

While working on ghost trains I have discovered a quite interesting that Processing can create if we draw a half-transparent image on every loop and do not redraw the background. In fact I used to use this to create an afterimage effect for moving objects, but I didn’t realise this effect can be put on videos and create a fake motion blur. Below is a screenshot. Looks like the train is travelling pretty fast huh? Actually it’s on about 10km/h.

2016-5-11 14-37-14

Then Ilya joined in and wanted to play with pixel data. So we started looking at a background subtraction example in Processing and wanted to apply that to our train videos. We had a pretty hard time doing that, and Tom spent ages fixing our problem (thanks a lot!). At least it’s finally done, turning my children, I mean my trains, into a rather…punky style? It was a pretty surprising result though, and I might use this visual effect and combine it with crazy train sounds for my DMS8012 assignment. The screeshot:

2016-5-11 14-32-27

 And here is the video consisting all of the above.

PS Although we did not use train timetable data in the end, those data are really useful to railway enthusiasts like me *lol* at least now I know the abbreviations for train operators. GR, NT, XC, TP *lol*

PPS John was really obessed with playing with the train sounds at the end of the hack session. I would say Chinese train sounds are way better than UK train sounds. They are more rhythmic and they are pounding like heartbeats. I guess it’s because Chinese trains are longer and heavier. If you are interested in hearing the sound check this video I shot: Put on headphones for best experience. @John Bowers

HSS8121: Something I wanted to say a long time ago
May 5th, 2016 by Red Lion

Perhaps it’s an educational convention of Chinese students that we do not like to state all of our opinions in class, especially critical thoughts. I have something to say about what I have learned in HSS8121 Enterprise and Research Methods a long time ago, before I went home for Easter break, but have not found an appropriate time to do so. I guess now I can say stuff since the module is finished. (What? That doesn’t make sense *eyeroll*)

Although both of my parents are academics, they do science not arts or humanities. It’s been ages that I have been thinking that doing research is all about doing experiments and getting data and making analysis. When I chose to study arts in undergraduate (I used to be a science student in high school, playing around with physics, chemistry and biology), my mum said, “Right, now we can’t help you anymore because we only know science. You’ll need to find out how to be an academic in arts by yourself, and how to do art and design research.”

Chinese people tend to discriminate against arts and humanities because they think science is much more useful. I can understand this because we are living in a developing country. And I’ll have to admit that art and design research in China is relatively poor (which was why I chose to do my Masters somewhere else). The school in which I did my undergraduate does not have any PhD programmes related to art and design. They only have programmes for architecture and landscape and urban planning. I have looked up some information about art PhD programmes in China and most of them are related to art history, traditional Chinese arts and crafts or whatsoever. Very theoretical stuff.

I was kind of surprised about what UK art PhD students are doing here. They are making stuff, and are encouraged to make stuff. And they call it Practice-Based Research or Research Through Design. Analysing your own design can be research. We can even learn from the process of creating a failure. And the PhD students here are exhibiting their works everywhere.

Why, isn’t this just like science experiments? The different thing is just that science is analysing nature, art is analysing people and ourselves. While Chinese art PhD students are burying themselves in thousands of books, UK PhD students are making things that never existed. Of course I don’t mean that reading is not important (I like reading), but academics in my home country should really change their stereotypes on art students and be aware that art is not just reading literature and analysing works of people from the past, but making and analysing what you made by yourself.

There’s also something I’m quite angry about…some artists here are doing a PhD to, guess what, pay for their bills! Because they get scholarship to do research and they can spare money to pay the bills!! This is just so ridiculous to me!! If I want to do a PhD I have to pay tonnes of tuition fee, even if it’s in my home country! :(:(:(

And finally I want to say that I love ethnographic study. It’s totally fun observing people doing things, totally fun to find what people from different age groups, gender groups or cultural backgrounds would react differently to the same situation. Results are always surprising! PS. One reason why I like to watch prankster videos is that, I  don’t think it’s the prank, but the funny and unexpected reactions of the person being pranked that makes me laugh so hard *LOL* Does that count as ethnographic study anyway *LOLLOL*

Creating an asteroid belt
Apr 23rd, 2016 by Red Lion

Althought it looks a bit boring but I’m writing this post in memory of the first “class” I ever created.

If you want to create a group of objects that have the same features in Processing, you’ll probably need to create a “class” to define the features of this particular object. For example, I am trying to create an asteroid belt in the solar system model we’ve built in class. An asteroid would be a random sized sphere orbiting around the sun, and an asteroid belt would be a group of these asteroids.

My first attempt to create a class ended in failure. I tried to refer to tutorials and some class Tom has written and figure out how the class works, but didn’t get the class working. Then I tried to create a function (void asteroid(){}) instead, but if you draw a function with random numbers, the function will refresh the random number every frame, causing totally ridiculous flashing asteroids. So I guess I still need to stick to writing a class. After nearly 3 hours of banging keyboard in the library, I finally managed to create my asteroid belt. I finally found that the problem was that I wrote the random() in the class, not in the setup.

2016-4-23 16-33-13


The class:

class Asteroid{
float col;//colour of asteroid
float spin;//orbit speed
float wiggle;//a tiny Z axis offset effect
float distance;//distance from the sun
float diametre;//diametre of asteroid

Asteroid(float _col,float _spin,float _wiggle,float _distance,float _diametre){
col = _col;
spin = _spin;
wiggle = _wiggle;
distance = _distance;
diametre = _diametre;


void spinning(){


Assignment – Documenting my work
Mar 4th, 2016 by Red Lion

It’s quite interesting to find out that the process of documenting an artwork is…quite interesting. Taking photos and screenshots or recording a drawing process on SAI on the screen are nothing new to me, but making a short documentary-like video is challenging. I’ve never done that before to be honest. Well I’ve shot trains and birds and have experience of editing these, but not my works.

Especially a screen based work. It just seems so boring to point your camera at the computer screen and record what’s happening on it! Why not just use screen video capture tools instead! But Tom said documenting a screen-based work is part of what he wanted to explore.

As a result of the class, I decided to focus on the audience. So I grabbed the tripod from culture lab and asked my flatmate and neighbours to come and help me.

And this is the documentary video for the work for HSS8120: Guess the Profession.

Watching people’s reaction to something is always fun. You’ll be surprised by how unexpected their actions could ever be. I guess this is also why people love watching pranking videos: they are not laughing at the prank, but laughing at the hilarious reactions of the victims shot by the hidden camera. I would say it would also be fun to watch people go berserk at a shitty design/artwork! Please google “Angry Video Game Nerd” for more information…

Recording people’s reactions is not just fun. It also creates an archive of audience-based materials which the designer might refer to when he’s making something else in the future. It can be used to make improvements for future works, or improve your previous design as well. Of course, some just-for-fun artworks do not have a “good or bad” criteria, so this archive of audience-reaction can act as inspiration – even useful if you want to create a “terrible interaction” on purpose!


Hello Arduino
Feb 19th, 2016 by Red Lion

It’s good to know a last year student because she can guide me through my Master’s programme…

So finally we started to play with arduino, which Riar called “a toy for grown-ups”. When I first got to know Wenya, a last year cohort, she told me they were making things with arduino boards and sent me some photos. I was like, “What?? Are you sure I’ll be okay with this?? I haven’t touched electronics for four years since I graduated from high school (and in my previous physics exams I often skip problems related to electronics because I sucked at it)”. She said I would be fine because it was pretty easy. So I went to find some books and websites related to arduino to try to get started. The projects in the books were pretty interesting though, but they still seemed difficult to me. Anyway, I have the teachers to teach me. I’ve paid my tuition fees to them so why should I spend time learning it on my own, I thought.

The “hello world” for arduino is a blinking LED light. Quite easy though. Both the code and the circuit (here I’d like to mention a background: in China students get to choose whether they want to study science or literature when they enter high school. Those who choose to study science will study physics, chemistry and biology, and literature students will study politics, history and geography. I used to study science, so I have background in electronics and circuits and stuff, but I hate electronics to be honest…I prefer mechanics. Trains! lol). Besides LED lights we also played with light dependent resistors and used Processing to detect its value. Perhaps I’ll use this technique to make stuff in the future.

Our assignment was to build an LED light that is dependent on the value of the light dependent resistor. When the value is high it turns off and when it’s low it turns on. I’ve struggled with where to put the “delay(500)” in the code, but eventually everything worked out fine. Here’s the video.

Here’s the code.

int inPin = A0;
int ledPin1 = 11;
int ledPin2 = 12;
int sensorVal = 0;

void setup() {
// put your setup code here, to run once:
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);


void loop() {
// put your main code here, to run repeatedly:
//int sensorVal = 0;
analogWrite(ledPin1, 255);
sensorVal = analogRead(inPin);
delay(500);//put delay before if so ledPin2 doesn’t delay
if (sensorVal < 500){
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin2, LOW);

analogWrite(ledPin1, 0);
sensorVal = analogRead(inPin);
if (sensorVal < 500){
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin2, LOW);


Project Work
Jan 10th, 2016 by Red Lion

Good to know that I wasn’t the only one who struggled with the project for HSS8120…sometimes an open assignment is even more difficult than being told to do this and that…I think all designers and artists have had the feeling that thinking takes 70% of your time doing your work while making only takes 30%.

Anyway I’ve finally finished my little game and I am pretty satisfied with it although it might not be really cool…actually I’m a pretty conservative person and I’m not quite into challenging art and design conventions, but I just want my audience to think that my stuff is fun and interesting rather than stunning and bizarre…

Ok, back to the project. Before introducing it I would like to tell everyone how this idea finally came out. The assignment requirements asked us to relate our project to one of the several topics we discussed during the classes, and I decided to choose the topic about “mapping”. Here, the “mapping” did not just refer to cartography, but how people themselves “map” the world around them. My original idea was to create an “age-controller” that shows different images of a scene seen by people in different ages. For example, if the audience chose to be a kid, he would see the cars on the road as transformer robots, and if the audience chose to be old, he would see the world blurry due to eyesight problems. But this idea rose the problem of stereotyping. How would I know that all kids in this world see cars as transformers? Every kid has their own world.

2016-1-10 16-12-26

So after receiving feedback I decided to simply change the topic to stereotyping. In fact during my preparations for the original idea I actually found many examples of stereotypical mapping. Then I came up with the second idea: student stereotyping. I wanted to shoot videos of people walking in front of their schools and turn them into stereotypical images of their professions according to the school they were walking in front of. For example I would put images of crazy artists onto people who walked by the School of Arts. But Tom said that shooting strangers in a private area (e.g in a uni) was illegal in the UK. And another problem was that not so many people actually walked around the campus during the Christmas break. Tom said I could use sources from the web, but I didn’t like doing that. Finally I came up with the idea that I could ask my friends in China to shoot videos of Chinese students!

I asked a medicine student to shoot his school, and another remote technology student to shoot his school. I loaded the video into Processing and wished to detect the walking students. But the OpenCV library’s body detection was horrible, and made lots of mistakes, like, detecting a pillar to be a human body. Background subtraction only worked for very still cameras, because my friends were holding their cameras in their hands and couldn’t avoid shaking so the background subtraction wouldn’t work either.


So I decided to give up this idea and try think of other ways to reflect student stereotyping. While fiddling with OpenCV I found that face detection was much more accurate than body detection, so I decided to work on faces. I was sure that I could use different faces to show student stereotypes as well. And that was the idea for my final work that came out in the end.

The game is called Guess The Profession. This is a small interactive game made by the software Processing. It is a very simple programme: a 320px×240px image captured from the webcam is shown on the left, and a map of Newcastle University campus is displayed on the right. In the centre of the map is a red cursor, standing for the player’s position in the university. The player can move the cursor by clicking on the map, and the cursor will move to the place he clicked. Depending on the position of the cursor, the image captured from the camera shown on the left changes according to the profession of the students who often appears in that particular place. For example, if you click on the School of Architecture, Planning and Landscape on the map, the image on the left will show some symbolic characteristics of an architecture student. Only the light blue buildings on the map have affect on the camera captured image. Face detection technology from the OpenCV library has also been applied to this game, which allows the game to track your face and draw your face with certain sprites. The sprites drawn on the captured image are based on what the Google search thinks about these student majors. I used the image search engine to find pictures which I used as references of the sprites I had drawn. For instance, I would type “architecture student” and see what comes out from it. I would design my sprite by summarising the common characteristics in the pictures that came out. The most interesting part of this game is that it doesn’t have any words on the map. The player can guess which profession is it by examining the image shown on the left. Also it gives the audience a feeling of surprise.

The programming is very easy. It just detects your position on the map, then decide what profession it will be, and then put the sprites onto the webcam captured image. Some professions did not show much facial characteristics when I Googled the images, so I did not draw facial sprites for these, but drew symbolic items these students tend to use, e.g computers and codes for Computer Science students. Here I’ll show a few lines of code from the game.

void detectSchool(){
zbX = mouseX;
zbY = mouseY;
major = 1;
if (faces != null) {
for (int i = 0; i < faces.length; i++) {
image(medicineFace, faces[i].x+faces[i].width/2, faces[i].y+faces[i].height, faces[i].width*1.5, faces[i].height*3);


I argue that all artists have their intention of creating an artefact, and no artefact came out because of no reason. I know some artists deny this but hey, think of all the memories you have and all the events you have gone through, they must have some slight effect on creating the artefact, and your intention of building this artefact might be to display one of these memories…so what I want to say here is that my project, Guess the Profession, is aimed to criticise student stereotypes. I would love it if a business student clicks on the Business School in the bottom left corner and shouts “No way, we business students are not all like that!” when he sees the image on the left. But I also want the audience have their own choice of understanding this game, I mean, I won’t force them to think that, “Oh, this game is criticising student stereotypes and the Google search engine’s stereotypical view”. I’d rather they play with it themselves and have their own opinions about it. They might just think it’s something fun, rather than something critical. Further arguments about this has been written in my essay for HSS8120 module, so I will not repeat all of them here…

Anyway, click HERE to download this game. The password is “tgfu”. You’ll need to install Processing and the OpenCV library.

»  Substance:WordPress   »  Style:Ahren Ahimsa