Archives

Archives / 2006 / July
  • SQL Cache Dependancy

    During my interview for the next project, I was asked a question. How would you refresh the UI on a page or a cache as soon as the data in the back end database changes (seems to be a very common interview question these days). The best answer that I could come up with at the spur of the moment was the observer pattern.
     
    Since there is no way that one could send back a signal from the database to an application saying "I have changed", the only thing I could think of at that moment was to implement the subject in the application itself. I thought at that moment that the subject would be something like a windows service that would keep an eye on the database and when the data changes, it would notify all the observers which in turn would either refresh the cache / UI or ask the right component to do so.
     
    I was not convinced though that this is the best solution and did a little research. Well it seems that they have come up with a cleaner solution in ASP.Net 2.0. In fact Dr. Dobb's Jounal had an article about it. ASP.Net 2.0 supplies a class called the SQLCacheDependancy that inherits from the CacheDependancy. Check it out...
     
     

  • Smart People

    I have been thinking that it is kinda impossible to work on something intellectually challenging in a consulting company... There are no. of factors that work here. But mostly it is because they treat the product like someone else's product. Like you are driving someone else's car. You would take care of it because you don't want to damage it when you return it. But you wouldn't love it the way you would love your own car that was bought out of your own hard earned money. Usually the focus is on profitability and even though they understand at the higher level of management that quality is going to get them more deals, at the lower levels (tech lead, developer and manager) the focus is mostly on on-time delivery and profitability by faster returns.

    Also there is always a dearth of people and so they recruit below par people and then the below par people stick around for so long that they eventually get promoted and since they are promoted and expensive the company wants them to work on high risk and responsible stuff like architectures and management. See where I am going with this...?

    What happens in the process is that quality suffers. I have literally heard people ridicule writing test cases in code, saying, "Writing code to test my code is a waste of time. If I have that kind of bandwidth I should write more production code instead".

    There is this great article that says that smart people hate non intellectual work. It is extremely difficult to get a smart person do a mundane job. And a smart person doing a stupid job actually makes him stupid. Smart people usually like to work with the best tools and technologies and they like to do something that is intellectually challenging.

    For once I would like to work with really smart people on a project that is really intellectually challenging.

  • Where did the Web Controls Library Template go...

    I have installed the Visual Studio 2005 Team System, the 180 days trial version on my machine. But I can't see the Web controls library template there. I do see the windows controls library there but no Web Controls Library template. Is it because it doesn't ship with the 180 days trial version?