Dynamic Documents

More things coming out from my recent session about MongoDB. Documents and Types MongoDB is a document database. Such documents are stored as JSON (well, kind of). JSON has a very challenged simple type system. .NET is an object-oriented environment that promotes types. Such type system is pretty rich. Are MongoDB’s documents and .NET Framework types doomed to miscommunicate? They […]

Read More →

BDD Mini Match-up

I cannot say I am a big BDD-er. I have used it for commercial projects, mostly to define complex scenarios for complex pieces of code (a custom discount engine comes to mind) but it comes with a price tag that I am not willing to pay for the majority of tests I write (unit tests). I am not going to describe what BDD is, philosophy, syntaxes, flavors… I am just going to mention my experience with a couple of tools one can use if developing for the .NET Framework.

Read More →

NMoneys.Serialization.*

I have already touched the subject of NMoneys serialization in the context of a third party serialization library. Even a custom converter was released as a Nuget package. But real world experience taught me it is not enough. A new model I have always been hesitant on the policy to adopt when depending on third party libraries in my packages: shall I fix it to a known version? Fix the upper limit to the next semantic version and hope for the best? Update the minimum version every now and then? Quite a few questions and few definitive answers. In this particular case (serialization using a Json.NET converter), I chose to break with the past and deliver the custom converters and everything else as source code and remove the dependency to the serialization framework from my package.Is this the way to go? It definitely has its advantages, but time will tell. New horizons A side effect of the decision is allowing the user of the package to tweak the serialization process or remove the artifacts that won’t be used.It also gives me the opportunity to supply the same code for Json.NET and RavenDB (that uses an internalized version of the former) just by switching namespaces during the build process.

Read More →

Searching Currencies

The main reason that NMoneys.Web was envisioned (apart from the learning experience) was to provide information about how the library displays monetary quantities in order for non-technical users to be able to spot mistakes or improvements. Such requirement is fulfilled in the Currencies section

Read More →