Πως να φτιάξτε ένα απλό add-on για Firefox και Chrome

Προσοχή: την παρούσα στιγμή (16 Αυγούστου 2019) το add-on δεν λειτουργεί λόγω ανανέωσης στο SpaceAPI

Πριν λίγο καιρό έφτιαξα ένα απλό add-on για Firefox και Chrome/Chromium ώστε να μπορεί να τσεκάρει κανείς από τον desktop browser του αν είναι ανοιχτό το hackerspace της Αθήνας. Παρακάτω θα γράψω επιγραμματικά πως το έφτιαξα. Φυσικά, ο κώδικας του add-on είναι διαθέσιμος κάτω από άδεια ελεύθερου λογισμικού.

Πρώτα πριν μπούμε στην διαδικασία να εξετάσουμε την ίδια την λειτουργικότητα του add-on.

Έχουμε ένα φυσικό χώρο, το hackerspace της Αθήνας (yeaheee!). Αυτός ο χώρος ουσιαστικά ανοίγει όποτε έχουμε κάποιο event ή είναι κάποιος από τους διαχειριστές του εκεί. Πως θα μπορούσαμε να γνωρίζουμε πότε είναι ανοιχτός εκτός event;

To hackerspace στην αρχική του σελίδα στο web έχει ένα “counter” που δείχνει αν και κατά πόσο ο χώρος αυτός είχε ανοίξει για επισκέπτες. Πως όμως το κάνει αυτό;  Το hackerspace όπως τα περισσότερα hackerspace του κόσμου ακολουθεί ένα πρωτόκολλο που λέγεται SpaceAPI αυτό μας δίνει τις απαραίτητες πληροφορίες για το αν είναι ανοιχτό. Το SpaceAPI είναι ένα output τύπου JSON (Javascript Object Notation), ένα από τα ωραία χαρακτηριστικά του είναι ότι είναι εύκολο για τους ανθρώπους να το διαβάσουν και εύκολο για τις μηχανές να το παράγουν και να το καταλάβουν.

Ωραία αν πάμε λοιπόν στο SpaceAPI του hackerspace θα δούμε κάτι σαν αυτό.

    "state": {
        "open": false,
        "lastchange": 1483908306,
	"message": "0 hacker(s) in space"
    },

Από εκεί έχουμε τις ακόλουθες πληροφορίες σύμφωνα με το documentation του SpaceAPI, πρώτον αν είναι όντως ανοιχτό το hackerspace και δεύτερον ένα μήνυμα που στην περίπτωση του hackerspace της Αθήνας μας λέει πόσα άτομα είναι μέσα. Πολύ ωραία… φαίνεται λοιπόν ότι μπορούμε να έχουμε αρκετές πληροφορίες για να φτιάξουμε το add-on μας σχετικά εύκολα. Για να δούμε όμως πως θα το κάνουμε.

Ο αρχικός μου σκοπός ήταν να δημιουργήσω ένα add-on για τον Firefox καθώς εδώ και αρκετά χρόνια είναι ο browser που προτιμώ. Μια εξαιρετική πηγή πληροφορίας για τις web τεχνολογίες είναι το Mozilla Developer Network ή MDN το οποίο έχει ένα σωρό πληροφορίες. Σύμφωνα με το σχετικό άρθρο, στον Firefox έχουμε διάφορα εργαλεία και τρόπους για να φτιάξουμε ένα add-on.

Στην περίπτωση μας ποιο είναι το βέλτιστο εργαλείο για την δημιουργία ενός add-on; Διαβάζοντας στην συνέχεια διαπιστώνουμε ότι από το τέλος του 2017 και μετά τα WebExtensions θα είναι το στάνταρ εργαλείο για την δημιουργία add-on, επίσης ένα από τα θετικά τους είναι ότι είναι φτιαγμένα για να δουλεύουν με το ίδιο πρακτικά κώδικα στους περισσότερους σύγχρονους browser όπως o FIrefox, ο Chrome, ο Edge και ο Opera.

Πρακτικό ακούγεται για να δούμε πόσο εύκολο είναι. Ουσιαστικά πρόκειται για μια συλλογή από αρχεία που περιγράφονται από ένα manifest.json και αυτά ουσιαστικά μπορεί να είναι html ή js που κάνουν χρήση κάποιον API του browser. Από ότι φαίνεται, έχουμε και τα απαραίτητα εργαλεία για να φτιάξουμε το αρχείο μας και να το δοκιμάσουμε. Ένα text-editor και ένα browser. Καλό είναι να τα έχουμε όλα μαζεμένα σε ένα directory ξεχωριστό στο οποίο θα τα δουλέψουμε.

