Trix Algorave

After a month of trying to run clojure REPLs and trying to get quil to talk to overtone I was ready for my first livecoding performance. Trix algorave was a great event to meet like minded people talking about code, music and creativity.
Using quil means I was doing graphics and I was supporting the music of bohrbug. The hardest part was getting two computers to be in sync on both sound and music. I could use some insights on that.
For now we were using OSC and two separate SC servers. I have a hunch that running one SC-server for both music and visuals could greatly improve the sync and the amount of data that can be shared realtime between the two interfaces. Any ideas on that are likely to be moderated very quickly ūüôā

The evening was continued with Insomniark en Exoterrism both using pure supercollider and hardware controllers for quickly interfacing with the code to be concluded with a streamed set from Alex McLean. That last set showed of an impressive coding style, both fast and well executed clearly showing experience is important…

some images:

KaOSbeat & Bohrbug @ trix algorave
screen cap output from 2/3rds into the set
screen cap output from 2/3rds into the set
Exoterrism at the knobs and insomniark’s hardware in front of it
Alex McLean Live from UK

onto the next algorave Here’s the full code repo for the visuals and the full set on youtube below (atm without sound, hope to get the recording ASAP)

designing a 2D cityscape in processing

For the mix office redesign I designed a magnetic and writable wall (9.6 by 2.4m) but to just have an empty white board, well that would be a bit boring so I added a cityscape at the border, generated by processing, and the “oblique sky” clouds formed by the words of Brian Eno’s Oblique Strategies, also generated by processing. Both ideas were developed through trying and testing and getting immediate (visual) feedback while coding. At each run of the code, I took a snapshot. Next Time, I’ll look into autocommiting with a tag in github so I can link snapshots back to the right code. If you put the snapshots in a little movie, you can see the evolution of the idea and also the mistakes along the way ūüôā

Feedback was given from the oblique strategies themselves as they hinted me to try other things when I saw them rendered on the screen.

Code on github

obique sky


Final result


inspiring drawing by a colleague


do it

dataviz using physics (part2)

I quickly added real data to the visualisation so now what you see actually means something. Every circle represents 20 persons either older or younger then 20 living in muide-meulestede-afrikalaan, a district in Ghent, Belgium.

before the toggle
before the toggle

Then I made a toggle button to make kids take up more space. Also in areas with less open space an extra factor will make them even bigger. The results seem readable to me and the toggle makes it easy to compare between not taking additional parameters (open space &demographics) into account and taking the extra info into account.

after the toggle

But who am I to decide over the importance of kids and open space… let’s add sliders.

with sliders

The sliders let the user decide which parameters are important and get immediate feedback. neat!

code at github.



Dataviz using box2D

Data. We’re creating more of it every day then ever before. Big companies are using your data it and you might (not) be happy with what you get in return. anyway they are crunching your big data come up with big numbers or even a score for your profile.

Besides not being very transparent about the¬†algorithms¬†most of the time, they create a currency you need to trust based on a gut feeling, but that’s another story.

A good trend is more and more governments and institutions are opening up their datasets to let the public access their data. Whether it is because a governments is legally obliged or a company/institute believes it can benefit from opening up their sources, we have access to some data to play with.

I’ve been reading up lately on the subject of data, and I went to¬†where I was inspired.¬†@flowingdata¬†also compiled a nice list of blogs/sites on the subject on his site.

Working with visual data has always been of interest:

Armed with a Silicon Graphics Indigo 2 Extreme desktop workstation with R4400 processor, four gigabyte hard drive, and 128 megabytes of RAM, Borchers uses IRIS Explorer an interactive 3D data visualization system to analyze data. The team’s datasets range in size from four to 20 megabytes (based on foot scans producing 300,000 points in x-y-z spatial datasets). 1999 web 1.0 link

Now that I have 128Mb of ram I thought I should give it a go. I chose processing as I used it before for different tasks and it’s is a good protoyping tool used by dataviz pro’s to make stuff like cascade¬†(built by @blprnt ¬†at @nytlabs). Besides that, I recently had a nice re-intro to processing ¬†by @vormplus¬†and I followed a workshop @p5Ghent.

If you’re interested here are some other tools as well

Having just missed the Ghent appsforghent challenge it felt a bit odd at first to use the sets, but I’m a local, and you should think local(but act global, which is why this post in in English).

The Idea

An interactive explorative tool that allows you to visualise data on a map (of (part of) Ghent)

I wanted to express the fact that this particular place where I live is crowded, densely populated and this is why I started thinking about using physics. Particles bumping into each other, fighting for space.

This is far from finished but I thought I’d share this already.

It’s on github, next up is giving kids more space by mapping the demographic¬†pyramids¬†on this data and making the particles representing kids bigger. With the press of a button I could show what impact building a new¬†high-rise¬†flat will have in a certain area.

