Πέμπτη, Μαρτίου 22, 2007

πατέντα με περικεφαλαία

από ό,τι φαίνεται κάποιο ανώτερο ον πατεντάρησε λέει τις πολλαπλά συνδεδεμένες λίστες (multi-linked lists στα ελληνικά) [slashdot-now] [slashdot-then].

"τώρα κάτι μου είπες" θα πει ο αγνός και μη χωμένος στον θαυμαστό κόσμο του κομπιούτερ-προγγράμινγκ φίλος από το απέναντι μπαλκόνι. και θα έχει και δίκαιο (και ίσως και ένα φραπέ στο χέρι, αλλά αυτό δεν είναι του παρόντος).

οι παραπάνω λίστες είναι λοιπόν μια δομή δεδομένων (data structure στα ελληνικά) για να αποθηκεύεις μια σειρά από δεδομένα στη μνήμη του υπολογιστή. η βασική ιδέα είναι ότι χρησιμοποιούν δείκτες (pointers στα ελληνικά) για να συνδέουν το κάθε δεδομένο με το επόμενό του. αυτές είναι οι απλές συνδεδεμένες λίστες. αν υπάρχουν και δείκτες που συνδέουν κάθε δεδομένο με το προηγούμενό του τότε είναι διπλά συνδεδεμένες. κι αν έχουν κι άλλους ακόμα δείκτες και μπορεί κανείς να διατρέξει τα δεδομένα με πιο πρόστυχους τρόπους από ότι οι συνηθισμένοι τότε είναι πολλαπλά συνδεδεμένες. και για να αποφύγω να κάνω και γω την πομπώδη παρομοίωσή μου σε κάτι το πιο καθημερινό, παραπέμπω στην ολίγο ακραία αλλά πάντα σεβαστή παρομοίωση ενός σχολιαστή στο slashdot.

just to be clear, for people who might read this and have no idea what all this linked-list business is about, this ia a data structure that is taught in every 200-level com sci "algorithms and data structures" class, and is so ubituitous that it would certainly be on any exam based on that material. put in terms in another domain, this would be like patenting "the use of horse hair for the application of water, oil, or acrylic-based substances in an effort to produce a visually aesthetic experience" - that is, a paint brush. linked lists are in the basic toolset that software engineers use every day. if you are reading this post electronically, then there are probably hundreds of them swirling around inside your computers memory at this very second.

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

και μερικά ακόμα σχόλια που με τράβηξαν την προσοχή:

hrm, i wonder if there's anything else patentable in my old data structures and algorithms class notes...

>well, if your read the patent, it's for triply-linked lists.
true. so it is just slightly less ridiculous than the headline makes it out to be. for crying out loud, i implemented various sorting methods on my linked lists by adding multiple pointers to them two decades ago as a teenager, and i don't believe for a second that i was doing anything remarkable at all. once you have heard of linked lists then doubly-linked lists, triply-linked lists or whatever-linked lists are pretty much obvious.

you're absolutely right. patenting an algorithm like this would be like me patenting, "a method of transportation involving the repeated placement of one foot in front of the other, thereby conveying motion upon the transportee."

i think this is a global conspiracy to undermine the patent system by submitting totally invalid patents. once it's found they're unenforcable they'll kill off the patent system that is broken. yay for that. congratulations to that law firm and whatever!?

το χοντρό μπιζέλι χορεύει τσιφτετέλι
χορεύει τσιφτετέλι στο χωρό των πατεντών