Saturday, December 31, 2005

Age conscious

Till I was 25 I felt I'm young, and irresponsible. But last year, on my 25th birthday it struck me hard that I can no longer be care free.

Suddenly I was matured. I was worried that I may not have enough time to achieve all my dreams. An year ago, I didn't care much about being employed. I would have quit the job just to go on a family vacation.

But now, it's not the same. I'm not quite sure whether I'm prepared to face the challenge of keeping up with my age. But again, it's not that much of a deal if I don't think about it. It's I who create the problem and worry over it...

Friday, December 30, 2005

2005 - 2006

Okay... another calendar year ends, and another starts. What do you expect? It started, so it has to end. We were born, so we shall die. (And in Buddhist belief, get reborn - That's why we aren't, logically, afraid to die)

People have made it a habit to set new goals and begin things fresh for a new year. But logically, they have the opportunity to do it every moment.

So I’m not wishing any thing different to any one or myself. Period.

Thursday, December 29, 2005

Moody

It’s been few days since I last blogged. My blogging frequency decreased during the past month or so. Nothing special… just that I wasn’t in a mood to do so.

I badly need a getaway vacation. I’m fed up with this constant routine of life... I’ve been working without a vacation for two and half years now... especially I haven’t gone on a trip for a really long time. Me being a travel loving person, with very limited number of interests in entertainment means... this really builds up stress.

We (Me, Sithira, NC and Chamini) are planning to go on a one day trip this Sunday. Hope I would feel a bit better after that...

Friday, December 23, 2005

Opera mini and mobichat

I found two wonderful software products for my phone. One is opera mini, the mobile internet browser I'm using to enter this post. And MobiChat a wonderful IM client for both MSN & Yahoo. Check them out if you are using a MIDP enabled mobile.

Thursday, December 22, 2005

Problems of FOSS

Due to licensing costs our company is in the process of migrating from StarTeam to Subversion. And our project is the pilot project which first uses Subversion.

We are experiencing typical problems of FOSS. No one could be held accountable for critical defects the product has. (Not even our internal team who customized it) We never know when a defect would get fixed - if it ever gets fixed. There are hundred and one ways of doing one thing, and no way of doing another.

Now these are just the usage problems, the dev team who are dealing with customizing this must be facing much more…

Current FOSS are good - but not for serious business. If they are ever to be suitable for enterprise level usage, open source developers should be much more disciplined.

Ok… Now I’m open for all sorts of criticism on these comments… And I won’t fight back :D

Tuesday, December 20, 2005

Monday, December 19, 2005

Best things that happened to me during 2005

I was going to list down the things that delighted me this year. The best things that happened to me. Then it struck me. Nothing special happened this year - I didn’t even changed jobs! So I’m setting the bar bit low… things in my life that I welcomed this year.

  • Family - yeah ok they were there from the beginning… but I welcomed their company this year

  • Best friends - Sithira and NC, they just ROCK. Best friends one could ever have. And of cause Chamini, NC’s girl friend. She moves alone with us trio quite nicely.

  • Pets - Mama Brownie and daughter Brownie who moved in with us to the annex in Nawala. Ayesha, Vinci, Joy and Xena at home in Kandy. It’s a pleasure to be welcomed home by them every day.

  • Mahamevna Buddhist monastery at Kundasale - it gave me the opportunity to gain good Karma.

  • Buddhist Society of Western Australia - Ajahn Brahm is worth listening to

  • Visual Studio 2005 - it just excites me

  • My Nokia 6230i - it fits my lifestyle

Sunday, December 18, 2005

Week long post

I had a bit long weekend - Thursday to Sunday. It’s quite refreshing to have some time off work and computers! But couldn’t enjoy it 100% because my niece was at home on Thursdays and half day Friday. While she’s a cute little girl it’s extremely difficult to bare with her for more than 2 hours. She keeps talking continuously without stopping from dawn till dusk. And we can’t just ignore her.

So on Thursday I went to NC’s and then to the temple with his family. We offered alms to the people who had taken precepts there and spent the whole day at the temple.

The day after (Friday) I took father to the town and while waiting for him did some shopping. Boy cloths are cheap in Kandy.

Saturday was the lazy day and this morning we gave alms to Mahamevna monastery. It’s our last alms offering this year. We have only one offering next year. Believe or not, every meal is booked for next year! May be we’ll find small temple some where else. But it’s some what difficult to find a temple where monks practice pure Buddhism.

Last week our team had some what their heads buried in Business Rule Engines. Rasika had found few implementations in Java but non in .NET. There are few commercial products available as well - but we aren’t considering them as options. Finally, Rasika decided to write one in his own. Nalin wanted him to add it to sourceforge. But I don’t think Rasika would. :-? May be I would...

Saturday, December 10, 2005

What’s making us suffer?

Since I was in Colombo this weekend, I went to the office hoping to get some work done, so I won’t feel that bad when I take next Friday off :D. But unfortunately there were some dependencies to my work which were not in place. So I decided to play with my new installation of VS 2005 (yes I got it installed last week - and yes I know it’s been quite a while since others got hold of it - and also, manzi was right about it. With the 1 gig of RAM in my desktop VS rocks) while listening to a talk by Ajahn Brahmavamso, he was talking about how negative thinking affects our day today life, and how we could think positively about things that we don’t like. It was really inspiring to listen to that at the same time it had a fair amount of humour - the typical nature of his talks. So go ahead, listen to it : http://media.bswa.org/audio/mp3/Brahmavamso_2005_10_21.mp3

Thursday, December 08, 2005

I got Gastritis!

For last few days I was experiencing unease. I felt flames and rumbling in stomach and hungry even just after meals. The unease and occasional pains can’t be described by words. First I thought it’s some kind of digestion problem. So I fasted for a day! By the end of that day I couldn’t bare the pain. I just couldn’t think of a solution. So today I told my symptoms to my sister. Surprise! She was confidant that I have gastritis!
Now that I know what I have - it feels worse. Especially when I know there’s no lasting cure for it. Earlier at least I had a hope this rumbling feeling in the stomach would go away.

Wednesday, December 07, 2005

Visio 2003 professional can’t generate code

I used to use Visio Edition that comes with Visual Studio to model my applications and generate skeleton code. It saves a lot of time. But this time I didn’t install Visio while installing VS as I already had Visio 2003 Pro installed in my system.

I modelled some packages and classes and then clicked UML menu… only to find out that code generation is not there. Searched the web to see whether there’s some sort of a plug-in to add that functionality but didn’t find any. I still can reverse engineer in to Visio from Visual Studio.

Does any one know of a solution? Other than to install Visio for Enterprise Architects?

Tuesday, December 06, 2005

Implementing Data Transfer Object in .NET with Serialized Objects is missing from ESP

Our .NET Webservice is accessed by a Java client, which in turn require to have similar types as our middle tier. So we thought of using the Data Transfer Object pattern. Now this pattern?s supposed to have two implementation examples, one using typed datasets and other using serialized objects. But the latter is not available in MSDN

But the pattern page has a reference to this which in turn discusses usage of typed datasets and arrays.

But I personally feel that Implementing DTO in .NET with Serialized Objects is just what its name suggests. I?m thinking of having an object XMLSerialized and transferred. May be schema would be shared between the consumers so the types could be validated.

Any body have used this?

Monday, December 05, 2005

Attensa

I found this wonderful outlook plug-in today, which has feed reading plus blog publishing capabilities together with all other functionality you’d expect in a blogging tool. So far, it’s awesome.

So if you are using outlook, check this out

Saturday, December 03, 2005

Interviewing

Today I had the opportunity to interview some applicants to the Associate Software Engineer designation. Basically what’s expected from us (myself and other interviewers) was to evaluate the applicants’ skills highlighting and commenting on their strong areas and weak areas and to recommend whether to go forward with the second round of interviews or not based on our overall impression of the candidate.

The areas that we covered included their past projects involvements, object oriented concepts, knowledge of algorithms, data structures etc., Programming language and Programming platform specific knowledge, Knowledge of database concepts and products, the scope of exposure in to a verity of technical domains, knowledge of software development processes’ etc.
Based on today’s experience I’d like to advise who ever is seeking a career not only at Virtusa but any other place for that matter.

1.) Don’t say you know something unless you really do. Not verbally - not in your CV.
2.) When you speak of projects that you have done, be sure to mention the extent of your involvement in that project. It makes a real bad impression when you have mentioned real good projects in your CV but you do not have enough knowledge of that domain and technologies used.
3.) Make sure you have adequate knowledge of the technologies you mention in your CV. If you don’t know it - don’t mention it. (It creates a real bad impression when you mention that your core technology is C# .NET and you aren’t able to give an overall description of the .NET Framework.)
4.) Be sure to prepare yourself before hand. Take time to find out what is expected of the role you have applied for and what knowledge is required. For example an ASE at Virtusa is expected to have good analytical and problem solving skills, know the fundamentals required for software engineering (object oriented concepts, UML, data structures, common algorithms, basics of databases etc.) together with a reasonable knowledge of at least one language and a programming domain plus flair knowledge of a database product. Knowledge of software development processes, testing, networking etc. would be advantageous. Your ability to express yourself and the attitude also plays a major role.

