Make International Calls for Free (through Twitter)

Well well well, hit or flop.. only time will tell but a new Twitter based startup is on the horizon .. http://twit2tel.com

So, you want to make free international calls.. isnt it? Aha, yes you do.. well unlike what you think there is no catch in it and I aint bribed for writing this article about twit2tel (not to mention.. why would they pay some blogger who’s got handful of readers.. and umm yes that makes you special )

Ok, so lets cut through to the real deal… to make an International Call you need to do the following:

1. Get an account on Twitter ..

2. Open Twit2Tel.com and login using your Twitter account and grant Twit2Tel the necessary privileges it requires; also while you are completing your registration at Twit2Tel, do mention your mobile number (I dont know but you may not be able to register if you dont do that, so that goes in without saying.. lol )

3. You are all set .. Now get your friends to do the same… once they are also registered, all you need to do is to go to the homepage of Twit2Tel and make a call to Twitter-Id of your friend (your should find the box for that in lower right corner of the home page of Twit2Tel)

After Step3, Twit2Tel will automatically call you.. and make you hear a 10 seconds ad, and then will call the number associated with your friend’s Twitter Id. All (s)he needs to do then is accept the call and press 1 (which is the option to accept the call)

Well, thats it folks. Now enjoy a 4 minutes good voice quality call to your friend which is basically unlimited because you can make a thousand 4 minutes free call

Feel free to drop in your comments and suggestions. And hey, there is much more to Twit2tel than free calls, such as voicemail, etc! But for me, I am enjoying the free calls and care the least for the rest! Probably you may wanna explore more!

Have Fun!

Reliance Netconnect (ZTE AC8710) on Ubuntu

In couple of days I am leaving for a vacation (read: long vacation) to my native; and for the duration I have got a Reliance Netconnect USB Broadband connection issued from my company (God bless them).

While I was super estatic (already) about getting it, it soon churned out a new challenge and research topic (duh) for me to make it work on Ubuntu! Hmmm…!

So, after much digging over internet and pulling a string here and there I finally managed to make it work! So, in case your company is also sweet enough to give you a USB Broadband connection .. and you wanna run it on Ubuntu – then – stay tuned as this might be useful:

Step 1: Make your USB detected as modem and not a mass storage device (as our brilliant Ubuntu does implicitily .. huh)

So, to do that, what you need is usb_modeswitch – which is built for exactly the purpose you landed here!

Download it from: https://forge.betavine.net/frs/?group_id=12&release_id=200

( I downloaded: https://forge.betavine.net/frs/download.php/490/usb-modeswitch_0.9.7_i386.deb but you may prefer to choose a different deb based on your machine)

Now install it using Ubuntu’s deb manager or do this on your terminal:

$ dpkg -i usb-modeswitch_0.9.7_i386.deb

Now, having installed usb-modeswitch, you need next to really switch the mode, which you can do by the following command:

$ usb_modeswitch -c /usr/sbin/rlconnect.cnf

Hey wait, what is this rlconnect.cnf ?? Well this is a config file we need to provide to usb-modeswitch with your usb devices details in it. This file reads:

DefaultVendor=  0x19d2
DefaultProduct= 0xfff5

TargetVendor=   0x19d2
TargetProduct=  0xffff

MessageContent=”5553424312345678c00000008000069f030000000000000000000000000000″

I have placed my rlconnect.cnf in /usr/sbin (I know, I know, not the best place to put your config file.. well place it anywhere you want and with any name.. but do make sure to pass the correct name and location to usb-modeswitcher.. God! these folks)

Step 2: Now lets load the usbserial driver (modprobe it) with our USB modem details

Well just run the following for it:

$ modprobe -v usbserial vendor=0x19d2 product=0xfff1

Step 3: Now you need to update your dialer’s config

This might seem trickier but Ubuntu by its grace has made it easy for you… just run:

$ wvdialconf

and voila.. its done.. but you may still need to update the dialer’s config file for your correct username and password. So, you can do that by reaching out to the following location:

/etc/wvdial.conf

(Please change only the username and password, trust in me.. rest other properties are better off by you leaving them alone)

Step 4: Connect to the Internet .. Hurray!

Run the following at terminal:

$ wvdial

.. and welcome to web!

To confirm, run ifconfig and check the ip details under ppp .. this shall satsify you (No, I wont tell you to open your browser and put www.google.com in the address bar and try out if you are really connected to the Internet)

Having said so much, if this still does not helps you, then following links should definitely do! .. or if this has already done enough for you and you still wanna dig more.. then do go ahead and dig through the following links:

(These are the links from where I learned, compiled and tried to make it all work on my machine)

1. http://www.tuxhat.com/linux/reliance-netconnect-broadband-on-linux/

2. http://travisneotyler.blogspot.com/2009/07/back-on-wireless-web.html

3. http://thejeshgn.com/2008/01/12/reliance-netconnect-usb-card-on-linux-howto/

4. http://nandz.blogspot.com/2007/11/how-to-get-reliance-zte-mg880-working.html

5. http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=134&postdays=0&postorder=asc&start=30

Best of luck.. and see you soon on web

Apache Hive Installation

Hive is a data warehouse infrastructure built on top of Hadoop that provides tools to enable easy data summarization, adhoc querying and analysis of large datasets data stored in Hadoop files. It provides a mechanism to put structure on this data and it also provides a simple query language called Hive QL which is based on SQL and which enables users familiar with SQL to query this data. At the same time, this language also allows traditional map/reduce programmers to be able to plug in their custom mappers and reducers to do more sophisticated analysis which may not be supported by the built-in capabilities of the language.

Installation of Hive is pretty straigtforward and easy. With least chit-chatting, I will get to business for ya!

Prerequisites

Sun Java 6

Hadoop requires Sun Java 5.0.x. However, Hive wiki mentions a prerequisite of Sun Java 6.0. Thus we will stick to Sun Java 6.0

Hadoop (0.17.x – 0.19.x)

We must have Hadoop already up and running (support for 0.20.x is still under progress – so 0.17.x to 0.19.x is preferable)! If you don’t have Hadoop already installed for you, try and deploy it by going through the following tutorials:

Single Node Cluster Hadoop Installation: http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Single-Node_Cluster)
Multi Node Cluster Hadoop Installation: http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Multi-Node_Cluster)

