Το Sisor είναι η εφαρμογή με την οποία ασχολιόμουν τους τελευταίους μήνες. Λίγα λόγια για το παρασκήνιο... Το έναυσμα ήρθε από το διαγωνισμό Lisp In Summer Projects που διοργανώνει το New York City Lisp User Group. Ο διαγωνισμός αφορούσε τη συγγραφή προγραμμάτων ή βιβλιοθηκών σε κάποια διάλεκτο της Lisp ή συγγενική της γλώσσα. Εγώ διάλεξα τη διάλεκτο Common Lisp, με την οποία είχα ήδη ασχοληθεί λίγο. Ο στόχος μου ήταν να εμβαθύνω στην Common Lisp, μιας και θα τη χρησιμοποιούσα για πρώτη φόρα σε κάποιο project τέτοιου μεγέθους.Sisor λοιπόν! Δηλαδή
Sisor:
Intelligent
Space
Organization. Ένα
recursive acronym που περιγράφει γλαφυρά τη λειτουργία του προγράμματος.
Ο χρήστης μπορεί να φτιάξει "χώρους", στους οποίους να ορίζει τα αντικείμενα που ανήκουν. Το κάθε αντικείμενο ορίζεται με ένα όνομα, μια φωτογραφία και μια προαιρετική περιγραφή. Στο μέλλον, σκοπεύω να δημιουργήσω μεθόδους για μετακίνηση αντικειμένων, από ένα χώρο σε κάποιον άλλο και "μηχανή αναζήτησης" συγκεκριμένου αντικειμένου σε όλους τους χώρους.
Παράδειγμα χρήσης: Μπορείτε να το δείτε "εν δράσει" στο παρακάτω βίντεο,
κατά προτίμηση σε υψηλή ποιότητα για να βλέπετε τα πάντα ξεκάθαρα:
Άδεια: GPLv3+Εξαρτήσεις: Ελάχιστες! Εφόσον το σύστημά σας έχει εγκατεστημένες τις βιβλιοθήκες Gtk+, θα χρειαστείτε ακόμα μόνο το
ImageMagick και την βάση δεδομένων
SQLite3. Συνήθως αυτά είναι ήδη προεγκατεστημένα, ούτως ή άλλως.
Εγκατάσταση: Πονεμένη ιστορία! Ενώ κατάφερα να φτιάξω RPM πακέτα για Fedora* που δουλεύουν κανονικά, δεν μπόρεσα να φτιάξω πακέτα deb! Δοκίμασα και το alien, ωστόσο μου δημιουργεί άλλα προβλήματα. Αν κάποιος έχει κουράγιο να δει τι πάει στραβά, ας πατήσει το spoiler.
Για την ώρα, μπορεί να εγκατασταθεί στο Ubuntu μέσω ενός install.sh script. Μπορείτε να δείτε τα downloads εδώ.Για τη συγγραφή του προγράμματος, χρησιμοποίησα τον SBCL compiler για Common Lisp. Το καλό με τη Lisp είναι ότι μπορώ να φτιάξω μια "εικόνα" του SBCL που περιέχει όλες τις βιβλιοθήκες που χρειάζομαι και να διαμοιράζω αυτή την εικόνα, μαζί με τον πηγαίο κώδικα του προγράμματος.
Το Makefile του Sisor, λοιπόν, καταλαβαίνει την έκδοση του συστήματος που τρέχει και ανάλογα διαλέγει την 32 ή 64-bit έκδοση του προσαρμοσμένου SBCL για να τον εγκαταστήσει. Εκτελώντας make, make install απλώς, το πρόγραμμα εγκαθίσταται μια χαρά. Μέσω του bzr builddeb όμως, η προσαρμοσμένη μου "εικόνα", ανταλλάσσεται αυτόματα με τον default SBCL των αποθετηρίων του Ubuntu. Από αυτόν λείπουν όλες οι βιβλιοθήκες που χρησιμοποιεί το πρόγραμμά μου, το οποίο απλά δεν τρέχει!
Ρώτησα στα σχετικά κανάλια IRC τόσο του Ubuntu όσο και του Debian, αλλά λύση δεν βρήκα.
Αυτά για τώρα... μπορείτε να το δοκιμάσετε, να μου πείτε τις εντυπώσεις σας και να αναφέρετε bugs. Ευχαριστώ πολύ!

--------------------------
* Το Opensuse έχει κάποιες παραπάνω απαιτήσεις σχετικά με τα αρχεία .desktop, με τις οποίες δεν πρόλαβα ως τώρα να ασχοληθώ.
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.
1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)