ASUS All In One PC ET2040 – A PC the time for which has arrived

ASUS ET2040 All-In-One-PC (From:

Finally a PC is here which addresses the eternal problem of unexpected power shutdowns that people face in India. This uncertain power scenario of India has prompted Indian desktop users to chip in extra money into the purchase of an Uninterrupted Power Supply (UPS). For entrepreneurs who are setting up a new office it is an extra burden to put valuable investment into a larger UPS which is more expensive. The indian computer purchaser is always faced with an eternal dilemma of whether to purchase a laptop and save on the UPS investment or purchase a desktop and put that extra money on a UPS. There are pros and cons to each option. A laptop has the benefits of easy portability and power backup. But the cons are that it is more expensive and costs more money than a desktop for the same computing power and has small screens! A desktop is cheaper, has larger monitor and more computing power, but its power usage is more. It also no power backup for those times when the power company pulls out the lights.

I have always felt a need for a hybrid PC which has most features of a desktop but has the benefits of a laptop too like power backup. And ASUS ET2040 addresses this beautifully.

There are other great features in this PC too:

  1. Space is always a constraint in our Indian homes. And, this PC takes care of it perfectly. It is almost like a laptop but with a 19.5 inch screen. On the desk, it occupies lesser space than a laptop!
  2. It can act as a perfect entertainment center allowing for gesture control of the OS without the use of the mouse or keyboard. You can sit far away from the laptop and control when the PC plays a video/music by just waving your hand.
  3. It has got all your multi-media needs taken care of by providing a port for everything USB 2.0, USB 3.0, HDMI, 3-in-1 card reader, audio in and out and behold this: a kensington lock port too! So, you can make this a corporate desktop too and secure it to the table for those times when you are off for a tea/coffee.
  4. It comes with great in-built applications like PhotoDirector to edit pictures, PowerDirector to create great videos at home, Music Maker Jam to create great studio like music, Asus WebStorage to provide you with 100GB of online storage space and many other great softwares.
  5. It really has a great 19.5 inch LED screen with backlight to give you more crisp colors. So, you can watch your movies on the computer itself.

You pick up the ASUS All in one ET2040 PC from Amazon.

Asus has come up with another great new product called ASUS EeeBook X205TA. It is like a tablet with super powers. I have always needed a tablet which I could carry on my tours and be able to also type emails or documents effortlessly. This product fills that gap for me. Check it out too. you’ll like its features.


Android development vs iOS development

First things first. I am primarily a Java developer. But I am newbie at mobile development. So, for a last few months between my regular projects I’ve been learning to develop for Android and iOS at the same time. And I felt a different experience developing with both of them, obviously. With this post I want to capture these differences a newbie experiences albeit from the eyes of a Java developer. Here they are:

1. Cost. iOS has some serious entry barriers. It requires that developers register with it by paying USD 99 per year. Only after this will they be able to test their apps on the iOS devices they have and publish your app too. And why is it important to develop using a real iOS device and not on the emulator? Because a lot of features can’t be tested on the emulator. Also, you need to get the real feel of the app on the device which might be quite different in the realtime. This is not all. The developer cannot develop for iOS on any other machine other than an Apple computer like Macbook Pro or iMac. And we all know what a premium price Apple computers command. And that’s not all. the iOS devices too are way more expensive than an Android mobile device. Just for development you could get an Android mobile device for Rs.4000 whereas an iPhone 5 would set you back by Rs.45000. More than ten times the Android. And what does Google charge for you to register with them and publish your app? Only USD 25.

2. When you publish your iOS app Apple will take time, even a few weeks, to evaluate your app against their guidelines and performance parameters and will approve it for publishing only if your app passes Apple’s tests. And with the Android platform there is no approval process or period. Your app is published almost instantly! While this might look like a great deal with Android development it is also why you will find the most silliest apps on the Android Play Store because a budding developer might’ve published his/her hello world app on the Play Store. Mind you, even I am guilty of this charge 🙂 This might be one reason why the apps on Play Store might equal or exceed the number of apps on Apple’s App Store.

3. Coming to actual development now. It takes time for Java developers to get used to the Objective-C development paradigm. But once you get used to it you take to it like fish to water. And mind you, this is the best time to get into Objective-C development because of the godsent feature of ARC. In short, this means that you no longer have to keep track of the object references/pointers so that you release unused memory so that your app doesn’t crash. This you might , as a Java developer, recall gave you nightmares at the start of your career when you were evaluating which way to go. C++ or Java 🙂 Now, except for the different syntax to describe method calls, method prototypes or class definitions it is as good as Java development 🙂

4. There is a distinct difference in the approaches of layout of components like buttons, labels, text fields ,etc. Android provides for a visual editor which allows you to drop components into it where you like. You can simultaneously see the layout in xml format in another tab of the visual editor. So, on Android the components are laid out in a nested manner and are represented in xml format. So, this brings in a sense of relative layouts. Which, in my opinion, is better than absolute layout. On iOS, there is only a visual editor. You never get to see/edit the raw file where the layout is described. But during coding you understand that all components are laid out in absolute terms. There is a bit of relative layout which dictates how the components look in iPhone and iPad but mostly is absolute.

5. The very good thing which I found in both Android development and iOS development is the amount of documentation that is available. Xcode provides a lot of method/variable completion which makes the job of a newbie very easy. You just have a to type the first two characters and xcode completion assistance kicks-in and then a newbie can look like a professional 🙂 Since I am coming from a Java background I find seeking documentation/help for Android very easy on developer site of android and stackoverflow 🙂

Overall, as a newbie iOS developer I find Xcode environment and iOS very impressive and not so intimidating as I expected it to be. Time will tell how my opinions shape about both of them.

The Eclipse IDE Java perspective was all messed up

Eclipse is my favorite IDE when it comes to development in Java, Html, Javascript, Android, Xml files, etc.

But every once in a while it acts up suddenly and without any seeming reason. I have been in this situation quite a few times. I am sure you’d have seen this too if you too are a regular Eclipse user like me. The windows in the Java or Jave EE perspective go all haywire. The editor window doesn’t expand to it’s regular position. And same happens with other windows. I started using the Java EE perspective when this happened in Java perspective. But that didn’t cut it for me. Didn’t find a solution for it on google too. Didn’t know what to search for.

Found the solution in a rather trial and error manner: Right-click on the messed perspective tab and click on the Reset menu item. That’s it! Enjoy 🙂


Google Compute Engine vs. Amazon Web Services


I’ve been a customer of AWS for a long time. But I am also a great fan of Google and it’s products. I was among the first people who tried out Google App Engine(GAE) when it came. It’s another matter that GAE disappointed me with all the restrictions it places on the developers because the java applications are running in a sandbox sort of environment. That made me gravitate towards the EC2 instances of AWS. Even after so many years  and with so many competitors in the fray I can’t find a credible competitor to the value proposition of EC2 instances offered by AWS. I have evaluated Rackspace in the past. It is way too expensive than AWS. Just read about Google Compute Engine today and I promptly jumped in to evaluate it. Just to see what my most favorite company has to offer to me. Will it be good enough to make me shift from AWS?

Here’s what I came back with after my evaluation of the Google Compute Platform:

  • Among the many things that Google has got all wrong is the consistency of information. It is so hard to find all pages related to a product in one place. It is spread across many different domains and urls. Sometimes, it becomes a pain to find the google projects console from some documentation page of Google Compute Engine(GCE). Even the documentation is spread out. It gives me a feeling that once you close your browser you will not be able to find the same page again.
  •  I didn’t get it why google had to make it’s own command line tools to like gcutil, etc to work with the virtual machines? With so many steps to do with such command line tools it makes it difficult for the first time user to comprehend the import of the steps. Also, the repeatability of the steps become difficult.
  • Don’t lose heart already. There is a browser based console for GCE. You can start a new instance here like AWS, which the regular AWS users have come to like and rely on. Instead of a wizard like approach to start an instance that AWS takes GCE lays it out in one page. You check all your options and then click on the “Start Instance” button. I chose an N1-Standard-1 type of a VM.
  • You will then have to use a gcutil command to ssh into your server which has been assigned an “Ephemeral” IP address. I like the AWS approach of using the ssh command with a key file option directly. The gcutil command is long and takes time getting used to.
  • I quickly installed an apache server to check how fast the VM installs it and what are the response times. Well, the apache installed quickly like it was supposed to. And promptly I put the Ephemeral IP address of my instance in a browser to see if I see the “It Works!” page. And I found out the GCE, by default, closes all ports for incoming traffic!
  • Okay, this paranoia is something I can live with. But like AWS offers a way in the AWS console to open certain ports I thought GCE would offer me something like that in its console. But I didn’t find one. The google documentation says that we could use iptables to open ports. Well, even tinkering with iptables for 5 minutes with documentation from the net didn’t help me open the port 80.
  • I promptly deleted my instance, at this point.

Disappointing, is what I can say of my experience with GCE.

Price-wise, AWS takes the cake again. If you purchase a reserved instance AWS works out “at least” half the cost of GCE instances. The only good thing about GCE is that it bills a person by the minute after the first ten minutes of usage.

Summary: I am not migrating from my AWS instances any time soon.