Πές Το Με Ένα Barcode...

Η πάρακάτω περίεργη εικόνα κρύβει ένα μήνυμα και στη συνέχεια αυτού του άρθρου θα μάθετε πως θα μπορούσατε να την αποκωδικοποιήσετε!

Πρόκειται για ένα Barcode όμοιο με αυτά που υπάρχουν επάνω σε διάφορα προϊόντα ή βιβλία μόνο που σε αυτό, οι πληροφορίες είναι κωδικοποιημένες και κατα πλάτος (όπως στα κοινά barcode) αλλά και κατα ύψος. Αυτό έχει σαν αποτέλεσμα μια εικόνα με πολύ μεγαλύτερη χωρητικότητα χαρακτήρων απο τα κοινά barcodes.

Τα Barcodes...
Η πρωτογεννής ανάγκη για τη χρήση των barcodes ήταν η ταυτοποίηση ή αναγνώριση αντικειμένων. Συγκεκριμένα, τα πρώτα barcodes εφευρέθηκαν τη δεκαετία του 50 και πρωτοχρησιμοποιήθηκαν για την αναγνώριση εμπορικών βαγονιών τραίνου[1].

Το επόμενο βήμα ήταν η αναγνώριση αντικειμένων σε Supermarket. Η εφαρμογή των barcode στα supermarket περιγράφει ίσως με το καλύτερο τρόπο τα πλεονεκτήματα της χρήσης τους[1] και σε άλλους τομείς μια και αποτελείται απο:
  • Την αποθήκη (όπου χρειάζεται γρήγορος έλεγχος των προϊόντων που εισέρχοντε και εξέρχοντε)
  • Το χώρο εξυπηρέτησης των πελατών (όπου χρειάζεται γρήγορος έλεγχος της τοποθεσίας των προϊόντων) και
  • Το σημείο εξυπηρέτησης που είναι τα ταμέια (όπου χρειάζεται γρήγορος έλεγχος των προϊόντων και ακριβής χρέωση) .
Ο σκοπός της χρήσης των barcodes στα supermarket είναι η ελαχιστοποίηση του χρόνου αναμονής στο ταμείο, λιγότερα λάθη στους λογαριασμούς, καλύτερος έλεγχος της αποθήκης και η ελαχιστοποίηση γενικότερα του κόστους εργασίας.
Ακολουθόντας λοιπόν το "παράδειγμα" του supermarket, οι εφαρμογές των barcode έχουν παρόμοια πλεονεκτήματα στη βιομηχανία αλλά και σε εφαρμογές τύπου ταχυδρομείου ή εταιρίας μεταφορών.
Η εξέλιξη των barcodes σε δισδιάστατα ήταν αναπόφευκτη απο τη στιγμή που οι βιομηχανίες είναι διεθνής αλλά και για λόγους διασφάλισης ποιότητας όπου απαιτούντε ακόμα περισσότερα στοιχεία για ένα συγκεκριμένο προϊόν.

Πέρα Απο Τις Συνηθισμένες Εφαρμογές...
Όλα αυτά ήταν ωραία και καλά για τη βιομηχανία. Το καλύτερο μέρος της διασκέδασης όμως ξεκινάει απο τη στιγμή που τα κινητά τηλέφωνα απόκτησαν κάμερες (αλλά και σύνδεση με το internet) και τα δισδιάστατα barcodes άρχησαν να χρησιμοποιούντε με νέους και πρωτότυπους τρόπους![2]

Υπάρχουν πάρα πολλά πρότυπα και είδη δισδιάστατων barcodes σε χρήση σήμερα αλλά τα πιο ευρέως διαδεδομένα και με ιδιαίτερο ενδιαφέρον είναι τα QR-Codes, Datamatrix, Shotcodes και mcodes τα οποία επιτρέπουν τη κωδικοποίηση διευθήνσεων στο internet (URLs), απλού κειμένου, SMS μηνυμάτων ή ακόμα και τη κωδικοποίηση του αριθμού ενός κινητού τηλεφώνου.

Ο τρόπος λειτουγίας των περισσότερων project που χρησιμοποιούν δισδιάστατα barcodes είναι παρόμοιος. Ένας χρήστης δημιουργεί ένα δισδιάστατο barcode που περιέχει κάποια πληροφορία και στη συνέχεια την δημοσιεύει σαν ένα αυτοκόλητο, μια φωτογραφία, ή ακόμα και σαν μια απλή ψηφιακή εικόνα σε κάποιο website όπως αυτή στην αρχή του άρθρου. Οι χρήστες που βλέπουν το barcode μπορούν να το αποκωδικοποιήσουν με το κινητό τους τηλέφωνο. Στη περίπτωση που οι κώδικες περιέχουν URL, ή μηνύματα ή αριθμούς τηλεφώνου, ο χρήστης μπορεί με το πάτημα ενός κουμπιού να τηλεφωνήσει στον αριθμό ή να επισκευθεί τη σελίδα ή ακόμα και να στείλει το μήνυμα στον επιλεγμένο αριθμό.

Ίσως το πιο αντιπροσωπευτικό παράδειγμα ενός project που χρησιμοποιεί δισδιάστατα barcodes είναι η απίθανη Semapedia![3] Ένα project που έχει σκοπό "να συνδέσει τον εικονικό κόσμο με τον πραγματικό". Οι χρήστες δημιουργούν barcodes που περιέχουν ένα link προς το κατάλληλο άρθρο στη Wikipedia και δημοσιεύουν τους συνδέσμους στις ανάλογες τοποθεσίες.

Φανταστείτε για παράδειγμα οτι περπατάτε σε μια πόλη και φθάνετε σε μια ιστορικη τοποθεσία ή ένα ιστορικό μνημείο. Αν αυτό το μνημείο είναι μαρκαρισμένο με ένα semacode, θα μπορείτε να το διάβασετε με το κινητό σας τηλέφωνο και να μεταβείτε στο κατάλληλο άρθρο της Wikipedia με περισσότερες πληροφορίες για αυτή την ιστορική τοποθεσία.

Σε αυτό το σημείο είναι αναπόφευκτο το να αναρρωτιέται κανείς αν τα Ελληνικά ιστορικά μνημεία ή τοποθεσίες είναι μαρκαρισμένα με κάποιο παρόμοιο τρόπο και συνδεδεμένα με επίσημες και ελεγμένες σελίδες που παρέχουν ακριβείς πληροφορίες για αυτά τα μνημεία. Βέβαια όπως και με τη περίπτωση του Geocaching[4], που περιγράφεται σε προηγούμενο άρθρο, κανείς δε μας σταματά σαν χρήστες να δημιουργήσουμε τα κατάλληλα barcodes για τις ιστορικές τοποθεσίες, μνημεία και σημεία ενδιαφέροντος της περιοχής μας.

Άλλη μια ενδεικτική εφαρμογή είναι αυτή που περιγράφεται σε ένα μικρό video στο website της εταιρίας που διαχειρίζετε τα Shotcodes[5] τα οποία όμως μπορούν να κωδικοποιήσουν μόνο URL. Ένας χρήστης βλέπει στο δρόμο ένα poster για μια συναυλία και επιθυμεί να αγοράσει εκείνη τη στιγμή τα εισητήρια. Διαβάζει λοιπόν με το κινητό του τον κώδικα απο το poster και συνδέεται σε ένα website απο το οποίο μπορεί να κλείσει εισητήρια ή να μάθει περισσότερα για τη συναυλία. Αυτή είναι μια πολύ πρακτική εφαρμογή, ιδιαίτερα αν αναλογιστεί κανείς οτι το να γράψεις ένα μεγάλο URL με πολλά διαφορετικά σύμβολα και αριθμούς είναι λίγο δύσκολο στο περιορισμένο πληκτρολόγιο ενός συνηθισμένου κινητού τηλεφώνου.
Περισσότερες πληροφορίες για το πως θα μπορούσατε να δημιουργήσετε το δικό σας Shotcode αλλά και για να κατεβάσετε τον σχετικό Reader στο κινητό σας, μπορείτε να βρείτε στο website της εταιρίας[6]

