Amazon deals

Saturday, May 21, 2011

The (almost) perfect guide for buying a cellphone

1. Can you live without a smartphone?

If the only use of your phone is to make calls, text and grab a few snaps and you can live being ridiculed for the rest of the life for not having a smartphone by quipping I'm smart so i don't need my phone to be smart, well you might just survive. But if you really need on the move light weight access to your mail, your docs and want to kill your boredom on the move with really fancy top notch games, then definitely go buy one.

2. Where do you live?

The single most important factor that decides what kind of phone you buy besides the cost and your need is your geographic location. Say you live in one of the third world countries (read India) which is not likely to be covered by 4G network anytime soon you definitely don't need a 4G phone. (You can scratch out EVO4 and IPhone 4 from your list now) Now if you live in an rural area currently covered by 2G , do a gut check whether 3G will be available anytime soon. If yes then only go for a 3G phone. If no settle down for a 2G phone, i don't think you would require a smartphone even as with slower network connectivity because of old age technology like EDGE you smart phone would be practically useless.

Services and speeds (courtesy: cnet.com)
 1G  2G  2.5G 
TechnologyAMPSGSM
CDMA
iDen
GPRS
1xRTT
EDGE
Speedsn/aLess than 20Kbps30Kbps to 90Kbps
FeaturesAnalog
(voice only)
Voice; SMS; conference calls; caller ID; push to talkMMS; images; Web browsing; short audio/video clips; games, applications, and ring tone downloads


 3G  3.5G  4G and beyond 
TechnologyUMTS
1xEV-DO
HSDPA (upgrade for UMTS)
1xEV-DV
WiMax*
Speeds144Kbps to 2Mbps384Kbps to 14.4Mbps100Mbps to 1Gbps
FeaturesFull-motion video; streaming music; 3D gaming; faster Web browsingOn-demand video; videoconferencingHigh-quality streaming video;
high-quality videoconferencing; Voice-over-IP telephony


*WiMax has been mentioned as a possible 4G technology, but no standards have been set.


3. What kind of hardware should your phone have?

The most important factors of the phones performance are its processor and its RAM. So you tend to think if the number of MHz (or GHz) of your phones processor is more then its certainly faster right? So what is there to think about it, you may presume? Well, you should really think about how much processing you require as faster the processor the more it drains your battery. If you would never play angry birds on your phone, and all you need are docs and email you dont really need to go for the 1, 1.2 Ghz monsters. But yes if HD games are for you then definitely check the spec sheet whether the phone has an add on GPU as well. And about RAM yes the higher the better (try the latest iNand maybe)

4. The brand factor....

So if the single factor that made you think you need a smartphone is that you want to show off to the gullible folks around  and you don't really care about performance, stop reading and go get a skin deep iphone.







5.Which operating system should your phone have?

a) Apps
So you shelled 20-40K INR on your phone. Then you need apps to do all the fancy stuff the phone boasts it can do. So you log on to the app store and you see every app you need tagged with a 10$ fee. Damn irritating rite? If you don't have all the money on the planet to invest on apps and don't really want to bear the burden of piracy  settle for a droid which has lots of free apps and open source support. If you have the money, well decide you want to see the same windows that adorns your computer choose a winphone or you want something trendy read the brand factor :P

b) Upgradability

So the company manufacturing your phone added some cool stuff to the operating system. They made it smarter smoother and power hungry. And now they are putting it on all new phones and you can't get it on yours. Congratulations the brand new phone you bought 6 months ago is outdated. Now you wouldn't have to deal with this if you are an android user. You can always upgrade and if you are the one who doesn't like change often stick to a winphone or an iphone.If you are a total geek who wants to push more and more into your phone get a droid. {for example my HTC hero came with android 1.5( with no bluetooth support even darn) and today i run android 2.3.4 in it (Bluetooth stack, DSP sound effects etc are few new features that were never in my phone when i bought it)}

6. Battery life

This is something most people ignore but trust me its really painful when you are on the move and your phone runs out of juice. Other than making the right hardware choice also look for power saving features in the phone like automatic brightness control, wifi sleep policy controls and the like so that you can keep your phone running longer. You don't want it to switch off when you are expecting the most important call of your life right?







7. Can you still make phone calls?

There is no use having a phone regardless of  its smart factor if you can't make phone calls with it.
 IPhone Antenna Issue

Sunday, April 24, 2011

Hello world!

Its all in the syntax, whats your favourite?

C

include<stdio.h> main() { printf("Hello World");}


C++


#include <iostream> void main(){ cout<<"Hello World";}


JAVA


class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. } }


PYTHON/PERL


print "Hello World!";


RUBY


puts 'Hello World!'


FORTRAN


Program Hello
    Print *, "Hello World!"
End Program Hello


ABAP


REPORT TEST.
WRITE 'Hello World!'


