Tuesday, April 13, 2010

If Apple holds the future of Computing ,I dont want to be a developer

Software development is my childhood dream. I always wanted to be computer engineer and now i am very close to it . Only two months away from my computer degree .


But suddenly a question pop ups in my mind “ Do i really want to be a developer of the future? “ .After seeing current dynamics of industry, my answer seems to be no !!! . Let me explain.


Openness and Choice


The primary things drew me to the software field is its openness and choice. Software industry became very open ,thanks to open source movement and Internet. Its open in terms of code,process,entrepreneurship etc . There are millions of books,sites,blogs to help you in every step of journey . There are many experts to help you when you encounter a problem . We call this expert group as the community.


Software field is an ocean of choices . We have choices in platform , programming languages ,frameworks etc. There no one to force you what to use and how to use .


The openness and choice always results in innovation . If you look at the enterprises like Google , Facebook ,you will know what type of innovation can happen in open world .



Mobile is the Future


Mobile devices are in use over decade. But its potential reveled only after iPhone is released . Mobile is the feature . What we do today in the PC , we will be able to do in mobile devices . Mobile devices doesn't only refers to the smart phones , but they also include netbooks , tablet computers etc . The power of mobile devices growing day by day and its predicted that future generation will doesn't know what a mouse is !!.



Can we expect same openness and Choice in future ?


The openness and choice what we enjoying today is for PCs and web. But is same openness and choice will be there in mobile devices . By seeing current scenario I am afraid it will be not.


Apple is the leader in mobile devices . iPhone was named as Jesus phone and AppStore is De facto standard for mobile applications. They have more than 150,000 applications in the store and its a very large compared to second big store ,Android Market, which has only 30,000 apps.


From the above figures its clear that if you want to be developer for the future , you have to develop for the mobile and that too for iPhone . But do you think it will easy?


Closed platform and Closed minds


Apple is always a closed platform like Windows . But it will create no problem for a developer till they create great applications using the platform . But the iPhone Eco system is closed such that you will start to suffocate in it. The following are the reasons that make you suffocate


1.Develop in their own hardware and OS : To develop for the iPhone you need to own a Mac. Come on man , for developing for a mobile device you have to get a new system altogether? .If you are Mac user then there will be no problem.


2.Closed minds : iPhone SDK policies states that you cannot share what you are making with your fellow. If you do that,then its a offence . What??? is this way you develop applications in the past . We had great communities to help , but now we are helpless.


3.No choice in language and tools : Recent change to iPhone SDK TOS stated that you have to use Apple tools to develop for the iPhone . Which means their own language Objective-C,IDE etc etc. If you are expert in other languages ,you skill sets are waste . You have to learn new language and new tools or stay away.


4.Big boss has to approve your application in order to reach the users : Whenever you developed the apps in the past , there was no one to say “hey let me check the app ,if you cant please me you cant get users” . It was the users who made an app successful or failure . But in the case of iPhone , Apple has to approve the app in order to reach to the user .This means if you are in rival company you cant get your app in Appstore. Google voice is a good example.


Are we going to develop applications like this in feature. Sitting in the dark room, fighting with 80's language and waiting big boss to approve your app. I fear yes.


Still hope is there


Though current scenario looks like hopeless , there is a ray of hope in dark called as Android. An open platform which embraces the openness and choices in the Mobile industry . Though its not market leader , it will be in 2014 as projected by IDC.


I am desperate for Android to win, so that i can pursue my dream . There are millions of developer like me who want the same. If it is not going to happen , i will change my field rather than developing for platform like Apple. Whats your stand??



Friday, March 26, 2010

Array copy hack in C

Programming is all about hacking . Hacking in good sense means tinkering the code for achieve great things.
So here is a small hack in C using which you can copy one array into another array without using any loops!!!! and obviously without using any in built in functions.

Here is the code

#include
int main()
{
static int i=0; //array index
int a[10]={1,2,3}; //first array
int b[10]; //second array
b[i]=a[i];
printf("\n %d",b[i]);
i++;
if(i>2) exit(0); //continue till first array is empty
main();
}

The hack uses the two simple facts of C

1. A static variable will not be re initialized when a function is called

2. main ( ) is a user defined function

Do you have any better hacks? Let me know!

Saturday, February 27, 2010

Mozilla Firefox -”Browser for Human Beings”




I attended Mozilla DevDay yesterday here in Bangalore.So thought of sharing my experience with you guys.This post does not gives you detail happening of the day's activities...it will be coming soon..If you want know what it was all about check here.


Firstly I have to confess that I am not an ideal Firefox fan. I switched to Google Chrome when it arrived in Linux few months ago and very happy with that. But attending the yesterday's conference changed my view about whole FireFox community and why Firefox is not yet another browser in world. By the way , i am posting this post from Chrome itself :)


Firefox vision of Web as a platform

