Monday, January 31, 2005
However you can force this by calling SuspendBinding() and ResumeBinding() on the BindingContext. You might need to do something like this everytime you manipulate the collection..
BindingManagerBase bindingManagerBase = BindingContext[_documentTypeDTOList];
_documentTypeDTOList.Add(documentType); // manipulating and adding a new type at run
_documentTypeComboBox.DataSource = __documentTypeDTOList;
_documentTypeComboBox.DisplayMember = "Name";
So if I have my custom class as
public string Name
public string Type
public string Code
I can actually bind my control to an array of DTOs .
_documentTypeComboBox.DataSource = documentTypeDTOs;
To specify what member has to be used for display, I have a DisplayMember setter on my widget which takes a property name string.
_documentTypeComboBox.DisplayMember = "Name";
I can also define the value which will get picked up on the selection of a combobox item by:
_documentTypeComboBox.ValueMember = "Code";
Apparently .net uses reflection to get the members out . Sweet !!
Sunday, January 30, 2005
To contrast what Vivek had written , our team size has scaled down temporarily to only 2 developers. Hence I am "stuck" with the same pair. What now happens is that we have developed almost the same kinds of opinion about the code. Over a period of time , it becomes really boring because you for sure know what your "life long" pair is thinking. So if this pair does not beleive in test-first development, you will never get a chance to do that as long as you pair with the same pair. That is probably why I feel we should change pairs after a max of 2 days. Best is to rotate pairs , when finished with a reasonably sized chunk of task.
- No story work without a pair ..... ever.
- Switch pairs often, ideally at the end of a reasonably sized task.
- No heroes in the team. ( Everyone knows about the codebase well enough )
- After pair switch , newbie to the story must drive.
- Driver cannot drive for more than 10 minutes straight.
- Driver should think out loud especially if it relates to lunch. ;-)
This worked well for a small sized team , a max of 4 pairs. Wonder what are the experiences in larger XP teams ...?
This works fine till one of the team member starts discussing a critical issue (eg:- "Oh the build machine is not working because...") , and every member starts voicing there own opinions. Sure recipe for a meeting hijack and future chaos !
We used something called a Talking Token. It can be something from a Kush Ball to a Hockey Stick. The token must be passed around, and each team member has the right to talk if he has the token. If you wish to voice an opinion, on an issue which someone else is discussing, wait for him to finish, and signal (mostly non verbal gesture preferable) for the token. This way we ensured that when one person talks everyone in the team listens patiently. More importantly , in big team standups, they atleast know who is talking.
Sunday, January 23, 2005
The dialogues, the sets, the music , and above all the acting was indeed mind blowing. No take, no retake, putting up such an awsome and hillarious performance , definitely deserved a standing ovation from all of us in the audience!
Wednesday, January 19, 2005
The most weird part of the services industry is that most of the Indian consultants, just want to go client sites ("go abroad", "go onsite", whatever u wanna call that ) and make a quick buck. The passion and even the intention to successfully deliver the project you are currently doing is really missing in these people. All they think is "When will they send me to US ? ", "How can I increase my stay there ?", etc... As a team member , when u see your colleagues working with this kind of attitude, it is very discouraging.
From what I hear from a lot of my friends, I guess it is to a lesser extent in my firm , than in a lot of Indian MNCs, who still encourage body shopping ! Wondering when will that change !
Monday, January 17, 2005
Tuesday, January 11, 2005
There are some funny things you might need to do when you are calling a class in another namespace from your office addin, i.e doing an interop.
- Firstly you need to have a Guid for identifiying the interop class. This apparently is used for registering this class as an interop in the registry
- Secondly you need to set a property at the project level in VS.net, "Register for COM interop = true".
- If you are using an installer , the you need to make sure that in the properties of this project , you have the property "Register" set to "vsdraCOM".
If that is not enough, if you do not do any of the above, you do not get any pretty error messages that tell you to do so. Your addin might just stop working all of a sudden or will work on one box and stop working on the other. Hmpf!!
To add to all this, the documentation for COM is really pathetic , even in MSDN. The best resource for you are blogs of those unfortunate developers , who have suffered the pain and agony of working with Microsoft components
Sunday, January 09, 2005
For an important thing as marriage, we are still looking for bride/groom from the same caste , relegion sect etc.. IMHO this is true for almost 70% of the educated Indian citizens living in big towns and cities. We have still not been able to educate our own parents/relatives/friends to be more mature and broad minded in their thinking., which is really sad.
But there are definitely some people who are trying to do their very bit in the urban society. For example, Times of India Matrimonials, give a 10% discount on ads which do not demand caste and relgion. Way to go Times !
Sunday, January 02, 2005
And you signup for the task, with another person and form a pair. When the pair is finished with a reasonably sized chunk of task , we decide to switch pairs, normally this happens the next day.
This allowed us to work closely with all the people in the team, instead of being stuck with one pair for weeks ! (C'mon what if that one pair never took bath..huh !)
Every pair was free to decide how they wanted to go about executing a task in hand. They were free to make any technical decisions. A lot of us , got to the whiteboard at times to draw diagrams, but we were all developers and no one was a so called funky architect. Of course , at a later stage we did form a common metaphor for the project.
Indeed we have an iteration manager for the team, but he was amazing in managing the client expectations, and abstracting the team from a lot of unnecessary client pressure.
Yes there are many ups and downs in such a teams lifecycle which might blog about later. But there is a brief and interesting article here :
which some of you might be interested.