Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Wednesday, January 18, 2012

the internet goes... on strike...

http://www.myspace.com/dhlxstudios

Protest SOPA: Black Out Your Website the Google-Friendly Way
By Scott Gilbertson

On Wednesday Jan. 18, Reddit, Wikipedia and many other websites will black out their content in protest of the Stop Online Piracy Act (SOPA), the Protect Intellectual Property Act (PIPA) and the Online Protection and Enforcement of Digital Trade Act (OPEN). Organizers of the SOPA Strike are asking interested sites to black out their content for 12 hours and display a message encouraging users to contact their congressional representatives and urge them to oppose the legislation.

Although it was rumored that Google might join in the protest, that does not appear to be the case. The search giant does, however, have some advice for anyone who would like to black out their site and ensure that doing so doesn’t harm their Google search rank or indexed content. [Update: It appears Google will be participating in some fashion. A Google spokesperson tells Ars Technica that "tomorrow [Google] will be joining many other tech companies to highlight this issue on our U.S. home page.” WordPress and Scribd will also be participating. You can read the full story on Ars Technica.]

Writing on Google+, Google’s Pierre Far offers some practical tips in a post entitled, “Website Outages and Blackouts the Right Way.” The advice mirrors Google’s previous best practices for planned downtime, but warrants a closer look from anyone thinking of taking their site offline to protest the SOPA/PIPA/OPEN legislation.

Far’s main advice is to make sure that any URLs participating in the blackout return a HTTP 503 header. The 503 header will tell Google’s crawlers that your site is temporarily unavailable. That way your protest and blacked out website won’t affect your Google ranking nor will any protest content be indexed as part of your site. If you use Google’s Webmaster tools you will see crawler errors, but that’s what you want — your site to be unavailable, causing an error.

Implementing a 503 header page isn’t too difficult, though the details will vary according to which technologies power your site. If you’re using WordPress there’s a SOPA Blackout plugin available that can handle the blackout for you. It’s also pretty easy to create a 503 redirect at the server level. If you use Apache ensure that you have the Rewrite module installed and then add something like the following code to your root .htaccess file:1 RewriteRule .* /path/to/file/myerror503page.php


That will redirect your entire website to the 503 error page. Now just make sure that your myerror503page.php page returns a 503 error. Assuming you’re using PHP, something like this will do the trick:1 header('HTTP/1.1 503 Service Temporarily Unavailable');
2 header('Retry-After: Thu, 19 Jan 2012 00:00:00 GMT');


For more details, be sure to read up on the HTTP 503 header and see the rest of Far’s Google+ post to learn how to handle robots.txt and a few things you should definitely not do (like change your robots.txt file to block Google for the day, which could mean Google will stay away for far more than just a day). Even if you aren’t planning to participate in the anti-SOPA blackout tomorrow, Far’s advice holds true any time you need to take some or all of your site offline — whether it’s routine server maintenance, rolling out an upgrade or as part of a political protest.

Friday, January 6, 2012

“We envision communications infrastructure that is owned and operated cooperatively, by the whole of humanity, rather than by corporations and states.”

http://www.myspace.com/dhlxstudios

Darknet Rising: A Private, Secure and Anonmyous Meshnet Is Emerging
Posted on January 4, 2012



The muted postal horn was the symbol of Trystero, the private postal system in Thomas Pynchon's novel The Crying of Lot 49

In Thomas Pynchon’s novel, The Crying of Lot 49, the story centered on a worldwide conspiracy stretching back centuries and which utilized a private postal system called Trystero. And, just like Pynchon’s fictionalized postal network, today in the real world, privacy advocates, pirates, anarchists, outlaws, drug cartels and others have developed their own private networks called darknets to move their information around the globe in furtherance of their own interests.

One of the most striking examples of a darknet comes from Mexico where it was recently discovered that the the Zetas drug cartel has set up several private cell phone and radio repeater systems in the state of Veracruz as well as along 500 miles of the Texas-Mexico border. Some portions of this system were in remote areas and were powered by solar cells, and used commercially available components. And, while it must be assumed that the tech was fairly easy to obtain, the know-how was a bit more specialized. It is suspected that perhaps as many as two dozen communications workers have been kidnapped in Mexico by the cartel and forced to work putting these systems together. While a few were later released, most ended up dead or simply never seen again.

Online, darknets have been around for much longer. The best known among them is TOR. As the TOR website explains:

Tor is a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet. It also enables software developers to create new communication tools with built-in privacy features. Tor provides the foundation for a range of applications that allow organizations and individuals to share information over public networks without compromising their privacy.

Individuals use Tor to keep websites from tracking them and their family members, or to connect to news sites, instant messaging services, or the like when these are blocked by their local Internet providers. Tor’s hidden services let users publish web sites and other services without needing to reveal the location of the site. Individuals also use Tor for socially sensitive communication: chat rooms and web forums for rape and abuse survivors, or people with illnesses.

Journalists use Tor to communicate more safely with whistleblowers and dissidents. Non-governmental organizations (NGOs) use Tor to allow their workers to connect to their home website while they’re in a foreign country, without notifying everybody nearby that they’re working with that organization.

Groups such as Indymedia recommend Tor for safeguarding their members’ online privacy and security. Activist groups like the Electronic Frontier Foundation (EFF) recommend Tor as a mechanism for maintaining civil liberties online. Corporations use Tor as a safe way to conduct competitive analysis, and to protect sensitive procurement patterns from eavesdroppers. They also use it to replace traditional VPNs, which reveal the exact amount and timing of communication. Which locations have employees working late? Which locations have employees consulting job-hunting websites? Which research divisions are communicating with the company’s patent lawyers?

A branch of the U.S. Navy uses Tor for open source intelligence gathering, and one of its teams used Tor while deployed in the Middle East recently. Law enforcement uses Tor for visiting or surveilling web sites without leaving government IP addresses in their web logs, and for security during sting operations.

Interestingly enough, the TOR system was originally developed by the US Navy to improve cyber-security and to increase resistance to network analysis. And, while it may be used for legitimate purposes — including increasing and preserving personal privacy — it is also used for illegal purposes such as the infamous Silk Road a site which can only be accessd via the TOR system and which uses Bitcoins as currency. Silk Road is most famous as a marketplace where you can anonymously purchase a wide variety of illegal products most notably narcotics.

While TOR provides resistance to censorship, government monitoring and traffic analysis, a fundamental weakness remains access to the internet. One group that is currently working to ensure privacy and provide corporate-free access to the internet is the Free Network Foundation. Their agenda is a big one, yet still fairly straight-forward:
We envision communications infrastructure that is owned and operated cooperatively, by the whole of humanity, rather than by corporations and states.
We are using the power of peer-to-peer technologies to create a global network which is immune to censorship and resistant to breakdown.
We promote freedoms, support innovations and advocate technologies that enhance and enable digital self-determination.

In other words, what the FNF is attempting to do is to set up an infrastructure that relies on a fundamentally different philosophical, economic and technological approach than the existing internet. Using a peer-to-peer approach FNF (as well as other groups such as Project Mesh Net and Open-Mesh.org ) are working on developing a “mesh” approach to the internet which, theoretically would be free, ubiquitous and anonymous. Others are revisiting older tech such as HAM or CB radio based packet radio systems as stand alone systems or as nodes in an newly emerging alternative internet.

What is coming into focus is that a group of diverse entities and technologies, when taken together, have the capacity to challenge corporate and governmental control over the current form of the internet as well as the information, political and economic activity and freedom of expression found there. If such a “meshnet” does come into existence, we can expect a vigorous reaction by governments the world over. However, where there is no “there” there to regulate, where the transactions are anonymous and essentially untraceable, it remains unclear what steps will be available to a government to assert control over such a system, but we can certainly expect them to try.

Thursday, November 17, 2011

Dev employment in New Zealand jumps 50 per cent, ακους σταθη?... ακουω να λες!!!!

http://www.myspace.com/dhlxstudios

Dev employment in New Zealand jumps 50 per cent
by Craig Chapple | Email a friend | Print





114 new jobs created in the last year, with another 99 expected by next September

New Zealand’s game development industry has seen a jump in growth of 46 per cent this year, a trade body has claimed.

The New Zealand Game Developers Association said that the sector has been boosted by the huge growth of smartphone and online games, resulting in 114 new jobs being created since September 2010.

The total number of full-time employees in the industry now stands at 359, with local studios expecting to create another 99 new jobs over the next 12 months.

“New Zealand games studios are export businesses, employing highly skilled technical and creative staff, creating original game ideas and increasingly retaining that intellectual property in New Zealand,” says NZGDA chairman Stephen Knightly.

Knightly added: “Digital distribution has made it easier for games studios to sell our games directly to global audiences.



“Without a publisher or middleman the margins are higher and the profits stay in New Zealand.”

The success of the industry in New Zealand is in stark contrast to its neighbours in Australia, which is scrambling to recover after studios such as Team Bondi, THQ Australia and Krome have all closed down recently.

Intel flaunts 'trillion calculations per second' chip, this is where we are gentlemen, this is our revolution

http://www.myspace.com/dhlxstudios

by Craig Chapple | Email a friend | Print


Knights Corner co-processor 'twice as fast as previous generation'

Intel has developed a single accelerator chip capable of processing speeds of one trillion calculations per second.

The Teraflops chip, which features 50 cores, is called Knights Corner, and is a co-processor that takes on some of the more complicated processes of the CPU.

Intel claims the accelerator will be able to transfer data at up to 32 gigabytes per second, twice the speed of the previous generation of chips.

The device is similar in scale to that already in computers in fields such as weather forecasting, radiology and astrophysics.

Speaking at supercomputing conference in Seattle, Intel exec Rajeeb Hazra said that unlike traditional accelerators, Knights Corner is fully accessible, and visible to applications as if it was a computer running its own Linux-based operating system independent of the host OS.
Article continues below

Advertisement


He claimed this was the first demonstration of a single processing chip capable of achieving such as performance level.

Hazra also said that scientists will be able to use both CPU and co-processor performance simultaneously with existing x86 applications, saving time, cost and resources, instead of having to re-write the language to their own ends.

Intel first demonstrated a teraflop supercomputer in 1997, and the firm plans to reach exascale-level performance, 100 times faster performance than currently available, by 2018.

Saturday, May 21, 2011

Sunday, April 10, 2011

Videos of extraterrestrial life panel for business leaders released March 6, 2011

http://www.myspace.com/dhlxstudios

Videos of five presentations at the 2011 Global Competitiveness Forum (GCF) discussing extraterrestrial life have been released. The presentations were part of a panel titled “Learning from Outer Space” held on the first day of the forum. Each presentation discussed extraterrestrial life from the perspective of technological innovation, and the implications for humanity. The Global Competitiveness Forum is convened each year by the Saudi Arabian General Investment Authority, and encourages business and political leaders to discuss ways of promoting business competitiveness. The videos that follow were posted by the GCF on youtube and for the first time are available to the general public. The presenters were Nick Pope, Stanton Friedman, Dr Zaghioul El Naggar, Dr Michio Kaku, and Dr Jacques Vallee.









Friday, April 8, 2011

Sticky sweet animatronic Peep show

http://www.myspace.com/dhlxstudios
posted Apr 7th 2011 11:47am by Mike Nathan
filed under: arduino hacks, led hacks, misc hacks




With Easter quickly approaching, [Kyle] decided to finally build a project that is as tasty as it is wrong.

Behold, the Animatronic “Peep” show! Using nearly a dozen marshmallow Peeps, he constructed a stage for his “performers” and a seating area for their “clients”. The structure was built mostly from balsa wood and foamboard, featuring a retractable curtain, stage lighting, and music.

Once triggered, the embedded Arduino gets to work animating the stage lights and blaring “Cherry Pie” while the sugar-coated onlookers await their entertainment. The curtain is drawn back and a trio of winged dancers emerge one by one, ready to entertain the crowd. The onlookers even offer up dollar bills to the dancers via a servo-mounted arm.

The project uses a total of 10 servos driven by the Arduino, along with an audio decoder chip to provide the proper ambiance for the marshmallow debauchery. [Kyle] says that he put together about 650 lines of code to get the whole thing running, but there doesn’t seem to be any way to download it at the moment – hopefully we’ll see something posted soon.

It might not be high-brow, but it sure beats blowing up old, stale Peeps in the microwave!

Stick around for a trio of videos demonstrating the Peep show as well as revealing some of the stage’s inner workings.

Thursday, April 7, 2011

Introducing RUIS

http://www.myspace.com/dhlxstudios





Do you want to create fun applications that take advantage of the latest state-of-the-art game controllers? Our work aims to make that possible, even if you don’t have background in computers or programming.





RUIS (Reality-based User Interface System) from Roberto Pugliese on Vimeo.



In the above video you see us with motion tracked Wiimotes doing simple manipulation of objects and navigating in an example application. The application is built on our RUIS (Reality-based User Interface System) platform, which runs on Processing, a development environment that is favored by many artists, designers, and architects among others ( http://processing.org/about/ ).



RUIS-platform connects controllers like Nintendo’s Wiimote to Processing, so you can use them easily in your Processing applications, without the usual hassle that is associated with getting new hardware to work in custom-made software.



Developed in Aalto University’s Department of Media Technology, RUIS-platform is open source and currently in its early stages. We have initiated this project because novel user interfaces (with gestures, 3D tracking, multitouch surfaces, etc.) is an exciting field that still needs many innovations and standards to become more mature.



We believe that hobbyists and amateur software developers have enormous potential for coming up with not only cool applications, but also major contributions to the way we interact with computers. Just consider how our use of technology has been redefined by amateurs like Shawn Fanning (Napster and music distribution) and Mark Zuckerberg (Facebook and social media).

Tuesday, April 5, 2011

Max/MSP Development with Eclipse

http://www.myspace.com/dhlxstudios

This article explains how to setup an environment to develop Java externals for Max/MSP using Eclipse, the popular free open source IDE. Eclipse is cross platform, so these instructions will work on OS X or Windows. No prior experience with Eclipse is assumed. If you already know Eclipse and want a more concise setup guide, see Nick Rothwell's article "Configuring Eclipse for MXJ".



Conventions

When I say "right click", OS X users should understand this is the same as ctrl+click.



[Max installation] refers to the topmost folder of your Max/MSP installation. This is normally /Applications/MaxMSP 4.6 on OS X or :\Program Files\Cycling '74\MaxMSP 4.6 on Windows. (Or Max5 instead of MaxMSP 4.6 if you are using the latest version)



Step by Step Instructions

1.Install Eclipse. Go to the Eclipse downloads page and choose a package. For most people the basic "Eclipse IDE for Java Developers" package is fine. Unpack the download and put the eclipse folder in the location of your choice.

2.Start Eclipse. If this is your first time it will prompt you to select a workspace. This is where your all your Eclipse projects and files will be stored. Check the "Use this as the default and do not ask again" option.

3.Setup your workbench. If this is your first time you'll see a welcome screen. Eclipse can be confusing, so here's a simple but effective way to setup your workbench:

Go to Window -> Open Perspective -> Java. Close the welcome tab if it is still open.

Click Window -> Show View -> Navigator. This will add a file browser tab to the left pane.

Close the Task List and Outline tabs on the right (this should get rid of the right pane) and close the Package Explorer and Hierarchy tabs on the left. We don't need any of these now. You can get them back by selecting them from the Window -> Show View menu.

4.Create a Java project. Right click in the navigator tab and select New -> Java Project. Enter the name max. Then click finish. You should now see a folder named max in the Navigator.

5.Add the Max Jar to your project:

In your Eclipse project, create a folder named lib by right clicking the max folder and selecting New -> Folder.

Copy the max.jar file, found at [Max installation]/Cycling '74/java/lib/max.jar, to your project's lib folder.

Back in Eclipse, right click your max folder and select Refresh. This is so Eclipse will notice max.jar.

Right click your max folder again and select Properties -> Java Build Path -> Libraries -> Add JARs...

Select max.jar and click OK

If you have Jitter, also add jitter.jar to your project. Later you will probably want to download other libraries, and you can add them to your project the same way.



Note: It is not necessary to copy these jars into your project. I consider it a best practice to keep all the files required to build your project inside the project itself. This way you can move your environment to another machine and everything will continue to compile. The downside is when a new version of max.jar is installed, you must remember to manually copy it over to your Eclipse project. If you prefer not to worry about that, choose "Add External Jars..." in the Build Path -> Libraries menu and select the max.jar file under your Max installation instead of copying the jar file to your Eclipse project.



At this point your workspace should look like this (click to enlarge):

6.Set up Max's classpath to find your Java externals. Go to the file [Max installation]/Cycling '74/java/max.java.config.txt. Make a backup! Edit the file and find the line:

; max.dynamic.class.dir /Users/topher/myclasses ;



Make a copy of this line and remove the leading semicolon and change the path to the bin folder of your Eclipse project, so it should look something like this:

max.dynamic.class.dir /Users/adam/Documents/workspace/max/bin



Note: you need to restart Max after making changes to this file.

7.Create your first external. In Eclipse, right click the src folder and select New -> Class. Enter MaxTest for the name and click Finish. Paste this into the MaxTest file: import com.cycling74.max.*;



public class MaxTest extends MaxObject {



public void bang() {

outlet(0, "Congratulations!");

}

}



When you save the file, MaxTest.class should appear in the bin folder. If not check the Project menu: the "Build Automatically" setting should be turned on. This way, every time you save a file Eclipse will compile it automatically.

8.Use your external. Finally! Fire up Max/MSP and add the object [mxj MaxTest]. Connect it's left outlet to a [print] object and send it a bang. In the Max window you should see: Congratulations!

The patch:

#P button 48 46 15 0;

#P newex 48 94 32 196617 print;

#P newex 48 68 70 196617 mxj MaxTest;

#P connect 2 0 0 0;

#P connect 0 0 1 0;



9.Change your external.. Change "Congratulations!" to say something else. Save the file and Eclipse will build it automatically. Go back to Max and click the button again. What's going on here? It still says Congratulations!



Max already loaded the object into memory. It didn't notice your changes. We need to force it to reload the object. Luckily here is an easy way: Delete the object then immediately undo. This will keep your patch in order but the Java code will have reloaded. Now click the button again and it should do what you expect.



Remember this step! If you can't figure out why the code isn't working, maybe you forgot to delete-undo. Some other tips:

Sometimes it takes a moment for Eclipse to build your changes. Be careful of doing the delete-undo too fast or you might load the old code again. When in doubt, delete-undo again.

To save time if you have multiple copies of the object in Max, select them all and delete-undo them together.

Next Steps

Read [Max installation]/java-doc/WritingMaxExternalsInJava.pdf and take a look at the tutorial files in that folder.



To code in Java you need to know the API (application programming interface). Here is the API for Java 5 (you might have Java version 4 or 6 instead, run "java -version" to find out). Cycling '74 provides another API for connecting Java to Max (that's the max.jar file we put in your project). Cycling's API documentation can be found at [Max installation]/java-doc/api/index.html. You will be referring to these a lot so you probably want to bookmark them in your browser.



BUT! The API reference is not an effective resource for learning the Java language. Try googling for tutorials or consider investing in a book on Java.



If you are interested in embedding Ruby in Java, check out my article on doing that. For Ruby in Max, try my ajm.ruby max object.

Friday, April 1, 2011

6. THE SOFTWARE BEHIND VERSUM

http://www.myspace.com/dhlxstudios

On a software level, Versum consists of four separate
pieces of software written in different programming
languages, working together as one.
First of all, there is the graphical user interface,
visible in the form of the Control- and Navigator
Window. This interface is written in Java with heavy use
of the Processing library1.
Secondly, there is the core program, also written in
Java. Messages are sent from the interface to this core
and back by use of the User Datagram network Protocol
(UDP). The core program calculates the time, it keeps
track of all the positions of the entities, it determines the
exact speed at which the actor moves, it writes and opens
files, etc.
1See www.processing.org
For the three-dimensional graphical output I use a
third program made in the Max/MSP/Jitter environment.
Via the “mxj” object in Max, messages are sent from the
core to the graphical objects within Max, producing the
moving images that are presented in the Actor Window.
Finally, for calculating the sounds and sending them
to the computer’s sound card there is a fourth program
written in Supercollider. The core program sends
messages to this program via the Open Sound Control
network protocol (OSC), telling it what kind of sounds to
produce at any moment.
Thanks to the UDP and OSC protocols for the
exchange of messages it was easily possible to split the
Versum software into these separate specialized pieces of
software. Making the software modular in this way has
had the great advantage of being able to employ all these
programming languages (Java, Supercollider, Max/MSP)
specifically for what they do best. None of these
languages by themselves would have been sufficient for
producing the end result so efficiently.

versum

http://www.myspace.com/dhlxstudios



Versum is a realtime virtual 3D world that forces both the audience and the composer to look at the music and listen to the visuals.
  The virtual world is seen and heard from the viewpoint of a moving virtual camera with virtual microphones attached, that moves through space, like in a first person shooter game. Within this space, I placed objects that can be both seen and heard, and like in reality, the closer the camera is to them, the louder you hear them. So when the camera moves past several visual objects, you simultaneously hear several sounds fading in and out. Consequently, by carefully choosing the placement of objects, the way that each of them sounds, and the way the camera travels past them, I can create melodies and compositional structures, which are both seen and heard.
  All of this is controlled in realtime during live performances: both the path of the camera and the objects which it meets during its travels can be changed according to the whishes of the composer. 'Go' is my second composition made in Versum.
  Versum is created with: Max/MSP, Processing, Java, Supercollider, GLSL. Read more about Versum in this pdf.
  Thanks to Jorn van Dijk for adding some wicked sounds. And loads of thanks to the Open Source communities developing Supercollider, Processing and Java without whom I couldn't possibly have created all of this fanciness.

Friday, March 25, 2011

An Interview with Tarik Barri

An Interview with Tarik Barri – Cycling 74


By Marsha Vdovin – March 14, 2011.

One of the really exciting things about Max/MSP/Jitter is its fluid integration of sound, visuals and effects. Tarik Barri, an innovative young artist based in Holland, is elevating the possibilities with a synergistic blend of compatible programing languages.

I spoke to him about his work with Robert Henke [monolake] and their immersive collaboration of 360° surround visuals and audio for the RML CineChamber project.

Where did you grow up and go to school?

I was born in Arnhem, The Netherlands and moved to Saudi Arabia when I was 5 years old, where I lived until I was 10. My mother home-taught my little brother and I during this period, which meant that we could go through all the school-stuff at our own tempo so there was more time left for other stuff, like drawing and computer programming on our MSX home computer. Since I had a difficult time making friends there, the drawing and computer programming were quite essential in not getting bored out of my skull in the oppressive heat.

What is an early artistic/creative memory that you have?

I really enjoyed programming little games with racing cars, space ships and fighting kung fu masters. My brother came in very handy as my one and only beta tester. It is also during this period, that I made my first computer music. After one of the chickens that we owned literally dropped dead in front of my eyes, my brother and I got a day off from school. I used this time to compose my first piece of music. I can’t remember how it sounded, but my mother maintains that it was an exceptionally sad and melancholic little tune.

What did you study at school?

After returning to my home country and finishing high school, I studied architecture for one year before deciding that I didn’t really care about buildings that much. After that I took on the study of psychology, which was quite interesting, but this hobby of mine, namely creating music with my computer, just became too dominant a force in my life to ignore. I just had to develop this further, so I had to also quit psychology to start a study in Audio Design at the Utrecht School of Music and Technology. There I learned about sound synthesis, acoustics, programming in Max/MSP, C++ and Supercollider. During my free time, I also discovered the joy of making patches not only to create sounds but also to create visuals, and combinations of the two.

Can you describe your work at the time?

When I started my study in Audio Design, I did this because I wanted to find methods for performing my music live on stage in such a way that what I was doing would actually make sense to the audience. Basically, I wanted the audience to understand my live performance of electronic music in an equally intuitive way as the audience would understand what’s going on when they see a guitar player wailing away. I wanted to get rid of the quite literal wall that the upright laptop screen creates between me the performer and my audience. I wanted to really show the audience what I’m doing.

During the course of my study, while learning and experimenting with Max/MSP, I discovered the wonderful joys of working with Jitter. I had been blown away by music videos of people like Chris Cunningham and Alex Rutterford. I soon became addicted to creating my own synergies between music and visuals. At some point I realized that by doing this, I was actually getting very close to my initial goal: to literally show the audience what was happening during the music creation process. Using visuals would be the way to get there.

So I set out to create an audiovisual paradigm, in which I would not merely ‘visualize’ the music, but actually show how the creation of the music itself worked — actually show where the sounds were coming from. To achieve this I had to create a system in which the visuals would come from the exact same source as the audio, just like both the audio and the visual appearance of the guitar player come from the same source of creation: the guitar player. With such a system one would both see and hear the same underlying source and develop some understanding of how this source operates; how the music is created and which mechanisms and ideas underlie it all. This might sound like I’d want people to take a very rational approach to my work, but I believe that if these mechanisms and ideas are intuitive enough, the audience may intimately ‘feel’ these concepts and mechanisms.

Out of this, your Versum project was born?

It was. I created Versum, as an audiovisual composition tool. I wanted this tool to be as intuitive as possible. That meant that it had to be recognizable for the average audience and therefore resembling reality as we all know it in some basic aspects. So I created a virtual 3D world, which is seen and heard from the viewpoint of a moving camera that moves through space, like in a first person shooter game. Within this space, I placed objects that can be both seen and heard, and like in reality, the closer the camera is to them, the louder you hear them. So when the camera moves past several visual objects, you simultaneously hear several sounds fading in and out. Consequently, by carefully choosing the placement of objects, the way that each of them sounds, and the way the camera travels past them, I can create melodies and compositional structures, which are both seen and heard.

After finishing my study in 2008 I sent some emails to Robert Henke. Versum wasn’t quite as advanced as it is now and not many people really got why I was so excited about this whole concept. But I had the feeling that perhaps Robert Henke would be one of the few people who would truly understand what I was trying to achieve here.

How were your drawn to Robert?

Well, because of the texts that he wrote, the music that he made, and the fact that Versum was partially inspired by the concepts behind his audiovisual work Atlantic Waves.

So, I sent him links to my work, stating that I’d really like to work together in some shape, way or form. To my surprise, he reacted by saying that yeah, he really liked my work and perhaps we could try collaborating during his next Monolake performance in Glasgow, Scotland. He’d arrange the flights and a fee, and I’d arrange the visuals during his show using the Versum engine. So, wow, yeah, of course, I was there.

Was Versum set up to use in real-time at that point?

I prepared for this performance by further developing Versum into an environment which would be suitable for real-time 3D VJ-ing. I added lots of shapes, movements and effects purely for expanding the visual possibilities of my software. I concentrated a lot on how to control this system in real-time, in order to quickly and effectively react to changes in the music. Both meeting Robert and the performance itself, worked out great and we have continued our collaboration to this day. We’re continuously developing and refining the ways in which we combine music and visuals, discovering the many possibilities of this huge, exciting and largely unexplored domain.

So now Versum has grown to become a hybrid real-time tool for both purely visual purposes and for creating and performing 3D audiovisual compositions.

So, when you’re performing with Monolake, you are only handling visuals?

Yeah, for the Monolake Live performances I take on the role of VJ and use the Versum software in a purely visual way, while Robert makes the music. Since we both control our instruments live, every performance involves a lot of spontaneous decision making which produce results that are surprising — even to ourselves!

The first time that I used Versum to create non-real time, full surround 3D video was with Fundamental Forces, which Robert Henke and I showed at Club Transmediale in RML’s CineChamber. In order to create the non-real time visuals, I recorded a live run-through, in which I listened to Robert’s music and reacted to it in real time, using my controllers. I recorded all of my actions during this run-through and stored them in a text file, which detailed every single camera movement and rotation, every single parameter change during this live run-through, frame by frame. Afterwards I rendered the ten full resolution videos for the CineChamber setup by playing back this file at a much slower tempo — which took the computer about 2 days — while re-executing every command that I had generated during my live run-through and storing the resulting images onto my hard drive. So essentially the Fundamental Forces video is a live video, with all of the spontaneity that this entails, but rendered with an amount of detail and a frame rate that could never be achieved live.

When you expanded to 10 channels for the CineChamber project, did you need multiple linked computers to pull it off? I know that that was a huge stumbling block for Naut & the crew, when they had it based at the RML studios here in San Francisco.

The CineChamber project makes use of 10 projections, each with a resolution of 1980×1080 pixels, placed in a rectangle surrounding the audience. At first I considered using multiple fast computers to do a live performance and link all of them together by sending OSC [Open Sound Control] messages back and forth. Via these messages, the master computer would tell the slaves where the virtual camera is, where all of the surrounding objects are etc. I had already done similar projects in the past where several instances of Versum were talking to each other via network connections, without applying any elaborate time syncing.

The real problem was that the CineChamber doesn’t have any gaps between the screens, so any slight timing differences between them would immediately and easily be seen. So this implied that I would have to seriously think about accurate ways of time syncing. I discussed possible solutions with Robert Henke and he had some nice ideas, but I didn’t go there since I couldn’t obtain enough computers to pull this off. I only had the possibility of making use of RML’s single supercomputer, which handles all of the 10 projections. So to make sure I would get the most out of the CineChamber setup, without totally overloading the CPU or sacrificing frame rate or resolution, I decided to use Versum in a non-real time way and render everything in full resolution at 30fps. These projections combined, formed one big panoramic surround window, through which the audience could see the Versum universe all around them in 360 degrees. After providing them with the visuals, I was very happy to leave all of the actual video syncing to CineChamber specialist, Barry Threw, who did an amazing job.

How was the jump from Max/MSP to Jitter?

Well, actually Max/MSP has been a jumping board for many good things in my life, including Jitter, but it also introduced me to a lot of other great stuff like JavaScript, Java, Open Sound Control, Shader programming and object oriented thinking in general. But Jitter was the first of these worlds that I explored, partly because it’s incredibly easy to get into.

Did you just jump into it, figuring it out as you went along?

Basically, I started out by simply opening some jit.gl.handle and jit.gl.gridshape help files and fooling around with those patches. Discovering the possibilities and the ease with which they could be explored, was very inspiring and exciting to me. To gain a better understanding of what was really going on in this visual world, I went through all of the Jitter tutorials. They were a really helpful and an engaging way to learn about the general concepts behind it.

There’s no point in learning, without actually putting the knowledge into practice, so I soon integrated this visual world with my musical study as much as possible. I started using alternative ways to visually represent and structure sounds, which in turn opened up new ways of thinking about musical composition. It freed me from the more standard sequencer-type style of creating music, which is of course also largely visual, in that all sequencers have a visual interface that defines your possibilities. These interfaces determine how you approach your compositions and they strongly influence the way you think about them. Changing the interface therefore changes the music you create. My teachers didn’t always get that point, but approaching music in these alternative ways had a strongly addictive draw on me. It felt and still feels like, within this domain there is so much beauty, practically screaming to be explored and I’m more than happy to respond to this call.

From there you started expanding to other programming environments?

After starting out with Jitter I came to a point where I wasn’t satisfied with 3D shapes simply circling around each other and those kind of movements. I wanted to make more complex movement and interaction patterns and I wanted to interpolate presets in very specific ways. After studying the JavaScript chapters in the Max tutorials I decided to create my own JavaScript objects to implement some algorithms. I loved it. JavaScript was fairly easy to learn and it was a good way to keep my max patches nice and clean while still being able to do such things as recursive iterations through complex datasets, etc.

I also used JavaScript’s ability to create max objects and connect them to each other, to automatically generate large portions of my patches for which I needed large amounts of objects, such as creating complex user interfaces. I could make much more complex patches than ever before, until, at some point, they really became way too complex to ever want to maintain. Besides that, I also found that some of the JavaScript algorithms where just too slow for my taste.

So, you moved on to… ?

Well, I had heard that Java was faster than JavaScript so I decided to experiment with the ‘mxj‘ [max java] object in Max, which makes it very easy to incorporate Java code in Max patches. And yes, Java was indeed several times faster. I could even do sound calculations at sample rate with it and make my own MSP objects. Still, JavaScript is great for quickly generating algorithms and it’s a great introduction to text-based languages. I definitely recommend it as a language to learn and use in Max, but after you’ve hit the roof with JavaScript, Java is the way to go.

How about C++ ?

Of course others create their objects in C++, which works even faster in many cases, but C++ code takes a lot of time and attention to details to develop. I really like rapid development in order to quickly arrive at the more artistic part of the process. In this respect Java works perfectly for me.

I still had to lose the habit of generating thousands of objects and patch cords, without losing the ability to create complex user interfaces, so by the time I started to create Versum, I decided to use Processing as a graphical interface. This interface interacted with Max through OSC messages. Since Processing is basically the same as Java, but with a lot of really cool extra features, I only had to learn Java to develop this new method of working with Max mxj objects and Processing.

So now Versum consists of several elements: there’s Max/MSP, there’s Java, there’s the Jitter objects, there’s Processing and at some point I even threw Supercollider into the mix. Oh yeah, and I also used GLSL shading language — I learned about that through the Max Jitter tutorials as well.

Whoa, that’s amazing! Could you give us an example of how you used all these different programs in Versum?

Sure…

Processing creates the user interface which contains mainly numerical controls — comparable to number boxes in Max — for changing parameters and an interactive map on which I can both control and keep track of all the elements in the space.

Max/MSP is basically the place where all of the other elements come together. It contains all the Java information within a single mxj object. It also contains the Jitter info and it receives and sends OSC messages to and from the Processing interface and Supercollider.

Java, within the mxj object, constitutes the real ‘brain’ behind Versum. It knows where the virtual camera is, in which direction it is looking, where the objects around it are, what their speeds are, what their relative distances to the virtual microphones are, etc.

Jitter creates all of the OpenGL 3D visuals, based on the info that the mxj object sends out of its patch cords and it loads the Shaders, making sure they are being used in combination with the right Jitter opengl objects.

Shaders, written in the GLSL language, tell the GPU [the CPU of the graphics card] how to interpret incoming OpenGL data coming from Jitter. They’re the last programmable step before the pixels are generated on the screen. The amazing thing is, you can do really, insanely complex, cool and beautiful stuff with Shaders and due to the way that the GPU is structured, it works insanely fast. They have the power to change the shapes, textures and movements of 2 and 3 dimensional objects in amazing ways. They’re my main ingredient for making sexy visuals.

And finally, Supercollider creates all the sounds and gets its commands through OSC from the mxj object. I wanted to easily and dynamically create and delete sound objects without resorting to complex solutions using the poly~ object, so I turned to Supercollider because of its flexibility in these matters.

Looking back, is there anything you would have done differently to make the progression of and updating Versum easier?

Well, if I now look at the earlier versions of Versum, I see tons of design flaws and absurdly complex and weird solutions for what I now see were actually simple problems. When updating something that I implemented long ago, or fixing some bug, I still sometimes encounter some inexplicable mess, which I then really need to clean up before I can proceed. But I’m happy to pay this price for quickly obtaining artistic results. I guess my programming style can be described as quick and dirty at first, with a thorough cleanup afterwards. (Click here to see a full-sized version of the patch below.)

Cleaning up is, of course, totally vital, and anyone who lazily disregards this fact will inevitably and totally get lost within the swamp of their own software. And yes, I’ve been there… it’s a scary, dark and dreadful place. But still, the quick and dirty style is a great way of immediately finding out if some theoretical concept actually works artistically. If not, the result might still lead to the development of other ideas, since I often need bad ideas first to arrive at good ones. This process of natural evolution of ideas, which can be tested, dismissed and changed on the basis of their practical results, would be much slower if I’d meticulously think everything through months in advance. The very nature of Max/MSP has encouraged me to think in this way; as soon as I think of something I can go ahead, implement it and just see what happens, even during the execution of the software.

So, you are using alternate controllers?

Yes. Amongst others, I use a Behringer BCF 2000 and a Spacenavigator. For installations, I have also used Reactable software in combination with camera input.

Do you have any tips for integration, or problems to avoid, you can pass along?

One of the most important things I’ve learned in the use of external controllers within a live context, is to let go of the concept that each slider, knob or button should correspond to a single parameter in the software. A disadvantage to such a way of working is that it takes quite a long time to achieve a desired result, if all involved parameters need to be individually set. This is quite a serious disadvantage because in a live context, the speed and timing with which you work is essential. Another disadvantage is that, since I can’t use tons of controllers, I don’t have enough of them to influence all the parameters that I’d want to influence. So this way of working, which I had employed for quite some time, made me feel both slow and quite limited.

The solution for me has been to use my controllers as meta-controllers. They don’t just control a bunch of single parameters; they control whole ranges of parameters in different ways. Sometimes even one single parameter is influenced by three sliders simultaneously.

The concept behind this is, that as a live performer, I don’t care about the individual parameters any more; I care about aggression, dreaminess, melancholy, the subjective states that I can evoke in myself and the audience. So I want these states to be represented as directly as possible in my use of controllers, enabling me to react intuitively and quickly to the current situation. For instance, my ‘aggression’ slider influences the speed at which all objects move: the shakiness of the camera, the saturation of the colors and the roughness of objects’ surfaces.

Of course I still also use controllers to access some single parameters which need to be precisely set on the basis of more rational choices, but in any case I believe this topic is a very important one to consider when deciding what you’re going to use your controllers for.

Anything new on the horizon we should keep a lookout for?

Oh yes, very much so. I plan to do a lot with dome projections inside planetariums and such, in the near future. I’d love to do stereoscopic 3D projections. Also, sound-wise, I’ll shortly be making use of speakers not only surrounding the audience on a horizontal plane, but also on a vertical plane, meaning that sounds wouldn’t only come from the front and behind but also from above and below. Regarding the content, I’ll focus on seriously expanding the range of sounds and shapes that Versum can produce. And I will implement several new ways in which objects will move and interact with each other. I want to literally make them come to life, organize themselves, follow or flee from the camera, fight each other, perhaps even have sex with each other to produce beautiful new little baby objects… we’ll see. In any case, I do plan to keep on working on this system for a very long time to come.

Tarik’s Website

Follow Tarik on Twitter

CineChamber


Text interview by Marsha Vdovin and Ron MacLeod for Cycling ’74.
3 Comments

1.
julien bayle says

Congrats Tarik and thanks a lot Cycling74 for this nice interview !

inspiring & amazing !
March 15, 2011, 6:33 am
2.
Eric Ameres says

Fantastic Interview! It was great having you and Robert here at EMPAC for the Monolake Live Surround show and lectures too!
March 15, 2011, 1:11 pm
3.
kyle says

inspiring
March 22, 2011, 7:59 am

Leave a Reply Cancel

Some HTML is OK

Name (required)

Email (required, but never shared)

Web



Type the two words:Type what you hear:Incorrect. Try again.
Get a new challenge
Get an audio challengeGet a visual challenge
Help


← Video Tutorial: Play a Movie

Wednesday, March 23, 2011

KISS2011 Call for Proposals

http://www.myspace.com/dhlxstudios

The third annual Kyma International Sound Symposium (KISS2011) will take place from 16-18 September 2011 at Casa Da Musica, architect Rem Koolhaas' dramatic new music venue in Porto, Portugal: http://www.casadamusica.com/

Inspired by Portugal's proud history of navigators who set out to explore beyond the known and visible horizon, the theme of this year's symposium is Explorando o espaço do som (Exploring Sound Space) in honor of those who are exploring new methods, concepts, and ideas, beyond the familiar horizons in sound and music.

Call for Proposals

Universidade do Porto and Symbolic Sound invite you to join us to share your ideas, experiences and results with fellow practitioners by submitting a proposal related to this year's theme, including topics ranging from the most literal to the most abstract definitions of sound, space, and exploration.

Proposal topics could include (but are not limited to):

* Exploring in immersive environments & spatialization (literal space)

* Representations and traversals of timbre spaces (abstract sound space)

* Physical interfaces for controlling Kyma (because navigators need ships!)

* Sounds for science fiction films and games (as in "outer space")

* Using sound for exploring a data space (data sonification)

* Sound space representations (new kinds of musical scores or GUIs: maps of the sound space)

* Cognitive studies of time and space, pitch space, or other psychophysical spaces

* Using sound to evoke a space (actual or imagined)

* Modular thinking and guided explorations of unknown sonic territory

Formats can include:

* Live Kyma performances

* Live demos of Kyma projects for interactive games, films, or short form video

* Live Kyma-generated sound tracks for films

* 30' Paper Presentations

* Workshops on specific topics by power users intended for fellow Kyma practitioners

* Public lectures on the theme that would be of interest to a wider, educated & interested, public audience

Priority consideration will be given to projects that involve live performances, interaction, demonstrations that include sound and/or video, and other lively interactive aspects of sound space exploration. Due to the time and scheduling constraints, it is impractical to mount sound installations (purely because symposium participants would not have enough free time for exploring them and because the symposium will last only three days; however proposals for presentations describing and demonstrating previously mounted installations using video and/or live excerpts would be very welcome!)

Although no funds are available to reimburse travel, lodging, performer salaries or materials, we would like to offer a conference fee waiver to all presenters and performers whose work is accepted for the conference. Thank you!

How to submit:

Prior to the 1 May 2011 deadline, please go to http://bit.ly/fdOI5W and fill out the submission form which will include an abstract describing your proposal and any required resources. The proposals will be evaluated by a committee according to feasibility (duration, technical and human resource requirements) and the degree to which the proposal fits the theme and promises to be of interest to an audience of those who are actively using or seriously considering using Kyma in their own work. You will be contacted sometime before 1 June 2011 to discuss whether it will be possible to include your proposal in this year's program.

The KISS2011 program will also include master classes on sound design, CapyTalk, and other Kyma topics, plus the annual demonstration of what's new in Kyma this year.

Questions? Please send email to: info.kiss2011@gmail.com

Thank you for submitting your proposals! We are really looking forward to reading them!

Thursday, December 23, 2010

The Wizard is Us: Symbiogenesis by Networking Part 2

The Wizard is Us: Symbiogenesis by Networking Part 2 - Augmented Reality Conference: Advancing the Business of AR


Anton Yudin, Master of Arts Students, Digital Worlds Institute

Date: Wednesday, April 21

Time: 11:52 - 12:00 PM

Location: Salon E
As early as 1926, the Russian biologist *Konstantin Mereschcowsky* proposed in his theory of Symbiogenesis that larger and more complex organisms (like lichens) evolved from the symbiotic relationship between less complex ones. The theory proposes an evolutionary mechanism based on cooperation rather than competition and as such it is of interest to those of us working in models of open source, both in software and hardware and ultimately knowledge.

Our entire society is based on the concept of information, and throughout history we have created and established the routes and the networks, the smoke signals and the semaphores, the nodes and relays that carry the fluid that nurtures commerce, warfare and knowledge.

It took only ten years, from 1958 when Bell labs researchers invented the modem (modulator-demodulator) that enabled communication between computers, to 1968, when the first RFP for ARPANET was published and the "Interfaith", as Senator Edward Kennedy called it, was funded by ARPA as the first "message processor".

Decoding and interpreting signals, packets, gestures etc. is what we call communication. Since the birth of the computer, that viral mechanism has established a symbiotic relationship with their creators, to the point where humans cannot longer function as a society without them. As we merge and augment our senses, our machinic self takes over a majority of functions that we once considered essential for survival, including memory, the control of vital organs and appendices. Carbon and silicon, en route to the next evolutionary stage, collaborate to bring about the inevitable transformation. Telecommunications and the internet have become mobile. We are the nodes, the packets and the modems. We are still the storytellers, and we wish to share the magic around the digital fire. As we pull the curtain we discover that the Wizard is Us.

Sensorless Motion Capture Technology

Free Motion Capture Data
Sensorless Motion Capture Technology

Wednesday, December 15, 2010


The History of Artificial Intelligence

Timeline of major AI events

Thursday, December 2, 2010

Using Roborealm_01

ok testing the RoboRealm i must say it is an asset!!!!!! it works very smoothly and has very good and stable algorithms....:)
- tested sample algorithms
- tested OSC send module
- tested vvvv client and receiving data from RoboRealm

