The Tokeneer Project

Fresh from my INBOX:

The National Security Agency has released a case study showing how to cost-effectively develop code with zero defects. If adopted widely, the practices advocated in the case study could help make commercial software programs more reliable and less vulnerable to attack, the researchers of the project conclude.

The case study is the write-up of an NSA-funded project carried out by the U.K.-based Praxis High Integrity Systems and Spre Inc. NSA commissioned the project, which involved writing code for an access control system, to demonstrate high-assurance software engineering.

With NSA’s approval, Praxis has posted the project materials, such as requirements, security target, specifications, designs and proofs.

The code itself, called Tokeneer, has also been made freely available.

More on the Tokeneer project here.

Update: dds offers constructive criticism on the project’s source code after reviewing a single file!

[via Interesting-People]

connecting the dots…

Διαβάζοντας το “Told you so” και το “Connecting the Dots” σκέφτομαι πως όλοι αυτοί που στα δελτία ειδήσεων αναρωτιούνται για το ποιος είναι ο “ιθύνων νους” για το “ιερό real-estate” μπορούν να εφαρμόσουν social network analysis (ξεκινώντας π.χ. από αυτό το βιβλίο) αντί να εκφράζουν εικασίες και να αφήνουν το τοπίο θολό.

Μπα… που τέτοια τύχη.

The “this time is different” syndrome

From Eight hundred years of financial folly:

There is a view today that both countries and creditors have learned from their mistakes. […] the ability of governments and investors to delude themselves, giving rise to periodic bouts of euphoria that usually end in tears, seems to have remained a constant.

On a more positive note, our research at least raises the question of how a country might “graduate” from a history of serial default. Interesting cases include Greece and Spain, countries that appear to have escaped a severe history of serial default not only by reforming institutions, but by benefiting from the anchor of the European Union.

PDF document: This Time is Different: A Panoramic View of Eight Centuries of Financial Crises (local copy).

[via Lispmeister]

Vista: Windows Mail and error 0x800CCC0B

I resolved this the other day together with a user: In Vista when Windows Mail fails to connect to the remote SMTP (outgoing) email server returning error code 0x800CCC0B, the reason is that the remote server requires you to have both SSL and SPA enabled:

  • Account Properties → Servers → Log on using Secure Password Authentication
  • Account Properties → Advanced → Incoming Mail / This server requires a secure connection (SSL)

traceroute

traceroute: Ένα παρεξηγημένο εργαλείο.

Πριν κάτι μέρες έφτασε στο mailbox μου η διαμαρτυρία ενός συνδρομητή (όπου χρειάζεται τα ονόματα έχουν αλλαχτεί):

Για πολλοστή φορά είναι αδύνατη η επικοινωνία της σύνδεσης που έχουμε στο internet μέσω ΤΕΕ με τον server της mitsosworks.

Είναι σίγουρο ότι πάλι υπεύθυνο είναι το ΤΕΕ αφού η mitsosworks μας λέει ότι το πρόβλημα με το ΤΕΕ είναι γνωστό και με άλλους πελάτες και δεν φαίνεται καν επικοινωνία με τον δικό τους server

Τι έχει συμβεί και εξοργίζει τον συνδρομητή; Έχει μια σύνδεση με εμάς και κάνει το web hosting της εταιρίας του στη mitsosworks. Το πρόβλημα; Δεν μπορεί να στείλει email ούτε από εμάς προς εκεί, ούτε από εκεί προς εμάς.

Η γρήγορη διάγνωση της mitsosworks; Το ίδιο πρόβλημα έχουν και άλλοι πελάτες της mitsosworks, ταυτόχρονα δεν έχουν πρόβλημα με κανένα άλλο δίκτυο, άρα είναι πρόβλημα δικό τους.

Oh really?

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

Για να είχε μια δόση σιγουριάς ο ισχυρισμός της mitsosworks, θα έπρεπε η αναμεταξύ μας σύνδεση να είναι κάπως έτσι:

Στην πραγματικότητα η σύνδεση είναι έτσι:

Πολλά πράγματα μπορούν να πάνε στραβά στο σύννεφο του Internet. Αφού λοιπόν o smtp server που παρέχεται στον συνδρομητή από την mitsosworks είναι ο smtp.mitsosworks.biz, ένα

$ traceroute smtp.mitsosworks.biz

αποκαλύπτει την τοπολογία και δείχνει που μπορεί να βρίσκεται το πρόβλημα:

Το βέλος δείχνει που μπορεί να βρίσκεται το πρόβλημα σε μια πρώτη επισκόπηση των αποτελεσμάτων που έβγαζε το traceroute. Τώρα, θα μπορούσαμε να απαντήσουμε και εμείς στον συνδρομητή κάτι της μορφής: “Εντοπίσαμε το πρόβλημα και δεν οφείλεται σε εμάς και το δίκτυό μας. Υπεύθυνοι για το πρόβλημα είναι η εταιρία F.”