If you are following the news very closely , your may be heard that word “Cloud computing”. Its says you can do every thing in the browser.Companies like Google,FireFox say that Web is not just document host, but its next generation application platform.But both companies differ in their visions.

Google's vision is very enterprise centric.Its all about blazing fast web applications, fast web browsers and fast Internet connections. But FireFox vision is very user centric. They are more interested to help user to deal with web with little annoyance and with greater security and privacy.

One of the very interesting project in this path is,

Account Manager– A protocol and add-on which enables the user to log-in to any site with very secure manner and that to right from the Browser window. A great step towards avoiding fishing.

It also should be noted though this feature now in the FireFox, it can be easily implemented any other browsers since its open, which means Firefox does not want tie the user to a single browser as other browsers.


Firefox vision of Open Web.

“Web is very healthy and open today....But is it will be same after 100 years?” ,its the question asked by one of the Mozilla Developer.We are all enjoying a nice open web.But recent developments are becoming threat to open web. FireFox wants to our next generation to enjoy the open web which not governed by any corporation or government. Open web means open formats, open source and open standards. One of the most controversial dissuasion in open web is the open format for video codec in HTML5 . Its nice to see FireFox is committed to the open source,royalty free implementation codecs like Ogg thoera.Firefox believes that Web should be available as it to anyone which any control over


Firefox -”Browser for human beings”

Community is what makes FireFox very special. Many millions of users are participating in shaping the Firefox and Mozilla as a whole. It is the key part that is missing in other browsers. Thought Google Chrome is also an open source browser, i never heard or seen a guy saying i am chrome guy , but you can see millions of FireFox guys outside. So FireFox gives a human touch to the browser.


Firefox.next

DevDay gave me a chance to see the what will be available in FireFox 4.0.Not too surprisingly many nice features of Google Chrome will be coming to the FireFox like tabs on top of URL bar, single reload,stop,go button etc.But thankfully FireFox not trying to yet another Chrome. They are also trying many great user interface ideas like Home Tab,Account Manager etc which are unique to Firefox.It also nice to see that many great developer tools like Ruler will find their place in next Firefox version.

Firefox was the first browser to break the IE monopoly over web. It showed how much innovation can be done in browser space. I hope that they continue their good work and make the web a great world to be in.


Next post will be on some of very interesting projects by Firefox that are showcased on DevDay .They are targeted towards the young ,new web developers. So if you are interested stay tuned......


Saturday, January 9, 2010

Java- the language of the future

Java is Dead.It has no feature . Java's future is uncertain in the hands of Oracle.Is this you hear about Java everywhere?Is this discourage you to learn Java?
Then you should read this post to find out why Java still matters and a good language to learn.

Java is the language that first to come up with idea of platform independence. It was important idea since programmers were divided in terms of platforms and porting applications from one platform to another was extremely difficult.Also advancement of Web wanted a cross platform environment to evolve. Java just helped to do it.Starting with applets , the first dynamic content on the web ,Java is a major player in the Web. But as technologies are changing Java is getting diverse application which should we aware of .So in this post we explore the what Java is actually useful for and not useful for too.

The things you should not try with Java.

1.Don't use Java to write Client side programs like Applets.
When Java launched at 1995, it was first used to write the client side web programs are called as Applets. But Java Applets no more an attractive idea. Since Java Script +AJAX doing wonders in client side , it make no sense to wait for JVM to load in order to see the applet running in the browser. Though we cannot do some of the things in Java Script as in applets like drag and dropping files from machine , advance of HTML5 can change that. So as a Java Developer applets doesn't make sense any more.

2. Java for desktop applications has a limited scope.
Yeah there are many desktop applications written in Java(Open office use Java), but they are slow and clumsy when compare to the application written in C/C++. The JVM again plays a major role here.Java desktop applications tends to be memory hungry, which can slow down the whole system . So as a Java developer writing desktop applications is not an attractive option.

Things that you should try with Java

1.Java is perfect language for server side programming
Many argue that PHP better than Java for server side programming. Its true if you are developing the sites for general information or for organising the information .But if you want develop a web application for Web like SaaS , then Java is perfect language for you. Its fully object oriented nature with strong typing gives you the power of building the strong applications.Its nicely integrates with the client side applications like JavaScript .

2.Java is the language for Google Android .
Google android is the mobile operating system Google.Its making waves in the Tech industry and seen as a true competitor iPhone. If you are planning to develop the applications for the Android , then you should know the Java. It is the official language for Android. So it may encourage you to learn the Java since smart phones running Android are growing very rapidly.

3.Java the language for Cloud.
Every cloud application Platform supports Java .Google App Engine ,Amazon EC2,Sun cloud etc are well supports the Java language to develop the high class cloud application that can scale very easily and flexibly.

4.J2ME to develop cross platform applications for Mobiles.
If you are willing to develop a mobile application that should run on the every mobile , the Java is language for you. Except iPhone all the mobile platforms support J2ME so your application can run on any mobile if you develop it using Java.

