All Posts

Book Review: Version Control With Git

2 minute read

Your first encounter with GIT as a version control tool may be quite intimidating, especially if all you had been using so far was something simpler like Sub...

Firefox, Fiddler and HTTPS

1 minute read

Today I was debugging some interaction between one of our products and Twitter 1.1 API protected by OAuth 1.0a . As it happens, I was using Fiddler to have a...

Dependency Injection for Dummies

2 minute read

Antonio Vidal has translated this post into Spanish: you can find it here. Dependency injection is a very simple concept: if you have an object that interac...

Why Functional Programming Matters in F#

3 minute read

Building Reduce and Map from the Ground Up with F# Today I've found myself reading again the excellent paper Why Functional Programming Matters, where ...

Code Snippets for the Dispose Pattern

1 minute read

I thougth I'd just share a couple of Visual Studio C# code snippets to implement disposable classes, based on the well known .NET dispose pattern. You can...

Reading Technical Books with Kindle DX

3 minute read

Take-Away If you are in a hurry, here's the take-away: Pros: You can carry lots of technical books with you, without breaking your shoulder. The e-ink is e...

A New Journey

1 minute read

It was exactly 2 years ago. I was embarking on the biggest change in my career as a software developer. Coming from about 10 years of development for Motoro...

Ninject Mini Tutorial - Part 2

2 minute read

Go to Part 1 Controlling the Life Cycle of your Objects In the previous post we did not concern ourselves with the lifecycle of the object returned fr...

Ninject Mini Tutorial - Part 1

3 minute read

What Is Ninject There are several Inversion of Control (IoC) containers for .NET to pick from (such as Castle Windsor, Structure Map and Microsoft Unity, jus...

Project Euler Problem 18 in F#

4 minute read

2011 brings us yet another Project Euler problem to tackle: this time is Problem 18 one of the most interesting that I have solved so far: By starting a...

Project Euler Problem 17 in F#

2 minute read

Project Euler problem 17 turned out to be quite an easy one. If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 +...

Project Euler Problem 16 in F#

1 minute read

It's time for another Project Euler exercise. This time around it is problem 16: 215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26. What is th...

Project Euler Problem 15 in F#

4 minute read

With Project Euler Problem 15 we approach the fascinating world of graphs (but, as we shall see, only in a very tangential fashion): Starting in the top le...

Project Euler Problem 14 in F#

3 minute read

Project Euler Problem 14 introduces the fascinating Collatz Conjecture: Take any natural number n. If n is even, divide it by 2 to get n / 2, if n is odd mu...

Interview: Being an Agile Coach

4 minute read

In this blog post I interview Davide Varvello, currently working as XP coach at 7Pixel. I've had the pleasure to work with Davide for a couple of years durin...

Project Euler Problem 13 in F#

1 minute read

Now that with F# (and .NET 4.0 in general) we have support for big integers through the BigInteger type, Project Euler problem 13 has become a trivial one: ...

Project Euler Problem 12 in F#

4 minute read

After a brief digression with an RPN Calculator, here we are again with a new Project Euler problem: The sequence of triangle numbers is generated by adding...

A RPN Calculator in F#

2 minute read

While continuing my journey in F#, after playing with Project Eulero problems for a few weeks, I have come across another excellent  excercise site which ...

Project Euler Problem 11 in F#

4 minute read

Project Euler Problem 11 is an interesting one; when addressed with a functional approach it lends itself to be solved using function composition. Let's h...

Project Euler Problem 10 in F#

1 minute read

Project Euler Problem 10 asks a very simple question, again dealing with prime numbers: Calculate the sum of all the primes below two million.

File Transfer with WCF: Part III

1 minute read

This is the third post on a small series about transferring large files with WCF using streaming : File Transfer With WCF File Transfer With WCF: Part II Fi...

Project Euler Problem 9 in F#

1 minute read

Project Euler Problem 9 introduces the interesting mathematical concept of Pythagorean Triple. Let's have a look at the question: A Pythagorean triplet is...

Project Euler Problem 8 in F#

7 minute read

After two easy problems, it's now time for Problem 8. At first, this problem also seemed to me more complex than it really is. Let's have a look at the que...

Project Euler Problem 6 and 7 in F#

2 minute read

Project Euler problem 6 is one of the easiest that I have encountered so far. Also, Problem 7 is quite easy to solve once you have a function for prime nu...

Project Euler Problem 5 in F#

1 minute read

Yet another episode in my attempts to solve Project Euler problems. Enter problem number 5: 2520 is the smallest number that can be divided by each of the nu...

Project Euler Problem 4 in F#

1 minute read

Project Euler problem number 4 asks the following: A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-di...

Project Euler Problem 3 in F#

1 minute read

Continuing with my journey learning F# I have tackled Project Euler problem number 3, which asks: The prime factors of 13195 are 5, 7, 13 and 29. What is th...

Project Euler Problem 1 and 2 in F#

2 minute read

In my journey to learn F#, I have recently discovered the Project Euler site, which is a wonderful collection of small algorithmic problems which you can sol...

Best Resources to Learn F#

1 minute read

Have been hit by the functional programming bug yet? If you read around the blogsphere and listen to podcasts lately, you've surely been exposed to the rev...

A Fluent Builder in C#

3 minute read

When it comes to the number of arguments to pass to a function, Uncle Bob is pretty clear. Quoting from Clean Code: The ideal number of arguments f...

Comparing Floating Point Numbers

3 minute read

Floating Points and Rounding Errors. Working with floating points number can sometimes provide some (un)pleasant surprise, since many real numbers do no...

Top Podcasts For .NET Developers

4 minute read

Why Should You Care About Podcasts There are many ways to keep up to date to what’s going on in the software community. Blogs, books, magazines, conferenc...

New Year’s Resolutions for 2010

3 minute read

The new year has just started and it's time for me to share my professional life resolutions for the upcoming year. Through books, articles, blogs, podcasts,...

Best of 2009

2 minute read

It's been a little more than 6 months that I have started blogging and it's already time to look back and have a small retrospective. All in all, it's bee...

Book Review: The Pragmatic Programmer

3 minute read

I recently embarked on a journey to read (or re-read) all the great classic books in the software literature. The Pragmatic Programmer is one of those books...

A Singleton Service Locator Pattern

2 minute read

This is the third post of a series on the Service Locator pattern. In the first post I described how to create a basic service locator for your C# applicatio...

File Transfer with WCF: Part II

1 minute read

This is the second post on a small series about transferring large files with WCF using streaming : File Transfer With WCF File Transfer With WCF: Part II F...

File Transfer with WCF

3 minute read

This is the first post on a small series about transferring large files with WCF using streaming : File Transfer With WCF File Transfer With WCF: Part II Fi...

Code Contracts and Inheritance

6 minute read

The Liskov Substitution Principle This is the third post on a mini-series about Microsoft Code Contracts and why you should use it to write more robust and r...

Code Contracts: Invariants

2 minute read

In a previous post we introduced Microsoft Code Contracts, and got an idea of what Design by Contract (DBC) is all about. It's now time to introduce anothe...

Hello World!

2 minute read

Hello everybody and welcome to my blog! I have been thinking about starting a blog for some time now, and the new job that I have landed has turned out to...