jump to navigation

How to build a scalable derivatives risk & pricing platform using open source software March 30, 2007

Posted by James Webster in : software, finance , 6 comments

Just some brief thoughts on how a selection of open-source software might be used to build a architecture stack supporting a derivatives risk & pricing platform, a common system found on derivatives trading floors.

Whether some of the open-source alternatives I have suggested are appropriate substitutes for their commercial brethern is highly debatable. Nevertheless the commoditization of software continues.

Where’s my GUI designer for lo-fi prototyping? June 29, 2006

Posted by James Webster in : software, development , 2 comments

At my current client we have been spending time doing a little release planning. This has included creating some mock-ups of screens for a system that until now has been batch-oriented. So far we’ve been creating these mock-ups in the most lo-fi way possible; scribbled on the back of an index card. I had the good opportunity to recently receive some insights into the process from my colleague Luke Barrett who is a whizz at producing GUI prototypes within Powerpoint, which may sound strange but he really makes it work. Other’s prefer to use a wireframe template for Visio or OmniGraffle. Then there is the intriguing Napkin Look & Feel for Java’s Swing toolkit.

What I’m wondering is; can we do effective GUI prototyping using more traditional GUI building tools? What would a GUI builder targetted solely at producing prototypes look like?

A few quick thoughts I’ve had about this…

  1. Napkin LAF would be mandatory: forcing all prototypes to be rendered in a ’sketched’ fashion will reinforce in the mind of all that view them that they are just prototypes and are fair game for critique.
  2. Must be simple enough for non-technical people to use: most GUI designers I have used tend to be quite challenging to work with. Through arguable necessity they are festooned with palettes, property panels, toolbars and other assorted widgetry to build functional GUIs. This tool however could be much simpler; no event handlers need to be wired up, no futzing around with colours or fonts should be possible. Simple palettes of controls and contextual editing should suffice.
  3. Must be light on resource usage: Whilst many developers have the luxury of a high-performance workstation to satiate the resource demands of a modern IDE, most business users and domain experts generally do not. So in addition to being easy to use, this GUI designer should run well on lesser-spec’d machines.
  4. Can export completed screens/pages/dialogs to common image formats.
  5. Would include a palette of controls with common labels: I’m thinking of stuff like buttons with ‘OK’, ‘Save’ or ‘Cancel’ labels. Or perhaps drop downs populated with states/countries, etc.
  6. Should support grids/tables to be set up easily: Most database-backed systems will have several screens that involve the display of tabular data so the prototyping tool should lend a hand in this area.
  7. Would support the generation of lorem ipsum text.

So what do you think? Am I onto a good idea here or is it all just YAGNI? And if it IS a good idea, would someone care to build it for me?!

Dynamic vs Static languages… FIGHT! March 16, 2006

Posted by James Webster in : software, development , 1 comment so far

Via Obie, Reginald Braithwaite argues that compile-time type checking doesn’t buy you much in today’s world. I agree, especially if you are doing test-driven development.

There is alot of activity getting dynamic languages to work on top of existing VM’s such as the JVM and the CLR. Over at Microsoft, IronPython’s pace of putting out betas is impressive, whilst over at Sun, James Gosling is warning of the dynamic language barbarians at the gates.

Interpreting the language (Ruby, Python, whatever) to native JVM/CLR bytecode is only half the battle however. When the standard libraries for those languages are implemented through the underlying capabilities of java.* or System.* things will really get cooking. In my opinion, whichever of the JVM or CLR can get Ruby (and Rails) to run seamlessly on their platforms first will win a lot of kudos in the enterprise space as they will gain the productivity of Ruby/Rails, plus the integration with alot of ‘native’ Java/.NET code. The JRuby project is already making progress in this direction (albeit without Sun’s help). Scoble asked late last year what MS could do to make ASP.NET development more appealing. Get Ruby & Rails to run on the CLR, that’s how!