The user could set the desired sq meters of outdoor area per capita and see which neighborhoods are comfy and which are crowded. Much more thing a possible, but also a little more time is needed.

Right now it reads in map data from an SVG file, converts those shapes to box2D entities and populates them with particles.

the small points mean < 1 person!

The screenshot isn’t using the correct data yet but you don’t need a lot of imagination to see that it has more potential then the original

just using a map to display map related is a start and while that is an option on the site (which is a great source of info btw, well presented and all that)¬†this static mapping doesn’t really say a lot. It’s crowded. period.

The exploration

I’m just using this example to explore the possibilities of using physics for making sense to data. This doesn’t¬†necessarily¬†mean you need to map phyisical properties to your data that in real life exhibits the same properties. I can imagine ¬†that if you need to sort certain types of data it could make sense to let them have a¬†different¬†density so some data floats while other would sink, while you’re actually¬†visualizing eg.¬†twitter vs. facebook.

to be continued

nyanchat – how to discourage spam in realtime chat enabled webapps

On the dayjob we created this nice platform where you can talk about tv programs on the second screen. We deployed it as¬†villavanthilt and enabled everyone with a webbrowser to talk along with the live TVshow and share the conversation. This all went well until we launched the realtime wordcloud as an app on the platform. It renders a wordcloud as you type of all messages passing the view. The problem is people started spamming to get their word in the cloud. After one evening getting loads of spam, deleting loads of users who recreated their account, we decided to make it stop…

Of all the cruel ways we came up with to punish spammers, or all the gentle ways of changing their behavior, there was one that seemed spot on. As a plus it was easy to implement, needed because the show ends in just two days.

  1. find spammer
  2. I think  you noticed the spam, just click it to open the spammers profile
    Notice the two red buttons, one is remove user, the other is mark as spammer
    spam mainly comes from uneducated kiddies, not viagra sellers as there is bot protection
  3. mark the user as spammer, a websocket message is sent to the user forcing a reload, and making the villachat…
    nyanchat, replacing the spammers(mine in this screenshot) text input window with nyancat
  4. The user could still log out and create a new account but their logout (afmelden) button is gone, there session stays open and they can’t create a new username.
    regular users can logout
    spammers can't sign out, button is gone
  5. thanks nyancat
  6. As a bonus the nyansound is there too and the session stays signed in for four days. That should teach em. Oh yeah talking about teaching clicking on the cat opens the wikipediapage on spam, educating the user.

Feel free to check out, but don’t make me nyan you

    Thanks to everyone who helped thinking up this and other ways to punish/educate spammers. Happy spamming,I’m coming to get ya!

    zipstick release

    I uploaded something to Actually I downloaded something onto it and uploaded something from it because it’s a host for files with an interface that becomes active as you put your stick in the topmounted usb port. So head over to wherever zipstick is located, grab your USBstick from you keychain (you should have one on your keychain if you haven’t lost your keys since 2006) and grab some nice releases while you are there. Besides the (obvious choice if you’re into¬†computed glitch stuff) I’d recommend “SURF” for easy listening and “” for the excellent DD#12_B track filed under groovy broken guitar tunes I guess. More kapotski here.

    on the kaotec side: the software used for the CA-tracks is homemade and on the release. pure data and probably unstable… go grab it and enjoy

    Pic of the day

    I recently made pic of the day at gentblogt. I guess it can be tagged with serendipity as I was just shooting pictures on my way to work, on a misty morning and I got it all right by accident. It was really worth stopping to watch the waterside with the little clouds rising as the sun rose in the background, although everyone else seemed to be complaining about traffic instead of looking left/right.


    Double exposure Parc la Vilette

    Shot using an old but descent RolleiFlex clone that didn’t have a stop for the film, so I overlapped all frames. I could never cut the film after developing it, but I liked the results. I also learned how not to double expose the film…

    problems uploading to mignon gamekit arduino

    I recently got a mignongamekit from a friend. I assembled it, and the demo game is working. Of course I’d rather attach it to a homemade cable and antenna, so I can take control over some space station with it, but that’s not gonna happen until I get the programmer to work. I’m trying to hack one out of an existing FTDI breakoutboard I have. I use it for programing the arduino pro mini. Problem is it has one pin more then the migprog the mignongamekit proposes. the “CTS” pin,

    First I just floated that pin, then I connected it to ground, always same ending

    "avrdude: stk500_recv(): programmer is not responding"

    The programmer resets the arduino fine, but after the timeout, the demo game just starts. The programmer is not fried as it still programs my other arduinos. I then switched tx/rx cables, so the tx on the programmer connects to the rx on the the gamekit and vv. but stil the communication is not happening. I tried all combinations of board/Serial Port, also the 8Mhz ones… Whats wrong? Is it something with the programmer? or with the gamekit? Am I trying the impossible?

    maybe I have to try this, but for now that doesn’t really solve my what the hell is the CTS pin for…

    Any input appreciated.