RFC3330 – Special-Use IPv4 Addresses

Χτες η οικογενειακή βόλτα μας έβγαλε και από το Athens Heart. Ήταν αρκετά ευχάριστη η διαπίστωση πως παρέχει wireless access. Δοκιμάζοντάς το, και αφού συμφώνησα με τους όρους χρήσης, παρατήρησα το ακόλουθο redirect:

http://1.1.1.1/agree.cgi

Ένα απλό whois lookup στο ARIN μας δείχνει πως το 1.0.0.0/8 (και άρα και το 1.1.1.1) είναι reserved (και εάν δεν έχει αδυνατίσει η μνήμη μου τα παλιά τα χρόνια ήταν εκχωρημένο στο BBN):

NetRange:   1.0.0.0 - 1.255.255.255 
CIDR:       1.0.0.0/8 
NetName:    RESERVED-9
NetHandle:  NET-1-0-0-0-1
Parent:     
NetType:    IANA Reserved
Comment:    
RegDate:    
Updated:    2002-09-12

Το RFC1918 υπάρχει για κάποιο λόγο. Και ο λόγος αυτός είναι όταν χρειαζόμαστε “πρόχειρες” ή μόνιμες αλλά μη ανακοινώσιμες διευθύνσεις να μη βάζουμε ότι μας φανεί πιο εύκολο, ακόμα κι αν αυτό φαίνεται έτσι στα παραδείγματα στα manuals της cisco. Δεν επιλέγουμε το private address space για να κάνουμε τη δουλειά μας στην τύχη. Μπορεί να δουλεύει τώρα, αλλά αργότερα κάποια στιγμή δεν θα δουλεύει και η επίλυση του προβλήματος θα είναι δυσκολότερη.

Μπορεί να φαίνεται πως γκρινιάζω από τυπολατρεία, αλλά μου έχει τύχει. Κάποτε συνάντησα ένα δίκτυο στο οποίο αυτός που το είχε στήσει είχε ακούσει πως όποια διεύθυνση αρχίζει από 192 είναι διαθέσιμη. Όποιος έχει διαβάσει το RFC1918 ξέρει πως δεν είναι όλες διαθέσιμες για private addressing, αλλά μόνο το 192.168.0.0/16. Και ναι το συγκεκριμένο δίκτυο είχε πρόβλημα πρόσβασης σε άλλο δίκτυο που άρχιζε από 192 και φυσικά δεν μπορούσε να το δει και on top of that ήταν εξαιρετικά δύσκολο να αλλάξουν διεύθυνση σε ορισμένα τμήματα του δικτύου τους.

Για αυτό προσπαθούμε να τα κάνουμε σωστά τα πράγματα από την αρχή!

Και επειδή το RFC1918 δεν περιλαμβάνει όλες δεσμευμένες / ειδικές διευθύνσεις IPv4 αντιγράφω τον πίνακα από το section 3 του RFC3330:

3. Summary Table

   Address Block             Present Use                       Reference
   ---------------------------------------------------------------------
   0.0.0.0/8            "This" Network                 [RFC1700, page 4]
   10.0.0.0/8           Private-Use Networks                   [RFC1918]
   14.0.0.0/8           Public-Data Networks         [RFC1700, page 181]
   24.0.0.0/8           Cable Television Networks                    --
   39.0.0.0/8           Reserved but subject
                           to allocation                       [RFC1797]
   127.0.0.0/8          Loopback                       [RFC1700, page 5]
   128.0.0.0/16         Reserved but subject
                           to allocation                             --
   169.254.0.0/16       Link Local                                   --
   172.16.0.0/12        Private-Use Networks                   [RFC1918]
   191.255.0.0/16       Reserved but subject
                           to allocation                             --
   192.0.0.0/24         Reserved but subject
                           to allocation                             --
   192.0.2.0/24         Test-Net
   192.88.99.0/24       6to4 Relay Anycast                     [RFC3068]
   192.168.0.0/16       Private-Use Networks                   [RFC1918]
   198.18.0.0/15        Network Interconnect
                           Device Benchmark Testing            [RFC2544]
   223.255.255.0/24     Reserved but subject
                           to allocation                             --
   224.0.0.0/4          Multicast                              [RFC3171]
   240.0.0.0/4          Reserved for Future Use        [RFC1700, page 4]

For future reference.

“Ο υπολογιστής μου είναι αργός”

Την επόμενη φορά που θα ακούσω αυτό το παράπονο, η απάντηση στο ερώτημα:

– Και με ποιες εφαρμογές κάνεις τη δουλειά σου;

