Sunday, October 21, 2012

Enable cURL in Apache2 on Ubuntu 11.10

Open "Terminal" and execute the following command:

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

After installing libcurl you should restart the web server with following command,
sudo /etc/init.d/apache2 restart

Sunday, October 7, 2012

Installing ZTE AX226 Wimax Modem on Ubuntu

I am going to show you step by step installation procedure of ZTE AX226 wimax modem on Ubuntu.

Step 1: In you windows PC, download Beceem Diagnostic Control Panel from Mediafire Download Link

Step 2: Extract the file and install install.msi installation file.

Step 3: Open Beceem Diagnostic Control Panel from your Start Menu. You will get an interface as below:

Connect your modem and click on "Connect Device". Then go to DSD and click on Edit Tools from left menu as below:

Click on Modify USB Autoinit Data > Read From File and then modify Vendor ID to "198F" and Product ID to "0220". Click on Save and wait until it processes the command. Then Exit from this tool.

Step 4: Login to Ubuntu. Download connection manager from Download From GoogleCode

Click right button on the downloaded file and click on "Properties". Go to "Permission Tab" and check "allow executing file as admin" and close. Then double click on the file, a window will appear. You will have to click on "Run in Terminal". And Connection manager will be installed.

Step 5: Open the  "Wimax CM Gui" program and save the account detail. And then Connect to Internet.

That's all.

Wednesday, September 12, 2012

A2Billing and Asterisk Installation on Ubuntu 11.10

apt-get upgrade
apt-get update

Configure your timezone:
dpkg-reconfigure tzdata

Install some pre-requisites:
apt-get install libapache2-mod-php5 php5 php5-common
apt-get install php5-cli php5-mysql mysql-server apache2 php5-gd    
apt-get install php5-mcrypt

Add repos and install Asterisk 1.8
apt-get install python-software-properties -y
apt-key adv --keyserver --recv-keys 175E41DF

add-apt-repository "deb `lsb_release -cs` main"
sudo add-apt-repository "deb-src `lsb_release -cs` main"

apt-get update
apt-get upgrade

apt-get install asterisk

Download and install A2billing:
cd /usr/local/src


tar -zxvf v1-current
rm v1-current
mv Star2Billing-a2billing-* a2billing

Prep the database:
cd a2billing/DataBase/mysql-5.x

mysql -uroot -p < a2billing-createdb-user.sql


Copy and edit a2billing.conf:
cp /usr/local/src/a2billing/a2billing.conf /etc/
nano -w /etc/a2billing.conf
Make sure the first stanza looks like the following:
hostname = localhost
port = 3306
user = a2billinguser
password = a2billing
dbname = mya2billing
dbtype = mysql

Additional files for A2billing:

chmod 777 /etc/asterisk -R
touch /etc/asterisk/additional_a2billing_iax.conf
touch /etc/asterisk/additional_a2billing_sip.conf
echo \#include additional_a2billing_sip.conf >> /etc/asterisk/sip.conf
echo \#include additional_a2billing_iax.conf >> /etc/asterisk/iax.conf
chown -Rf www-data /etc/asterisk/additional_a2billing_iax.conf
chown -Rf www-data /etc/asterisk/additional_a2billing_sip.conf

Install the A2billing sounds:
cd /usr/local/src/a2billing/addons/sounds
chown -R asterisk:asterisk /usr/share/asterisk/sounds/

Edit manager.conf:
nano -w /etc/asterisk/manager.conf

Install the AGI etc:

 mkdir /usr/share/asterisk/agi-bin
cd /usr/src/a2billing/AGI             
cp a2billing.php /usr/share/asterisk/agi-bin/
chown -R asterisk:asterisk /usr/share/asterisk/agi-bin
chmod 755 /usr/share/asterisk/agi-bin/a2billing.php
cp /var/www/a2billing/common/lib /usr/share/asterisk/agi-bin/lib -R

Install the webui:
mkdir /var/www/a2billing
chown www-data:www-data /var/www/a2billing
cp -rf /usr/local/src/a2billing/admin /var/www/a2billing
cp -rf /usr/local/src/a2billing/agent /var/www/a2billing
cp -rf /usr/local/src/a2billing/customer /var/www/a2billing
cp -rf /usr/local/src/a2billing/common /var/www/a2billing

