Τετάρτη 29 Δεκεμβρίου 2010

Ευχές, πηγαίνοντας προς το 2011

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

Η καινούργια χρονιά μας δίνει ακόμη μιά ευκαιρία.

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

Ας γίνουμε λίγο πιο μορφωμένοι, πιο πολιτισμένοι, πιο ανθρώπινοι.

Εύχομαι να θέλουμε τόσα, όσα μπορούμε να πετύχουμε,
και να πετύχουμε τόσα, όσα θέλουμε.

Η ευτυχία είναι σχετικό μέγεθος. Μπορεί να την βρούμε με ένα χαμόγελο.

Κυριακή 19 Δεκεμβρίου 2010

Έφυγε η Ρομιγί

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

Σήμερα έφυγε η Ζακλίν ντε Ρομιγί (Jacqueline Worms de Romilly), στα 97 της, (και το πληροφορήθηκα από το πολύ ενδιαφέρον ιστολόγιο του Θερσίτη). Η μορφωμένη Γαλλίδα φιλόλογος έγινε διάσημη για το έργο της σχετικά με την ιστορία, τη γλώσσα και τον πολιτισμό της Αρχαίας Ελλάδας, και τιμήθηκε με πολλά αξιώματα.

Σας δίνω συνδέσμους προς την Ελληνική Βικιπαίδεια εδώ, την Γαλλική Βικιπαίδεια εδώ, την Γερμανική Βικιπαίδεια εδώ.

Προτείνω να της ευχηθείτε καλό ταξίδι διαβάζοντας τα βιβλία της.

Σάββατο 11 Δεκεμβρίου 2010

Έλεγχος ΑΦΜ

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

Όταν εντοπιστεί πλαστός αριθμός, πρέπει να ενημερώνεται η σχετική ΔΟΥ. Αν κάποιος αποδέχεται παραστατικά με πλαστό ΑΦΜ, κινδυνεύει να χαρακτηριστεί συνεργός σε φοροδιαφυγή.

Αν μετρήσουμε τα ψηφία του ΑΦΜ από αριστερά προς τα δεξιά, το ένατο ψηφίο είναι ψηφίο ελέγχου (checkdigit), δηλαδή μπορεί να προκύψει από τα οκτώ πρώτα με κάποιες πράξεις.
Ο έλεγχος σε ένα τυχαίο ΑΦΜ γίνεται ως εξής : κάνουμε τις προκαθορισμένες πράξεις στα οκτώ πρώτα ψηφία και προκύπτει ένα ψηφίο. Συγκρίνουμε αυτό το εξαγόμενο με το τελευταίο ψηφίο του ΑΦΜ. Αν είναι διαφορετικά, τότε ο ΑΦΜ είναι λανθασμένος.

Οι πράξεις είναι οι παρακάτω :
* Το πρώτο ψηφίο πολλαπλασιάζεται με 256, το δεύτερο πολλαπλασιάζεται με 128, (κλπ, τρίτο με 64, τέταρτο με 32, πέμπτο με 16, έκτο με 8, έβδομο με 4, όγδοο με 2).
* Προσθέτουμε τα οκτώ γινόμενα.
* Το άθροισμα που βρήκαμε διαιρείται (ακέραια διαίρεση) με το 11 και βρίσκουμε το υπόλοιπο (που θα είναι ένας αριθμός από 0 μέχρι 10).
* Αν το υπόλοιπο είναι 10, θεωρούμε ότι βρήκαμε 0.
* Το υπόλοιπο συγκρίνεται με το ψηφίο ελέγχου, δηλαδή με το ένατο ψηφίο του ΑΦΜ.

Δίνουμε και ένα (δοκιμασμένο) υποπρόγραμμα σε γλώσσα Microsoft Visual Basic για τον έλεγχο ενός πεδίου Α_Φ_Μ (πεδίο χαρακτήρων, σε μια φόρμα Access), πριν αποθηκεύσουμε το περιεχόμενό του.