Για να τα βάλουμε σε μια σειρά, θέλουμε να φτιάξουμε ένα add-on που θα έχει ένα εικονίδιο, στο background θα τρέχει ένα loop ελέγχου που θα τσεκάρει το JSON του hackerspace και θα μας λέει αν είναι ανοιχτό, και μιας και οι φανταστικοί sys-admin του hackerspace μας λένε πόσο κόσμο έχει μέσα θα δείχνουμε και αυτό, επίσης θα προσθέσουμε λειτουργικότητα ώστε όταν κάνουμε κλικ πάνω στο εικονίδιο να μας δείχνει το κεντρικό site του hackerspace.

Διαβάζοντας λοιπόν το εκτενές documentation που έχουμε θα πρέπει το manifest.json μας να μοιάζει κάπως έτσι.

{
    "description": "Adds a browser icon that shows if hackerspace.gr is open, it displays a counter of people inside.",
    "manifest_version": 2,
    "name": "hsgr-status-checker",
    "version": "0.1.6",
    "homepage_url": "https://hackerspace.gr",
    "icons": {
        "32": "icons/hsgr-32.png"
    },
    "applications": {
        "gecko": {
            "id": "elkos@hackerspace.gr",
            "strict_min_version": "45.0"
        }
    },
    "background": {
        "scripts": ["jquery.js", "background.js"]
    },
    "browser_action": {
        "default_icon": "icons/hsgr-32.png",
        "default_title": "hsgr status",
        "default_popup": "popups/popup.html"
    }
}

Δηλαδή περιγράφουμε το add-on στο “description”, η έκδοση του manifest (υπάρχουν και παλαιότερες στο Chrome), το όνομα του add-on στο “name”, η ιστοσελίδα του στο “homepage_url” (έβαλα το αρχικό website), ένα εικονίδιο για το UI (μπορείτε να βάλτε περισσότερα αν θέλετε), το “applications” ορίζει σε πια έκδοση του gecko (της μηχανής του Firefox θα παίζει έβαλα πάνω από 45 για να μην έχουμε θέμα με παλαιότερες εκδώσεις που δεν υποστηρίζουν όλα τα API), και δύο αρχεία στο “background” το ένα είναι η βιβλιοθήκη jquery.js για να μπορώ να δουλέψω άνετα με το JSON API, και το background.js που θα είναι ο κώδικας που τρέχει στο background. Επίσης λέω ότι θέλω να βάλω ένα εικονίδιο στο browser που θα το βρούμε εκεί, και θα έχει αυτό το τίτλο και όταν πατάς το εικονίδιο βγάζει ένα popup που το βρίσκει στο /popups/popup.html αρχείο.

Τί θα βάλω όμως στο background.js μου;  Πρώτα θα ορίσω το doorAPI που θα το βρώ;

var doorURL = 'https://www.hackerspace.gr/spaceapi';

Ωραία, τώρα θα φτιάξουμε ένα function που θα τσεκάρει η jquery με ένα απλό GET το σημείο που είναι το SpaceAPI.