chmod 755 /var/www/a2billing/admin/templates_c
chmod 755 /var/www/a2billing/customer/templates_c
chmod 755 /var/www/a2billing/agent/templates_c

chown -R www-data:www-data /var/www

Add contexts to extensions.conf: (Mine is edited for wholesale)
nano -w /etc/asterisk/extensions.conf

; CallingCard application
;exten => _X.,1,Answer
;exten => _X.,2,Wait(2)
;exten => _X.,3,deadAGI(a2billing.php)
;exten => _X.,4,Wait(2)
;exten => _X.,5,Hangup
exten => _X.,1,deadAGI(a2billing.php)
exten => _X.,n,Hangup

; CallingCard application
exten => _X.,1,deadAGI(a2billing.php|1|did)

Add some cron entries:
crontab -e

# update the currency table
0 6 * * * php /usr/local/src/a2billing/Cronjobs/currencies_update_yahoo.php

# manage the monthly services subscription
0 6 1 * * php /usr/local/src/a2billing/Cronjobs/a2billing_subscription_fee.php

# To check account of each Users and send an email if the balance is
less than the user have choice.
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_notify_account.php

# this script will browse all the DID that are reserve and check if
the customer need to pay for it
# bill them or warn them per email to know if they want to pay in
order to keep their DIDs
0 2 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_bill_diduse.php

# This script will take care of the recurring service.
0 12 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_process.php

# To generate invoices and for each user.
0 6 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_billing.php

# to proceed the autodialer
*/5 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_autodialer.php

# manage alarms
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_alarm.php

Make a logfile:

mkdir /var/log/a2billing
touch /var/log/a2billing/a2billing_agi.log
chown -R asterisk:asterisk /var/log/a2billing
Add some rotation:
cd /etc/logrotate.d
nano -w a2billing

