Jul 022014

Syncfusion published yet another book on their Succinctly Series – MongoDB Succinctly. Once again I had the pleasure to be the Technical Editor of the book.     In MongoDB Succinctly, author Agus Kurniawan explains the essentials of the MongoDB database system. Starting with creating a MongoDB database, you’ll learn how to make collections and interact with their data, how to build a console application [… read more]

Jan 102013

Recently I started working on my side-hobby-project on the linktotweet.com web site, and one of the functionality I want to offer to site members is the possibility to track the statistics, and more precisely the location of their visitors. In other words, I need to translate the IP address to an actual location. While this is almost a trivial task for whoever is using the [… read more]

Time Zones management in Microsoft.NET

 Posted by on September 29, 2012
Sep 292012

If you are working on a project that has international visibility, as I currently do, where customers from all around the world are able to use your system and perhaps there are few offshore teams building some services that your application depends from, then for sure you had to deal with Time Zones issues. There are around 40 time zones and most of them on [… read more]

Sep 052012

I’ve started adopting what I could call “agile” way of developing software only in 2007-2008. Since then I’ve become a Certified Scrum Master and trying to adopt as much techniques and methodologies to make the process of developing software in my team as much as possible. I am sure that I am still far from saying that it is perfect and there is always room [… read more]

Mocking with Moq

 Posted by on August 30, 2012
Aug 302012

In object oriented programming, mock objects are simulated objects that mimic the behavior of real objects. Mock objects are usually used in Unit Testing. Mock objects are exactly created to test the behavior of some other (real) object. Therefore, mocking is all about faking the real object and doing some operations in a controlled way so that the returned (test) result is always valid. The first question [… read more]

Aug 142012

By continuously improving the design of code, we make it easier and easier to work with. This is in sharp contrast to what typically happens: little refactoring and a great deal of attention paid to expediently adding new features. If you get into the hygienic habit of refactoring continuously, you’ll find that it is easier to extend and maintain code. —Joshua Kerievsky, Refactoring to Patterns[2] [… read more]

Aug 112012

Spring.NET is a great open-source framework with rich capabilities and a large amount of “plugins” or services that are implemented around the Spring Core. In this post I am going to discuss the same content discussed in one of the earlier posts (applied to PostSharp framework), which is about how to apply Aspect Oriented Programming specifically the method interception but this time in Spring.NET. I [… read more]

Aug 092012

For general information about the Aspect Oriented Programming please refer to the earlier post: Aspect Oriented Programming (AOP) basics In general, PostSharp offers a great deal of different types of predefined aspects that can be used and applied on methods, properties, events, fields, etc. The list below is directly taken from the PostSharp documentation. TypeLevelAspect: Which is a base class for all aspects applied on [… read more]

Aug 062012

What is Aspect Oriented Programming? In very simple terms AOP is a software programming technique that helps managing cross cutting concerns in software applications. Before describing what “Cross cutting concern” is, we should mention the Separation of Concerns (SoC) paradigm first: When separating concerns, every class or method should be as modular as possible and should be responsible for only “one” thing at a time. [… read more]

Jul 102012

In this post I would like to analyze the two ways of how applications can exchange data (especially when it comes to the database access). I am mainly a big advocate of SOA (Service Oriented Architecture), but on the other side, you have developers who are more oriented toward direct database connections and sharing the data in this way. I would like to share with [… read more]

Jun 272012

Recently I have written an article about how to wait for two threads to finish. The technique described in the article can be perfectly used when writing unit tests for asynchronous methods, especially for the ones exposing events. Test scenario Lets go straight to the code to be tested. This is a very simple implementation of a Document Generator Service, a class that is responsible [… read more]

Jun 152012

In the recent period Microsoft has put a lot of emphasis on the asynchronous programming. Multithreading, which is obviously connected to the asynchronous execution, gets an important support in the Microsoft.NET 3.5, 4 and 4.5. Just to name some new things introduced starting from .NET 4: Tasks: Introduced in Microsoft.NET 4. A Task represents an ongoing activity, which may be CPU intensive work running on [… read more]