Alexios Tsiaparas

Be yourself, everyone else is already taken

Η κυβέρνηση της Ελλάδας αποφάσισε, ανακοίνωσε και υλοποίησε μία απόφαση που θα συζητηθεί στα χρόνια που έρχονται. Η ΕΡΤ, η Ελληνική δημόσια τηλεόραση, σταμάτησε να εκπέμπει ως νόμιμος οργανισμός την Τρίτη, 11 Ιουνίου 2013. Από την Τρίτη, βρίσκομαι τις ώρες που μπορώ, μέσα στο ραδιομέγαρο της ΕΡΤ, κάθε μέρα που περνάει.

Το κλείσιμο της δημόσιας τηλεόρασης αποτελεί ένα τεράστιο πλήγμα για τη δημοκρατία της Ελλάδας, ιδίως αν λάβουμε υπόψη τον τρόπο με τον οποίο σχεδίασε και υλοποίησε την ενέργεια η κυβέρνησή μας. Η δημόσια τηλεόραση δημιουργήθηκε με σκοπό να παρέχει πολιτισμικό έργο, πολυφωνική ενημέρωση και διασκέδαση. Διαφέρει σημαντικά από το ρόλο της ιδιωτικής τηλεόρασης, αφού η δεύτερη συμβαδίζει με τα συμφέροντα των μετόχων της. Για τον παραπάνω λόγο, καλύπτεται και από την Ευρωπαϊκή νομοθεσία, ώστε να εμποδιστούν οι παρεμβολές στο έργο της.

Είναι όμως αμερόληπτη η δημόσια τηλεόραση στην Ελλάδα; Σε πολλά σημεία πιστεύω πώς όχι, και για αυτό ευθύνονται κατά σειρά προτεραιότητας:

  1. Οι Ελληνικές κυβερνήσεις, οι οποίες φρόντισαν να διορίσουν κομματικές διοικήσεις, παρέλειψαν να εφαρμώσουν τις κείμενες νομοθεσίες και να ελέγξουν τη σωστή εφαρμογή τους.
  2. Οι Έλληνες βουλευτές, οι οποίοι συνοστίζονται σαν τα πρόβατα μέσα στα κόμματα, χάνοντας το θεσμικό τους ρόλο, ο οποίος είναι να ελέγχουν την εκλεγμένη κυβέρνηση. Τι σημαίνει, ανοίκω στο κόμμα που κυβερνά και πρέπει να το στηρίζω; ρήση και τακτική πολλών βουλευτών.
  3. Οι διοικήσεις και οι διευθυντές της ΕΡΤ, οι οποίοι, άσχετα με τον τρόπο που διορίστηκαν, ήταν υποχρεωμένοι να φροντίσουν τη δημόσια τηλεόραση, να σέβονται τη δημοκρατία και να εκτελούν ευσυνείδητα το έργο τους.
  4. Οι εργαζόμενοι στην ΕΡΤ, οι οποίοι αντί να περιορίζονται στην καταγγελία γενικών προβλημάτων και στην κάλυψη πρωτίστως των συμφερόντων τους, θα έπρεπε πρώτα να φροντίζουν για την ορθή χρήση του μέσου που έχουν υπό την εποπτεία τους, διότι η απαξίωσή του πρώτα εκείνους θα θίξει.
  5. Όλοι εμείς οι υπόλοιποι, που άλλοι έχουμε διοριστεί χατηρικά στο δημόσιο, άλλοι αποκρύπτουμε τα εισοδήματά μας, άλλοι φροντίζουμε να τηρούμε τους νόμους μόνο όταν μας εξυπηρετούν, άλλοι που αρεσκόμαστε να μιλάμε για την έκπτωση των ηθών, αλλά από έργα για την ανόρθωσή τους τίποτα. Εμείς είμαστε η τελευταία γραμμή άμυνας της δημοκρατίας μας.

Με ρωτούν οι γνωστοί μου, γιατί πηγαίνω κάθε μέρα στο ραδιομέγαρο της ΕΡΤ. Τους κάνει εντύπωση το γεγονός αυτό, καθώς η μόνη πορεία στην οποία συμμετείχα ήταν εκείνη που αφορούσε το ΦΥΡΟΜ και τη Μακεδονία μας. Βρίσκομαι στην ΕΡΤ για όλους τους παραπάνω λόγους που περιέγραψα, διότι θεωρώ ότι είναι υποχρέωσή μου να υπερασπιστώ τη δημοκρατία της χώρας μου από φασιστικές, αντιδημοκρατικές και χουντικές επιθέσεις. Πηγαίνω στην ΕΡΤ, διότι συμφωνώ απόλυτα και συντάσομαι με την άποψη του πρωθυπουργού, ότι χρειάζεται μεταρρύθμιση η δημόσια τηλεόραση, αλλά η μεταρρύθμιση γίνεται καλύπτοντας το αγαθό της ενημέρωσης, όχι αγνοώντας το, παρκάμπτοντάς το κλείνοντας την ΕΡΤ Α.Ε.. Άραγε, το ΕΡΤ ή το Α.Ε. έφταιγε για την κατάπτωση της δημόσιας τηλεόρασης;

Με εκτίμηση,

Αλέξιος Τσιαπάρας

Posting to your Facebook wall

Author: Alexios Tsiaparas
09.01.2013

Lately, I needed to develop an application for the following scenario. Suppose that a website hosts a set of news that are updated each day. I would like to automatically post news to the publisher’ s Facebook account and tweet the news.

Tweeting to one’ s account is documenting at Twitter Developers. Facebook also documents how one can allow users to login to their accounts from one’ s website and post news to their wall. More on this subject can be found at the following Facebook developer resources:

