Figlet, a program to make large letters out of ordinary text was featured in Lobsters and it reminded me of cursive, a similar program that we used back when ASCII art was the only decoration one could add to their email signature. And since it seems that cursive is not carried by any Linux distribution, I set out to find the sources. Which I did thanks to FreeBSD.

I downloaded the source and tried to compile it, and it required xstr. Yet another old program! I think the last time one can see it, is OpenBSD-5.5 manual. I mean even the 5.6 changelog writes:

“mkstr was intended for the limited architecture of the PDP 11 family.” Time moves on, memory gets cheaper. There’s no need for mkstr or xstr.

Hacks like xstr and mkstr might be of interest to embedded, or otherwise deprived, systems people as cool hacks and peculiarities, but really no actual need to maintain them.

So I set out to make the cursive source compilable with xstr again (it compiles without it just fine, just type make lcursive instead). And the minimally changed source code, to eradicate compiler warnings, of a program that can happily sign your email since 1985 is now on Github:

  /  `
 /--   ____  o ____  ,
(___, / / (_/_(_) (_/___
           /       /
         -'       '

Shoutouts to my good friend Panagiotis C. who was the person who showed me cursive and figlet some 25 years ago or so.

The methods of system administration

Moses B. popped this in my timeline. Although the piece is about philosophy (of which I know nothing about) I thought I could entertain myself by paraphrasing the key points a bit. I am blatantly plagiarizing:

People like me, who have been trying to do Ops (system administration by a new name) for more than twenty years, do in due course learn, if they’re lucky, how to do what they’ve been trying to do: that is, they do learn how to do Ops. But although I’ve learned how to do Ops, nobody ever told me how do it, and, so far as I would guess, nobody will have told you how to do it, or is likely to tell you how to do it in the future.

So back in the early 90s why was I not taught how to do Ops? In parallelism with the philosophy article, here are some ideas:

  • System administration was free of methods.
  • The methods were kept quiet, perhaps because people thought “the methods of cannot be explicitly taught/said, but have to be shown via example/exemplars.”.
  • “those of us who have learned how to do it struggled so hard to get where we now are that…we think you, too, should suffer,” perhaps because “we’re now selfishly reluctant to give you some of the fruit of our struggle for free”.
  • “the methods of (early to middle) system administration were not unified”.
  • “it is a form of boundary policing. Under such a regime, outsiders are permanently mystified about the rules of the game because they don’t know what move to make to acquire standing”.

Let me see. When I started in this line of work there was no manual other than man and the technical documentation from the vendor (if you were lucky to have access to it).  Humble posts to the USENET groups and to lists like decstation-managers also paid off.

People lead by example. So their accumulated knowledge was not part of the technical documentation (I still find old vendor technical documentation far superior than today’s). Knowledge gained from experience, was passed the same way forward: By experience. “Do that” said the wizard in a stressful situation and afterwards they would share the war story that led to that. You were then supposed to generalize from what you were shown.

But sometimes, being shown was not enough. You had to struggle. Because the wizard as an apprentice was forced to learn how to swim by themselves, they retained the same belief for the next generation, or even for a peer (if you’re an equal, you can do it). The initiation process would require you to struggle, to earn the knowledge, to be able to read the packets in the wire like being the network driver yourself. The wizard was one with the machine, why should you benefit from this and not become one too?

How would you administer your systems? Via, SAM, SMIT, some other curses-based tool, if any, the shell, batch scripts doing rlogin? How? How would you do that in an era when infrastructure as code was not a thing and cfengine was a curiosity? How do you even do that now that you are hit by the paradox of choice? Did you ever hear of a book like this? If you did, did you read it?

Do you remember what a BOFH is? I know, because I was one. Before becoming one, I was told: “I do not understand why you’re asking this: You should either know what to do, and not ask, or you do not know what to do, and do not have to ask because you will not do it”, said the elder, then thought to be wise BOFH.

We are priests. Either you know how to read our hieroglyphs and you’re in, or you’re out. A great sense of empowerment came out of this. We take your crap and place it in production. It breaks. We tell you why and you still do not have a clue. We’ve explained the issue clearly, but not in your language. Your fault.

I will go with the most charitable explanation: We do not know how to pass the craft’s knowledge and everything else is a defense so as not to fall in your eyes.

I’m sorry.

PS: And then, DevOps came along

Μια ιστορία με τον Boole

200 χρόνια σήμερα από την γέννηση του George Boole (σε περίπτωση που δεν καταλάβατε το σημερινό Google Doodle δηλαδή) και θυμήθηκα μια ιστορία:

Κάπου 20 χρόνια πριν εξετάστηκε ένας φίλος μου στην διδακτορική του διατριβή και κάποια στιγμή φτάνει η ώρα των ερωτήσεων. Υπήρχε ένας μέλος ΔΕΠ που ήταν κάπως πιο επιθετικό στις ερωτήσεις (χωρίς να υπάρχει κάποιος ιδιαίτερος λόγος) και κάνει την κλασική ερώτηση:

– Και που μπορεί να είναι χρήσιμα όλα αυτά στον πραγματικό κόσμο;
– Τι να σας πω. Και ο Boole όταν έφτιαξε την Άλγεβρα του, δεν περίμενε να υπάρχουν ηλεκτρονικοί υπολογιστές!
– Τολμάς να συγκρίνεις τον εαυτό σου με τον Boole;

Για όποιον ενδιαφέρεται, An Investigation in the Laws of Thought.

Ηλεκτρονικές εκλογές και ηλικία

49 καθηγητές του ΕΜΠ ισχυρίζονται πως (ανάμεσα σε άλλα) οι ηλεκτρονικές εκλογές εμποδίζουν τα μέλη ΔΕΠ που δεν είναι εξοικειωμένα με την τεχνολογία να ψηφίσουν. Μου θύμισαν δύο παλιές ιστορίες:

Ιστορία 1η:

Ένα βράδυ όταν είχα πρωτοξεκινήσει να δουλεύω στο ΤΕΕ μπήκε στο γραφείο ο τότε πρόεδρος των συνταξιούχων Μηχανικών, ετών 92. Στο χέρι του είχε μια σακούλα με μια κάρτα ήχου και ένα CD και μας είπε:

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

Πως να τα συνδέσω. Όχι αν μπορείτε να μου τα συνδέσετε εσείς.

Ιστορία 2η:

Κάποτε όταν ακόμα δούλευα στο NTUA-NOC, τόλμησα να πω πως αρκετοί Καθηγητές επειδή είναι μεγάλοι σε ηλικία ίσως να έχουν πρόβλημα προσαρμογής στο να δουλεύουν με το Internet (και μέσω web ειδικότερα). Από τις αντιδράσεις (“είπαμε είμαστε γέροι, αλλά όχι κι έτσι” η πιο ήπια, μέχρι να κληθώ σε κάποιο είδος απολογίας η σκληρότερη) θα έλεγε κανείς πως μάλλον προσέβαλλα το σύνολο των μελών ΔΕΠ εκείνης της περιόδου.

Δεν θα έγραφα τις ιστορίες αυτές, εάν τουλάχιστον ένας από τους φερόμενους ως υπογράφοντες αυτό το επιχείρημα δεν ήταν ο ίδιος high tech user που την μόνη φορά που “ζορίστηκε” ήταν όταν του έδωσα να διαβάσει το βιβλίο του sendmail.

IPv6 nostalgia

It is World IPv6 Day today and I’m getting nostalgic. This is how the 6BONE looked in its very last day:

My last 6BONE map
My last 6BONE map

The code that was constructing this diagram was running from July 16, 1998 until June 10, 2006. I had just finished reading “Practical Reusable Unix Software” (which is now available for download) and was trying to do something cool using graphviz. Yep, almost the same time as the Internet Mapping Project began.

I believe the World IPv6 Day is as close a date as we can get to a new Internet Flag Day. This time the switch will not happen in a day but gradually and very (very) slowly. Hopefully in 30 years from today, no IPv4 islands will exist.

The story of Server 54

I’m sure I’ve blogged about this before, but I cannot find it right now. Anyway the following tweet:

Beaker RT @etherealmind: Existential Angst 4 Network Engineers: If a Network Device isn’t Monitored, does it really exist? < Does when it goes down

brought to my attention by @DrInfoSec triggered my memory to recall the story of Server 54. A story that I reproduce here thanks to the Internet Archive:

The University of North Carolina has finally found a network server that, although missing for four years, hasn’t missed a packet in all that time. Try as they might, university administrators couldn’t find the server. Working with Novell Inc. (stock: NOVL), IT workers tracked it down by meticulously following cable until they literally ran into a wall. The server had been mistakenly sealed behind drywall by maintenance workers.

Digging a little bit more, one can find a few more discussions on Server 54.


Αν θυμάμαι καλά ήταν 1997 και έβρεχε. Με τον Ντίνο είχαμε φύγει από το Εργαστήριο και λέγαμε να πάμε καμιά βόλτα:

– Ρε συ μου έχουν πει για ένα μπαρ που το έχει ένας παππούς και παίζει Τζαζ.
– Ξέρεις που είναι;
– Κάπου στο Κολωνάκι
– ΟΚ, θα πάρουμε τους δρόμους με τη σειρά και θα το βρούμε.

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

– Μάγκες, άμα ξαναμπείτε μέσα και δε χαιρετήσετε, δε θα σας σερβίρω.

Σιγά-σιγά φτάσαμε να κλείνουμε το μαγαζί με τον παππού να μας κερνάει τσίπουρα.

Αντίο Κώστα.

HOUMF! Con version 0.0 (mind recompilation)

mind recompilation by skotos

Αντιγράφω από το Internet Archive:

Το HOUMF! Con version 0.0 διεξήχθη το Σάββατο 6 Ιανουαρίου 2001 στο Αμφιθέατρο Πληροφορικής στην Πολυτεχνειούπολη Ζωγράφου (Εθνικό Μετσόβειο Πολυτεχνείο). Υπολογίζεται ότι περίπου 150 άτομα συγκεντρώθηκαν εκεί και εξέφρασαν τη βούλησή τους να δοθεί συνέχεια…

Το HOUMF! Con version 0.0 εστίασε την προσοχή του στη συνάθροιση ανθρώπων με κάτι-παραπάνω-από-απλές γνώσεις πληροφορικής και με ενδιαφέροντα στους τομείς ασφάλειας δικτύων/ υπολογιστών και προχωρημένων τεχνικών προγραμματισμού. Βασικός σκοπός ήταν να γνωριστούμε μεταξύ μας καλύτερα και να θέσουμε τις βάσεις για περαιτέρω συνεννόηση και συνεργασία.

Η συνάθροιση αυτή ήταν κρίσιμης σημασίας, καθώς θα έθετε τις βάσεις για τη διοργάνωση ενός πλήρους Con. Τόσο το μικρό χρονικό διάστημα για τη διοργάνωση όσο και η δύσκολα προβλέψιμη ανταπόκριση που θα είχε, κατέστησε το version 0.0 κάτι σαν demo version, ενδεικτικό για τις μελλοντικές προοπτικές.

Η διοργάνωση του version 0.0 ήταν ιδιαίτερα επίπονη, αλλά και διδακτική, καθώς αποτελεί χρήσιμη εμπειρία και παρακαταθήκη για τη διοργάνωση ενός πλήρους HOUMF! Con.

Οι διοργανωτές (aka HOUMFers – ήταν (με αλφαβητική σειρά): Budha, databus, DiJ, N3tKick3r, night, Prowler, w0lverine. Τη διοργάνωση υποστήριξαν το και το #/dev/urandom.

It was fun after all…

Ticket to the Con