Having said all that, it should also be mentioned that ultimately it all depends on the person who interviews you. Some people interview to prove that they are better than the interviewee, some people can’t tell the difference between an exam and an interview (I saw some interviewers getting the candidates to write answers to question papers - which is not what’s expected of an interview.), some people want to eliminate all possible challenges to them while what is expected from an interviewer is to have an open mind towards the interviewee with the clear intension of evaluating whether he/she is fit for the job or not. It’s true that it’s not fair, but let’s face it. Life is never fair

Even though Virtusa as a company tries to eliminate this kind of anomalies it’s really difficult to achieve it in a large organization like it.

Thursday, December 01, 2005

Tightened security

There are notices at every entrance requesting to declare DVDs, CDs, USB devices, laptops, palmtops etc. when entering office premises. It is prohibited to bring those items in. we have to leave them at the security! It’s becoming more like living in a high security zone.

I sent a mail to the network administrator regarding my blog being blocked and categorized as pornography. I expressed that I have no objection about blocking it but I consider categorizing it as pornography is damaging to my reputation and is an insult. And I urged him to have it re-evaluated. No action has been taken so far and he didn’t even have the courtesy even to reply.

That is one of the main problems I see around here. The Finance, Administration and MIS departments, some how has the perception that the Developers and QAs are below them in the company hierarchy. They never seem to realize that it is us who earn them their salaries. They should at least show us some politeness than this. And the management doesn’t seem to do any thing to change that.

BS 7799 Security Standard

My employer is pursuing BS 7799. We went through training on security awareness and the environment began to change. Network security was tightened (my blog got categorized as porn) We were required to maintain a clean desk (Every time I need to check the requirements document I have to get the locker key from my pocket open the locker, get the document, read it, put it back in the locker, lock the locker… all because it has “confidential” printed in the footer), asked to remove the class diagrams and ER diagrams which were on display, remove all file shares and lock the machines when we leave the desk… few good practices and some nonsense. For instance this is the first time I saw a software development company which doesn’t have class diagrams pasted on cubicle walls…
Every now and then BS 7799 auditors roam around, we should be prepared to answer them at all times… and before we talk to them we should lock our machines first, put all the documents in the locker… and so on.

Tuesday, November 29, 2005

Are you reading pornography?

My entire blog is marked as pornography by Virtusa internet usage policy enforcement engine. So by their classifications you are reading pornography right now. I’m totally pissed off with the idiots who created the filter. I mean.. I don’t mind if they just blocked my blog, but categorizing it as pornography is an insult.

Monday, November 28, 2005

Bluetooth Viruses

I keep Bluetooth on in my Nokia 6230i at all times. This lead me to notice that in the past couple of months Bluetooth viruses has spread a lot in Sri Lanka - at least in Colombo and Kandy. When ever I’m in a public place, I receive data posts from various devices. This is not occasional anymore as it was earlier. This happens almost every day.

The firmware based mobile phones as mine, has little threat so far. But for smart phones running Symbian and Windows mobile it’s a different story. If you accept to receive any incoming data, it would be just like executing an exe from an unknown source - without a virus guard running.

One of my friends is in the mobile industry. So I asked him what are the common Bluetooth viruses in Sri Lanka. The most common one as he says is Cabir, a proof of concept virus which does nothing more than scanning for other Bluetooth devices around and sending itself to them, draining the battery and reducing performance in the process.

Read more info in : http://news.zdnet.co.uk/hardware/mobile/0,39020360,39183104,00.htm

There are of cause anti-virus software available for Symbian and Windows Mobile smart phones. So if you are using a smart phone and don’t have an antivirus software installed in it - it’s time you get one installed.

Thursday, November 24, 2005

Nonsense as usual

Today my sister had taken the car so I took a bus to work. To start with the 176 Nugegoda - Rajagiriya road was closed from Nawala junction. So all the traffic was being routed towards Narahenpita (173 route) then the Baseline road was closed from Kirimandala mawatha. So the bus went to the Baudhaloka mawatha through Horton road took Kinsey road to Borella. Not to mention heavy traffic. This journey took me over one hour; which usually takes less than 30 minutes. So why is this? The parliament is gathering. The poor lot of MPs are scared that they’d be assassinated. Of cause the amount of money and time wasted are of no value to them…

Tuesday, November 22, 2005

I wish I had a 4X4

Colombo has the largest concentration of SUVs and other off-road vehicles in Sri Lanka. On an average day many would wonder why they need 4X4 vehicles in a town. But not today. Almost every road is drowned some where. It was horrible. I drove through 3 such places today, Narahenpita road, Jawaththa road and Royal avenue. Water was 2~3 feet deep at some places. I was so afraid the car would get stuck.
It was pouring continuously since last night; and if not for the call that I had to attend in the morning – and I missed – I wouldn’t have come to work today.

Monday, November 21, 2005

Kevin Mitnick's story

Kevin MitnickKevin David Mitnick (born August 6, 1963) is one of the most famous criminal hackers to be jailed. He was arrested by the FBI on February 15, 1995. Mitnick was convicted of wire fraud and of breaking into the computer systems of Fujitsu, Motorola, Nokia, and Sun Microsystems. He served five years in prison (four years of it pre-trial), 8 months of that in solitary confinement, and was released on January 21, 2000. During his supervised release, which ended in 2003, he was restricted from using any communications technology other than a landline telephone.
[From Wikipedia]

Here is his story

Wi-Fi

Wi-Fi networks are getting popular in Sri Lanka. Most people use them without realizing the risks involved. Of cause even the Cyber Café’s pose this kind of threats.

Read Jim Becher's post Network Intrusion / Invasion

Friday, November 18, 2005

We have a new president

Right now, the election results stands 50.3 for Mahinda Rajapaksha and 48.4% Ranil Wickramasinghe. So our next president would be Mr. Mahinda Rajapaksha.
The presidential election was considered to be real crucial by many because the fate of the country is vastly dependant on the next president. 75% of the registered voters have cast their votes this time.
But the victory seems to be marginal. That means there is a conflict of expectations within the country. Neither of the candidates has a strong force backing them.
As I see it the propaganda battle was unitary Sri Lanka and locally built economy vs division of power and foreign aided economic. Ultimately every one needs peace and a healthy economy for the country. The choice was on how to achieve it.
There was also a concern about safeguarding all religions and their rights. But I think only a small percentage considered this as a crucial factor. There aren’t many truly religious people left in the country any way…

Wednesday, November 16, 2005

Who is an ‘extremist’?

11 November, 2005 Feature Article
SinhalaNet by Dr.Kingsley Heendeniya


It is common these days to find the word ‘extremist’ used to vilify and caricature persons and political parties. Since no person or party has joyously shouted ‘I am an extremist!’ the concept is used pejoratively, particularly at a time when the Presidential election is nearing its climax, to frighten, bias and deter voters. In the time of the Buddha, there was a spectrum of views and he divided them into two: nihilistic and pleasure seeking or worldly. But when he declared his Teaching ‘the middle way’ he did not imply it is a bit of this and a bit of that. In fact, he discarded and rejected all views as speculative. Views are not insights. Views are inferences arising from conceiving, perception, interpretation, prejudice, like, dislike, adherence and obsession. They are subject to error and distortion of truth.

The accusation is made particularly against two main political parties, the JVP and the JHU. The LTTE and supporters of Elam are called ‘extremist’ because of avowed habitual terrorist ways. However, the JVP and JHU vehemently maintain they are progressive, egalitarian and socially committed to promote racial, religious, cultural tolerance and brotherhood. There is no present evidence that they promote hatred, evil, violence, genocide, greed and intolerance. However, we cannot ignore that the majority population is Sinhala Buddhists and ‘fighting’ for their rights is not thereby a denial and abnegation of the rights of others. To spread false percepts is defamatory, unfair, naïve and stupid because that is in fact extremism with base motive. Note that I am not here commenting on ‘fundamentalism’ prevailing in the Middle East and elsewhere.

Does WebServices queue messages?

Today, during a discussion the aforementioned questioned aroused in my mind. So I did some research and found this pattern which is used by webservices for communication. Thought people who are interested about webservice communications would like to read it,

Tuesday, November 15, 2005

Work satisfaction

Have you ever felt unsatisfied with your own work? A need to improve? Well I have felt it before, and I feel it now.
It’s really hard to make up the mind to leave office at the end of the day. And when I finally do leave the office it’s real hard get my mind off work. And this doesn’t help my productivity.
Hmm… should try and relax… working out and meditation should help…

Monday, November 14, 2005

Say hi to new look

I had enough with div tags and editing templates done by other people. So I created a template with tables… I’m no UI designer, so there are some tweaks needed. But it feels much like ‘me’ now. If any one wants the template drop me a mail and I’d mail that to you.

Friday, November 11, 2005

Requirements, use cases, discussions, R & D etc.

Yes, these are the things that keep me busy nowadays. And still I feel I’m behind targets (my own). I have lots to post about but really limited time to spare.

BTW check out the SQL Server Management Studio Express . It’s a nice piece of tool (especially when you don’t have license for the SQLServer 2005)

Wednesday, November 09, 2005

Flowers - Thanks!

This morning when I returned to my desk from a training on security, some one had placed two jasmine flowers near the small Buddha statue I have on top of my monitor :D very pleasing.. But I don't know who did it.. No one in our team was here, and no one I can think of would do it... Who ever did it… Thanks A LOT

