Wednesday, August 16, 2006

Diff/Merge/Patch Library for C#/.NET

Diff/Merge/Patch Library for C#/.NET Nice, a PERL differencing engine ported to .NET.

Found on this URL: A Generic - Reusable Diff Algorithm in C#

Labels:

Friday, May 12, 2006

An alternative to TLS for application contexts / ASP.NET contexts (Thread Local Storage)

ASPAlliance - Create your own HttpContext class: "System.Runtime.Remoting.Messaging.CallContext"

Labels:

Wednesday, April 27, 2005

C# From a Java Developer's Perspective

I stumbled upon a pretty extensive comparison between Java and C#. Probably a little pro-MSFT because it"s written by Dare Obasanjo, but still, they"re getting closer to the illusion of an unbiased comparison:

C# From a Java Developer's Perspective

Labels:

Monday, February 21, 2005

Proposion N2N Review

For my current employer Vitronics Soltec, I had to build a coupling between Lotus Notes and SQL Server.

Proposion N2N is an excellent library to achieve this. Basically, it's a (partial) implementation of an ADO.NET DataProvider for Lotus Notes. It has many advantages (and way less bugs) over the Notes ODBC Connector, as it can even query for attachments, retrieve rich textfields and retrieve field values not included in a view. You can even dynamically execute Lotus Notes Formula's from the SQL query

The SQL isn't close to any SQL standard, but the resemblance is good enough. However, it is very well documented, and examples for almost every possible usage is provided, so learning is very easy, though knowledge of both SQL and Lotus Notes will help a lot

The current version (version 2.11) still contains several bugs, of wich the most annoying is that the IDbDataAdapter methods aren't implemented correctly, wich you can call the methods directly (NsfDataAdapter.Fill(myDataset), however you can't call them through the interface (IDbDataAdapter.Fill(myDataSet)) as it raises a NotSupportedException.

.NET Application Blocks

The Proposion variant of some of the Microsoft Application Blocks are freely provided: the Exception Management Application Block, and the Data Access Application Block.

Proposion N2N Application Blocks

I needed to use the Data Access Application Block, however the FillDataSet caused an endless recursion, so I had to modify the examples. The improved Visual Studio project is available here:

Proposion N2N Data Access Application Block

I've had good results with Proposion N2N, however there are some issues that would prevent me from deploying it with clients:

Potential Adminstration problems

The Proposion N2N Library comes with a strict Activation, and once installed, it isn't possible to install it again. To move the license to another computer, you would have to mail to Proposion to transfer the license. So far I've had very good responses, but I don't want to know what I'd have to do when their website would go down, or the small company would decide to start doing something else.

High priced

The Proposion N2N is quite expensive to deploy, for my development I needed to install a development it on my laptop, and later on another machine to maintain the synchronization between the databases, I'd have to buy another license, or transfer the license from my laptop to another machine, wich would mean I can't develop anymore using the library, and incorporating the problems mentioned before. With a support contract included ($495/y), a developer license ($795) and a processor license ($1395), it would mean I have to pay about $2600 for a ADO.NET driver that can only be used on 1 machine.

conclusion

To us it's well worth the money, because it save's a lot of Domino API programming, but the Activation policy and maintenance contract will definately have me waiting as long as possible before buying a license for the server.

Labels: ,