Friday, June 15, 2012

Protect yourself from Repetitive Strain Injury (RSI)


Repetitive Strain Injury (RSI) is a potentially debilitating condition resulting from overusing the hands to perform a repetitive task, such as typing, clicking a mouse, or writing. Anyone who uses a computer regularly is at risk and should know about RSI. Although most people take this lightly, this could be a serious condition and we all should take necessary precautions to avoid this.

I came across this easy to use, less intrusive, free and open source application, WorkRave that can become handy in preventing RSI. Simply put, it maintains few timers that remind the user to take breaks when they elapse. The default setting is a bit annoying and prompts for breaks every three minutes! I configured it to remind a 3 minute break for every 40 minutes, and a 30 seconds micro-break for every 10 minutes. If I still get RSI, I’ll put post on this blog, so others can configure it for shorter intervals.

workrave


Wednesday, June 13, 2012

Problems with VS 2010 Merge Tool?

I am currently working on a project where we have a team working on business features, while another team is working fulltime on upgrading the existing solution to html 5 and CSS 3 standards. Two teams are working independently in two branches; Dev Branch and UI branch. I was having a major issues when attempting to perform forward integration merges from Dev branch to UI branch as most of the .aspx, .ascx files in the UI branch are considerably changed! The layouts of the pages were significantly changed as the team has replaced the ALL existing HTML tables with divs. Entire style pages changed.  I was having a nightmare trying to merge such enormously changed files using the default merge tool provided in VS 2010, which tries to be smart, and come out useless! Default Merge tool has several notable drawbacks,


·         The major problem is that it attempts to be smart!  It allows me to select between two large chucks of code, of which I cannot simply select. The required changes exist in both chunks and hence I am left with no option, but to select one chunk of code and manually edit. Sometimes this chunk could contain few hundred lines!
·         It doesn’t explicitly display the exact difference in the comparing files
·         No easy way of identifying spaces
·         Find operation has less options. (Cannot limit the operation to a given set of windows)
·         Does not display from which file the output file lines were taken. (Would like to see the source file in each line)
·         Does not explicitly display areas I manually changed!
·         I don’t get to see the “Original Version”
·         Look and feel is boring!


The solution to this problem is simple. Just change your default merge tool in VS 2010. I changed it to KDiff3. Pretty much all my problems were resolved! Merging code turned out be “Fun” again! I started code merging every day! Yeah, it was a fairy tale ending!!!

Anyways, changing the default Merge tool is very easy. There are so many blog posts like this explaining the procedure with screen shots. There are many free open source and paid Merge Tools and you can configure VS to work with any Merge Tool of your choice. All you need to do is install the new Merge Tool and configure it in VS 2010 for both MERGING and COMPARING using proper arguments. Yes, the tricky part is – where can we find the arguments? Fortunately James Manning has a nice blog post explaining how arguments need to be passed for various merge tools. So if you have problems with your VS default merge tool – Simply get rid of it! 

Friday, February 19, 2010

IT Economics

IT economics is an interesting concept. I was listening to few talks of Bruce Schneier in techEd. His thoughts on IT Economics were really simple. Things we may already know, but yet we never really "thought" about. Bruce himself is a very interesting character. A world renown security expert. But I see him more as a philosopher, a good thinker...You can find more about him at Schneier on Security. I hope to write few blog posts about few thoughts Bruce shared with us in techEd, the ones that are still ghosting in my mind. Most of the content in this blog (and few next ones) don't contain what Bruce said in the exact same way, with same examples. I have actually added my own thoughts, amended few of Bruce's example etc...

Thought 1: Large Networks continue to grow large, while niche networks continue to stay same

Well, IT market seems to be working in an extraordinary way, where the largest network receive most benefits. For example, let's take large telecommunication companies such as Dialog and Mobitel. They are huge (atleast from SL standards). Also, they will continue to grow big. When such a company gives a package like "1000 mins free within the network" , many people would go and buy that package... Why? because most of us use such popular networks. So we get to call many of our friends free! So, more people would actually join such networks... The large networks would continue to grow even large!!! - The niche networks will remain to be niche markets... Think about it... Think about Microsoft... They are the largest network when it comes to pc using communities. Most vendors create their applications to run-on Windows plat form. It is fair from the application vendors point of view: They want to aim their product to the largest market. Now, more and more new comers actually select the windows platform because it has more applications!!! See - the large network continue to grow even larger!!! (ok, I know that high availability of applications is not the ONLY reason for more people joining hands with Windows network. But it is certainly A REASON)

Hm, thinking on the same line, you may think that there is no room for new networks as IT space is crowded....Well, that isn't actually true. Think about Google. When Google started Yahoo was the biggest player. Many people were using Yahoo mail. Many were reading Yahoo news. But Google had a fabulous product!!! Now Google has grown much larger than Yahoo. So yeah, you can penetrate the market and create a large network - but you gotta have good product..!


Thought 2: Seller knows best – buyer knows least
In the IT market, seller knows best...he is the one who designed and developed the product. He knows all pros and cons of it. But the buyer doesn’t know much about the product... Buyer may not even be technically fluent to understand even the basic inner workings. In such a scenario, very often, the buyer tempt to settle for the more flashy and inexpensive product
(Not the cheapest product either). Obviously, Buyer wouldn’t have the knowledge to pick the best product.

Think of the used car market. Imagine there are 20 Toyota corolla’s for sale. Out of them 10 are bad; Sellers know that they are bad, and they would be satisfied even if they are sold at 10 lakhs each. The other 10 are good cars. The sellers of those cars know that their cars are better. They wouldn’t settle for anything less that 18 lakhs for a car. The buyers are not experts in buying used cars. They may not be able to see a huge difference between good and bad cars. Hence at the average price (14 lakhs) all bad cars will be sold. But none of the good cars will be sold!