Wednesday, December 1, 2010

UNIGINE VIDEO TUTORIALS_00




unigine started providing video tutorials for their engine...

Saturday, February 28, 2009

Johnny Chung Lee - Projects - Wii

Johnny Chung Lee - Projects - Wii: "Johnny Chung Lee > Projects > Wii

As of June 2008, Nintendo has sold nearly 30 million Wii game consoles. This significantly exceeds the number of Tablet PCs in use today according to even the most generous estimates of Tablet PC sales. This makes the Wii Remote one of the most common computer input devices in the world. It also happens to be one of the most sophisticated. It contains a 1024x768 infrared camera with built-in hardware blob tracking of up to 4 points at 100Hz. This significantly out performs any PC 'webcam' available today. It also contains a /-3g 8-bit 3-axis accelerometer also operating at 100Hz and an expandsion port for even more capability. These projects are an effort to explore and demonstrate applications that the millions of Wii Remotes in world readily support.

Any software on this page is primarily meant for developers and may not run without proper the development tools installed. Downloading and installing this software is at your own risk, and no support or guarantee is provided with this software. The official discussion forums for my wiimote projects can be found here: WiimoteProject.com

NOTE: For most of these projects, you don't need the Nintendo Wii console. You only need the Wii controller and a bluetooth connection."

Top Stories - Google News