This came up while trying to write a really good architecture, one that doesn’t require the programmer to write almost a thing to access its data.

I’ve seen a lot of systems architecture and the all have these things in common:

  • They have a Service a Model and a DataAccess projects
  • Most of this projects files are likely to be added to a Generic file, as they do pretty much the same
  • They hold the application’s logic
  • They authenticate the user, return and save data, managing transactions
  • Nowadays, most of them use a Object Relation Mapper software.

Don’t we already have something that does all that? Right! The database… They are even capable of publishing there stored procedures as WebServices.

All this, for sor long just to avoid maintaining Stored Procedures, Views and Rules? Is it that hard to do it that way? If so, shouldn’t we start thinking of a High level language instead of a whole set of projects?


Well, yes. LINQ. But again, why use LINQ if it’s almost a DB Query? Can’t we just start using the Database for what it was created?


Very, very funny. Be careful if these signs are observed.

Shouldn’t this work?

November 6, 2008



Well it doesn’t… I get this error: “Root element is missing.”

Code attached:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
namespace SerializationTest
    class Program
        static void Main(string[] args)
            XmlSerializer serializer = new XmlSerializer(typeof(SerializeThis));
            Stream stream = new MemoryStream();  

            SerializeThis st = new SerializeThis();
            st.Name = "Name123Test";

            serializer.Serialize(stream, st);

            SerializeThis stDeserialized =


    public class SerializeThis
        public string Name;

        public override bool Equals(object obj)
            return ((SerializeThis)obj).Name == this.Name;

Forums usage is a good way of measuring design. If your design is good and your users are not stupid, you won’t have many questions in your forums and most of them will be new features/bug related.

Let’s say you find in your bank’s support page something like: “Hey, how do I get to see my account balance?”, wouldn’t you fire someone? There are a lot of this questions on Infragistics forums. And it’s not that we (users) are stupid… just look at the responses to something as simple as “How do I add a row?”.


Infragistics is plain unpredictable. Its design seems to be alien made… little green guys with 18 fingers and big n-dimensional viewing brains (not at all natural to our species).

Yes, it’s cute. It’s cute like an all pink 14 years old girl’s room cute (and messy). Once you start using it you just start turning off all the cute stuff, why? Because they are unmanageable. All their classes are sealed like saying “This is my mess, don’t you dare getting it sorted”. Very teenager. Oh… and there’s no one comment on any class, attribute or method.

Infragistics celebrity feature is the grid. You can sort, filter and group with almost no work. Until you need to add some features of your own, like lazzy-loading the rows, having cache or similar.


I won’t take more of your time giving you examples of this… just know that I would never recommend Infragistics.

I just realized it’s no enough having a vision, a big brain or talent for business…

In order to take this to a good port you need lots and lots of available time.

I had some good ideas, some of them even developed by others latter but none by me, and I think this might be in part because most of my free/non-work time I spend on learning useless stuff for college and I’m not too satisfied with that. Not sure I’m making a good use of my time.