Προσωπικά, η πρώτη φορά που είδα ένα τέτοιο Barcode να χρησιμοποιήτε ήταν σε μια απο τις "Μέρες Για Το Κοινό" ενός πανεπιστημίου στην Αγγλία. Οι "Μέρες Για Το Κοινό" διοργανώνοντε απο τα πανεπιστήμια, ώστε οι μελλοντικοί νέοι μαθητές να δούν τις εγκαταστάσεις, να γνωρίσουν τους καθηγητές και να αποφασίσουν αν θα ήθελαν να φοιτήσουν στο συγκεκριμένο πανεπιστήμιο. Επειδή ο χώρος του πανεπιστημίου ήταν πολύ μεγάλος και επειδή οι ενδιαφερόμενοι επισκέπτες δεν είχαν καμία γνώση της τοποθεσίας, οι υπεύθηνοι της διοργάνωσης έδειναν σε όλους τους επισκέπτες ένα λεπτομερή χάρτη αλλά είχαν τοποθετήσει και σε όλα τα κτήρια πολλά Barcodes που περιείχαν το όνομα του κτηρίου, ποιές σχολές είχαν παρουσιάσεις στο συγκεκριμένο κτήριο και τις συγκεκριμένες αίθουσες όπου γίνονταν αυτές οι παρουσιάσεις. Αν κάποιος έχανε το δρόμο του μπορούσε να βρεί το κοντινότερο barcode να το σκανάρει και να καταλάβει σε ποιό σημείο βρίσκετε στο χάρτη ή αν στο συγκεκριμένο κτήριο γίνονταν παρουσιάσεις που τον ενδιέφεραν.

Όπως καταλαβαίνει κανείς, οι εφαρμογές περιορίζοντε μόνο απο τη φαντασία!

Δημιουργήστε Τα Δικά Σας Barcodes...
Οι ελάχιστες προυποθέσεις για να διαβάσει κανείς ένα τέτοιο barcode είναι να έχει ένα κινητό τηλέφωνο με κάμερα και δυνατότητα Java και τον ανάλογο barcode reader, μια μικρή εφαρμογή, διαθέσιμη δωρεάν, που αποκωδικοποιεί τις πληροφορίες.

Ένας πρακτικός reader με τη δυνατότητα να αναγνωρίζει δύο πρότυπα (QR-Codes και Datamatrix) είναι αυτός που αναπτύσει η Ελβετική εταιρία Kaywa[7]. Μπορείτε να εγκαταστήσετε την εφαρμογή είτε μέσω του browser του κινητού σας ή κατεβάζοντας τον reader στον υπολογιστή σας και εγκαθιστόντας το χειροκίνητα. Για περισσότερες πληροφορίες αλλά και για να δείτε ποια τηλέφωνα υποστηρίζοντε, μπορείτε να ρίξετε μια πιο προσεκτική ματιά στο website της Kaywa[7].

Στο website της ίδιας εταιρίας μπορείτε να βρείτε και μια πολύ εύχρηστη web εφαρμογή με την οποία μπορείτε να δημιουργήσετε τα δικά σας barcodes, είτε μέσω του προτύπου QR-Code[8] είτε Datamatrix[9].

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

Περισσότερες πληροφορίες, στις παρακάτω τοποθεσίες:
[1] Άρθρο Της Wikipedia Για Τα Barcodes.
[2] Εισαγωγή Στα Barcode Που Μπορούν Να Αναγνωσθούν Με Κινητά Τηλέφωνα
[3] To Website Της Semapedia
[4] Προηγούμενο Άρθρο Σχετικά Με Το Geocaching
[5] Ένα Σενάριο Χρήσης Των Shotcodes.
[6] Το Επίσημο Website Για Τα Shotcodes
[7] Το Website Της Kaywa Για Τον QR-Code, Datamatrix Reader
[8] Η Web Εφαρμογή Της Kaywa Για Τη Δημιουργία QR-Codes
[9] Η Web Εφαρμογή Της Kaywa Για Τη Δημιουργία Datamatrix Codes.

Μια Εικόνα=1000 λέξεις, Μια Εφημερίδα...περίπου 1kgr

Η παρακάτω φωτογραφία δείχνει το Κυριακάτικο φύλλο των Sunday Times σε όλο του το μεγαλείο, όλο δηλαδή το spam που αγοράζει κανείς με τη συγκατάθεση του και £2!


Το οτι επέλεξα τη συγκεκριμένη εφημερίδα δε σημαίνει τίποτα για τον συγκεκριμένο εκδότη, άλλωστε όλες οι Κυριακάτικες εφημερίδες έχουν τα ίδια αν όχι και περισσότερα flyers, ένθετα, CD/DVD και ότι μπορείτε να φανταστείτε.

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

Αυτές οι εφημερίδες είναι αρκετά πρακτικές στα Αγγλικά Cafe όπου ο "περίγυρος" δεν σου αποσπάει τη προσοχή (με λίγες αξιόλογες εξαιρέσεις) και μπορείς να διαβάσεις ένα άρθρο, απολαμβάνοντας ένα ζεστό καφέ ενώ έξω βρέχει...(πάλι).
Στο σπίτι είναι λιγότερο πρακτικές...Με τέτοιο βάρος χρειάζεσαι ένα κανονικό τραπέζι για να την ακουμπήσεις καθώς τα κοινά κομψά "τραπεζάκια του καφέ" παλεύουν να συγκρατήσουν 1-2 ένθετα και το βασικό κομάτι της εφημερίδας. Εκτός βέβαια και αν αποφασίσεις να την απλώσεις στο σαλόνι (όπως στη φωτογραφία :-) ) με τη γάτα να τριγυρνάει ανάμεσα στα ένθετα και να απολαύσεις ένα ζεστό καφέ, Κυριακή πρωί ενώ έξω βρέχει...(πάλι)

Παρ' όλη την επέλαση του Internet μέσα σε κάθε σπίτι, παρ' όλο που τα μεγαλύτερα ειδησεογραφικά πρακτορία παρέχουν τις ειδήσεις τους online, παρ' όλο που έχουμε τη δυνατότητα να λαμβάνουμε ειδήσεις και επίκαιρες ενημερώσεις στο κινητό / PDA συνεχίζουμε να εμπιστευόμαστε το παλιό καλό τρόπο της έντυπης ενημέρωσης και φυσικά οι εκδότες θα κάνουν τα πάντα για να "αιχμαλωτίσουν" τον αναγνώστη στο φύλλο της δικής τους εφημερίδας και όχι του ανταγωνιστή.

Οι εναλλακτικές ηλεκτρονικές λύσεις (τα γνωστά e-books) έχουν κάνει την εμφάνιση τους εδώ και καιρό[1] και μάλιστα πρόσφατα η Sony ανακοίνωσε ένα πρακτικό ebook reader[2] βασισμένο στη τεχνολογία του epaper[3] σε σχετικά προσιτή τιμή (περίπου $300).

Το συγκεκριμένο ebook reader έχει φυσικά τη δυνατότητα να συγκρατήσει μια ολόκληρη βιβλιοθήκη βιβλία, να μεγενθύνει το κείμενο (ποιό "αναλογικό" βιβλίο τα κάνει αυτα; :-) ) να συνδεθεί στον υπολογιστή και όλα αυτά σε μέγεθος και τρόπο χρήσης κλασικού αναλογικού βιβλίου...περίπου.

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

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

Περισσότερες πληροφορίες, στις εξής τοποθεσίες
[1] Amazon's ebook reader
[2] Sony ebook Reader
[3] Σχετικό άρθρο του epaper απο το website του Wikipedia

Το Απίθανο "Παιχνίδι" Του Geocaching!!! (Πολύ Καλή Φάση!)

