Thursday, April 22, 2010

Some resources to start on Android.

There are many resources available on the net that will help one get started on Android quickly. So instead of reinventing the wheel, I am going to recommend some of the resources that I thought were very helpful.

I am also going to suggest the order which one might like to follow starting from beginner level to and advanced level.

Beginner : This tutorial provides a good overview on all the components with the Android system. It also takes you through the process of building a "More than Hello World" application/




Geek : This provides a good overview on how the application should be built on Android.




Nerd : This one covers Android Internals. I think it is a must.

Monday, April 19, 2010

Objective C on Windows using GNUStep - Part 1

One of the major hindrances in developing applications for iPhone is that the iPhone SDK is available only for the Mac OSX platform. Though there are some initiatives like objectiveclipse which are trying to bridge the gap, most of them are still in the conceptual stage.

Even though we still cant build iPhone applications on Windows yet, we can definitely sharpen our Objective C skills ( the language used for iPhone development ) without having to purchase a Mac.

Here I am going to show you how to develop Objective C applications on Windows using GNUStep. Part 1 of our journey for learning Objective C on Windows will only involve setting up GNUStep and compiling our first Objective C code. We will cover Objective C details in subsequent tutorials.

Download GNUStep:

* Go to the URL : http://www.gnustep.org/experience/Windows.html
* Download the latest version of following packages :
-> GNUSystem Version 0.23.0
-> GNUCore Version 0.23.1

Install GNUStep :

Just double click on the files to install. Admin rights on the machine is not required for installation.


* Install GNU System first.
* Install GNU Core. ( Note, Install Core only after you have installed System packages ).
* In order to run GNUStep, go to Start -> Programs -> GN
UStep -> Shell

If you get the following shell, then you have successfully installed GNUStep and you are ready to start off with Objective C Programming.



Hello World using GNUStep.

* First let us write our Hello World program. I use notepad++ for writing my Objective C c
ode. I find it simple, light weight and easy to use. You can use any editor of your choice.

* Create a file main.m

main.m :

#import <Foundation/Foundation.h>
int main(int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *name = @"Hello World !";
NSLog(name);
[name release];
[pool release];
return 0;
}

* We are going to use 'make' file to build the this objective C code.
Let us create a file called GNUmakefile. Please note that file names are case sensitive.

GNUmakefile :

include $(GNUSTEP_MAKEFILES)/common.make

APP_NAME = HelloWorld
HelloWorld_HEADERS =
HelloWorld_OBJC_FILES = main.m
HelloWorld_RESOURCE_FILES=

include $(GNUSTEP_MAKEFILES)/application.make

* Now navigate to the directory where you had saved these two files and ty
pe make. It should run the GNUmakefile and compile the Objective C code and create an executable.



* You can see that a directory HelloWorld.app has got created. This directory constitutes the application. This application can be executed using the following command

openapp ./HelloWorld.app



* This will write HelloWorld to the Windows Even Viewer. ( NSLog writes to the event viewer ). To navigate to the event viewer Start -> Control Panel -> Administrative Tools -> Event Viewer. The output will come under 'application' events.

This ends the small but important first step towards learning Objective C. In the next part, I 'll cover Objective C fundamentals.

Sunday, April 18, 2010

Wireless Innovation in a small Restaurant.

I was taking the night volvo while returning back from chennai after a client presentation. Chennai was in its hot and humid self and I was terribly hungry and since I had some time on my hands, I went about looking for a place to eat and to cool off. Looking at the state of the Bus Stand I had little hope though. Luck, however, smiled at me in the shape of a small AC chettinad restaurant.

I was surprised and shocked at the use of technology in this small restaurant. The waiters here were taking orders using PDAs. The entire restaurant was networked via a wireless LAN. Kitchen had a system to remotely update the stock and the waiters could, using their PDAs, find out which dishes were available real time. The waiters could even print the bills remotely, thus avoiding long queues at the counter.

This was an amazing use of wireless technology at unlikeliest of the places. A small restaurant adopting wireless technology, something that even five star hotels have failed to do.

"A little effort and an innovative mind is all that takes to make it big"

PS - The prawn biriyani was good too