Private Sub Α_Φ_Μ_Exit(Cancel As Integer)
' Manolas Emmanuel, 2010
Dim DIG(9) As Integer
Dim DigSum As Integer, phliko As Integer, ypoloipo As Integer
Dim i As Integer, Msg1 As String

Cancel = 0
If IsNull([Α_Φ_Μ].Value) Then
MsgBox "Το αφμ είναι ασυμπλήρωτο!", vbOKOnly, "έλεγχος αφμ"
Cancel = 1
Else
If Mid(Msg1, 1, 1) = "*" Then
MsgBox "Το αφμ αρχίζει από * και δεν γίνεται έλεγχος!", vbOKOnly, "μη ελληνικό αφμ"
Else
Msg1 = [Α_Φ_Μ].Value & "AAAAAAAAA"
Msg1 = Mid(Msg1, 1, 9)
If IsNumeric(Msg1) Then
DIG(1) = 256 * CInt(Mid(Msg1, 1, 1))
DIG(2) = 128 * CInt(Mid(Msg1, 2, 1))
DIG(3) = 64 * CInt(Mid(Msg1, 3, 1))
DIG(4) = 32 * CInt(Mid(Msg1, 4, 1))
DIG(5) = 16 * CInt(Mid(Msg1, 5, 1))
DIG(6) = 8 * CInt(Mid(Msg1, 6, 1))
DIG(7) = 4 * CInt(Mid(Msg1, 7, 1))
DIG(8) = 2 * CInt(Mid(Msg1, 8, 1))
DIG(9) = CInt(Mid(Msg1, 9, 1))
DigSum = 0
For i = 1 To 8
DigSum = DigSum + DIG(i)
Next i
phliko = DigSum \ 11
ypoloipo = DigSum - (phliko * 11)
If ypoloipo = 10 Then
ypoloipo = 0
End If
If ypoloipo <> DIG(9) Then
Msg1 = "Βρήκα checkdigit " & CStr(ypoloipo) & " αλλά το τελευταίο ψηφίο είναι " & CStr(DIG(9))
MsgBox Msg1, vbOKOnly, "έλεγχος αφμ"
Cancel = 1
End If
Else
Msg1 = "Το αφμ δεν φαίνεται σωστό. Ελέγξτε το!"
MsgBox Msg1, vbOKOnly, "έλεγχος αφμ"
End If
End If
End If
End Sub


Ο έλεγχος γίνεται αν το πεδίο έχει περιεχόμενο.
Το περιεχόμενο αναμένεται (για ελληνικό ΑΦΜ) να είναι εννιά ψηφία.
Αν το περιεχόμενο του πεδίου έχει κατά λάθος λιγότερα ψηφία, το πρόγραμμα προσαρτά μηδενικά από δεξιά. (Το ΑΦΜ 000000000 περνάει τον έλεγχο ως νόμιμο, αν όμως έχουμε ορίσει το πεδίο Α_Φ_Μ να παίρνει μοναδικές τιμές μέσα στον πίνακα Εταιρείες, τότε μόνο για μια "εταιρεία" μπορούμε να το χρησιμοποιήσουμε. Προσωρινά, μέχρι να μάθουμε το σωστό).
Για ΑΦΜ άλλης χώρας μπορούμε να βάζουμε μπροστά έναν αστερίσκο [*] για να μην γίνεται ο έλεγχος για ψηφίο ελέγχου.
Αν το ΑΦΜ δεν είναι σωστό, τότε (με την εντολή [Cancel = 1]) δεν επιτρέπεται η καταχώρησή του.


Τα στοιχεία προέρχονται από το άρθρο "Η απόρρητη συνταγή του νέου ΑΦΜ" του Θάνου Τσίρου, που δημοσιεύτηκε στην υποενότητα "Οικονομία" της εφημερίδας "Κυριακάτικη (Ελευθεροτυπία)" σελ.11 την Κυριακή 18/10/1998.

