[Tweets]

15/08/2018 5:16pm
An exciting opportunity to do a well-funded #PhD at the University of Bristol, working on hybrid #autonomous system… [LINK]
14/08/2018 12:14pm
RT @jacobperron: 🙌 @Voidminded [LINK] #SFUInnovates #SFUResearch
08/08/2018 7:25pm
RT @RoboticsWoE: Robotics Teaching Jobs at University of Bristol [LINK]
08/08/2018 7:23pm
RT @SwarmDynamics: From #BEECLUST to BEEPOST (Ogunsakin et al.) a distributed architecture Self-Organizing Flexible Manufacturing System (…

[How I Added My Twitter Feed]

Web applications Added on 18/08/2012

Following my decision to leave Facebook, I have decided to start using Twitter more as a means of exchanging information with my friends. Adding a Twitter feed is pretty easy as Twitter does not require you to authenticate so you can just ask for N latest tweets using an ordinary GET request.

I modified original PHP code posted on Stack Overflow to create a single function that gets the feed and converts it to tweet objects containing createdDate and message fields. Also, I added my own algorithm that automatically creates html links when it finds phrases starting with http:// . Finally, I used a method by kn00tcn to convert Twitter date to PHP date object and back to a string with my own formatting.

The PHP function is as follows:

/**
* Get tweets
*/

protected function getTweets() {
   //-- curl request    
   $url = "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=elendurwen&count=5&trim_user=true";
   $ch = curl_init();    $timeout = 5;
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
   curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   $json = curl_exec($ch);
   curl_close($ch);

   //-- parse data:
   $tweets = array();
   if ($json != false) {
      $obj = json_decode($json);

      foreach($obj as $var => $value) {
         //-- convert the date and add 4 hours to it. For some reason the conversion makes the date 4 hours less than it should be.

         $tweet['createdDate'] = date("d/m/Y g:ia",strtotime($obj[$var]->created_at) + 4*60*60);
         //-- get the message text
         $tweet['message'] = $obj[$var]->text;
         //-- add links automatically
         $tweet['message'] = preg_replace('/(?<!a href=\")(?<!src=\")((http|ftp)+(s)?:\/\/[^<>\s]+)/i', '\\0', $tweet['message']);
         //-- replace twitter name tags with links
         $tweet['message'] = preg_replace('/(?<=^|\s)@([a-z0-9_]+)/i','@$1', $tweet['message']);
         //-- replace twitter hash tags with links
         $tweet['message'] = preg_replace('/(?<=^|\s)#([a-z0-9_]+)/i','#$1', $tweet['message']);
         $tweets[] = $tweet;
      }
   }
   return $tweets;
}



{Please enable JavaScript in order to post comments}

Why I Left Facebook

I decided to delete almost all my activity and all my photos from Facebook when they announced that Timeline would become compulsory. While I really think that Timeline is a bad idea as it lets your history be browsed in a very easy manner, this was not the only reason I left...

Kinect-Controlled News Feed

During my work for Edelman Digital in 2011, I took part on a C++ project to create a program that could display user’s Facebook and Twitter feeds and was controlled by hand gestures captured by a Kinect device connected to a PC.

pyCreeper

The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs that look good for a publication, into functions. It takes away your need to understand various quirks of matplotlib and gives you back ready-to-use and well-documented code.

Designing Robot Swarms

This project looks at the challenges involved in modeling, understanding and designing of multi-robot systems.

Robustness in Foraging E-puck Swarms Through Recruitment

Swarms of five e-puck robots are used in a semi-virtual environment, facilitated by the VICON positioning system. Recruitment can make swarms more robust to noise in robot global positioning data.

Information Flow Regulation in Preferentially Foraging Swarms

Swarms are tasked with foraging from multiple sources in dynamic environments where source locations change periodically. Preferential foraging leads to a better swarm performance, provided that information flow among robots, that results from recruitment, is regulated