Μέσα απο την ενασχόληση μου με τα GPS έχω συναντήσει μερικές πολύ έξυπνες και νέες εφαρμογές με σημαντικό χαρακτηριστικό την εμπλοκή του χρήστη σε μια φυσική δραστηριότητα... Για να έχεις ένα καλό λόγο να σηκωθείς απο το PC :-)

Μια απο αυτές μου έκανε εντύπωση και γι' αυτό και αποφάσισα να τη παρουσιάσω εδώ. Ο λόγος για το Geocaching![1]

Πρόκειται για ένα εικονικό παιχνίδι παρόμοιο με το "κυνήγι" θυσαυρού, μόνο που το κίνητρο του παίκτη είναι η χαρά της ανακάλυψης και όχι κάποιο έπαθλο.

Ένα Geocache είναι ένα μικρό αδιάβροχο κουτί που περιέχει ένα σημειωματάριο, ένα μολύβι και διάφορα μικρά αντικείμενα (ο "θυσαυρός" :-) ).
Οποιοσδήποτε μπορεί να δημιουργήσει ένα τέτοιο Geocache, να το τοποθετήσει σε μια θέση οπουδήποτε επάνω στο πλανήτη Γή και να ενημερώσει ένα Geocaching website με τις ακριβείς συντεταγμένες της τοποθεσίας!

Οι διάφοροι περιηγητές "παίκτες" κατεβάζουν τις θέσεις των Geocaches απο το Website και τις αναζητούν με τους GPS δέκτες τους. Όταν κάποιος παίκτεις εντοπίσει το Geocache ήθιστε να αφήνει κάποιο μήνυμα στο σημειωματάριο ή κάποιο μικρό "θυσαυρό" για τους υπόλοιπους παίκτες ή ακόμα και να φωτογραφίζει το εύρημα του [2,3,4]

Τα Geocaches εκτός απο φυσικά (όπως το αδιάβροχο κουτάκι) μπορεί να είναι και εικονικά, όπως για παράδειγμα κάποιος γεωλογικός σχηματισμός, ένα έργο τέχνης, ένα παλιό κτήριο ή ακόμα και μια τοποθεσία όπου ο θυσαυρός είναι η όμορφη θέα ;-)

Στην Ελλάδα υπάρχουν περίπου 500 Geocaches που σας περιμένουν να τις ανακαλύψετε. Περισσότερες πληροφορίες μπορείτε να βρείτε στο επίσημο site[5] των Geocaches αλλά και σε μικρότερα websites[6] που συντηρούντε απο διάφορες κοινότητες.

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

Για παράδειγμα το υπουργείου πολιτισμού ή οι κατα τόποι Δήμοι θα μπορούσαν να δημιουργήσουν διάφορα Geocaches σε σημεία ιστορικού, αρχαιολογικού ή γενικού ενδιαφέροντος σε μια προσπάθεια να προάγουν την ιστορία του τόπου και να προσελκύσουν επισκέπτες. Ο θυσαυρός σε αυτή τη περίπτωση θα μπορούσε να είναι έντυπο υλικό ή παλιές φωτογραφίες απο τη τοποθεσία.

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

Καλό Geocaching λοιπόν!

Περισσότερες πληροφορίες στις παρακάτω τοποθεσίες:
[1] Geocaching
[2] Geocache Φωτογραφία - 1
[3] Geocache Φωτογραφία - 2
[4] Geocache Φωτογραφία - 3
[5] Το επίσημο Site του Geocaching
[6] Μερικά Geocaches στην Ελλάδα απο ένα μικρότερο website

Η "Νέα" Πρόταση Για Την Υποβοήθηση Του GPS

Αυτές τις ημέρες κυκλοφόρησε μια είδηση για ένα "νέο" σύστημα που θα μπορούσε να υποβοηθήσει το Global Positioning System (GPS) και είναι βασισμένο στην ανίχνευση του μαγνητικού πεδίου της γής.

Μια και αυτό το καιρό έχω ξεκινήσει μια σειρά απο άρθρα σχετικά με το προγραμματισμό Smart Devices ή PDAs και τη παρουσίαση μιας μικρής εφαρμογής GPS αποφάσισα να γράψω δύο λόγια σχετικά με αυτό το σύστημα.

Το πρώτο σημείο όπου διάβασα γι' αυτό το σύστημα ήταν το περιοδικό Newscientist[1] σε ένα άρθρο όπου περιέγραφε ένα νέο και πρακτικό Γεωμαγνητικό αισθητήρα. Ο αισθητήρας αυτός παράγει ένα ηλεκτρικό σήμα το οποίο είναι ανάλογο της απόκλισης του μαγνητικού πεδίου της γής σε ένα σημείο.

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

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

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

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

Το σύστημα αυτό λοιπόν προτείνει την υποβοήθηση του GPS στις περιοχές όπου δεν υπάρχει καλή λήψη παρακολουθόντας τη τοπική απόκλιση και βύθηση και αντιστοιχίζοντας τη στη τοποθεσία.

Αυτή η ιδέα είναι τόσο παλιά -σχεδόν- όσο και η πυξίδα για την οποία πρόσφατα γράφτηκε ένα πολύ όμορφο βιβλίο υπο τον τίτλο...Compass του Alan Gurney[3] (ISBN-10: 0393327132).

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

Απο το συγκεκριμένο βιβλίο παραθέτω το εξής ενδιαφέρον κομμάτι:

"But the finding of one's latitude and longitude by magnetic dip and variation was based on quicksand. This was an age when scientific hypotheses were argued from small amounts of evidence. And the great tragedy of science (as later pointed out by Thomas Huxley) is the slaying of a beautiful hypothesis by an ugly fact.

The ugly fact emerged in 1633. Henry Gellibrand, an English mathematician (dismissed by the Dictionary of National Biography as "a plodding industrious mathematician, without a spark of genius"), found that the variation in London had decreased from Borough's 1580 measurement of 11+1/4 degrees East to 4 degrees East. Other measurements also showed a perplexing decrease in variation. What was once thought to be static was proving to have an alarming and skittish behaviour. Gellibrand published his findings and concluded that the variation had a buit in variation: the secular change.

Gellibrand's findings, nevertheless, failed to slay the beautiful idea of finding longitude by variation. On the contrary: Henry Bond, a teacher of navigation, thought it a positive help. Having studied the decrease of variation he foretold that hte variation in London, by 1657 would be zero; and then slowly increase to the west. He gained great kudos by being right: and then moved on to draw up a theoritical table of magnetic elements. This table with a compass for measuring variation and a dipping needle, would result in a mariner's being able to find his longitude. And all this could be found in his volume The Longitude Found, published in 1676 - followed, two years later, by Peter Blackbarrow's defeating The Longitude Not Found.

But the idea of finding one's position at sea with a compass and dipping needle refused to die. In 1721, William Whiston published The Longitude and Latitude discovered by the Inclinatory or Dipping Needle. Whiston was no stranger to the milder forms of lunacy. After the wreckling of Shovells's fleet he, with another deluded man, had suggested a crack-brained scheme of anchored ships strung across the Atlantic. These ships would fire rockets into the sky timed to explode at a certain height. Any mariner seeking his position would take a compass bearing and note the time between the flash and the sound of the explosion, thus obtaining his distance and bearing from the ship."

Απίστευτες ιδέες, σε μια εποχή που η λέξη δορυφόρος ίσως έφερνε στο νού μόνο το άγαλμα[4].

H μαγνητική πυξίδα εκτοπίστηκε απο τη λειτουργία της απο το μηχανικό Γυροσκόπιο[5] το οποίο έχει τη δυνατότητα να ρυθμιστεί ώστε να δείχνει το πραγματικό Βορρά (και όχι το μαγνητικό, όπως η πυξίδα) θα περίμενε κανείς οτι ένα ιδανικό βοήθημα για το GPS θα ήταν βασισμένο σε αυτού του είδους τη τεχνολογία και όχι σε κάποιο μαγνητικό αισθητήρα.

