Apr 302012
 
 April 30, 2012  Posted by at 22:02 Music Tagged with:  No Responses »

Σαν συνέχεια του προηγούμενου post, χρησιμοποιώντας το eradioParser έχω εξάγει τα playlists που μπορεί να δημιουργήσει κανείς χρησιμοποιώντας το μενού του προγράμματος τις 3 από 4 επιλογές του μενού του προγράμματος. Σημειώνω ότι είναι δυαντόν να δημιουργήσετε πολλά ακόμα playlist χρησιμοποιώντας την 4η επιλογή του μενού (Ratings), καθώς και command line arguments -π.χ. συνδυάζοντας κάποια μουσική κατηγορία με κάποια τοποθεσία σταθμού ή κάποιο Rating (τα δυνατά playlist με αυτόν τον τρόπο είναι όλοι οι δυνατοί συνδυασμοί των playlist που προκύπτουν από τις μουσικές κατηγορίες -π.χ. Rock, Sophisticated κ.τ.λ. τις τοποθεσίες -π.χ. Αθήνα, Μακεδονία κ.τ.λ. και τα Ratings π.χ. Daily Top 50).

Τα playlists δημιουργήθηκαν σήμερα, 30 Απριλίου 2012. Μπορείτε να κατεβάσετε κάποιο από αυτά, ή απλά να χρησιμοποιήσετε το eradioParser για να δημιουργήσετε κάποιο ανά πάσα στιγμή. Παρακάτω δίνεται ένας συγκεντρωτικός πίνακας:

Playlist Elapsed time (ms) Parsed urls Valid urls Unparsed urls
e-radio.gr 2149994 752 659/752 7
By category
Greek Mainstream 379289 125 112/125 1
Greek Laiko 203034 48 41/48 1
Electric & Ballads 212506 50 47/50 0
Various 191505 48 40/48 0
Traditional 40746 18 17/18 0
Adult Hits & Dance 471730 158 128/158 2
Rock 93749 41 38/41 0
Sophisticated 215199 71 62/71 0
News & Music 401433 89 79/89 0
Sport News 82732 14 10/14 0
Religious 39204 16 15/16 0
By location
Athens 138874 63 59/63 0
Thessaloniki 87749 44 43/44 0
Internet Radios 87749 242 197/242 3
Aegean Islands 145581 46 39/46 1
Crete 222933 68 57/68 0
Cyprus 78760 30 29/30 1
Epirus 40236 18 17/18 0
Ionian Islands 39597 21 20/21 0
Macedonia 172642 63 57/63 1
Peloponnesus 176632 60 55/60 0
Sterea Ellada 61712 33 31/33 1
Thessalia 125847 34 30/34 0
Thrace 61399 30 26/30 0

Elapsed time: Χρόνος εκτέλεσης του eradioParser (στο PC μου) σε milli second.
Parsed: Links που βρέθηκαν για επεξεργασία.
Valid: Links που αντιστοιχούν σε έγκυρες διευθύνσεις.
Unparsed: Links που απορρίφθηκαν πριν το στάδιο της επεξεργασίας (probably bad).

Apr 302012
 
 April 30, 2012  Posted by at 06:38 Programming Tagged with: , ,  1 Response »

Το χρονικό:

