My name is Ale Fernandez. I live in Barcelona, Spain and I'm Chilean and Italian.
I am a web developer, artist and technical researcher.
I've lived in Scotland, Italy, Spain and England and career-wise I am interested in distributed systems and their applications to improvised performance and ecology.

Twitter

11/27/2009

Green Noise Experiment

This post relates to my "Green Noise Experiment" at Uncraftivism, Arnolfini Bristol, 12-14 December 2009.

Participant #27, 13:55, 10m, green, maleJohn Honniball, LFSH White Noise CircuitGreen Noise Experiment





An experiment will be carried out producing 3 devices capable of inducing hallucinations through sensory deprivation.

  1. A CD player and headphones containing 20 minutes of green noise, and some ping pong balls and sticky tape to cover eyes. I'm considering creating a second CD with some natural green noise collected from around Bristol.

  2. a white mask with an arduino microprocessor and 2 piezoelectric buzzers producing white noise near the wearer's ears. Current status - the white noise device and white piezoelectrically modified earmuffs are ready. I've decided not to use the mask. It fits and works, but is easy to break and difficult to put on

  3. Two simple white and pink noise circuits (made with the help of other dorkbot members) one using Linear Feedback Shift Circuits and Xor chips, and the other using an even simpler "good enough for me" pink noise circuit. I will be constructing some piezo earmuffs on Sunday morning so that one of these machines can also be used by participants.

All three devices will be usable in some way by the audience, who will be able to wear the device in a quiet area for up to 20 minutes, and will be invited to write their experiences for posterity.

Here, meanwhile is the code for device #2: the arduino based white noise generator, from Dorkbot member John Honnibal:



/* Pseudo-Random Bit Sequence Generator 2009-11-25 */
/* Copyright (c) 2009 John Honniball, Dorkbot Bristol */

/*
* For a discussion of PRBS generators, see The Art Of Electronics, by
* Horowitz and Hill, Second Edition, pages 655 to 660. For more info
* on Linear Feedback Shift Registers, see Wikipedia:
* http://en.wikipedia.org/wiki/Linear_feedback_shift_register
* For the actual shift register taps, refer to this article on noise
* generation for synthesisers:
* http://www.electricdruid.net/index.php?page=techniques.practicalLFSRs
*/

// Choose the same pin as the "Melody" example sketch http://www.arduino.cc/en/Tutorial/PlayMelody
int speakerPin = 9;

unsigned long int reg;

void setup ()
{
// Serial setup for debugging only; slows down the program far too much
// for audible white noise
Serial.begin (9600);

// Connect a piezo sounder between Ground and this pin
pinMode (speakerPin, OUTPUT);

// Arbitrary inital value; must not be zero
reg = 0x55aa55aaL;
}


