Ethereum Blockchain Experiments

This year has been all about the blockchain for me. Starting the first week in January installing the Ethereum code and trying to create a small two node blockchain. Well I guess is really started last November when I was thrown in at the deep end attending the Ethereum developer conference for a week in London. I took loads of notes in LiteMap. Mostly to test software (that’s another story) and also to remember what on earth was being said by who. Luckily for me they videoed everything and released the movies on YouTube. If I re-watch them now, they make a lot more sense!

Four months on Kevin, a colleague of mine, and I have written many demonstrators as we tested what the Ethereum blockchain could do. The current best demo is the course demo, which images a senario where a Student can enroll on a course using the blockchain, paying in ‘Ether’ (Ethereum’s currencies) and then receiving their award for taking the course on the blockchain. Below is a movie from the Student perspective:

We now have a website showing what we are up to as well with more little movies of the demonstrators we have been building.

Testing a LiteMap embeddable map

Embeddable map version of Bio vom Discounter?

Finding the absolute position of an element – when in a table in a scrollable div

I have just spent two hours on a stupidity with finding the position of an element which is inside a table which is inside a scrollable div, because offsetParent does not correctly identify the next offsetParent element (it does not find any scrollable divs above a table). It jumps straight to the body tag.

My Solution:

/**
 * Return the position of the given element in an x/y array.
 */
function getPosition(element) {
    var xPosition = 0;
    var yPosition = 0;

    while(element && element != null) {
        xPosition += element.offsetLeft;
        xPosition -= element.scrollLeft;
        xPosition += element.clientLeft;

        yPosition += element.offsetTop;
        yPosition -= element.scrollTop;
        yPosition += element.clientTop;

        // if the element is a table, extra processing 
        // as offsetParent will skip scrollable divs
        if (element.nodeName == 'TABLE') {
            var prevelement = element;
            var nextelement = element.parentNode;

            // find any scrolls between the previous element
            // and the supposed next offsetParent.
            while(nextelement != prevelement.offsetParent) {
                yPosition -= nextelement.scrollTop;
                xPosition -= nextelement.scrollLeft;
                nextelement = nextelement.parentNode;
            }
        }

        element = element.offsetParent;
    }

    return { x: xPosition, y: yPosition };
}

Hope it helps someone else.

This has been tested in:
IE 9        – 9.0.8112.16421
Firefox – 18.0.1
Chrome – 24.0.1312.57 m
Opera    – 12.11 (1161)

Mozilla Add-ons Workshop :: London – 30 June, 2010

Mozilla workshopI went to the Mozilla add-ons workshop yesterday evening. It was less of a workshop and more of a series of very interesting presentations. I particularly enjoyed the talk about the ‘Future of Firefox’. There were several demos of all the cool things that will be able to be done with HTML5 and the new video and canvas tags along with embedded SVG as well.

It made me think that it would be possible to replace the Cohere network view, which is currently an Applet and somewhat tempramental, with a pure HTML version. A very existing prospect.

It was also nice to meet up with Jetpack people again and find out the latest in the Jetpack vision and future plans.

A replay of all the talks and the slides from the presentations will be available soon on Mozilla add-ons workshop page.

You can see the slides from the talk on ‘Mobile Firefox Addons’ given by Brian King (Long-time Mozilla contributor, Founder of Briks Software and President of Mozdev) now at: http://docs.google.com/present/view?id=dhtnds9n_181qh5rqnf3

For more comprehensive nodes on the Mozilla add-ons workshop see Chris Heilmann’s very good blog.

Jetpack Design Camp and SXSWi

Design Camp participants

So, the Cohere Jetpack was one of the 10 winners of the Mozilla Labs Jetpack for Learning competition and I got to jet off to Austin, Texas for a week attending a 3 day design camp, following into the SXSW interactive festival.  Another KMi entry also made it through to the design camp, Mupple, so I got to travel over with Laurian. I am easy to spot in the photo as I was the only female there and Laurian is in the red top.

Intensive coding session

Intensive coding session

Basically, the 10 winners where ‘trapped’ in a conference room for 3 days from 8am to 6pm. Breakfast and lunch where brought to the room, so we had no reason to leave! The mornings consisted of various discussion groups and brain storming sessions around the Jetpack technology and the future directions it could take. The first two afternoons we had intensive coding sessions to make final adjustments to our Jetpacks.  It was all great fun and there was a real group dynamic. The third day involved rehearsing and giving the final presentations of our Jetpacks.

Design Camp dinner at Mexican restaurant

In the evenings we were let out from the conference room and taken to various restaurants around Austin. The food was really quite outstanding.

The Mozilla SXSW Party

