On documentation…

Γράφει ο Terry Zink*:

“It gets tense when stuff breaks that hasn’t broken in a long time because nobody can remember how to fix it. When you do it once and then leave it, it doesn’t always stick in our memories.”

Είχα την εντύπωση πως σε οργανισμούς που δουλεύουν με παραπάνω από 1,5 Postmaster δεν συμβαίνουν αυτά…


[*] – Ο Terry Zink εργάζεται στο Microsoft Exchange Hosted Services antispam division.

bnx2, Etch and Lenny

[ Update: For lenny RC1 and bnx2 issues read this blog post instead. What follows are my troubles with the beta 1 installer for lenny. ]

Management got us a Dell PowerEdge 1950. It was decided that it would run Debian. I got the Etch businesscard installation CD and booted the machine. The installation progressed, but after the network configuration it could not resolve its name. From the alternative console I found out that the ethernet interface was recognized and setup correctly, but no packets were coming in or going out. What a perfect way to waste the workday: Could it be the cable? Not it was not. Could it be the switch? Nope, the switch was working perfectly. Could it be the (bnx2) driver then?

I booted the machine using the Lenny’s beta 1 businesscard CD. The installation completed in a flash. Then the machine rebooted and …the network interface was not recognized. It turns out that bnx2 is not included in the latest version of the linux kernel that is installed by Lenny (see the Binary Firmware Inventory). So the installer supports the network card, but the installed system does not.

I decided to work with Etch again. I downloaded the full Etch CD-1 and installed the system. Again the network could not be reached, but the installation for a (tasksel) standard system completed successfully. I also installed make, gcc and kernel-package so as to be able to compile a new kernel. Since the problem might be that the driver is loaded as a module, I compiled and installed a kernel with bnx2 included (CONFIG_BNX2=y). Nope that did not work either. bnx2 is the driver for the Broadcom NetXtreme II. Fortunately Broadcom distributes the linux driver sources from their site. I built a new kernel without bnx2 support (CONFIG_BNX2=n) and installed bnx2 as a module from the broadcom sources. Again no luck.

Then it struck me: The Dell PowerEdge 1950 has two network interfaces, marked as Gb #1 and Gb #2. All this time (including the Lenny installation that worked via the network) I was working with network interface Gb #1. I plugged the ethernet cable into interface Gb #2. The network was working perfectly.

@!)#($*%^&?

So, Etch (linux-2.6.18 ) sees NIC Gb #2 as eth0, whereas the Lenny beta1 installer sees NIC Gb #1 as eth0 !

I shut down the machine and went home.

I wanted to cry.

Quotas

Όλα τα χρόνια που κάνω αυτή τη δουλειά ποτέ δεν ήμουν οπαδός των quotas. Το όριο χρήσης ενός πόρου, όσο κι αν προκύπτει από μετρήσεις ή εκτιμήσεις δεν παύει στην πραγματικότητα να είναι αυθαίρετο. Κι ας υπάρχει αντικειμενικός λόγος που το θέτει εν ισχύ κάποιος: Η συνολική προστασία του συστήματος και η εξασφάλιση της συνέχισης της λειτουργίας του. Το όριο είναι αυθαίρετο γιατί υπάρχει πάντα εκείνος ο χρήσης που είναι λίγο πάνω από αυτό και με καλό λόγο.

Αν υποθέσουμε πως κάποιος έχει όριο στο home directory του τα 200MB, όταν αυτά ξεπεραστούν για 10 bytes (ή και λιγότερα ακόμα), πως μπορεί να ξέρει το σύστημα εάν αυτό συμβαίνει επειδή αποθηκεύει ο χρήστης ένα paper σημαντικό για την εργασία του ή ένα MP3; Απάντηση: Το σύστημα δεν μπορεί να ξέρει. Άσε που για το χρήστη το MP3 μπορεί να είναι και ισοδύναμα σημαντικό. Το σύστημα ξέρει μόνο νούμερα. Έχεις μέχρι N-bytes. Στα N+1… tough luck.

Για αυτό ποτέ στις δουλειές μου μέχρι τώρα δεν υλοποίησα ένα τέτοιο σύστημα. Όσο ισχυρά κι αν διατυπώθηκε η απαίτηση. Κι ας είναι οι χρήστες σαν ιδανικά αέρια. Γιατί αυτά τα 10 bytes παραπάνω μπορεί να είναι σημαντικά. Και γιατί για αυτά τα 10bytes (ενώ υπάρχει χώρος) ο χρήστης μπορεί να κάνει κατεργαριές που να προκαλέσουν βλάβη στο σύστημα. Ενώ αυτός το μόνο που θέλει, είναι να κάνει τη δουλειά του. Το έχω δει. Αντίθετα, στα “δικά μου συστήματα” εάν κάποιος έπαιρνε είδηση πως παρόλο που υπάρχουν δεδηλωμένα quota limits, αυτά ήταν μόνο “στα χαρτιά” και εκμεταλλευόταν το γεγονός, μια παράκληση του τύπου “Κάντε ένα clean-up γιατί διαφορετικά θα πρέπει να τα υλοποιήσω για όλους” αρκούσε.