function checker() {
    $.ajax({
         type: 'GET',
         url: doorURL,
         dataType: 'json',

Στην περίπτωση που αυτό δουλεύει λοιπόν τσεκάρουμε αν το hackerspace είναι ανοιχτό:

success: function(data) {
    if (data.state.open) {

Τώρα λοιπόν θα αλλάξουμε τον τίτλο του εικονιδίου ώστε να δείχνει ότι είναι ανοιχτό και πόσο κόσμο έχει μέσα, μετά αλλάζουμε το εικονίδιο (το αντικαθιστούμε με ένα πράσινο) και προσθέτουμε και ένα badge που τον αριθμό των hacker που μας δίνεται από το “state.message”. Ο αριθμός προκύπτει ουσιαστικά χρησιμοποιώντας regular expressions ώστε να μας βγάζει μόνο τα νούμερα το output, με αποτέλεσμα να έχουμε κάτι που μοιάζει με αυτό. Επίσης ορίζω το χρώμα του background του badge ως #808080 ή γκρι σκούρο για να μην βγάζει μάτι.

                 chrome.browserAction.setTitle({title: 'HSGR is open with ' + (data.state.message).replace(/\D/g, '') + ' hackers'});
                 chrome.browserAction.setIcon({path: 'icons/openhsgr-32.png'});
                 chrome.browserAction.setBadgeText({text: (data.state.message).replace(/\D/g, '')});
chrome.browserAction.setBadgeBackgroundColor({color: '#808080'});

Στην περίπτωση που το hackerspace δεν είναι ανοιχτό τότε θα αλλάξουμε το τίτλο, θα αλλάξουμε το icon στο μαύρο, και δεν θα έχουμε badge κείμενο.

             } else {
                 chrome.browserAction.setTitle({title: 'HSGR is closed'});
                 chrome.browserAction.setIcon({path: 'icons/hsgr-32.png'});
                 chrome.browserAction.setBadgeText({text: ''});

Αν τώρα το αφήσουμε έτσι θα παίξει μια φορά και αυτό ήταν, εγώ θέλω να λειτουργεί σχετικά τακτικά. Θα βάλουμε λοιπόν ένα interval για να παίζει μια φορά κάθε 15 λεπτά.

checker();
setInterval(checker, 15 * 60 * 1000);

Ωραία με το background θα πρέπει να είμαστε OK. Όσο αφορά το popup τώρα, είπα να ακολουθήσω την πλέον εύκολη και άσχημη λύση του iframe.

<html>
<head>
  <style type="text/css">
	  body {width:500px; height:500px;}
  </style>
</head>
<body>
  <iframe src="https://www.hackerspace.gr" width="100%" height="100%" frameborder="0"></iframe>
</body>
</html>

Μέχρι εδώ καλά, πως θα το δοκιμάσω όμως; Πάμε στο about:debugging του Firefox πατάμε εκεί που λέει “Load Temporary Add-on” και ανοίγουμε οποιοδήποτε αρχείο μέσα στο directory του add-on που φτιάξαμε πχ το manifest.json. Φαίνεται να δουλεύει.

Τώρα, πως το δίνουμε στο κόσμο; Πρώτα πρέπει να ετοιμάσουμε το αρχείο μας. Δημιουργούμε ένα αρχείο .zip. Στο Linux σε γραμμή εντολών αυτό το κάνουμε ως εξής:

Πρώτα “πάμε” στο κατάλογο που έχουμε τα αρχεία του add-on μας όπου φυσικά path/to/my-addon/ το directory με τα διάφορα αρχεία του προγράμματος.

cd path/to/my-addon/

Και μετά δίνουμε την εντολή

zip -r ../my-addon.zip *

Θα δημιουργηθεί ένα νέο αρχείο zip το my-addon.zip.

Για το add-on gallery του Mozilla πάμε στο addons.mozilla.org και ανεβάζουμε το αρχείο μας, αφού γίνει ένα βασικό check από διάφορα scripts ελέγχου τότε ανεβαίνει για review. Αυτό ουσιαστικά σημαίνει ότι ο κώδικας μας τσεκάρεται από κάποιο εθελοντή του Mozilla, επιβεβαιώνεται η ορθή λειτουργία του και συνιστούνται καλές πρακτικές, στο σημείο αυτό ελέγχεται και η πιθανή παρουσία κακόβουλου κώδικα. Αυτό στην περίπτωση μου σήμαινε 3-4 μέρες αναμονής.

Στην περίπτωση του Chrome τα πράγματα δεν είναι ακριβώς έτσι, αφού ανεβάσουμε το αρχείο μας και τσεκαριστεί από διάφορα scripts ελέγχου αυτό ήταν. Ανεβαίνει, χωρίς να περάσει από την επίβλεψη κάποιου.

Θα μου πείτε, και τί έγινε; Στην περίπτωση του Chrome ανεβαίνει ποιο γρήγορα χωρίς γραφειοκρατεία. Σωστά; Όχι ακριβώς. Μπορεί ένας “κακόβουλος” developer να βάλει κώδικα που ελέγχει η παρουσία του χρήστη online ή ακόμη και να εκμεταλλευτεί πολλές από τις δυνατότητες του browser.

Θεωρώ, ότι ως πρακτική η επιλογή του Mozilla να ελέγχει το κώδικα που τρέχουν τα add-on αν και πιο χρονοβόρα είναι τουλάχιστον για εμάς τους χρήστες η πλέον ορθή πρακτική.

Όλα αυτά δεν θα τα κατάφερνα χωρίς την βοήθεια, και την καθοδήγηση μελών και επισκεπτών του hackerspace που με βοήθησαν. Κλείνοντας να υπενθυμίσω πως δεν είμαι επαγγελματίας του χώρου της πληροφορικής, ως εκ τούτου ο οδηγός αυτός πιθανότατα περιέχει σφάλματα και ανακρίβειες.

Creative Commons στα Ελληνικά σχολεία

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

school photo

Πρόσφατα όμως, βρήκα ένα αποθετήριο με υλικό κάτω από άδεια Creative Commons ΒΥ-NC-SA  (που επιτρέπει τον διαμοιρασμό αλλά και την επεξεργασία, με την προϋπόθεση  πως αναφέρεται ο δημιουργός και δεν γίνεται εμπορική χρήση), θα βρείτε στο Φωτόδενδρο που έχει φτιαχτεί στα πλαίσια του Ψηφιακού Σχολείου. Το Φωτόδενδρο είναι βασισμένο στο λογισμικό εκπαιδευτικών αποθετηρίων DSpace (είναι ανοιχτού κώδικα λογισμικό με άδεια τύπου BSD).

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

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

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

1δις στην MS από την Samsung για πατέντες

Πριν λίγες ημέρες οι εταιρίες Microsoft και Samsung μπήκαν σε μια δικαστική διαμάχη για την εξόφληση χρημάτων αδειοδότησης πατεντών τις πρώτης στα προϊόντα της δεύτερης. Συγκεκριμένα σύμφωνα με την μήνυση που κατέθεσε η Microsoft η Samsung δεν κατέβαλε εγκαίρως τα χρήματα για την διετή αδειοδότηση πατεντών που έχει εξασφαλίσει, και πως της οφείλει 6.9 εκατομμύρια δολάρια σε τόκους… για μια στιγμή 6.9 εκατομμύρια δολάρια τόκοι; Μάλιστα τόκοι!

justice photo

Από τα δικόγραφα φαίνεται ότι η Samsung είχε συμφωνήσει με την Microsoft σε μια συμφωνία αδειοδότησης πατεντών την τάξης του ενός δισεκατομμυρίου δολαρίων. Από την άλλη η Samsung αναφέρει ότι η παρούσα συμφωνία είναι άκυρη καθώς το καλοκαίρι η Microsoft προχώρησε στην εξαγορά της Nokia.

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

Στην προκειμένη περίπτωση βλέπω μια οξύμωρη κατάσταση που δυσκολεύομαι να κατανοήσω το όφελος που μπορεί να έχει στις επιχειρηματικές πρακτικές της MS, αλλά και των εταιριών που συνάπτουν τέτοιες συμφωνίες μαζί της. Ποιο συγκεκριμένα, η πρακτική αδειοδότησης διάφορων εταιρειών για χρήση των πατεντών της MS θα μπορούσε να έχει ως αποτέλεσμα η MS να σταματήσει να καινοτομεί πάνω στην ανάπτυξη προϊόντων λογισμικού και να επικεντρωθεί στην εξασφάλιση πατεντών λογισμικού και συμφωνιών αδειοδότησης με κατασκευαστές λογισμικού, κάτι που θα την έκανε να μοιάζει περισσότερο με κάποιο patent troll, θεωρώντας ως δεδομένο ότι το κόστος ανάπτυξης ολοκληρωμένου λογισμικού (και μάλιστα κλειστού) είναι μακράν μεγαλύτερο από το κόστος ανάπτυξης πατεντών και δημιουργίας συμφωνιών αδειοδότησης με τρίτους. Επισημαίνω πως παλαιότερα επισήμανε η Νομική της Βοστόνης το κόστος των patent-trolls στο κοινωνικό-οικονομικό μοντέλο είναι πολύ σημαντικό.

Φαντάζομαι ότι η παραπάνω πρακτική ίσως είχε οφέλη σε επίπεδο ρευστότητας (χαρακτηριστικό είναι προ η προ τριετίας ανάλυση της CitiGroup πως η MS βγάζει πενταπλάσια έσοδα από την αδειοδότηση κατασκευαστών του Android από ότι βγάζει από τα Windows Phone) αλλά από την άλλη μακροπρόθεσμα θα μετέτρεπε την εταιρεία σε ουραγό τον τεχνολογικών εξελίξεων. Κατά πολλούς αναλυτές η Microsoft έχει ήδη φτάσει στο σημείο που απλά ακολουθεί της εξελίξεις κατά άλλους έχει δρόμο ακόμη. Ίσως αυτό που χρειάζεται πραγματικά η Microsoft είναι μια (μεγάλη) στροφή στο πως κάνει πράγματα αλλά η στροφή αυτή πρέπει να είναι και προς την σωστή κατεύθυνση.

Παρακάτω παραθέτω το πλήρες κείμενο της δικογραφίας όπως αυτό αναρτήθηκε στο Re/code για όσους έχουν όρεξη να το διαβάσουν αναλυτικά (αν δεν θέλετε να το διαβάστε μέσω Scripd μπορείτε να κατεβάσετε το PDF).

Εκτυπωτής όπλων

Πριν δύο περίπου χρόνια είχα αναφερθεί σε μια προσπάθεια της Defense Distributed για την ανάπτυξη ενός πυροβόλου όπλου ανοιχτού κώδικα που μπορούσε να εκτυπωθεί από ένα απλό 3D εκτυπωτή του Liberator (το άρθρο έχει εξαιρετικά σχόλια που συνιστώ να διαβάστε), συγκριτικά με τα όπλα που μπορεί να αγοράσει κανείς νόμιμα ή όχι και τόσο νόμιμα σε κάποια μέρη του κόσμου σίγουρα είναι υποδεέστερο αλλά σίγουρα μπορεί να κάνει ζημιά (είτε στο στόχο του είτε στο χρήστη του).

Εδώ και λίγες μέρες όμως η ίδια εταιρεία ανακοίνωσε ότι ετοιμάζει να διαθέσει στην αγορά ένα νέο ανοιχτού κώδικα σχέδιο. Αυτή την φορά ένα CNC γραφείου το Ghost Gunner (οφείλω να παραδεχθώ ότι ξέρουν να επιλέγουν ονόματα). Πριν προχωρήσουμε όμως να τσεκάρουμε λίγο την wikipedia να δούμε τί στην ευχή είναι ένα CNC:

Computerized Numerical Control (ή περισσότερο γνωστές και ως CNC) ονομάζεται η λειτουργία μιας μηχανής μέσω ενός ηλεκτρονικού υπολογιστή. Συστήματα CNC συνηθίζονται στην κατεργασία μετάλλου και ξύλου και επιτρέπουν μια τυποποίηση και ακρίβεια από μικρές ποσότητες διότι απαιτούν μόνο ένα πρόγραμμα αντί για καλούπια.

πηγή: Βικιπαιδεία

Ως τεχνολογία τα CNC ανάλογου μεγέθους υπάρχουν εδώ και χρόνια, και ένα από τα πλέον διαδεδομένα επιτραπέζια CNC είναι το ανοιχτού κώδικα Shapeoko, χαρακτηριστικό παράδειγμα των δυνατοτήτων μιας τέτοιας συσκευής, που χρησιμοποιώντας λογισμικό και σχεδίαση ανοιχτού κώδικα σε συνδυασμό με ένα μικροελεγκτή αντίστοιχο του Arduino, το οποίο είναι σε θέση να δουλέψει με μια πληθώρα υλικών από ξύλο μέχρι μαλακό μέταλλο και έχει μια εκτεταμένη κοινότητα χρηστών που μοιράζονται εμπειρίες δουλεύοντας με διάφορα σχέδια και υλικά σε πληθώρα εφαρμογών.

Η  Defense Distributed χρησιμοποιώντας αντίστοιχη τεχνολογία έφτιαξε ένα μικρό CNC το οποίο είναι σχεδιασμένο με βασικό στόχο να μπορεί να εκτυπώσει λειτουργικά μέρη όπλων χρησιμοποιώντας αλουμίνιο. Ειδικότερα η Defense Distributed αναφέρει ότι το Ghost Gunner είναι σε θέση να φτιάξει το “lower receiver” ενός πυροβόλου όπλου AR-15. Από όσο θυμάμαι από την υποχρεωτική θητεία μου (που έλαβε χώρα πριν αρκετά χρόνια) αυτό πρέπει να είναι το κλείστρο του όπλου, ή αλλιώς το πλέον λειτουργικό κομμάτι ενός όπλου και αυτό που το ξεχωρίζει από ένα μάτσο σιδερικά και αυτό που φέρει αριθμό σειράς για να το ξεχωρίζουμε και να το ταυτοποιούμε.

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

Μάλιστα η Defense Distributed προτείνει στους χρήστες του Ghost Runner την χρήση ενός lower receiver που έχει ολοκληρωθεί κατά 80% ώστε να κάνει μακράν ευκολότερη την διαδικασία δημιουργίας ενός ολοκληρωμένου lower receiver, τα υπόλοιπα ανταλλακτικά ενός τέτοιου όπλου δεν είναι ελεγχόμενα από την νομοθεσία και είναι διαθέσιμα προς πώληση σε οποιονδήποτε χωρίς καμία διαδικασία ελέγχου. Στην παρούσα φάση να τονίσω ότι η Defense Distributed αν και δέχεται προ-παραγγελίες για το Ghost Gunner αναμένει έγκριση το Department of Defense για να μπορέσει νόμιμα να το πουλήσει.

Ο κύριος προβληματισμός μου όσο αφορά το Ghost Gunner είναι πως είναι σχεδιασμένο με κύριο στόχο την παραγωγή κομματιών όπλων, ίσως είμαι αρνητικά προδιατεθειμένος καθώς η επαφή μου με πυροβόλα όπλα δεν είναι και η καλύτερη. Ίσως γιατί πιστεύω ότι με τις σύγχρονες μεθόδους παραγωγής που έχουμε στα χέρια μας χρησιμοποιώντας ανοιχτής σχεδίασης τρισδιάστατους εκτυπωτές ή μηχανήματα CNC μπορούμε να δημιουργήσουμε πολύ ενδιαφέροντα και χρήσιμα πράγματα που μπορούν να βελτιώσουν την καθημερινότητα όλων μας. Θα ήθελα να μοιραστείτε τις σκέψεις σας στα σχόλια παρακάτω.

1024 μέρες hackerspace στην Αθήνα

Πριν από 6 χρόνια (το Γενάρη του 2008) έγραφα για μια παρουσίαση σχετικά με την δημιουργία hackerspace, θεωρούσα αρκετά ενδιαφέρουσα την ιδέα πίσω από αυτό και πίστευα (και πλέον γνωρίζω) ότι στην χώρα μας υπάρχει αρκετή τεχνογνωσία για την δημιουργία ενός ανάλογου επιχειρήματος.

Τρία χρόνια μετά, το Μάρτιο του 2011, διάβαζα στο blog του Βαγγέλη Μπαλάσκα ένα άρθρο για το hackfest4 και την επιθυμία αυτού και κάποιον άλλων ανθρώπων να δημιουργήσουν ένα hackerspace στην χώρα μας. Εκείνη την Κυριακή στο hackfest που γινόταν σε μια καφετέρια στα Πευκάκια συνάντησα ανθρώπους με όρεξη για δουλειά και με όραμα να δημιουργήσουν ένα φυσικό χώρο ανοιχτό σε ανθρώπους με ενδιαφέρον για το ελεύθερο λογισμικό και της ανοιχτές πρωτοβουλίες θα μπορούν να συναντηθούν και να συνεργαστούν πάνω στα ενδιαφέροντα τους.

hsgr photo
Photo by vrypan

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

Τέλη Μαΐου (στις 28 για την ακρίβεια) έγιναν τα εγκαίνια του χώρου, και από τότε εκατοντάδες event (υπολογίζω κάτι παραπάνω από 500!!!) ανοιχτά σε οποιονδήποτε επιθυμεί να τα παρακολουθήσει και να συμμετάσχει χωρίς καμία οικονομική επιβάρυνση για τους συμμετέχοντες, ακόμη όμως και όταν δεν είναι λαμβάνει χώρα κάποιο event πολύ συχνά κάποιο (ή κάποια) από τα μέλη θα ανοίξει τον χώρο.

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

Ουσιαστικά όμως αυτό που έχει πραγματικά σημασία είναι να γίνονται παρουσιάσεις, ομιλίες, εργαστήρια, συναντήσεις στο χώρο αυτό για όλους, Είναι πραγματικά δύσκολο να απαριθμήσω ένα προς ένα τα event που έγιναν αυτές τις 1024 μέρες στο χώρο αυτό και σας προτείνω να δείτε την πλήρη λίστα με τα event του που κάθε φορά που την βλέπω μένω έκπληκτος με το πόσο ενδιαφέροντα πράγματα κατά καιρούς έχουν φιλοξενηθεί στο χώρο αυτό, από υποβρύχια ρομπότ, μέχρι ελικόπτερα, από ανάπτυξη εφαρμογών εικονικής πραγματικότητας μέχρι μαθήματα ψηφιακών ηλεκτρονικών και από μαθήματα χρήσης 3D εκτυπωτών μέχρι μαθήματα αστρονομίας.

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

Σε 1 βδομάδα (και ένα μήνα) λήγει η δημόσια διαβούλευση για το copyright στην ΕΕ

Ενημέρωση 01 Φεβρουαρίου 2014: Η ημερομηνία επεκτάθηκε για τις 5 Μαρτίου 2014

Αν και δεν ανανεώνω το blog αυτό τόσο συχνά όσο στο παρελθόν, θα ήθελα να επισημάνω στους αναγνώστες του (όσους έχουν απομείνει) την επικείμενη λήξη της δημόσιας διαβούλευσης της ΕΕ σχετικά με το copyright στην EE.

European Commission photo

Εδώ και λίγο καιρό η Ευρωπαϊκή Επιτροπή προωθεί την δημιουργία ενός Ευρωπαϊκού πλαισίου νομολογίας στο copyright που θα λειτουργεί ως κοινή βάση για το copyright σε όλη την Ευρώπη, με αυτό το σκεπτικό η Ευρωπαϊκή Επιτροπή έθεσε ένα ερωτηματολόγιο σε ανοιχτή δημόσια διαβούλευση για να συγκεντρώσει πληροφορίες από κάθε ενδιαφερόμενο. Το ερωτηματολόγιο είναι μια σειρά 80 ερωτήσεων στα Αγγλικά οι ενδιαφερόμενοι μπορούν να απαντήσουν όποιες από τις ερωτήσεις επιθυμούν σε οποιαδήποτε από τις επίσημες γλώσσες της Ευρωπαϊκής Ένωσης αποστέλλοντας το ερωτηματολόγιο στην κατάλληλη διεύθυνση email.

Πολλοί φίλοι και αναγνώστες ίσως αναρωτιούνται “Τί μας νοιάζει εμάς ρε Λευτέρη το copyright στην ΕΕ;”.

Δεν θα προβάλω το επιχείρημα ότι ως πολίτες ενός κράτους-μέλους πρέπει να είμαστε ενεργοί στα κοινά, άλλωστε δεν είμαι σίγουρος ότι όλοι συμμερίζονται την άποψη αυτή, κυρίως γιατί πιστεύω ότι το ζήτημα του copyright στην EE είναι κάτι που μας επηρεάζει τους περισσότερους χρήστες διαδικτύου και μάλιστα ποιο άμεσα από ότι πιστεύουμε.

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

Δύο αρκετά χρήσιμα εργαλεία που έχουν φτιαχτεί από διάφορες κοινότητες μπορείτε να βρείτε στο youcan.fixcopyright.eu, και στο copywrongs.eu. Προσωπικά προτίμησα το πρώτο καθώς καλύπτει όλες τις ερωτήσεις αν και δεν τις απάντησα όλες και παρέχει σχόλια από διάφορες ομάδες όπως το Copyright4Creativity και το project Wikimedia που ασχολείται μεταξύ άλλων με την Wikipedia (και όχι μόνο) καθώς και η ομάδα εργασίας του 30c3 έχει επισημάνει τις ερωτήσεις που έχει συμπεριλάβει στο Copywrongs.eu. Αν θέλετε να συμμετάσχετε ίσως αξίζει το κόπο να ρίξτε μια ματιά.

Τα έργα του Κωστή Παλαμά μπήκαν στο public domain…. χθές!

Τα έργα του Κωστή Παλαμά ενός από τους σημαντικότερους ποιητές της χώρας μας έγιναν μόλις εχθές public domain. Δηλαδή, μόλις εχθές την 1η Ιανουαρίου 2014 έληξε η περίοδος που ισχύει το copyright για όσα κείμενα του δημοσίευσε εν ζωή και πλέον μπορούμε ελεύθερα να τα αντιγράφουμε.

Κωστής Παλαμάς photo
Photo by Tilemahos Efthimiadis

Σύμφωνα με την Ευρωπαϊκή οδηγία η οποία ισχύει και στην χώρα μας για να μπει ένα έργο θα πρέπει να έχουν περάσει 70 χρόνια από το έτος του θανάτου του δημιουργού (ο Κωστής Παλαμάς πέθανε στην Αθήνα τον Φεβρουάριο του ’43).
Αν και οι λογοτεχνικές και ποιητικές μου γνώσεις είναι τουλάχιστον αποσπασματικές και ανεπαρκείς για να κάνω οποιαδήποτε κριτική στο έργο του Παλαμά, αναγνωρίζω ότι είναι ένας από τους σημαντικότερους ποιητές και λογοτέχνες στην Ελληνική γλώσσα, και έπαιξε σημαντικότατο ρόλο στην καθιέρωση της Δημοτικής Γλώσσας και από όσο γνωρίζω θεωρείτο ένας από τους σημαντικότερους ποιητές της παγκόσμιας λογοτεχνίας.

Οφείλω να ομολογήσω ότι ξαφνιάστηκα όταν αντιλήφθηκα ότι μόλις εχθές το έργο ενός ανθρώπου που επηρέασε τόσο πολύ τα Ελληνικά και Ευρωπαϊκά γράμματα έγινε κοινό κτήμα όλων μας. Η λίστα με τα έργα των ανθρώπων που τα έργα τους μπήκαν στο public domain εχθές είναι αρκετά εκτενής και φυσικά δεν περιορίζεται στον εθνικό μας ποιητή, ενδεικτικά ο Σεργκέι Ραχμάνινοφ,  ο Νίκολα Τέσλα, ο Μάξ Ράινχαρντ, και από κράτη που τα έργα υπάγονται στο public domain 50 χρόνια μετά το θάνατο του δημιουργού; ο Ρόμπερτ Φροστ, η Σύλβια Πλαθ, ο Ζαν Κοκτώ, ο Κλάιβ Στέιπλς Λούις, και ο Άλντους Χάξλει (που είναι ένας από τους αγαπημένους μου συγγραφείς επιστημονικής φαντασίας).

Μια εκτενέστερη λίστα με τους δημιουργούς τον οποίων τα έργα μπήκαν στο public domain εφέτος θα μπορέστε να βρείτε στην Αγγλόφωνη Wikipedia. Στην λίστα αυτή υπάρχουν ονόματα ανθρώπων που έχουν περισσότερο ή λιγότερο επηρεάσει πολύ τις τέχνες, τα γράμματα και τις επιστήμες, νομίζω ότι αξίζει να ρίξτε μια ματιά στα έργα τους και να δείτε πόσο έχουν επηρεάσει το τρόπο που σκεφτόμαστε συλλογικά και ατομικά πολύ πριν τα έργα τους μπουν στο public domain.

Βασικός οδηγός ψηφιακής ασφάλειας και προστασίας των ιδιωτικών δεδομένων σας

Εδώ και λίγες μέρες το Digital Liberation Front διαθέσει ένα εξαιρετικό φυλλάδιο που νομίζω ότι αξίζει να διαβάστε και για να το εκτυπώστε ως φυλλάδιο σε αυτό το PDF.

privacy photo

Πιστεύω ότι αν χρησιμοποιείτε το διαδίκτυο αξίζει και σας ενδιαφέρει έστω και κατ’ ελάχιστον η ασφάλεια και η προστασία των προσωπικών σας δεδομένων αξίζει να το διαβάστε και να το μοιραστείτε. Σίγουρα δεν είναι ένας εξαντλητικός οδηγός για την ασφάλεια μας στο διαδίκτυο όμως δίνει κάποιες βασικές αρχές που πολλοί από εμάς, συμπεριλαμβανομένου του διαχειριστή του blog που διαβάζετε είτε δεν τις γνωρίζουν είτε τις ξεχνούν. Μια εκτενέστερη (για να μην πω εκτενέστατη) πηγή πληροφοριών με πολλά ενδιαφέροντα άρθρα σχετικά με τις τηλεπικοινωνίες στο ψηφιακό κόσμο θα βρείτε στο wiki της πρωτοβουλίας skytal.es.

Επίσης αν πιστεύετε όχι υπάρχει κάτι που θα επιθυμούσατε να προσθέσετε μην διστάσετε να αφήστε ένα σχόλιο παρακάτω.

Ελευθερία, ισότητα, αδελφότητα

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

freedom france photo

Θα μπορούσε να ισχυριστεί κανείς ότι μια τέτοια απόφαση θέτει το ελεύθερο λογισμικό σε πλεονεκτική θέση έναντι του κλειστού λογισμικού και ως εκ τούτου δημιουργεί στρεβλώσεις στην αγορά. Μια απλοποιημένη προσέγγιση ίσως θα έδινε μια τέτοια εντύπωση αν όμως εξετάσει κανείς τις τέσσερις ελευθερίες  του ελεύθερου λογισμικού όχι ως αφαιρετικές έννοιες αλλά ως τεχνικά χαρακτηριστικά ενός προγράμματος είναι πιθανόν να οδηγηθεί σε διαφορετικά συμπεράσματα σχετικά με το αν θα πρέπει να υιοθετηθεί μια τέτοια πολιτική

Στο σημείο αυτό ίσως είναι χρήσιμο να θυμίσω για ποιες ελευθερίες μιλάμε:

  • χρήσης του προγράμματος για οποιοδήποτε σκοπό
  • μελέτης και τροποποίησης του προγράμματος
  • αντιγραφής του προγράμματος
  • βελτίωσης του προγράμματος και επανέκδοσης του προς το συμφέρων της κοινότητας των χρηστών

Ο συνδυασμός των παραπάνω μπορεί να εξασφαλίσει διαλειτουργικότητα, προσβασιμότητα και την ανεξαρτησία από τους προμηθευτές που χρειάζεται σ ένας μεγάλος οργανισμός όπως ένα κράτος σύμφωνα με τους υποστηρικτές της προτεραιότητας χρήσης ελεύθερου λογισμικού. Μάλιστα ο οργανισμός April που υποστηρίζει την χρήση ελεύθερου λογισμικού στην Γαλλία είχε προχωρήσει στην σύνταξη ενός κειμένου σύμφωνα με το οποίο η χρήση ελεύθερου λογισμικού κατά προτεραιότητα είναι συμβατή με το Ευρωπαϊκό δίκαιο.

Αλήθεια, εσάς πια είναι η άποψη σας; Θα σας έβρισκε σύμφωνους μια ανάλογη απόφαση στην χώρα που ζείτε;

Aνοιχτά modules για synthesizers

Πριν αρχίσω να γράφω να ευχαριστήσω το Κωνσταντίνο Καναβό έναν από τους ιδρυτές του OSarena που με ενημέρωσε (αν θέλετε μπορείτε και εσείς να με ενημερώστε για κάτι χρησιμοποιήστε την σχετική φόρμα).  Ο Κώστας λοιπόν θέλησε να με ενημερώσει για την δραστηριότητα της  Rebel Technology. Η Rebel Technology είναι μια ομάδα δημιουργίας synthesizer modules ανοιχτού κώδικα. Στην παρούσα φάση δύο modules είναι διαθέσιμα, και τα δύο στο μέγεθος Eurorack

Τo module “Στοιχεῖα” που είναι ένας διπλός sequencer που το όνομα του το έχει πάρει από το ομώνυμο βιβλίο του Ευκλείδη στο οποίο περιγράφεται η μέθοδος εύρεσης του μέγιστου κοινού διαιρέτη γνωστή και ως αλγόριθμος του Ευκλείδη, για περισσότερα σχετικά με αυτό ρίξτε μια ματιά στο ενδιαφέρων paper του Godfried Toussaint για το πως ο Αλγόριθμος του Ευκλείδη μπορεί να χρησιμοποιηθεί για την αναπαραγωγή γνωστών μουσικών ρυθμών. Τα ηλεκτρονικά του βασίζονται στο AVR ATMega168 στο οποίο έχει φορτωθεί το Arduino Bootloader και ουσιαστικά μπορείτε να το προγραμματίστε λες και είναι ένα Arduino Diecimila.

Τo module “Λόγοι” λειτουργεί ουσιαστικά ως διαιρέτης, μετρητής, και ως καθυστέρηση στο σήμα μας και είναι και αυτό ανοιχτό hardware.

Παρακάτω μπορείτε να βρείτε το module Στοιχεῖα έτοιμο στους ακόλουθους διανομείς.

Επίσης παρακάτω μπορείτε να δείτε ένα βίντεο του JC Credland που δοκιμάζει το module Στοιχεῖα