Granville Barnett

June 2008 - Posts

Visualizing data (plotting functions of two independent variables)

First off this post doesn’t contain that much textual substance, for more read the previous post I made, also the graphing library I am using is F# for Visualization.

While it is possible to plot these functions by hand in the very, very (emphasis on very, e.g. a plane) simple cases anything other than that almost certainly requires some form of professional mathematical package, or in this case a plotting library.

I have only used F# for Visualization (now uses WPF not DirectX) on my home machine which is (briefly): 2.4GHz Core 2 Duo, 4GB RAM, NVidia 7900 GS 256MB.

F# for Visualization 

F# for Visualization (3)

I found the performance of the 3D plotting really quite good.

Note: there is no point to the below graph, I just wanted to see if using somewhat over zealous input ranges would slow this thing down – it didn’t on my machine (well probably a few ms but nothing really noticeable).

F# for Visualization (4)

I was curious…

F# for Visualization (5)

…still was very fast to generate, however when I rotate the graph there is a very small pause (< 1s).

Note: you can also interact with these graphs with the mouse, so you can rotate them etc.

Having played with F# for Visualization quite a bit now I am starting to now use it all the time for this kind of thing rather than firing up something else like Octave, plus you get the added bonus of using F#!

Before I go I must remember that if I insert  a few fairly large images in Live Writer then subsequent typing will be on a several second delay – so annoying!!!!

Posted: Jun 22 2008, 12:37 PM by gbarnett | with 1 comment(s)
Filed under: , ,
This MS Surface ad made me laugh

http://on10.net/blogs/nic/Surface-Harrahs-iBar/

If you can’t be bothered watching the video the crux of the matter is this – a guy see’s a girl in the bar, throws a few messages her way as well as a drink (via Surface) then leaves the bar with her.

I must say its a very appealing way to attract the women out at night – what shocks me is that both were sober!

That ad just really made me laugh, I found it pretty tacky – I can imagine some people abusing the system by using some form of round-robin approach with sending messages to people, e.g. a guy just pings every table with women with various messages (yep – that’s right, they are playing the numbers game)!

I am writing this shaking my head in disbelief – do you really think that it would be that easy to attract women if there were Surface products everywhere?

Oh dear…

EDIT: I can actually envisage a time where people start suing for harassment in bars for receiving unwanted cheesy little messages sent via the trusty Surface product! …

Posted: Jun 17 2008, 07:21 PM by gbarnett | with 2 comment(s)
Filed under:
Resharper 4 development moving fast now

Last time I checked R# 4 was in Beta, just randomly browsed to the download page for the nightly builds and see that R# 4 is RC3.

I must say I am somewhat disappointed with JetBrains with regards to Resharper, we are several months past the release of Visual Studio 2008 and now only at this stage they are nearing release of R# 4 which has support for C# 3.0. It makes you question their commitment to .NET tooling.

For the most part I just use R# for getting rid of the grunt work, e.g. when using a TDD approach you can just add methods etc that don’t exist in types with the press of a few key’s.

My hope is that one day VS will ship with tooling that makes me not want to buy R#…looks like that day is a lonnnnnnng way off though.

Posted: Jun 10 2008, 10:26 PM by gbarnett | with 2 comment(s)
Filed under: , ,
Visualising data

I tend to use Octave for maths based stuff, including visualizing the plotting of functions and so on. Anyway to my point, I have found that GNU Plot as great a tool it is to be somewhat linear in its way of thinking when rendering the (2D) graph - as an example if you devise a function with inputs that should produce (if by hand) a very nice curved plot then the chances are that GNU Plot will eradicate that expected curve and leave you with something very jagged.

Note: I'm not sure if there is an option somewhere in either Octave or GNU Plot to basically say "hey! throw the smooth curves in!!" so I apologise beforehand if such an option exists.

This has really started to annoy me this last week, so I started to think of alternatives to get a really nice visualisation stack that played nicely with one of the several languages that I am familiar with. As you will no doubt be aware in the past I have used (or at least tinkered with) NPlot, and ZedGraph and I can only tip my hat to the developers involved as they have created really great libraries there, oh and they are FREE! Both these frameworks are great, but they require a number of lines to actually get them setup correctly - even for trivial plotting. I wanted something that was quick and easy, and preferably something that worked well with functions - I started looking at F# alternatives...came across Flying Frogs F# for Visualization.

Last time I looked at FF's FS Vis (it's a mouthful so I'll cut it down!) it was based on directx, however I remembered reading somewhere that Jon had in fact ported it to WPF - this all sounded promising, WPF is a nice stack for graphing. I downloaded the bits, and literally with 1 line (and short) I can define the x and y range of values for the graph, and pump in a function to that plotting function and it will go ahead and use the x range as the independent values and go from there, excellent! ...but does it render super silky curves? yes! Beautiful! Although firing up VS to just do some visualising seems a little extreme it actually works well - the only tedious bit is referencing the assemblies required, once that has been done I found the workflow like that of any other mathematical environment - define the function(s), ranges and then invoke some plotting function. I've only played with the 2D plotting thus far - I just wanted to use it for some work I was doing, I am by no means totally clued up with what the graphing library can do.

F# for Visualization (2)

Note: simple I know, not used this library for long - but the results seem to be pretty nice. There is some typesetting as well but I've yet to look at that in any real depth.

Interesting.

Note: I can't remember what Matlab produces - too pricey for me!

Posted: Jun 03 2008, 11:49 PM by gbarnett | with 5 comment(s)
Filed under: , ,
More Posts