Οι καιροί όμως αλλάζουν. Και μπορεί οι ISPs να μη δίνουν (όλοι) IMAP, αλλά δίνουν webmail access. Το Gmail αλλάζει τον τρόπο με τον οποίο αντιμετωπίζουν οι χρήστες την αλληλογραφία τους, ανεξάρτητα από τον mail provider. Και όλο και πιο πολλοί χρήστες “γλυκαίνονται” και επιλέγουν το “leave messages on server” στον POP3 client τους. Έτσι και το (μαθηματικό) μοντέλο αλλάζει. Ο mail (POP3) server δεν είναι πλέον ο ενδιάμεσος σταθμός. Είναι ο τελικός. Και αυτό τα αλλάζει όλα. Αυτά το +10 bytes γίνονται ξαφνικά πολύ σημαντικά, γιατί η υπέρβασή του ορίου δεν είναι στιγμιαία ή παροδική. Είναι μόνιμη.

Έτσι την προηγούμενη εβδομάδα για πρώτη φορά (ελπίζω και τελευταία) και με βαριά καρδιά, έκανα strong enforcement. Ελπίζω προσωρινά.

Τώρα αν μπορούσα να απαλλαγώ και από τα υπόλοιπα καθήκοντά μου ώστε να γράψω drivers για να παίζει το IMAP toolkit πάνω από κάτι σαν το HDFS…

on consulting

Ήθελα να γράψω για το (ατομικό) consulting από πέρσυ που είδα το “The Soft Stuff is the Hard Stuff: Consulting 101” στο Data Administration Newsletter. Το draft αράχνιασε, αλλά δύο πρόσφατα posts με έκαναν να το “ξεθάψω”.

Είναι ο σύμβουλος παντογνώστης;

“you are expected to have the answer to any question in your area of expertise. I strongly suggest that you actively build a network of people – if necessary in other organizations – who share your technical specialization.”Consulting 101

Θυμάμαι πως ένας προηγούμενος πρόεδρος του ΤΕΕ έλεγε πως “καλός Μηχανικός είναι αυτός που είναι ένα τηλέφωνο μακριά από τη λύση”. Πράγματι όταν είσαι ο “σύμβουλος” υποτίθεται πως τα ξέρεις όλα. Ξέρουμε καλά όμως όλοι πως αυτό δεν είναι η αλήθεια. Και πως πολλές φορές θα υπάρχει εκείνος ο ενοχλητικός τύπος που σκοπό της ζωής του δεν έχει την επιτυχία του έργου, αλλά το να αποδείξει πως ο σύμβουλος είναι άχρηστος- άλλωστε “an expert is someone from out of town”, σωστά; Είναι πάντα ευκταίο λοιπόν να μπορείς να καταφύγεις στη γνώμη ενός συναδέλφου (και ανεξάρτητου παρατηρητή) ο οποίος μπορεί και να έχει συναντήσει το ίδιο πρόβλημα πριν από εσένα.

Οι επαγγελματίες που δεν είναι φίλοι, δεν ανταλλάσουν ιδέες ή πληροφορίες για χρήματα, δεν τις προσφέρουν όμως και τζάμπα: Ωφέλιμο είναι λοιπόν όταν δεν μπορείς / προλαβαίνεις να κάνεις μια δουλειά, αντί να την “κλωτσήσεις” να συστήσεις κάποιον από το “network of people” ως εξίσου ικανό να την αναλάβει. Ο υποψήφιος πελάτης θα ικανοποιηθεί και θα ξαναγυρίσει σε κάποιον από το δίκτυο. Όπως και κάποια στιγμή το “network of people” θα σου στείλει κάποια δουλειά για τους ίδιους ακριβώς λόγους. Θυμάμαι με μεγάλη ικανοποίηση πως κάποτε είχα μια προσφορά εργασίας την οποία δεν αποδέχτηκα. Σύστησα όμως ένα φίλο μου. Στην αρχή υπήρχε κάποιο πρόβλημα αποδοχής γιατί δεν είχε “δυνατό προφίλ”. Αναγκάστηκα να πω κάτι σαν “Αφού θέλεις εμένα, πάρε αυτόν”. Ο φίλος μου έμεινε σε αυτή την εταιρία για 10 χρόνια.

