Older blog entries for wiggly (starting at number 6)

rkarl

Cheers for the tip on Catmull-Rom splines. Have been playing around whilst I should be sleeping and I have now got some code plotting nicer looking maps. The code needs a lot of cleaning up though.

Now I need to figure out a good way of getting it to automatically figure out which lines are legal since there are some routes that from a simple 'station A connects to station B' approach can't take into account. I may have to add some more information to the data model that can be used to determine this.

Also, the code that produces a set of points to put into the Catmull-Rom plot needs to take loops into account, currently I'm using a simple recursive function to figure out the set of lines that need plotting starting from terminal stations.

London Tube

Hmm, well I've been looking into how to make bezier curves to connect up the stations but there are a few things that I can't quite work out in my head yet. (quite possibly I just need to do some experiments but the weather over here is forcing me to visit the park)

So, one idea is to create a bezier between three stations, using the middle station as the control point. The problem I can see with this is that when this is done for all of the stations that the lines will probably not join up to form a smooth spline.

This leads me to think that maybe I need to connect every point in the line and use every station but the first and last as control points but figuring out an entire line in the london underground could be quite tricky programmaticaly. And I'm not even sure it would work either.

If anyone has experience with this kind of thing then I'd welcome any ideas. Maybe I need to do some more research into graphics (never done any) to find a different algorithm for creating smooth splines between points.

Heat

London is pretty much baking, lucky I don't mind the heat I guess.

chromatic in some ways I agree with your view of not using XML for configuration files. If I have simple data then I don't. If I have a simple set of data then I would just go and use AppConfig or some other equivalent.

However when you have highly structured data it becomes a really difficult proposition to make the config files readable anyway since you may want to make it refer to itself in some way, or have some arbitrary nesting of configuration options.

So, out of interest, do you think you should never under any circumstances use XML for configuration files? Or what?

30 Jul 2003 (updated 30 Jul 2003 at 15:10 UTC) »
London Tube

So last night my flat mate and myselfwere chatting about how it would be nice to see a real rendering of the london underground system.

So I went and started collecting data. I'm currently using ord-survey co-ords to plot the points and have the data in a processing-friendly format.

Now I'm looking for other uses and ways to visualize the data. Some suggestions so far today;

  • Add height above sea-level and make it a contour map focussed on the tube stations
  • Add the ability to provide your post code and plot it onto the map dynamically to see where the physically closest stations to you are.
  • Use it to prove to tourists that it is quicker to walk from Leicester Square to Covent Garden rather than change tubes
  • Add pub locations to enable easy tube-crawling session planning and management

If anyone has any other suggestions for visualisation or anything else to do with this then get in touch. (just decode the really strong algorithm used for my e-mail address above...)

CORBA/Perl

So I finally got off my arse and started on this. I've got a Parse::RecDescent parser up and running on 90% of the IDL grammar at the moment. The other 10% I currently don't care about and will add later.

My main task now is to generate a nice syntax tree representation that can be used to generate all of the types of output needed like stubs, skels, helper classes etc.

After that I'll start on the ORB proper and then the POA classes. I really hope I have enough time to get this going within the year end.

Work

Latest hack at work is an object-query language. You provide constraints in terms of objects and their members and you get a list of object references back.

It's quite simple but I find it very cool. I might try to generalise this and go and make that Perl Object Persistence framework I keep on musing about. Nearly got there once upon a long time ago but kind of got stuck on how to query the damn thing. Here is my answer...

Java::SJ

So, finally released something under an OSS license today to CPAN. Just in case certain people read this I won't geek out too much about it.

So, if you use java quite a lot and hate dealing with multiple VMs and jar versions then go and take a look at it.

Melton Mowbray

Just got back from The Head's farm up in Melton, lots of good food and people. Very little sleep was had by some.

Hmm

So I'm hoping that, like me, people read lots of random diary entries. I'll just assume people read diary entries for now, it helps to think that someone is actually reading what you write, although I have to say the simple act of dumping thoughts out is useful.

CORBA/Perl

So, I've been thinking about this some more and I'm wondering how to go about finding some company/organisation that would sponsor me to go off and write a pure-perl CORBA implementation.

A friend of mine suggested getting a plan together to define the project, estimated schedules etc. Personally I like the idea but I would like to find out if there are any such organisations first, before spending time generating that kind of document.

London

Hmm, weather cooling off today, thunder is promised. As long as we get lightning too I don't mind. There's nothing worse than thunder and gray skies without a bit of lightning.

Java

So, Java eh? Pretty stinky stuff when it comes to library versions multiple VMs and trying to remember how to start up a program that requires six billion jar files.

I currently have a working Perl system to handle all of the sticky stuff that I want to shove onto CPAN. Of course you need Perl, but everyone should have it laying about on their machines if they don't already. I am at the moment cleaning up some of the issues that it raises with security and such like.

Briefly, the system takes a config for the system and a config for the application, constructs classpaths for you, figures out which interpreter it should be using and then goes and runs your app. It can also do kinky things like make sure that certain environment variables are set for particualr VMs, or add certain command line arguments to the program by default.

Probably doesn't make a huge amount of sense, one of the other things I'm doing is documenting everything, which, whilst not the greatest job in the world, is completely necessary. The number of system that are unusable because only the developers actually know how to use them is amazing. Look at the whole J2EE mess.

Not sure if it should go into CPAN however since it isn't just a set of modules but also a set of scripts that use them to do the business. Hmm. I'll let PAUSE tell me off if they don't want it up there I suppose.

Heat

Too hot to work here in London at the moment, temp is around 31C and the AC machines here are little more than underpowered fans.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!