Τόσο απλά και λακωνικά θα είχαμε τελειώσει σε ότι μας αφορούσε και για το πρόβλημα του πελάτη και για τη σιγουριά (;) της mitsosworks για το ποιος ευθύνεται.

Θα λυνόταν το πρόβλημα του ανθρώπου; Όχι βέβαια.

Παίρνουμε τηλέφωνο την εταιρία F, που είναι ένας από τους upstream provider μας και βρίσκουμε πως η πραγματική τοπολογία είναι η:

Όπου P ο network provider της mitsosworks. Ακολουθεί απόσπασμα από το email της F σχετικά με το θέμα (τα bold δικά μου):

Σε έλεγχο που έγινε διαπιστώθηκε ότι το xx.yy.0.0/17 ανακοινώνεται μέσω του national bgp, παρόλαυτα επειδή έχει αλλάξει η δρομολόγηση για το δίκτυο αυτό και δεν γίνεται μέσω F αλλά από international δίκτυο, η πρόσβαση από το ΤΕΕ δεν είναι εφικτή.

Στην τηλεφωνική μας ερώτηση “Και γιατί δεν αλλάζετε το national bgp σας τότε;” μας απαντήθηκε “Μα δεν μας έχουν ενημερώσει για την αλλαγή αυτή, είναι πελάτες και δεν μπορούμε εμείς να την κάνουμε αυτοβούλως”. Fair enough.

Και πάλι θα μπορούσαμε να ενημερώσουμε τον συνδρομητή σχετικά, και να σταματήσουμε εδώ. Ήταν δικιά μας ευθύνη; Όχι. Θα λυνόταν το πρόβλημά του; Όχι.

Ρωτάμε λοιπόν την F, “ΟΚ επειδή εμείς θέλουμε να τον βοηθήσουμε τι προτείνετε να κάνουμε;” και η απάντηση ήταν να υλοποιήσουμε μια εξαίρεση. Την υλοποιήσαμε. Η σύνδεση αποκαταστάθηκε. Αποκαταστάθηκε προσωρινά φυσικά γιατί κανείς δεν ξέρει πότε και χωρίς να ενημερώσει κανένα ο P, θα ξανααλλάξει το routing policy.

Και σκέφτομαι τώρα:

  • Ένας άνθρωπος έχει πρόβλημα. Το περιγράφει (καλά / κακά δεν έχει σημασία) στον προμηθευτή της υπηρεσίας του.
  • Ο προμηθευτής για να “κρατήσει” τον πελάτη δεν ψάχνει το ζήτημα, αντίθετα του αναφέρει και άλλα συμπτώματα, τα βαφτίζει ως πρόβλημα και ερεθίζει τον πελάτη.
  • Ο πελάτης στρέφεται εναντίον του άλλου προμηθευτή υπηρεσιών και τον κατηγορεί για ένα πρόβλημα που ποτέ μέχρι εκείνη τη στιγμή δεν ήταν σε γνώση του προμηθευτή #2.
  • Ο προμηθευτής #2 βρίσκει το πρόβλημα, διαπιστώνει πως δεν είναι δικό του και ενημερώνει σχετικά τον πελάτη. Βρίσκεται τώρα σε δίλημα: Να υλοποιήσει μια εξαίρεση “για να κάνει ο άνθρωπος τη δουλειά του”; ή να κάνει το “σωστό” και να μη μπορεί να κάνει ο άνθρωπος τίποτε;

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


ΒΑ-ΡΕ-ΘΗ-ΚΑ

#include <std/disclaimer.h>

Update: So you think you know traceroute?


Future disclaimer: Το domain mitsosworks.biz δεν υπήρχε σε χρήση όταν γραφόταν αυτό το κείμενο

Time management books

Όταν ο (σχολιαστής αυτού του blog) XLA μου δώρισε το “Time Management for System Administrators” λίγο ήξερε πόσο θα επιδεινωνόταν το πρόβλημα διαχείρισης χρόνου που είχα. Άρχισα να το διαβάζω με πολύ ενδιαφέρον και έβλεπα μπροστά μου έναν άνθρωπο που διηγούταν προβλήματα παρόμοια με τα δικά μου και ημίμετρα που και εγώ είχα προσπαθήσει να εφαρμόσω. Πάνω που είχα τελειώσει το 3ο κεφάλαιο, σταμάτησα να το διαβάζω. Τι είχε συμβεί;

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

Το βιβλίο θάφτηκε στη στοίβα και σχεδόν το ξέχασα.

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

