Programming

Caliburn.Micro.Logging 2.0.3 Released

Just a quick note that with the release of Caliburn.Micro 2.0.0, I have updated the logging libraries to use the latest and pushed to NuGet.

Great Post on NoSQL Data Modeling Techniques

Nope. It’s not mine. Though I wish it was. It is an older post (from the distant past of 2012) on the Highly Scalable Blog entitled NoSQL Data Modeling Techniques. This past weekend I found myself looking for methods of storing hierarchical data in a key-value store (a subject for another blog), and in the spirit of not reinventing the wheel – I broke out my trusty Google search window.

Re-Introducing Caliburn.Micro.Logging

It has been a long time since I upgraded this library, and the .NET development world has shifted a bit in that time. One of the key changes is the move to Portable Class Libraries, and Caliburn.Micro is one the libraries making that change. I have decided to follow suit and make the core Caliburn.Micro.Logging library portable. This, of course, has creating some significant breaking changes, so please look over the changes list below.

Caliburn.Micro.Logging updated to version 1.5

Sometimes time flies way too fast. It has been seven months since I last updated my Caliburn.Micro logging frameworks and nearly a month since Caliburn.Micro has been upgraded. Well, I have finally caught up and upgraded the logging libraries. Caliburn.Micro.Logging, Caliburn.Micro.Logging.NLog, and Caliburn.Micro.Logging.log4net are now version 1.5 and available on NuGet. Version Changes Upgraded Caliburn.Micro to 1.4 Upgraded solution / project files to VS2012 Added support for Windows Phone 8 Split Caliburn.

IoC Battle–Revisited

Introduction I have been evangelizing the use of IoC for a number of years. Frequently the newly converted ask the following two questions: Which container to use? Which is fastest? My answer to the first is almost always the one you choose, and for the second question I refer them to Martin From’s IoCBattleweb page. I wont get into the reason for my answer to the first question in this post (I will save that for another day).

Gentle Introduction to MEF–Part Two

At the Tampa C# Meetup on August 3rd, I presented this Gentle Introduction to MEF using the same project modified over three steps. This is Part Two, where I show the application created in MEF. Recap In Part One I created an application the generates some text, and transforms it based on a selected transformation method. We introduced the following interfaces: IGenerator – implemented by our text generators ITransformer – implemented by our transformers

Gentle Introduction to MEF–Part Three

At the Tampa C# Meetup on August 3rd, I presented this Gentle Introduction to MEF using the same project modified over three steps. This is Part Three, where I complete the application created in Part One and modified to use MEF in Part Two. This part will show MEF composing the application from multiple assemblies into one application at run time. Recap In Part One I created an application the generates some text, and transforms it based on a selected transformation method.

Choosing an MVVM Framework

I have recently begun planning a new project, and I needed to do all the standard pre-project decision making on build runners, test frameworks, continuous integration tool, IoC, and since it was going to need a UI, an MVVM framework. These decisions are usually quite quick since I tend to reuse the same things I used for my last project. However, every so often I take the time to evaluate the field of choices.

Gentle Introduction to MEF–Part One

At the Tampa C# Meetup on August 3rd, I presented this Gentle Introduction to MEF using the same project modified over three steps. This is part one, where I show the application without MEF. Functionality The target program will have the following functionality: Transform text data using a selectable transformation method Generate source data (in case the user is too lazy to type something in) Clear the source and destination text blocks Text generation and transformation must be pluggable strategies for future expansion

Caliburn.Micro EventAggregator Extension Methods

When working with the EventAggregator, I occasionally stumble upon situations in which I want to subscribe to multiple instances exposing the IHandle interface. It is not often, but happens enough that I got tired of the same code multiple times, and created a couple of extension methods to deal with this for me. I have posted the code up on GitHub as a Gist in case you find it useful as well.