MKD

Κορυφαία κίνηση! Όταν δεν βλέπω κάτι δεν υπάρχει (έρχονται και εκλογές).

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

Update: Και τώρα διαβάστε “Το Μακεδονικό στον Κυβερνοχώρο” (Thanks @stazybohorn for reminding this).

“You’re into computers, right?”

– You’re into computers, right?
– Right.
– I’ve got this page on Facebook and this guy that I had as a friend, but now I do not and …

First when someone was “into computers” people thought that meant free porn downloads. Then they thought it meant free Microsoft Word support (as I was told once What the hell did you spend 5 years for in the University and you do not know Word?) and now it means Facebook support.

In between it has always meant free support anytime, anyplace for everyone and for every crappy piece of software ever imagined.

I guess next time I will not be into computers.

Moleskine

Έχω γράψει παλιότερα πως μετά από μια σειρά από PDAs και SmartPhones, γύρισα σε ένα Moleskine notebook. Από τότε και για πρακτικούς λόγους το αντικατέστησα με ένα Filofax Personal. Για περιπτώσεις όμως που χρειάζομαι εκτεταμένες σημειώσεις, κείμενα που δε γράφω σε υπολογιστή (οτιδήποτε προκαλεί αυτό το “On Paper” feeling) χρησιμοποιώ πάλι Moleskine (όχι τα μικρά σημειωματάρια, αλλά τα μεγάλα squared τετράδια). Έτσι δεν είναι απορίας άξιο που έσκασα στα γέλια διαβάζοντας στο StuffWhitePeopleLike:

“Well, if a white person has a great idea, they write it by hand, if they have a good idea, it goes into the computer.”

Seven Principles of Software Testing

Bertrand Meyer (of Eiffel fame) writes about the “Seven Principles of Software Testing“:

  • Principle 1: Definition To test a program is to try to make it fail.
  • Principle 2: Tests versus specs Tests are no substitute for specifications.
  • Principle 3: Regression testing Any failed execution must yield a test case, to remain a permanent part of the project’s test suite.
  • Principle 4: Applying oracles Determining success or failure of tests must be an automatic process.
  • Principle 4 (variant): Contracts as oracles Oracles should be part of the program text, as contracts. Determining test success or failure should be an automatic process consisting of monitoring contract satisfaction during execution.
  • Principle 5: Manual and automatic test cases An effective testing process must include both manually and automatically produced test cases.
  • Principle 6: Empirical assessment of testing strategies Evaluate any testing strategy, however attractive in principle, through objective assessment using explicit criteria in a reproducible testing process.
  • Principle 7: Assessment criteria A testing strategy’s most important property is the number of faults it uncovers as a function of time.

Switching context to the subject of testing (computer) systems in a broader sense, I am reminded of a presentation at a workshop that I attended a few months ago (it was more of a penetration testing presentation):

Here is how you learn more things about your system:

  • You can have a committee study your system and plan testing; they will get back to you in 30 years.
  • You can plan, execute exercises and evaluate results for two years prior to putting it to production.
  • Or you can have a real life crisis and learn everything you need in two hours.

That is why you need to launch test events to the largest userbase possible.

Oh well, as Peter Viscarola pontificated from the NT Insider, people “just write some code“. Which leads to:

  • The ultimate (and sometimes only) test is final deployment.

Sigh…

Update: One year after the “Seven Principles of Software Testing”, Meyer blogged “What is the purpose of testing?

Σημειώσεις BIND

(λίγο σκόρπιες)

Κάποιος έφτασε εδώ πέρα ψάχνοντας για “σημειώσεις bind”*. Είχα γράψει παλιότερα ένα post με θέμα DNS resources και σκέφτηκα να το κάνω λίγο καλύτερο:

Το καλύτερο πράγμα που έχει να κάνει κάποιος είναι να αγοράσει το βιβλίο των Albitz και Liu, δηλαδή το “DNS and BIND“. Υπάρχει και έκδοση για Windows. Αλλά ακόμα και εάν δεν θέλει να δώσει τα $35 που κοστίζει το PDF, υπάρχει τρόπος, λίγο πιο δύσκολος ίσως, αλλά γίνεται και έτσι. Θα προσπαθήσω να γράψω δώσω τα κείμενα με την ιστορική σειρά που τα συνάντησα:

[ BIND == Berkeley Internet Name Domain ]

