AppJam Event

Today I happened to attend the AppJam event at IIM- Bangalore.

What is AppJam as per what is mentioned in the site :

AppJam is India’s first of its kind event to showcase the best of mobile apps. It brings together various stakeholders of mobile app business ecosystem. At AppJam know about how to market and monetize mobile apps from industry experts, experience the mobile apps and vote for tommorow’s top mobile application.

Though I dont know the name of the anchor in the event. The way he started and made people involved was very impressive. The first presentation in the event started with Atul Chitnis, one of India’s best known tech guy. He started with how to change your mind set if you want to become a “mobile applications developer”, who should be the target audience, how to monetize etc etc. It was really informative. Then followed with a panel discussion where in the panel member (mentioned here) gave more insight into what challenges one would face right from starting an app to deploying in a AppsStore or what ever place. One of the panel members wanted developers to be very positive, understand how would one receive that app and a very interesting question like “Would you, the one who developed app, like to buy the app which you built for the price which you are willing to sell to an End customer?”. If the answer is NO. End it there!. I heard that NOKIA is going to come up with a good way to help developer writing apps.

Then many participants show cased their applications and explained its use. Of course they were given a time span of just 3 mins to show case.

During the course of the events, many of the attendies were asked to write their ides over a board. After lunch session people who wrote ideas are asked to present them within a minute, I mean overview of the app :). It was a funny session where in the audience are provided with stress balls to hits the presenter if he/she says about an already existing app or his app is boring or takes more than 1 min :). I too gave an Idea of an app 🙂

After this I left the place to join my friends in Cricket. Unfortunately the rain God drenched me completely before I reached home!

Thats it for now! 🙂

Interview Question : Print nodes of a Binary Tree level order from leaves to root

I think most of you might know about Breadth First Search (BFS), in which you print nodes of a tree from root to leaves. Now there is a small change to the way the nodes are printed. Lets say given a binary tree, I want the nodes to be printed level order but from leaves to root

Eg :  consider the binary tree at this locations

Now you need to print : 5 11 4 2 6 9 7 5 2

Porting C++ based application from 32-bit Architecture to 64-bit on Windows

I have been thinking since a long time to make this post. But because of some busy schedules its been delayed so long.

When I was working with Trilogy, I got a good opportunity to work on a very important project – Its porting a legacy (a product with around 20 years history 🙂 ) 32-bit application to 64-bit. I felt it as a challenging task for a frehser out of college. There were many people/customers who wanted this product to be in 64-bit because of the huge memory capabilities it provides.

The source code is in C++. Though I had no knowledge of difference between 32-bit and 64-bit application and no touch with C++, I took it as a challenge. Many night-outs went into it. I would cover some things like:

1. Visual Studio Settings required to port
2. Utility to check if a application is 32-bit or 64-bit
3. Links that might be of use

1. Visual Studio Settings required to port

1. Visual Studio 2005 and 2008 has the capability of building applications in 64-bit mode.
2. Open your application source code in Visual Studio.
3. Lets consider building in Debug mode, for that change solution configuration to ‘Debug’ in the selector at the top of IDE window.
4. Click Build->Configuration Manager. You get the Configuration manager window. In this Window select the Active solution platform-> New.
5. In Type or select new platform -> Select x64. If this option doesn’t exist then the x64 components are not installed properly with the VS 2005/2008.
6. Now repeat the following steps for all modules. This will change the configuration settings for the project.

Project Settings:

a)      Click on <your_application> in left panel -> Right Click on it -> Click Clean
b)      Now Right Click on <your_applications> -> Click properties -> A dialog box will open
c)      From the left pane of this dialog box, select C/C++ -> Code Generation -> In Runtime Library option, select Multi-threaded debug (/MTd).
d)     Add preprocessor directive _MT in C/C++ -> Preprocessor
e)      In <your_applications/required_projects> properties C/C++->Preprocessor-> Preprocessor Definitions, remove “_IX86_=1” and replace it with “_AMD64_=1”
f)       Also in <your_applications> properties add “_AMD64_=1” in C/C++->Preprocessor-> Preprocessor Definitions.

2. Utility to check if a application is 32-bit or 64-bit

We can also use the following utility (Click here) in order to know specific information about a file.
The usage of this file has been mentioned in
The file type should be either Wx64 (if filever.exe is 64-bit) or W32 (if filever.exe is 32-bit) for the executables/lib/dll files, which we built.

3.  Links that might be of use

1. 20 common issues that you face while porting application from 32-bit architecture to 64-bit architecture.
Click here

Note: The above mentioned information/links are done some time back, but I think they are still valid. Please leave a comment if you find any mistakes in the above. This post might be of some use in getting started atleast 🙂