spare parts (a Faber-Castell story)

“Why is it that every time I struggle with a tough problem, I turn away from my sophisticated software tools and grab a plain sheet of paper?” –dds, On Paper.

Μου αρέσει να γράφω σε χαρτί. Με μολύβι. Θα μπορούσε να πει κανείς πως έχω μια mini συλλογή κιόλας: H γυναίκα μου μου έκανε δώρο ένα “Trio metal multifunction pen“, ενώ ο κουμπάρος μου μου “κόλλησε” το “Castell perfect pencil“. Δυστυχώς σε ένα ταξίδι στην Εσθονία έχασα το καπάκι του “Trio metal”. Προσπάθησα να βρω ανταλλακτικό. Μετά από τρία καταστήματα, τηλεφωνήματα και μερικές μέρες αναμονής ήρθε ή απάντηση:

“Πρέπει να το δώσουμε στην αντιπροσωπεία, να το στείλει στη Γερμανία ως χαλασμένο και να περιμένουμε ένα μήνα για επισκευή ή αντικατάσταση!”

Μα να σταλεί στη Γερμανία για ένα καπάκι; Και τη στιγμή μάλλιστα που στις ΗΠΑ η αντίστοιχη αντιπροσωπεία το πουλάει online για $6 και το στέλνει ταχυδρομικά; Δυστυχώς όχι εκτός ΗΠΑ.

Ευτυχώς που υπάρχουν και οι φίλοι και μπορούν και μας εξυπηρετούν. Μάνο ευχαριστώ!

__
Ο Vaggelis για τα μηχανικά μολύβια: Engineering των 2 ευρώ.

6289

Τόσα email μόλις διάβασα / απάντησα / έσβησα.

2310 περιμένουν. Όχι δεν θα κυρήξω χρεοκοπία:

email bankruptcy n.
Choosing to delete, archive, or ignore a very large number of email messages without ever reading them, replying to each with a unique response, or otherwise acting individually on them.

11/12

Τι μου μένει από τη φετινή σεζόν; Δύο νίκες και μια ήττα. Sorry, τρεις νίκες. Α και το ότι είδα το Ολυμπιακός – Τσέλσι από τo stream της Nova στο Internet για € 5 (ή κάπου τόσο).

Τίποτα από αυτά όμως δεν έχει να κάνει με το φετινό πρωτάθλημα :(

Για του χρόνου περιμένω: καλύτερη “Αθλητική Κυριακή”, λιγότερο Πέτρο Μίχο, να έχω χρόνο για να αγοράσω “διαρκείας” και να αρχίζει η αθλητική εκπομπή της ΕΤ3 νωρίτερα.
__
Σχετικό post: 10/11

Introduction to Queueing Theory

Μια και το έφερε η κουβέντα, να ένα βιβλίο για ουρές, διαθέσιμο online:

Μπορεί να είναι πολλές οι σελίδες, αλλά δεν παύει να είναι χρήσιμο reference. Το προηγούμενο εξάμηνο έκανα την “επανάλληψή” μου διαβάζοντας τα κεφάλαια 2 και 5 του “Telecommunication Networks: Protocols, Modeling and Analysis” του Mischa Schwartz και μόλις πριν λίγο καιρό έπεσα πάνω σε αυτές τις 30 σελίδες γραμμένες από τον Stallings.

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…

CV UPDATE

Την προηγούμενη εβδομάδα δέχτηκα αυτό το email:

Κύριε Αδαμοπούλε

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

Για οποιοδήποτε πληροφορία χρειαστείτε τα τηλέφωνα της εταιρίας μας είναι: 210xxxxxx5-6.

Με ιδιαίτερη εκτίμηση

Ξxxxxxxxxxx Μxxxx-Ιxxxxx

H.R. Administration

Το email είχε Subject: CV UPDATE. Αρχικά το θεώρησα spam και κανονικά θα το έσβηνα. Αλλά “I read my spam and headers”. Απάντησα:

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

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

  1. Έρχεται από μία εταιρία που δηλώνει την ιδιότητά της, αλλά όχι το όνομά της. Θα έπρεπε να το μαντέψω από το right-hand-side του email της κυρίας που επικοινώνησε μαζί μου.
  2. Δεν είναι αυτονόητο πως οποιοσδήποτε μπορεί να θυμάται όλους τους ανθρώπους με τους οποίους έχει συναντηθεί. Ένα “είχαμε συναντηθεί παλαιότερα εκεί θα ήταν ευγενικότερο. Έτσι σκέτο όπως είναι τώρα, μπορώ να υποθέσω πως δεν έχουμε συναντηθεί ποτέ και απλά γράφεται για να διευκολυνθεί η προσέγγιση.
  3. Μου ζητείται το ανανεωμένο βιογραφικό* μου (που σημαίνει πως υπάρχει και κάποιο παλαιότερο; ) για να καταχωρηθεί στη βάση δεδομένων μιας εταιρίας συμβούλων. Και που ξέρω εγώ που θα φτάσει και εάν δε βρεθεί και σε ομάδα έργου διαγωνισμών; Και στο κάτω-κάτω όταν μια εταιρία συμβούλων ζητάει το βιογραφικό κάποιου για να το εντάξει στη βάση της, άρα και προς χρήση και επ’ωφελεία της, που είναι η ωφέλεια για τον κάτοχο του βιογραφικού;
  4. Δεν δίνεται ένα ενδεικτικό format για το ζητούμενο βιογραφικό.
  5. Δεν είναι πουθενά φανερή η μορφή της προτεινόμενης συνεργασίας.

Οι “παλιοί” Μηχανικοί έχουν δείξει το δρόμο: Εάν θέλετε (να νοικιάσετε) τη σφραγίδα, θα την πληρώσετε. Και εν τέλει, εάν το βιογραφικό κάποιου σας είναι χρήσιμο, το πόσο χρήσιμο σας είναι φαίνεται από τα Ευρώ που θα δαπανήσετε για να συνεργαστείτε με αυτόν.


[*] – Άσε που το να βρει κανείς το βιογραφικό μου είναι από τα πιο εύκολα πράγματα online.

Βάζω πλάτη, βγαίνει η δουλειά…

Γράφει ο Raghavendra Rao Loka:

“In my experience, a project eventually completes, but rarely as planned. Occasionally, a brilliant or dedicated software engineer comes along, accidentally recruited or dissatisfied with the project’s general progress, and completes it. In most cases, management takes credit for the fortuitous accident and reaps the rewards.”

Έλα ρε! Γίνονται τέτοια πράγματα;

[via Software Development: What Is the Problem?]