Monday, November 07, 2005

Nokia N-Series - second wave

(Thanks mahesh for this nice article)

At the Nokia Mobility Conference, Nokia today presented the new addition to the N-Series - the N92, N80 and N71 multimedia phones. All three are 3G devices with high-resolution cameras, S60 OS (former Symbian Series 60), Bluetooth, FM radio and miniSD card slot.
The Nokia N92 is the first GSM phone with DVB-H receiver, making it possible for users to watch and record live TV broadcasts. The market for commercial DVB-H broadcast services is expected to spread during 2006. The dual hinge design (similar to Motorola MPx) and the QVGA display will provide comfortable TV experience. The Nokia N92 also features Wi-Fi, Bluetooth and infrared connectivity, card slot, FM radio and 2 megapixel camera. The mobile device is planned to be commercially available in mid 2006 with an estimated price of 600 euros.
The Nokia N80 is the world's first handset to feature UPnP technology. This allows it to be used as a remote control for swapping content via Wi-Fi between compatible PCs, audio equipment and TVs. The slider phone has a 3 megapixel camera with macro mode and video capture with digital video stabilization. The Nokia N80 has the same high-resolution display we know from Nokia N90 - 352 x 416 pixels, up to 262,144 colors. The Nokia N80 should be available in 1Q 2006 with an estimated price of 500 euros.
Nokia N71 is something we have seen already from the numerous leeks on the web. The 3G clamshell phone has QVGA display, 2 megapixel camera, Bluetooth, but no Wi-Fi. Nokia N71 is planned to be commercially available in 1Q 2006 with a price of approximately 400 euros.
Also today Nokia introduced the new identity for the Symbian OS Series 60 - from now it will be called simply S60. The first announcement for the S60 platform is a new Web browser with MiniMap based on the WebCore and JavaScriptCore components of Apple's Safari Web Kit, the industry's smallest and fastest open source full Web rendering engine. The new browser will be able to show the web pages in their original layout and will help the scroll navigation through page miniatures.

:. My next phone is going to be a N80.. I feel it..

Framework 2.0 and the SDK are available for downloading

For those of you who aren’t as lucky as others to get hold of VS 2005 (which is released today) the .NET Framework 2.0 and the SDK are available from Microsoft. So get hold of an IDE (the beta 2 IDE works fine) or stick to notepad and start writing code. They’d work… (if they compile that is)

Sunday, November 06, 2005

Reflections

I try to avoid them. Not just in .net but my reflection as well. Both slows things down. Look in to a mirror & see

Saturday, November 05, 2005

Goals

Should there be a goal in every life? Some target to live for? I think it's an excuse to have one... Guess for what? :->

Friday, November 04, 2005

Haloscan

I found this site named which adds commenting and trackbacks to blogger and other blogs. And I used its automatic feature to add the script to my blog. It seems ok... but all my old comments aren't visible :).

Have to edit the template so they showup too... hmm.

Thursday, November 03, 2005

Getting things started

Today I moved in to a new cubicle with others who are on the CRM team. Reinstalled Windows 2003 on my machine and am in the process of installing other required software. It’s like a new beginning… I’m excited about it.

Wednesday, November 02, 2005

Tight coupling

I hate tight coupling. And no, I'm not talking only about software.
When ever there's a relationship be it software or liveware or any
other ware for that matter I hate it when things are so attached to
each other. There should always be a way to separate things easily. It
would prevent lots of things from getting overly complicated. Now
those people who are so dependent on others, who doesn't virtually
have an independant existence would find this to be some what a
mysterious. Yet give it a thought. Things would be much simple if that
is the case

--
Posted using my Nokia 6230i

Tuesday, November 01, 2005

Microsoft strategy vs What I want to be doing

I usually don’t fall asleep quickly after I get in to the bed. I usually spend an hour or so thinking about various things before giving in to sleep.
Last night I was giving a thought about what Yik Joon Ho said about Microsoft strategy during the Tech.Ed. He said in his own words that Microsoft is making tools as such that the developers do not have to know much about technology, rather they should know about the business.

His example on this was that a development tool which has voice recognition to which you could speak in plain English and it would generate code for you! So in that context software engineer would be some one who could explain the business in English. Well it would be some time before this technology comes out from Microsoft, yet I find it alarming. We already have some one in our project who can explain the business in English; and we call him the customer!

Ok. Forget about that scenario. Just look at Visual Studio 2005, our immediate future. Does that require the same level of expertise required for using VS 2003? No. Alarmingly only stuff you have to manually code is the business logic. Every aspect of the deployment environment could be developed using drag and drop! Distribution, Data repositories, application layering… you name it. So what would become of us?

I personally do not want to be a business specialist talking to computers. I love coding. And I want to be coding in years to come. So I guess I have to either move towards tools development or move away from Microsoft technologies. Looking at the future I don’t see a probability of much tools development opportunities arising in Sri Lankan IT industry. And having worked with US based customers for some time now, I don’t think even in US there would be as much opportunities I would have liked.

What’s worse is that I don’t have any other talent from which I could make a living… Wait… I have won best actor couple of times during my school days… hmm :-?

Any tools development companies out there like to hire me?

Monday, October 31, 2005

Finally, I’m de-allocated and starting on the CRM

I’ve been de-allocated from my previous project last night! I have been working in it for 15 months. Oh my! It’s a huge relief. I was not sure about it till the last moment. Apparently the customer has requested our leadership to retain me in the project. But thanks to my PM, Sam’s extreme efforts I finally got de allocated and allocated to the new CRM project. I owe big time to Sam for this.

So await either extensive technical blogging or no blogging at all… if I get really busy.

My Nokia 6230i and My Next phone

I have been using My Nokia 6230i for about 5 months now. And it’s been awesome. I couldn’t have asked for more from a platform 40 phone. In fact it is still the top of platform 40. It has almost everything - EDGE, Bluetooth, IR, Radio, 1.3 MegaPixel camera, 30MB of phone memory plus a 64MB(upgradeable) MMC, 65k 208 * 208 display, live streaming supported media player (Yeah, I can watch streaming video), MIDP 2 Java apps, a XHTML browser… you name it.

But lately I’ve been feeling that it’s time for me to move towards a phone running an OS than firmware… I’ve been eyeing the Nokia Series 60, N series and O2s but all the O2s seem to lack good cameras. I think The Nokia 6630 and the N 70 seem to be the most affordable in the lot.

Sunday, October 30, 2005

Talking about the weekend and Kamal Hasan

Spent the last weekend in Colombo. Shared the pain of TWAIN with a friend on Saturday and went out with Sithira on Sunday. I intended to read at least 2 chapters during the weekend but didn’t read even a line.

Any ways watched a Tamil movie (with subtitles of cause) on Sunday and it was really good. South Indian movies have really evolved lately. The beginning of this new generation of south Indian films is I believe Kamal Hasan, who is one of the best actors I’ve ever seen. Even in the earliest films his talents are clearly visible. If you haven’t watched any of his films I encourage you to do so.

Friday, October 28, 2005

Map of colombo

