Πέμπτη, 19 Απριλίου 2018

Με λένε Хаджитодоров και σιχαίνομαι τους κομμουνιστές


Αυτή ήταν, λοιπόν, η απάντηση του μέγα ΣΥΡΙΖΑίου παράγοντα της περιοχής μας, κ. Χατζηθεοδώρου Γεωργίου - συντονιστή της ΝΕ του ΣΥΡΙΖΑ Ξάνθης, στην ερώτηση “πότε θα ανοίξουν τα κλειστά νηπιαγωγεία της μειονότητας και ποια απ’ όλες τις μητρικές γλώσσες θα χρησιμοποιηθεί για να κάνουν τα πειράματα τους οι καρεκλοκένταυροι των Αθηνών και πάσης Ελλάδος".

Θα αναρωτιούνται μετά κάποιοι από πού προέκυψε το παρατσούκλι “Хаджитодоров“.
Είναι αυτή η απίστευτη υποκρισία γενικά των πολιτικάντηδων που “εμπνέει” πολλές φορές τους πολίτες και καταφεύγουν σε διάφορα “τεχνάσματα” για να τους περιγράψουν παραστατικότερα στα κείμενα τους.


Σίγουρα, πάντως, έχουν κάποιον “άγιο” αυτοί οι ΣΥΡΙΖΑίοι και για καλή τους τύχη δεν έχω κάποιο παιδί σε ένα από τα “πειραματικά” νηπιαγωγεία και γι’ αυτό και βλέπετε αυτήν τη “χλιαρή” αντίδραση μου. Είμαι πολύ νέος ακόμα, βέβαια, αλλά τί να πρωτοπρολάβει να κάνει κανείς σ’ αυτή τη μικρή ζωή.

Απολαύστε καραγκιοζιλίκι.





Δευτέρα, 2 Απριλίου 2018

Η "αριστερή" δημοκρατία

Ολόκληρος κυβερνητικός μηχανισμός, λέει, δεν μπορεί να "ελέγξει" μερικές "ατίθασες νηπιαγωγίνες" και να εφαρμόσει την πολιτική του ατζέντα.
Φταίει η ΔΟΕ, η Χρυσή Αυγή, οι νηπιαγωγοί και γενικά οτιδήποτε άλλο πλην των ίδιων των πολιτικών μπουρδολόγων που τελευταία έχουν γίνει εξπέρ σε θέματα εκπαιδευτικά, γλωσσών, μειονοτήτων και ό,τι άλλο μπορεί να σκεφτεί κανείς... και φυσικά το 'χαψαν και οι πολίτες.
Βγαίνει ο γνωστός Хаджитодоров και κατηγορεί τους συναδέλφους του εκπαιδευτικούς ότι αντιπολιτεύονται την κυβέρνηση. Βρε πασάκα μου, εσείς δεν μιλήσατε πρώτοι για "δημοκρατία";  Ε, αυτό μας έλειπε τώρα, όλοι να συμπολιτεύονται με την κυβέρνηση σας.
Μπρε καρντάσια μου "αριστερόστροφα" σε ποιον τα πουλάτε αυτά;
Όλοι κατάλαβαν πλέον ότι στην πραγματικότητα κανείς δεν θέλει να εφαρμοστεί αυτό το πιλοτικό πρόγραμμα πλην ελαχίστων απολύτως ελεγχόμενων "δημοκρατικών" εγκεφάλων, που σε λίγο χρόνο από τώρα θα βγουν και πάλι στη "ζητιανιά" για λίγα ψηφαλάκια, προκειμένου να συνεχίσουν να παρασιτούν σε βάρος της κοινωνίας.
Κύριοι "δημοκράτες", εκτίθεστε ανεπανόρθωτα και "πνίγεστε" στα ίδια σας τα λόγια εμφανιζόμενοι στα διάφορα τηλεοπτικά παράθυρα για να σώσετε τα προσχήματα.
Λυπούμαι, αλλά πρέπει να προσπαθήσετε αρκετά για την πειθώ των επιχειρημάτων σας.
Ωραίο το τρικ με την εκμάθηση της ελληνικής γλώσσας, μόνο που σαν επιχείρημα μπάζει από παντού.  Το ακόμα καλύτερο είναι ότι το αντιλαμβάνεστε και το συνειδητοποιείτε και οι ίδιοι.
Η ελληνική γλώσσα είναι από τις ωραιότερες, αν όχι η ωραιότερη, του κόσμου και όποιος δεν τη γνωρίζει, ανεξαρτήτως καταγωγής, σίγουρα χάνει.
Άλλο αυτό όμως κι άλλο η μητρική γλώσσα.  Να μην τα συγχέουμε αυτά τα δύο πράγματα.
Κι επειδή το τελευταίαο διάστημα την πιπιλίζετε σαν καραμέλα στο στόμα σας αυτήν την "μητρική γλώσσα" της μειονότητας, μπορεί κάποιος από όλους εσάς να μας πει επιτέλους ποια είναι αυτή;  Επίσημα και δημόσια όμως και όχι μπιζ - μπιζέ (όπως αρέσκονται να λένε κάποιοι μειονοτικοί ή πλειονοτικοί "σπόροι").
Βέβαια, για να είμαι δίκαιος, ο Зейбеков σε μια πρόσφατη τηλεοπτική του εμφάνιση μέσω του κρατικού καναλιού της ΕΡΤ3 την υπονόησε σαφέστατα και μας την "υπέδειξε" κατά κάποιο τρόπο συνδέοντας την με το μειονοτικό δημοτικό σχολείο και το "άνομο" και "σκοτεινό" καθεστώς που το διέπει.
Το απαύγασμα της αριστερής "δημοκρατίας" όμως είναι ο τρόπος που επελέγη να εφαρμοστεί το εν λόγω πρόγραμμα.
Ποιος και με ποια κριτήρια, ας πούμε, επέλεξε τα συγκεκριμένα νηπιαγωγεία για να γίνουν αυτά τα πειράματα;
Έχει γίνει ποτέ κάποια συζήτηση ή ενημέρωση των γονέων / κηδεμόνων των παιδιών που φοιτούν ή θα φοιτήσουν στα νηπιαγωγεία αυτά;
Η κοινή λογική λέει ότι όλο και κάποια "κρυφή" κυβερνητική έρευνα πρέπει να έχει προηγηθεί του όλου εγχειρήματος.  Είναι κάτι που το συνηθίζουν οι κυβερνήσεις.
Το στενάχωρο μέχρι στιγμής είναι ότι δεν έχει ακουστεί η παραμικρή φωνή από την πλευρά των πολιτών.
Το θέλουν;  Δεν το θέλουν;  Ποιος ξέρει;
Το κλειδί της όλης υπόθεσης νομίζω πως είναι το τι αντιλαμβάνεται και αποδέχεται κανείς ως μητρική του γλώσσα.
Όλοι οι υπόλοιποι μπορούν να κάνουν, αν θέλουν, όσες τούμπες και κωλοτούμπες σηκώνει η αφεντιά τους.
Ακούστε τί λέει μετά το 13:38 ο φίλος μου Зейбеков.


