Μια παρέα παιδικών φίλων πίνει καφέ:
– Που είναι ο Σ. σήμερα;
– Δε θα έρθει. Έχει κολλήσει με ένα παζλ.
– Παζλ; Τι παζλ είναι αυτό;
– Το λένε Eternity. Eternity II για την ακρίβεια.
Σειρά μου…
Μια παρέα παιδικών φίλων πίνει καφέ:
– Που είναι ο Σ. σήμερα;
– Δε θα έρθει. Έχει κολλήσει με ένα παζλ.
– Παζλ; Τι παζλ είναι αυτό;
– Το λένε Eternity. Eternity II για την ακρίβεια.
Σειρά μου…
Respect sir Takis.
tl;dr Finally the format of the Thread-Index: header is documented!
Recently I was in a situation where I had to reconstruct a thread of email messages using the Thread-Index: header which is used by Microsoft’s products, instead of the standard way of threading using Message-Id:, References: and In-Reply-To:
The truth is that I was really frustrated, thinking that Microsoft was breaking the standards using custom headers that do not begin with X- but as Dan Bernstein points out:
“822 promised that the IETF would never define field names beginning with X-. It did not prohibit use of non-X names by other organizations.”
Which means that Microsoft is allowed to add Thread-Index: (and Thread-Topic:) without breaking any standards. On the other hand Microsoft does not document anywhere (at least anywhere I looked and I looked plenty) how Thread-Index: is calculated and how it can be decoded to be made useful by any other application, any other than Outlook that is.
After some experimenting and a little bit of reverse engineering I’ve reached to the following results:
Thread-Index: AcdyY+a08VX8xfobTsy61v9NHPZ7QA==
and the next in thread:
Thread-Index: AcdyY+a08VX8xfobTsy61v9NHPZ7QAAAiXbA
while a third one:
Thread-Index: AcdyY+a08VX8xfobTsy61v9NHPZ7QAAAiXbAAAXP5fw=
and a fourth one:
Thread-Index: AcdyY+a08VX8xfobTsy61v9NHPZ7QAAAiXbAAAXP5fwAABGXGw==
the pattern that decides the threading seems obvious; I have not yet found out what the single or double equal sign suffix means.
If only Microsoft could make such simple information available! Think of all the lost work hours! Only after I had resolved my problem did I find out about these guys, who had arrived on similar conclusions about the usage of Thread-Index:
Update #1: You may be interested to read the next episode.
Update #2: Yes, I keep refusing the BASE64 explanation. This is because what the BASE64 value decodes to is something either meaningless, or without known semantics.
Update #3: From the GNOME documentation: The value is apparently unique but has no meaning we know of. That is why I refuse the BASE64 explanation. It looks like a BASE64 string and it can get decoded into a string of bytes that one can represent as a number. But the questions remain unanswered: How is the first 27-byte long value chosen? Why every “next” value in a thread 5 bytes longer than the previous one? How are these 5 bytes chosen? The decoded value of an undocumented BASE64 string remains undocumented, hence it may not even be a BASE64 string at all (and may only coincidentally look like one).
The example Thread-Index: headers are taken from the MediaDefender Defenders site
Στο ert-archives.gr διαβάζουμε στο καλωσόρισμα του κου. Χρήστου Παναγόπουλου, προέδρου της ΕΡΤ Α.Ε:
“Είναι ένα έργο διαχρονικό που «παντρεύει» τα παραδοσιακά μέσα με τις νέες τεχνολογίες. Είναι ταυτόχρονα μία σύγχρονη ηλεκτρονική οπτικοακουστική βιβλιοθήκη με πολύτιμες πληροφορίες για το σύνολο των έργων που παρουσιάζει.
Η αξία του έργου είναι ανεκτίμητη. Αρκεί να αναλογιστεί κανείς ότι το αρχείο περιέχει μεγάλο μέρος της πολιτικής, κοινωνικής, οικονομικής και πολιτιστικής παράδοσης της χώρας μας τις τελευταίες τέσσερις δεκαετίες. Αυτή την παράδοση έχουμε υποχρέωση να τη διασώσουμε και να τη μεταφέρουμε αναλλοίωτη και στις επόμενες γενιές.
Σήμερα, αγαπημένες σειρές που άφησαν εποχή, ντοκιμαντέρ, μουσικές και παιδικές εκπομπές, εκπομπές για το θέατρο, τις τέχνες, τον αθλητισμό και την ενημέρωση είναι πλέον στη διάθεση του κοινού.”
Στα Τεχνικά Θέματα του site διαβάζουμε:
“Ο δικτυακός μας τόπος έχει σχεδιαστεί ώστε να λειτουργεί για τα λειτουργικά συστήματα Microsoft Windows και Αpple Mac OSX.
Δεν υποστηρίζονται λειτουργικά συστήματα Linux/Unix.“
Φαίνεται ο κ. Πρόεδρος (και οι περί αυτόν) δεν έχει καταλάβει πως διαθεσιμότητα στο κοινό αυτού του υλικού, σημαίνει διαθεσιμότητα με τον ευρύτερο δυνατό τρόπο.
Κάποιος που 10 χρόνια πριν βοήθησε λίγο για να γίνει το ert.ntua.gr*.
[via open-source]
Update: Μια πολύ καλή ανάλυση για το περιεχόμενο του site και το υποστηριζόμενο format για το υλικό που είναι διαθέσιμο στους πολίτες μπορείτε να διαβάσετε στο blog.cosmix.org.
[*] – Όταν λέμε λίγο το εννοούμε. Το λούκι για να παίξει το τράβηξε ένας άλλος Γιώργος του (τότε) NTUA-NOC.
Ο Lauren Weinstein φέρνει στην προσοχή μας την περίπτωση ενός Καναδικού ISP, ο οποίος θέλοντας να ενημερώνει τους χρήστες του για την κατανάλωση σε bandwidth σε σχέση με την υπηρεσία που έχουν αγοράσει, παρεμβάλει ενημερωτικά μηνύματα όταν οι χρήστες προσπαθούν να δουν κάτι στο Google Canada:
“While Rogers’ current planned use for this Deep Packet Inspection (DPI) and modification system (reportedly manufactured by “In-Browser Marketing” firm “PerfTech”) is for account status messages, it’s obvious that commercial ISP content and ads (beyond the ISP logos already displayed) would be trivial to introduce through this mechanism. By the way, PerfTech is even using Google for one of its linked promotional examples on the PerfTech home page. I wonder if they bothered to ask Google permission for that?”
Κι εγώ που ένιωθα ενοχές όταν πριν χρόνια εμείς κάναμε transparent web caching*…
“Question: Will Web service providers such as Google and many others, who have spent vast resources in both talent and treasure creating and maintaining their services’ appearances and quality, be willing to stand still while any ISP intercepts and modifies their traffic in such a manner?”
Ελπίζω πως όχι.
[via Interesting-People]
[*] – και αυτό για όσο είχαμε προβλήματα bandwidth
Ο καθηγητής Ε.Μ.Π. κος Βασίλης Μάγκλαρης δίνει μια εξαιρετική παρουσίαση με θέμα “Το INTERNET στην Εποχή της Παγκοσμιοποίησης: Παρελθόν, Παρόν & Μέλλον“* με την ευκαιρία της ημερίδας για τα 170 Χρόνια Ε.Μ.Π.
(Εϊναι χαρά μου που πολλά από αυτά που αναφέρουν οι διαφάνειες έγιναν τα χρόνια που δούλευα στο Ε.Μ.Π. για αυτά τα project)
[via open-source]
[*] – PDF document. Υπάρχει και έκδοση PowerPoint.
“The DNS-BH project creates and maintains a listing of domains that are known to be used to propagate malware and spyware. This project creates the Bind and Windows zone files required to serve fake replies to localhost for any requests to these, thus preventing many spyware installs and reporting.”
[via SURBL-Announce]
– Βάλε μνήμη! Ο υπολογιστής σου θα “πάει” πιο γρήγορα.
– Αλήθεια;
The Nerd Handbook: Υποχρεωτικό ανάγνωσμα για συζύγους, συντρόφους, συμβίες.
[via]
Χάζευα πριν καιρό τη σελίδα “CS294-17: Reading the Classics“ για το σεμιναριακό μάθημα που κάνει ο Παπαδημητρίου στο Berkeley. Τα πράγματα που μου έκαναν αμέσως εντύπωση:
Course Requirements:
Attend all meetings, read all papers, and participate in the discussion.
Present (possibly in a group) one of the classics, and write a paper about it (including a summary of the presentation and the discussion).
Και φυσικά τα ίδια τα classics:
Σκεφτόμουν λοιπόν: Εμάς γιατί δεν βρέθηκε ένας άνθρωπος να μας βάλει να τα διαβάσουμε; ΟΚ μπορεί με τον ένα ή τον άλλο τρόπο, από τύχη και αυτενέργεια να έχουμε διαβάσει μερικά, αλλά πόσα έχουμε συζητήσει με άλλους; Πόσα έχουμε παρουσιάσει (άρα και έχουμε καταλάβει) σε άλλους;
Φανταστείτε λοιπόν τη χαρά μου όταν ο Γιάννης Θεοδωρίδης έκανε περίπου το ίδιο πράγμα (διαβάστε το paper, γράφτε μου τι καταλάβατε σε μια σελίδα) για κλασσικές δουλειές στο χώρο των βάσεων. Όλα τα κλασσικά (Codd, Chen, Comer κ.λπ.) θα τα βρείτε εδώ.
Ελπίζω και άλλοι να ακολουθήσουν το παράδειγμά του.