Archive

more food fun in Beijing

termites_seahorses_scorpions
I wish I was brave enough to eat live scoprions.

ACM multimedia 2009

bfast

I’m in Beijing presenting a paper, and staying in a really amazing hostel.
I like this take on breakfast:

‘muesli with fruit and yoghurt’

==

yoghurt and icecream topping on a bed of sliced apple and banana, topped
with raw oats and decorated with a sprig of parsley!?

PlayApp for Playhouse

PlayApp is a software library for processing to stream processing sketches to Playhouse, an interactive lighting installation that will turn Liberty Hall into a low-res colour display with sound throughout the Dublin Theatre Festival in October.

PlayApp is a simple class that transmits every frame drawn by the sketch as a UDP packet. There is also a preview sketch that allows you to visualise your sketches as a 30×11 window animation on the building. Optionally, you can also take control of the top ‘marquee’ floor which has 7×5 greyscale pixels in each window, and use sound which will be broadcast on short range FM radio.

PlayApp as it stands can be used to display any kind of procedural graphics/ sound, or to visualise any kind of information from the internet.

We would love to show interactive PlayApp sketches which turn the building into an interactive sequencer or multiuser sketchpad, we are using osc to access the building from networked iphones and we are planning to add a way to get DTMF commands into processing via an asterisk server. However these types of applications will have to be run by special arrangement as they require more setup.

Playhouse will run from September 24th-October 19th.
Sketches and movies that play on the building will be documented with a camera facing the building and will be automatically archived.

Playhouse

Adding an external antenna to Huawei E220 modem

In order to use this HSPDA modem for smsage I need to adapt it to use an external antenna (as it is housed in a metal box..)

Following this post, it seems there is an antenna connector internally.

Opening the case it a little tricky, you can lever it open but you basically have to snap a one-way snap connector to get it open. I love invalidating warranties.

Looking closely, the antenna connector seems very similar to mmcx, although the pin goes in the other directions (male connector: female pin). Is this a reverse mmcx?

antenna assembly from Dell D620
As it happens, I have an unused HSPDA antenna I took out of a dead dell laptop, which has an mmcx connector.

magnified view of mmcx connector
I made a pin to join the 2 female connectors from a tiny piece of wire.

with antenna assembled for testing
Hooking it together to test, I needed to clamp the sim holder to the board.

results
It seems to work. I tested it using xhe220stat.

Bristol

Elderly Crossing
Just back from a few days in Bristol working with Duncan Speakman and Kathy Hinde making some mobile sound installations using PDa on the gumstix.

We were interfacing phidget USB sensor boards which allow a wide variety of sensors to be conveniently accessed.

I am very impressed by the phidgets ease of use and the quality of their documentation: however there is no off-the shelf way of talking to them in pure data.
One result is a new external for pd and PDa for the phidget 8×8x8 interfaceKit (linux only).
pd phidget external
you need to download and make the phidget linux library
make & sudo make install
The external allows you to set the digital outputs, read the digital & analogue inputs, and set the threshold sensitivity for the ADCs.

mysql_select_db fails when there is a user with the same name

In the ‘totally baffled me for a while but I can’t be bothered to figure out why’ section,

on my default installation of apache/php/mysql on ubuntu jaunty, if I create a database and user with the same name, no users can access the database: ‘Unknown database’. as soon as I change the name everything works.

strangely phpmyadmin could access it though, some sort of namespace issue?

I’m sure there must be good security reasons for this.. however my hosting provider doesn’t seem worried about them, on PHP Version 4.4.8

MTx in pure data - proof of concept

This video shows an xsens MTx sensor being read by a custom external in pure data

The MTx is a highly accurate MEMS-based orientation sensor mainly used for motion capture and tracking of unamanned vehicles.

Although it works, theres still a problem with the architecture- it lags unless polled at 200hz or whatever rate the sensor is reading at. Watch this space.

Thanks to Sean Reilly.

Blog reinstated

I’ve reinstated this blog after moving to a new hosting company.
This was necessary as my previous totally useless hosting company kept getting
hacked
and also hosts ‘dubious’ sites, so I was being flagged as a reported attack site by google- like this:

reported attack site

I guess the old adage holds, if you only pay peanuts, you’re going to get monkeys..

Copying the content from nucleus to wordpress was a little tricky. This script works really well - you edit the configuration and then run it on the server - however it only works with wordpress 2.1. The solution? Install wordpress 2.1 just for the task, and export the content as XML for the latest wordpress to import.

Echoweb - A workshop in mapping audio networks through audio

I am running a workshop in TCD’s science gallery on the 22nd of this month - Saturday.

The workshop will cover using and programming mobile soundscapes using the platform I’ve decied to call ‘Audioscan’, based on the gumstix linux platform, PDa, and the network daemons I have written to enable bluetooth, wifi and gps signals in OSC.

more info

Identifying ttyUSB ports in python

While preparing a NSLU2 for phase 2 of SMSAGE with Ralph I’ve come across one really annoying issue.. It doesnt seem deterministic which order USB devices are enumerated, so if you have two USB to serial adapters, ttyUSB0 and ttyUSB1, they may switch names after a reboot!

This python script identifies them for you. (angstrom openembedded).

Run it directly:
python identty.py

or:
import identty
ports=identty.identify()

Source:

import os

def identify():
   ports=[]
   o=os.popen(’cat /proc/tty/driver/usbserial’)
   p=o.read()
   q=p.split(’\n’)
   for i in range(len(q)):
      r=q[i].partition(’”‘)[2].partition(’”‘)[0]
      if len(r):
         ports.append(['/dev/ttyUSB'+str(i-1),r])
   return ports

if __name__==”__main__”:
   p=identify()
   for i in p:
      print i[0]+” : “+i[1]