COBOL


IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
         DISPLAY 'Hello, world!'
         STOP RUN.
GO


package main


import "fmt"


func main() {
     fmt.Println("Hello World!");
}


ERLANG


-module(hello).
-export([hello_world/0]).
hello_world() -> io:fwrite("Hello World!").



JAVASCRIPT

<script type="text/javascript">
      document.write('Hello World!');
    </script>

Q

hello = writes "Hello World!";

SHAKESPHERE (I ll never code in this ever )

This is part of the standard "Hello World" program in SPL. The statements assign numerical values to the other character, and "Speak your mind" is an order to the other character to output that value as a character.
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.

                   Act I: Hamlet's insults and flattery.
                   Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted coward! You are as
stupid as the difference between a handsome rich brave hero and thyself!
Speak your mind!
You are as brave as the sum of your fat little stuffed misused dusty
old rotten codpiece and a beautiful fair warm peaceful sunny summer's
day. You are as healthy as the difference between the sum of the
sweetest reddest rose and my father and yourself! Speak your mind!
You are as cowardly as the sum of yourself and the difference
between a big mighty proud kingdom and a horse. Speak your mind.
Speak your mind!
[Exit Romeo]
                   Scene II: The praising of Juliet.
[Enter Juliet]
Hamlet:
Thou art as sweet as the sum of the sum of Romeo and his horse and his
black cat! Speak thy mind!
[Exit Juliet]
                   Scene III: The praising of Ophelia.
[Enter Ophelia]
Hamlet:
Thou art as lovely as the product of a large rural town and my amazing
bottomless embroidered purse. Speak thy mind!
Thou art as loving as the product of the bluest clearest sweetest sky
and the sum of a squirrel and a white horse. Thou art as beautiful as
the difference between Juliet and thyself. Speak thy mind!
[Exeunt Ophelia and Hamlet]

                   Act II: Behind Hamlet's back.
                   Scene I: Romeo and Juliet's conversation.
[Enter Romeo and Juliet]
Romeo:
Speak your mind. You are as worried as the sum of yourself and the
difference between my small smooth hamster and my nose. Speak your
mind!
Juliet:
Speak YOUR mind! You are as bad as Hamlet! You are as small as the
difference between the square of the difference between my little pony
and your big hairy hound and the cube of your sorry little
codpiece. Speak your mind!
[Exit Romeo]
                   Scene II: Juliet and Ophelia's conversation.
[Enter Ophelia]
Juliet:
Thou art as good as the quotient between Romeo and the sum of a small
furry animal and a leech. Speak your mind!
Ophelia:
Thou art as disgusting as the quotient between Romeo and twice the
difference between a mistletoe and an oozing infected blister! Speak
your mind!
[Exeunt]



More comprehensive list-> http://en.wikipedia.org/wiki/List_of_programming_languages

Sunday, March 28, 2010

FlashBack - Part 1

Some days like today have driven wierd feelings into my life. I just felt like throwing away my laptop as my train of thoughts ran out of control. Dropped my phone and just fell on my bed, I wanted to sob but my tears were dry, wanted to cry out loud but my voice was dead..... This is the irksome feeling I have everytime I remember my mom. Life as an engineering student has had its positives and negetives, but as gadgets and technology exploded into my life of brittle relations held by tweets and texts I have lost the very meaning of what it means to be loved and cared for.

When I was a kid I was really eager to grow up, scale heights and be well "grown up" Today tough when I remember the bruised knees I had when I first fell off my cycle, I realise that those are much better than the wounded hearts that we carry. As a kid, you needn't worry about that unanswered question as your mom will always be there for you, to tell you what is right and what is wrong and why. She will always be there breaking your fall, savouring your rise, tending your heart giving you the essence of life called hope. Life was much simpler as 1+1 was always 2, and as some of my friends pointed out trees had leaves above and roots below the ground (unlike the 1+1=10 and binay trees) A friends smile was enough to tell he was happy, not a smiley on the text or a facebook status update. As a kid I could always turn to my mom to listen to me, but today broadcast to hundreds of "friends" on facebook, twitter and text but all are deaf and nobody cares.Thats the grown up world for you young kid, you gotta "grow up". There aren't people to listen to your problems, they've got their own, and you've to find your own source of hope.

What I sincerely miss though are few fingers ruffling through my hair and telling me that everything is gonna turn okay, that the sun will rise again tommorrow and that this too will pass......

Friday, February 12, 2010

How to Add a Facebook Apllication to your profile page?

Step 1: Login to facebook.com

Step 2: Get the the application you want to use. Our example here is http://apps.facebook.com/impetusapp/

Step 3: Click on view my profile from your facebook home page. Snapshot below shows where you can find it.



Step 4: Click on the "+" symbol on the tabs.

Step 5: Enter the name of the application you want to add.


Step 6: And voila. We are done :)

