Tuesday, 27 March 2007

Another feather in Java's cap..

The clever boffins at Oxford University's Sub department of Particle Physics have written a pure Java x86 emulation environment with support for fully virtual peripherals.
I first came across this story on TheRegister
Obviously the sand boxing of the JVM makes this an ideal environment for testing "hostile" applications, Viruses and Honeypots etc.

The main thing I'm going nuts about is the speed. I'm tired of having the same old arguments with C++ coders. "Java is slow". Its just not. The hostspot (JVM) performs some amazing Just in Time compilation optimisations. Maths has not been slow on Java for a long time, FFT's are on a par with C++ speed wise now. Now I have an impressive benchmark to show alongside systems like Qemu and VMware. Unlike these systems though, JPC is fully platform independant and according the site hosted by the research team will run on any recent Java enabled device including mobile phones. Finally I can play my old dos games on my phone!

What I'm most excited about is the support for fully virtual peripherals. Working in my department means I am often exposed to new hardware and new protocols. The ability to prototype this interaction in a rapid development environment like Java could really improve the way peripheral protocols are designed in future.

The futures bright. The futures Java.


*Yes* I realise I have become one of the accursed fan boys.

Bloody Hell, It works!

I worked late again last night, only till about 9pm but this time I was triumphant!

My distributed configuration application passed its first major test, grabbing the Front End Electronics configuration information from my central database, parsing it and rebuilding it and then pushing that data to two front end cards.

key: DCS:Detector Configuration System RCU:ReadOut Control Unit
Pre push latency:
2 seconds AFL start (Design constraint, I cant change this.)
0.5 seconds Database query. (This can be increased by a factor of 4 or 5 using prepared statements and 'views')
0.1 seconds Data parsing and rebuilding. (Taking data from the DCS Schema and putting into a useful state)
Push benchmarks
4.8 seconds to Push the 2096 (131 * 8 * 2) registers to the altros. (Via the RCU instruction memory)
8.9 seconds to Push the 2096 and perform 1 to 1 read write checks.

I think these figures can be greatly improved but based on these rough numbers I can estimate the time it will take to perform a whole Time Project Chamber configuration:
Presuming an average partition size of 18 Front End Cards per RCU that makes an altro push time of
4.8 * 9 = 43 seconds.
Due to the limitations of the Front End Cards and the power supply available at the pit the cards have to be stagger started sequentially, waiting 0.6 seconds per card:
0.6 * 18 = 10.8 seconds.
Total: 53.8seconds + unknown DB latency for multiple requests (est 3seconds);

In short, I think that we can confidently commit to having a full TPC configuration in less than 1 minute. The improvements to the RCU firmware should allow building of large instruction memory blocks for multiple register writes, this could improve the performance by a further 20-30% by my estimates.

In short, Woohoo!

Monday, 26 March 2007

Late night randomness

Yet again I find myself unable to sleep and sat in front of my computer at god-knows-what past midnight.

So, its late at night and I'm sat in front of my computer, logged into a screen session at work via ssh and editing code. *Why?*

I think I have a bit of an obsession, at least with this current project, The deadline for integration testing is mid-April yet here I am, editing code, making sleepy mistakes and updating my blog!

In Gentoo related news, I actually got some work done today, I lurked on bugzie for a while, answered a few user queries and requested that a couple of packages get stabilised.

Slowly but surely I'm becoming more active in Gentoo as a whole rather than just the security stuff.

Well, time to try and sleep again I guess.


Sunday, 25 March 2007

Sleepy Sunday Morning

*Yawn* *Stretch*

Its a very sleepy Sunday morning for me, I'm going to head over to the sports centre, practice some archery for an hour or two, come back have some lunch and then get ready for the afternoons festivities....

I'm off to the cinema with John H. and my new friend Matt. We are going to watch the film '300' and then "discuss" its merits of a series of beers.

Saturday, 24 March 2007

FEC2RORC Library

For those of you that are interested in what I have been doing at CERN, the documentation for my fec2rorc library is available on my webspace.

The reason for me uploading it to my website is that I get annoyed looking around the work servers for my documentation, particularly when I'm not at work! (Why I'm working from home, on a Saturday evening I have *no* idea).


Photos of FOSDEM and the Motor Show

After working late last night I slept in today and felt surprisingly refreshed so today I'm striking things off my todo list.

I've uploaded the pictures of Brussels and of the Geneva Motor Show to my facebook albums.

If your not on facebook you can follow these public links:

Photo's of Brussels that I took whilst wandering around:

Photo's of the Geneva Motor Show


Summer of code.

My summer of code applications seem to have been well received.

I've been hanging around on the relevant channels on IRC and had a few good comments. I had a good email conversations with Jukka Zitting from Apache.

The Apache GSoC is by far the hardest of the three that I may possibly get the chance to be a part of. They are all interesting projects though.

The one I seem most likely to get at the moment is writing a 'shorten' plug in for the Audacious media player (think "winamp"). Shorten is a loss less audio format but it has some dodgy licencing so it will be my job to write a fully open source alternative codec.

This suits me because I really like writing low level time-dependant code that has real world effects.

I'm off to upload my pictures from the Geneva Motor Show and FOSDEM in Brussels.


Wednesday, 21 March 2007

Google Summer Of Code

For those of you that don't know, its GSoC time again!

You can read the info on GSoC here: http://code.google.com

Gentoo have yet again been selected for GSoC and you can see the current Idea's here: http://www.gentoo.org/proj/en/userrel/soc/

I'm applying for a few different projects this year, Gentoo-Java, The Apache Foundation and Audacious are currently my best chances.
Gentoo Java would centre around developing an application for the configuration of the Java environment on a Gentoo installation.
My application to The Apache Foundation involves working to build an online showcase for the free implementation of JCR called Jackrabbit.
I have applied to Audacious to develop a ".shorten" audio decoder plug in.

I hope to send a couple more applications today and tomorrow.

Hey all,

A big hello to the friends I made at fosdem (phreak, christel, djay-il, Betegeuse, diox, Kingtaco, spb, griffen26, hkBST, DrEeevil…..) It was great to meet you all!

Fosdem was really fun, diox did a great job setting up for the meal and the hostel, It was fantastic to meet so many geeks and debate the merits of everything and anything in a nice friendly and often beer fueled environment!

The only bad thing for me happened on Saturday afternoon. I packed my laptop in my bag and left it at the back of the Gentoo dev room whilst I went outside to talk to some developers. When I got back the bag had moved and when I took out and powered on my laptop the screen was broken! I use my laptop not only for all of my gentoo development (Security, Forensics and recently Java) but as many of you may know I come from England but live in Switzerland, my laptop is my life line to the UK, my friends, family and my fiancee.

I’m setting up a webpage soon to ask for help from the community to get my laptop back to working (or replaced, the price is about the same). Any donations are welcome and all will be recognised by me personally.

Your donation will also entitle you to one free (hug/beer/coffee/backscratch) at any developer conference you meet me at. Also if you come to switzerland I’ll hapilly take you on a guided tour of some of the experiments that we have where I work (European Organisation for Nuclear Research - CERN).

So thats about it for now, I’ll setup a website shortly and I kindly ask that you consider linking to this on your blogs :-)

Special thanks to

  • phreak“
  • Kingtaco
  • djay-il
  • Greywolf
  • My Hungarian Friend
  • diox
  • hansmi
  • tomaw

Who have already made donations. The running total at the moment is 148 USD ! Please keep those donations rolling in to hyakuhei@gmail.com or click the donation button:

Thanks again!