The Dynamic Programmer

Three weeks of real node.js development.

I have been playing with node.js for the last year and half, maybe more, but for the last three weeks I have been doing real work with it. We are developing a new product and we decided to give node a try. These are my findings and my experience so far. [read more]

Luca, a quick look at the request object.

I decided to completely isolate Luca from the HttpRequest object and define my own. The main advantage of this approach is that having a pure javascript object, mocking and stubbing is extremely easy, making testing a breeze. [read more]

A list of books for my team.

Today I started to put together a list of books that I will like my team to read. The list started to grow so I have to do some triage. Here is the result. [read more]

A personal retrospective on WindyCityDb

Last Saturday I had the opportunity to assist the first WindyCityDb. A one day, single track conference on databases technologies that are usually grouped under the NoSql umbrella. In general the conference was very good. [read more]

Node.js web development with Express

I have been researching node.js and the ecosystem around it. Yes, node has an ecosystem, a very vibrant one if I may say. Today I tried a simple web framework that resembles Ruby's Sinatra by the name of Express. [read more]

Starting with Node.js.

Installing node.js First, you need a supported OS, like Linux, Mac or Solaris. I will be doing the install on Ubuntu.Go to the node.js download page download the Gzipped file and extract in a folder of your choice in your disk. [read more]

Mercurial integration with Visual Studio

I recently posted about how to integrate Git with Visual Studio. Of course Git is not the only DVCS out there. Mercurial is another source control system similar to Git that is having more and more relevance. [read more]

Git integration with Visual Studio

I started to use Git seriously 5 months ago when I sign up for my Github account on September 1st 2009. Before that I was a very happy subversion user. One of the things that I really like about Git is the speed. [read more]

Using MongoDB from C#

The NoSql movement is gaining more and more inertia. A year or two ago I took a look at CouchDb but this time I wanted to try MongoDB. [read more]

Horn, First Impressions

Some time ago I heard about the intent of putting together a package manager for .net ala gems or pear. I wasn't aware that this project was actually under way. The name of the project, Horn. [read more]

VS 2010, Generate method from usage.

One of the main reasons I got ReSharper originally was for it's ability to do micro code generation. This is a functionality that I found very useful when doing test first development. [read more]

Tuple, a new type on .Net 4.0

If you ever played with some language that have the Tuple type I bet you miss it in .Net. Well 4.0 adds it. Let's see what the ubiquitous Wikipedia have to say about it. [read more]

Bullet points post.

Common List E-book (free online) Apparently you can also download it from the Apress website's book page but the link was down for maintenance when I tried. [read more]

Extending ASP.NET MVC

I want to be positive in this post. So I will just mention this once. The framework is very extensible but It's more difficult that It should. I guess that the problem is not really with the framework, but me trying to make it do something that is not in the spirit of it. [read more]

Silent lately

I have been silent lately because I have been working on a project based on ASP.NET MVC. The idea is to have the bare minimum to create highly configurable sites. [read more]

Why testing saves time.

Some of the detractors of TDD or testing in general is that you waste time writing test instead of writing "useful" code. Well, writing test just save me a few hours of debugging. [read more]

Nullable types, what's going on when you do int?

As you know some types are not nullable like int, decimal, double or DateTime. So if for some reason we need a null int we need to use the nullable types. To define a nullable type we use the question mark notation like this int?, decimal?... [read more]

ASP.NET MVC in Action chapters 5,6 and 7.

I enjoyed this chapters as well, specially chapter 6 and 7 about extending the framework and preparing your site so it scale. Some of the code examples are using a previous (old) version of the framework. I hope they will be updated for the print version. [read more]

Using tests as a learning tool

I try to practice TDD most of the time these days. I don't write new code without a test first. A few years ago write the test first was something that I understood from an intellectual point of view but it sounded impractical. [read more]

XGENO.ORG new lightweight ORM Mapper.

You can find this new ORM framework at http-//code.msdn.microsoft.com/XGENOORM. Starting with it is fairly easy. Just add a reference on your project to the very small (32K) dll (only one!) and you can start playing with it. [read more]

xVal a good validation framework for ASP.NET MVC

