Saturday, November 27, 2010

End of STPI, What to do Now!

Recently we got a letter from Custom Department, referring about ACES. The letter says the administrative control of STPI is coming to ACES (www.aces.gov.in), I still can't claim any legal words into it, as most of the CAs are unfamiliar about it, but it seem to me yet another stamp over the forthcoming closure of STPI.

So, now what?

Moving a STPI unit to SEZ is simply not allowed, a SEZ unit should be a fresh start.

So as a member of STPI, you have been claiming tax benefits but paying the MAT. With the ever rising MAT perhaps, you have accumulated it quite well. So the year 2011-2012 may be well worth to utilize and balance your MAT.

Usually the members of STPI are small and medium enterprises (10crore-50crore turn overs), and unlike me :-), they seem not to reveal much about their plans. Waiting for one year (and balancing your advanced tax), may reveal about some actual plans. While, it is near impossible for SMEs to setup units in SEZ, who knows, they can come with plans for incubation.

And try to make as much profit as possible in 2010-11. Cut some of your expenses for April, onwards. :-)

Monday, November 22, 2010

MFC vs CLI

Among the multimillion tasks we are engaged in, one is co-ordinating the UI design of AceSpy 6 with the outsourced UI designers, so of course this means coding for the new version is going on. And in C++.

Well, A burnt child dreads the fire.

So when the coders are working in MFC version of AceSpy, I need to make sure it don't meet the same fate of VB version. Because,

1. Microsoft ditched VB in favor of .NET,
2. Microsoft made Windows Phone 7 incompatible with 6.x applications,
3. Microsoft do not support C++ native development for Windows Phone 7,
4. MFC is very old platforms, many feels MS can ditch it as well.

Nevertheless, I feel developing in MFC will be lot better. My points are:

1. The alternate to mfc is c++/cli, but if you want to use cli, why not just use C#? Simpler to learn, easier to code, no pointers, no ^ to deal with.
2. One will certainly want to use C++ for it's power and performance, CLI might not bring it. As it is managed code, usage .net framework.
3. C++ is already prone to typing mistakes, how come Visual Studio 2010 missed the intellisense for CLI projects.
4.  C++/CLI also misses LINQ, WPF, etc while C# has them all.
5. MFC is in continuous development, with version 10 in distribution with VS2010.
6. VC++ 6 projects can more easily be converted to VC++/MFC 2010. Hence, a lot more code samples to learn from.
7. MFC native applications will have smaller footprint, direct contact with APIs, no marshaling, and hence more suitable for writing our kind of applications.

While, it is dangerous to foretell what Microsoft has in plan, but it might be safe to say MFC is not going down anytime soon.

 And if you are a VC++ / MFC programmer, you know we want you. (mailto:jobs@retinasoftwarein.com).

Saturday, November 20, 2010

Read Code

There are tons of companies who don't use any standards in development whether or not they are, so called, ISO certified. No code repository, No UMLs, No Test cases. What is left in it is 'Code' in folders.

However, every single programmer knows that it is harder to read code than to write new.

So, what the new guys do, is send the old codes to Recycle Bin, and start fresh. However, time and again it has been proved that it is fatal to rewrite an already written and tested code. The old code has been written, tested, optimized, tested and released. If programmers try to re-write all codes again and again development time will increase several times.

In a competitive market, it is fatal for the company to stand still when the entire product is being rebuild from scratch, while the competitor is making small releases periodically slowly wiping you out of scope.

Usually the new programmers will claim that old code is 'junk', however, there is no guarantee that the new one written wont be 'junk' for the yet newer programmers to join. Hence, a manager must watch that project files (documents as well as codes) is being read and followed before starting new work.

The ability to read and understand code is more important than that of writing new code.