A friend sent me this government map link. Seems it only has colombo :(

Basics

It is said that Buddhism is only for the wise. The underlying impression of this is that, to understand Buddhism, a person should have the capability to distinguish between good and bad independent from his personal preferences, influences or beliefs. The only constants in this universe that are independent from time are good and bad. Every thing else changes by the moment. A person who could logically reciprocate the good and the bad in some thing rather than believing in it, just because some one else said it or because it is of advantage to that person or because of any other influence, could understand the dhamma.

The reason I wanted to mention this is, recently few friends of mine made statements like “I would refrain from giving alms to monks because a certain monk who’s in politics has change the political party” based on a recent incident that took place in the political arena of the country.

Now in this scenario, there are several changes taking place.
1. The particular monk has changed from his original stance
2. Which in consequence changed what he represents
3. My friend has changed his stance on alms giving

A representation of a political party is necessarily the representation of its leaders at a given time.

Let’s think the first party which the monk represented stands for certain aspects which are good. So does the change of that monks’ political stand change the representation of the original party?

If the party he newly joined represents some thing bad, does he joining it makes that party represent good?

Buddhist monks represent the dhamma which the Buddha taught. If a certain group of monks (hopefully in good will) choose to move in to politics, does that make the entire Buddhist clergy representatives of that particular political party?

The offering of alms to clergy in Buddhist belief is an act of merit (This alone is a topic that I’d like to speak about in a different post). Does the change of a single monk’s political stance make the merit of offering of alms to clergy invalid?

Since the topic moved towards politics a bit lets apply this scenario to political view points as well.

I personally have a political view point. So I vote for a political party which closely represents my view point. The moment that party distracts from that stance my preference to them should change. But if a certain leader of that party distracts from his personal stance and move away from the party, should my preference to that party change?

On another angle, if a certain party represents a view that disagrees with my views I would not vote them. But if by any chance they change their collective view point (with viable honest reason declaration of cause) to some thing that agrees with mine, what would keep me from not voting them?

If I am not capable of distinguishing good from bad my decisions wouldn’t be solid and most probably would be based on either personal preferences or other influence. How ever if I am capable of choosing the good then independent from all variances my decision would be solid.

Thursday, October 27, 2005

Is .NET faster than COM?

Some times… not always. In fact most of the time it’s not. Especially not in a ported application. Where all the business logic is written in COM friendly manner. Speed is not the reason why .NET was invented. But some people expect it to be. And that’s what I’ll be trying to achieve today tomorrow and probably next week :(

Do you think some one can achieve something that he doesn't believe in?

Wednesday, October 26, 2005

Sri Lankan politicians and their challenges

At the Bodhu Samuluwa (Buddhist Conference) held at Panadura on 24th Oct 2005, Ven. Dr. Omalpe Sobitha Thero – Secretary of the JHU (Jathika Hela Urumaya) has accepted the challenge of UNP parliamentarian Dr. Rajitha Senaratna, who in an interview with Sunday Divaina (A local weekly newspaper) on October 23, called for a Buddhist monk or any person to have a debate on Buddhism with his leader Ranil Wickramasinhe.

The Ven. Dr. Omalpe Sobitha Thero, accepting the challenge for an open debate with the UNP’s presidential candidate Ranil Wickramasinghe, added that they would immediately request the UNP to present a date and time for the debate before the Presidential polls on November 17. And Mr Wickramasinghe could also accompany any number of monks or lay men as his advisers!

How ever the UNF has said that it require the acceptance in writing by 3.30 PM, 25th October (yesterday) at Sirikotha the head office of the UPF; further the UNF secretary has also stated that they would not confirm the reception of the acceptance (confusing statement). Yesterday’s news said that the JHU members had taken a written acceptance to Sirikotha before 3.30 but no one has come forward to accept it. Later they had taken it to the opposition leader’s official residence, and again no one has come forward to accept it.

It seems to be a really cowered act; if they challenged for a debate in public, why can’t they accept a public acceptance? And why couldn’t any one come forward to accept it when it’s provided in writing? If they cannot face a simple debate which they themselves called for; how can they rule a country?

Does any one have more information on this regard?

Tuesday, October 25, 2005

Sri Lanka Post Code Directory

I had this link for some time bookmarked in yahoo. Today while re-organizing bookmarks, thought it should be shared.

Any ways, changed the colour scheme of the blog - any comments?

Sunday, October 23, 2005

The role of attribute classes in .NET

.NET relies on metadata for a great extent for dependency information, security, component contracts etc. etc. Metadata is stored in the metadata tables of the assembly in machine readable format. The specifications of this format could be found in the CIL (Common Intermediate Language) specifications. CIL uses 32bit metadata tokens containing the table and the index to access these metadata.

Usually developers require passing additional information together with the code describing the code’s requirements, their intended purpose etc.. This information may be needed by the consumers of those assemblies or the .NET framework itself. Also this information is not relevant to the product domain. Rather it’s relevant to the code itself; meaning that what ever the metadata it uses, it shouldn’t affect the structure of the application.

A common example for this is Aspect Oriented Programming or AOP, where certain system wide aspects are addressed outside of object oriented designs.

.NET approach to address this requirement is Attribute classes. Attribute classes are also strongly typed and part of the framework. In fact CLR also uses Attributes for its functionality are sometimes referred to as pseudo custom attributes. Custom Attributes are the ones that developers write to request the compiler to generate metadata on a certain element.

One common example for a pseudo custom attributes is the ‘Serializable’ attribute.

[Serializable]
public class MyClass
{
//Implementation
}

My brother and I

My brother is 11 years older to me. Because of that huge age gap, there is a significant difference in our behaviours and attitudes; mainly, I think because of the different environments we grew in.
His teens were in 80s the dawn of the open economy in Sri Lanka (he is a banker). The culture was changing rapidly. Every thing was new to most of the people. Being the eldest of the family, he was held responsible for lot of things in his young age. He experienced the 88/89 rebel terrorism as a AL student. I always remember him as some one who’s matured & organised. Later he became a traditional and caring family man. Much like my father.

My teens were in the 90s the dawn of the technical era of Sri Lanka (I’m a software engineer). Being the youngest of the family was an excuse for me to be reckless, stubborn and irresponsible. I have experienced terrorism, corruption and crimes as a child. Yet I never see myself as matured or organised as my brother when he was at my age. I don’t know whether I would ever marry or not, but for sure I won’t be traditional.

It has always been wonderful to have a big brother like him. I believe he played a great role in my life, and still continues to do so. No matter what differences exist in our behaviours and attitudes we still share a great deal in common. I have learnt a great deal from him. Even through his mistakes ;-) so I could refrain from making them

Saturday, October 22, 2005

Again

Today on our way to Kandy we were nearing Warakapola when my radar
detector started to buzz. I hit the breaks and looked at the
speedometer. I was doing around 90kmph. Few hundred meters down a
policemen popped out from hiding. They'd caught me at 76kmph.
I just took my licence back from police last wednesday. It's been
merely 3 days and here I was caught again. Rs. 1100 and a trip to
warakapola, which is right in the middle of Kandy and Colombo. It was
the last thing I wanted. Luckily they saw the doctors pass of my
sister. And after seeing her doctors ID, they let us go (like doctors
have special permission to speed)
I believe speed limits in Sri Lanka isn't realistic. I mean, if i'm to
drive below 40kmph in town limits and below 56kmph in suburbs it would
take me at least 6 hours to drive from colombo to kandy. (My personal
record for this is below 1h - that day my mother had been admitted to
the hospital and we were rushing to see her) I think the speed limits
should be some where around 70kmph at least. And Sri Lanka desperately
needs high ways.
After the increment of traffic fines, it's very common to see police
'enforcing' laws. Not because they are committed to their jobs but
because they can take high bribes. Three of my friends had bribed
police during last two weeks. All bribes Rs 550. The reason behind
this odd number is that the policemen has a wonderful way of asking:
they promise to pay the fine on behalf of the offender! No papers
written, no licence taken, only the money under the arm... I as a
principle do not bribe. So am going through all the fuss when ever I
get caught for traffic offences - which is very often
--
Posted using my Nokia 6230i

Friday, October 21, 2005

Pictures I couldn't post

NC

Chamini

The Couple

Parking Windows

Today, among many other problems, we were hit by ParkingWindow exceptions - couple of them. Each for different reason. Worst part is, we didn’t had access to the code responsible for them. If you haven’t experienced this, be prepared. It has the ability to be a headache.

Vidura - Thanks for that nice piece of app

Thursday, October 20, 2005

Alerts on 2 GMail accounts

Have you ever wanted to receive alerts on 2 or more GMail accounts, without having to write your own application? I did want for 2. And, here’s the solution: Install both GMail Notifier and Google Talk, Have each configured to each account. And hurrah! It works. In fact Google Talk actually prompt to change between accounts. Neat eh?
May be when I’m free I’ll write an app for unlimited number of accounts... but if you have already done so, please let me save my time and share it with me :D

Wednesday, October 19, 2005

I got Books

Nalin, who was our architect - now migrated to USA, came to our office for a brief visit. And with him he carried in a box of books from his personal library. All popular and interesting titles. Ones I’m gonna read first are Essential .NET, Volume 1 - The Common Language Runtime and Applied Microsoft .NET framework programming.

By the light brown coloured pages of them, I can tell that Nalin has been reading them a lot. Mind you, these two are the ones Gaurav mentioned in his session on CLR 2 Internals during the Tech.Ed.

I may post on them... So stay tuned.

Tuesday, October 18, 2005

Tech.Ed sessions

Gaurav Khanna making the PowerPoint slides on the fly for the “CLR 2.0 Internals” session




Yik Joon Ho waiting for applauses


Sunday, October 16, 2005

Troubleshooter

I started my IT career as a systems administrator.
Since I was really good at systems software and
hardware troubleshooting all my friends and relatives
used to call me up when ever they had any problem with
their computer or network. But after I made the shift
to software development I lost the touch of it and
since I was down in colombo troubleshooting calls were
rare as well.
But this morning I had to help out my sister in-laws
brother with his ADSL and a downloading problem.
Luckily it required just some IE settings to be
changed and resetting the router. But that gave me a
clear picture of how long Ive been away from it. Its
not like Ive been away from computers, yet I didnt had
a clue how ADSL routers work.
Anyways hooked up with NC and Chamini for lunch and
this time took few photos. Would post them on Tuesday.
--
Posted using my Nokia 6230i

Saturday, October 15, 2005

Long day

When the day is eventful, and there's a lot to talk about it, you call it a long day. I just had one today!

Friday, October 14, 2005

My brother and sister in law had a baby daughter

Today, my sister and I rushed to Kandy in the evening as my brother
called us in the morning to remind us that Manori, our sister in law
is expected to deliver the baby tonight.
On the way, just before Kirillawela, I got caught by police overtaking
on double lines! Grr.. They held my driving licence and I have to go
to paliyagoda to get it back. It hasn't been two months since the last
time the Kadawatha police held it :(
However we arrived at the hospital few minutes before the delivery. It
is a baby girl. My brother already have another daughter but he's
happy about having another one.
--
Posted using my Nokia 6230i

Talking about software company structures – Part 5

In this post I would be talking about the desired composition across the designations for a small scaled software company. When ever possible I would try to produce approximate numbers.

In general largest projects undertaken by small scaled companies are of around 2500 to 5000 man hours. The desired billing model of them is per hour or per day based. There are companies undertaking fixed bid projects as well. In general the average size of a project team is comprised of around 5 engineers. The team size would depend on the dead lines and the size of project. Some times number of available resource would also count in.

In my opinion when ever the size of the development team requires being greater than 4 or, even though it doesn’t require that much of a team, the complexity of the project is very high, it is desirable to have a Lead heading the team. If the team is less than 4 a Senior Engineer should be able to head the team and hold the responsibilities of a Lead. When the team size grow, a senior Lead may be required. In general for 40 engineers there should be 5~6 Leads.

For a small scaled company an Architect is a far more valuable resource to be allocated to a single project. Based on the responsibilities of the Architect role it is desirable to share an Architect across 3~4 large projects. In proportion for 40 Engineers a Single Architect should be enough. This may differ based on the skills and experience of the Architects.

Same applies for Project Managers when it comes for allocating to a single project. But since the responsibilities of the PM role are quite pressurizing, it may be desirable to allocate a single project manager to 2 ~ 3 projects. So, for 40 Engineers, I may suggest 2 Project Managers. There could be exceptional cases in allocation when a project is critical for the company, where an experienced project manager would be handling a single project only.

Thursday, October 13, 2005

Second day of Tech.Ed 2005 - Sri Lanka - Rating

It was pouring the whole night yesterday and when my alarm rang at 7 am this morning (it has the sound of a rooster), it was the last sound I wanted to hear. So I snoozed it for another 10 minutes and hid under the sheets. When it rang at 7.10, I snoozed it again, and again and again. At last I got up around 8.10 and left home at 8.50 with couple of friends. When I reached Tech.Ed premises after breakfast on the way it was pretty late for any session.

But I got in to Vinod Kumar’s session on SSIS - Exploring Scalability, Performance and Deployment. He was really enthusiastic about what he was speaking about and demonstrated solid knowledge of SQL Server and related technologies. And he had pretty good control over the flow of the session as well.
My rating 3

Then I wanted to give a second chance to Janakiram in his session “Security Enhancements in Visual Studio 2005” only to be disappointed again. I believe he was not speaking responsibly and was not fully prepared for the session. I’ll just take one example where he made a wrong comment. Please correct me if I’m wrong.

He stated that if we execute an application which resides in internet or intranet domain by typing the address in internet explorer address bar it executes using the ASPNET user account. ASPNET Account is used for running the ASP.NET worker process (aspnet_wp.exe). This does not apply to code executed on client. There is a high probability that the ASPNET user will not even exist in the client side. If you execute an application in the above mentioned manner the application would execute in a partially trusted context under the currently logged in user of the client machine. You can check this out through the task manager. I have strong doubts about Janakiram’s preparations for these sessions.
My rating 1

Lunch - need not comment again on it. My rating 3

Next I went to the session “CLR 2.0 Internals” by Gaurav Khanna. It could have been a wonderful and productive session if not for the extensive and irrelevant questions from the audience detaching it from the course. I liked the style of Gaurav, he came to the session with no slide shows, and he had enough confidence to carry forward the session. From the very little time the audience allowed him with, he made it evident that he has an extensive knowledge not only of the internals of .net but COM, DCOM and host of other technologies. I just wish I had an opportunity to work with him. But unfortunately because the session was not successful I can’t give him a 5.
My rating 3

Yik Joon Ho was well prepared for his session on “What’s New in ASP .NET 2” probably after some rest. The session was really entertaining and organized with applauses every time he displayed a cool new feature of ASP .NET 2. Yik Joon Ho, being an architect adviser for sure knew what is behind the things he demonstrated. So he deserved all those rounds of applauses. If the objective of the session was to amaze the audience with the rich features of ASP .NET 2 and promote them to use it to gain high productivity and save time, it was really successful.
My rating 4

Next I decided to participate in the session “SQL Server 2005: A Technical Overview” by Vineet Gupta. This was the most productive session I ever attended in the Tech.Ed. Vineet handled questions really well, if the question was relevant to the session he answered it really well with full details; if it’s not, he quickly interrupt and requested to bring it up offline. I think this is what all other speakers should have adopted. And Vineet knew what he was talking about inside-out. He is the database guy in our imagination by looks and by knowledge. There was no doubt about his capabilities. Solid stuff from him, start to end. I Loved it.
My rating 4

The closing session was some what relaxed and all the speakers, MVPs and the organizers seemed to be really happy to have concluded the Tech.Ed successfully. They answered several questions receiving laughs smiles and applauses from the audience. After the closing session they hosted the Vista session again by popular demand.
My rating 3

I’m not the best person to rate the Entertainment Night as personally I’m not an out going or party loving person. But one thing I want to make a not on is that there was very little choice for vegetarians and few of us had to bear the thirst as we couldn’t find any non alcoholic beverages around. May be we were in the wrong place... so I’ll refrain from rating the entertainment night.

So my final rating for the second day at Tech.Ed is:

(3 + 1 + 3 + 3 + 4 + 4 + 3) / 7 = 3

As I was unable to register within the first 200 registrants I won’t be able to participate in tomorrows hands on lab sessions. So this would be my last rating on Tech.Ed. So as a concluding note I would like to thank the organizers for bringing Tech.Ed to Sri Lanka. This certainly could not have been an easy project but it was very well done. The Microsoft technical community owe a big thank to them.

But on my personal preference, I may probably not participate in future Tech.Ed or similar events. I have always been a reader than a listener and I feel classroom styled sessions doesn’t allow me to learn in my own phase. To be honest I hate when some one disturb the speaker to ask a question. It’s true that there were some very good questions asked and it contributed to the knowledge of others as well. But it disturbs the course of the session as it takes up time from the plan.

What I prefer about books is they cover every aspect of a subject unlike classroom styled sessions. Because of limited time and human factor involved in classroom styled sessions there’s a great possibility to forget and drop certain facts from the content of the subject. Since the authors of the books have enough time to review and revise the contents of the books, books are more consistent.

Wednesday, October 12, 2005

First day of Tech.Ed 2005 - Sri Lanka - Rating


At Virtusa we have this habit of rating qualitytative things in a scale of 1 to 5 usually 1 - unacceptable 2 - needs improvement 3 - meets expectations 4 - exceeds expectations and 5 - consistently exceeds expectations. The way we arrive at a final figure for a certain deliverable or individuals performance is by rating number of sub items and taking the average of them. Microsoft also has a similar way of rating using a bar of 0 to 9.

The reason why I wanted to say this is, I want to rate my experience on the first day of Tech.Ed. I’ll be using the Virtusa standard as I am a Virtusan.

The event started two hours late than the initially set expected time. The opening ceremony was some what traditional Sri Lankan styled with dancers, drummers, lighting oil lamps etc. etc. What’s special about the opening ceremony was the entertainment by the group of drummers which extended in to a considerably long time. Music was nice - a few more minutes would have made many developers give up IT and start a career in music. But I won’t take the credit away from the organizers for doing some thing innovative.
My Rating - 3

The first session I attended was Introduction to Visual Studio 2005 by Janakiram. He talked on Generics, Iterators, Partial Classes, and Anonymous Methods. He leveraged the session with the aid of a slid show and he sounded pretty solid until the Q & A time.

The first question was motivated by an example he provided on Anonymous Methods. In his example the signature was omitted from the inline method. So the question was “can’t we access the arguments which are received from the event?”. Pretty straight forward; any one who has read about Anonymous Methods in Language Enhancements knows that you can write the signature just after the delegate keyword and access them. You need not be a developer evangelist to know it. But the speakers answer was No!! And he sounded pretty confidant of the answer! Luckily a person spoke up and showed him that it is possible to do so and he admitted that he was wrong.

Second question was “Can we have a single partial class in two namespace?” much more basic than the first question. What the partial keyword does is acknowledge the compiler that there could be another part of this class in a separate physical file. Any one who knows about namespaces know that they are used to logically separate classes; which allows you to have two different classes in the same project by the same name just by differing the namespace. So the answer to that question is no. But the speaker wasn’t sure about this! He actually wrote a sample app and checked the IL before answering! But couldn’t explain how it could happen. He seemed to be under the impression since the keyword partial was used it may have been possible. He did not knew what the key word is used for!

I believe this is an irresponsible and unacceptable act by Mr. Janakiran. He’s not just another developer but he was representing Microsoft, the company which many of the people present trusted to deliver products and services they could rely on. It’s true that being a developer evangelist doesn’t automatically make you a guru on all Microsoft technologies. But before attending an event as Tech.Ed and conducting a session on a certain topic he should have at least read the relevant material available on MSDN.
My Rating - 1

Next was the lunch break and since I wasn’t there to eat and there was nothing to complain about, I’ll rate it 3.

Next two sessions were “Programming Indigo” and “Transactions in Webservices and WS: other things developers love to hate” by William Tay. He delivered an extensive coverage on both the topics. He kept the attention of the audience intact by few wonderful comics and proved not only his in-depth knowledge on the subject but his abilities as a lecturer. The only problem was the time reserved for his session was not enough to cover the topic. Mostly because he knew inside out of it and wanted to speak about it as much as possible. I believe much good could have been done if he was given a whole day instead of two sessions. I personally appreciate his contribution (I didn’t know 90% of the stuff he spoke about and I believe I understood what he said)
My Rating - 4

Next session was “Managing the Software Lifecycle with VS 2005 Team System” by Yik Joon Ho. He demonstrated the fantastic features of VS 2005 Team System and seemed to have an in-depth knowledge on the product. But he seemed a bit tired probably after a long flight or some thing. But overall he was able to wow the crowd.
My Rating - 3

Next I had the option of choosing between “Upgrading from VB 6 to VB .NET” by Mr. Janakiran again, Given the facts that I’ve been doing for some time and Mr. Janakiran was not able to please me with his first session I looked for the other options at hand. Which was “XML and SQLCLR best practices” by Vinod Kumar or Drive back home as it was past 6 pm. I peaked in to the Vinod’s session but it seemed already started as my previous session got a bit extended due to the fact that there were lots of things to be talked about. So I decided to head back home.

So may final rating for the first day ay Tech.Ed is:

(3 + 1 + 3 + 4 + 3) / 5 = 3

Note that although the overall rating is 3, which is meets expectations; I hope Microsoft wouldn’t educate the speakers so that they would be better prepared when they present themselves in such events in the future.

So folks, stay tuned for day two ratings tomorrow.

Tuesday, October 11, 2005

Counting the minutes

Ok ppl, few hundred minutes left for the big event. Hope to post daily during Tech.Ed as well. Stay tuned!

Tech.Ed Tomorrow

With just few hours left for Tech.Ed, I thought I’d postpone my post on small company structure and talk about Tech.Ed.

One thing for sure it’s gonna be huge! Yes there are lot of people around who registered through the web but haven’t received any confirmation yet. So many can give up their hopes on Hands-on lab sessions on day 3 as they claim only the first 200 registrant would be entitled for it. But I think they’ll at least facilitate for 300.

I don’t know how many Microsoft initially expected to turn over at Tech.Ed but I’m pretty sure there’ll be multiples of that number.

They have invited some companies to host stalls, so even if you won’t make it to Microsoft sessions, you won’t be left out.

But I keep wondering, this is a Microsoft event, so what should we expect to see in these stalls? Most probably they’d exhibit how they have applied Microsoft technology in practical situations, what were the issues they came across and how they addressed them. Beside that, we can also expect them to show off a bit. So it won’t be boring for sure.

Beside all that I’m looking forward to meet new colleagues. So if you see me there, please come have a chat.

Monday, October 10, 2005

I’m being sponsored as well!

I’m the 22nd Virtusan to be fully sponsored by the company for the Tech.Ed 2005 Sri Lanka.

There’s gonna be a Virtusa stall in the Tech.Ed and there’s gonna be several Virtusa Software Architects manning it. I may hang around there during the intervals but you should direct all your architectural, C++, and .NET questions to people like Thusitha Dharmaratne, Manjula Yackdehiarachchi, Shiham Naufer, Uditha Weliwita etc. etc.

Sunday, October 09, 2005

Talking about software company structures – Part 4

Ok - today’s topic - the last role for a small scaled company (may be I’ll add another optional role later) - Project Manager Role.

A Project Manager should plan, manage and allocate resources, shape priorities, coordinate interactions with customers and users, and keep the project team focused. The Project Manager should also establish a set of practices that ensure the integrity and quality of project artifacts. Basically if the Project Manager is incompetent, no matter how competent the technical team is, there’s a greater chance of the project failing.

A Project Manager should apply project management knowledge, skills, tools and techniques to a broad range of activities in order to meet requirements and to deliver an end result for a particular project.

A Project Manger should posses following Skills:

  • Experience in the software development lifecycle, the domain of the application and platform
  • Good estimation, planning, time management, scheduling, project costing, and budget management skills
  • Competency in resource planning, resource management, and procurement
  • Ability to analyze risks, dependencies, and make tough decisions
  • Presentation, communication, and negotiation skills
  • Experience in Project Management (In smaller projects a member who’s interested in becoming a Project Manager could play the role of Project Manager)
  • Leadership and team building capabilities
  • Conflict resolution, problem solving skills, and the ability to make sound decisions under stress (A Project Manager shouldn’t be some one who lays all the pressure on the shoulders of the technical team. He should shoulder at least 50% while the Architects and Leads should account for another 40%)
  • Deliverables based management, a focus on the delivery of customer value, in the form of executing software that meets (or exceeds) the customer's needs.

As with all other designations, this could be stretched to three designations. More experienced project Managers could handle tough customers and extreme pressure with around 30 team members while new ones could handle lesser hostile ones.

Be on alert – you are on your own!

Last night at around 11, we heard a police vehicle going around the area announcing “We have received information during past few months about an organized gang of thieves who break-in and rob houses during the day. We advise you to be on alert and if you are leaving the house during the day please inform your neighbours” and the played some rotten music as interludes!

It’s like saying “we know there are thieves, but there’s nothing much we could do, so if you can’t protect yourself, get your neighbour to help you out” – ok may be they did it in good faith.. Yet I feel they should at least patrol the area during the day. Do some thing more, besides warning the public in the midnight.

Exhausted, but got the car repaired

Left colombo around 5am yesterday with sister and couple of friends.
As soon as we arrived at home we had breakfast and then I took the car
to a mechanic for some long pending repairs.
They costed me Rs. 35k (US$ 350) and 8hours of starving under direct
sun light. But at least I won't have to take it to a mechanic again
for some time.
After a very late lunch and a bath I went to the Kandy town to meet NC
only to be caught in a huge traffic jam caused by a political rally
organised by the opposition. Oh I hate these politicians!
We missed Sithira in our brief union, but that reminded me that he has
started a blog at http://360.yahoo.com/sithiradw
--
Posted using my Nokia 6230i

Friday, October 07, 2005

Talking about software company structures – Part 3

Let’s discuss about the role of an Architect today.

The Architect role has overall responsibility for the software architecture and infrastructure architecture in a small scaled company. The responsibilities include:
  • Identifying and documenting the architecturally significant aspects of the system, including use case, design, implementation, and deployment "views" of the system.
  • Driving the major technical decisions taken for defining the architecture including providing rationale for these decisions, balancing the concerns of the various stakeholders, driving down technical risks, and ensuring that decisions are effectively communicated, validated, and adhered to.
  • Defining the engineering guidelines for the projects. Reviewing the detail design of the system done by leads and engineers.

It is evident that an Architect must possess maturity, vision, and a depth of experience that allows for grasping issues quickly and making educated, critical judgment in the absence of complete information. He/She should be academically qualified and should have in depth knowledge of technologies used in the company and tools which are used for modeling and defining the architecture. In an ideal situating an Architect should have at least 6~8 years of industry experience functioning on all previously discussed designations and roles.

The role of Architect also could be expanded in to three designations as discussed with relatively to the Lead and Engineer. The designation would be an indicative of the Architect’s experience, maturity and competency.

I will talk about the Project Manager role next before coming up with a formula of density, at each role, to assemble a small scaled company.

The nuisance by the name of submitting nominations for presidential elections

The two prominent candidates for the Sri Lankan Presidential Elections, Mahinda and Ranil are due to submit their nominations today. And the city traffic police have made a complete nuisance out of it. Blocking half the roads to the Colombo city and creating huge traffic jams for hours.

They claim that there are serious terrorist threats. But I believe it’s their own fault that terrorists exist in this country and if there’s a threat, it’s their problem. Why should the general public go through such hassle and state waste time and money because of this?

Thursday, October 06, 2005

Talking about software company structures – Part 2

Yesterday I talked about the role of engineer. Today, I’ll talk about the role of “Lead”. A lead’s responsibility is to “own responsibility of a project level deliverable” In a small scaled company a Lead would own the tasks of technical deliveries, assuring the quality of the technical deliveries, communicating with the senior designations and customers with regards to the technical verifications and status updates and setting expectations.

A technical lead should be well competent in technology and should poses good leadership skills. He/She should also be a fluent communicator. Responsibility of component collaboration level designing and over seeing the specialized designs of engineers lies with the Lead. He/She should have a thorough understanding of the technologies and architectural frameworks and designs used in the project. He/She should mentor engineers and harvest a healthy productivity from them. Involvement of a Lead in coding could be less due to these responsibilities. But he/she should be able to mange time well and contribute to the project as much as possible among other tasks.

This role also could be expanded in to three designations as we discussed for the engineer role. An assistant/associate lead would lead a 5~10 member project; a Lead would own a 10~20 member team while a Senior Leads could lead a much larger and complex project and also empower themselves to act in higher roles.

Wednesday, October 05, 2005

Tell me what would you like to see from Virtusa?

There’s going to be a Virtusa stall at the Tech.Ed. We’ll be presenting on Productization® methodology, our extensive use of Microsoft technologies, and probably but not surely our process.
If there’s any thing else that you would like to see from us, just send me a mail.

Talking about software company structures – Part 1

There’s been lot of talks about software company structures, different roles/designations, responsibilities of each role etc. The company I worked for earlier has gone through a restructure and another which I worked earlier is planning for one. And Dinesh is talking about the responsibilities of enterprise architects.

So in a series of posts I’m going to express my views on how a small scale company with an average of 50 employees should be structured, what are the roles, designations and responsibilities etc. this would be how I think things should be. I’d talk only about roles and designations related to the core business.

The main work force in a software company small or large is no doubt engineers who develop and test the software. I’ll name this role as Engineer. There are three main categories, that could be identified in this level; Software Engineers, User Interface Engineers and Quality Assurance Engineers. (In a small scaled company testing may or may not be a specialized task)

The definition of the responsibilities of a Software Engineer (developer) would be “To develop software elements and components” this would include a certain level of designing within those elements and components. A UI Engineer’s responsibility would be to “Design an UI based on requirements and guidelines provided”. A QA engineer’s responsibility is to “Test a certain set of functionality in the product based on project standards”.

I’d clarify “Engineer” as a role, mapped to a project. Designation could be stretched to facilitate a sense of career growth within the same role.

An entry level engineer could be designated as Assistant or Associate Engineer; a more senior engineer could be designated as a Senior Engineer.

Designations could be used as a measure of competency for Engineers when assigning tasks. An Assistant or Associate Engineer should always be deployed under guidance of an experienced Engineer and a Senior Engineer could be assigned with more complex tasks and greater responsibilities to empower him/her within the project. If the project is small and requires only one engineer, it should be assigned to a Senior Engineer. A Senior Engineer also can play a higher ‘role’ in a smaller project with 2~3 engineers.

This eliminates the risk of failure and mishaps which could arise if a task is assigned to a less experienced engineer and is more profitable to the company enabling it to harvest full potential of the engineers.

Tuesday, October 04, 2005

Generating the web service proxy classes without the web service

Our customer, who’s in US, and us, in SL, edits the same code base. This has many a times caused mishaps of all sorts. Today, they had checked in a project file and some source files to the source repository after adding two web references and modifying the code to work with those services. But he hadn’t checked in the generated proxies or the web service descriptors. What’s worse is that we don’t have access to the services! They are hosted in their LAN. So we couldn’t generate the proxy classes either.

That’s why I thought of making this post. If you do not have access to a web service, you still can generate the proxy classes (which mediates the web service and the clients doing all the translation stuff so you could code as if the classes in the web service are in the same solution you work in) if you have the web service descriptor language (wsdl) file which is valid to that service. Use the wsdl.exe to generate the proxy classes and add them to your project. This is adequate to continue coding and compiling the project without trouble. But in my case I don’t have the wsdl either :(

Monday, October 03, 2005

What’s good about my employer

I have never celebrated my birthday twice while working for any other employer other than my current. From April 2001, I have been employed with 5 different employers and I quit two of them without finding a new one! I never had trouble finding employment. There for job stability was never a concern for me when I search for jobs. It’s not that I never considered leaving my current employer; in fact I wanted to twice; but each time I realized that it’s not a wise thing to do. So in this post I will try to summarize what I like about my employer.

Firstly, it’s the culture. Every employee could work with pride (at least most of the time), there’s no discriminations and every one’s made comfortable at work. You could talk with the senior managers of the company over lunch as if you were friends (and most of the time they treat you like friends)

Secondly it’s the well defined operational structures, every responsibility is well defined, there’s a process of doing every thing and there are alternatives to them if the primary fails. I MEAN for EVERY THING. This is one thing I have never seen any where else. And hope other smaller software companies adopt a scaled version of it for the benefit of IT employees in Sri Lanka.

Thirdly, the opportunity to work on enterprise level applications (not always using cutting edge technology - as we are a service oriented company, we serve what our clients wants). I get to do what most engineers in Sri Lanka only get to read about. This is the largest of its kind in Sri Lanka and we are unparalleled when it comes to size, structure and capacity.

Fourthly, People I get to work with. The best architects and technical gurus in the country work here because no other company has the capacity to employee them. The experience I gain by working with them can not ever be over valued.

Of cause there are negative things as well, but the positives still take over. That’s why I’m still employed here! I may feel like leaving time to time… but it would take a damn good offer for me to leave this place.

I’m topping all search engines

I just did a search for “mahasen” in Google, Yahoo!, MSN and A9 and guess what? http://mahasen.blogspot.com/ comes on top of all results. There was a time when mahasenpaya.tk used to top them but it has bee some time since I gave up maintaining that site.
I added a hit counter to the blog on 12th last month and I have received 537 hits for the past 22 days. Hmm... nice to know people read my blog... it motivates me to post daily.

Sunday, October 02, 2005

Changing the skin vs. changing the guts

While talking about extendibility in my last post I pondered about some ways of adding additional functionality to an object. As soon as I said “adding additional functionality”, I’m pretty sure many of you may have shouted “Decorator” in your minds. Yes but what about “Template Method” and “Strategy”? Can’t they be used for this purpose as well?

Let’s discuss what each design pattern does in brief so we could talk about their applicability. My objective is not to repeat design patterns here but to shed a little light in to thinking that goes before choosing them. So if you want to read an extensive discussion of these three design patterns, this isn’t the place.

What does the decorator do (most commonly used version of it)? It adheres to a common interface which it shares with the object it decorate and wraps the object mediating all messages to and from that object so that it could provide the extended functionality. So it forces you to code for the interface rather than concrete types - which is what you should be doing ideally. What’s good about it is you can get rid of it at runtime as you want. It’s just as adding a new skin to your object – and removing.

So when would you want to d this? When you want to reuse decorations and you want it to be dynamic. i. e. you don’t want to sub class because you’ll end up sub classing a large number of classes to add the same code or you want to be able to add-remove this behavior at runtime without affecting other objects. Or you simply can’t subclass it as it’s a sealed class!

What does the “Template Method” do? It calls abstract or virtual methods insides an algorithm so subclasses could override those methods to provide their own functionality. This allows you to code with more specifically typed code but if you have it, you can’t get rid of it in run time. So this is changing guts.

So when would you want to do this? When subclasses have their own way of doing certain little things but as a whole the functionality could be reused and to provide hook up points in your code so subclasses can override certain functionalities of the base. When you are changing guts, you should be working with your own code.

And finally what does the “Strategy” do? It makes clients commit to an interface to depend for certain operations; there by making it possible to change those operations by changing the object that represents that interface. This is a real dynamic way of doing things. This client is the one that we are planning to add additional functionality. This is like having your guts out side so they could be changed without affecting the other parts of your body!!

When should you be using this? When you want to encapsulate the implementation/behavior of your operations or when you want to interchange the behavior of your operations or when there are related classes which want to re use interchangeable common behaviors or when the behavior of an object should be changed based on conditions.

The “Template Method” and the “Strategy” are behavioral patterns; which means they deal with the way objects interact and distribute responsibility, “Decorator” which is a structural pattern deals with compositions of objects.

So the next time when extendibility hits you, ask yourself the question, “Should I be changing the sin, you should I change the guts”?

Saturday, October 01, 2005

What exactly does a CRM do?

A CRM is essentially about customers, from the business's perspective. So what does a business wants to do with its customers?

First of all it wants to store their information together with their history of interactions with the business. Obviously it would categorize and produce reports of them based on various factors of
those interactions. This information would be used to identify new potentials for the business and where the business is failing.

Secondly they want to organize promotional events and track them by various aspects. These could target existing customers and new customers.

Thirdly they would want to have a loyalty program for their customers, which would encourage them to do more business with them, and attract new customers.

Each of these requirements has to be further dissected as they represent really complex business requirements as vague expressions. Then the software requirements would be extracted from those business requirements.

A commercial product that is built to address these requirements should be highly scalable, extensible, configurable, interoperable, platform independent and highly available. As the potential customers could be of various sizes of organizations both geographically and
operationally (Be warned - We are talking about customers who has thousands of access points spread over dozens of countries! - I'm talking for real, this is really an global enterprise system we are talking about here), requiring rigorously customized functionality from the system, who use all types of hardware and software solutions from other vendors and require the system to integrate with them.

That leads us to find out what are the industry accepted standards for CRM software. But the fact that a CRM software could be used in many industries and those industries could most probably have separate standards (and for the fact that I'm interested in only one industry
right now) requires us to narrow down our CRM to a single industry: Retail.

IXRetail and Microsoft's .NET Connected are two such standards. But on my personal preference of approach, before going in to details of those standards, I would continue to work on clarifying the business requirements with just a little bit of an idea for what those
standards are. At this point all that matters is the knowledge of requiring adhering to some standards. Where they are required is still to be realized.

Spending the weekend in Colombo and planning work ahead

After going to Kandy almost every weekend for the past few months, I stayed back in Colombo this weekend. Being sleepcoholic I am, I slept well till 9 a.m.

Having nothing special to do during the weekend, I plan to prepare myself with some home work for the new project. And I would blog what I do, so the readers of my blog could get an idea of my approach to a project.

First of all I’ll list the constraints I face in doing so;

• I use my Nokia 6230i to connect to the internet. It’s strikingly fast (produces an average of 12 kilobytes per second downloads without down load accelerators) but I have to pay on a per KB basis. So I won’t be browsing much from home. That means my posts wouldn’t contain much information from the web.
• I don’t have much experience on enterprise level customer relationship management (CRM) and I have very little knowledge about it.
• I can’t publish stuff that is directly related to the project that I’m going t be doing in the blog as it could cost me my job! Yes it’s highly confidential information that we deal with, so I’m bound by some pretty tight nondisclosure agreements.

Said that, let’s see what I could publish;

• As I gain a general idea of CRMs and market leaders in CRM products I may publish them.
• As I find out the essential parts of CRMs and what makes each product from each vendor unique, they would be published.
• As I identify high level logical and physical architectural requirements of the system I will publish them with my thinking process behind them

But first of all, I’m going to brush up my technical knowledge from basics to advanced techniques. So you could also stay tuned for some interesting technical facts which I may probably visualize through my own vision towards them.

Friday, September 30, 2005

I'm getting a discount for Tech.Ed!

It’s been some time since I last posted @ dotnetforum.lk. But I’m getting a 25% discount for Tech.Ed :D

 

Checked with my PM and Tech Lead and got approved with a “hmm...”! This would be just before I start in the new project so the architectural experience would be really valuable as I get to use what ever I learn in a real life enterprise application as soon as I get back to work.

 

By the way my next project is going to be a CRM. Which would be written from scratch, with ASP .NET, C#, XML WebServices, using Oracle 9i back end. We have tight schedule with deal lines already fixed. So I won’t be able to post in my blog as often as now in the months to come.

Thursday, September 29, 2005

Father's bus ride

My father had not gone in a bus for ages... But when my parents came to Colombo he didn’t retain his official vehicle which they came in. My sister had taken the car we use in Colombo to work last night. So when my father had to go to the central bank this morning he wanted to take a bus! Now this is adventure for him. And I got to join in for the ride.

 

When we got in to a 176 bus from Nawala junction, it wasn’t crowded but there weren’t any seats available. The back seat had a little space left but it wasn’t enough for an adult to sit. But as soon as my father got in to the bus he sat in the back seat wadding every millimetre of the seat. I bought tickets and stood near him.

 

Any one who has taken the 176 route know about the free rollercoaster experience. So need less to say what was in store for my father who has had a bypass a decade ago. About 2 kilometres on the way a girl got off from the back seat. My father was concerned about my comfort and called in a bit too loud voice, “Putha methanin indaganna” (Son come sit here) I kindly refused as there was hardly enough space for me to fit in. Soon a seat to the front became vacant and I sat there. Towards the end of our journey of 176 I looked back to see how he’s doing. He was holding the grill of back windscreen with one hand and the front seat with the other.

 

I’m quite certain that he’d remember the experience for the rest of his life.

 

I personally remarked that I’d never let him take buses again. I don’t want to take that risk again.

Wednesday, September 28, 2005

Intentions

When intentions change, so does the consequences. Because karma is intentions...

Crowded home

Yesterday my parents, aunt and cousin visited us. My mother came for a cardio clinic while my cousin is participating in national school games tomorrow. It’s been really crowded in our 2 bedroom two bedded apartment. Luckily sister had a night shift. I slept in the living room so the visitors could have the bed rooms.

My parents having lived almost their entire life in Kandy didn’t get any sleep last night as it was too hot for them in Colombo. My aunt and cousin didn’t complain but I doubt their comfort as well.

Monday, September 26, 2005

Things I wanted to write about but couldn’t

First of all, I wanted to write about politics in Sri Lanka with regards to the up coming presidential elections. But the political situation in Sri Lanka has been storming with so pathetic and humiliating events to an extent which writing about it in a blog has become a project I do not want to pursuit.

Secondly I wanted to write about the Buddhist cannon; which I would definitely write about in future as soon as I could find enough time.

Thirdly; I wanted to write about a lot of technical stuff. My technical blog hasn’t been updated for ages…I wanted to write about writing plug-ins for visual studio, customizing cruise control, using NUnit etc. etc. oh and not to forget Avalon… But my current engagements prohibit me from sparing time and research for such tasks. But hopefully by end of next month I’d be starting on a new project and would be able to write some technical stuff parallel to R & D of that project. (Hope I wouldn’t have to withdraw articles from codeproject like the last time – My R & D was billed to the customer so I did not have the rights to publish my designs)

Other than these there were some insignificant stuff that I wanted to write about but couldn’t due to various reasons.

Any ways if any one out there is interested in reading my views on a specific subject please let me know… I’ll do my best to write about it when ever I find time and publish it here.

Life without vision

I had to spend the week end without specs. It was horrible. Couldn’t watch TV, Couldn’t work with the PC, and couldn’t identify people until I bump in to their faces. Grr and I had to drive back and forth to Kandy! I almost killed 2 bicycle riders and hit a lorry face on. I’m so glad that I didn’t had enough bad karma!
And about specs.. My last pair cost only Rs. 4750/- that’s about US$ 47.5 but this time, may be since I told them (Eric Rajapaksha Opticians) that I’m in a hurry to get them they robbed Rs. 19,000 (US$ 190) from me!! Had no choice but to select the cheapest from their designer wear collection. They didn’t even showed me the Chinese brands :( oh and they promised to give them sharp at 10 am this morning… it was 12 when I finally left there.
Any ways… happy to see the world clearly again.. Instead of blurred images.

Sigma, I sent you an IM, couldn’t mail you as your mail address isn’t public. Thanks for comments

Saturday, September 24, 2005

Things aren't good

A child broke my specs, had to drive to kandy without them, and having a fever. Oh, and the dog's in my bed!

Thursday, September 22, 2005

Memorable revisit to GOF book

After more than two years since I first read "Design Patterns -
Elements of Reusable Object-Oriented Software" by GOF, I started
re-reading the book right from the begining. I have seen many books on
design patterns but non other does explain problem solution pairs as
tastefully and clearly as the four masters themselves.
The following sentence in the preface of the book is not only evidence
for their sarcasm towards engineers who show off than doing the right
thing but also gives an idea of how simple the design patterns are
once understood correctly and applied:
"the design patterns require neither unusual language features nor
amazing programming tricks with which to astound your friends and
managers"
They go on to say "Once you understand the design patterns and have
had an "Aha!"(and not just a "Huh?") experience with them, you won't
ever think about object-oriented design in the same way."
I think this is the book every developper should read, if they are
serious about getting to be good architects.
--
Posted using my Nokia 6230i

Opera uninstallation left a mess

After trying out Opera, I felt I’m better off with IE and the devtoolbar. So I uninstalled it. IE became the default browser again and things looked fine. But when I double clicked on Yahoo! Mail icon it didn’t open – Yahoo.. I thought. But when I typed a URL in run, I got a message saying application not found!
When I went to Folder Options and checked the association for URL:HyperText Transfer Protocol and URL:HyperText Transfer Protocol with Privacy they were still assigned to Opera. Grrr. I changed them back to IE and now things seem fine.
Wonder what else Opera left behind..

I left office around 7.30 last night, when i looked back from the car park, this is how the towers looked... and on most days they look the same after midnight...
Captured using a 6230i

Wednesday, September 21, 2005

Power Blog

I downloaded power blog, a really rich open source blog publishing application. This is my first post using it. Didn't go to the code yet - infact the 50MB zip is still being downloaded


I Used w.blogger earlier but it screwed my index last time. So thought of getting a new one.


http://prdownloads.sourceforge.net/pwrblog


Tuesday, September 20, 2005

Thank you - John Loudon McAdam!

I've installed the Answer Bar from Answers.com. In it's spotlight today it says: "Thanks to John Loudon McAdam, born on this date in 1756, we travel along smoothly-paved roads. A Scottish engineer, McAdam set himself to trying to improve England's poor roads. He came up with the idea of raising the path's surrounding ground and layering rocks and gravel which were then compacted with a roller, to form a "macadam" road. The first road in America to be macadamized was the National Road (later called the Cumberland Road), that eventually ran from Cumberland, MD, to St. Louis, MO. " hmm... lets start the day thanking John Loudon McAdam today...

Trouble with Hello

Up till yesterday, I had no problem with Hello, publishing photos using it was really easy. But yesterday it started giving me trouble. It didn't gave any error messages but it simply didn't post. So I was forced to use the web interface to publish photos. Is any one else experiencing this?

Solar flares captured


Solar flares usually can not be seen by naked eye. But when I captured the morning sun using my Nokia 6230i I was amazed to see them captured.

Monday, September 19, 2005

Kandy City Centre


Kandy City Centre is one of the largest business complexes in Sri Lanka on the making... Its located in the heart of Kandy city adjoining the Asias largest car park!
Captured using a 6230i

Saturday, September 17, 2005

Father's birthday

Today's my father's birthday. In rememberance we had taken the
responsibility of offering morning alms to the mahamevna meditation
monastery in kundasale, kandy. We prepared alms in the morning and
took them to the monastery at 6.30 in the morning.
For some reason, I didn't feel like going with them. So I stayed back
home. When ever I go to a temple or a monastery I don't feel that they
are as good as I expect them to be. Hence I get really disappointed.
Too bad for a person who's seriously considering to become a monk.
I'm planning to pay a visit to the Kanduboda monastery which in my
belief is one of the best in the country. Hope I won't be disappointed
there. The head meditation teacher there, ven. Madawala Upali thero,
seems to be a well disciplined and achieved monk. One of the other
monks I like is ven. Pathagama Sumanarathana thero. I'd like to
practice meditation under guidance from one of them or their
disciples.

--
Posted using my Nokia 6230i