Facebook offers little guidance though for the scenario I was interested in. After googling the subject and reading about the subject, I finally came to the article “Publish to Facebook page or applications’ s wall with PHP“, dated back in 2011. This article proved a very good starting point for developing the application I was interested in. The solution proposed in the article can be outlined as follows:

  1. Create an application (Facebook developer new application – must have a Facebook account).
  2. Get an access token that allows the following permissions: publish_stream, offline_access, read_stream, manage_pages.
  3. Use the code presented in the article in order to post to one’ s wall.

Unfortunately, Facebook has deprecated the offline_access permission, as detailed in Removal of offline_access permission. Furthermore, the article does not outline a clear method that will function for my scenario. After searching Facebook Developers, I found out about logging in as an app. The method outlined in this article overrides the problem with offline_access permission. The solution can be outlined as follows:

  1. Obtain an app access token.
  2. Update your wall status.

Obtain an app access token

We can obtain an app access token from

URL https://graph.facebook.com/oauth/access_token? client_id=YOUR_APP_ID &client_secret=YOUR_APP_SECRET &grant_type=client_credentials.

We must first register our application, as detailed in Facebook developer new application – must have a Facebook account.

In PHP, this can be performed with CURL.


$app_id = "APPLICATION ID";

$app_secret = "APPLICATION SECRET";

$app_token_url = "https://graph.facebook.com/oauth/access_token?"

. "client_id=" . $app_id

. "&client_secret=" . $app_secret

. "&grant_type=client_credentials";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $app_token_url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);

curl_close($ch);

$params = null;

parse_str($response, $params);

$accesstoken = $params['access_token'];

Please notice that I set CURLOPT_SSL_VERIFYPEER to false. This setting should be set to true in a production environment.

Update wall status

Since we now have the proper access token, we can successfully post a new message to our wall. The code below signifies the process.


$pageID = "PAGE ID";

$post_url = 'https://graph.facebook.com/'.$pageID.'/feed';

$data = array();

$data['message'] = "STATUS MESSAGE";

$data['link'] = 'http://www.example.org/';

$data['picture'] = 'http://www.example.org/images/sample.jpg';

$data['name'] = "MESSAGE LINK TEXT";

$data['caption'] = "MESSAGE CAPTION (appears below link text)";

$data['description'] = "MESSAGE DESCRIPTION";

$data['access_token'] = $accesstoken;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $post_url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$return = curl_exec($ch);

if( $return === false ) echo curl_error($ch);

else echo 'NEW ARTICLE POSTED TO FACEBOOK!';

curl_close($ch);

Please notice that I set CURLOPT_SSL_VERIFYPEER to false. This setting should be set to true in a production environment.

Complete code


$app_id = "APPLICATION ID";

$app_secret = "APPLICATION SECRET";

$app_token_url = "https://graph.facebook.com/oauth/access_token?"

. "client_id=" . $app_id

. "&client_secret=" . $app_secret

. "&grant_type=client_credentials";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $app_token_url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);

curl_close($ch);

$params = null;

parse_str($response, $params);

$accesstoken = $params['access_token'];

$pageID = "PAGE ID";

$post_url = 'https://graph.facebook.com/'.$pageID.'/feed';

$data = array();

$data['message'] = "STATUS MESSAGE";

$data['link'] = 'http://www.example.org/';

$data['picture'] = 'http://www.example.org/images/sample.jpg';

$data['name'] = "MESSAGE LINK TEXT";

$data['caption'] = "MESSAGE CAPTION (appears below link text)";

$data['description'] = "MESSAGE DESCRIPTION";

$data['access_token'] = $accesstoken;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $post_url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$return = curl_exec($ch);

if( $return === false ) echo curl_error($ch);

else echo 'NEW ARTICLE POSTED TO FACEBOOK!';

curl_close($ch);

Software Piracy

Author: Alexios Tsiaparas
05.01.2013

As I am a software engineer, anyone can obviously guess my view at software piracy – it can cause serious damage under specific circumstances. Unfortunately, after a long time in IT, one must understand that people will not just stop using pirated software because you tell them or a company threatens them. Rather than making a lecture about piracy and whether it is good or bad, I would like to share the advice I give to all my customers at Watergate. If one wants to have a functioning computer, then there are two pieces of software that he/she must absolutely buy:

  1. The operating system, most of the times being Windows.
  2. A good anti virus and Internet protection suite.

I still cannot understand how not only residential users, but businesses try to get away with these programs. Computer-related threats are on the rise and will not end soon (probably they will escalate). Computer users need to protect their data more than ever. While the case with anti virus software is pretty obvious, why one must make the conscious choice to buy an operating system?

The operating system is the first and last line of defence. Modern operating systems must be kept updated in order to fix small security and other problems. Windows update keeps security threats minimised, while the anti virus completes the defensive mechanism. The conclusion:

If you must buy two pieces of software, the operating system and anti virus must be your top priorities.

Happy new year

Author: Alexios Tsiaparas
04.01.2013

I wish everyone a happy new year. I hope 2013 will bring us happiness, goodness and opportunities. At Watergate, we are currently revamping our offices, so life is a bit hectic at the moment. I hope the result will be nice, so we can continue with our plans for this magnificent new year.

I hope you are all having a great time.

Hello world!

Author: Alexios Tsiaparas
20.11.2012

Hello everyone.

I would like to welcome you to my blog. You can find my news, comments and quick articles on a number of topics in my personal blog. If you like an article, please fell free to leave a comment with your view on the subject.