Η απάντηση απαγορεύεται να είναι της μορφής:

– Για Word, email και Internet

Ο υπολογιστής είναι μια χαρά.

Υ.Γ. Απαραίτητη διευκρίνηση: Το ερέθισμα για αυτό το post είναι πραγματικό. Παρόλο που στα σχόλια αναφέρομαι στο χώρο της δουλειάς μου, το παράδειγμα είναι από άλλο χώρο. Όχι πως δεν έχει εμφανιστεί και στη δουλειά μου n-φορές φυσικά…

PC magazine interview

Πριν από κάμποσο καιρό η Ζαχαρένια μου ζήτησε να κάνουμε μια συνέντευξη για το PC Magazine. 400 λέξεις μαζί με τις ερωτήσεις φαίνονται λίγες, αλλά είναι ωραία άσκηση (να πεις όσα περισσότερα μπορείς σε δοσμένο χώρο) και το real-estate της σελίδας είναι ακριβό.

Η συνέντευξη δημοσιεύτηκε στο τεύχος του Ιανουαρίου 2009. Ευχαριστώ και δημόσια για την πρόσκληση.

on problem solving

– Λογικά συμβαίνει αυτό και δεν παίζει

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

– Μην κάνεις λογικές υποθέσεις!

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

Επειδή ονομάζουμε κάτι λογικό, δεν σημαίνει πως είναι κιόλας!

Αντιγράφω από το “Forensic Engineering Investigation“:

There should be a large foundation of evidence and facts at the bottom. These facts then form the basis for analysis according to proven scientific principles. The facts and analysis, taken together, support a small number of conclusions that form the apex of the pyramid.

Conclusions should be directly based on the facts and analysis, and not on other conclusions or hypotheses. If the facts are arranged logically and systematically, the conclusions should be almost self-evident. Conclusions based on other conclusions or hypotheses, that in turn are only based upon a few selected facts and very generalized principles, are a house of cards. When one point is proven wrong, the logical construct collapses.

Αποφύγετε να χρησιμοποιείτε τη λέξη “λογικά” όταν προσπαθείτε να βρείτε τι συμβαίνει:

– Λογικά συμβαίνει το Α επειδή έχω το Β

Προγραμματίζεται το μυαλό σε λανθασμένη πορεία. Αντί το Β να είναι πιθανό αίτιο, μετατρέπεται σε βεβαιότητα. Και αντί να ψάξει κανείς να βρει όλα τα πιθανά αίτια, προσπαθεί να αποδείξει πως το συγκεκριμένο Β προκαλεί το Α, ακόμα κι αν δεν το προκαλεί.

Update 2009/08/05: Έτυχε να διαβάσω το “Strong Inference” [pdf] το οποίο περιέχει αναφορές και από το “The Method of Multiple Working Hypotheses” του T. C. Chamberlin. Αντιγράφω σχετικά:

Chamberlin says our trouble is that when we make a single hypothesis, we become attached to it.

“The moment one has offered an original explanation for a phenomenon which seems satisfactory, that moment affection for his intellectual child springs into existence and as the explanation grows into a definite theory his parental affections cluster about his offspring and it grows more and more dear to him […] There springs up, also, an unconscious pressing of the theory to make it fit the facts to make them fit the theory.”

To avoid this grave danger, the method of multiple hypotheses is urged. It differs from the simple working hypothesis in that it distributes the effort and divides the affections.

Each hypothesis suggests its own criteria, its own means of proof, its own method of developing the truth, and if a group of hypotheses encompass the subject on all sides, the total outcome of means and of methods is full and rich.

Chamberlin thinks the method “leads to certain distinct habits of mind” and is of prime value in education. When faithfully followed for a sufficient time, it develops a mode of thought of its own kind which may be designated the habit of complex thought.

(previous)

Προς τα Δελτία Ειδήσεων

Ο ANT1 βάζει το Grey’s Anatomy κάθε μέρα στις 23:00. Δε χρειάζεται να κάνετε το ίδιο και εσείς. Σε λίγο θα μας δείξετε και εικόνα live από χειρουργική επέμβαση στον αστυνομικό.

On a side note, ας επαναλάβω λίγο τον εαυτό μου: Η πρόσφατη ενέργεια δείχνει πως οι (τηλε)δημοσιογράφοι συνεχίζουν να είναι φωτεινοί παντογνώστες. Οι ίδιοι άνθρωποι, στα ίδια παράθυρα, σχολιάζουν με την ίδια σιγουριά και authority από την παγκόσμια οικονομική κατάσταση, μέχρι τις ενέργειες, τη διάρθρωση και τη στελέχωση του Επαναστατικού Αγώνα.

