Τρίτη, 7 Φεβρουαρίου 2017

ΓΡΗΓΟΡΙΑΤΕΣ ΠΑΤΕΡΕΣ, AΠΑΝΤΗΣΤΕ ΕΠΙΤΕΛΟΥΣ. ΓΙΑΤΙ ΑΡΝΕΙΣΤΕ ΝΑ ΥΠΟΣΤΗΡΙΞΕΤΕ ΤΗΝ ΑΛΗΘΕΙΑ; ΓΙΑΤΙ ΕΠΙΤΡΕΠΕΤΕ ΝΑ ΚΥΚΛΟΦΟΡΟΥΝ ΤΑ ΨΕΜΜΑΤΑ;

ΓΡΗΓΟΡΙΑΤΕΣ ΠΑΤΕΡΕΣ, 
AΠΑΝΤΗΣΤΕ ΕΠΙΤΕΛΟΥΣ.

ΓΙΑΤΙ ΑΡΝΕΙΣΤΕ ΝΑ ΥΠΟΣΤΗΡΙΞΕΤΕ ΤΗΝ ΑΛΗΘΕΙΑ; 
ΓΙΑΤΙ ΕΠΙΤΡΕΠΕΤΕ ΝΑ ΚΥΚΛΟΦΟΡΟΥΝ ΤΑ ΨΕΜΜΑΤΑ;





                    της ΡΕΛΦ 
  
                             ή 
 
           της Ιερας Αποκαλυψεως;

Την παρακατω εκκλησι, καναμε στον μοναχο Προδρομο Γρηγοριατη Σερραιο μοναχο Αγιορειτη, που εμφανισθηκε οχι να κατακρινη τον επισκοπο του ετεροδοξο πατριαρχη Βαρθολομαιο, που αναστατωσε την Ορθοδοξια με τις Αιρεσεις που εδω και χρονια δημοσια και γυμνη τη κεφαλη κηρυττει και ο πατηρ Προδρομος κακοδοξως υποστηριζει, οτι αυτος ειναι ορθθοδοξος.

ΚΑΛΩ ΤΟΝ ΠΑΤΕΡΑ ΠΡΟΔΡΟΜΟ ΓΡΗΓΟΡΙΑΤΗ ΝΑ ΑΠΑΝΤΗΣΗ ΣΕ ΑΥΤΗ ΤΗΝ ΜΕΛΕΤΗ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΚΑΙ ΔΙΕΥΘΥΝΤΟΥ ΜΗΧΑΝΟΓΡΑΦΗΣ ΤΩΝ BAR COOUNT ΣΕ ΟΛΗ ΤΗΝ ΕΛΛΑΔΑ, κ.ΕΥΣΤΡΑΤΙΟ ΝΙΚΕΛΛΗ.
Επειδη αυτοι που φωνασκουν αγνοουν τελειως τα πραγματα και δεν μπορουν να τα διαβασουν, αλλα απλα φωνασκουν και υβριζουν, καλειται ο πατηρ Προδρομος Γρηγοριατης, που στο παρελθον αναστατωσε την ελληνικη κοινωνια, με τις αυθαιρεσιες του, (αν και αρνηθηκε να απαντηση στην απαντησι που τους εκανε ο κ. Νικελλης και ειναι πιο κατω δημοσιευμενη στο φεϊς μπουκ), ας απαντηση τπουλαχιστον σημερα.
ΘΑ ΤΟΛΜΗΣΗ; ΘΑ ΤΟΛΜΗΣΗΣ ΠΑΤΕΡ ΠΡΟΔΡΟΜΕ ΓΡΗΓΟΡΙΑΤΗ; Αμφιβαλλουμε. Η τακτικη του στο παρελθον ηταν ακριβως ιδια με την τακτικη των Οικουμενιστων. Γραφει τα δικα του και μετα εξαφανιζεται και σιωπα και ΟΥΔΕΠΟΤΕ απανταει και ουδεποτε απολογειται.
Αυτο ομως λεγεται ΒΥΣΣΟΔΟΜΙΑ της ΑΛΗΘΕΙΑΣ και ΣΥΣΚΟΤΙΣΙ της ΑΛΗΘΕΙΑΣ. και αμαρτια ΠΡΟΣ ΘΑΝΑΤΟΝ.

Πατερα Προδρομε Γρηγοριατη αν τολματε, ΑΠΑΝΤΗΣΤΕ, ΣΑΣ ΠΡΟΚΑΛΩ ΔΗΜΟΣΙΑ.
Αν δεν το κανετε θα αυτοεξευετλισθητε και θα εξευτελισετε και την Μονη σας που εχει και πολλες αλλες σκοτεινες πλευρες στα τελευταια χρονια.
Και θα σας ψιλιαστουμε ως οργανο της ...Νεας Ταξης Πραγματων, οπως λενε.



ΕΑΝ 13
του κ. Ευστρατιου Νικελλη
Διευθυντου Μηχανογραφησης
της GS1ΕΛΛΑΣ Α.Ε.


Σας επισυνάπτω ένα έγγραφο στο οποίο περιγράφω τον reference decode algorithm όπως αναφέρεται στην βιβλιογραφία καθώς και ένα επιπλέον τρόπο αποκωδικοποίησης των barcode UPC/EAN.
Ο τρόπος που παρουσιάζεται στο έγγραφο που μου στείλατε ( είναι η Γ΄Μελέτη του μοναχου Προδρομου, της μονής Γρηγοριου) ομοιάζει αλλά δεν είναι ο reference decode.
Στον reference decode
a) οι μετρήσεις S των χαρακτήρων δεν ορίζονται σαν είναι ίδιες με τις μετρήσεις S των guard bars.
b) για τους χαρακτήρες χρησιμοποιούνται οι μετρήσεις e1, e2, b1, b2) για τα left και right guards η μέτρηση e1 και για το center guard η μετρήσεις e1,e2,e3.
Αν κάποιος αρχίζει να αλλάζει ένα αλγόριθμο επίλυσης ενός προβλήματος ή να παρουσιάζει κάποιο νέο καλό θα είναι να τον παρουσιάζει ολοκληρωμένο.
O αλγόριθμος που περιγράφεται στην εν λόγω μελέτη, από το προηγούμενο email που σας έστειλα φαίνεται ότι δεν αντέχει στην βάσανο της επαλλήθευσης.

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


ΜΕΡΟΣ Α