Η τεχνολογία των γυροσκοπείων έχει βελτοιωθεί κατα πολύ σήμερα. Ιδιαίτερα με την έλευση των Micro Electro Mechanical Systems (MEMS)[6] (στα οποία έχω αναφερθεί και σε προηγούμενο άρθρο) που έχουν επιτρέψει τη κατασκευή πολύ μικρών συσκευών που μπορούν να μετρήσουν την επιτάχυνση, θα περίμενε κανείς οτι μια μελοντική λύση θα βασιζόταν σε κάτι τέτοιο. Ένας παρόμοιος αισθητήρας υπάρχει μέσα σε κάθε Wiimote της Nintendo![7] (Το οποίο Wiimote ίσως μας απασχολήσει στο μέλλον σε αυτό το Blog).

Τα συστήματα που βασίζουν τη λειτουργία τους στη μέτρηση της επιτάχυνσης ενός σώματος, προσδιορίζουν τη θέση του απλά ολοκληρώνοντας το σήμα της επιτάχυνσης δύο φορές (με τη πρώτη ολοκλήρωση προσδιορίζεται η ταχύτητα και με τη δεύτερη το "διάστημα" και κατ' επέκταση η θέση). Αυτά τα συστήματα έχουν φυσικά τα μειονεκτήματα τους με το μεγαλύτερο να είναι η συσώρευση των μικρών σφαλμάτων που έχουν σαν συνέπεια σφάλματα στη θέση. Αυτό το πρόβλημα είναι μεγαλύτερο στους φθηνότερους και λιγότερο ευαίσθητους αισθητήρες. Παρ' όλα αυτά κάποιες μικρές ανοχές ίσως θα ήταν ανεκτές μια και ένα τέτοιο σύστημα θα λειτουργούσε ώς βοηθητικό του GPS.


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


Περισσότερες πληροφορίες στις παρακάτω τοποθεσίες:

[1] Magnetic Device To Augment satellite GPS
[2] Το μαγνητικό πεδίο της Γής
[3] Compass - Alan Gurney
[4] Ο Δορυφόρος του Πολύκλειτου
[5] Το Γυροσκόπειο
[6] Micro Electro Mechanical Systems
[7] Wiimote

Επιτέλους!!! (To Lazarus και τα PDA (Μέρος 0.33 από 1)

Άλλο ένα άρθρο σε περισσότερα απο ένα μέρη, αυτή τη φορά σχετικό με τον προγραμματισμό συσκευών όπως PDA και Smartphones που χρησιμοποιούν το λειτουργικό σύστημα MS Windows Mobile (WM).

Σε αυτό το πρώτο μέρος θα περιγράψω τι αντιμετώπισα στη προσπάθεια μου να προγραμματίσω ένα PDA ενώ στα επόμενα μέρη θα περιγράψω αναλυτικά τις ρυθμίσεις και τη λειτουργία ενός πάρα πολύ καλού Integrated Development Environment (IDE), το οποίο διατίθεται δωρεάν και μου επέτρεψε να δημιουργήσω τελικά εφαρμογές για το PDA.

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

Ελπίζω να αποτελέσει μια καλή αρχή για όσους ενδιαφέροντε να προγραμματίσουν τα PDA τους.

Το Hardware (απο εδώ ξεκίνησαν όλα)
Πρίν απο περίπου 6 μήνες δέχτηκα ώς δώρο ένα PDA Dell Axim X51 με τον πολύ καλό Intel PXA270 XScale επεξεργαστή στα 624MHz. Η ανάλυση της οθόνης είναι 320x240 με 16bit βάθος χρώματος, έχει λειτουργικό WM 5.0 και πολλές δυνατότητες επέκτασης μέσω CompactFlash και της κάρτας μνήμης SD. Ουσιαστικά, η θύρα για τις μνήμες CompactFlash καταλήγει επάνω σε ένα mini-pcmcia bus μέσω του οποίου είναι δυνατόν να προσαρμοσθούν επάνω στο PDA και άλλες συσκευές όπως, GPS, κάμερα, Σκληροί δίσκοι, Barcode Scanners κλπ.
Όσο αφορά τη συνδεσιμότητα, το PDA μπορεί να συνδεθεί με άλλες συσκευές μέσω Bluetooth, Infrared (IrDA) και WiFi και υπάρχει και η δυνατότητα σύνδεσης του PDA με PC μέσω USB.

Σημείωση:Περίπου μια εβδομάδα αφού είχα λάβει το PDA, η Dell ανακοίνωσε οτι διακόπτει τη σειρά Dell Axim!!! (Οι φήμες λένε οτι ετοιμάζει μια πιο δυνατή PDA σειρά σε συνεργασία με την HTC[1]). Παρ' όλα αυτά, το PDA αυτό είναι αρκετά δυνατό και αν ενδιαφέρεστε για κάτι τέτοιο -ή το ελαφρά βελτοιωμένο X51V- σίγουρα μπορείτε να βρείτε μια καλή προσφορά στο e-bay. Μια πιο εκτενή παρουσίαση των συσκευών αυτών είχε γίνει απο το CNet[2].


Ενώ το Hardware είναι αρκετά δυνατό, κάποιες επιλογές που έχουν γίνει στο λειτουργικό προκαλούν εντύπωση!

Η συσκευή "τρέχει" WM στην έκδοση 5.0 και θα περίμενε κανείς με ένα τόσο δυνατό επεξεργαστή όπως ο PXA270 oti θα μπορούσε να υποστηρίξει όλα τα Services του Bluetooth (Για παράδειγμα, θα μπορούσε κανείς να στείλει ήχο απο το PDA στα Bluetooth ακουστικά ή να χρησιμοποιήσει το PDA ώς Human Interface Device (HID) για το χειρισμό ενός PC για παράδειγμα) .
Αντί αυτού, οι υπόλοιπες Bluetooth συσκευές βλέπουν απο το PDA μόνο μια απλή σειριακή θύρα over bluetooth. Αργότερα ανακάλυψα οτι υπάρχει ένα καλύτερο Bluetooth Stack (Widdcom) το οποίο έχει πολύ περισσότερα services αλλά και μερικά μικρά προβληματάκια [3].

Η συσκευή όπως και πολλές άλλες, δίνει τη δυνατότητα συγχρονισμού του Outlook (ημερολόγιο, reminders, emails, κλπ) με την αντίστοιχη PocketPC έκδοση του. Ενώ θα μπορούσε να κάνει το Synchronisation μέσω του standard Object Binary Exchange Protocol (OBEX)[4] που το υποστηρίζει έτσι κι αλλιώς επειδή έχει τη δυνατότητα IrDA, θα πρέπει να χρησιμοποιήσει κανείς αποκλείστικά το MS Active Sync (!). Το MS Active Sync, είναι μια πολύ απλή εφαρμογή απο τη Microsoft που δημιουργεί μια σύνδεση ανάμεσα στο PC και WM Based PDAs για τη διαχείρηση αρχείων.
Δυστυχώς, για να γίνει το Synchronisation, το ActiveSync πρέπει να τρέχει ΚΑΙ στο PC ΚΑΙ στο PDA. Δηλαδή ενώ υπάρχει η δυνατότητα να γίνει αυτή η μεταφορά με Standard εργαλεία, το ActiveSync δημιουργεί ένα ακόμα πρωτόκολο. Εν το μεταξύ η ενσωμάτοση του με τα Windows με τη δυνατότητα browsing των δίσκων όπως στον Windows Explorer έχει κάποια Bugs επειδή κάνει συνεχώς polling στο PDA για να "προλάβει" τις οποιεσδήποτε αλλαγές[5].

Ένα ακόμα "παράξενο" (που θα μας απασχολήσει και αργότερα, στον προγραμματισμό) είναι οτι δεν υπάρχει Console Device ενώ το console απο πλευράς Input / Output (I/O) είναι υλοποιημένο στα Windows CE. Αυτό σημαίνει οτι δεν μπορείτε να τρέξετε κατ' ευθείαν text mode εφαρμογές (όπως για παράδειγμα Telnet ή Putty).
Για να "δείτε" το Console Device θα πρέπει να κατεβάσετε και να εγκαταστήσετε την εφαρμογή PocketConsole η οποία θα σας δώσει τη δυνατότητα να τρέξετε οποιαδήποτε ανάλογη Text Mode εφαρμογή σε PocketPC[6]

Αναρωτιέμαι γατί έγιναν αυτές οι επιλογές.


Κατα τα άλλα η συσκευή είναι απροβλημάτιστη στη λειτουργία της και αν -καταφέρετε και- την ενσωματόσετε στη καθημερινή σας ζωή ίσως σας φανεί χρήσιμη. Το μόνο ίσως αρνητικό στη χρήση των PDA είναι η έλειψη ενός πλήρους qwerty πληκτρολογίου κάτι που οι πιο νέες αναδιπλώμενες συσκευές έχουν.

Μπορείτε βέβαια να χειριστείτε το PDA μέσω του "εικονικού" πληκτρολογίου ή γράφοντας κατ ευθείαν με το Stylus αλλά σίγουρα αυτός ο τρόπος αλληλεπίδρασης δεν είναι ο πιο βολικός για παρατεταμένη χρήση (Συγγραφή κειμένων, πολλές σημειώσεις, Login σε απομακρυσμένους server και δουλειά μέσω Putty κλπ). Απο την άλλη μεριά αν έχετε τα χρήματα μπορείτε να χρησιμοποιήσετε ένα αναδιπλώμενο Bluetooth πληκτρολόγιο[7].

Προσωπικά βρήκα πολύ χρήσιμα τα reminders και τα ραντεβού τις χειρόγραφες σημειώσεις (τις μετατρέπει αυτόματα σε κείμενο με ενσωματομένο OCR), τις φωνητικές σημειώσεις (απλά με το πάτημα ενός πλήκτρου ηχογραφείτε ένα μήνυμα σε CD quality) και τη δυνατότητα να λαμβάνω email -μέσω web αλλά και μέσω Outlook- συνδεόμενος σε hotspots. Βέβαια μέσω του WiFi είναι επίσης δυνατόν να κάνετε κλήσεις τηλεφωνίας με κάποιο πρόγραμα όπως για παράδειγμα το Skype Mobile[8]...πραγματικά πολύ βολικό.

Παρ' όλες του τις δυνατότητες και εφαρμογές όμως...ήθελα να το προγραμματίσω. Ιδιαίτερα αφου είχα και ένα Bluetooth GPS ήθελα, έτσι απο ενδιαφέρον, να δημιουργήσω μια εφαρμογή για το PDA.

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

Ένα ένα τα βήματα όμως...πρώτα έπρεπε να γράψω και να μεταφέρω το πρόγραμα στο PDA.

Ο προγραμματισμός του PDA
Microsoft Visual Studio
Το πρώτο πράγμα που σκέφτηκα ήταν να κοιτάξω την υποστήριξη του Microsoft Visual Studio για PocketPC συσκευές. Το Visual Studio είναι πραγματικά ένα ανεκτίμητο εργαλείο (δεν είναι βέβαια το μόνο) και ήμουν σίγουρος οτι η Microsoft θα είχε δημιουργήσει κάποιο MSVS Add-On το οποίο θα έκανε τα πάντα με το πάτημα ενός κουμπιού.

Μερικά downloads αργότερα και ενώ το είχα πάρει απόφαση οτι δεν γλύτωνα και την εγκατάσταση του .NET Framework για PocketPC στο PDA, είμαι έτοιμος για τη πρώτη προσπάθεια. Το add-on δημιουργεί ένα νέο Application Template με την ονομασία Smart Device Application και όλες τις ρυθμίσεις έτοιμες. Παρ' όλα αυτά, ότι και να έκανα, αμέσως μετά το πρώτο Dialog Box όπου καθορίζεται το όνομα του Project και η τοποθεσία του, έπαιρνα συνεχώς το ίδιο σφάλμα, σχετικά με κάποιο Component μέσα στη "σελίδα".
(Θυμηθείτε οτι τα Dialog Boxes των wizards του Visual Studio χρησιμοποιούν το CHtmlView)

Έτσι έληξε πρίν καν αρχήσει, η εμπειρία μου με το MSVS. Έτσι κι αλλιώς ήδη είχα αρχήσει να αλλάζω γνώμη όταν διάβασα οτι θα έπρεπε να εγκαταστήσω στο PDA το .NET Framework. Απο την άλλη μεριά το Visual Studio έχει και μεγάλο κόστος κάτι που ίσως αποθαρρύνει τους ενδιαφερόμενους ιδιώτες προγραμματιστές να το επιλέξουν για να δημιουργήσουν τις δικές τους εφαρμογές για PDA.

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

Επειδή τα PDA και οι υπόλοιπες Smart Devices είναι τοσο διαδεδομένες θα περίμενε κανείς οτι θα ήταν πολύ εύκολο να βρεθεί ένα Virtual Machine (που είναι υπεύθηνο για την εκτέλεση τον προγραμμάτων) για το Axim.

Δυστυχώς, μόνο εύκολο δεν ήταν. Αρχικά έψαξα στο αφιερωμένο στη Java, website της Sun αλλά δε βρήκα κάποιο Java Runtime Environment (JRE) για PocketPC. Πολύ χρήσιμη στην αναζήτηση μου ήταν μια λίστα των διαθέσιμων Java Virtual Machines και των μηχανημάτων που τρέχουν, απο τον Dan Fiton του Πανεπιστημίου του Lancaster[10]
Σε αυτή τη λίστα θα βρείτε υλοποιήσεις απο προγραμματιστές ή ομάδες προγραμματιστών, διαφόρων VMs οι οποίες όμως δεν παρέχουν πλήρη υλοποίηση του Java standard ή των διαφόρων πακέτων της.

Μετά απο αρκετό ψάξιμο διαπίστωσα οτι η μόνη εταιρία που διαθέτει ένα αξιόπιστο και πλήρως υλοποιημένο Java Standard για PocketPC στα WM 5.0 είναι η IBM με την έκδοση J9[11].

Το runtime environment αυτό μπορείτε να το κατεβάσετε και να το χρησιμοποιήσετε δωρεάν μόνο για ιδιωτική χρήση και μια πιο εκτενή παρουσίαση του μπορείτε να βρείτε στο πολύ καλό Aximsite[12]

Παρ' όλα αυτά η εγκατάσταση του J9 είναι απλά το πρώτο βήμα που θα σας επιτρέψει να δημιουργήσετε απλές εφαρμογές σε Java και να τις εκτελέσετε στο PDA. Για να προχωρήσετε σε γραφικό περιβάλλον θα πρέπει είτε να εγκαταστήσετε το Standard Widget Toolkit ή να χρησιμοποιήσετε το Abstract Windowing Toolkit[13].

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

Έτσι λοιπόν αποφάσισα να συνεχίσω την αναζήτηση και να επιστρέψω στη Java αν δεν έβρισκα κάτι καλύτερο.

Adobe Flash
Η επόμενη σκέψη μου ήταν να δοκιμάσω το Flash το οποίο μου είχε κάνει εντύπωση απο τις αρχικές εκδόσεις, επειδή είχε σχετικά απλή δομή και πολλές συναρτήσεις για γραφικά (όπως scaling, rotation, skew, κλπ) ήδη έτοιμες. Το έναυσμα για να αφιερώσω κάποιο χρόνο στο Flash μου το έδωσε το γεγονός οτι υπήρχε ήδη ένας Flash Player (στην έκδοση 7, ενώ το Flash είναι τώρα στην έκδοση 9, αλλά αυτό ήταν το ελάχιστο πρόβλημα) για PocketPC.

Παρ' όλα αυτά, σύντομα ανακάλυψα οτι οι εφαρμογές Flash δεν έχουν καμία πρόσβαση στο περιβάλλον όπου τρέχει ο Flash Player παρα μόνο μέσω ελάχιστων συναρτήσεων για επικοινωνία μέσω δικτύου με Servers.

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

Μετά απο λίγο ψάξιμο στο πραγματικά πολύ καλό site της Adobe, ανακάλυψα οτι κάποιος προγραμματιστής είχε χρησιμοποιήσει το Flash σαν Interface σε μια εφαρμογή που χρησιμοποιούσε GPS για να προσδιορίζει τη τοποθεσία του χρήστη και να του παρέχει την ανάλογη ξενάγηση στο χώρο.

Δυστυχώς όμως, η σχεδίαση της εφαρμογής δεν ακολουθούσε τον πιο σύντομο δρόμο. Η εφαρμογή αυτή ήταν μια Client - Server εφαρμογή, όπου και τα δύο μέρη θα έπρεπε να τρέχουν στο PDA. Ο Server ήταν ένα πρόγραμμα σε C++ το οποίο παρακολουθούσε τη σειριακή θύρα και δημιουργούσε και ένα Listening Socket σε κάποιο port. Αυτός ο Server έκανε επίσης και την αποκωδικοποίηση του GPS Data Stream και παρείχε στο Flash τις τιμές, σαν ένα XML Stream. Ο Client ήταν φτιαγμένος σε Flash και αναλάμβανε μόνο τη σύνδεση στο Server και την αναπαραγωγή των διαφόρων video ή ήχων σε διάφορα checkpoints [14]

Η σχεδίαση αυτή δε μου φάνηκε καθόλου ελκυστική, μια και θα χρειαζόμουν κάποιο C++ Compiler για WM5.0 τον οποίο έτσι κι αλλιώς δεν έιχα.

Παρ' όλα αυτά, θα συνιστούσα να εγκαταστήσετε τον Flash Player στο PocketPC σας έτσι κι αλλιώς και αυτό γιατί θα σας επιτρέψει αφ ενός να τρέξετε τις δικές σας Flash εφαρμογές στο PDA και αφ ετέρου να τρέξετε διάφορες Flash εφαρμογές απο το Internet.

Άλλα Virtual Machines και τρόποι προγραμματισμού για PocketPC
Εδώ ανήκουν διάφορα Virtual Machines με αντίστοιχες γλώσσες προγραμματισμού ή Interpeters που βρήκα καθώς αναζητούσα τρόπους να προγραμματίσω το PDA. Δεν θα ξεκίναγα το project με βάση κάποιο απο αυτά αλλά θεώρησα καλό να τα συμπεριλάβω εδώ.

Εδώ θα ήθελα να πώ οτι το Aximsite και οι χρήστες του με βοήθησαν πάρα πόλυ στην αναζήτηση όλων αυτών των πληροφοριών απαντώντας σε ερωτήματα και δίνοντας τις απόψεις τους. Σε μια απο αυτές τις απαντήσεις βρήκα και τη παρακάτω λίστα με εναλλακτικά προγραμματιστικά εργαλεία [15]

Linux και GCC
Σε αυτό το σημείο έχω εξαντλήσει όλα τα περιθώρια να προγραμματίσω το PDA με σχετικά εύκολο τρόπο -εξακολουθώντας να έχω τις επιφυλάξεις μου για τη Java- και έχω αρχίσει να κοιτάω πιο παρακινδυνευμένες λύσεις.

Παρακινδυνευμένες όχι για κανένα άλλο λόγο αλλά γιατί θα έπρεπε να flashάρω το PDA με ένα νέο ROM Image το οποίο θα περιείχε το Linux, αντί των Windows WM 5.0 και αν κάτι πήγαινε στραβά θα κατέληγα με ένα πολύ όμορφο και άχρηστο PDA.

Πιστεύω όμως οτι θα άξιζε το ρίσκο επειδή στο Linux τα πράγματα όσο αφορά το προγραμματισμό είναι πολύ πίο άμεσα.

Δυστυχώς, ούτε σε αυτή τη περίπτωση στάθηκα τυχερός καθώς ναί μέν, υπάρχει μια διανομή Linux που τρέχει στο Axim X51 (γενικά σε ARM based συσκευές) και μπορεί να κάνει Boot μέσα απο τα WM 5.0 (άρα δεν είναι ανάγκη να Flashάρω το PDA) αλλά δεν υποστηρίζει πλήρως όλο το Hardware και συγκεκριμένα τα Bluetooth και WiFi Chipset, τα πλήκτρα και τα Led της πρόσοψης, το backlight και άλλα.

Η πρόοδος είναι αργή και μπορείτε να ρίξετε μια ματιά στο website www.handhelds.org για την πρόοδο της διανομής Linux Familiar τόσο στο Axim όσο και σε άλλες PDA συσκευές[16,17,18]. Απο ένα μικρό διάλογο που είχα στο IRC με κάποιους προγραμματιστές απο την ομάδα αυτή, είναι πιθανό να δούμε μια σχετικά απροβλημάτιστη έκδοση Linux να τρέχει στα PDA μέσα στα επόμενα 1-1.5 χρόνια.

Απο εκείνη τη στιγμή, παράτησα κάθε προσπάθεια να προγραμματίσω το PDA και για περίπου 2-3 μήνες απλά χρησιμοποιούσα τις υπάρχουσες εφαρμογές.

Βλέποντας το Φώς!
Ώσπου, κάποια στιγμή στις αρχές Σεπτεμβρίου (2007) διαβάζω μια ανακοίνωση για τη τελευταία έκδοση ενός Compiler και του αντίστοιχου IDE του που έθεσε το πιο θεαματικό τέρμα στην αναζήτηση μου!

Περισσότερα όμως για αυτό καθώς επίσης και το πρακτικό μέρος του προγραμματισμού στο επόμενο άρθρο, λίαν συντόμως (ελπίζω ;-) )

Περισσότερες πληροφορίες για θέματα που αναφέροντε μέσα στο άρθρο, απο τις παρακάτω τοποθεσίες:
[1] Dell halts PDA development
[2] Εκτενής παρουσίαση των Dell Axim X51
[3] Widdcom Bluetooth Stack για τα Dell Axim σειράς X51
[4] Object Binary EXchange (OBEX)
[5] Activesync Προβλήματα
[6] PocketConsole για WM PDA
[7] Bluetooth Foldable Keyboard
[8] Skype Mobile
[9] Ο δικτυακός τόπος της Sun για τη Java
[10] Java VMs στα PocketPCs
[11] ΙΒΜ Java VM και Class Library (J9)
[12] Εγκατάσταση και χρήση της IBM J9
[13] Java SWT Στο PocketPC
[14] Invisible Ideas (Πρόσβαση στο GPS μέσω Flash)
[15] Διάφορες γλώσσες προγραμματισμού και περιβάλοντα για PocketPC
[16] Linux On Dell Axim
[17] Screenshot απο Linux στο Axim X3 με τη σχετική πρόοδο
[18] Η πρόοδος της μεταφοράς του Linux στο Dell Axim X5*

Η ανατολή των Flash Memory δίσκων (Μέρος 2ον)

Έπεσε λίγη δουλειά το τελευταίο καιρό με αποτέλεσμα η ενασχόληση με το blog να πάρει χαμηλότερη προτεραιότητα, τελικά όμως το άρθρο ολοκληρώθηκε.

Aυτό είναι το δεύτερο άρθρο της σειράς "Η ανατολή των Flash Memory δίσκων", όπου θα παρουιάσω το πρακτικό μέρος της αντικατάστασης ενός σκληρού δίσκου φορητού υπολογιστή με μια CompactFlash μνήμη. Μπορείτε να διαβάσετε το πρώτο μέρος εδώ.

Hardware
Όσο αφορά το hardware αυτά που θα χρειαστείτε είναι:
  • Προσαρμογέα CompactFlash (CF) σε IDE (x1)
  • CompactFlash μνήμη (x1)
Για να προσαρμόσετε τη Flash μνήμη στο φορητό σας, θα χρειαστείτε τον προσαρμογέα ο οποίος ουσιαστικά συγκρατεί τη μνήμη flash επάνω σε ένα πλαίσιο (δείτε την παρακάτω εικόνα) που έχει ακριβώς τις ίδιες διαστάσεις και σημεία στήριξης με τα standards των σκληρών δίσκων.



(Out Of The Box - H CompactFlash μνήμη με τον προσαρμογέα CF-IDE...Το μόνο Hardware που θα χρειαστείτε. )

Δυστυχώς δεν βρήκα κανένα Ελληνικό online μαγαζί που να διαθέτει αυτό το προϊόν και έτσι το προμηθεύτικα απο το Αγγλικό online κατάστημα DigitalEra[1]. Αυτός ο προσαρμογέας είχε κόστος £15 (λίρες Αγγλίας), δηλαδή περίπου €22 και αυτή είναι και η τιμή που θα πρέπει να περιμένετε να βρείτε αυτούς τους προσαρμογείς στο Internet.

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

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

Ο υπολογιστής που χρησιμοποίησα ήταν ένας Dell Inspiron 2500 (P3 στο 1GHz με 256MB Ram μνήμης και 30GB σκληρό δίσκο) που είχε το συρταρωτό σύστημα προσαρμογής του σκληρού δίσκου.


(Dell Inspiron 2500 με το συρτάρι του δίσκου ανοιγμένο.)

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

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


Η κάρτα που προτίμησα τελικά ήταν μια Sandisk Extreme στα 4GB στη τιμή των 31 περίπου λιρών

Προς το παρόν, η μεγαλύτερη χωρητικότητα που μπορείτε να βρείτε σε μνήμη Compact Flash είναι τα 16GB (πολύ σύντομα και 32GB διαβάστε στη παράγραφο "Το Μέλλον"), αλλά σε αρκετά υψηλή τιμή.


(Ο Connector στα δεξιά, προσαρμόζεται στον CFtoIDE προσαρμογέα στο κέντρο. Ο προσαρμογέας με τη σειρά του θα βιδωθεί στο συρτάρι στα αριστερά.)


(Η κάρτα CF έτοιμη προς χρήση)



(Επάνω στο συρτάρι του δίσκου και ένα βήμα πρίν την ολοκλήρωση)

Software
Με τον όρο software εδώ δεν εννοώ κάποιο ειδικό πρόγραμμα ή driver για να συνεργαστεί η μνήμη CompactFlash με το φορητό -δε χρειάζεται άλλωστε- αλλά για τα μειονεκτήματα και πλεονεκτήματα που έχουν διαφορετικά λειτουργικά και συστήματα αρχείων όταν λειτουργούν επάνω σε Flash μνήμες.

Η κάρτα CompactFlash αναγνωρίζεται απο το BIOS αυτόματα ώς ένας κοινός σκληρός δίσκος. Για παράδειγμα, η κάρτα της δοκιμής αναγνωρίστηκε αυτόματα ώς Sandisk CFA Disk χωρίς καμία επιπρόσθετη ρύθμιση.



(Το BIOS στο πρώτο boot)

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

Για λόγους που έχουν να κάνουν με το Wear Leveling (που περιέγραψα στο προηγούμενο άρθρο) καλό θα ήταν να χρησιμοποιήσετε ένα Journaling File System[2] όπως είναι για παράδειγμα το NTFS στα Windows, το Ext3 στο Linux ή το πολύ καλό BeFS του λειτουργικού BeOS.

Το πλεονέκτημα που έχουν αυτά τα συστήματα αρχείων όταν χρησιμοποιούντε με μνήμες Flash είναι οτι ομαδοποιούν τις εγγραφές προς το φυσικό μέσο. Αυτό έχει σαν αποτέλεσμα λιγότερες προσπελάσεις άρα και μεγαλύτερη δάρκεια ζωής της κάρτας.

Σε παρόμοιο σύστημα αρχείων (Journaled δηλαδή) έχει βασιστεί και το JFFS[3] το οποίο χρησιμοποιείται σε embedded συστήματα (όπως για παράδειγμα PDA, Smart Phones, κλπ), όπου ο επεξεργαστής επικοινωνεί κατ' ευθείαν με τη μνήμη Flash (ενώ στη περίπτωση μας, η CompactFlash κάρτα περιέχει τον controller)
Λειτουργία και Συγκρητικά
Η λειτουργία ενός υπολογιστή με μια κάρτα CompactFlash στη θέση του σκληρού δίσκου είναι πολύ πιο αθόρυβη. Απουσιάζει ο ήχος του κινητήρα που περιστρέφει το σκληρό δίσκο και ο χαρακτηριστικός ήχος που κάνει η κεφαλή κατα την εγγραφή / ανάγνωση.

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

Το καλύτερο ίσως χαρακτηριστικό είναι η ζωή της μπαταρίας. Ο συγκεκριμένος υπολογιστής είχε μια φθαρμένη μπαταρία που κρατούσε το σύστημα σε λειτουργία για περίπου 30 δευτερόλεπτα χωρίς εξωτερική τροφοδοσία. Παρ' όλα αυτά με τη κάρτα μνήμης, μια πλήρης φόρτιση κρατάει το φορητό για περίπου 2 λεπτά χωρίς εξωτερική τροφοδοσία...Αυτό σημαίνει οτι με τη κάρτα μνήμης ο χρόνος λειτουργίας για την ίδια φόρτιση μπορεί και να τετραπλασιαστεί.

Το μηχάνημα της δοκιμής ήταν ένας παλαιότερος φορητός υπολογιστής Dell Inspiron 2500, Pentium 3 στο 1GHz με 256 MB μνήμης. Δοκίμασα την εγκατάσταση και λειτουργία 3 λειτουργικών συστημάτων:
  • Microsoft Windows XP
  • Red Hat Linux 9
  • BeOS Max 3
Και τα 3 λειτουργικά είχαν παρόμοιους χρόνους εγκατάστασης (περίπου 40 λεπτά) στην κάρτα CompactFlash και το σκληρό δίσκο.

Τα Windows XP καταλαμβάνουν περίπου 2 GB επάνω στην κάρτα με σύστημα αρχείων NTFS. Δεν είχα καθόλου καλές εντυπώσεις απο αυτό το λειτουργικό μια και μετά το πρώτο boot και ενώ περίμενα να μπώ στο λειτουργικό, είχα κάποια μηνύματα λάθους σχετικά με την εικονική μνήμη και το σύστημα υπολειτουργούσε.
Παρ' όλο που μπήκα σε Protected Mode και άλλαξα το μέγεθος της εικονικής μνήμης, στο επόμενο boot επανήλθε στο μηδέν.
Απο αυτή τη συμπεριφορά υποψιάζομαι οτι ο controller της κάρτας (ή ο driver των windows) πιθανότατα δεν υποστηρίζει κάποιες λειτουργίες για direct access με αποτέλεσμα αυτά τα προβλήματα.




Το επόμενο λειτουργικό που δοκίμασα ήταν το BeOS MAX 3. Αυτή είναι μια παλιότερη διανομή που έκανε ο Βασίλης Περαντζάκης με το βασικό λειτουργικό BeOS και πάρα πολλές εφαρμογές. Όλα αυτά για περίπου 600 MB χώρου στη κάρτα μνήμης!
Σε αυτό το λειτουργικό επέλεξα το BeFS σαν σύστημα αρχείων. Αυτό το λειτουργικό δεν δημιούργησε κανένα απολύτως πρόβλημα στην εγκατάσταση και λειτουργία απο την CompactFlash μνήμη εκτός απο το οτι δεν έβλεπε πλήρως την κάρτα γραφικών.



Το τελευταίο λειτουργικό που δοκίμασα ήταν το Linux και συγκεκριμένα η έκδοση Red Hat 9.1.
Σε αυτή τη περίπτωση, δεν υπήρξε κανένα απολύτως πρόβλημα. Στην εγκατάσταση επέλεξα το σύστημα αρχείων Ext3 και μετά απο περίπου 30 λεπτά είχα ένα πλήρες λειτουργικό επάνω στη κάρτα Flash σε περίπου 1.5GB (Ομολογουμένος με αρκετά Extras)



Το Μέλλον
Οι Flash μνήμες δείχνουν να κερδίζουν όλο και περισσότερο έδαφος έναντι των σκληρών δίσκων καθώς οι τιμές πέφτουν και οι χρητικότητες ανεβαίνουν.

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

Μηχανήματα όπως το υπέροχο eee PC[3] της Asus και ο υπολογιστής των "100 δολαρίων"[4] (που τελικά μάλλον θα κοστίζει λίγο παραπάνω) του MIT διαφημίζουν ήδη τη χρήση Flash μνήμης ώς το βασικό τους αποθηκευτικό μέσο.

Μέσα στο 2008 αναμένεται μια συσκευή με τη "μαγική" χωρητικότητα των 160GB[5] απο την Adtron και ένας PCMCIA Flash δίσκος στα 32GB απο την Panasonic[6]. Και τα δύο προϊόντα αναμένεται να επιρρεάσουν την αγορά των φορητών υπολογιστών.


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

Ένα μειονέκτημα που είμαι σίγουρος οτι οι εταιρίες ήδη δουλεύουν σκληρά για να αντιμετωπίσουν!

Περισσότερες πληροφορίες στις παρακάτω τοποθεσίες:
[1] Digital Era, Online Κατάστημα
[2] Journaling File System
[3] JFFS
[4] Eee PC
[5] OLPC (100 Dollar PC) (MIT)
[6] Adtron 160GB Flash Based "Hard" Disk
[7] Panasonic PCMCIA 32GB Hard Disk
[8] Περισσότερες Φωτογραφίες Απο Τη Μετατροπή
Παρ' όλο που ετοιμάζω το δεύτερο post, σχετικό με τους Flash Based δίσκους, δε μπορούσα να μην κάνω αναφορά σε μια τραγική -κατα την άποψη μου- οικολογική εξέλιξη.

Όπως όλα δείχνουν το δελφίνι του ποταμού Yangtze (baiji) στην Κίνα έχει εξαφανιστεί τελείως απο το πρόσωπο της γής.

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

Ένας λόγος παραπάνω για το δελφίνι baiji το οποίο ήταν το τελευταίο μιας συγκεκριμένης οικογένειας θηλαστικών, τα Lipotidae. Αυτή η οικογένεια θηλαστικών παρέκλινε απο τα υπόλοιπα θαλάσσια κοίτοι πριν απο περίπου 20 εκατομύρια χρόνια! Με το χαμό του baiji λοιπόν χάνεται ένα πολύ μακρύ και σημαντικό "κλαδί" της εξέλιξης απο κάθε άλλη εξαφάνιση.

Πριν απο περίπου 2-3 εβδομάδες είχε δημοσιευτεί στο New Scientist [1,2], μια υποψία οτι το baiji μπορεί να έχει τελικά εξαφανιστεί. Η είδηση ανέφερε οτι οι κινέζοι επιστήμονες που ανέβηκαν το ποτάμι όπως κάνουν κάθε χρόνο, χρησιμοποιώντας υδρόφωνα (ειδικά μικρόφωνα που λειτουργούν μέσα στο νερό) δεν είχαν ακούσει ούτε ένα απο τα χαρακτηριστικά σφυρίγματα του δελφινιού και εξέφραζαν την ανησυχία τους οτι το δελφίνι δεν υπάρχει πια.

Στο New Scientist αυτής της εβδομάδας[3] δυστυχώς η είδηση επιβεβαιώθηκε σε ένα άρθρο 4 σελίδων του Marc Carwardine[6] με τον πολύ εύστοχο τίτλο (απο παλαιότερο βιβλίο του Douglas Adams - Hitch Hikers Guide To The Galaxy) The Baiji:So long and thanks for all the fish. Ο Marc Carwardine βέβαια έχει εμπειρία με το δελφίνι αυτό απο πρώτο χέρι αφού το είχε συμπεριλάβει στο βιβλίο "Last Chance To See" (ISBN:0-330-32002-5) που είχε γράψει μαζί με τον αξέχαστο Douglas Adams[5].

Το βιβλίο παρ' όλο που γράφτηκε το 1988 (κι εγώ το διάβασα το 2004, όταν ολοκλήρωνα τη συλλογή των βιβλίων του Douglas Adams) περιέχει μια λίστα με πολλά είδη τα οποία ήταν υπο εξαφάνιση ή είχαν ήδη εξαφανιστεί. Ανάμεσα τους και το συγκεκριμένο δελφίνι.

Πρόκειται για ένα απο τα πιο καλογραμένα βιβλία που έχω διαβάσει και θα το συνιστούσα ανεπιφύλακτα.

Απο το συγκεκριμένο βιβλίο παραθέτω τα παρακάτω:

To begin with, the baiji dolphin is half blinded.
The reason for this is that there is nothing to see in the Yangtzee.
The water is so muddy now that visibility is not much more than a few centimeters and as a result the baiji's eyes have atrophied through disuse.

Curiously enough, it is often possible to tell something about the changes that have occured during and animal's evolution from the way in which its foetus develops. It's a sort of action replay.

The baiji's eyes, feeble as they are, are placed quite high up on its head to make the most of the only light that ever reaches them, i.e from directly above.

Most other dolphins have their eyes much lower doen the sides of their heads, from where they can see all around them, and belowq and this is exactly where you will find the eyes on a young baiji foetus.

As the foetus grows, however, its eyes gradually migrate up the sides of it's head and the muscles which would normally pull the eyeball downwards dont even bother to develop. You can't see anything downwards.

It may be, therefore that the entire history of soil erosion into the Yangtzee can be charted in the movement of a single Baiji foetu's eyes. (It may also be that the baiji arrived into an already turbid Yangtzee from somewhere else and just adapted to its new environment; we don't kinow. Either way, the Yangtzee has become very much more muddy during the histori of the baiji species, mostly because of human activity)