/var/log/a2billing/*.log {
rotate 4

Enable SSL using default certificate for admin:

ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl

a2enmod rewrite
service apache2 restart

Todo: a2billing edits within a2billing

(Edited from this link:

Thursday, August 16, 2012

How to Install VPN Server in Ubuntu

I am going to install a VPN server on my own ubuntu server to be connected to it from anywhere of this world. I am going to use pptpd package.

First, I have installed the package using the following code
sudo apt-get install pptpd

Then, I have to configure this. I have to edit /etc/pptpd.conf file.

I have commanded in terminal as follow:

sudo vim /etc/pptpd.conf

Added following two lines:


Now I have to add user credentials to the file /etc/ppp/chap-secrets as follows:

# client    server  secret          IP Address
moin        pptpd   somepassword    "*" 

At last, I have to restart pptpd daemon using following command

sudo service pptpd restart 

 To allow access to the VPN server from Internet, I had to edit /etc/sysctl.conf using the following command

sudo vim /etc/sysctl.conf

I have uncommented the following line

(to search the line press esc and write /net.ipv4.ip_forward=1 
and press enter. then delete "#")
Then use iptables to get the net forwarded:

/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE
Optionally you can install bind9 and have a DNS resolver you can use for the vpn connection:

apt-get install bind9 -y
Then start it:

/etc/init.d/bind9 start
It's done. It worked for me, hope, also work for you. 

Tuesday, July 31, 2012

How to Install Teamviewer in Ubuntu

I am going to show you how to install teamviewer on Ubuntu. I have installed it in Ubuntu 11.04 successfully. You have to open "Terminal".

First: Download the Teamviewer Linux Installation file by the following command at terminal:


Second: After completion of download, you have to install by following command:

                  sudo dpkg -i teamviewer_linux.deb

And teamviewer is successfully installed.

Saturday, April 14, 2012

Report On Tidal Trust Algorithm


“Tidal Trust” is an algorithm which is developed under “Trust on the Semantic Web” project by Jennifer Golbeck. According to this project social network data that represented using the FOAF vocabulary, are the most prevalent data on semantic web. Jennifer Golbeck presented “Tidal Trust” and a network analysis of its foundation in her work on “Personalizing Applications through Integration of Inferred Trust Values in Semantic Web-base Social Networks. Here we will present a summary on it.


“Social Networks” have become the source of most prevalent data over semantic web. A lot of Scholars are researching on the data of social network to make it better and proposing new algorithms that may help users around the world to stay nearer to the information or connection he needs. There is a project named “FOAF” which stands for “The Friends of a Friend”. It’s created for creating a scope for analyzing data of social network as it is in real ones. There is more than 8,000,000 simulated people’s information for research purpose. Any researcher can access and use them to compute and test his application.

Trust among the connections in the social networks became an important issue now. Suggestions for new connections, groups, pages, news and may be interesting advertisements are being displayed on users’ walls and profiles based on some intelligent algorithms. Most of these algorithms computes users’ connections and activities and make useful things displayed over pages of social networks. Some tremendous algorithms are invented by Scholars of different parts of the world. Among them Jennifer Golbeck is one of them. She has proposed one of the most intelligent algorithm on inferring trusts relationships in the semantic Web-based social networks. The algorithm she proposed is known as “Tidal Trust” and there are two existing application in which this algorithm is used, they are “FilmTrust” and “TrustMail”.

Semantic Web (

The Semantic Web is a mesh of information linked up in such a way as to be easily processable by machines, on a global scale. You can think of it as being an efficient way of representing data on the World Wide Web, or as a globally linked database.

The Semantic Web was thought up by Tim Berners-Lee, inventor of the WWW, URIs, HTTP, and HTML. There is a dedicated team of people at the World Wide Web consortium (W3C) working to improve, extend and standardize the system, and many languages, publications, tools and so on have already been developed. However, Semantic Web technologies are still very much in their infancies, and although the future of the project in general appears to be bright, there seems to be little consensus about the likely direction and characteristics of the early Semantic Web.

What's the rationale for such a system? Data that is geneally hidden away in HTML files is often useful in some contexts, but not in others. The problem with the majority of data on the Web that is in this form at the moment is that it is difficult to use on a large scale, because there is no global system for publishing data in such a way as it can be easily processed by anyone. For example, just think of information about local sports events, weather information, plane times, Major League Baseball statistics, and television guides... all of this information is presented by numerous sites, but all in HTML. The problem with that is that, is some contexts, it is difficult to use this data in the ways that one might want to do so.

So the Semantic Web can be seen as a huge engineering solution... but it is more than that. We will find that as it becomes easier to publish data in a repurposable form, so more people will want to pubish data, and there will be a knock-on or domino effect. We may find that a large number of Semantic Web applications can be used for a variety of different tasks, increasing the modularity of applications on the Web. But enough subjective reasoning... onto how this will be accomplished.

The Semantic Web is generally built on syntaxes which use URIs to represent data, usually in triples based structures: i.e. many triples of URI data that can be held in databases, or interchanged on the world Wide Web using a set of particular syntaxes developed especially for the task. These syntaxes are called "Resource Description Framework" syntaxes.

Social Network (

A social network is a theoretical construct useful in the social sciences to study relationships between individuals, groups, organizations, or even entire societies (social units, see differentiation). The term is used to describe a social structure determined by such interactions. The ties (sometimes called edges, links, or connections) in the structure are called "nodes". The nodes through which any given social unit connects represent the convergence of the various social contacts of that unit. Many kinds of relationships may form the "network" between such nodes, but interpersonal "bridges" are a defining characteristic of social networks. Social network approaches are useful for modeling and explaining many social phenomena. The theoretical approach is, necessarily, relational. An axiom of the social network approach to understanding social interaction is that social phenomena should be primarily conceived and investigated through the properties of relations between and within units, instead of the properties of these units themselves. Thus, one common criticism of social network theory is that individual agency is essentially ignored,[5] although this is not the case in practice (see agent-based modeling). Precisely because many different types of relations, singular or in combination, form into a network configuration, network analytics are useful to a broad range of research enterprises. In social science, these fields of study include, but are not limited to anthropology, biology, communication studies, economics, geography, information science, organizational studies, social psychology, sociology, and sociolinguistics. Scholars in these and other areas have used the idea of "social network" loosely for almost a century to connote complex sets of relationships between members of social units across all scales of analysis, from the local to the global as well as the scale-free.

Wednesday, March 28, 2012

I know who is Next Internet Giant

In my time, I could see three Internet giant. They are described below from my point of view.

First Giant: Yahoo!
When Yahoo! came, there were some scattered online directories, email services and messenger services. They defeated them by making all services together. They built a hub of directories and offered free limited space Email and Messenger service to grab interest of huge number of people.

Second Giant: Google
At time when google was founded, they came with different idea of Internet Directory. They made a smart search engine, where people can easily search what he needs from Internet. And google became the best alternative of directories. They made their business by inventing smart Internet Advertising Network. Then, they are expanding their business by acquisition of new Ideas.

Third Giant: Facebook
Facebook came with the idea "Connectivity". Not on-demand connectivity as Email or messenger, they made almost permanent connectivity media. A new era began, the era of "Social Media". They could put the people of same interest connected.

There were more other big companies exist, but these three I have described, they could grab user's interest by being the hub for getting services of other companies. At yahoo's time, people came to Yahoo, and Yahoo led them to the service (whether it is their own or 3rd party) they needed. Google make it easier to find anything over Internet and facebook made a platform for users to cooperate themselves to get or do anything.

Once directories were the center, then search engines led and now it's time of social media. But, none of them could substitute each other. Importance of them couldn't be reduced. Each of them are being used by users parallel manner. So, it is obvious that, if anything become the hub of these giants, then it will be the next giant. May be Sumazi could realize this thing and trying to make it gradually. I have seen their beta version, it is helping the user to be introduced with persons related to his interest of a particular instance of time with particular type of problems. But, it is not enough.

The next giant will be able to establish communication between users and information, persons and services for a particular instance of time and situation. People will not have to think about keywords for finding his required information from web, and he will just get the result based on his activities.

Sunday, March 11, 2012

ঢাকা চলো কর্মসূচিতে অংশগ্রহনকারীদের জন্যে দরকারী টিপস্

ঢাকা চলো প্রতিরোধে পুলিশ ও সরকারী দলের সন্ত্রাসীরা গত কয়েকদিন ধরেই মাঠে আছে। তাদের চোখকে ফাঁকি দিয়ে এবং কোন রকম ঝুট-ঝামেলা ছাড়াই কর্মসূচিতে অংশগ্রহনের ক্ষেত্রে নিচের টিপসগুলো বেশ কাজে দিতে পারে।

পোষাক ও মেকআপ টিপস:
চেষ্টা করুন পোষাক-আষাকে আপনাকে যাতে অনেকটাই সরকারী দলের লোকজনের মত লাগে। বয়সে আপনি যদি তরুন হন, তবে টাইট ময়লা জিনস, বদখত টিশার্ট, ক্লিন শেভড আর হালকা মেকআপ নিয়ে নিজেকে দেখতে এলাকার বদমায়েশ/ঝামেলাবাজ লোকজনের মত করে ফেলুন। আর বয়স বেশি হলে মুজিব-কোট পরিধান করে বেরুতে পারেন।

মিছিলে জয়-বাংলা বলুন
মিছিল নিয়ে পাড়া মহল্লা থেকে বেরুবার সময় এবং পুলিশ-টুলিশের সামনে জোরে জোরে জয় বাংলা বলে চিৎকার করুন। যে রকম কড়া পাহারা দেখলাম, তাতে মনে হয় মিছিল না করে সবাই মিলে মাটি খুঁড়ে সুড়ঙ্গ দিয়ে সমাবেশ স্থলে আসতে পারলে ভাল হয়।

মার খাবার প্রস্তুতি
পুলিশ আর সরকার দলের সন্ত্রাসীরা ইতিমধ্যেই তাদের লাঠি, অস্ত্র -শস্ত্র শান দিয়ে রেখেছে, এবং ব্যাপক পিটনির জন্যে প্রস্তুত হয়ে আছে। তো মনে রাখবেন আপনার খবর আছে। তাই মানসিকভাবে প্রস্তুত থাকুন। ব্যপক পিটনি খেতে হতে পারে, জীবনও চলে যেতে পারে।

মহাপুরুষ হবার চিন্তা দুরে রাখুন
আজকের সমাবেশ বা মিছিলে মহাপুরুষের ভূমিকায় অবতীর্ন হতে চেষ্টা করবেননা অথবা ভুলেও দলছুট হবেননা। আওয়ামী লীগ এ ধরনের মহাপুরুষদের লাশের উপর লাফাতে পছন্দ করে।

সর্বোপরি, আল্লাহ বাংলাদেশের জনগনকে বিতাড়িত শয়তান এবং আওয়ামী লীগের ক্ষতিকারকতা থেকে রক্ষা করুন। আমীন।