“the blame falls on those who have gone”Consulting 101

Να σηκώσει τώρα το χέρι του όποιος δεν έχει καταφύγει σε αυτή τη δικαιλογία, ή δεν ήταν το πρώτο πράγμα που σκέφτηκε όταν κάτι πήγε στραβά. Όταν είσαι σύμβουλος και κάτι “χτυπήσει” ενώ δεν είσαι εκεί, όλοι θα προσπαθήσουν να το συνδέσουν με τη δουλειά σου (μια και πήρες τα πολλά(;) λεφτά και έφυγες). Δεν είναι δύσκολο να σου βγει το όνομα. Ή δεν έχετε πετύχει ποτέ περιπτώσεις συμβούλων / freelancers για τους οποίους να έχετε ακούσει και καλά και κακά λόγια; Όπως συστήνει και ο Robert Seiner λοιπόν, Follow-Up! Ακόμα κι αν έχει τελειώσει το συμβόλαιό σας, περάστε “για ένα καφέ”. Αν δεν βρείτε προβλήματα που θα έχουν αδίκως (άντε καμιά φορά και δικαίως) το όνομά σας, μπορεί να βρείτε το επόμενο σας project.

Avoid Giving Advice

“What? Surely the role of consultant is inextricably linked with the giving of advice? That may be true, but it’s also true that people enjoy giving advice a lot more than receiving it. Think of an occasion where you’ve been particularly proud of the advice you’ve given. Perhaps you’ve gone home or back to your “home team” and raved about how much you’ve saved the client and justified your role. Now think: Do you really believe that the client is singing the same joyous tune? There are many other ways of helping to get things done other than pontificating. They’re usually more effective.”Consulting 101

Υπάρχει κόσμος που έχει “καεί” από συμβούλους. Και αρνείται να ακούσει τους επόμενους. Άλλωστε οι συμβουλές, ειδικά όταν δεν συνοδεύονται από το βάρος της ευθύνης της απόφασης, είναι εύκολες. Ανακάλυψα σχετικά γρήγορα πως δύο πράγματα μπορούν να αναστρέψουν το κλίμα:

  • – Καταλαβαίνω το πρόβλημά σας. Μου έχει τύχει σε αυτή, αυτή και αυτή την περίπτωση. Τότε το αντιμετωπίσαμε κάνοντας αυτό, αυτό και αυτό. Μπορείτε να ρωτήσετε αυτόν, αυτόν και αυτόν.
  • Φτιάχνοντας prototype που να δείχνει την ισχύ της προτεινόμενης λύσης.

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

Το τζάμπα πέθανε! freeconsulting.jpg
[image source]

Στο “How to Consult and Not Be Paid* ο Gene Woolsey δίνει ένα χρήσιμο μάθημα: Δέχτηκε ένα τηλεφώνημα, του περιγράφηκε ένα πρόβλημα και από τον ενθουσιασμό του επειδή είχε άμεση απάντηση έδωσε μια λύση στον “πελάτη”. Ο “πελάτης” τον ευχαρίστησε και έκλεισε το τηλέφωνο. Ο Gene Woolsey έμεινε με το τηλέφωνο στο χέρι σκεπτόμενος πως δεν είχε προλάβει να συζητήσει την αμοιβή του…

Την πρώτη φορά που έκανα δουλειά freelance, ο πελάτης με ρώτησε:
– Και πόσα θέλεις για όλα αυτά;
– Ε, τριάντα χιλιάδες δραχμές.
– Καλά, πάρε τώρα εκατό (100000) και μόλις τελειώσεις θα πάρεις άλλες τόσες (τις πήρα). Και να ξέρεις πως με τα λεφτά που ζητάς, εάν δεν ήξερα ήδη από τον Ντίνο πως μπορείς να κάνεις τη δουλειά, θα σου έλεγα “γεια χαρά” και θα έπαιρνα άλλον.

Κάπου 10+ χρόνια πριν με ένα φίλο επισκεφτήκαμε μια εταιρία που ήθελε να αυξήσει την τεχνογνωσία της σε συστήματα ασφαλείας. Καθήσαμε, μιλήσαμε, φτιάξαμε ένα πλάνο, κράτησαν τις σημειώσεις τους όσο μιλάγαμε, ρώτησαν την τιμή μας, μας ευχαρίστησαν και αυτό ήταν. Τελικά καταλάβαμε πως ήθελαν να “πουλήσουν” αντίστοιχες υπηρεσίες και δεν ήξεραν να τις τιμολογήσουν (και πως να ήξεραν άλλωστε αφού δεν είχαν την τεχνογνωσία που ισχυρίζονταν;).

