Monday, July 07, 2008

bheema

The next movie I watched on flight was Vikram's Bheema. This movie got delayed for over 3 years & in the period Vikram didn't act in any other movie. The story was usual and very ordinary. It is about a gangster and gang wars - we have seen enough of this in Tamil movies. The only difference is that everyone gets killed in the climax - Hero, Heroine, both the Gang Leaders (Prakash Raj, Raghuvaran) and Thailavasal Vijay. If you can please skip watching this movie, a low-point in Vikram and Director N. Linguswamy's careers.

 
Monday, July 07, 2008

On my Jet Airways flight from Mumbai to SFO I saw this movie 10,000 BC. It is a fictitious story of how a Hero from a small tribe fights against a large civilization (resembling Egypt Pyramid days). After a sustained chase he wins over them, get his people and his love released.

 10000bc-1 10000bc-2

The settings, costume, fighting's have been taken well. At times in the movie you feel a little bored and the story is overall unbelievable.

 
Friday, July 04, 2008

Following Microsoft's retiring of Windows XP on 30th June, there has been lot of talk on the Internet on how Windows XP is better Windows Vista. I love Windows Vista and I have been using it from Beta days. I will never even dream of going back to XP. Why?.

  • The UAC prompts are certainly annoying, needs to be turned off for a "Developer" machine which is what I did in my Work PC. I have it ON in my Home PC and Laptop and it works great in both machines. It gives me confidence that no rogue application can harm my PC or data
  • The Visual Aero interface certainly makes the user experience more pleasing. After all you are starring at your PC for more than 8 hours a day, so why not have some pleasing effects in it
  • Last and the most important for me is the integrated Search. With the new Windows Desktop Search 4.0 which made search in Vista faster, I cannot think of going back to Windows XP. The convenience of searching from Start button or in any Explorer Windows is a sure productivity gain

If you are wondering why am I talking about Vista here which is not connected to the title of this post, answer is in the next paragraph.

Microsoft rightfully abandoned the original Windows XP code and started Vista (internally called Refreshed the code) from the more stable Windows Server 2003 code base (as reported few years back in WSJ). Now few critics of Vista are asking Microsoft to scrap Vista code-base and to start a new Windows OS from scratch - something like basing it on MinWin kernel. Within "Techies" there is always an urge to do everything from scratch - this is one of the never ending arguments in Software industry. Is it good to keep patching a code/application (or) to bite the bullet, scrap the code and rewrite from scratch. I believe there is no single correct answer for this and it depends on the parameters.  But the question keeps coming up in daily situations. To answer that read Joel Spolsky's post back from 2000 - I don't agree with many of his recent posts but this post is a master-piece and a must read for all developers.

 
Thursday, July 03, 2008

Last weekend while doing some room cleaning, I came across an old photo album (you remember those chemically processed photos from photo studios). It was the photographs of my first USA trip in 1999. I selected few of them and uploaded it to my online album. You can see me "younger" than today and without spectacles :-).

(Below) With Actress Ramba in Frankfurt Airport (1999)
 
(Below) With Actor Vijay in Frankfurt Airport (1999)
 
  (Top) In 1999 in New York with World Trade Center (Twin Towers) behind me in the horizon

(Top) In 1999 in New York on top of the World Trade Center (Twin Towers) observation deck

BTW, I don't know Actor Vijay or Actress Ramba in person. Just happened to get out from the business class together with them and I requested them for a quick "snap". Fortunately I remembered to carry my pocket camera in my backpack then (of course, nowadays every one has a Mobile Phone with Camera).

 
Thursday, July 03, 2008

Last few days there has been buzz around Adobe's announcement of collaboration with Google and Yahoo! to improve the ability of search engines to index Flash files better - which are normally .SWF binary files. Instead of coming with open XML based file formats Adobe has chosen to offer an "optimised" (basically a server component) version of Flash Player that sits on a search engine's server and checks for Flash at the same time as HTML.

