Tag programming

Code a Week #3: More Wittgenstein

Again did not have very much time to code and after coding mostly in C for arduino etc. I do find Java & Javascript (the p5.js) to not really fit into my way of thinking. I do still enjoy it and this week I mostly ported the first week’s scipt into vectors. Inspired again (a lot) by Shiffmans Nature of Code-book. It is a recommendable book, if you have some background on programming and Object-oriented programming. Not the most clearly written, but fun. He has done a video tutorials also, which are a joy to watch.

Anyway this weeks code might not work on mobile devices that well, as it does track your mouse position. But who knows if it miraculously detects your touch also… (Did not code that into it, altough p5.js has support for touch controls.) And it’s a one minute loop on the text part. So stick around for the finale..


Wittgenstein and certainty:
[p5js code canvas]void thought1(){
int m = second();
if (m >5 && m <25 ){ fill(0); text("I act with complete certainty. But this certainty is my own.",100,250); } else { fill(255); text("I act with complete certainty. But this certainty is my own.",100,250); } } void thought2(){ int m = second(); if (m >27 && m <55 ){ fill(0); text("At the core of all well-founded belief lies belief that is unfounded.",100,50); } else { fill(255); text("At the core of all well-founded belief lies belief that is unfounded.",100,50); } } class Mover { PVector location; PVector velocity; PVector acceleration; float topspeed; Mover() { location = new PVector(width/2, height/2); velocity = new PVector(0, 0); topspeed = 10; } void update() { acceleration = PVector.random2D(); acceleration.mult(random(2)); velocity.add(acceleration); velocity.limit(topspeed-int(random(10))); location.add(velocity); } void display() { fill(255,50); noStroke(); rect(0,0,640,360); fill(10); ellipse(location.x, location.y, 5, 5); } void checkEdges() { if (location.x > width) {
location.x = 0;
else if (location.x < 0) { location.x = width; } if (location.y > height) {
location.y = 0;
else if (location.y < 0) { location.y = height; } } } class Follower { PVector location2; PVector velocity2; PVector acceleration2; float topspeed2; Follower() { location2 = new PVector(random(width),random(height)); velocity2 = new PVector(0,0); topspeed2 = 4; } void update2() { PVector mouse = new PVector(mouseX,mouseY); PVector dir = PVector.sub(mouse,location2); dir.normalize(); dir.mult(0.5); acceleration2 = dir; velocity2.add(acceleration2); velocity2.limit(topspeed2); location2.add(velocity2); } void display2() { noStroke(); fill(255,0,0,100); ellipse(location2.x,location2.y,4,4); } void checkEdges2() { if (location2.x > width) {
location2.x = 0;
} else if (location2.x < 0) { location2.x = width; } if (location2.y > height) {
location2.y = 0;
} else if (location2.y < 0) { location2.y = height; } } } Mover mover; Follower[] follower = new Follower[20]; void setup() { PFont myFont; myFont = createFont("Georgia", 12); textFont(myFont); size(640,360); mover = new Mover(); for (int i = 0; i < follower.length; i++) { follower[i] = new Follower(); } background(255); } void draw() { thought1(); thought2(); mover.update(); mover.checkEdges(); mover.display(); for (int i = 0; i < follower.length; i++) { follower[i].update2(); follower[i].checkEdges2(); follower[i].display2(); } }[/p5js]

Ohjelmoitua taidettaProgrammed art

Ohjelmoitua taidetta

Tietotekniikka kattaa nykypäivänä yhä kasvavan osan elämämme alueista. Yhteiskunnastamme rakentuukin yhä enemmän tietotekniikan ja ohjelmistojen varaan. Tietotekniikka on ehkä suurin murros sitten kirjapainon keksimisen. Se on mahdollistanut yhteiskuntamme uudistumisen monella tavalla. Paradoksaalista on että tietotekniikan yhä yleistyessä ja vallatessa uusia osa-alueita elämästämme, me ymmärrämme yhä vähemmän miten tietotekniikka toimii.

This post is only in Finnish, and is a copy of article I wrote for Stylus magazine (magazine for art educators in Finland) Read More

On web 2.0, education and humanity


This is my quite informal and not so scientific text on the subject. More of a ideas and questions on this subject than a real essay, which I hope to do later on as a part of my graduation work from Univeristy of arts and crafts.


I have been lately reading “Program or be programmed, ten commands for digital age”, “Life inc” by Douglas Rushkoff and “You are not a gadget, a manifesto” by Jaron Lanier which all are really great and very wise books which I wholeheartedly recommend to anyone or actually to everyone. But I do not mean to promote these books (I bought my copies btw.)but rather to first acknowledge that I might be a bit biased toward quite critical attitude on web 2.0 and on social media.

Read More

On splashing 200 litres of water on museum floor.

Today opened Please Participate! exhibition in Saarijärvi museum as a part of Live Herring 11 event series. I am showing my collaboration work with my brother Mikko there. Our work is a visual representation of the water quality in finnish lakes from 1976 to 2010. The color shows the quality of the water.  We have a user interface where you can select which year to show and also what data to show. (phosphor & nitrogen, for more info see this pdf.)

Read More

Illuminating lakes

Next friday, the 8th of april, new exhibition called Please participate! will open in Saarijärvi Museum. Exhibition focuses on new, mainly Finnish media art and emphasizes interaction and participation.

Me together with my brother Mikko will be showing our collaboration there as a part of the exhibition. Our work is called Illuminating lakes and is a large data visualization of water quality in Finnish lakes from 1970’s to 2010. Read More

MAX/MSP and Arduino basic-course starts 5.3. in Helsinki

There is new max/msp & Arduino course starting at Muu mediabase this weekend. (5.3.2011)
There might still be few places left, so if you’re interested and happen to live in Helsinki be quick and
check more info at Muu’s site.

I will be teaching the course together with Jukka Hautamäki. Its going to be fun.

Artificial digital art vs. real digital art

Loom, by Tomi Dufva











I have been wondering for quite a long time that why is it thatI prefer programming as a way to create digital drawings and not just simply use some clever drawing programs, like painter or illustrator. And there is some great drawing programs out there, that can mimic real life mediums and go well beyond them. Like Painter with it’s watery watercolors and liquid inks. Somehow digital paintings just feels wrong, even if they are nice programs and the works produced with them fairly good. Come to think of it, I have never seen any convincing abstract piece of art that has been made with such tools. There is some very nice figurative works, Like Mikkö Ijäs’s iPad drawings. But I havent come across some nice abstract paintings or other digital artworks made with such tools. There is some, but they’re probably ment to be just some filling in website or similar.

Obviously the answer is simple: they are just copying real life media. They are not original. And it can be felt. Hardly ever have I seen digitally made paintings that would move me. They cant, because theyre superficial. Abstract art is all about the media, it shows the quality of the media, like the material of oil colours or the light of watercolors and that way it also conveys some larger intents of the artists. Digital copies don’t do that, they are mere copies trying to be original.

Still, coded digital art moves me. I always find and feel it interesting. Painting by code. It feels natural. And that it is: programming is the very core of digital.

Well this is simple thing really. Just something I think of importance to ponder on.


Yet another new acquaintance on new programming platfroms: Impromptu This one is for os X users only and takes advantage of AU-units and is designed for live mixing, coding. Seems really interesting and free alternative to for example max/msp& jitter. (Although impromptu seems like normal programming platform and not visual like max. And there’s of course Pure data…)  There’s also some support for objective-c which does sound very good and can prove to be very powerful feature.

I haven’t had time to check it out myself, but if you do please leave some comments and your feedback, as Im very curious and interested of hearing more.

Hackety hack

On the topic of interesting and easy programming platforms,

I just discovered Hackety hack, whichs is programming platform based on ruby on rails.

Just downloaded it, and had a look around, seems like very good place to start to learn any kind of programming on your own. Some easy tutorials and intros are included.

If interested follow the link and give it a shot.


I am always interested
when something new with coding and art comes out. A little time ago
I noticed that the javascript version of Processing (check:
) has
finally hit 1.0 version. I have been testing it a little and Im
quite happy about it. Heres some of my thoughts on the

What Processing?

style=”color: #888888;”>For those that word Processing doesn’t
ring any bells, it’s a fairly simple programming language created
for artists, designers and non-programming people. It skips all the
bit boring parts of programming and focuses on the fancy stuff,
like visuals and interactivity. It’s a great intro to the world of
programming, but also very powerful platform to creat visual art on
its own. Processing has quite large community and different
ecternals and libraries has extended its use in many, many ways. Oh
and it’s free. Check it out

title=”Processing.org” href=”http://processing.org/”

style=”color: #888888;”>Why would I need the javascript

What makes me excited about the javacript version is
that it’s so easy to embed in many different web–based things. For
example in this wordpress post:

style=”color: #888888;”>It’s easy and great way to share some
sketches and also get your work shown. Also it’ll run on any modern
browser and is based on html5 and css.


There is some issues at least Safari and processing.js
and not all the processing sketches work properly. Specially theres
some issues with displaying fonts, specially in WordPress. All in
all, Im glad there’s such an easy way to show your processing
sketches on your own websites. (There is of

href=”http://www.openprocessing.org/”> open processing’s

where its easy to share processing sketches, but I really like the
idea to easily share them on my own.) This way it’s interesting to
make your own online exhibitions with your work and control the
whole user experience.