Πέμπτη, 29 Μαρτίου 2018

Όταν οι πυρήνες παίρνουν φωτιά

Μην πάει αμέσως ο νους σας στο κακό, δεν μιλώ για τους "Πυρήνες της φωτιάς".
Μιλώ για πυρήνες επεξεργαστών, την πολυπύρηνη επεξεργασία δεδομένων και πώς μπορεί να τους θέσει κανείς στην υπηρεσία του.
Όσοι ασχολούνται με τον προγραμματισμό και την υπολογιστική επεξεργασία ασυνήθιστα μεγάλου όγκου δεδομένων όλο και κάτι θα έχουν διαβάσει για δομές δεδομένων και αλγορίθμους αναζήτησης Minimal Perfect Hashing.
Το πρόβλημα είναι το εξής:
Έχει κανείς μια τεράστια λίστα δεδομένων της τάξεως μερικών εκατοντάδων MegaBytes ή ακόμα μεγαλύτερη.
Θέλει να φτιάξει μια εφαρμογή για να προβάλει τα δεδομένα αυτά σε μια οργανωμένη μορφή.
Ακόμα κι αν διαθέτει κανείς έναν σύγχρονο υπολογιστή με αρκετή μνήμη RAM, θα ήταν τρέλα να επιχειρήσει να φορτώσει όλα αυτά τα δεδομένα στη μνήμη.
Στις περισσότερες των περιπτώσεων δε η μνήμη του υπολογιστή απλά θα εξαντληθεί με ό,τι αυτό συνεπάγεται.
Από την άλλη η αναζήτηση δεδομένων μέσα σ' ένα αρχείο αποθηκευμένο στο σκληρό δίσκο συγκρίνοντας μια γραμμή (ή εγγραφή) κάθε φορά είναι χαρακτηριστικά αργή και ατελέσφορη.
Φανταστείτε ένα αρχείο με μερικά εκατομμύρια γραμμές (ή εγγραφές) στο οποίο πρέπει να αναζητήσετε μια συγκεκριμένη λέξη, η οποία μπορεί να βρίσκεται σε οποιαδήποτε θέση.
Θα πρέπει να διατρέξει κανείς όλες τις γραμμές (ή εγγραφές) συγκρίνοντας τις μία μία μέχρι να εντοπίσει την επιθυμητή λέξη.
Απλά δεν γίνεται.
Επινόησαν, λοιπόν, οι μαθηματικοί - προγραμματιστές κάποιους αλγορίθμους κατατεμαχισμού (hashing algorithms) που λύνουν αυτό το πρόβλημα με τη δημιουργία ειδικών συμπιεσμένων πινάκων αναζήτησης.
Η επίλυση όμως αυτού του προβλήματος γεννά άλλα δευτερεύοντα προβλήματα, όπως η ίδια η κατασκευή αυτών των πινάκων και ο χρόνος που απαιτείται γι' αυτό.
Στην εποχή των πολυπύρηνων επεξεργαστών δεν υπήρχε περίπτωση να μην αποπειραθεί να αξιοποιήσει κανείς την ισχύ τους και γι' αυτό το πρόβλημα, που δεν είναι διόλου ασήμαντο για όποιον καταγίνεται μ' αυτά τα πράγματα.
Έχοντας ο ίδιος παρόμοιο πρόβλημα και αναζητώντας κάποια αξιοπρεπή λύση, πήρε το μάτι μου μια σχετικά πρόσφατη δημοσίευση που πραγματεύεται αυτό ακριβώς το ζήτημα: την πολυπύρηνη (παράλληλη ή πολυνηματική) υπολογιστική επεξεργασία δεδομένων μεγάλου όγκου και την κατασκευή συμπιεσμένων πινάκων αναζήτησης.  Πρόκειται γι' αυτήν εδώ τη δημοσίευση (https://arxiv.org/abs/1702.03154) του πανεπιστημίου Cornell.
Μέχρι τώρα παιδευόμουν με έναν άλλο αλγόριθμο (https://blog.demofox.org/2015/12/14/o1-data-lookups-with-minimal-perfect-hashing/) για το ίδιο θέμα, ο οποίος όμως μπορεί να τρέξει μόνο σειριακά.
Έσπασα το κεφάλι μου μήπως και καταφέρω και τον τρέξω σε πολυνηματική λειτουργία, αλλά τζίφος η προσπάθεια.
Είναι δοκιμασμένος και λειτουργεί σωστά μεν, πλην όμως για την κατασκευή του πίνακα αναζήτησης απαιτείται χρόνος γύρω στη μία ώρα και κάτι.  Μιλάμε για περίπου 3.500.000 γραμματικούς τύπους.  Είναι να σε πιάνει απελπισία.
Κάποια στιγμή, λοιπόν, θέλοντας να αξιοποιήσω και τους 8 πυρήνες του υπολογιστή μου, είπα να δοκιμάσω τον νέο πολυνηματικό αλγόριθμο.
Παρότι είναι γραμμένος σε C++, αμέσως διαπίστωσα ότι υπάρχει ένα μικρό πρόβλημα, μια και ο κώδικας είναι γραμμένος για μεταγλωττιστή GCC.
Τέτοιο πράγμα εγώ δεν θυμάμαι να έχω χρησιμοποιήσει άλλη φορά στο παρελθόν και προσπάθησα να τον τροποποιήσω για να μπορεί να μεταγλωττιστεί με άλλον compiler και να τρέξει σε περιβάλλον Windows.
Γενικά όμως η μεταφορά κώδικα από μια πλατφόρμα σε κάποια άλλη δεν είναι πάντα και ό,τι ευκολότερο.
Κάποια στιγμή κατάλαβα ότι χάνω χρόνο χωρίς να είμαι βέβαιος για το όποιο αποτέλεσμα.
Κάτι άλλο έπρεπε να γίνει επομένως και αυτό δεν ήταν άλλο από το να προσαρμοστώ εγώ στις απαιτήσεις του αλγορίθμου.
Αυτό, με λίγα λόγια, σήμαινε ότι έπρεπε να χρησιμοποιήσω κάποια άλλα εργαλεία απ' αυτά που συνήθιζα μέχρι τώρα και να μάθω καινούργια πράγματα πατώντας στις ήδη υπάρχουσες γνώσεις.
Από μια γρήγορη έρευνα κατάλαβα ότι με εργαλεία όπως το CodeBlocks (http://www.codeblocks.org) και το wxWidgets (https://www.wxwidgets.org) θα άξιζε να ασχοληθεί κανείς και να επενδύσει κάποιον χρόνο.
Δεν είχα άδικο.  Μέσα σε ένα δεκαήμερο περίπου κατάφερα να εξοικειωθώ με τα συγκεκριμένα εργαλεία που είναι και δωρεάν και τυγχάνουν και ευρείας χρήσης από την παγκόσμια κοινότητα προγραμματιστών.
Να μην τα πολυλογώ, η διαφορά μεταξύ των δύο αλγορίθμων από άποψη χρόνου κατασκευής του πίνακα αναζήτησης για τα 3.500.000 περίπου γραμματικών τύπων είναι σαν τη μέρα με τη νύχτα.
Ο χρόνος κατασκευής από τα 70 - 80 λεπτά που απαιτούνταν με τον πρώτο αλγόριθμο κατέβηκε γύρω στο δίλεπτο.
Όλα αυτά γίνονται σε ένα μεταχειρισμένο μηχάνημα της DELL (Dell Precision T5400, 2x Quad-Core XEON E5420) των 150 € με διπλό τετραπύρηνο εξεργαστή σαν κι αυτό εδώ: http://rmania.net/kompyutri-dell--precision-t5400-2x-quad-core-xeon-e5420-quadro-2814.html

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