Κοιτώντας στο παρελθόν του BIND, θα δει κανείς πως υπάρχουν τρία κύρια software branch: Η έκδοση 4, η έκδοση 8 και η έκδοση 9 (Ετοιμάζεται και τέταρτος κλάδος: BIND10). Τον καιρό εκείνο που υπήρχε μόνο η έκδοση 4 και πριν την έκδοση του βιβλίου του O’Reilly, το βασικό ανάγνωσμα ήταν το Bind Operator’s Guide, ευρύτερα γνωστό και ως BOG. Τα παλιά εκείνα χρόνια το BOG ήταν κομάτι του 4.4BSD documentation.

Δύο newsgroups:

Το DNS Resources Directory (DNSRD) του András Salamon.

Το paper του Steve BellovinUsing the Domain Name System for System Break-ins“. Αρχικά ήταν διαθέσιμο μόνο σε οσους είχαν τυπωμένα proceedings του USENIX. Τον παρακάλεσα και μου το έστειλε (Σημ. Αυτό το paper είναι η αιτία που έγινα μέλος του USENIX). Στο ίδιο συνέδριο υπήρχε και το “DNS and BIND security issues” του Paul Vixie.

Για όσους θυμούνται το COAST Archive, άλλα δύο paper: “Countering Abuse of Name-Based Authentication” και “Addressing Weaknesses in the Domain Name System Protocol“.

Το Ask Mr. DNS από την Acme Byte & Wire (που αγοράστηκε από τη Verisign). Τώρα, μετά από χρόνια σιγής, έχει γίνει το The Ask Mr. DNS Podcast. Μπορείτε πάντα να τον ρωτάτε στο mrdns@ask-mrdns.com.

Το survey από την Men & Mice. Δεν το βρίσκω τώρα, αλλά έχουν εξαιρετικό knowledgehub.

Μετά εμφανίστηκε η version 8. Για όσους ενδιαφέρονται να μάθουν γιατί από τη version 4 πήγε στην 8, αυτό έχει να κάνει με μια απόφαση για την αρίθμηση όλου του software που συμπεριαλλαμβανόταν στο 4.4BSD. Για τον ίδιο λόγο και το sendmail όταν ο Eric Allman ξανάρχισε να ασχολείται μαζί του πήγε από τη version 5 στη version 8.

Το “Deploying DNS and Sendmail” [pdf] του Hal Pomeranz.

Η σελίδα DNS for Rocket Scientists του Ron Aitchison που συμπηρώνει άριστα το DNSRD.

Το αντίστοιχο του BOG για το BIND9, “BIND9 Administrator Reference Manual” [pdf για την έκδοση 9.6]

Τα RFCs:

Και τέλος το FAQ.

(Και δεν έχω γράψει τίποτε για DNSSEC ή IPv6)

Συμπέρασμα; Αγοράστε το βιβλίο (Εναλλακτικά: “Pro DNS and BIND“).


[*] – Για μια σύντομη ιστορία του BIND: History of BIND software development.

Στο δρόμο που χάραξε ο Βουλευτής κ. Καράογλου

Όταν οι φερόμενοι ηγέτες(;) της κοινωνίας μας προβαίνουν ατιμώρητα σε παράνομες πράξεις καλυπτόμενοι από την ασυλία και από αστείες δικαιολογίες λέγοντας:

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

γιατί να περιμένουμε κάτι διαφορετικό από τους απλούς (μη φέροντες “ηγετική” ιδιότητα) οπαδούς των ομάδων; Φαντάζομαι ούτε του οπαδού του Ηρακλή είναι του χαρακτήρα του να χτυπάει τον τερματοφύλακα της αντίπαλης ομάδας. Με την κόρη του είχε πάει στο γήπεδο ο άνθρωπος.

Λευτεριά στον οπαδό του Ηρακλή τώρα! Όχι γιατί δεν έκανε λάθος, αλλά γιατί το έκανε χωρίς να είναι βουλευτής.

Users circumvent control

People don’t want to be disciplined and structured when writing programs. They are ingenious in finding ways to circumvent any kind of externally imposed control.”*

While the above quote was written for people who were writing macros in spreadsheets instead of writing code, the highlighted part of the quote can equally be applied to any userbase that is required to follow a security policy. Because first and foremost users want to get their job done (even if they believe that part of their job is playing Solitaire).


[*] – When is a picture a program?

[†] – And one could add that this article predicts the emergence of the species of key punchers who thought they were programmers because they wrote lines in Visual Basic. For the article continues: “No sooner had we invented structured programming and software engineering than someone countered with the invention of spreadsheets. Spreadsheet users were not programmers, and what these users were doing was not programming. So naturally the rules didn’t apply to them- right?”