Καιρό μετά πέτυχα στο Hacker News μια αναφορά για το “How to do Research at the MIT AI Lab“. Ανάμεσα στα πολλά χρήσιμα και ενδιαφέροντα γράφει:

Read Alan Lakein’s book How to Get Control of Your Time and Your Life, which is recommended even by people who hate self-help books. It has invaluable techniques for getting yourself into productive action.

Το βιβλίο το είχε η βιβλιοθήκη του ΤΕΕ και σκέφτηκα πως αφού δεν τα κατάφερα με το προηγούμενο, ας προσπαθήσω με αυτό. Το βιβλίο διαβάζεται γρήγορα, εύκολα και ευχάριστα (μου πήρε περίπου μία εβδομάδα και σε ώρες που παράλληλα έκανα baby sitting). Εντυπωσιακό για βιβλίο που γράφτηκε το 1973 και όμως περιέχει συμβουλές για το πως να αποφύγει κανείς τόσο το information overload, όσο και το email bankruptcy (snail mail στο βιβλίο, αλλά δεν αλλάζει κάτι).

Από τις πιο καλές συμβουλές του βιβλίου: Πάρε ένα χρονόμετρο κουζίνας (συνήθως μετράνε αντίστροφα μέχρι 60′) και χρησιμοποίησέ το για το χρόνο που αφιερώνεις σε μια εργασία μέσα στο οκτάωρο (ή ως υπενθύμιση για εκείνη την εργασία που πρέπει να ελένξεις πως πάει μετά από 20′).

Δύο μήνες μετά ξαναγύρισα στο κεφάλαιο 3 του Limoncelli. Οι ομοιότητες με το βιβλίο του Lakein είναι πολλές, άλλωστε το γράφει και ο ίδιος πως το έχει διαβάσει. Ο Κύκλος (The Cycle), το σύστημα του Limoncelli για την οργάνωση του χρόνου δεν διαφέρει πολύ από αυτά που προτείνει ο Lakein. Και οι δύο προτείνουν μια ιεράρχιση των δραστηριοτήτων με τις διαβαθμίσεις A, B και C (Α το πιο σημαντικό, C το λιγότερο σημαντικό) και προτείνουν να ασχολείται κανείς πάντα με τα A-items, ακόμα κι αν δεν έχει “παράθυρο χρόνου” που να τα χωράει. Τότε μπορεί να τα σπάει σε μικρότερα τμήματα που μπορούν να χωράνε στα διαθέσιμα time slots.

Με την εξαίρεση του τέλους του κεφαλαίου 13 (Automation), το βιβλίο δεν είναι μόνο για system administrators. Αρκεί άλλωστε να σκεφτεί κανείς το motto του Terrence Parr Why program by hand in five days what you can spend five years of your life automating? για να καταλάβει πως είναι για κάθε πληροφορικό που θέλει να βρει ένα τρόπο να οργανώσει το χρόνο του (επαγγελματικό και προσωπικό) καλύτερα. Και επειδή είναι και νεώτερο από το βιβλίο του Lakein, έχει μια πιο σύγχρονη ματιά (π.χ. έχει ειδικό κεφάλαιο για τη διαχείριση της ηλεκτρονικής αλληλογραφίας).

Από τα καλύτερα σημεία του βιβλίου είναι η σαφής προοτροπή να προστατεύει κανείς εκείνο το 1/3 της ημέρας που δεν είναι work-time ή ύπνος:

The wrong thing is to stay late. Your social life is valuable. You don’t do your employer any favors by ignoring social time and becoming irritable. You work better when you eat right, get plenty of sleep regularly, exercise and participate in nonwork activities.

Οι Έλληνες εργοδότες βέβαια αγνοούν τον Νόμο του Parkinson (“work expands so as to fill the time available for its completion”) και θεωρούν την (απλήρωτη) υπερωρία δεδομένη και υποχρεωτική.

Επανερχόμενος στα βιβλία, μπορώ να παρατηρήσω πως έχουν και τα δύο ένα μόνο μειονέκτημα: Δεν περιέχουν καμία ιδέα / συμβουλή για το πως μπορεί να οργανώσει το χρόνο του κάποιος που έχει μωρά παιδιά (μωρά, όχι μικρά, ο Lakein αφιερώνει μια σελίδα για το πως μπορείς “κλέψεις” 30 λεπτά από ένα τετράχρονο).

Bottom line: Το βιβλίο του Lakein είναι πολύ καλό. Εάν όμως η σχέση σας με τους υπολογιστές είναι επαγγελματική, τότε το βιβλίο του Limoncelli είναι σαφώς πιο χρήσιμο, πιο σύγχρονο, έχει δικό του wiki site και mailing list (TM4SA-fans).