so long, and thanks for all the fish!

Two days ago Mark Crispin wrote in imap-protocol:

I was laid off today. Unfortunately, I didn’t get a change to push imap-2007b out the door in release status, but the development tarball there is pretty close to my final bits.

If you have support requests for UW imapd, please send them to the Alpine development team at UW, alpine-contact at u.washington.edu.

It has been a privilege to work with all of you for the past 20 years.

— Mark —

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.

Why on earth would anyone want to lay off Mark Crispin, is a mystery to me. As a long time user of the UW-IMAP toolkit I want to thank MRC for his work and software, which solved many of my problems and preserved much of my time.

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 ευρώ.

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…

re: Τα “παιδία” παίζει

  • Γιατί κλαις;

    Που χωρίσαμε εσύ για όλα φταις
    Φταις!
    Που οι πληγές μου είν’ ακόμα ανοιχτές
    Φταις!
    Που όσα ζήσαμε σε μια στιγμή τα καις
    Γιατί κλαις;

    (Στ. Γονίδης)

  • Γιατί δεν κλαις;

    Δε χρειάζεται

  • Πού είναι ο βάλτος;

    Παρέα με τα μυστικά του

  • Ποιος και πού είναι ο δεσμοφύλακας;

    Ανάμεσα στα αυτιά σου

  • Πού συναντάς μια εντελώς δική σου άβυσσο;

    Στο ΤΣΜΕΔΕ

  • Περιφρονείς κάτι;

    Όχι

  • Θα ερωτευόσουν για πάντα;

    Έχεις δει ελέφαντα να κρύβεται πίσω από παπαρούνα;

  • Γιατί πουλιούνται τα «έργα τέχνης»;

    Δεν πουλιούνται τα έργα. Διακινούνται τα υλικά

  • Μήπως να αφαιρεθούν τα εισαγωγικά από την προηγούμενη ερώτηση;

    Τι αλλάζει;

  • Do you remember revolution?

    Ναι

  • Θα ανέβαινες ένα βουνό αν το επέβαλε το ωροσκόπιό σου;

    Δεν διαβάζω ωροσκόπια

  • Θα σκότωνες τον παππού σου, αν το τζάμι δεν έσπαγε απ’ τον πάγο;

    :() { : | : & } ; :

  • Θα μπορούσες να κλείσεις τα μάτια σου, αν η ζωή σου έστηνε καρτέρι;

    – What are you smoking man?
    – I am not smoking man; I am breathing man

    (Cool runnings)

  • Θα κυλούσε η πέτρα του θανάτου το πρωί, αν δεν κινδυνεύατε να τιμωρηθείτε απ΄το νόμο;

    Όχι

  • Θα εξετάζατε το ενδεχόμενο να διανύσετε μετά τα μεσάνυχτα απ΄την αρχή μέχρι το τέλος την οδό Αχαρνών, αν γνωρίζατε ότι ποτέ δεν πρόκειται να σας συλλάβουν;

    Γιατί, τώρα πρόκειται;

  • Θα σκότωνες τον Μπους αν σου χάριζαν δέκα λαχταριστά εκλέρ;

    Η αφαίρεση ανθρώπινης ζωής δεν τιμάει κανένα

  • Θα μου έδειχνες τα σαπισμένα σου δόντια αν έβλεπες μέσα τους τ΄αστέρια;

    Δεν μπορώ να δω τα δόντια μου. Μόνο να τα δείξω μπορώ.

  • Θα έπεφτες στο πηγάδι αν ήσουν θλιμμένος;

    Το πηγάδι είναι ξερό

Κουμπάρε το παιχνίδι δε μου αρέσει. Απαντάω γιατί με κάλεσες, αλλά δεν το περνάω παραπέρα.

(In-Reply-To:)

re: The Desktop Out

Συνεπής ως προς τις απαιτήσεις της πάσας του Απόστολου, το desktop μου αυτή τη στιγμή είναι:

desktop.jpg

(Εάν δούλευα σε κάποιο από τα άλλα μηχανήματα, τότε η εικόνα θα ήταν το default desktop του Ubuntu 6.06 με 4 workspaces ή του fvwm σε OpenBSD 4.2 με xsetroot -solid black .)

Το ενδιαφέρον με αυτή την πάσα είναι πως την πήρα είδηση λίγες ώρες αφότου είχα διαβάσει αυτό: Creating a minimalist workspace. OK, δεν είναι το ίδιο μια και επεκτείνεται και “έξω” από το desktop στο …desktop, αλλά το tip #5 γράφει:

Clear your computer desktop. Many people also have tons of icons on their computer desktop. It’s the same principle as a real desktop — clear it of everything unnecessary, so you can have a nice simple workspace. Keeping icons on your desktop is usually inefficient. It’s hard to find them among a jumble of files. If they’re necessary to open many times a day, file them away and use a hotkey to call them up. Quicksilver for Mac or Autohotkey for Windows are my favorite programs for this.”

Α ναι, να δώσω πάσες. Για να δούμε, ο mpampakis μας έχει δείξει, οπότε ας μας δείξουν από μια εικόνα οι SotirakiS και Vaggelis. Έχω μια περιέργεια και για το desktop του dds.

(In-Reply-To:)

re: Ax και να μπορούσα….

Η foteinoula πασάρει: “σας προσκαλώ να γράψετε τα διάφορα τρελά ή χαζά που θα θέλατε να κάνετε και δεν μπορείτε ή προσπαθείτε, ή πράγματα που κάνετε λάθος και γκάφες και άλλα τέτοια”.

Πράγματα που κάνω λάθος λοιπόν:

  • Θα ήθελα να πάψω να κάνω συνεχόμενα format στα μηχανήματά μου, για …ψύλλου πήδημα. Πολύς χαμένος χρόνος.
  • Θα ήθελα να κάνω λιγότερο δομημένο κωλοβάρεμα.

Πάσα τώρα στους past, chstath και Unique Fish που έχουν να γράψουν για πολύ καιρό.

(In-Reply-To:)

Μανιφέστα, Internet control κ.λπ.

Διαβάζοντας το Algorithms, Games and the Internet0, εύκολα στέκεται κανείς σε δύο σημεία:

“The Internet is unique among all computer systems in that it is built, operated, and used by a multitude of diverse economic interests, in varying relationships of collaboration and competition with each other.”

και το footnote #4:

We reject: kings, presidents and voting.
We believe in rough consensus and running code.
1

Δε χρειάζονται περισσότερα λόγια.
[0] – Thank you YC!

[1] – Η φράση αυτή ανήκει στον David Clark.

$#discard and ruleset 0

Note to self: The Sendmail Installation and Operation Guide (at least version 1.25 of doc/op.ps) clearly states:

“The mailer with the special name “discard” causes any mail sent to it to be discarded but otherwise treated as though it were successfully delivered. This mailer cannot be used in ruleset 0, only in the various address checking rulesets.”

So, instead of writing something like this:

LOCAL_RULE_0
R$={NIL}  < @ $=w . > $*        $#discard $: $1

you need to write something like this:

LOCAL_RULE_0
R$={NIL}  < @ $=w . > $*        $#local $: bit-bucket

otherwise you get beaten by “buildaddr: unknown mailer discard” errors, even though $#discard is very well known (to you; not to ruleset 0).

The above example assumes that $={NIL} is a class that contains usernames for which we do not want to accept any email and bit-bucket is an entry in /etc/mail/aliases:

bit-bucket: /dev/null

Yes, it is possible to achieve the same thing using FEATURE(`virtusertable’), but you can use this hack as a guide when you have more complex situations, where you may need to decide programmagically on whether to discard the email or not.