Sisor - Εφαρμογή οργάνωσης χώρου

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Sisor - Εφαρμογή οργάνωσης χώρου

Δημοσίευσηαπό evolgen » 26 Σεπ 2013, 22:25

Το 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 εδώ.
Spoiler: show
Για τη συγγραφή του προγράμματος, χρησιμοποίησα τον 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, με τις οποίες δεν πρόλαβα ως τώρα να ασχοληθώ.
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

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)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Sisor - Εφαρμογή οργάνωσης χώρου

Δημοσίευσηαπό clepto » 26 Σεπ 2013, 22:34

Off topic:
για το deb ρώτα στο #ubuntu-app-devel μήπως ξέρουν
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Sisor - Εφαρμογή οργάνωσης χώρου

Δημοσίευσηαπό evolgen » 27 Σεπ 2013, 23:21

clepto έγραψε:Off topic:
για το deb ρώτα στο #ubuntu-app-devel μήπως ξέρουν

Off topic:
Ρώτησα κι εκεί αλλά τζίφος... :P
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

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)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι