Manoj Kumkumath

Ranch Hand
+ Follow
since Dec 01, 2005
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Manoj Kumkumath

First thanks for all your replies

Basically you have identified a data access interface that needs to be extracted. There may even the command aspect to it.

I agree. Also we are trying to get some control over the Sort so that it can refactored out and to rename it to a more appropriate name (Since Sort is not actually a sort but more a data provider for sort). But this change is going to be massive.

Now how will you approach this problem? Will you refactor the Sort framework first to come up with a generic contract in all the places or will you extend the Sort framework to handle Grouping also and show it working and then touch the Sort framework to make it more generic?
I wouldn't be able to explain the exact scenario.
My apologies.....

But let me try to explain as much as I can.

We have a framework and we have applications which make use of that framework. Frameworks do provide some generic functionality to the applications which is common across the company business. As an example let's say sort is one such functionality. What framework does is helping the application to extract the data from say an excel and put it say an Sort object and pass it to application. The application takes care of the actual sorting.
Now we have some other functionality say grouping data. So we need to group data and then apply some function on the group (for an example group all the users based on the country and find the average of their ages in each country).
As functionality these two are different, but the way this framework handles is very similar. For an example for Sort, the framework should return the application a column row, rows of data and the names of columns on which sorting has to happen.

In the case of grouping, it's going to be a column row, rows of data and the names of columns on which it has to be grouped and the name of the function like average.

Also the way the framework grab this data is also the same with say some extra task for grouping.

So if we can treat grouping as a type of sorting, most of the code is already available.
[ May 25, 2007: Message edited by: Manoj Kumkumath ]
But all my existing Car(the reference) should run(method ) even if it is a
Boat(of type).
I would like to know the opinion of all the ranchers on one scenario. This scenario is something very similar to the one which we face right now.

Let�s say I have a class called �Car�. I don�t have any control on this class (I won�t be able introduce a new parent class to this class by moving some behaviors up).

Now I am going to write a new class called �Boat�. Now I find that my new class is a specialization of the class �Car� even though in a real world scenario it�s not. But it will be a perfect follower of Liskov substitution principle in an OO world.

Now my question is should the Boat extend Car?

If not how will you reuse behavior of Car?

If �Yes�, what are the points that helped you to come to this decision?
Have any one of you used Phantom reference in your real time projects? If yes, could you please explain me the requirement which caused to use the Phantom reference.

I am trying to find out when it is best to use a Phantom reference?

15 years ago
In my opinion the best way to achieve security is to place good process combined with Good encryption mechanism. So whats excatly is your GenerateEncryptPwd class doing? Is it using DES/triple DES/AES encryption? Another good option is to go for Kerboros.

Also who generates the encrypted passwords? If it's a developer who is going to generate the passwords for your production, then no matter what encryption you use, there will be big gap in your security. In our company we prevent this by ensuring that the web admin who only has the production release role generate password using key and put it in the designated folder in production where developers have no access. I won't say the this is the best way to do things. And that's the one reason we decided to move to Kerboros
[ May 05, 2006: Message edited by: Manoj Kumkumath ]
15 years ago
My Top 3 features
1)Refactoring (Can't think of working with out this now.)
2)Code optimization(Analyze option)
3)IntelliJ+ clover plugin
[ April 11, 2006: Message edited by: Manoj Kumkumath ]
IntelliJ supports CVS, source safe,Perforce, Subversion, startteam etc.
In case somebody missed it.
Ten Commandments of egoless programming

Looks like developers are moving towards a spiritual world.

This reminds me of the saying that an XP project goes into "maintenance mode" from week two...

Let me make my question clear.
What I would like to know was that if that project already had a code base("legacy code" as per agile developers version), before they switched to agile methodologies? It was one scenario where i felt I was writing more mock objects and UTS than writing any code which provides the functionality to the end users. Trying find out if the project David talked about is in the same category.

thought RUP was restrictive but probably the most 'agile' project i was on ( pair programming, test, test, test ) ended up a disaster because the core beliefs of scope, money, quality and time were forgotten. they thought mock objects and unit testing in groups of 2 would save them. the team ended up cnanging the tests more than the functional code.

Just one question..
Was this a new application development or maintenance/enhancement of existing apps?

Sounds like the marketing pitch of an outsourcing company. You're right, once they've outsourced IT they've disposed of a mission-critical portion of their business which they will find very difficult to "insource" if they ever decide that it was a mistake to outsource it.

I decided to wait and watch.

Reid and Scott - Thanks you very much for time and effort.

That tends to be where I think B/As who specialize in an industry can be really useful; they've spent 5 or 10 years learning the busines processes that end-users in stove-pipe organizations don't even understand themselves (e.g. banking, trading). I also knew one B/A that had to extract critical info in bits and pieces over time from people who make it very clear to him they wouldn't be bugged frequently by development issues (people with big enough salaries and clout that they got what they want, period).

I agree. I do sometime feel that B/A are the people who happened to be there at the right time ( for a developer) at the wrong place(for him ).

I can imagine how the IT/outsource firm internally could choose to be agile, I can imagine how the client could choose to be agile, but I suspect you are only going to truly see the benefits of agility if both those firms are willing to view themselves as part of one team, either because they are that professional and motivated or because the economics of the contract help to reinforce good behaviours and penalize bad ones.

But in a pure business perspective, it may be highly required ( Ok not my area. So only logical assumptions). For an example, for an non IT company it makes real sense to outsource that work to a proven IT company since it provides them less cost and more freedom to do what they are best in doing. But in the same time they really won't like the dependency.
[ March 09, 2006: Message edited by: Manoj Kumkumath ]

But consider a company where atrrition rate is high and bunch of new developers take over the application.

HR problems should be solved by HR solutions, not by bureaucratic processes. Address the actual problem, the high attrition rate, don't put a process band-aid on it.

Attrition is just one problem. If you are an non IT company and you give the contract to one IT company for developing a solution, why do you have to depend on them till the end of days. Some way down the line another company can offer you the same support for less price and at that point I am sure you want that to be smooth transfer.

Depending on the website/forum you choose to hang out in you can find people who will fight ferociously for any particular methodology be it lightweight (e.g. agile, xp) or heavyweight (typical SDLC implementations).

I couldn't find any site which really fights for the poor old SDLC. But I could find a lot of sites which literally tells Agile is solution to all your problems.

If by that you mean do I think that the skills and professionalism of the specific developers influence the outcome (where the outcome is how well understood and maintainable the code is), then the answer is definitely yes. Not "developer centric" in the sense that only the original developer understands it - that is what you definitely have without readable code and good unit tests.

But regardless of methodology, don't you think this is true?

I don't think that is even just specifically a B/A issue.

My point here is that even in a agile way of doing things, do you really interact with end users or with a B/A? May be I am an unlucky fellow