Περιγραφή του reference decode algorithm (GS1 General Specifications Section 5.2.3) για τον προσδιορισμό του decodability και του decode ενός ΕΑΝ-13 συμβόλου και τον έλεγχο (verification) σύμφωνα με το ISO 15416.
Η παρακάτω περιγραφή είναι καθαρά τεχνική, και απόλυτα ακριβής χωρίς απλοποιήσεις συντομεύσεις και ερμηνείες. Προϋποθέτει γνώση της δομής ενός EAN-13, και των απεικονίσεων των χαρακτήρων 0 έως 9 καθώς και των απεικονίσεων των guard bars.
Ορισμοί:
Ορίζουμε S = το μετρηθέν πλάτος του χαρακτήρα. Παρακαλώ προσέξτε ότι για την αποκωδικοποίηση χαρακτήρων (και όχι των guard bars τα οποία δεν αποκωδικοποιούνται) η μέτρηση του πλάτους S γίνεται πάντα ώς την αρχή του επόμενου χαρακτήρα.
Ορίζουμε e1 σαν το μετρηθέν πλάτος από την αρχή μιας μπάρας μέχρι την αρχή της αμέσως επομένης και e2 σαν το μετρηθέν πλάτος από το τέλος μιας μπάρας μέχρι το τέλος της επομένης (μετρήσεις "ομοίων άκρων" edge to similar edge). Για τα σύνολα χαρακτήρων Α και Β, εκλαμβάνεται σαν αρχή της μέτρησης το δεξί άκρο των μπαρών, ενώ, για το σύνολο χαρακτήρων C, αρχή θεωρείται το αριστερό άκρο των μπαρών.
Οι σχέσεις αυτές παρουσιάζονται στο σχήμα 1.
Η τιμή του S χρησιμοποιείται για να βρεθεί το "reference threshold" (οριακή τιμή αναφοράς) RT και κατόπιν συγκρίνονται οι μεμονωμένες μετρήσεις "ομοίων άκρων" (edge to similar edge) e1 και e2 με την τιμή αναφοράς για να βρεθούν οι τιμές Ε1 και E2 από τις οποίες προσδιορίζεται ο χαρακτήρας.
Οι τιμές αναφοράς RT1,RT2,RT3,RT4 και RT5 δίνονται από τις παρακάτω σχέσεις.
• RT1 = (1.5 / 7 ) S
• RT2 = (2.5 / 7 ) S
• RT3 = (3.5 / 7 ) S
• RT4 = (4.5 / 7 ) S
• RT5 = (5.5 / 7 ) S
Για κάθε χαρακτήρα, οι μετρήσεις e1 και e2 συγκρίνονται με τις τιμές αναφοράς RT1,RT2,RT3,RT4,RT5 και υπολογίζονται οι τιμές Ε1, Ε2 σύμφωνα με τις παρακάτω σχέσεις.
αν RT1 <= ei < style=""> τότε Ei = 2
αν RT2 <= ei < style=""> τότε Ei = 3
αν RT3 <= ei < style=""> τότε Ei = 4
αν RT4 <= ei < style=""> τότε Ei = 5
διαφορετικά ο χαρακτήρας είναι λάθος, ή το bacode δεν είναι ΕΑΝ-13 (Σημείωση αναφέρουμε για λόγους συντομίας το ΕΑΝ-13 επειδή το ίδιο συμβαίνει και στο UPC-Α).
Στον πίνακα 1, φαίνεται η χρήση των τιμών E1 και Ε2 για τον προσδιορισμό του χαρακτήρα.
* σημειώστε οτι b1 και b2 είναι το πλάτος των δύο σκούρων μπαρών.
Όπως βλέπουμε, στον προηγούμενο πίνακα 1, οι χαρακτήρες προσδιορίζονται μοναδικά σε όλες τις περιπτώσεις εκτός από τις παρακάτω τέσσερεις.
• Ε1 = 3 και Ε2 = 4 (χαρακτήρες 1 και 7 στο σύνολο χαρακτήρων Α.
• Ε1 = 4 και Ε2 = 3 (χαρακτήρες 2 και 8 στο σύνολο χαρακτήρων Α.
• Ε1 = 4 και Ε2 = 4 (χαρακτήρες 1 και 7 στα σύνολα χαρακτήρων Β και C.
• Ε1 = 3 και Ε2 = 3 (χαρακτήρες 2 και 8 στα σύνολα χαρακτήρων Β και C.
Σε αυτές τις περιπτώσεις απαιτείται ο έλεγχος των μετρήσεων πλάτους των μπαρών (b1 και b2) σύμφωνα με τις παρακάτω σχέσεις.
• Για E1 = 3 και Ε2 = 4:
Ο χαρακτήρας είναι ο 1 εαν 7(b1 + b2)/S <= 4
Ο χαρακτήρας είναι ο 7 εαν 7(b1 + b2)/S > 4
• Για E1 = 4 και Ε2 = 3:
Ο χαρακτήρας είναι ο 2 εαν 7(b1 + b2)/S <= 4
Ο χαρακτήρας είναι ο 8 εαν 7(b1 + b2)/S > 4
• Για E1 = 4 και Ε2 = 4:
Ο χαρακτήρας είναι ο 1 εαν 7(b1 + b2)/S >3
Ο χαρακτήρας είναι ο 7 εαν 7(b1 + b2)/S <=3
• Για E1 = 3 και Ε2 = 3:
Ο χαρακτήρας είναι ο 2 εαν 7(b1 + b2)/S >3
Ο χαρακτήρας είναι ο 8 εαν 7(b1 + b2)/S <=3
Αν δεν ικανοποιείται κάποια από τις παραπάνω σχέσεις ο χαρακτήρας είναι λάθος ή το bacode δεν είναι ΕΑΝ-13.
Σημείωση: Το 6 δεν τίποτε το ιδιαίτερο αλλά αποκωδικοποιείται όπως ακριβώς τα 0, 3, 4, 5, και 9.
Στο επόμενο σχήμα φαίνεται ο τρόπος υπολογισμού του S που απαιτείται για τον προσδιορισμό των τιμών αναφοράς RT1 και RT2 που είναι κατάλληλος για τα βοηθητικά patterns. Για κάθε σύμβολο ή ΗΜΙΣΥ του συμβόλου (θα αναφερθώ σε αυτό παρακάτω) οι τιμές ei συγκρίνονται με τις τιμές αναφοράς για να προσδιοριστούν οι τιμές Εi. Οι τιμές αυτές πρέπει να συμφωνούν με τo σχημα 2 για όλα τα βοηθητικά patterns διαφορετικά το barcode έχει λάθος ή δεν είναι EAN-13.
Μετρήσεις βοηθητιών pattern
Όπως βλέπουμε στον πινακα 2 το αριστερό και δεξί guard pattern υπάρχει MONO Η ΜΕΤΡΗΣΗ E1, για το center guard οι μετρήσεις Ε1, Ε2 αλλά και Ε3 ενώ για όλους τους χαρακτήρες, όπως είδαμε παραπάνω, απαιτούνται οι μετρήσεις E1 και Ε2. Επίσης το S, το οποίο σύμφωνα με τον reference decode algorithm είναι ΜΕΤΡΗΣΗ δεν είναι μέγεθος που ΥΠΟΛΟΓΙΖΟΥΜΕ (όπως π.χ. αναφέρεται με απλή μέθοδο των τριών) προκύπτει με διαφορετικό τρόπο από ότι το S των χαρακτήρων που αναφέρθηκε παραπάνω. Νομίζω ότι στα παραπάνω φαίνεται τι είναι ΜΕΤΡΗΣΗ τι υπολογίζεται και ποίοί είναι οι τύποι που χρησιμοποιούνται τόσο για την ανάγνωση όσο και για την απόρριψη ενος συμβόλου που διαβάζει ένας scanner. Σημειώστε ότι δεν χρειαζόμαστε μια "ερμηνεία" του τι διαβάζει ο scanner, χρειαζόμαστε ένα τρόπο (αλγόριθμο) αξιολόγισης των πληροφοριών που διαβάζει, αποτίμησης της συμφωνίας των με συγκεκριμένες προδιαγραφές και τέλος αποκωδικοποίησης της πληροφορίας που περιέχουν, αν περιέχουν.
Αυτά όσο αφορά το reference decode algorithm του ΕΑΝ-13. Ίσως είναι περιτό να τονίσω ότι σε έναν αλγόριθμό που κάποιος παρουσιάζει έχουμε τη δυνατότητα και το δικαίωμα να ελέξουμε την αξιοπιστία του, την αποτελεσματικότητά του, την ταχύτητά του ίσως, την αποδοτικότητά του, αλλά δεν έχει νόημα να παρουσιάζουμε αυθαίρετες "απλοποιήσεις" αν δεν αποδείξουμε ότι οι απλοποιήσεις αυτές:
α) ΔΟΥΛΕΥΟΥΝ και β) προσφέρουν πράγματι βελτίωση σε σχέση με τον αρχικό αλγόριθμο σε κάποιο τομέα. Δεν έχει νόημα να "ευφευρίσκουμε" ανύπαρκτους αλγόριθμους με "συμβολικές" ερμηνείες από την στιγμή που όλα τα παραπάνω είναι γραμμένα και δημόσια και διαθέσιμα στον καθένα να τα ελέγξει.
Για όσους ενδιαφέρονται τώρα για ορισμένα επιπλεόν τεχνικά θέματα.
1ο Οι εν λόγω συμβολογίες δεν κατασκευάσθηκαν για pens αλλά όσο και αν ακούγεται περίεργο για fixed laser scanners. Τα "πενάκια" ανάγνωσης barcode όπως και αργότερα οι συσκευές CCD και οι φορητοί laser scanners έρχονται πολύ αργότερα όπως και οι σημερινοί image scanners. Οι σταθεροί laser scanner είναι αυτοί που προϋπάρχουν και με βάση αυτούς σχεδιάζεται το επίμαχο barcode. Σε γενικές γραμμές ένα laser scanner λειτουργεί εκτρέποντας με τη χρήση κινούμενων κατόπτρων σε διάφορες γωνίες μια ακτίνα laser έτσι ώστε να μπορεί να σαρώσει σε πολλές κατευθύνσεις. Επειδή ο τρόπος με τον οποίο κρατάμε ένα προϊόν με barcode μπροστά από τον scanner είναι απροσδιόριστος (τυχαία κλίση γωνία, προσανατολισμός) το barcode είναι έτσι κατασκευασμένο ώστε να διευκολύνεται η ανάγνωση σε αυτές τις συνθήκες. Ο scanner έχει περισσότερες πιθανότητες να "σαρώσει" σε ένα πέρασμα το μισό barcode το οποίο, σύμφωνα με τις προδιαγραφές μεγέθους, είναι σχεδόν τετράγωνο παρά ολόκληρο το barcde. Η σχεδίαση του EAN-13 διευκολύνει την ανάγνωση σε δύο "περάσματα" των δύο "μισών" του barcode. Ένας fixed laser scanner θα έχει πολύ μεγάλο χρόνο απόκρισης ή δεν θα διαβάσει καθόλου ένα barcode που δεν έχει αυτά τα χαρακτηριστικά όπως π.χ. το ITF (Interleave 2 of 5).
2ο Οι διάφοροι τύποι barcode (μονοδιάστατων ή γραμμικών) που υπάρχουν χωρίζονται σε δυο βασικές κατηγορίες discrete και continous (μια μετάφραση θα ήταν διακριτές και συνεχείς) με τα εξής χαρακτηριστικά. Σε μια discrete συμβολογία ο κάθε χαρακτηρας είναι στην ουσία "αυτόνομος" αρχιζει και τελειώνει με "μπάρα", μπορεί να αποκωδικοποιηθεί χωρίς την χρήση στοιχείων του "γειτονικού" (διαδοχικού του) χαρακτήρα. Το κενό μεταξύ των χαρακτήρων χρησιμοποιείται μόνο για τον διαχωρισμό των χαρακτήρων και το "πλάτος" του κενού δεν είναι σημαντικό αρκεί να είναι μεταξύ κάποιων ορίων ώστε να είναι δυνατή η διάκριση των επιμέρους χαρακτήρων και η διαπίστωση του τέλους της ανάγνωσης. Αντίθετα, στις continous συμβολογίες, όπως η ΕΑΝ-13, δεν υπάρχει "κενό" ανάμεσα στους χαρακτήρες, τυχόν κενό εμπεριέχεται στο πλάτος του κάθε χαρακτήρα. Στις continous συμβολογίες, οι χαρακτήρες αν αρχίζουν με σκούρα μπάρα τελειώνουν σε ανοιχτόχρωμη και το αντίθετο αλλά ποτέ δεν αρχίζουν και τελειώνουν σε σκουρόχρωμη μπάρα και για την αποκωδικοποίησή τους απαιτείται τμήμα του επόμενου χαρακτήρα. Η συμβολογία ΕΑΝ-13 ορίζεται σε όλα τα τεχνικά εγχειρίδια ή αναφορές σαν continous συμβολογία. Στην "Γ' μελέτη της Μονής Οσίου Γρηγορίου" αν και αναφέρεται ΡΗΤΑ ότι πρόκειται για continous συμβολογία ο συγγραφέας φροντίζει να την περιγράψει όπως ακριβώς είναι ο ΟΡΙΣΜΟΣ μιας descrete συμβολογίας. Χαρακτήρες που αρχίζουν με μπάρα και τελειώνουν σε μπάρα και κενό διάστημα που το "πυκνώνουμε" ή το "αραιώνουμε" κατά βούληση. Λυπάμαι αλλά αυτό δείχνει είτε ότι μάλλον δεν κατανοεί τους όρους που χρησιμοποιεί.
3ο Στη ίδια μελέτη αναφέρεται ένας τρόπος decoding που δεν γνωρίζω αλλά που αν κάποιος δοκιμάσει να τον εφαρμόσει θα δεί ότι μεταξύ άλλων ΔΕΝ δίνει μονοσήμαντο αποτέλεσμα, πράγμα που με κάνει να τον απορρίψω σαν τεχνικά ορθό ή άξιο λόγου. Πέρα από τον reference decode που αναφέρω πιο πάνω υπάρχουν και άλλες τεχικές λύσεις (για όποιον ενδιαφέρεται παρουσιάζω μια από αυτές στο δεύτερο μέρος) και διαφορετικοί αλγόριθμοι, αλλά σε κανέναν από αυτούς τα patterns αρχής και τέλους δεν ερμηνεύονται ή αποκωδικοποιούνται σαν χαρακτήρες ή δεν εκφράζονται με το ίδιο τρόπο με τους χαρακτήρες. Σημειώστε ότι όλοι οι σύνδεσμοι στο internet που υπάρχουν στην ως άνω μελέτη είτε δεν λειτουργούν είτε εγώ δεν μπόρεσα να τους εντοπίσω, και έτσι δεν μπορώ να έχω γνώμη γι' αυτές τις αναφορές.
4ο Τεχνικές αιτίες και απαντήσεις στο γιατί δύο και όχι μία μπάρα αρχής τέλους ή μέσης στο γιατί η συμμετρία των συμβόλων των χαρακτήρων, γιατί η ύπαρξη των διαφορετικών συνόλων χαρακτήρων, γιατί ο διαχωρισμός σε δυο μισά τμήματα υπάρχουν αρκεί κάποιος να τις αναζητήσει επιζητώντας ακριβώς αυτο "τεχνικές" απαντήσεις σε τεχνικά προβλήματα.
5o Σημειώστε ότι ο reference decode αλγόριθμος του GS1, σε αντίθεση με μια πιο πρακτική εφαρμογή που θα περιγράφω παρακάτω, δεν προορίζεται απλά για decoding αλλά και στην διαδικασία ISO verification για εκτίμηση/βαθμολόγιση της “αναγνωσιμότητας” (decodability) ενός συμβόλου.
ΥΓ.
Η δική μου αντιμετώπιση στο θέμα είναι καθαρά τεχνική. Δεν μπορώ, δεν έχω τις γνώσεις δεν έχω τις δυνατότητες και δεν επιθυμώ να κάνω σημασιολογικές, θρησκευτικές ή άλλου τύπου αναφορές, ερμηνείες ή εξηγήσεις σε κανένα θέμα και πολύ περισσότερο σε τεχνικά θέματα. Από τεχνική πλευρά δεν υπάρχει θέμα 666 ή άλλου κρυφού αριθμού. Όσο τώρα για τα άλλα, αν και είναι προσωπικό, δεν διστάζω να δηλώσω ότι είμαι Χριστιανός Ορθόδοξος και κατά την δική μου προσωπική άποψή που κατά πάσα πιθανότητα δεν έχει σημασία και δεν θα πρέπει να έχει για κανέναν άλλο, αλλά δεν έχω πρόβλημα να την δηλώσω, είναι ότι τα θέματα πίστης δεν έχουν ανάγκη τεχνικής επιβεβαίωσης ή επαλήθευσης και δεν μπορούν να υπόκεινται σε διαδικασίες τεχνικής επιβεβαίωσης ή απόρριψης.
Για δε το θέμα των ταυτοτήτων κτλ δεν έχω ούτε τις τεχνικές γνώσεις για το αντικείμενο, ούτε τεχνικά με αφορά και γι' αυτό το λόγο, αν και μπορώ να έχω προσωπική άποψη όπως όλοι, δεν έχω την ικανότητα ούτε τις γνώσεις ούτε και την επιθυμία να ασχοληθώ με αυτό τεχνικά ή να εκφράσω άποψη που δεν μπορώ να τεμκηριώσω. Παρακαλώ λοιπόν η άποψή μου, αν χρειάζεται κάπου, αυτό να είναι μόνο για τεχνικά θέματα του barcode όσο με αφορούν, στα οποία πάντα είμαι πρόθυμος να σας απαντήσω, όσο αυτό είναι μέσα στις δυνατότητές μου, αν και νομίζω ότι δεν είναι εδω ο κατάλληλος τόπος για τεχνικά θέματα.

ΜΕΡΟΣ Β
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ - ΜΟΝΟ ΓΙΑ ΤΕΧΝΙΚΟΥΣ Η ΦΙΛΟΜΑΘΕΙΣ ΑΝΑΓΝΩΣΤΕΣ
BARCODE DECODER APPLICATION NOTES

Διευκρινήσεις:
1. Υλικό (σημειώσεις, reference υλικό και application documentation) από το προσωπικό μου αρχείο,.
2. Προσοχή πρόκειται για decoding και όχι ISO verification).
3. Δεν έχει σχέση με τον reference decode του GS1 που περιγράφεται παραπάνω
4. Και πάλι, μόνο για τεχνικούς.
Ένας τρόπος αποκωδικοποίησης (decoding) ενός κωδικού ΕΑΝ-13 (UPC-A)
Θα προσπαθήσω να τα γράψω όλα Ελληνικά αν και είναι αρκετά δύσκολο για μένα να αποδώσω με ακρίβεια αυτό που θέλω να πω σε ορισμένα τουλάχιστον σημεία.
Για να αποκωδικοποιήσουμε ένα barcode πρέπει πρώτα να καταλάβουμε τη δομή του. Μια εξαιρετική αναφορά σε αυτό, αν και δεν είναι πλέον διαθέσιμη στο internet, υπήρχε στο http://www.semiconductor.agilent.com/barcode/…/Misc/upc.html
Εδώ δεν θα αναπαράγω το περιεχόμενο του παραπάνω site που ίσως κάποιος μπορεί να βρεί σε mirrors ή cached pages αλλά θα προσπαθήσω να επισημάνω μερικά σημεία τα οποία νομίζω αξίζει να προσέξουμε.
Μια καλή αρχή για να κατασκευάσει κάποιος ένα barcode decoder είναι οι συμβολογίες UPC/EAN και αυτό επειδή είναι κατά τη γνώμη μου καλά σχεδιασμένες. Διάφορες άλλες συμβολογίες υπάρχουν με τις οποίες αν και είναι δυνατόν να έχεις "καλή" ανάγνωση υπάρχει περίπτωση να έχεις "λάθος" αποτέλεσμα. Δηλαδή ναι μεν το barcode αποκωδικοποιείται σωστά αλλά ο αριθμός, η πληροφορία που διαβάσαμε είναι λάθος. Αυτό, απ' όσο γνωρίζω δεν μπορεί να συμβεί με τις συμβολογίες UPC/EAN αν ακολουθείς τους κανόνες. Κατ' αρχή ας δούμε τη δομή ενος ΕΑΝ-13 (αν κάνουμε ενα decoder για ΕΑΝ-13 αυτός θα διαβάζει και UPC).
Δομή των συμβολογιών UPC/EAN
Κάθε barcode ΕΑΝ-13 (UPC) αποτελείται από σκούρα και ανοιχτόχρωμα "στοιχεία" που στο εξής για λόγους απλοποίησης θα αναφέρουμε σαν μαύρα και λευκά αντίστοιχα. Τα "στοιχεία" αυτά έχουν συγκεκριμένο πλάτος 1, 2, 3, ή 4 "μονάδες πλάτους". Η μονάδα αυτή ονομάζεται module.
Κάθε ψηφίο στο ΕΑΝ-13 αποτελείται από 4 "στοιχεία" που έχουν συνολικό πλάτος όλα μαζί 7 modules. Ποτέ έξι, ποτέ τρία, ποτέ οκτώ, ποτέ 7,5. Πάντα επτά.
Ο κωδικός αριθμός που "γράφεται" στο barcode, η πληροφορία δηλαδή, κωδικοποιείται σε δύο ομάδες των έξι χαρακτήρων (το 13ο ψηφίο κωδικοποιείται στο parity των ψηφίων του αριστερού μέρους αλλά αυτό δεν είναι του παρόντος).
Οι ομάδες αυτές των ψηφίων περικλείονται από μπάρες αναφοράς, πλάτους ενός module η κάθε μία. (Αυτές είναι οι μπάρες οι οποίες αναφέρονται σαν "κρυφή" κωδικοποίηση του 666, αλλά όπως θα δείτε παρακάτω, δεν υπάρχει δυνατότητα ερμηνείας τους με αυτό τον τρόπο).
Τα παρακάτω θα σας μοιάζουν λίγο πολύπλοκα αλλά θα γίνουν ευκολότερα στη συνέχεια.
Για κάθε ψηφίο από το 0 έως το 9 υπάρχουν τρείς τρόποι να το απεικονίσουμε. Δύο τρόποι για το αριστερό μέρος και ένας για το δεξί. Έτσι έχουμε τα παρακάτω character sets.
3ος Πίνακας με τα patterns της συμβολογίας EAN-13
Διαβάζοντας από αριστερά προς τα δεξιά (αν και η πραγματική ανάγνωση μπορεί να συμβαίνει αντίστροφα) και αντιστοιχίζοντας το 0 στο λευκό και το 1 στο σκούρο χρώμα, ο προηγούμενος πίνακας γίνεται ο πινακας 4:
Digit Set A Odd Set B Even Set C Even
0 0001101 0100111 1110010
1 0011001 0110011 1100110
2 0010011 0011011 1101100
3 0111101 0100001 1000010
4 0100011 0011101 1011100
5 0110001 0111001 1001110
6 0101111 000101 1010000
7 0111011 0010001 1000100
8 0110111 0001001 1001000
9 0001011 0010111 1110100
Μερικά που αξίζει να σημειώσουμε εδώ:
Οι συμβολογία UPC χρησιμοπιεί μόνο τα set Α και C, η ΕΑΝ-13 τα χρησιμοποιεί όλα.
Η UPC χρησιμοποιεί το set Α για το αριστερό μέρος και το set C για το δεξί.
H EAN-13 ξεκινά ΠΑΝΤΑ με χαρακτήρα από το set Α στο αριστερό μέρος αν πηγαίνουμε με φορά από τα αριστερά προς τα δεξιά και ΠΑΝΤΑ με χαρακτήρα από το C αν πηγαίνουμε από δεξιά προς τα αριστερά.
Παρατηρώντας τους χαρακτήρες βλέπουμε ότι τα set Α και C είναι bit inverse το ένα του άλλου. Με δεδομένη μια φορά ανάγνωσης είναι αδύνατο να ξεχωρίσουμε το Α από το C βασιζόμενοι μόνο στην πληροφορία πλάτους των μπαρών. Π.χ. από αριστερά προς τα δεξιά ο χαρακτήρας 0 στο Α και στο C δίνει ακριβώς τα ίδια πλάτη (3, 2, 1, 1) στα transitions με αποτέλεσμα αν χρησιμοποιήσουμε μόνο αυτή την πληροφορία να μη μπορούμε να διακρίνουμε αν διαβάζουμε χαρακτήρα του συνόλου Α ή του C. Εφόσον λοιπόν τα A και C είναι ταυτόσημα, δίνουν δηλαδή πληροφορία που δεν τα διαφοροποιεί, μπορούμε να αγνοήσουμε το ένα από αυτά.
Είναι επίσης προφανές ότι τα C και B είναι bit reverse το ένα του άλλου. Αν και τα C και B δεν χρησιμοποιούνται ποτέ μαζί, είναι εύκολο, σε δεδομένη φορά ανάγνωσης να διακρίνουμε μεταξύ του B και C. π.χ. με φορά από αριστερά προς τα δεξιά το 0 στο B δίνει διαφορετικά πάχη transitions (1, 1, 2, 3) από το 0 στο C (3, 2, 1, 1). Γι' αυτό το λόγο λοιπόν ΕΙΤΕ το charater set Β ΕΙΤΕ το C είναι ουσιώδη στην εξαγωγή της κωδικοποιημένης πληροφορίας.
Τα character set Α και B είναι bit reversed KAI inversed το ένα του άλλου. Μια μόνο λειτουργία είτε inverse είτε reverse δεν θα μας επέτρεπε να αγνοήσουμε το ένα ή το άλλο (επειδή π.χ. θα προέκυπτε ταυτότητα όπως στην περίπτωση A με C).
Από τα παραπάνω συμπεραίνουμε ότι το character set C μπορεί να αγνοηθεί και να χρησιμοποιήσουμε μόνο τα Α και B για την αποκωδικοποίηση του EAN-13.
Αυτό γινεται προφανές αν μετατρέψουμε τα παραπάνω bit patterns σε πλάτη, όπως θα εμφάνιζε π.χ. μια ιδανική ανάγνωση από ένα light pen.

Digit Left Odd
(ean only) Left Even Right
0 3 2 1 1 1 1 2 3 3 2 1 1
1 2 2 2 1 1 2 2 2 2 2 2 1
2 2 1 2 2 2 2 1 2 2 1 2 2
3 1 4 1 1 1 1 4 1 1 4 1 1
4 1 1 3 2 2 3 1 1 1 1 3 2
5 1 2 3 1 1 3 2 1 1 2 3 1
6 1 1 1 4 4 1 1 1 1 1 1 4
7 1 3 1 2 2 1 3 1 1 3 2 1
8 1 2 1 3 3 1 2 1 1 2 1 3
9 3 1 1 2 2 1 1 3 3 1 1 2
Παρατηρήστε στον πινακα 5 ότι τώρα πλεόν δεν δίνουμε σημασία στη "κατάσταση" της μπάρας αν είναι λευκή ή μαύρη αλλά μόνο στο πλάτος. Με όλη τη σημασία της λέξης "δεν μας ενδιαφέρει" αν είναι λευκό ή μαύρο. Αυτό που κοιτάμε πλεόν είναι μόνο το πάχος (σε modules) των "στοιχείων". (Όπως ίσως γνωρίζει ο αναγνώστης διάφορες πένες (light pens) διαφόρων κατασκευαστών δίνουν 1 στο λευκό και άλλες τόσες δίνουν 0 στο λευκό ανάλογα με το είδος του αισθητήρα και τις πύλες που χρησιμοποιούν χωρίς αυτό να έχει σημασία ή να χρειάζεται να προσδιοριστεί στο decoding software).
Για κάθε ψηφίο συγκεντρώνουμε μια ομάδα από τέσσερα στοιχεία χρονομέτρησης (για τον decoder πλάτος = διάρκεια παλμού = χρόνος) που θεωρητικά θα πρέπει να έχουν άθροισμα επτά modules και τα οποία πρέπει να ταιριάζουν με κάποιο από τα στοιχεία του παραπάνω πίνακα.
(Σημείωση: πέρα από το βασικό κωδικό EAN-13 υπάρχουν και οι μορφές με επιπρόσθετο τμήμα 5 ή 2 ψηφίων. Η αποκωδικοποίηση και εδώ είναι ίδια, αλλά ίσως θα πρέπει να προσέξει κάποιος κατασκευαστής decoder το θέμα της αντίστροφης φοράς η οποία μπορεί να προκαλέσει λανθασμένες ανάγνωσεις. Σε κάθε περίπτωση όμως το decoding των χαρακτήρων είναι και εδώ ίδιο).
Αν διαβάσουμε έστω και ένα χαρακτήρα even parity πρόκειται για EAN-13 και ο συνδιασμός odd/even δίνει το πρώτο ψηφίο σύμφωνα με τους πίνακες του GS1. Το parity το βρίσκουμε προσθέτοντας την δεύτερη και τέταρτη μέτρηση από την τετράδα μετρήσεων του κάθε χαρακτήρα.
Χρήσιμες Παρατηρήσεις
Στη βασική του μορφή ένα barcode UPC/EAN αποτελείται από τρία σύνολα από framing elements και δύο σύνολα data elements.
FFF DDDD DDDD DDDD DDDD DDDD DDDD FFFFF DDDD DDDD DDDD DDDD DDDD DDDD FFF
Είναι απαραίτητο να μπορέσουμε να προσδιορίσουμε το πλάτος του module, σε μια δεδομένη ανάγνωση, και εδώ παρατηρούμε ότι το εξωτερικό στοιχείο καθενός από τα framing elements είναι μπάρα π.χ. τα δύο εξωτερικά framing elements είναι μπάρα, διάστημα, μπάρα. Το πάχος όλων αυτών των μπαρών είναι ίδιο και έτσι δίνουν μια καλή βάση για την εκτίμηση του πόση παραμόρφωση υπάρχει στην διαδικασία εκτύπωσης ή του pen decoding. Μια μέθοδος βαθμονόμησης είναι να προσθέσουμε τις δύο μπάρες και να διαιρέσουμε με το δύο, μετά να αφαιρέσουμε το λευκό, να πάρουμε το μισό του υπολοίπου και να εφαρμόσουμε αυτή τη διόρθωση σε όλα τα δείγματα όπως λαμβάνονται.
Για να γίνει πιο κατανοητό θα χρησιμοποιήσω το εξής παράδειγμα. Έστω οι μετρήσεις πλάτους ακραίου framing element 22,20,22 έτσι έχουμε 22+22 = 44, 44 / 2 = 22, 22 - 20 = 2, 2 / 2 = 1, έτσι στο παράδειγμα αυτό όλες οι μπάρες θα έπρεπε να μειωθούν κατά ένα δείγμα και όλα τα spaces να αυξηθούν κατά 1 δείγμα.
Αν η προσέγγιση αποκωδικοποίησης που κάνουμε είναι post process, θα μπορούσαμε να εφαρμόσουμε τα παραπάνω στα δύο άκρα και στα δείγματα της μέσης (αφού μπορέσεις πρώτα να τα εντοπίσεις, πράγμα όχι εύκολο!!!). Αν η προσέγγιση είναι "On-the-fly" decode χρησιμοποιούμε ότι διαβάσαμε πρώτο και κάνουμε επαναβαθμονόμηση (recalibrate) στην μέση.
Επιπλέον έλεγχος με το ψηφίο ελέγχου μπορεί να εξασφαλίζει μεγαλύτερη αξιοπιστία της ανάγνωσης αλλά προσωπικά δεν έχω συναντήσει περίπτωση να γίνεται το decode σύμφωνα με τα παραπάνω και να δίνει λάθος αποτέλεσμα.

ΞΕΚΑΘΑΡΙΣΜΑ FIXING Μετρήσεων
Τώρα που έχουμε τα timing data ίσως κάποιος πιστέψει ότι μπορούμε να αποκωδικοποιήσουμε, σωστά;
Εν μέρει, ναι, αν ήταν σωστά τυπωμένα, αν η πένα τα διάβασε με ακρίβεια. Δυστυχώς, συχνότατα αυτό δεν συμβαίνει, και χρειάζεται να κάνουμε λίγο "ξεκαθάρισμα" πριν μπορέσουμε να αποκωδικοποιήσουμε.
Πρώτα πρώτα, ας πάρουμε τέσσερα δείγματα και να τα προσθέσουμε. Ας πάρουμε το ψηφίο 5 που κωδικοποιείται σαν 1,2,3,1 σαν παράδειγμα το 10,20,30,10 θα ήταν μια ιδανική ανάγνωση του ψηφίου 5 επειδή όλα τα στοιχεία είναι πολλαπλάσια ενός module πλάτους 10. Το 20,40,60,20 θα ήταν ακόμη καλύτερο λόγω της μείωσης της σημασίας των κουκίδων αλλά ας μείνουμε με το 10,20,30,10.
Ας σημειώσουμε εδώ ότι τα δεδομένα που "βλέπουμε" έχουν ήδη υποστεί διαδικασία ελαφράς μορφής διόρθωσης από τις ρουτινες interrupt του scanner. Ένα πιο ρεαλιστικό παράδειγμα δεδομένων θα ήταν: 12, 19, 27, 12.
Αν και είναι εύκολο στο ανθρώπινο μάτι να δει και εδώ τις αναλογίες του χαρακτήρα “5”, δεν συμβαίνει το ίδιο με τον επεξεργαστή. Ας το διορθώσουμε. Πρώτα, προσθέτουμε τα στοιχεία 12+19+27+12 = 70, διαιρούμε με το 7 για να πάρουμε το τυπικό πλάτος του module που για τα συγκεκριμένα δεδομένα είναι 10.
Τώρα προσπαθούμε να διορθώσουμε κάθε μέτρηση ώστε να εκφράζεται σαν πολλαπλάσιο αυτού του module, αλλά εδώ χρειάζεται προσοχή. Θυμηθείτε το μόνο πράγμα για το οποίο είμαστε σίγουροι είναι τα άκρα της ομάδας. Εφαρμόζουμε λοιπόν τη διόρθωση από έξω προς τα μέσα. Στην ομάδα των 4 αριθμών έχουμε τρία "άκρα" από τα οποία πρέπει να "μετακινήσουμε". Χωρίς να μπώ σε παραπάνω λεπτομέρειες παίρνουμε την κάθε μέτρηση, την στογγυλοποιούμε σε ακέραια modules, λαμβάνουμε το υπόλοιπο και το προσθέτουμε στο επόμενο εσωτερικό δείγμα για τα δύο άκρα από έξω προς τα μέσα.
Διόρθωση αριστερού μέρους. 12,19,27,12 γίνεται 10,21,27,12
Διόρθωση δεξιού μέρους. 10,21,27,12 γίνεται 10,21,29,10
Διόρθωση μέσου. 10,21,29,10 γίνεται 10,20,30,10
Απλό δεν είναι; Αυτό θα διορθώσει πολλά σφάλματα εκτύπωσης και σάρωσης. Το σημαντικό είναι να έχουμε διατηρήσει τα δείγματα. Αν προσπαθήσουμε να στρογγυλοποιήσουμε τα δείγματα σαν αριθμούς θα επέλθει η καταστροφή. Αν δεν με πιστεύετε δοκιμάστε το σε πραγματικά δεδομένα!!! Παρεπιπτόντως δοκιμάστε με το "6" που έχει modules πλατους 1 και 4 μόνο.
Στον παραπάνω τρόπο υλοποίησης ενός decoder νομίζω ότι φαίνεται η χρήση ή όχι του 6 ή 66 ή 666. Σημειώστε ότι ακόμα και το character set C στο οποίο ο χαρακτήρας 6 εμφανίζεται από διαφόρους να προσομοιάζει τις μπάρες αρχής και τέλους αγνοείται τελείως. Αυτά όσο αφορά το τεχνικό μέρος λυπάμαι αν σας κούρασα. Για οποιαδήποτε διευκρίνιση ή επιπλέον ερμηνεία στη διάθεσή σας.
με εκτίμηση
Σ. Ν.

6 σχόλια:

  1. Δυο "ρητά" ταιριάζουν εδώ.

    α) ου με πείσεις καν με πείσεις

    β) τον αράπη κι αν τον πλένεις το σαπούνι σου χαλάς.

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Καθηγητήςπου γνωρίζει το γραμμικό κώδικα μου έλεγε ένα βράδυ πως ανάμεσα στο πρώτο και στο δεύτερο γραμμικό υποδιάστημα του barcode οι σκοτεινές δυνάμεις έκρυψαν ένα αθέατο 6. Στη δε μέση της εφαπτομένης της γραμμικής υποτείνουσας του μπαρ κόουντ οι παγκοσμιοποιητές τοποθέτησαν ένα δεύτερο κρυφό 6. Τέλος, εκεί που τελειώνει το σκανάρισμα των γραμμών, πράκτορες της νέας τάξεως αφού δολοφόνησαν τον προγραμματιστή του γραμμικού κώδικα και τοποθέτησαν το σωσία του που ήταν πράκτοράς τους, κατάφεραν και τοποθέτησαν την αόρατη γραμμική εντολή της επανάληψης scan, ώστε μόλις φτάνει εκεί η ακτίνα λέιζερ να ξανασκανάρει τα προηγούμενα 6 και 6 με σκοπό να συμπληρωθεί το 666. Επειδή όμως περισσεύει ένα 6, αφού διαβάζεται 6666 έκαναν hacking στον κεντρικό υπερυπολογιστή του θηρίου της αποκαλύψεως και πλέον σε κάθε τετράδα 6666 αφαιρείτα με λογισμικό ένα 6 ώστε κάθε φορά να διαβάζεται 666 στους εξής συνδυασμούς: 6 666, 666 6, 6 66 6, 66 66. Η σειρά είναι τυχαία και απρόβλεπτη. Δυστυχώς όσοι αγοράζουν προϊόντα που σκανάρονται με 666 6 ή 6 666 εκείνοι έχουν το σφράγισμα του αντιχρίστου ανεξίτηλο επάνω τους, αφού αγοράζοντας το προϊόν, αυτό τους ανήκει 100%, γίνεται κτήμα τους και εκείνοι γίνονται δούλοι του αντιχρίστου, προδίδουν τον Χριστό και ξεβαπτίζοται. Αυτά μου έλεγε ο καθηγητής όταν ξύπνησα και κατάλαβα ότι επρόκειτο για ένα ανόητο όνειρο... φοβήθηκα να το δημοσιεύσω μήπως και το διαβάσει κάποιος εισαγγελέας και με πάει στη στενή για διασπορά ψευδών πληροφοριών και άσκηση ψυχολογικής βίας και τρομοκρατίας του λαού, ή κάποιος ψυχίατρος και μου φορέσει ζουρλομανδύα. Όμως, σκέφτηκα, ότι, επί δεκαετίες παπάδες και καλόγεροι διαδίδουν τέτοια και χειρότερα, και κατατρομοκρατούν τον θρησκευόμενο λαό στο όνομα μάλιστα της Εκκλησίας, της Αποκαλύψεως και του Χριστιανισμού και κανένας Εισαγγελέας δεν τους κατηγόρησε για κατατρομοκράτηση του λαού, για ηθικούς αυτουργούς τυχόν θανάτων από καρδιακή συγκοπή ή έμφραγμα, αν κάποιος έτρεμε πως θα πάει στην κόλαση επειδή ...σφραγίστηκε από τον ...αντίχριστο!!! ή, αν κάποιος ηλικιωμένος δεν έπαιρνε τα φάρμακά του διότι ... είχαν λέει το σφράγισμα του αντιχρίστου 666 στις συσκευασίες, κανένας ψυχίατρος δεν τους ενέκλεισε σε ψυχιατρείο ως παράφρονες και καμμιά Εκκλησιαστική Αρχή δεν τους παρέπεμψε για διαστρέβλωση του ιερού και αγίου Ευαγγελίου το οποίο βάναυσα παρερμηνεύουν.

      Διαγραφή
    2. Οδυσσέας Τσολογιάννης Τα παληκαρια που κυνηγουν τον Αντιχριστο τι γινονται, πως και χαθηκαν και αφωνησαν; Στην παραπανω εξοχη και εξονυχιστικη ΜΕΛΕΤΗ, αυτοι οι ...λαμπτηρες της Αντιπακτρολογιας δεν εχουν τιποτα να πουνε; Τιποτα να αντιλεξουν; Μονο την Δαιμονισμενη ΡΕΛΦ να επαναλαμβανουν με τυις αηδιες της; Αυτην που λεει οτι κοιμοταν στον υπνο της αγκαλια με τον Χριστο, η ΑΧΡΕΙΑ και ΗΛΙΘΙΑ γυναικα; Τι να πειτε; Αγγουρια τρωτε, για αγγουρια θα μιλατε, Αγουριδες τρωτε, για αγουριδες θα μιλατε. Δεν εχετε την ικανοτητα εσεις; ΦΕΡΕΤΕ τους φωστηρες σας ΝΑ ΤΑ ΝΑΤΙΚΡΟΥΣΟΥΝ. Ομως πραξατε το αυτονοτο και αυτοκατανοητο. Να σιωπησετε, ενω μεχρι τωρα απλως κραυγαζατε και φωνασκουσατε και αηδιοαραδιαζατε. Φιλε ΒΟυκαλη και η παρεα σου. Σωφρονισθειτε επιτελους και γινετε κοσμιωτεροι. Πιστευετε οτι ειστε χριστιανοι. Αποδειξτε το. Γινετε ιματισμενοι και σωφρονουντες και φρονιμως ποιουντες, ινα μη βλασφημειται το ονομα του θεου εν τω κοσμω των απιστων και των αχριστιανων. Θα λογοδοτησετε ΦΡΙΚΤΩΣ.

      Διαγραφή
  2. Σπυρίδων Βούκαλης κ.Τσολογιάννη πέιτε μας σας παρακαλώ σε ποιά χρόνια βρισκόμαστε....Τι λένε οι επιστημονές σας που είναι κορυφή ;

    Οδυσσέας Τσολογιάννης
    Οδυσσέας Τσολογιάννης Τα χρονια και οι μερες ειναι του Θεου Βουκαλη φιλε.Και οι δικες μας μερες, και των δυο μας, μετρημενες μερες επισης. Φευγουμε Βουκαλη, ειμαστε εις αναχωρησιν ιδου ακουω το καμπανακι. ΤΙ ΑΠΟΛΟΓΗΣΟΜΕΘΑ; Και για τις κακοδοξιες μας και για τις βλακειες μας, τι απολογησομεθα που φανηκαμε αναξιοι της τιμης του χριστιανου; Ξερεις τι εικονα δειχνουμε στα ματια των ανθρωπων; Μαθε τι ειπε ο Γκαντι, γιατι δεν γινονταν χριστιανος, γιατι, ειπε, οι χριστιανοι ειναι Αντιχριστιανοι. Το καταλαβες ΒΟΥΚΑΛΗ; Αν οχι ξανασκεψου το.

    ΑΝ ΜΠΗΤΕ ΣΤΟ ΦΕΙΣ ΜΠΟΥΚ. στη σελιδα μου, ΘΑ ΔΗΤΕ ΤΟΥΣ ΟΡΓΙΑΖΟΝΤΕΣ ΝΑ ΑΦΡΙΖΟΝΤΕΣ ΣΑΝ ΜΑΝΙΑΣΜΕΝΟΙ ΚΑΙ ΑΥΤΟΙ ΛΕΓΟΝΤΑΙ ,....ΧΡΙΣΤΙΑΝΟΙ και μαλιστα Αποτειχισμενοι. Μονο που δεν εκαναν Αποτειχισι και απο τον νοσηρο εαυτο τους.

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Στο face-book φακελλώνεται παγκοσμίως τι λές, τι γράφεις, τι ιδέες έχεις, που είσαι, ποιους φίλους έχεις και καταγράφονται και φακελλώνονται ισοβίως και παγκοσμίως όλες αυτές οι πληροφορίες της ζωής σου.

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

      Υποκριταί!!!

      Διαγραφή
  3. ΝΙΚΗΣΑΤΕ κύριε Οδυσσέα Τσολογιάννη, νίκησε Ο Κύριος, η Αλήθεια! Τι να απαντήσουν και ποιοί;.

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

    Τί να απαντήσουν εκείνοι που πήραν τα βουνά και περιμένουν σαν τους χιλιαστάς τη Δευτέρα Παρουσία που δεν τους κάνει τη χάρη να έρθει η έρμη; Τί να απαντήσουν εκείνοι που διέδιδαν πως όποιος χρησιμοποιήσει bar-code θα τον σφραγίσει ο ... αντίχριστος και θα πάει στην Κόλαση;

    Με τι επιχειρήματα ν' απαντήσουν όταν πρώτα θα πρέπει να ζητήσουν συγνώμη για τις αντίχριστες ανοησίες που διέδιδαν πριν από 20 χρόνια, τότε που κήρυτταν ότι υπάρει "το χάραγμα του αντιχρίστου" στα δήθεν πλινθία και bar-codes. Πέρασαν 10, πέρασαν 20 πέρασαν 25 χρόνια, η δαιμονισμένη και οι αντιγραφείς της θησαύρισαν από τις πωλήσεις των ψευδοπροφητικών εσχατολογικών βιβλίων και ούτε Αντίχριστο μας υποδεικνύει κανένας ούτε ο Νοστράδαμος επαληθεύτηκε, αφού οι δυνάμεις του Ουρανού δεν διασαλεύτηκαν, η Δευτέρα Παρουσία του Κυρίου -την ώρα και τη μέρα της οποίας γνωρίζει μόνον ο Πατήρ- δεν έγινε, τα τσιπάκια και τα γραμμικά δεν "σφράγισαν" κανένα Χριστιανό!

    Οι οπαδοί τους τους εγκαταλείπουν. Σε κάθε συγκέντρωση συμμετέχουν και λιγότερα πούλμαν. Οι φωτογραφίες αποδεικνύουν "αραία αραία να φαινόμαστε καμμιά σαρανταρέα". Οι σοβαροί άνθρωποι τους αμφισβητούν. Ακόμα και οι κατά τα άλλα στενοί οπαδοί αυτών των γεροντάδων που αντέγραφαν τις ανοησίες της δαιμονισμένης, περί υπάρξεως "χαράγματος", "σφραγίσματος" και "δυσωνύμου αριθμού" στα τσιπάκια και στα bar-codes, ενώ στα λόγια τους υποστηρίζουν, στην πράξη πλέον τους φτύνουν κατάμουτρα, πολλές φορές κάθε μέρα, κάθε φορά που αγοράζουν και χρησιμοποιούν καθημερινά ο,τι δήποτε έχει τσιπάκι, ΑΜΚΑ και bar-code! Και το φτύσιμο δεν αποδεικνύεται μόνο από τη χρήση αλλά και από το ότι ΑΦΟΒΑ όλοι χρησιμοποιούμε γραμμικά, τσιπάκια, κάρτες, διαδίκτυο, χωρίς να φοβόμαστε ότι θα πάμε στην Κόλαση (διότι δήθεν θα πάρουμε το προσφράγισμα ή το σφράγισμα του αντιχρίστου), όπως μας φοβέριζαν οι ελεεινοί αντίχριστοι παρερμηνευτές των Αγίων Γραφών. Φτού τους και για να μην τους ματιάσουμε.

    ΑπάντησηΔιαγραφή

Δημοφιλείς αναρτήσεις

Αναζήτηση αυτού του ιστολογίου