Πέμπτη 2 Δεκεμβρίου 2010

Animation

Είναι ένας καλός δημιουργός Animation (ταινίες με κινούμενα σχέδια) ο Alan Becker.

Αν δεν έχετε δει ποτέ δείγμα της δουλειάς του, σας δίνω τον σύνδεσμο εδώ για να επισκεφθήτε τις σελίδες που ο δημιουργός μάχεται με το δημιούργημά του (Animator vs Animation).
Σήμερα που δίνω τον σύνδεσμο, ανοίγει η προβολή για το [Animator vs Animation: The Movie, part 3], αλλά μπορείτε να βρήτε και τα προηγούμενα (1 και 2) και πολλές άλλες ταινιούλες.

Όσοι έχετε δουλέψει σε PC και έχετε παίξει διάφορα παιγνίδια θα αναγνωρίσετε το περιβάλλον και θα δείτε πώς το έχει μετατρέψει ο δημιουργός. Εγώ το χάρηκα!

Τετάρτη 1 Δεκεμβρίου 2010

Ο κυβερνοπόλεμος έχει ξεκινήσει

Έγραφα πρόσφατα λίγα στοιχεία για κρυπτογράφηση.

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

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

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

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

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

Συμβαίνει όμως κάποιοι με τα γραπτά τους να θίγουν συμφέροντα. Τότε επιστρατεύονται οι χάκερ. (Από το hack=κομματιάζω, κτυπώ). Οι χάκερ κάνουν ηλεκτρονικές επιθέσεις στους υπολογιστές που στηρίζουν τις σελίδες με το ενοχλητικό περιεχόμενο. Με ένα καταιγισμό ερωτημάτων προς τον υπολογιστή βάσης τον γονατίζουν και δεν μπορεί να εξυπηρετήσει πιά (κατάσταση DOS=denial of service=άρνηση εξυπηρέτησης). Υπάρχουν και άλλες μέθοδοι.

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

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

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

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

Και γιατί έβγαλε σήμερα το ένταλμα η ιντερπόλ; Ίσως γιατί πιέστηκε αφού άρχισε από χθες-προχθές η δημοσίευση στο Wikileaks εκατοντάδων χιλιάδων εγγράφων των διπλωματικών υπηρεσιών, τα οποία περιέχουν εξαιρετικά ενδιαφέρουσες λεπτομέρειες για την λεγόμενη [μυστική διπλωματία], και ήδη έχει αναγγελθεί διαρροή εγγράφων που να εκθέτουν τραπεζικούς χειρισμούς ανωτέρου επιπέδου.
Πρέπει να έχει ευθύνη το Wikileaks για τα γραπτά και τις πράξεις άλλων;
Πολύ σημαντικό ερώτημα για το οποίο δεν υπάρχει ακόμη απάντηση.(Πάντως προτιμώ να συλληφθεί και να δικαστεί στο Διεθνές δικαστήριο της Χάγης παρά να βρούνε το πτώμα του σε κάποιο χαντάκι, αν το βρούνε...)

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

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



20101206 : Διαβάστε μια άλλη παρουσίαση εδώ.

20101209 : Διαβάστε πώς είδαν το θέμα οι χάκερ Anonymous εδώ.

20101217 : Στον ιστοχώρο της εφημερίδας "Ελευθεροτυπία" φιλοξενείται ένα αντίγραφο του Wikileaks : http://wikileaks.enet.gr/.
Υπολογίζεται ότι έχουν εγκατασταθεί περισσότερα από 2000 αντίγραφα του Wikileaks σε διάφορους servers παγκοσμίως. Είναι όπως η μυθολογική Ύδρα, της κόβεις ένα κεφάλι και ξεπηδούν δύο κεφάλια στην θέση του ενός.