2011-07-30

RapidMiner within KNIME

Finally this is working without (known) problems:


So it handles nominal (String) values (in the first setup within RapidMiner the w values were cluster-0, and cluster-1), we can add/remove new columns (the id column is added), add/remove/generate rows within RapidMiner.
The possible ways to improve:
  • Add views from RapidMiner,
  • Add a configuration dialog to the KNIME node using the RapidMiner UI (with correct input setup),
  • Multiple input/output ports (easy),
  • Documentation,
  • Keep only the necessary amount of data in memory (for the input table),
  • On configuration compute the result column types within KNIME.
I think this would be really cool, as RapidMiner offers some methods (like data validation, Fourier transformation, ...) that are not available within KNIME, although this brings those options to them.
The problem is with the licence of RapidMiner: AGPL, or commercial. I think I have to ask for commercial licence.

2011-07-26

SRM-513

Well, at least I did not submitted a wrong solution to the 500 point problem. The sad part is that I have not finished it in time. (First I misread the problems statement and I was trying to compute the number of those configurations where all balls are caught. So bad.)
Maybe next time it will be better.

Wrong idea: ManagedCompiler

Well, it looks like I seldom find the right choice in this project. The ManagedCompiler was a really bad idea to use in the MSBuild task:
  • it allows to use only a single version of Scala
  • the dlls used cannot be freed
  • it cannot be deployed unless the dlls are merged in one dll (not too feasible), or the dlls are signed (not the case currently)
I was aware only the first problem, but I thought it is not a huge problem to deploy a new version of Scala MSBuild task for each version of Scala, although the other problems made it really wrong idea. (I hoped that the ManagedCompiler would make the error reporting easier and the compilation faster. Well, this shall not happen soon.)

2011-07-13

SRM 512

Well, my first match at TopCoder was not so successful. I had no time to finish the 1024 point task, and because I have used an inefficient algorithm so my 512 point problem failed the system test with a timeout.
I have tried my implementation for the 1024 problem: same problem, it was not enough efficient, so timed out. That should use dynamic programming and it were fine. So bad.
Maybe next time it will know how are things going.

2011-07-02

New version of Eureqa KNIME plugin

Yesterday I have released a new version of Eureqa in KNIME plugin. The main feature of it the date handling (along with a new node), the documentation and the option to wait for the free state of the Eureqa server.
It was fun to work on this, it is really easy to implement things for KNIME. Although adding the documentation is not so much fun.

2011-06-26

Problems with the VS SDK

It looks this will not be as easy as I expected to use F# for the Visual Studio plugin (based on IronStudio). It is not just terribly slow, but it looks like the template for creating VS studio language integration is using some parts with dependent types. Yes, I know it might be only my limitations not seeing an obvious solution to this, but it looks like the project classes the ToolsPackage class and the SolutionAdviser classes are too interdependent... I have to think how should I solve this problem.

2011-06-08

Not so nice features of F#

Negative Numbers


Given the following code it does not compile:
> let func = fun ()-> 3;;

val func : unit -> int
> func() -1;;

func() -1;;
^^^^^^

stdin(5,1): error FS0003: This value is not a function and cannot be applied

Pretty annoying error message, as the problem is with the -1 part, not the func(). (You have to put a space between - and 1.)

I was not able to specify mutually dependent types with attributes on the second class.