Showing posts from October, 2010

Create a Twitter ReTweet Bot

Personally, I needed a Twitter RT bot that can be used to collect various Tweets around a keyword or a hashtag. Just simply coded using PHP, MySQL and abraham's twitteroauth. The program flow is: 1) Get the search results, 2) and retweet a tweet if it is not retweeted yet. It runs as a cronjob. See the below code: $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $key, $secret); $response = $connection->get('search', array('q'=>'#hashtag OR "some keyword"')); foreach ($response as $status) { for($i=0; $i < count($status); $i++) { $tweetid = $status[$i]; $result = mysql_fetch_array(mysql_query("select tid from tweets where tid = ".$tweetid.";")); if(empty($result['tid'])) { mysql_query("insert into tweets (tid) values (".$tweetid.");"); $connection->post('statuses/retweet/'.$tweetid); } } }

Apache Hama 0.2.0 RC1 is available for download

Apache Hama 0.2.0 RC1 is now available. Try it out and give us feedback. Submit bug reports to our JIRA bug tracker . Learn about Hama by reading the documentation. Hama Architecture Getting Started with Hama Serialize Printing Of "Hello BSP" BSP based Pi Estimator

Apache Hama: BSP based Pi Estimator

Pi Estimator The value of PI can be calculated in a number of ways. Consider the following method of estimating PI Inscribe a circle in a square Randomly generate points in the square Determine the number of points in the square that are also in the circle Let r be the number of points in the circle divided by the number of points in the square PI ~ 4 r Serial pseudo code for this procedure as below: iterations = 10000 circle_count = 0 do j = 1,iterations generate 2 random numbers between 0 and 1 xcoordinate = random1 ycoordinate = random2 if (xcoordinate, ycoordinate) inside circle then circle_count = circle_count + 1 end do PI = 4.0*circle_count/iterations The BSP implementation for Pi A distributed strategy in HAMA with BSP programming model , is break the loop into portions that can be executed by the tasks. Each task executes locally its portion of the loop a number of times. One task acts as master and collects the results through the BSP communicatio