I would have written a guide for Hadoop installation, but I really find Michael’s tutorial very cool for anyone to follow and get along with Hadoop! So if you havent installed Hadoop, thats the place to learn and do it fellas!

Note:
a) For this tutorial purpose, we will be referring to a Single Node Hadoop installation

SVN

SVN aka Subversion is an open source version control system. Most of the apache projects are hosted over SVN. Thus, its a good idea to have it on your system if not already.

For the current tutorial, you will need it to grab the code out of Hive SVN Repository

Download it from: http://subversion.tigris.org/

Ant

Ant or Apache Ant is a Java-based build tool. In present context, you will need it to build the ‘checked out’ Hive code.

Download it from: http://ant.apache.org/

Downloading and Building Hive

Hive is available via SVN at: http://svn.apache.org/repos/asf/hadoop/hive/trunk

We will first checkout Hive’s code

svn co http://svn.apache.org/repos/asf/hadoop/hive/trunk hive

This will put Hive trunk’s content (Hive’s development repository) in your local ‘hive’ directory

Now, we will build the downloaded code

cd hive

ant -Dhadoop.version=”<your-hadoop-version>” package

For example

ant -Dhadoop.version=”0.19.2″ package

Your built code is now in build/dist directory

cd build/dist
ls

On ‘ls’ you will see the following content:

README.txt
bin/ (all the shell scripts)
lib/ (required jar files)
conf/ (configuration files)
examples/ (sample input and query files)

The “build/dist/” directory is your Hive Installation and moving further we are going to call it Hive Home.

Let us set an environment variable for our Hive Home too:

export HIVE_HOME=<some path>/build/dist

For example

export HIVE_HOME=/data/build/dist

Hadoop Side Changes

Hive uses hadoop that means:

1. you must have hadoop in your path OR
2. export HADOOP_HOME=<hadoop-install-dir>

In addition, you must create /tmp and /user/hive/warehouse (aka hive.metastore.warehouse.dir) and set them chmod g+w in HDFS before a table can be created in Hive.

Commands to perform these changes

$HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

Running Hive

Now, you are all set to run Hive for yourself! Invoke the command line interface (cli) from the shell:

$HIVE_HOME/bin/hive

Note: You can also read about Hive Installation at Hive’s wiki

Twitter Down? Yes It Is!

Uh!

I wanted to post about .. actually tweet about a website being down.. and I ran down to Twitter.. but hey Twitter is down as well.

Well, as I write this post, the Twitter is down. Hope it get back online soon and I can tweet about “the other site” being down to my folks following me. LOL

I will let you know when its up.. or you do tell me when it is.

Have fun!

Google Lost In Recursion

Search for “recursion” on Google (without the quotes) and while showing you back the results, Google Search Engine, also suggests you : Did you mean: Recursion

So, after all your careful investigation, matching your query string against the suggestion of Google – you finally think / believe that your eyes must have lost any hidden utf-8 or yedda format character, … against which Google is trying to suggest a correct spelling. Now, you click on the suggestion. But! woha.. you get the same search results with same suggestion back again. (Recursion isnt it?)

Well like I said, you may also utter the same … it appears Google is Lost in Translation Recursion …

Create Desktop Apps. With HTML, CSS And JS: Appcelerator Titanium

Appcelerator Titanium is an open source platform that enables you to create rich desktop applications with web technologies like HTML, CSS, Javascript as well as Flash and Silverlight.

Appcelerator SDK is used to create applications or any third-party Ajax library / framework can be used too.

Tip: To make it clear, it is very similar to Adobe AIR but open source.

Appcelerator Titanium

Titanium also comes with a simple command-line interface (CLI) for creating projects and packaging them into an executable.

The platform has a built-in database, direct file system access, desktop notifications & more.

Titanium apps. currently work in Microsoft Windows and Mac OSX.  Linux support is in the roadmap.

More to follow about Titanium and some sample application / tutorial in coming posts.

Quick Start with PIG

PIG Logo

PIG Logo

What is PIG?

Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which in turns enables them to handle very large data sets.

.. read more here

The document and community support for PIG is quite good!

You can kick start reading about PIG from here: Yahoo’s Module 8

Or, Cloudera has many resources for you: Cloudera PIG’s Tutorial

Go through this video (this is from Cloudera):

I will keep you folks posted with my experiences and adventures with PIG. Stay tuned!

-Abhishek 🙂