Hi Mario,<br><br>Good to hear from you! I am CCing the OME-devel list, since this conversation may be of interest to others.<br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">

I looked at your Jvmlink software, that makes an interface between C++ and<br>
Java via sockets. I had to adapt the code for Unix (Linux, to be more<br>
precise). Are you still interested in maintaining this code? Are there newer<br>
versions than the one from LOCI SVN (in legacy subtree)?<br></blockquote>
<br>The short answer is: I am not interested in maintaining the JVMLink code. And there is not a newer version that what you found in SVN. (But I would be happy to give you commit access to the LOCI SVN repository, if you would like to commit your changes to the codebase!)<br>

<br>The reason is: there are a plethora of ways to enable inter-process communication between C++ and Java (as well as a slew of other languages): ZeroC Ice (as I mentioned to you in Paris); Apache Thrift, Hessian, Etch, zeromq, Gearman... it&#39;s a long list. JVMLink was written from scratch and makes NO considerations for security, which is of central importance when utilizing the network stack. All of the aforementioned tools provide a mechanism to avoid globally exposing your application over the network, unlike JVMLink. And all of them have had a lot more development time and design work focusing on performance, usability, etc.—which we simply cannot match for an unfunded one-off project like JVMLink.<br>

<br>What I want to do in the future is provide better cross-language inter-process access to Bio-Formats. As I said in Paris, Bio-Formats Ice bindings would be nice, if I had any time to work on them. But right now I am too busy with ImageJ2.<br>

<br>Another vital area to explore is compiling Bio-Formats with GCJ so that you can use it as native code. GCJ has been around for 15+ years and gotten quite good. Have you tried it?<br><br>The good news is that even though I personally do not have time, the OME team now has funding to pursue these things, and is currently hiring. So hopefully we will finally see substantial progress in coming months.<br>

<br>Again, I would be happy to grant you commit access to JVMLink so that you can hack away, if you still decide to use it going forward. I just wanted to fill you in on our perspective, and why we haven&#39;t developed it further.<br>

<br>Regards,<br>Curtis<br><br><br><div class="gmail_quote">On Thu, Nov 10, 2011 at 6:12 AM, Mario Emmenlauer <span dir="ltr">&lt;<a href="mailto:mario@emmenlauer.de">mario@emmenlauer.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Dear Curtis,<br>
<br>
I&#39;m picking up on an old talk here, we had at the OME UGM 2010 in Paris.<br>
I looked at your Jvmlink software, that makes an interface between C++ and<br>
Java via sockets. I had to adapt the code for Unix (Linux, to be more<br>
precise). Are you still interested in maintaining this code? Are there newer<br>
versions than the one from LOCI SVN (in legacy subtree)?<br>
<br>
Attached you can find a work-in-progress. Its your code, with some<br>
extensions for Unix. I have made some smaller changes in other places as<br>
well, for example const&#39;ed some strings where possible. A main difference<br>
is to use a call to &quot;write(byte[], ...)&quot; in Java that writes the full<br>
byte[] array in one go (as opposed to byte-wise). This speeds up large<br>
transmissions thousandfold!<br>
<br>
If you like my code, please add it to your SVN for distribution. But<br>
beware, it is work in progress, and I checked it only on Linux. I did not<br>
check it on Windows (yet), I might have accidentally broken something.<br>
<br>
Anyways, all feedback from you is very welcome! Let me know if there are<br>
newer versions of your code, or if you know better libraries to fill this<br>
gap. Also let me know if you want to be informed about my changes at all :-)<br>
<br>
Cheers,<br>
<br>
    Mario (from XuvTools / libBlitzBioFormats)<br>
<br>
</blockquote></div><br>