After saying this all, some will ask what is the future of Java in the hands of the Oracle. We dont know what will be the future but there is nothing to panic. Because Java is open sourced in 2007 , so if the Oracle want to close the source ,Java will evolve through the open source contribution .

So Java is language of past and for the future too. So if you want to learn a new language in this new year, start with Java.Wish you happy Java journey.
Start the Java journey with Sun tutorial


Monday, January 4, 2010

5 Golden Rules of cloud computing

It is the forth article of ongoing series "Cloud computing-not only for big boys".
After knowing the cloud and its features , we have to be very careful in choosing and using cloud services.
Though price is major deciding factor, we have to take care of other factors too. This article gives you the 5
golden rule of cloud computing that you should follow.

1. Always backup your cloud data

Cloud is not a error-free environment. So when there is an outage in cloud servers , there is always possibility of data loss.Recent Microsoft SideKick incident is one of the ugly incident that made many customers to loose their data permanently.So always backup your data in a safe place like your hard disk , portable hard disk etc

2. Don't store your personal data in cloud

Security one of the major challenge in cloud computing. Research is going on to find a perfect security model for the cloud .But its not yet implemented. So don't store your personal sensitive data

3. Share with Care

When you share the data on cloud you should be very careful .Since though you delete your copy of data it will remain in the cloud since its shared with others. So when you want to share the data be sure about person and content.

4. Spend some time to read privacy policy

In cloud computing paradigm privacy plays a huge role. So when you sign-up for a cloud service please spend time reading the privacy policy of the cloud service providers.Don't blindly press OK for everything.

5.Choose a stronger password

Its a general care that to be taken when you use the web applications. But the need of stronger password is increased with increased use of cloud computing.
An research study says its only takes $45 and some hours to crack a 8 character password. So its good practice to use at least 12 character passwords.

Tell us what you think about these rules?

Sunday, January 3, 2010

Promising technologies of 2010

This decade seen many great technologies.Some stayed and some lost in time. This post will bring you the promising technologies for 2010.


1. Cloud Computing.

Cloud computing is everywhere. Its in business, entertainment,education. Though it is in its infancy state it will be one of most promising technologies of 2010.


2. Mobile Computing (Android and iPhone)

The smart-phones are becoming more and more popular now days . They are replacing bulky desktop computers. They are becoming the integral part of our life. So the two major mobile platforms Android and iPhone will have a great impact on the technology in 2010


3.Social networking

Social networking is in the scene from many years. But from last 2 years it has been a major player on the Web . The services like FaceBook,Twitter,Orkut have millions of users . The trend will be continuing in the next year too.


4. NetBooks.

Sleek and light weight computers won the hearts of millions of users. Netbooks will be a real competitor for the bulky desktop computers.


5. Web Applications.

Its a part of the cloud computing. But it needs a special mention since many desktop counter parts are now replaced by their web applications .Some of the examples are Google Docs, Gmail,Microsoft Office Live etc


Which technology you think will be the trend changed in 2010 ? Share with us.

Thursday, December 31, 2009

A Tech Event List for 2010

Happy new year .2010 will be the very interesting year for the Tech World. There are many major events lined up which have the potential to change the whole industry itself . Stay tuned to these dates so you don't miss any of these.

1. January 5 -Launch of Google Phone (Nexus one)

Google entered the mobile world with their open source OS
Android. Google earlier said that they are not interested in making their
own smart phone . But the time is changed now. It is rumored that Google
is launching their own smart phone with brand new Android 2.1.It will
sold in unlocked version for a price of $599.So stay tuned get the
glimpse of Google Phone aka Nexus one


2. January 12- Stable version of Google Chrome for Linux and Mac.

Google Chrome is the fastest browser on earth. Its still in beta
version for Linux and Mac. But the first stable version of chrome is
releasing on Jan 12 for these platforms . If you are a Linux/Mac user
you probably don't want to miss this.


3. January 26 – Rumoured launch of Apple Tablet


Apple has the habit of redefining the market. It done it in past
with iPod and iPhone. This time they want to do it with latest Apple
Tablet (called as iSlate , iGuide etc..not yet confirmed ).If you like
the gadgets stay tuned to it.



4.March – Google Wave stable version

Google wave is new way of collaborating . Its now used by one million
users through invitations. But in march it may go to stable version
and more and more people will have access to it.If you dint get the
invitation , March will be your month.


5.April – Launch of Ubuntu LTS 10.04


Ubuntu is one of most popular Linux distors.Its releasing its Long
Term Supported version on April 29. Its more interesting release since
9.10 was a major hit. So can ubuntu reach 10 second boot up time?



6. September/October- Launch of Chrome OS netbooks

Chrome OS is a browser based OS which runs Google chrome on Linux
kernel. The first netbooks with Google chrome OS pre-installed will
be shipping from middle of next year. Ready to catch one


It is a very short-list .May be you should add this to your to-do

list or event list so that you don't miss them .Do you have any interesting
event to share? Share with us.