As a consequence, the baiji had to use a different sense to find it's way around. It relies on sound. It has incredibly acute hearing and 'sees' by echolocation, emitting sequences of tiny clicks and listening for the echoes. It also communicates with other baijis by making whistling noises.

SInce man invented the engine, the baiji's river world must have become a complete nightmare.

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

Το αποτέλεσμα είναι να χάνουν το δρόμο τους μέσα στο ποτάμι, να μη μπορούν να επικοινωνήσουν με τα υπόλοιπα δελφίνια και φυσικά να τα χτυπάνε και να τα πετσοκόβουν οι εμπορικές βάρκες και τα άλλα σκάφη που κυκλοφορούν μέσα σε αυτό το πραγματικά τεράστιο ποτάμι[4].

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

Θα σας συνιστούσα να διαβάσετε αυτό το βιβλίο -αν μπορείτε να το βρείτε- μια και το μικρό κομάτι που παραθέτω εδώ δεν είναι και τόσο αντιπροσωπευτικό του ύφους του Douglas Adams.

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


Περισσότερες πληροφορίες στις παρακάτω τοποθεσίες:
  1. Yangtzee River Dolphin is Probably Extnict
  2. Yangtzee River Dolphin Almost Certainly Extinct
  3. The baiji:So long and thanks for all the fish
  4. The Yangtze River (Wikipedia Article)
  5. Douglas Adams
  6. Marc Carwardine
top