I found this project on CodePlex called xVal. It's Steve Sanderson's take on validation for the ASP.NET MVC framework, more to the point on how to use validation across tiers (validate on the server side, present errors to the client, etc.... [read more]

Keep your Controllers lean.

I was going to write a post about this but my thoughts are exactly the same as Fredrik Normen's. For example, one thing that creeps me out is seen think like this in the Controller. [read more]

Implementing a validation class.

Every time I wrote validation this code I think, I should write a library to do this for me. So I went ahead and wrote this simple class. The idea is to use the Introduce Assertion Refactoring in this cases and write this code in this way. ... [read more]

Our Kanban board went up today.

We have been looking forward to implement Kanban for a while and after a few delays we put the board up today. We decided to define our pipeline using five columns. [read more]

Using Extension methods- Improving readability.

I consider extension methods one of the most interesting features of the .Net framework. I like it so much because It brings some of the strength of JavaScript into the framework. The possibility of write stuff like this.Have fun!!! [read more]

Javascript, the good parts, the book.

I look at the table of contents and I knew that I have to have it. I ordered two copies right away, one from my team and one for my personal library. The book came two weeks ago and I'm loving it. [read more]

Nant build scripts template for Visual Studio

I was creating for the 10th time today a nant build file from Visual Studio when I came to the realization that I needed to automate the process a bit more. So I created an item template to include build files. You just need to copy this zip file... [read more]

ASP.Net Development server in a custom port

During Scott's Hanselmann presentation on Dynamic Data at the TVBUG he show a little trick that I didn't know about and I want to show it here.It always annoy me that every time you click run in a web application using VS it runs using ... [read more]

The SmartBag to replace the ViewData on MVC

Jeffrey Palermo posted about replacing the ViewData on the MVC framework with a generic container called SmartBag. The advantage is that the container will return an object of a given type, so no more casting and also no more using string keys... [read more]

CSS parser class in .NET.

We are changing our template system at work and my boss ask me to look around for a css parser class. The class needed to load a bunch of css files and parse them to be able to get a value from an attribute of a given key. [read more]

The importance of code review

I have been working in different companies where the practice of an Agile methodology is in place, but in most of them the part that is always left behind is pair programming and/or code review. [read more]

Extending the string object in c#

I have found some controversy in some post in the wild where I demostrate how to extend the string object. Sometimes the controversy is around the examples presented. So I decided to make my own example with methods that I wish were included in the framework. [read more]

The Ruby (and Rails) IDE that I miss

I keep searching for the right IDE for my Ruby and Ruby on Rails adventures. I keep changing and playing around with the ones I had and lately I keep using NetBeans 6.0. Yesterday I decide to try again and after looking at The usual suspects, I found Eclipse for Rails... [read more]

A nice little Ruby book

If you are learning Ruby or if you just wander what is all of that about there are a few free online books that you should jump into. Mr. Neighborly's Humble Little Ruby Book is a free e-book from the guys at infoq.com [read more]

.Net simple Templating system (2)

There was something that I wasn't happy with my template system, so I decided to improved it. The algorithm used was wrong, I was checking for all the properties and/or fields of the object instead of check for the variables in the template first... [read more]

The same template in the client and server side.

Prototype is one of the most popular javascript libraries out there and one of the features I really like is the template implementation. When you create an Ajax application there are multiple opportunities to use templates in the client side. [read more]

The future of C#.

They talk about LINQ and the changes needed to support it in c#. There is a very interesting point on Extension methods a feature that fascinate myself and scare me a little bit. It's so cool that I know that we will overuse it at the beginning. [read more]

Ruby on Rails 2.0

It's very interesting to notice that 2.0 won't be fully compatible with the previous versions of Rails, I don't have nothing important or too complicated written with Rails so I don't expect to have too much trouble upgrading but I will like to see what is the response of the rails community to this. [read more]

Applying BDD to requirements gathering.

I am an entusiast of Test Driven Development but sometimes I have the problem that is difficult to know how to start testing. The problem usually is, very ambiguous requirements provided by the client. [read more]

A REST API in 20 minutes - Part 1.

If you haven't look at it, take a look at the Subsonic project, is really cool and can generate a ORM infrastructure faster than any other framework I tried out there. It also provides a cool HTTPHandler to expose those objects. [read more]

Suporting WM in Firefox

WM 11 and Firefox don't like each other very much. The infamous squishy bug is plaging the web. It's almost imposible to find a custom player around the work as it's suppose to with WM embeded in Firefox. [read more]

Flex versus AJAX

I have been playing with the new version of Flex and I'm very impressed with it's possibilities. I did try Flex when it was first released and even when I like it, the price tag and the needs to install an specific server to use it discourage me. [read more]

Ajax Hacks

I really like the Hacks series form O'Reilly, these are very simple references books. They present a problem and a solution in the form of quick articles and they are usually based on common issues for that technology. [read more]