Η μέθοδος εισαγωγής πολυ-επαφής (multitouch) σημαίνει πως μπορούμε να αλληλεπιδρούμε με μια συσκευή λαμβάνοντας υπόψη όσα σημεία επαφής με αυτή επιθυμούμε. Στην Python υπάρχει η βιβλιοθήκη PyMT που μας επιτρέπει να γράψουμε κώδικα για multitouch συσκευές. Βασίζεται σε OpenGL και επιτρέπει να χειριστούμε γεγονότα που προέρχονται από multi-touch είσοδο μέσω ενός επιπέδου αφαίρεσης που μας προσφέρει. Επειδή βασίζεται σε Python παίζει σχεδόν παντού.
Χρόνια Πολλά και Καλή Χρονιά!
Αν σας παραξενεύει η αρχική πρόταση, πριν ένα χρόνο δημιουργήθηκε η κοινότητα μας! Ακολουθεί μια σύντομη χρονική αναδρομή για αυτόν τον χρόνο.
Το πρώτο μήνυμα σε mailing list έγινε στις 1/2/2009 [1]. Ακολούθησε η δημιουργία του site (ανέβασμα αρχείων Joomla και μετριοπαθής ανακοίνωση [2]).
Η προσπάθεια είχε ξεκινήσει ύστερα από μια συνάντηση στο Τραμ ενώ η ιδέα είχε πέσει λίγο καιρό πριν. Ο ενθουσιασμός των πρώτων ημερών κάλυψε την απειρία μας και με αρκετά βήματα δημιουργήθηκε το site (αλλάξαμε τον τίτλο σε TasPython και μια δυο εικονίτσες). Σε όλα αυτά μας συντρόφευε η ΑΕΚ (Αρχή Ελαχίστου Κόπου) καθώς θέλαμε να επικεντρωθούμε στην Python και όχι στην κατασκευή ιστοσελίδας.
Το site (taspython.eu αν αναρωτιέστε τώρα) τότε είχε domain name burned.co.cc και είχαμε πάρει και το taspython.tk (αν τυχόν έχετε κοιτάξει παλιές δημοσιεύσεις). Τα πράγματα προχώρησαν σύμφωνα με το πλάνο και βγάζαμε ασκήσεις (και δίναμε παρατάσεις). Κάπου εκεί άρχισε να δημιουργείται ο οδηγός της Python στην αρχή ως σημειώσεις.
Το καλοκαίρι αλλάξαμε server (βρήκαμε καλύτερο τζάμπα) και template. Τα βράδια κάναμε όνειρα (=όνειρα θερινής νυκτός) τα οποία τα μαζέψαμε στην επόμενη συνάντηση μας που έγινε Σεπτέμβρη. Εκεί είπαμε γιατί θέλουμε να γίνουμε πιο εξωστρεφείς και ήμασταν τόσο ενθουσιασμένοι που μαζέψαμε καμιά 10αριά άτομα να το συζητήσουμε πως θα είναι μετά. Η συνάντηση πήγε πολύ καλά (παίξαμε καινούργια επιτραπέζια και γνωρίσαμε κάποια καινούργια άτομα).
Αφού η συμφωνία είχε επιτευχθεί, θα αρχίζαν πια οι παρουσιάσεις στο ceid. Πριν από αυτό όμως είχαμε καινούργιο domain name (το τρέχον). Όλα αυτά χάρη στις δωρεές μελών του taspython όπου όλοι μαζί συγκεντρώσαμε τα απαραίτητα χρήματα για το δωρεάν hosting και δωρεάν domain.
Η πρώτη παρουσίαση περιλάμβανε και πολύ πιασάρικους τίτλους (Python, Django, Mercurial, CEID Battle). Λίγες μέρες πριν μας είχαν ανακαλύψεις scouters και το project στο bitbucket. Οι επόμενες παρουσιάσεις έγιναν με περισσότερη εμπειρία και ευτυχώς υπήρχαν αρκετά άτομα για να μας βοηθήσουν σε αυτό.
Πλέον στο site υπάρχουν βίντεο από παρουσιάσεις, συγκεντρωμένο υλικό γύρο από Python στο forum, slides παρουσιάσεων, οδηγοί, σύνδεσμοι σε εκπαιδευτικό υλικό. Έχουμε μια δημοσίευση στο pythonpapers.org και έχουμε βρει περισσότερα άτομα που μπορούν να κάνουν παρουσιάσεις. Οι καθημερινές επισκέψεις είναι περίπου επί 20 σε σχέση με τις πρώτες μέρες (μπαίναμε δυο φορές την μέρα).
Τα σχέδια περιλαμβάνουν περισσότερα ταξιδάκια, αν βοηθήσει ο καιρός και ακόμα καλύτερες παρουσιάσεις. Το CEID Battle μάλλον θα αντικατασταθεί με ένα μεγαλύτερο (και πιο χρήσιμο) project. Ελπίζουμε του χρόνου, ο γενέθλιος απολογισμός να μας βρει σε ακόμα καλύτερη θέση.
Πολλά κομμάτια έχουν παραληφθεί (όπως πχ τι πίναμε στο Τραμ). Αναλυτικότερα, μπορεί κάποιος να κοιτάξει τα άρθρα στο taspython σιγά σιγά (50) και τα mails στην mailing list (120 στην παλιά + λίγα ακόμα της καινούργιας).
Όποιος θυμάται άλλα κομμάτια ας συμπληρώσει. Ιδιαίτερα δεκτές προσθήκες για το μέλλον!
[1] Για όποιον έχει πρόβλημα με τις επετείους είναι καλή ιδέα μια τέτοια ημερομηνία!
http://groups.google.com/group/taspython/browse_thread/thread/a1b7838ed4b1a6be?hl=en
Η PyQt 4.7 μόλις δημοσιεύτηκε. Αποτελεί ένα κατανοητό σύνολο από bindings για Qt εφαρμογές από την Nokia. Υποστηρίζει τις ίδιες πλατφόρμες όπως και το Qt (Windows, Linux, MacOS/X).
Η PyQt υποστηρίζει Python 3 και Python 2.3 ή μεταγενέστερη.
Περισσότερες πληροφορίες:
http://www.riverbankcomputing.com/software/pyqt/intro
Το Sikuli είναι μια οπτική τεχνολογία για την αναζήτηση και αυτοματοποίηση γραφικών διεπαφών (GUI) χρησιμοποιώντας εικόνες (screenshots). Η πρώτη έκδοση του Sikyli περιλαμβάνει την Siculi Script, ένα οπτικό API για scripting σε Jython, το Sikuli IDE, ένα ολοκληρωμένο περιβάλλον προγραμματισμού για την εγγραφή των οπτικών scripts εύκολα. Το Sikuli αυτοματοποιεί οτιδήποτε βλέπουμε στην οθόνη χωρίς να χρειάζεται την υποστήριξη εσωτερικού API. Μπορούμε να το προγραμματίσουμε να ελέγχει μια σελίδα στο διαδίκτυο, μια εφαρμογή τοπικά στον υπολογιστή μας που τρέχει σε Windows/Linux/Mac OS X ή ακόμα και μια εφαρμογή iphone που τρέχει σε έναν εξομοιωτή.
Αν τα παραπάνω δεν είναι αρκετά για να σας πείσουν, τότε δείτε το βίντεο από την επίσημη ιστοσελίδα της εφαρμογής. Η εφαρμογή αναπτύσεται από το MIT. Η καινοτομία της ιδέας βασίζεται στο γεγονός ότι μέχρι τώρα χρησιμοποιούσαμε κείμενο για να διασυνδέσουμε τις εφαρμογές μας. Τώρα πια μπορούμε να χρησιμοποιήσουμε αυτό που βλέπουμε μέσα από το γραφικό περιβάλλον. Καιρός δεν νομίζετε ότι ήταν μετά από σχεδόν 20 χρόνια εφαρμογών με GUI στους υπολογιστές;
Όπως είχαμε αναφέρει σε παλιότερο άρθρο είναι πιθανή η συγχώνευση του Unladen Swallow, ενός project που έχει ξεκινήσει από την Google με σκοπό την επιτάχυνση της απόδοσης της Python, με την κύρια υλοποίηση της Python (CPython). Σήμερα, λοιπόν, προτάθηκε και το αντίστοιχο Python Enhancement Proposal (PEP) 3146 που αποσκοπεί στην περιγραφή της διαδικασίας που θα ακολουθηθεί ώστε να γίνει κάτι τέτοιο.
Αυτό το PEP προτείνει την συγχώνευση του Unladen Swallow project στο δέντρο του πηγαίου κώδικα της CPython. Το Unladen Swallow είναι ένα ανοικτού κώδικα κομμάτι της CPython που επικεντρώνεται στην απόδοση (performance). Το Unladen Swallow είναι συμβατό σε επίπεδο κώδικα με έγκυρες Python 2.6.4 εφαρμογές και αρθρώματα επέκτασης σε C (C extension modules).
Το Unladen Swallow προσθέτει έναν ακριβώς-στην-ώρα μεταγλωτιστή (just-in-time (JIT) compiler) στην CPython, επιτρέποντας την μεταγλώτισση επιλεγμένων κομματιών κώδικα Python ώστε να βελτιστοποιηθούν σε κώδικα μηχανής. Πέρα από κλασικές στατικές βελτιστοποιήσεις, ο Unladen Swallow JIT compiler χρησιμοποιεί δεδομένα που συλλέγει κατά την εκτέλεση του προγράμματος για να κάνεις ορισμένες ελεγμένες υποθέσεις για την συμπεριφορά του κώδικα, επιτρέποντας την παραγωγή ακόμα πιο γρήγορου κώδικα μηχανής
Αυτό το PEP προτείνει την συγχώνευση του Unladen Swallow στο CPython δέντρο ανάπτυξης κώδικα σε ένα ξεχωριστό κλαδί (branch) που θα ονομάζεται py3k-jit, στοχεύωντας για τελική συγχώνευση στην κύριο κλαδί (branch) της py3k. Ενώ Unladen Swallow δεν είναι ολοκληρωμένο ή τέλειο, υπάρχει η αίσθηση ότι έχει αρκετή ωριμότητα ώστε να εισέλθει στα κύρια σχέδια της CPython. Ελπίζεται ότι θα δημιουργηθεί μια σταθερή πλατφόρμα για την ευρύτερη κοινότητα προγραμματιστών της CPython στην οποία θα μπορούν να βασιστούν και η οποία θα εγείερει αυξανόμενη απόδοση στα επόμενα χρόνια.