Απορώ που τα καλύτερα Πανεπιστήμια του κόσμου δεν τους έχουν καλέσει ακόμα να διδάξουν τους φοιτητές τους.

twitter

Δεν είμαι fan του microblogging. Κυρίως γιατί δίνει την εντύπωση μιας ελεύθερης “χύμα” συζήτησης (που δεν κρατιούνται πρακτικά), ενώ δεν είναι έτσι: 10+ χρόνια με ενοχλούσε που άνθρωποι επέλεγαν να κρατάνε logs από τις συνομιλίες τους στο IRC. Τώρα στο twitter δεν χρειάζεται καν ατομική ενέργεια για αυτό.

Πέφτοντας όμως πάνω σε αυτό το post για το twitter phising, είπα να γραφτώ για να παρακολουθήσω το φαινόμενο “από κοντά”, να δω πως είναι τα direct messages κ.λπ. Και επειδή μπήκα στο τραίνο αργά, τα adamo, postmaster και yiorgos ήταν ήδη πιασμένα, οπότε ξέμεινα από handles! Μια και εδώ και καιρό διατηρώ ένα mirror του HAKMEM στο HAKMEM.net, γεννηθήτω hakmem.

Hello Twitter world!

#define SYSTEM_ADMINISTRATOR

SysAdminDay.comΈχω περιγράψει μια διαδρομή που μπορεί να ακολουθήσει κανείς για να γίνει system administrator. Πολλές φορές όμως είναι πιο εύκολο να εξηγεί κανείς πως μπορεί να γίνει αυτό παρά να εξηγεί τι είναι. Στο Jargon File για παράδειγμα, ο system administrator ορίζεται ως:

admin: /ad·min΄/n.

Short for ‘administrator’; very commonly used in speech or on-line to refer to the systems person in charge on a computer. Common constructions on this include sysadmin and site admin (emphasizing the administrator’s role as a site contact for email and news) or newsadmin (focusing specifically on news). Compare postmaster, sysop, system mangler.

Αυτός ο ορισμός δεν είναι όμως αρκετός για να απαντήσει στον πατέρα μου την ερώτηση:

– Τελικά παιδί μου εσύ τι δουλειά κάνεις;

Για να φτάσει σε αυτή την ερώτηση έχουν προηγηθεί μια σειρά από άλλες. Η σειρά πάει κάπως έτσι:

– Δηλαδή εσύ γράφεις προγράμματα;
– Ναι, αλλά δεν είναι αυτή η δουλειά μου.
– Φτιάχνεις υπολογιστές;
(εννοεί με το κατσαβίδι και όλα)
– Ναι, αλλά δεν είναι αυτή η δουλειά μου.
– Ναι, αλλά τους διορθώνεις.
– Ναι, αλλά δεν είναι η δουλειά μου το service!
– Τελικά παιδί μου εσύ τι δουλειά κάνεις;

Ούτε μπορεί να απαντήσει στη γυναίκα μου την ερώτηση:

– Μα καλά εσύ γιατί δεν μπορείς να έχεις ένα κανονικό ωράριο;

Ούτε φυσικά μπορεί να απαντήσει στην παρατήρηση της ξαδέρφης μου:

– Μα γιατί έχεις το laptop μαζί σου Γιώργο στις διακοπές; Στο Δημόσιο δε δουλεύεις;0

Θα μπορούσα φυσικά να απαντάω “Είμαι πιανίστας σε μπουρδέλο“. Δε βοηθάει όμως.

Ο φίλος μου ο Σ. εξήγησε μια φορά στη γυναίκα μου:

– Πες πως είναι πυροσβέστης και στη βάρδιά του δεν έχει πιάσει καμιά φωτιά. Και μετά τη βάρδια πυροσβέστης είναι, οπότε εάν υπάρχει φωτιά και δεν υπάρχει άλλη βάρδια, αυτός πρέπει να τη σβήσει.

Για να εισπράξει την απάντηση:

– Φίλος του δεν είσαι;

Αφού οι παραπάνω προσπάθειες δεν έφεραν αποτέλεσμα, δοκίμασα να δω το πρόβλημα από μια άλλη γωνία:

Τι είναι σύστημα;

Στο “What is a Systems Approach?” περιέχονται μια σειρά από ορισμοί που απαντάνε στο ερώτημα “Τι είναι Σύστημα;”. Για την περίπτωσή μας ο συνδιασμός των παρακάτω δύο δείχνει αρκετός:

A system is a set of variables sufficiently isolated to stay discussable while we discuss it. — W. Ross Ashby.

