[Tweets]

19/09/2020 10:14pm
Proud to announce after a LOT of work, drawing and sound making, demo for my #iOS #arcade style #indiegame Zirthian… [LINK]
15/09/2020 4:18pm
Weapon 4 in my game #Zirthian: Seeker Missile: Destroys the first target in sight - great against strong enemies… [LINK]
12/09/2020 8:42pm
RT @DoctorJosh: Our metamorphosing #robot was featured on Video Friday: thank you @IEEESpectrum! Joint work with Dylan Shah, Josh Powers,…
11/09/2020 5:06am
Weapon 3 in my game #Zirthian: Gamma Ray: Stream of pure power that obliterates everything in your path - great aga… [LINK]

[How I Added My Twitter Feed]

Web 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.

Novelty detection with robots using the Grow-When-Required Neural Network

The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS robot simulator.

Fast Data Analysis Using C++ and Python

C++ code that processes data and makes it available to Python, significantly improving the execution speed.

Designing Robot Swarms

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