Ήταν ένα ζεστό φθινοπωρινό απόγευμα, ο ήλιος είχε μόλις σβήσει στη θάλασσα κι εγώ ύστερα από πολλές ώρες απόλαυσης στιγμών ξεγνοιασιάς κι ευχαρίστησης επέστερφα σπίτι ακούγοντας slow rock στο ραδιόφωνο του αυτοκινήτου μου. Μπαίνοντας σπίτι, θέλοντας να σπάσω την εκκωφαντική ησυχία που επικρατούσε, αποφάσισα να βάλω να ακούσω ένα σταθμό από τον υπολογιστή μου. Πληκτρολογώ http: τα δυο ενοχλητικά κι άχρηστα slashes (//) και το domain name του portal με τις περισσότερες διευθύνσεις Ελληνικών ραδιοφώνων e-radio.gr. Ωστόσο, αυτό που ακούστηκε, ήταν η αγανάκτησή μου κι όχι αυτό που τόσο πολύ ήθελα και καρτερικά περίμενα. Όμως, τι είχε συμβεί; To windows media player plugin που ήταν απαραίτητο για την αναπαραγωγή αρνιόταν πεισματικά να λειτουργήσει (τι πρωτότυπο, όχι ότι δεν υπήρχε εναλλακτική, απλά ήθελα να το φτιάξω κιόλας).  Περνώστας σύντομα  στην εναλλακτική, ανοίγω τον κώδικα της σελίδας και ψάχνοντας βρίσκω το link του σταθμού, το οποίο στη συνέχεια βάζω στο vlc player και ξεκινάει το steaming επιτυχώς! Και τότε μου ήρθε!

H ιδέα:

Τι ωραίο που θα ήταν να μη χρειάζεται να περιμένεις να ανοίξει ο browser, να φορτώσει το site, να επιλέξεις το link και να ελπίζεις να μην κολλήσει κάποιο plugin του browser ή και ο ίδιος ο browser για να ακούσεις το σταθμό της επιλογής σου απρόσκοπτα, αλλά απλά να μπορείς να έχεις ένα playlist το οποίο θα αναπαράγεις με κάποιον player.

Με πολλή θέληση και λίγες γραμμές κώδικα κατάφερα να πάρω αυτό που ήθελα. Ένα playlist με  όλα τα ραδιόφωνα που ήταν καταχωρημένα στο e-radio.gr. Όμως και πάλι κάτι δεν ήταν σωστό. Γιατί να έχω μόνο εγώ αυτή τη δυνατότητα ενώ είναι σίγουρο ότι πολλοί άλλοι θα είχαν βρεθεί στην ίδια θέση και ίσως ήλπιζαν για κάτι αντίστοιχο;

Η δημοσιοποίηση του playlist θα έλυνε το πρόβλημα μόνο προσωρινά, καθώς πολλά links μπορεί να άλλαζαν ή να έπαυαν να λειτουργούν γεγονός που θα καθιστούσε τη λίστα απαρχαιωμένη και αναξιόπιστη (και θα απαιτούσε από εμένα συνέχεια να την ενημερώνω, αναγκάζοντας πολλούς χρήστες να εξαρτώνται από ένα και μόνο χρήστη).

Για το λόγο αυτό, αποφάσισα κι ανέπτυξα ένα πρόγραμμα σε Java (eradioParser), το οποίο μπορεί να χρησιμοποιήσει ο καθένας κατα το δοκούν, ώστε να εξάγει κάποιο playlist από το e-radio.gr. Το πρόγραμμα δίνει τη δυνατότητα στο χρήστη να επιλέξει αν θέλει να εξάγει όλους τους σταθμούς που είναι καταχωρημένοι στο e-radio.gr ή να εξάγει κάποια κατηγορία σταθμών με βάση την τοποθεσία ή το είδος της μουσικής στο οποίο αυτοί είναι ενταγμένοι, σύμφωνα πάντα με την αρχική  κατηγοριοποίηση του ιστοτόπου.

Για να δημιουργήσει κάποιος ένα playlist αρκούν τα εξής απλά βήματα:

  1. Κατεβάζει το eradioParser v1.0 v1.1 από εδώ.
  2. Τρέχει το πρόγραμμα: ανοίγοντας ένα terminal (κοσνόλα) πληκτρολογούμε (αφού πρώτα πλοηγηθούμε στο directory που βρίσκεται το πρόγραμμα):
    $java -jar eradioParser-1.1.jar [χωρίς το δολλάριο $ φυσικά 🙂 ]. Επιλέγουμε από το μενού αυτό που θέλουμε και περιμένουμε το τέλος της εκτέλεσης του προγράμματος, όπου δημιουργείται το αρχείo playlist.xspf, που είναι και το ζητούμενο. Αναπαράγουμε με vlc player.
Οδηγίες βήμα προς βήμα για όσους δεν είναι εξοικειωμένοι με την κονσόλα υπάρχουν εδώ.
Το πρόγραμμα τρέχει σε κάθε λειτουργικό σύστημα, ενώ το playlist που παράγει είναι portable (xspf). Γιατί XSPF;

 

XSPF is the XML format for sharing playlists.

  • It is free and open — No proprietary lock-in.
  • It is portable — You should be able to send a playlist to your friend and have it work.
  • It is well-engineered — Most playlist formats get the easy things wrong.
Unlike M3U
XSPF is XML.
Unlike SMIL
XSPF is simple.
Unlike ASX
XSPF is open.

Αν κάποιος το επιθυμεί, μπορεί χρησιμοποιώντας έναν editor, να ανοίξει το .xspf playlist και να προσθέσει σε αυτό άλλους αγαπημένους του σταθμούς που θα ήθελε να βρίσκονται στην ίδια λίστα. Πως μπορεί να γίνει αυτό;

Η δομή του playlist, που θα δούμε σε έναν editor και μας ενδιαφέρει είναι η εξής:


    <track>
      <location>http://radioStation.com</location>
      <title>Radio title</title>
    </track>

Το παραπάνω block κώδικα επαναλαμβάνεται. Πιο αναλυτικά:

➾ To πεδίο <track> είναι αυτό που δηλώνει ένα νέα πεδίο καταχώρησης (δηλαδή υποδεικνύει ότι αρχίζει μια καινούργια καταχώρηση).

➾ Το πεδίο <location>  καταχωρεί το url ή το path της καταχώρησης (εδώ το url του σταθμού)

➾ Το πεδίο <title> τέλος καταχωρεί τον τίτλο.

Επομένως, αν ο σταθμός που θέλουμε να προσθέσουμε λέγεται Magic και το url του είναι: http://MagicFm.com, τότε ο κώδικας που προσθέτουμε είναι:


    <track>
      <location>http://MagicFm.com</location>
      <title>Magic</title>
    </track>

Τέλος, το πρόγαμμα είναι ελεύθερο λογισμικό (free software), δηλαδή μπορεί ο καθένας να το χρησιμοποιήσει και να το αναδιανείμει ελεύθερα. Για όσους ενδιαφέρονται υπαρχει και ολόκληρος ο πηγαίος κώδικας του προγράμματος οι βιβλιοθήκες κ.τ.λ. (όπως απαιτείται) σε repository που έχω δημιουργήσει στο github το οποίο μπορεί να κάνει fork, preview ή follow και να παρακολουθεί το development.

Παραθέτω και πάλι τα χρήσιμα links:
eradioParser v1.0,  οδηγίες


*UPDATE*

Αυτό που ξέχασα είναι ότι το πρόγραμμα υποστηρίζει και command line arguments (ορίσματα γραμμής εντολών). Μπορείτε να το τρέξετε είτε εισάγοντας μια σειρά από links σαν ορίσματα, τα οποία διαχωριζονται με κενό, είτε το path ενός αρχείου στο δίσκο το οποίο θα περιέχει τα links που μας ενδιαφέρουν. Τα links στο αρχείο πρέπει να είναι ένα ανά σειρά. Δηλαδή, οι δυνατοί τρόποι για να τρέξετε το πρόγραμμα είναι:

$java -jar eradioParser-1.1.jar  [χωρίς ορίσματα]
$java -jar eradioParser-1.1.jar link1 link2 link3 link4  [με ένα ή περισσότερα Url ορίσματα]
$java -jar eradioParser-1.1.jar PathOfFile  [με όρισμα το path ενός αρχείου]

Το path του αρχείου πρέπει να έχει τη μορφή π.χ.:

C:/Users/Me/myfile.txt  [σε Windwos]
/home/User/myFile.txt  [σε GNU/LINUX και Mac]

Τα links πρέπει να είναι κάποιας κατηγορίας μουσικού είδους ή τοποθεσίας ή και συνδυασμός αυτών (τα οποία τα βρίσκετε αν πάτε στο e-radio.gr και κάνετε δεξί κλικ στην επιλογή του μενού που σας ενδιαφέρει π.χ. Περιοχές–>Αθήνα και πατήσετε “copy link address”): π.χ.


$java -jar eradioParser-1.1.jar http://www.e-radio.gr/categories/rock.asp http://www.e-radio.gr/locations/crete.asp

όπου το πρώτο link αφορά τους σταθμούς που εντάσσονται στην κατηγορία Rock, ενώ το δεύτερο τους σταθμούς που βρίσκονται στην τοποθεσία Κρήτη. Κατ’αυτόν τον τρόπο μπορούμε να παράγουμε συνδυασμένα playlist.

Apr 282012
 
 April 28, 2012  Posted by at 08:02 Γενικά Tagged with:  No Responses »

Ο Richard Stallman, ο φιλόσοφος και ιδρυτής του κινήματος του Ελεύθερου Λογισμικού (Free Software Movement), σε μια ομιλία του είχε πει:

Η ελευθερία να συνεργάζεσαι με άλλους ανθρώπους, η ελευθερία να έχεις μια κοινότητα, είναι πολύ σημαντική για την ποιότητα της ζωής μας. Είναι πολύ σημαντική, για να έχουμε μια καλή κοινωνία στην οποία να μπορούμε να ζούμε. Κι αυτό είναι κατά τη γνώμη μου, ακόμα πιο σημαντικό από το να έχουμε δυνατό και αξιόπιστο λογισμικό!

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

Παρακάτω, (ανα)δημοσιεύεται η ύλη από το μηνιαίο ανεξάρτητο δημοσιογραφικό και πολιτικό περιοδικό Unfollow (4ο τεύχος), για όσους θα ήθελαν να έχουν τη δυνατότητα να το διαβάσουν. Η δημοσιογραφική ομάδα του περιοδικού, συστήνει ελεύθερα την έντυπη ή ηλεκτρονική αναδημοσίευση της ύλης του, αρκεί να μη γίνεται για κερδοσκοπικούς λόγους. Άραγε, πόσο σημαντική θα αποδειχτεί αυτή η ελευθερία;

➾ Unfollow 4

Apr 252012
 
 April 25, 2012  Posted by at 20:53 Γενικά No Responses »

Λοιπόν, ακολουθεί ο κανονισμός του blog! Το ξέρω ότι αδημονούσατε γι’αυτό! Αλλά, πριν από αυτό, θα ήθελα να γράψω ένα quote για την ελευθερία (εφόσον θίχτηκε σε σχόλιο του προηγούμενου post):

Η ελευθερία είναι σαν την ποίηση – δε χρειάζεται να έχει επίθετα, είναι απόλυτη ελευθερία!

The RuleZ

➾ Τα σχόλια στα posts πρέπει να είναι στα Ελληνικά!

➾ Τα σχόλια  δεν πρέπει να υπερβαίνουν τις 400 περίπου λέξεις.

➾ No spamming. No trolling.

➾ Μοιράστε ελεύθερα το περιεχόμενo,  χωρίς περιορισμούς πνευματικής ιδιοκτησίας, καθώς το blog βρίσκεται κάτω από την άδεια GPL v3.

Apr 192012
 
 April 19, 2012  Posted by at 19:01 Perosnal 4 Responses »

Μετά από αρκετό καιρό απουσίας λόγω εξεταστικής, διακοπών Πάσχα, εξωτερικών περισπασμών, εξερεύνησης επαγγελματικών προοπτικών, σε συνδυασμό με την προετοιμασία και ανάπτυξη ενός πακέτου λογισμικού αλλά και άλλων ανεξάντλητων δικαιολογιών, επανέρχομαι για να ευχηθώ σε όλους Χρόνια Πολλά!

Φυσικά αυτός δεν είναι ο μόνος λόγος.  Αυτό το ποστ είναι για το Πασχαλινό μου αυγό, που αν και σαφώς μικρότερο φέτος -λόγω κρίσης, παραμένει ασυναγώνιστο! 🙂