Monthly Archives: May 2014

Rendering Semantic Networks

I will be presenting at FEISGILLT 2014 in Dublin on the subject of VistaTEC’s work with RDF and Semantic Networks. In my presentation I want to have a series of images which illustrates the build up of relationships between entities.

As with my approach to development, I tend to start with an idea and iterate and re-factor towards the finished article. Given that I want a series of images that I can display as a crude stop-motion animation, I need a quick and consistent way of regenerating the sequence after making an alteration. From my early days in architecture and computer graphics I know that it is sometimes better to start from the end – with like a KeyFrame – and work backwards.

A graphing tool that I have come to like a lot is Graphviz. It has a very simple text based language for defining the graph. It has its own layout engine so as you add nodes to the graph it dynamically alters the positioning and layout of those nodes in the rendering. The effect in my animation that I want is not to have the position of the nodes change, rather I want new nodes to fade into the graph as if they were there all the time but just hidden.

I started with the end result – that is, the complete graph – with all of its final rendering and labeling. Next I generated the start slide. This was a copy of the definition of the complete graph but with all the nodes I want hidden simply drawn in white on white.

Generation of the intermediate slides is a case of taking the definition for the starting slide and gradually replacing the white on white node definitions with those from the final graph definition – their final visible rendered colour.

For this I used my favourite comparison tool, Beyond Compare. Beyond Compare shows differences at document and line level and has simple ways of moving changes between files. Having generated my series of image definitions, I simply created a batch file to execute Graphviz’s DOT program to generate the images previewed below.


Here Comes the Summer

I have bombarded myself with JavaScript for the last three weeks driven by a feeling of inadequacy. Not that I’m incapable of writing it or unable to decipher fairly terse blocks of it. It’s just that I don’t have much of a requirement to use it on a daily basis and so I don’t feel fluent in it. Others seem to be using it just about everywhere. Following a tweet (I can’t remember who you were but thanks) I watched Douglas Crockford’s Pluralsight course entitled “JavaScript the Good Parts“. This course is quite a departure from the normal Pluralsight format in that it is a video of Douglas giving a live presentation rather than a hidden teacher narrating over a series of learning modules. The course was enlightening, interesting and frightening. Scary in respect of JavaScript being designed and implemented within such a short space of time, its sometimes quirky features (to whit the treble equals ‘===’) and yet its ubiquitous adoption.I then took a look at AngularJS. I’m interested in frameworks which simplify the presentation and state management of data which is retrieved via http. Despite my wariness of JavaScript I was really impressed by its clean structure, ease of assimilation and flexible integration patterns with ASP.NET MVC. Finally I went on a whistle-stop tour of Breeze and Jasmine.
I’ve been out and about as much as possible recently too. During transport from location to location I have been trying to re-kindle old interests like computer graphics and colour. Therefore spent some time looking at POV-Ray, Color Scheme Designer, Paletton, Adobe Kuler, PaintStrap, Lavish and GraphViz.
I attended the 7th Multilingual Web Workshop in Madrid this week. The city reminded me a lot of London in terms of architectural style and scale, transport and points of interest. The University is massive. The event dinner was at Posada de la Villa and the lamb was possibly the best I’ve ever tasted in a restaurant.
We got great feedback from the reviewers of our Multilingual Web – Language Technologies European Union funded project. I hope this stands us in good stead to receive funding for our recently submitted Horizon 2020 ICT-15 proposal.
I do occasionally go off grid and get out onto the water. The weather hasn’t been too bad and so I was able to get out a couple of times. As the skipper of the yacht I go out on said: “I knew you’d be ringing as soon as it was May”. Finally I will be presenting at FEISGILLT and Localization World in June in Dublin.