και:

A system is a representation of an entity as a complex whole open to feedback from its environment.

Και πράγματι τα συστήματα που διαχειριζόματε (εμείς οι system administrators) έχουν πολλές μεταβλητές (εξαρτήσεις εάν θέλετε) και είναι πολύπλοκες οντότητες που αλληλεπιδρούν με το περιβάλλον στο οποίο εντάσσονται (για οποιοδήποτε ορισμό του περιβάλλοντος, π.χ. εταιρικό περιβάλλον και ανάγκες, το Internet, οι ίδιοι οι χρήστες του συστήματος, κ.ο.κ.).

Ακόμα καλύτερα το ίδιο άρθρο μιλάει για “organized complexity” που είναι το ίδιο με αυτό που γράφει ο Tom Limoncelli στο “Time Management for System Administrators“: “I am a system administrator! I manage chaos for a living!”

Στο ίδιο άρθρο όμως υπάρχει ένα διαμάντι:

The responsibility of the systems engineer was the choice of the “technical path” between theory and application in order to create new services; improve the quality of existing services; or lower their cost.

Με το παραπάνω φαίνεται να συμφωνεί και ο θεωρητικός του επαγγέλματος, ο Mark Burgess ο οποίος στο “Analytical Network and System Administration” γράφει:

System administration is about the design, running and maintenance of human-computer systems. Human-computer systems are ‘communities’ of people and machines that collaborate actively to execute a common task1.
:
System administration is primarily about the technological side of a system: the architecture, construction and optimization of the collaborating parts, but it also occasionally touches on softer factors such as user assistance (help desks), ethical considerations in deploying a system, and the larger implications of its design for others who come into contact with it. System administration deals first and foremost with the system as a whole

Όσο βατοί και βολικοί κι αν φαίνονται οι παραπάνω ορισμοί και περιγραφές, πάσχουν: Είναι απλοί και γίνονται κατανοητοί από ανθρώπους που ήδη ξέρουν τι είναι ένα σύστημα ή τι δουλειά κάνει ένας system administrator, αντιλλαμβάνονται τις απαιτήσεις και την πολυπλοκότητα. Έτσι το ερώτημα παραμένει:

– Εσύ παιδί μου, τι δουλειά κάνεις;

Τελικά ίσως το μόνο που να χρειάζεται είναι κάποιος που πιάνει το χέρι του να κάνει μια παραλλαγή αυτού του διαγράμματος:

small talk with a web designer

Γιατί όπως φαίνεται δεν είμαι ο μόνος που δεν μπορεί να απαντήσει απλά και περιεκτικά το ερώτημα.

#include <std/disclaimer.h>


[0]- Οφείλω να ομολογήσω πως η ξαδέρφη διαθέτει εν αγνοία της διορατικότητα μια και ο system administrator στο Δημόσιο κατατάσσεται διακριτά σε μία από δύο κατηγορίες, αυτή και αυτή.

[1] – Όσοι ασχολείστε με τη θεωρία των MIS καλό είναι να διαβάσετε το βιβλίο του Burgess. Αυτό περιέχει όλη την απαιτούμενη θεωρία για αυτό που θέλετε: να φτιάχνετε δηλαδή συστήματα που να δουλεύουν και να δουλεύουν σωστά και αποδοτικά. Όλα τα άλλα βιβλία (π.χ. Turban) είναι για να περνάτε τα μαθήματα. Είμαι ισοπεδωτικός, αλλά έχω τα χιλιόμετρα για να είμαι.

Returning to my roots

From my /boot/grub/menu.lst:

title        FreeBSD
root        (hd0,2,a)
kernel      /boot/loader

As a side note, if you want to install FreeBSD 7.0-RELEASE on a VirtualBox virtual machine, you have to use the Intel PRO/1000 MT Desktop network card instead of the default one (PCnet-FAST III). VirtualBox’s DHCP server does not seem to cooperate with FreeBSD and PCnet-FAST III.

“Δεν ξέρω”

Δεν είναι κακό να λέει κανείς “Δεν ξέρω πως γίνεται αυτό” ή “Είναι η πρώτη φορά που κάνω μια τέτοια μετάβαση, δεν το έχω ξανακάνει”. Δεν είναι ντροπή. Κακό είναι να μην το ξέρει ο απέναντι. Γιατί έτσι δεν θα είχαμε 4 ώρες downtime αντί για (λιγότερο από) μία, επειδή ο απέναντι υποθέτει πως ξέρεις πολύ καλά τι κάνεις και ψάχνει να βρει το πρόβλημα στη δικιά του υποδομή.