void loop ()
{
unsigned long int newr;
unsigned char lobit;
unsigned char b31, b29, b25, b24;

// Extract four chosen bits from the 32-bit register
b31 = (reg & (1L <<>> 31;
b29 = (reg & (1L <<>> 29;
b25 = (reg & (1L <<>> 25;
b24 = (reg & (1L <<>> 24;

// EXOR the four bits together
lobit = b31 ^ b29 ^ b25 ^ b24;

// Shift and incorporate new bit at bit position 0
newr = (reg << reg =" newr;">



It works a treat! I think the arduino and it's batteries might be happy to live in a bottle with wires coming out of it into the mask. The first thought when the circuits were ready was that I'll have to add an on / off switch.

This morning I made some video of the first stages of putting together a mask for the ping pong ball eyes, hoping to mix them soon.

Ale with ping pong eyes

A simple way to apply ping pong balls to eyes comfortably is by glueing some cotton wool around the edges but I have gone for taping the half balls directly. The white mask will hopefully be a step up from this. It is not complete but will be on show, in case ideas come forward for improving it.

As you can tell, the experiment has now taken place. There are now write ups in various places, and possibly followup information on the _GNE Device and the piezoelectric earmuffs or other information will follow soon on this blog.

10/19/2009

Electronic Ideas and Experiments

LED lights.

This is a simple idea which has already led some local artists to make shiny balloons to light up a pier, and has inspired a teenager to start a business and win various entrepreneurial and inventing awards with something that leaves most open hardware or electronics enthusiasts cold and blank.

Basically the most simple thing you can build using electronics is an LED attached to a resistor, and both ends of those two, attached to a battery. Another simple variation on this is the throwie, which is LED + Battery + magnet (so it sticks to what you throw it onto).

To many this is old stuff, far too simple to be interesting any more, but to me the simplicity of the design is beautiful:


But it's actually a lot more fluid than that picture, made of bendable wires that could go anywhere, and could be arbitrary lengths really.



LED light can be very directional and will project really nicely on to things, so an LED tree made of wire or pipes that you can position seems a good idea. LED technology is also getting better fast. Switches to turn on or off can be made using just metal bits or pins so there's loads of space for considering not the electronic aspects, but the design of the object and what it would feel like or what it would be for. So doing some kind of LED lighting unit where each one is switchable and autonomous would be brilliant. But how to do it...

I would like to create an LED light system for a tiny stop motion home theatre using my Arduino. I have to find out how to power at least 3 different coloured LEDs. I think I have 5V so maybe I need to figure out how to do the lights at different times. But then what to encase them in so that they are easy to position, and how to turn them on and off. Here is a simple lighting test I did:




Solar power

Once I'd build my first arduino based prototype, my main worry was those huge panels of 4 AA batteries at a time that are needed for this kind of thing. It is far too much consumption and the first thing to do would be to switch to rechargeable batteries.

Once you have rechargeable batteries though, the next step is to figure out how to wire in a small solar panel and let it be self sufficient. The thing I want to be self sufficient will be able to generate sounds from a buzzer in some kind of container that can naturally amplify it(a pumpkin has been suggested for this), as well as play electronic beeps to it, from a piezo. So it follows that if this is playing all day it will be annoying, whereas if it uses only a little energy and has to save up energy before it can play for a while, it will only give a couple of concerts a day, which may be more interesting than a constantly sounding device.

http://little-scale.blogspot.com/2008/03/connecting-solar-panel-to-arduino.html
http://www.instructables.com/id/Self-Sufficient-Arduino-Board/

http://residentialsolarelectricity.diycreation.com/sun-tracking-solar-panel-w-arduino/ <- fun stuff


White Noise Generator
I want to do a psychological experiment using sensory deprivation to induce a hallucinatory state. This will use a white noise generator and ping pong balls remove auditory and visual inputs from the wearer, excepting the LED lights which will follow the overall luminicence of the device and light up at some moments to trigger a colour perception. It will need a simple and small hat with the required attachments: a white noise generator, and some LEDs that light up randomly at the side of the eyes when the room darkens and a light diode to detect light (although this can be done with an LED as well).

Initial links to useful chips and bits that might help:
http://www.edaboard.com/ftopic302943.html
http://www.maxim-ic.com/appnotes.cfm/an_pk/3469
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1521
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1169001613
http://processing.org/discourse/yabb2/YaBB.pl?num=1234706777

Marcus Valentine
suggests using a linear feedback shift register to do this with, and John Honniball says this would need quite cheap chips, easily available here and there. Here are some links explaining it:


http://web-ee.com/schematics/noise_generation/scalable-noise-generator/
http://en.wikipedia.org/wiki/Linear_feedback_shift_register


Using simpler chips and boards than Arduinos

The natural progression from using an arduino to prototype something is to want miniaturisation and to try and make the thing cheaper to keep as a permanent object. I don't want to have to take my arduino out and build it all back up again each time, so circuits will get soldered, and ideally, the arduino will be then used in turn to program a smaller, less expensive chip with what is needed to just do it's job (minus all the USB connection and other arduino stuff that make them simple). The end result is you have a small device you can make more of, running on a simple chip. This can work well for stuff like musical instruments or other semi bespoke work.

http://shop.tuxgraphics.org/
http://shop.tuxgraphics.org/electronic/detail_avrusb500.html
http://www.futurlec.com/
http://fundamental.antville.org/
http://code.google.com/p/mega-isp/
http://drug123.org.ua/mega-isp-shield/

10/14/2009

Beyond the netbook: Making the simplest open source arduino based microcomputer

Today's arduino based microprocessors are no match for the computing power of an ARM chip. Most of these chips can easily run Linux, or proprietary systems like WinCE, and they power most of our phones as a result of much earlier electronic experimentation, as show by last week's Micromen BBC program, about the Acorn vs Sinclair battles of the 80s.

A fully capable ARM chip able to control a complex thing like a mobile with it's full color displays and wifi, 3g bluetooth etc will cost a minimum of 150 pounds(and that's just for the chip), and so for hardware hacking isn't really worth the investment, as no-one will buy it for £150 when you can buy a proper ARM based phone at Tescos for 15 pounds.

But an arduino can still be the basis for some kind of cheap system, perhaps one that costs only around 50 pounds to prototype.

What I'd like to see though isn't a project to make something that mimics phones, but is to make a functional leap and create the simplest possible thing that can serve as a household computer, taking the most basic functions: communication, data transfer, storage and interface, and concentrating on being low power, cheap to make and open in design.

Things to use:

  • Voice: OCR to Voice, voice to text etc, getting rid of keyboards. (Although the processing power needed for this might not make it a good idea. Maybe it would only record messages, send them around and play them back.
  • "Touchscreen" or head tracking as with http://johnnylee.net/projects/wii/ and other ideas.
  • Casing: Recycled materials. Tire, sensors from old electronic items, mass produced plastic packaging etc, natural materials such as bamboo and balsa.
  • It could use sd cards for storage, send data over audio channels, and we could copy data in and out using the miniusb.
  • Could a photo sensor and piezo combine to create an interface perhaps? The photosensor would do distances, and piezo would check for sound. Sound + distance can easily reproduce the rubbish but simple keypad used in mobiles.
  • Display: The tellymate! http://www.solarbotics.com/products/50652/ but if it can plug into an old flatscreen monitor, all the better.
There has to be a cheap way of generating images or sending data. Using ethernet and a fast local network, it can control a huge array of devices, and there are new technologies coming out all the time such as 3g modems and IP over electricity.

With the basis of an arduino, or of it's cheaper clones, an open hardware device could be created able to plug into a monitor or a television and use a modern but inexpensive interface such as IR gestures or touchscreen, powered by AA batteries or crank power!

So here are some links I've collected to do with ARM chips and netbooks:

http://news.cnet.com/8301-13505_3-10198879-16.html Ubuntu triumphs in the modern netbook market.

http://www.embeddedarm.com/software/software-arm-linux.php A linux ARM distro for a specific chip, price TBC...

http://www.embeddedarm.com/products/arm-sbc.php $110...

If a workshop was set up to make something that sold for £40 pounds or less, people would buy it. But the sets could take the price down to half of that if it was just simple parts and lots of inventiveness...

10/13/2009

A weekend building an arduino based robot


[The bot itself, looking sombre]

Last month, I went away to Stourbridge, a great centre of technology and robotics in the UK's scenic midlands. Here are some notes, pictures and film from that journey.

(I lied about Stourbridge).

The little train that brought me over from the main rail routes felt like a mix between the Totoro cat train and the slowly chugging train of death that inevitably carries away dead steampunks.

I later learned it had been built with very little money, so the health and safety was very minimal, and it was always breaking down.

But my friend Mat lives on the side of this sleepy town. He said that to one side of his house there was wasteland and empty industrial buildings. The other side, he warned was a land of chavs with blue neon underlit cars, there were also pubs and strip clubs, and lots of nurseries.

For a long time, Mat had been collecting arduinos and sensors of all kinds, hoping for a weekend of calm in which to play with it all. He invited me over to build a sonic robot.

So I had gone over for a weekend of playing with cool tech, which turned out to include generative sound with PD and Max MSP, arduinos, robots, cameras, c++ libraries, and lots of gaming. It's for a show he wants to do next year.

We also talked about the idea of a combined virtual and real tree: perhaps feeding into each other. My tree would live in Second Life or Opensim, and would be made of a robotic avatar, which would talk to it's attachments and generate detachable fruits if it was paid Lindens or fed nice textures. Mat's would live in real life, made of arduinos, servos and LEDs, and might for example produce virtual fruits with a GPS location that you'd need an AR platform to go and find them with.

So Thursday was a quick introduction to the arduino. We did the first hello world tutorial and got out Mat's extensive collection of arduinos, roboduinos, arduino diecimila, cornettos, arduino super maxis, calippos and mars bar ice creams. So after getting one LED's worth of blinking satisfaction, we created two little things out of plastic:




To make these, we sawed a CD box cover in half, attached three ultrasonic oscillators on either side (which were bought for a tenner each at coolcomponents.co.uk). And inside the box covers was a little arduino, controlling it. Our idea was to then wire this up so that music could be played based on it's tactile nature, and based on some 80s experiments with infra-red range finders.

But then we got out PD, and started playing around with that, as well as getting out loads of computer games like Left 4 Dead and Fight Night round 4 - great inspiration for messing with electronics and sound generation.

So next morning came a fun Puredata workshop, downloading it, setting it up on linux, and generating random sounds in our stoic Stourbridge surroundings, a local JD Wetherspoons, to the annoyance and tutting of the locals. I learnt that you can wire up Playstation 3 controllers to PD via USB and they will control anything on the PC. It looks a lot harder to figure out than Max MSP but in it's help files' introduction page it mentions Xenakis and Stockhausen.

And then, after some stir fry, we put together a robot kit, the kind you buy at bookshops or museum shops. This one was from Robot Shop (although I can't find a link to it direct. Mat says it's called the Rover though). We ripped out the frame and the wheel motors and attached them to an arduino. After we'd put 20 tiny bits of metal inside 20 tiny little holes on each track, it was quite easy to get the arduino controlling a single tracked wheel, but there was not enough power to run them both, much less to carry loads of shit around like a robotic pack horse mini me. It would have needed a transistor and a 9v battery, which means a trip to Maplins.

So we sidestepped that whole issue and added the contents of a £50 Edimax webcam and wifi pack to the robot.


[To indoctrinate robots into the human world, it is traditional to filially imprint them with some late night Jonathan Ross]



We removed the webcam from the white side of it's plastic container, displaying it's internal LED(s) as well. This we then taped on to the robot box. and on top of the whole thing went the WIFI router, which was also in the pack from edimax. I soon downloaded an android IP cam app, and had connected to the camera over the wifi router, although being plugged in doesn't make our little robot any better at being autonomous...

But we could add batteries at some point. It needs either a 6v, 9v and 12v battery, or just a rack of AA batteries like a radio controlled car.




[Slightly menacing blue lights, again showing a strange resemblance between television and sound bot]



We also thought of using one of the range finders for it, so that it would have an easy way of avoiding obstacles, but then Mat's games with video to audio pretty much got rid of that need.

And we took loads of photos of the photos it was taking. But to get the camera working on linux, I needed a bit longer, as I had to download all the info and a big 150 meg library to my g1 (As a sign of the times, there was no working internet in the flat, but we both had it via 3g on our phones, which we'd use to transfer files via USB cable).

Meanwhile, I wrote my first C++ library for arduino, stealing shamelessly from a Twitter library, found online, which was able to deal with basic authentication.

So easy to make robots nowadays! I bet in future our robot dolls will be home made too.

I'm back now, a few hours later. We've taken a slight detour with a Max/MSP patch that interprets Mat's Mac's camera and turns it into ostinato piano notes based on how bright each pixel is. After that, Mat enlarged it by 250 times, by taking each pixel in a row and doing this based on the average. It's about as good as the range finders were to begin with. We had loads of fun and made a couple of videos of Mat playing his computer like a piano sampling theremin.

It's also, to my mind, a lot more accessible than a range finder, ultrasonic or IR, because everyone has a camera in the UK and everyone is being videoed or is watching video constantly through the day.

Imagine an installation where you took over all that CCTV in a space, and used it to generate sound based on the people passing through it.



I kept working on my C++ library, and it is now able to log in, request a page, and get an error code of 200 from the camera. Also, you can now install it in the arduino development environment and it will run out of the box, even giving an example. It's not much really, but it was late... And with the pdf of the cgi calls, it will soon be able to deliver lots of info to the arduino based on the images it sees.

Next step will be to get the little camera for the robot sending data back to the Arduino, so that it can pick up visual info and use it to tell where it's going. I had a geeky time messing around with the arduino and it's Ethernet shield, getting it to be a web server and client(ooh, arduino p2p, I count the days until your birth), but unfortunately still not managing to get it to connect to anything useful.

Mat's final vision for the robot is that it is eventually able to find it's way around using the camera, and able to find the most musical place, so that in it's symbiotic relationship with humans, it can deliver pleasurable noises. We also still kept the first basic idea of using our original rangefinder interface, maybe mounted on the robot, or in an area close to it, so as to allow people to play duets with the robot, and find even better noises based on what it finds.


[Our little robot relaxes after a long and arduous hacking session]


How to do memory:
Instead of storing sound samples on an SD card (which could also be good, for obtaining on-board recordings), it could store much more data based on the images it sees, before it turns them into noise. On a 9 hour day, 15 frames a second, so for a minute it would need 900 samples. So for an hour, 54000 samples. it would have 486000 individual samples to take care of. BUT each row of elements has 256 individual integers. So that gives 124 416 000 bits stored in a day, i.e around 15MB.

But that's only if it was gathering this stuff all day: it only needs to gather the stuff it likes(based on an algorithm Mat's got in mind), so maybe a 30 sec vision based sample at most, which would then be stored on the SD card so that it could be played back in combination with other stuff it liked. Samples could maybe be stored in 3 types (Lady Ada's wave shield allows the playing of 3 sounds at a time - enough for percussion, chord/drone and soloist/multiple tones).

Mat's algorithm would do a fitness test:

is this a C major chord, or a scale, or something I can identify?
Yes:
What type is the sound: percussive, slow tone, quick tone?
store a segment(type)
Move slightly forwards or back to try and get nice variations.
No:
Turn X degrees left or right.


Arduinos and bits bought from:
Devonrobotics.co.uk, corecomponents.co.uk
Robot shop construction kit: £40 including an arduino!
Lady Ada Wave shield kit: also quite cheap, and including another Arduino.
skpang.co.uk : very cheap bits and oscillators.

10/06/2009

Dorkbot's New Hackspace

Here below you see a miniature, or pocket version of what was recently displayed at a large event in Bath by the newly hacktivised dorkbot bunch, who were given the challenge of providing a musical experience for a tech related arts event. They had to build a smaller version for testing, so they say, or most probably, because they could and because it was fun.




So Dorkbot has finally grown up from being a show and tell of the media, design, internet, engineering, musical and generally creative dork-peoples of Bristol. It has now gained much attention from event organisers and maker faires, as popular electronics has it's second rennaisance in arduinos and strange inventions, and as the closet sound benders of Bristol started messing with all that, so they are booked to play quite a few places, in the sense of course, of playing strange new-millennium unicycles that generate sounds by bending a microprocessor's own vibrations.



Tonight, we plotted the needs for the upcoming (23rd and 24rth October) event in Cardiff, where many a sound unicycle will parade the streets(um, of the venue), a veritable orchestra in fact, for which bass parts are now sought. Here is the shopping list for now:

2 Sunshields for bike wheel (to shade a small section at the top where the optical sensors are)
2 Battery packs for 6AAs
2 Arduinos
Wires
3 or 4* optic sensors
£4 speakers from the garage near John's friend's house
2 power plugs
2 jack sockets.




* The 4, as explained by John Honnibal, was due to the possibility of having an extra track around the side of the disk, which provides the musical score for the device, and to have that synchronise the other notes. This is shown in the first image, at the top of the blog post.

But perhaps I should explain a bit about this space that has been kindly given to Dorkbot by local networkers and community IT group Bristol Wireless, so as to be used as a Hackspace. It's housed at Hamilton House in exotic stokes croft(where from the bar below, a local play takes place each day, next to Bristol Wireless's offices, and so far just an internet connection, some power sockets, and lots of possibly useless, potentially dangerous electronic devices in large plastic containers. Oh and some unicycles.


The idea is to keep it running weekly as a time in which to make stuff, rather than show stuff you've made as with the Pervasive Media Labs sessions. I hope those like me who have never done a day's soldering in their lives will soon learn to count their ohms, tell their resistors from their capacitors, and others will get to work with interesting people who bring their creations to new audiences or new collaborations. But the Dorkbot, mixed media feel is not lost. It's still meant to be a mix of whatever is made by electricity, and I hope the musicians and engineers can be quickly joined by dancers, poets and cooks. (But I do also remember a Cube Cinema based dorkbot where even the electricity rule was broken, and most of the show and tell was about open source cola and distributed apple tree orchards).

So, we now have a bristol hackspace, and lots of things to build each tuesday, for upcoming events, some leaning more towards outreach(such as a busking and empty shop takeover event in late November), others more towards art(such as the Arnolfini's December based IT/hacking programme). I must end with another list, this time of the first hackspace invention ever to be built as a kit and sold. Here are some of the parts that might be required:


In each pack (of a total of maybe 20 packs?):

A small used flyer, or some thin cardboard on which to print a circuit board and on to which the device will be assembled.
1 diode
2 capacitors
2 potentiometers
Chips
etc

1 pack of 20 or 50 plastic parts ziploc bags.


As well as this creation, allowing people to come to a workshop and go home with something interesting, we'll also be on the lookout for some cheap sound making toys from pound stores or toy shops, so as to circuit bend these as well. Meanwhile though, I'll definitely have to learn to solder!

9/15/2009

Where's the Salad?


A while ago, I put on an event in which people from Bristol grew and made a salad, based on Alison Knowle's "Proposition No 2":



It was very nice, and I made a preparatory video:



Make a Salad flyer as well as there being a radio interview and a sound art play with radio and some homemade chopping noises(with poet Andres Andwadter), lots of photos of the event itself and some graphics about it. But I want to make this, as well as more audio, this time of the live chopping duet between lollorosso and improvising trio, into a video and tell the story that way. So I'm really sorry, but it's going to take me a while. It was an incredible experience, and thanks to all who came, and to the better food company who gave us loads of tasty tomatos and lettuce. And to everyone else who brought us salad!

9/14/2009

A list of future physical/virtual computing arts projects

I have to write up so much from recent events, but as usual at these times, my head is buzzing with ideas for other stuff to do next (all based on a long weekend of messing with arduinos, robotics, Puredata and Max/MSP), so I thought it best to document that first. So. I would like to make:

  • An enactment of a score I wrote a long time ago, involving dancers/actors performing with a box, that follows different parameters based on what stage the performance is at. It would be a black box, interacting with the movement and words only through sound. It would be capable of "jamming" or following music in some way or other. (Link suggested by Mat)
  • A dance based implementation of the MaxMSP script that my friend Mat quickly put together last weekend, which allows webcams to interpret visual data as audio samples(more on that in the next post). I want to invite a duet of dancers to perform with this webcam audio, in December, but mostly scriptless, just a result of trying things out with the kit and seeing what shapes to pull so the sounds are better!
  • An outdoors sound object capable of sensing it's environment (possibly via sensors able to see light and soil moisture, so a bit like a plant again). It would turn those senses into audio. I would program it with my own samples and prototype it with PD, though so it would sound somehow like my own thing. The main part of it would be that it could play a morning raga: if it's dark, play a generative solo sound. As sound increases, find a melody and vary it, keeping the main bit for later. Percussion joins in when light reaches a certain moment, and follows warmth or moisture. I've got most of the bits of this. I'm wondering how to keep it safe out there in the rain and damp all the time though. And I want to get it solar panels and make it self sufficient, or even read more data from that into music as well!
  • An exhibition, soon, of the musical robot we prototyped and got started this weekend (looking for venues at the moment).
  • The two trees, from the previous post. This will hopefully debut on Burning Man's Second Life incarnation, Burning Life.
  • Maybe in future, a watcher system to protect plants against night time garden pests. It would have a wire going into each plant pot. It would use the noted aversion that slugs and snails have to small electrical charges (this is why they don't like copper), together with a motion sensor or some other sensors, to (gently) zap them whenever they come by. The natural extension of this would of course be a mobile robot that had all these things in it, and a good way of finding it's way around the garden.
So some of these are very real and coming soon if not here already. The Burning Life land grab is tonight (3am! late night tonight for me then) for example, but other things I just want to note down for the future...

9/09/2009

A tree spirit for Opensim / Burning Life


I want to make a self replicating distributed bot + attachment system, which is coupled with a physical computing version of itself which my friend Mat Dalgliesh is making as a physical creation.

Here is the spec:


The tree idea is a reflection of a physical computing tree, created using arduinos, sensors and motors.

Leaves are attachments with a built in fall script. When they fall, they slowly degrade, becoming darker until they become a particle effect and delete themselves. New leaves take donations from users. If they get donations, they grow bigger and live longer. They pass this donation to the trunk who divides it around the rest of the plant.

Here is a little bit of a proto-leafgen script:

// Rez an object on touch, with relative position, rotation, and velocity all described in the rezzing prim's coordinate system.
string object = "Leaf"; // Name of object in inventory
vector relativePosOffset = <2.0,>; // "Forward" and a little "above" this prim
vector relativeVel = <1.0,>; // Traveling in this prim's "forward" direction at 1m/s
rotation relativeRot = <0.707107,>; // Rotated 90 degrees on the x-axis compared to this prim
integer startParam = 10;



default {

state_entry() {
vector myPos = llGetPos();
rotation myRot = llGetRot();

vector rezPos = myPos+relativePosOffset*myRot;
vector rezVel = relativeVel*myRot;
rotation rezRot = relativeRot*myRot;
llSetObjectName("Leaf");
llRezObject(object, rezPos, rezVel, rezRot, startParam);
}

touch_start(integer num_detected) {
llRequestPermissions(llDetectedKey(0), PERMISSION_ATTACH);
}

run_time_permissions(integer perm) {
if (perm & PERMISSION_ATTACH) {
llAttachToAvatar(ATTACH_RHAND);
}
}

}



Fruits are controlled by all the other parts: they accumulate currency, and can spawn more of themselves when small. When big, they have a drop script. It becomes a little ball that gives something nice, like textures, or sim currency when picked. Just before it drops, it transfers any remaining goodness inside it to the trunk



The trunks are all bot avatars, run after being prepared by humans. Each time the tree needs to grow by another bit, another avatar is needed to be attached to a linking attachment. By use of animations, they could even be intertwined with each other. It uses currency to upload textures of it's older self - used in all other parts. If restarted, the bot scripts will start from seedling.

The avatar is heavily made up: it will have trunk and root- like attachments. sounds and animations, and then generators for the fruits and leaves, It is a bot, communicating with the attachments it wears via hidden channels. Maybe that's how a tree spirit should.



Roots are born when the tree is on some land. They could be non physical and locked to a place, so they function as an anchor. It can be engineered that only way it could be moved would be by the addition to the tree of a rooting script, temporarily making the tree physical. Not sure if these will be needed really though.

To kill it, because it can respawn trunks which automatically wear leaves and accumulate money, you would have to ddos all the bots that run it, and they can be connecting from different servers, which could make it quite a resilient little plant.

So this is an opensource project at the moment. It is a cross between content, character design ecology and commerce. It should be fun! Let me know if you'd like to be involved!

8/04/2009

A quick look at Second Life and Opensim

I just wrote this blog post as a generic look at the history and uses of virtual worlds, with focus mostly on SL, but I'm about to change it drastically to just be about SL and it's uses to most of the clients we have at work - mostly quangos, charitable organisations and meta-academic groups. Meanwhile, here is it's full original and sometimes unfinished text

I Robot


My Second Life Avatar
These days I have been mostly building some robots. To be precise, I am making a few Victorians, some roman slaves, and a roman tour guide and host. They will be there to welcome visitors, and to provide entertaining commentaries as a backdrop to a historical reconstruction. But these are not your "ordinary" robots, made of metal and silicon: they will live their slightly repetitive existences only within the confines of the Second Life virtual world.

The project I'm working on uses this 3d environment to recreate a Victorian model of an earlier Roman building - the Pompeii Court, which was in turn, reconstructed as part of the original Sydenham Crystal Palace exhibition in the 1850s.


Many academic institutions have used Second Life for similar purposes - to bring to life lost buildings in architectural or design projects, as a way to show these places and buildings to students and visitors.

So what is Second Life again?



A mid nineties login screen for a type of editable text based environment called a MOO

Second Life, like many other MMOs (Massively Multiplayer Online Games or Environments), is a direct descendant of the text based "Dungeon" software that became popular in the late 80s and 90s, around the time when the Internet first came into popular use. These were primarily games, but also allowed users to socialise and sometimes even to build new aspects of this textual environment.


Second life, first published by Linden Labs in 2002, offers similar functionality: you can send messages, chat, or send instant messages to other players, as you would in a social network environment such as Facebook, but with the difference that this would take place in a rich 3d world, complete with sounds, animations, video and sometimes even the real voices of the other users. The vast majority of what you can find inside Second Life has been built by the same users who frequent it.

To have a first look, just go to https://join.secondlife.com/ and follow the instructions you will find there.

Joining Second Life

A useful tip is to remember to capitalise the first letter of your new avatar's name, as the automatically generated second name will also be automatically capitalised. Once you have selected a pre-built avatar and filled in some details, you will be able to download the client software and get inside second life's "grid" (the collection of computers running second life's server software, which combine to produce second life's "world").

Why would I want to use it?


Joining Second Life

Linden Labs' business oriented web site lists the main ways companies are working in Second Life today. Above all, it is used as a virtual meeting place, allowing shared virtual spaces, where employees can discuss issues within a traditional meeting or conference framework, or in small groups anonymously or informally. Because Second Life provides powerful and easy to use 3d building tools, it is also employed in the field of design and architecture for collaborative building, or to simulate dangerous or far away environments for training purposes, as well as to view 3d prototypes that might otherwise take days to produce off-line.

There are many ways of creating game areas, or so-called "Interative advertising" so that concepts can become immersive for users or more entertaining to learn about, Technology moves quickly however, and some companies initially doing this in Second Life have since found it easier to use bespoke virtual environments, and some have been recently developing their own solutions.

Here are some examples of how different types of company might use Second Life:



The Virtual Economy


One major aspect across many online virtual worlds, is the fact that these worlds have their own currencies and economies that interact with the real world. As players of virtual games increase their abilities, complete quests and acquire items, they are able to trade these in various currencies. Recently, the Chinese government limited the practice of "Gold Farming" where players of the more game oriented virtual worlds would pay low-skilled game characters to gain points or items for them. In many cases these tasks were carried out in sweatshop-like working conditions.

In the online space trading world of Eve Online however, an economist has been hired to oversee the in-world currency, so as to keep it interesting and balanced. Quarterly blog reports are highly awaited by players, as accountants might await the reading of the UK budget. There are a number of differences from real world economics, mostly due to the speed at which transactions occur, and to the fact that they can all be recorded by the underlying software, but this only makes it easier to construct and run economics simulations.

Other uses



A lot of the most interesting functionality of virtual worlds is still to come. As major Virtual World proponent, Dr Crista Lopes, Associate Professor in the School of Information and Computer Sciences at the University of California, Irvine, remarked, "My attraction to SL in particular, in contrast to my relative indifference to MMORPGs in general, was its potential to become more like the web; to mature and become a platform for business and life in general". So a good reason to be aware of these environments is that they stand a good chance of becoming a lot more widespread.

Within the mobile software market for example, as GPS, fast internet and tilt sensors reach wider audiences, there is a big pull towards so called Augmented Reality software - where you can hold a device up in a city centre or library for example, and see data about that place - bus times, friends in the area or books about a certain subject. Software such as Google Earth has frequently been seen as a type of virtual world, and Second Life itself has been a source of experimentation in "Civic Mirror worlds": environments that map or mimic real world areas, allowing users to visit places that would be difficult or impossible to do in real life.

In this way, today's 3d environments are the first step towards a convergence of real and data-augmented environments, with the benefit of being easy to get involved in, especially for younger or less technically oriented users.

An alternate pull is away from reality, and I've mentioned the use of these worlds as a way for people to express themselves informally and anonymously or in role play. For the majority of users of Second Life today, their avatars - virtual personae - do not seek to represent their real life selves. Instead they use the environment as a vehicle to free themselves from their physical limitations, to fly, dance, fit into all kinds of clothes or appearances and in this way to socialise with people they wouldn't otherwise be able to.

A case looked at in detail in the book "Second Lives" by Tim Guest is a workshop consisting of physically and mentally disabled patients, who choose one of several identities, and together with a carer on a computer console, all participate in a shared identity, making decisions as a group as to what that character will do in any particular session.

Problems and alternatives


There are many competitors to Second Life currently under development. An important counterpart is Open Simulator, an open source world that is fully compatible with Second Life. It allows would be world builders to download and host a world of their making from their own computers or hosting providers, in the same way that a modern website is served to users. This gets past a lot of Second Life's drawbacks, such as those evidenced by Dr Nic Earle of the Sydenham Crystal Palace project:

  • Second Life servers may be closed for maintenance when their US based audience is sleeping - which in the UK may be right in the middle of a session or in class!

  • The Second Life client software may require an update at any time (also chosen by Linden Labs), and won't allow access to the world until this is done. Again, this can be a huge problem if there is limited time in which to show a simulation to a group.

  • Due to issues with content restrictions, there are actually two Second Life grids: a "teen grid" which is PG only and for users aged 13-17, and a separate adult grid. This can create lots of problems in undergraduate classes, where some students will still be too young to enter the adult version.

  • Price: The rental costs of an island or parcel of Second Life with content editing permission is on the increase. Open Simulator on the other hand can be run on most computers, and hosting can be very cheap.


Open Simulator is not without it's problems: long term Second Life users will find it's functionality lacking, but other virtual environments are quickly stepping up to offer alternatives. It is now possible to use flash based software such as Paper Vision to provide a 3d environment accessible directly via a browser and without requiring software downloads.

Virtual worlds and their underlying technologies are always advancing. With the advent of controller-less devices, we will see - at first in gaming, but ultimately across many aspects of computer use - much simpler, more interactive and immersive ways of communicating and of representing real or imagined environments, and at a far lower cost to the pocket and to the world than both physical travel, and video based teleconferencing.

Here is a promotional video for the next version of Microsoft's X-Box 360 game console - showing many of these possibilities: http://www.youtube.com/watch?v=oACt9R9z37U

ILRT offers Open Simulator hosting and a selection of Second Life based services.

4/16/2009

2 weeks in - a google phone review

So I was at a funeral 2 weeks ago, and feeling pretty sad and in need of distraction. Also while at the funeral, my phone broke, so the next day I went down the road and spent a good hour telling all my life and family data to the sales guy, who then signed my life off in blood for the next 18 months on this planet. Midlife crisis?

T-Mobile says it's £30 a month for a famous "Google Phone" or G1, but actually this works out at 45 for most people if you throw in the data plan (which for a G1 makes little sense without), and the 10 pound insurance the phone shop was very very into flogging to me. I declined, saying they should seek alternate revenue than insurance - I see that as a dead market in these times. They should concentrate on providing services like repair or home made application development. Much more money in that, and value to building a community of phone users around a shop etc etc... But I didn't waste too much time telling him that.

Rooting it up

After 2 weeks using this, I've found out that it really makes sense to "root" it. This is UNIX speak for gaining all the administrative privileges to the backbone of the phone - a task usually reserved for ultra geeks, but something you can also do for a fee nowadays in most phone repair shops. T-Mobile have been very nice with this so far, and it looks like rooting doesn't invalidate your warranty, unlike Apple, which has sometimes resorted to "bricking" people's iPhones when they tampered similarly with them. As various forums list - the main benefit is you can "tether" your phone to your PC - and use it's unlimited data plan instead of shelling out on a virgin media plan (yet another contract with the monthly fees devil). Another reason is that after just 4 days of downloading various free apps from the android market, my phone was packed full and complaining about lack of space. So rooting also helps here because you can then install applications on the 2GB SD card that comes with the T-Mobile package.

On the Case

Another mishap on the journey is that as we were arriving in Bristol from the funeral, my daughter had a stomach upset, all over the bus, and somewhere in there was the phone's slender sock that had also come with the t-mobile package. So it's still there somewhere, and as we cleaned the seat and gathered belongings, I somehow lost it. But a plethora of much more usable cases already exist - some simple, plastic and protective, others leather and very business-like, but few that actually fit around the phone and it's opening keyboard, protecting the big touch screen as needed, when in the hands of someone like me, who invariably will drop or mess up a phone if left long enough with it.

Film Programming

Then it was Easter, and one night I realised it was probably my only available night to actually get into some android programming. After about 3 hours faffing and reading, downloading eclipse and looking up existing android code from the various open source app projects on code.google.com, I managed to produce a Maya Deren application. All it does is show a picture, and a bit of text, and it's little more than a hello world app - although I see a vague market for it - a personalised obituary service. But in the spirit of Ms Deren and her early experiments with film, I plan to continue by using the camera preview API - a basic way of showing video and related effects on the phone, before the new version of android comes out - with much improved video recording and display capabilities.

Programming was much like modern web design and programming: the layout was held in XML files, and the programming code separate, and even the code itself, when working with the android API, is incredibly high level, making it easy to, for example, save some data to a database, take a picture from the camera or choose a colour from a colour picker and feed the result back in to a function in just a couple of lines of code. This is probably why the android application landscape today is very similar to pre-1995 java applets - where you could typically wait 15 minutes for someone's homepage to download a gnome picking it's nose.

Zombie Borg Circus

There are some brilliantly geeky applications on the market. Firstly, the ones that let you play games - I wish other people I knew had this phone so we could all go out and play Zombie Run for example - brilliantly simple: it tracks your location and some (hopefully) imaginary zombies on a google map and you have to outrun them around the town... Would be good in connection with the AK-47 App...

The creator of Audacity now works for Google, which can account for the brilliance of the ringdroid application: it can record any sound - from the phone's microphone or anything being played from inside another application. So I can record Last FM streams for example, or voice diaries/comments, and chop them up to size for use as ringtones or to export from the SD onto other media. Sadly though, no improvements have been made to this since October.

My daughter (the one with the stomach upset, much better now thanks) really likes the speaking capabilites of the phone. A linux text-to-voice library was ported to the android platform some time last year, and now there are reams of applications using it. In the one she uses, she can type a word, and it will speak it back to her. A variant does this in other languages too. This keeps her amused for many fruitful 30 minute periods, only slightly alarming when she waves it around with glee from the absurdly robotic pronounciations.


But a more advanced use of this TTL library is certainly the "The vOICe" application - I have no idea where or why this came about, but it is billed as an "augmented reality application for the visually impaired" and it converts input from the phone's camera, into sound, as well as speaking out GPS locations and other robotic data. Now I know what to choose as an eye implant if the world of City of Lost Children ever comes together or the borg have to cut back in the face of the intergalactic credit crunch. It is the single most geeky application I have ever seen in my life.

I also found so many comics. It looks like a big screen touchscreen phone may be the short form media place of choice in future. Some comics incorporate simple animations and sound to replace talk bubbles, others are just a slideshow of images scanned from print based comics, but all of them allow you to read the first issue for free, and charge you for the next one. All but one, a CC licensed remix of a Cory Doctorow story, which could be the future of CC licensed media... If anyone has a comic in mind, I'll be happy to score it with my local improvising orchestra and release it as CC for you! Enquire within: http://orchestra.cubecinema.com


Soundcasting

So where next with android? First step will be rooting it, installing the next version of it's SDK and firmware when it's (imminently) released, and then getting to work on a soundcasting application - this is so that when you are walking around and hear nice sounds you want to share (the birds in the park, your footsteps in the snow), you can stream them out to a slightly annoyed audience as you would a twitter message, but in the form of background or unintended noise only. Much more like the twitter of real birds.

Oh, one gripe with the phone. It's quite hard to actually figure out how to make calls!! A couple of times in the first week I had the phone, I couldn't get apps to close in time to make important calls, but now I'm getting the hang of the idea that you can't ever actually close applications - they just go to the background and maybe die later if the phone things they aren't doing anything useful. Also the touch screen system, whereby a different function is called if you press for a bit longer, rather than a single tap, was hard to get used to, a bit like learning to click the blue underlined words if it's your first time on the web. Battery usage varies wildly depending on what apps are running or services you are using (GPS is a good way to drain it all in an hour).

And the whole UI sometimes feels like a messily put together collection of bits and pieces - for example it should be easy for it to pick up phone numbers in any application and have a standard list of things to do with them - save to contacts, call, sms etc - but actually this kind of thing is not yet there. So let's say, for an IT person like me, it's great, and a really addictive gadget to have, but it's really not grandma-ready yet.

3/18/2009

Sustainable Communities Bill

Here is my submission to the sustainable communities bill call for suggestions. I hope that others feel motivated to publish their SCB suggestions. I think there's a huge lack of dialogue in the current process, and the more we share what we know the more we can counter this
-- 0 --


Walking through Bristol in mid recession, there are many many more empty properties as businesses close, homes are repossessed and places become derelict. This reminds me of what happened during the Great Depression in the US: Thousands of properties lying empty while people are homeless or crammed in social housing, or having to endure various hardships due to living arrangements. This conundrum led to considerable social unrest both then and in the recession of the 70s.


To solve this problem some turn to squatting, or artists sometimes ask administrators of empty properties for their temporary use for exhibitions, and many positive results have come from this. The arts/community group Artspace/Lifespace has made many steps forward with this in Bristol, with it's use of the Pro Cathedral and now the various "Bridewell" police stations as temporary arts venues before their redevelopment as housing projects. Apart from giving these places free publicity, they also cleaned out the properties and maintained them while occupying them.


I believe a part of this success has been the empty buildings tax which the owners of these buildings would have been charged had their buildings sat empty.


I'm not aware of what legislation stops there being a general purpose way of facilitating temporary use agreements with a property's administrator. I am sure however that there is much legislation that gets in the way of this.


Uses need not purely be artistic. Any positive community uses such as short term housing, shops, and businesses can help a positive future for the community around it. I believe any social, cultural, business or environmental purpose could be included within this scheme, thus leading also to many low cost business models - such as food preparation "cafes" in busy central streets, voluntary organisations or workers cooperatives producing what we no longer afford to import, and a homeless population not driven to rioting or crime due to lack of community or opportunities around them. Agreements could vary depending on the nature of the project (such as increasing rent as business picks up), some part of building's insurance could be covered as part of the agreement, and much of this could be paid for by a higher tax on these empty premises, and by the opportunity cost of leaving those buildings empty. I would ask that this agreement be done as an open process, consulting with local residents as is usually done for a planning permission application, not only to grant the use, but to ask for suggestions, contributions and involvement (for example, in time or money) towards the scheme.


I am aware that the SCA as it stands does not have space for dialogue once this suggestion is sent, but I am happy to do so informally or to travel wherever possible and present further documents or clarification further along the line. I have written this without contacting the groups mentioned in 10., but will endeavour to do so and that they can submit similar proposals.


Point 9: I don't know if these come under "local service providers":


ArtSpace/LifeSpace: http://artspacelifespace.purplecloud.net/index.php/developers
Community groups such as the PRSC in Stokes Croft - which has done lots of work with the homeless population of that area.
Workers cooperatives in Bristol - the CDA will know who to contact.


--0--



Next suggestion:
Volunteer waiver of unpicked food prices. Under this agreement, farmers unable to raise money for distribution, and where sale price doesn't meet production costs, allow city people to come and take produce. Perhaps in exchange for city items or training. Groups transporting large amounts of produce could then be allowed to distribute it.



"The farmers are being pauperized by the poverty of the industrial population and the industrial population is being pauperized by the poverty of the farmers. Neither has the money to buy the product of the other."


http://sharonastyk.com/2008/10/05/the-great-depression-the-credit-crisis-and-the-future-of-your-food/

Label Cloud