Same applies to IT market. Most IT products that survived upto date aren’t necessarily the best products. There were many really good products, which were also really expensive, and they never really made it. Eg: Sun Solaris – It is one of the most secure and fast operating systems. But ordinary people don’t know it. Instead of purchasing Solaris, many people settled for Windows Server or Unix. Those operating systems that may be less speedy and secure than Solaris, but more colourful, flashy and less expensive. Firewalls are another example. Most of the firewalls that have survived upto date aren’t necessarily the best ones. There have been many really good ones that never made it, as they were very expensive or complex to configure.
So it is important to understand that in-order to make good profit, your product doesn’t need to be “perfect”. It doesn’t need to be the best product. The buyer will not have technical knowledge to understand the subtle performance advantages of your product or extensible architecture of your product. So you should not spend more money on obtain such minor performance gains etc. All that matters is you have a “good” (not perfect) that is not highly expensive...


Thought 3: Initial product cost is high. This cost needs to be divided into many copies
We all know this, don’t we? Initial cost of creating an IT product is huge. It may require many brainstorming sessions from many experts. It may require a large number of expensive programming time. It may require a long phase of expensive testing. Imagine how much money would it have taken to produce Microsoft Office Package? How much it would have cost to create Windows? Many millions of dollars!!! Still, will a single person buy MS Office if it was sold at one million dollars (one million dollars would still be a small percentage of the actual cost) ? No.

How IT products make profit is through selling as many copies as possible of the product. Although the initial cost of an IT product is high, creating a copy is very inexpensive. Hence, the IT product cost should be divided into many copies. So when developing a product, it is important to aim product to a larger market. More copies you make, more you recover your capital, and eventually more profit you get. However, this wouldn’t mean that you should make your product as much as generic as possible, aiming at the largest market... You need to find the right balance between the market size and specialization of the product. Additionally more emphasis should be taken to produce the product using re-usable components. Then, the producer will be able to create similar products with a lesser cost using the already built components.

Thursday, February 11, 2010

TechEd Sri Lanka - 50% success?






I participated in teched 2010 Sri Lanka which was held from 8th Feb 2010 to 10th Feb 2010. The venue (Waters Edge) was really good. Their beverages were also quite good. However, the real value of such an event is represented by the technical skills and knowledge we gain during the sessions. Don't forget that each participant pays over Rs:12,000 as registration fee.

I attended 12 sessions in total. Out of which 4 sessions were carried out by local speakers (Prasanna, Joy and Rohan). Prassanna was outstanding. He had v.good content and looked well prepared. He was also very thorough with the subject areas, and presented very well. To me, he was one of the best speakers. Joy was also good.

The sessions carried out by US speakers (Bruce Schneier and Brian Puhl) were outstanding. Some thoughts putout by Bruce were very insightful. His speach on IT-Economics got me really thinking (I will blog on the thoughts he shared with us in near future). Rushabh Mehta was also really good. His sessions on reporting services and pivot tables were very exciting.

But some of the sessions carried out by Singhporean and Malaysian speakers (Namely Darren Sim, Seok Chern, Risman Adnan) were really dissapointing. (They may be distinguished personalities, I am reffering to their presetnation here). What they talked for over a hour could have been understood by 10 mins googling. Such presentations would have been ideal for ASP.NET beginners. To make the situation worse, most ASP.NET sessions were carried by these guys. I had to participate in 5 of their sessions. To me - that was a total waste of time and money.

In overall, the organizing etc was quite good. I also loved the fact that there were many raffle draws and gift give aways (although I didn't get anything :D). However, the quality of almost half of the sessions I participated were dissapointing. After all, isn't the "quality of sessions" that measure the success of such a technical events?

Tuesday, August 11, 2009

Windows task menu tabs missing?

Have you ever encountered the problem of your windows task menu tabs missing? Well I came across this today morning. A weird issue. If you haven't expirienced, just double click on the area marked in RED in your task menu, you will know what I mean...




Now, how to get the tabs back...? Just double click on the Blue marked area and you should see the task menu tabs again.


Thursday, March 12, 2009

All the best STC cricket team



Best wishes for the Thora team!!!

(Following the match in cricinfo. Doesn't seem like we are doing particularly well so far. Hopefully we can pull some thing out)

Tuesday, March 10, 2009

I salute our War Heroes

I salute our War Heroes!

I am not a blind supporter of war. I am well aware how our brothers fight in Vanni. Some sacrifice their lives. Some sacrifice their limbs; They have to live their entire life being dependent. Some even sacrifice eyes etc. The ground situation is not as beautiful and colorful as policca's and most media draw.

Think about the families of war heroes. There are over 50,000 soldiers deployed in vanni, there will be hundred thousands praying every night that their son,brother,father or husband would be safe. They are spending everyday hoping that the bad news will not come to them. Everytime they hear "bad" news, they will be calling to check if their loved one is still alive.

I salute all the family members of the War Heroes!

We must not forget that the terror carders who die in the battle are also human beings with families. They have sacrificed their lives for what they believe.

If you really think hard, you will realize that the ones who die from the both ends are brave, energetic youngsters who could have done a lot develop this country. yeah, a lot to develop our economy, living standard.Both parties spent millions ideally should have spent on development projects and research.

But we just had to fight!

PS:I DO NOT by any means say the "peace talks period" was any good. It was more like "a break" for ltte to buy more weapons and re-group. Remember the string of claymore attacks and closing of Mavillaur anicut? It was not a "peace", more like a "war preparation time". Like many Sri Lankans, I highly doubt ltte leaders will ever come for genuine peace talks.