Compare this with Microsoft's Silverlight. Silverlight applications are packaged in a XAP file (which are simply a zip) format and any static textual content is in the XAML files. XAML files are nothing more than a well-defined XML file, this means even today without any special API search engines can index Silverlight Applications. In addition Silverlight apps supports deep linking which is important for facilitating relevance, very much like HTML's nested links concept. For more details see this post here by Microsoft's Nikhil Kothari on how Silverlight by design is Search Engine friendly.

Anyways, this is a very important step that Adobe that has announced. Flash is currently the entrenched player in the RIA space having more than 95% of market share. This has resulted in enormous amount of content being out there in the Web in Flash file formats. These have been so far out of reach of Search Engines and any attempt by Adobe to make it reachable is welcome. And any competition here between Adobe and Microsoft is also a welcome one.

 
Wednesday, July 02, 2008

Recently I received a report on the vision of Tamilnadu Government for how the business climate should be in year 2025 in the state. The report was a joint work by CII (Confederation of Indian Industries) and Tamilnadu Government (TN Gov). 

tamilnadu-state-industry-in

I saw one interesting statistics that stood out among the report's many pages. It was the number of days it takes to start a business in Tamilnadu (to a large extend it is same across India) - it is currently a whooping "41" days. I was not surprised, since I run my own business for last 10 years and have been through these hurdles of bureaucracy many times.