Λίγο πιο μετά, όταν ο καθένας και ο σκύλος του ήθελε να έχει portal (και vortal) πέρασα ένα interview από μεγάλη εταιρία. Δεν τα βρήκαμε τελικά στα λεφτά. Ένα μήνα μετά στο mailbox μου ήρθε ερώτημα από ένα εργαζόμενο της ίδιας εταιρίας ρωτώντας εάν θα μπορούσα να δώσω ιδέες για να στήσει ένα από τα υποσυστήματα που υποτίθεται πως θα έστηνα εγώ εάν έπαιρνα τη δουλειά. Εξήγησα ευγενικά γιατί δε θα μπορούσα να βοηθήσω. Νομίζω πως μήνες μετά πλήρωσαν τον Παναγιώτη να τους κάνει τη δουλειά.

Θα περίμενε λοιπόν κανείς να έχω μάθει το μάθημά μου. Κάποτε ένας φίλος μου ζήτησε να μιλήσω με τους IT-δες της εταιρίας που δούλευε. Υποτίθεται πως θα τους έλεγα τη γνώμη μου για το εάν και πως θα μπορούσαν να μειώσουν κόστη σε software licenses υιοθετώντας λύσεις open source. 2 ώρες μετά καταλήξαμε πως δεν θα μπορούσαν άμεσα να γλιτώσουν πολλά. Όσο για το χρόνο μου; Αρκεί να πω πως ο Gene Woolsey απλά δεν πληρώθηκε. Εγώ πλήρωσα και τα ταξί μου.

– Αφού δεν κάνεις πια consulting, γιατί τα γράφεις αυτά;

Για να τα θυμάμαι. Γιατί δεν παντρεύτηκα το Δημόσιο και μπορεί να τα ξανακάνω. Για να θυμάμαι να μην με παρασύρει ο ενθουσιασμός μου, όταν δεν πρόκειται για πρόβλημα δικό μου, φίλου μου ή peer.

Γιατί ο χρόνος είναι πιο ακριβός από το χρήμα.

Μια ιστορία

Steinmetz‘ most gratifying moment may have occurred after his retirement. An emergency brought him back to GE’s Schenectady plant to troubleshoot a malfunctioning generator. For days, the hobbled genius pored over drawings with paper and pencil in hand. Finally, he placed a chalk mark on the side of the generator, instructing the repairmen to cut through the casing and remove a number of turns from the stator. It worked.

When asked to submit an invoice, Steinmetz delivered a slip of paper with nothing on it but the surprisingly large figure of $10,000. The accountants, in shock, said they couldn’t process the paperwork without a more detailed breakdown. Steinmetz then forwarded another note on which was typed:

One chalk mark $1. Knowing where to put it $9,999.

A short time later, Steinmetz received his pay in full.”Chalk one up for math


[*] – Δεν είναι ανάγκη να δώσετε $15 για να διαβάσετε το άρθρο του Woolsey. Εάν παρόλαυτά θέλετε να δώσετε $15, έχουν περισσότερο ενδιαφέρον αυτά που γράφει στο “Working for Free So You Can Work for Money So You Can Work for Free Again“: Έχει νόημα να παρέχεις δωρεάν συμβουλευτικές υπηρεσίες, αρκεί να μπορείς να τις χρησιμοποιήσεις για να διαφημιστείς.

rj45 parenthack

Κανονικά ένα βύσμα rj45 είναι κάπως έτσι:

rj45plug-8p8c.png

Η ύπαρξη της ασφάλειας του βύσματος σε συνδιασμό με ένα μικρό παιδί στο σπίτι μπορεί να οδηγήσει σε μερικά προβλήματα όπως:

  • Να βρεις το laptop στο πάτωμα.
  • Να βρεις την ασφάλεια στο στόμα του παιδιού.

Σπάστε την ασφάλεια. Καλύτερα να βγαίνει το καλώδιο με ευκολία από το switch ή το laptop, παρά να συμβεί κάτι από τα παραπάνω.

rj45.jpg

HostDB: The Best Damn host2DNS/DHCP Script Ever Written

Το είδα σήμερα στο Everything Sysadmin. Θα ήθελα να γράψω περισσότερα για το εργαλείο, αφού το δοκίμαζα πρώτα, αλλά “There’s only 20 people on the mailing list“. Οπότε γράφω το post για να μάθει περισσότερος κόσμος για το εργαλείο. Άλλωστε ο Tom Limoncelli δε γράφει μπούρδες.

* LISA’05 paper: HostDB: The Best Damn host2DNS/DHCP Script Ever Written.
* Download HostDB.

Από ‘βδομάδα θα επανέλθω.