Friday, May 22, 2009

Connect BSNL EVDO card on linux

This procedure can be applied for different datacards such as those of reliance and tata indicom if they are devices of zte type. And guess what you don't have to worry about getting an zte device driver for linux...

Step 1: Login to linux as superuser(root)
Step 2: Connect your device to the USB port
Step 3: open terminal
Step 4: enter the command 'lsusb'.It should give a listing of all USB devices connected. Something similar to this...
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 014: ID 19d2:fffe ONDA Communication S.p.A.
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Your device should be listed. Something similar to ONDA Communication or Qualcomm depending on your device.

Step 5: Goto /etc and open wvdial.conf in a text editor.
Step 6: After keeping backup of the file modify it as follows. Please enter your correct user name and password instead of 1111111111

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Phone = #777
Modem = /dev/ttyUSB0
Username = 1111111111
Password = 1111111111
Baud = 460800
Stupid Mode = 1

Step 6: whenever you need to connect to the internet just open the terminal and run the command 'wvdial'

linux-y5au:/home/kiran/lin evdo driver/linux # wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT#777
--> Waiting for carrier.
ATDT#777
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri May 22 12:05:59 2009
--> Pid of pppd: 5873
--> Using interface ppp0
--> pppd: ��[06][08][08]�[06][08]
--> pppd: ��[06][08][08]�[06][08]
--> pppd: �[06][08][08]�[06][08]
--> pppd: ��[06][08][08]�[06][08]
--> local IP address 10.4.61.177
--> pppd: ��[06][08][08]�[06][08]
--> remote IP address 192.168.52.12
--> pppd: ��[06][08][08]�[06][08]
--> primary DNS address 208.67.220.220
--> pppd: ��[06][08][08]�[06][08]
--> secondary DNS address 208.67.222.222
--> pppd: ��[06][08][08]�[06][08]
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect
--> pppd: ��[06][08][08]�[06][08]

and voila online on linux and lovin it ;)

Wednesday, February 11, 2009

The dreaded null comes back

The null pointer exceptions are dreadfully insane in Java. Take this one for example, the EntityManagerFactory returned null. You go on to a thousand forums on the net to find a solution to this problem and you find out one this, the JPA is relatively a newbie on the experienced programming world and the closest problem could be that you've not the given the correct name for the persistence unit. Well i'll try to list out a max of probable errors you need to correct to solve this problem...

1. Use the same name while defining the persistence unit in the persistence.xml file and while denoting the @Persistence

2. Add the META-inf folder that contains this xml fle in yor classpath if its not already in the classpath. The persistence.xml must be in the classpath for the entities to be able to recognise your back end database and connect to it.

3. Check the data type of entity parameters. Are they what you really expect? JPA has a weird habit of using non-conventional data types such as short for representing columns with numbers that are of range low enough to be represented by this datatype. But they'll mess you up when you try to connect to databases like oracle that don't support this. So you may need to look into the auto generated codes a little bit.

4. You do the above and still no gain? Yo might have foreign keys in your database. Drop those keys, the JPA doesn't always work well when you don't have well defined foreign keys around in your tables.

If you are still scratching your heads, then EJB's are not for you. Definitely you'll even find some books titled Why not to use EJB's. But this technology has certainly revolutionized database based applications especially with the way we perceive entities and query them.

Sunday, December 21, 2008

AJAX - A misconception?

My encounters with HR's of various companies have left me wondering on how people with very little/narrow technical knowledge end up being major recturing factors of some well known technical companies. Naming the person here and the company would actually soil the reputation of one of a few damn good companies, so i'll refrain from mentioning that and give more of the background and clear off a few misconceptions about a piece of technical jagron termed AJAX.

Here's the incident: It was kinda of deep into a tech interview round when i mentioned AJAX as one of the technologies i've been working on in the recent times. As expected the HR asked me what was AJAX and i gave the classical definition that even you can look up here. He then went on to ask how to make a score ticker using AJAX. I'll mention the steps here minus the technical jagron

1. Write javascript with an automated function call that calls itself every min or so as the time difference needed for the score update.

2. Create the xmlhttprequest object connection to the data source (an ASP/JSP page here)

3. Write the DataSource provider script to access the database and return the XML data.

4. Put the XML data on the page.

And to this he told: Wrong. Where are you using AJAX? You are using just javascript. I tried my best to convince him that AJAX technology is a confluence of javascript and XML. Ironical but his belief was that i had to drag and drop one of the widgets either from dojo/yui or any of the widget libraries that provide AJAX. Uph!! When will people ever learn that code libraries are also collection of javascripts that do the same job as we write; and the technology doesn't change whether you use an API/library or you yourself write the code within the technology constraints.

LESSON: Never go indepth onto the side of technology your interviewer has little knowledge off. The company doesn't deserve a bright individual as you.