Most recently I had to do this (starting a business) once more, this time for my family business and it took me nearly 5 to 6 weeks. At this time we still we have VAT registration pending. To be fair, few days out of this was due to my end delays as well.

  1. We started with registering the new "Private Limited" (Limited Liability Company)  with Registrar of Companies (RoC). For this the first step is to get name clearance (name of the company shouldn't be conflicting with the said/unsaid guidelines or with other existing businesses). This took some time.
  2. Then comes the actual registration which involved multiple iterations of submission of our MoA and AoA (Memorandum of Articles and Article of Association). Each time we had to take a print, sign the paper, scan it, then digitally sign it and then upload it as a PDF file to the site. Once approved, you need to follow this by a hard-copy submission(sometimes they may ask for the hard-copy for each iteration as well) of the documents.  Once this is done.
  3. First board meeting and resolutions to be passed
  4. Followed by getting an Income Tax PAN Number
  5. Then comes opening of a Bank Account
  6. Then comes applying for Service Tax Number or TIN (Tamilnadu VAT Number) and CST (Central Sales Tax). The choice between Service Tax and Sales Tax registration is depending on the nature of your business.

After all this only you can start your functioning. There will be more steps if you are involved in manufacturing, which depending on the industry has various other registration formalities. Compare all this is the time it took to open a business in USA - we opened our 100% subsidiary sitting from India in less than few days through the help of a CPA locally in India - everything happened through online. I remember reading that New Zealand, Canada and Australia with USA tops for the shortest days required to open a business. For information on doing businesses around the world, see this world bank funded site.

With the above experience I should say it is definitely commendable of Tamilnadu Government to even dream a "2" day timescale for this by 2025.

 
Tuesday, July 01, 2008

Few weeks back I was with a developer doing a code-review for one of his application. The application was a Windows Forms Application written in C# that monitors several running jobs and reports on any event/failure found in the log file.

Many gaps came up in the review which made me thinking (me thinking is surprising isn't it), hence this post. The abstractions in the form of frameworks and IDEs that are available today make programming definitely accessible but at what cost. Do they make a formal (structured) learning of programming unnecessary?. Are today's engineers getting away by not following any coding disciplines like the one's enforced by my mentor(s) and teachers when I learned programming. Before I continue this rattle and list the items let me clarify, I am not intending this post to be a comprehensive check list - it just happens to be the issues I noticed in this particular incident. I have grouped few of my findings in sections.

Reading a configuration file

  • When reading a configuration file (like .config/xml) to load values, validate whether the file exists. If file is not present either load default values and proceed  (or) exit gracefully. Having a simple try/catch  block doesn't mean you have handled all exceptions and you no further work
  • Try not to read the entire file to memory. In .NET this will be for example using StreamReader.ReadToEnd method. Think about what will happen if you the file has been corrupted or wrongly replaced with a 10GB video file. You will crash the machine by running out of memory. In typical configuration files especially for your applications you can identify the maximum likely size which will be say few MBs. So in .NET try to use StreamReader.ReadLine for as many lines as you will need
  • Similarly don't load the entire XML into XMLDOM (like by using XmlDocument) where it is not necessary. Instead try to use XmlReader which is a stream based XML processor and doesn't take up memory (many times of the full XML filesize)

UI Related items

  • While designing design the work flow and the steps with the user of the application in mind. Think about the likely steps the user will follow. Do not design with your code flow as the steps. In this application this meant not having to select a configuration file and global settings screen as first step in the Tab order. Instead have the first screen after application launch as the one the user will use repeatedly

In an earlier project I gave the complete UI design specification in Visio format to a developer that avoided all the iterations and confusions. You can read about that in this earlier post.

 
Wednesday, June 25, 2008

In the Forbes Asia June 16, 2008 issue I came across these interesting facts about Adobe (the makers of Photoshop and Flash).

  • According to Adobe, Flash Player is the most widely available software on Earth (Is it?)
  • For every 1000 users of free Adobe Flash Player and Adobe Acrobat Reader, there is a Web Programmer or Graphic Designer behind creating the content
  • 80% of Creative Professionals or 2.6 Million people use Adobe's Creative Suite
  • Adobe has 1 Million developers using its products compared 4 Million Software developers using Microsoft .NET Tools
 
Tuesday, June 24, 2008

According to Taxman in India, from 1st June 2008 (after this year Union Budget was passed) a licensed software like Adobe Photoshop or Microsoft Office is both a Service and a Product. While world over taxes are being simplified, streamlined and modernized keeping pace to technology - in India our Finance Ministry has proven its fondness for complicating existing laws and getting into legal word tangles. This is in spite of record tax collections in the last few years, this year TDS (with holding tax) collection were up by a whopping 60% from last year. 

While change of classification of software may seem insignificant it has real impact on the tax that a consumer/business is charged while buying a software package. Earlier all Packaged Software/License were treated as a sale of product and charged VAT @ 4% to 12% (varied by state). Now all software are treated as a services as well. It is not reclassified from Product to Service but classified to be both - strange is India's tax laws!. The industry is suffering for the last few weeks with all major dealers and distributors waiting for some clarity from government as this change will result in a tax of 24% on licensed (legal) software, which is absurd. In India Service Tax is Central (Federal) subject, VAT is State subject - so both don't want to clarify this situation.

This week I couldn't buy a software that I needed because of this issue. My regular dealer refused to give me a quotation for few products that I wanted because of this legal mess. He said in his 25 years of being in the business this is the first time he has stopped billing for over 3 weeks. What is even more strange is that none of the software industry bodies are vocally raising this issue to the government - may be they feel the government has no ears to serious issues like these, they are busy listening to the daily threats from the left parties :-)

 
Monday, June 23, 2008

The other day I wanted to password protect for privacy a word document before emailing it. I came across 3 different features in Word that are related to security and it was confusing at first. It took me sometime and few web searches to figure it out. Though the features can be accessed from the Ribbon they are spread over different places. It is much easier to access them from one place - which is the Office Button on the Left Hand Top corner, then selecting the "Prepare" option as shown below.

WORD2007 PREPARE MENU

1. Digital Signature: This requires you buying a Digital (SSL) certificate from a Third Party costing around USD 90 per year before you can do anything useful. Signing with this gives it legal validity in countries that support it. Any changes made to the document after the signing, breaks the signature. This way it validates the integrity of a document (as long the signature is present, the document hasn't been tampered). It doesn't offer any significant privacy benefits.

2. Restrict Permission: This uses the Microsoft IRM (Information Rights Management) service. Using this with a Windows Live ID (Free) or a IRM Server running in your company, you can assign permissions and access level to the document.  With the Windows Live ID feature, the recipients need not be in your corporate network, it will as long as they have a Hotmail ID (Live ID).

3. Encrypt Document: This is a simple password protect feature. Assign a password and then only people with the password can open the document. 

All the above three features are present in Excel and PowerPoint 2007 as well.