Three Jetpacks where then chosen for special awards which where announced at the SXSW Mozilla party. Sadly, Cohere didn’t get a special award, but Laurian got one for “sharing knowledge with others”.  There was an exciting vibe at the party with lots of people interested in the Jetpack concept. It was our job to act as Jetpack ambassadors for the evening.

Me leaning on the Mozilla car

The three winners of the special awards got a ride in the Mozilla car. I got to lean on it!

Collecting our SXSW festival badges

After the design camp was over we went to collect our festival badges courtesy of Mozilla.

Over the following three days everyone attended various panels and talks that where happening around the festival.

Some of the things we went to that I can recall are:

REWORK by 37signals

Wikipedia Gets an Upgrade: Collaborative Video

Design Fiction: Props, Prototypes, Predicaments Communicating New Ideas

Moon 2.0: The Outer Limits of Lunar Exploration

Mozilla SXSW Happy Hour

How WebHooks Will Make Us All Programmers

Beyond Algorithms: Search and the Semantic Web

SXSW Web Awards Pre-Party

13th Annual SXSW Web Awards Ceremony

Open Science: Create, Collaborate, Communicate

The Semantic Web Austin Meetup during SXSW

No Touching! Truly Invisible Interfaces

Plutopia 2010: The Science of Music – A Future-Focused Audiovisual Extravaganza

I did manage to fit in a little site seeing. Laurian persuaded me to to try a segway tour of Austin. It was really fantastic fun and I thoroughly recommend it.

Me on a segway

Jetpack for Learning Design Camp

For the past couple of months I have been involved in the Jetpack for Learning design challenge. I heard on Saturday that Cohere, our entry, has made it through to the final 10 and therefore I get to go to the design camp in Austin Texas, and the SXSW. I had no idea what that was before I Googled it, but it seems to be a massive music festival as well as technology related. I am very exited and slighlty daunted by it all. But it should be great fun!

Builder Heaven

For the past few months we have had the builder in doing a rear extension and an attic conversion so we can gain some more space for our growing family without moving home. I just wanted to write a post about how great they have been. Having had to deal with various builders over the years I know what a nightmare they can be. So it was a refreshing surprise to find someone who would listen to what I wanted, be open to suggestions, be prepared to try new things and put up with my endless questions.

So if you are looking for a builder in the Milton Keynes area of the UK I wholeheartedly recommend you try McGlue Construction – enquiries@mcglueconstruction.co.uk  tel: 07794 5645466.
They specializes in attic conversions, but can do any building works and has a skilled team of people working for them. They did a great job with our rear extension and I love our new attic room. Everything is currently being decorated and I can’t wait until we can finally move into the two new rooms and use them. It is going to make such a difference to our lives to have two extra room to spread into! I wish I had taken some before and after shots now. Here are a couple of now shots of the attic. It is being painted and looks a mess and they don’t do it justice, but they are all I have at present.

Attic 1

Attic 2

Compendium eDance

Well, the eDance project is nearly at an end. I have almost finished the new eDance Compendium with mapping over movies.

Compendium movie map

You can see an example above with four movies being mapped over. Each movie you place on the background of a map gets a timeline and also each comment (node) you place in the map gets a timeline. Movies can be set to start at a certain point on the timeline. You can add transition points along the timeline of a movie where you can change it’s location and size and transparency. Each comments also has a time dimension. It can appear at a particular location at a particular point on the timeline, multiple times if desired.  So as you ‘play’ the master timeline, the movies play and the nodes appear and disappear. This can allow you to map through time and highlight points and discuss aspects of one or more movie, compare movies etc. So a choreorapher (or anyone else) can orchestrate a map over time.

This could also be useful for choreographers to present to others the development of a piece or work. I am sure people will find many interesting things to do with it.  If you added no movies at all to the background you could still do interesting things with orchestrating nodes through time. I look forward to seeing how it is used.

e-Dance Session

E-Dance session over the Access Grid

E-Dance session over the Access Grid

It has been a while since I made a post, so I thought I would add a quick note about e-Dance. Last week we had an e-Dance project research session in the KMi Podium area. The project is researching the use of the Access Grid for distributed dance.

We used the Access Grid to connect with our colleagues at Manchester University. We had Helen Bailey from Bedford University dancing here at KMi and Sita Popat from Leeds University dancing at Manchester. At each location there was a camera on the dancer and then the camera stream of both dancers was projected up as two semi-transparent over-layed windows. In this way, the dancers could experiment with dancing together when they where actually not co-located.

It was very interesting to watch the way the dancers tried to interact and the way they played with their spacial positioning to each other. I look forward to the next session greatly!

Site update

I have made some small changes to my website. I have added an additional link to get entries as an Atom feed. Also you can now subscribe to individual feeds on each of my categories so you don’t have to listen to all my ramblings, you can be more selective if you like 😉