Posts

Showing posts from 2010

When in doubt...

When in doubt it is good to think before you act because the possibility can be either ways. Acting based on some perception or assumption is prone to risks, financially, professionally or in relationships. There are so many things we don't know and we cannot expect know everything. Assuming something bad in case of doubt will do no good to us. We should restrict our actions to things we know, or have experienced anything. Beyond that is our imagination or a possibility. Many times certain things are true, but people imagine other things around it. These are figaments of ones hatred or imagination. Being able to identify them needs some introspection... on what is actually true vs. the imagined. We need to stop where we think imagination starts. It is good quality to imagine if you are a writer. You can imagine, go deep into it... and create an illusionary world which other people enjoy.. or imagine. But writers have a clear understanding or what they imagine and whats real. Thats

Successful Civilizations

I remember, as a teenager, reading my history books about ancient civilizations, their rise to success and their fall. I guess the things that I read were almost always taken for granted, always assuming we have crossed those limitations in the current times, that these are no longer issues and something to only measure success of past civilizations. But it is time to probably open up those text books, read the fine print again, mesaure our current success in light of those parameters we used for the past and reassess where we are and where we are heading. To recall a few, what separated successful civilizations from the weak contemporary ones were the following: Good road system across the kingdom Development of health amenities, trade, secular practices and good judiciary system. Looking at the current civilizations over the world, there is a problem brewing in all these areas that need revolutionary changes. Traffic jams and road blocks are so common in almost every city that it is

Checklist before formatting your desktop

Here's a checklist to consider before you format your desktop: Desktop files Favorites added in browser (multiple browsers) Important documents My Documents (and its subfolders) C:\Program Files (for installed applications) Code (not yet checked in) One note files (or TODO lists) Outlook personal folders Software keys (license keys, etc.) Photos, videos, songs and other misc. items Shared folders Downloaded files and download folder Address book and contacts Database backup files (if any specific database is installed) Syntax files (for editors with custom syntax) Checking these things before you go ahead with a format saves you from a bad experience. There are some softwares that do recover deleted files, but there is no guarantee and some may not be even recoverable after a format.

Extensible Enterprise

There has been an increasing demand for enterprise applications to be more adaptive to the needs of the market and customer expectations. Many times these expectations are a result of direct competition but also due to the fact the business strategies undergo a change (read mergers, acquisitions and takeovers). While building a product it is crucial to understand this requirement and factor it into the overall architecture. The sad story as of today in most companies is the fact that these are never thought as a requirement or get retrofitted in the existing model with some amount of plumbing in the need of hour. While this achieves the purpose, it may prove to be the limiting factor in the long term. So what are these requirements: Enterprise applications need to define extensibility points in the overall design They need to define integration points with external applications to provide a seamless end user experience They need to be architected such that services are provided on the

Components of enterprise software

What constitues an enterprise level software? This is a very open question and one will hear different answers depending on who they talk to. However the essence remains restricted to a few core values that distinguish an enterprise software from any other. My experience working on the product enterprise system for almost 7 years now has given me a good knowledge on what to look for when designing and implementing a system. These are not rocket science concepts but rather foundational ones that could be bypassed easily during development. So what are they key elements: An enterprise software is reliable . This is a P1 requirement for any software that is developed. If the system does not behave the same way under the same circumstances, it is as good as not using it. The users of the system should trust the application. An enterprise software achieves a quality standard. Years of commitment on the product makes it rock solid and makes sure system behaves consistently in all areas. A bu

MVC to the rescue

Recently I came across ASP.NET MVC which was just released last year. It brings a lot of change to the traditional forms based pattern for web pages. Some of them that we could talk about are: 1. Clear separation between the Model, View and Controller 2. Controller handles events and updates the model. Creates a view bag. 3. View uses the view bag to render the view. 4. Data that is posted to the controller is mapped as an API call, the arguments being the form parameters 5. Testing becomes much easier as the controller can be tested independantly of the view 6. View just has to know about the view bag and render accordingly. No application logic can be embedded into the view because there is no handler. 7. Controller can work with the Model not directly but using DI and appropriate IoC container, it could even be a Model proxy or facade instead of the Domain.

My first blog

So here am I finally. Let me start blogging! Best wishes.