O Δημήτρης (@glezos, linkedin) μας έκανε μια από τις ευχάριστες εκπλήξεις λίγο πριν κάνουμε την πρώτη μας παρουσίαση. Είχαμε μόλις αρχίσει το CEID Battle κυρίως για να "παίξουμε" λίγο με την Python, όπου και μας ανακάλυψε και έκανε τα πρώτα bug report και υπέβαλλε patches χωρίς καν να το περιμένουμε! Μετά από λίγες μέρες τον γνωρίσαμε από κοντά στην πρώτη μας ανοικτή παρουσίαση, ενώ είχαμε την τύχη να μας κάνει δυο παρουσιάσεις μεταφέροντας μας την εμπειρία του από τους (πολλούς) χώρους που κινείται. Η πρώτη ήταν Hacking with Python for fun and profit ενώ η δεύτερη και η οποία μέχρι τώρα είναι η παρουσίαση που έχει τις περισσότερες προβολές είναι Extreme Web Programming: Η τεχνική πλευρά του νομίσματος, η οποία και συμπυκνώνει με μεγάλη επιτυχία πάρα πολλές χρήσιμες έννοιες.
Ποιός είσαι;
Με λένε Δημήτρη Γλέζο. Είμαι ένας geek με γυαλιά, μουσάκι και λίγα μαλλιά. (:-)
Το τελευταίο έτος δουλεύω στην Indifex, μια εταιρία που ίδρυσα στην αγαπημένη Πάτρα με στόχο να δουλεύω αποκλειστικά σε ελεύθερο λογισμικό και Python. Παρέα με 5 ακόμη coders γράφουμε λογισμικό διαχείρισης έργων μεταφράσεων που χρησιμοποιείται από εταιρείες σαν τις Nokia, Intel, Red Hat και έργα ελεύθερου λογισμικού όπως τα Mozilla, Django, Mercurial και Creative Commons.
Τα τελευταία 5 χρόνια εμπλέκομαι σε διάφορα έργα ελεύθερου λογισμικού, με κυριότερο το Fedora, στο οποίο έχω την ευθύνη του έργου μεταφράσεων και έχω διατελέσει μέλος του Fedora Board.
Ξεκίνησα με την Python το 2007, όταν ένιωσα ότι η PHP περιόριζε τις δυνατότητες μου σαν προγραμματιστή. Από τότε δεν έχω κοιτάξει πίσω.
Τι παρουσίασες;
Στην παρουσίαση "Extreme Web Programming: The Technical Side" είδαμε τι χρειάζεται για να "τρέξει" ένα δημοφιλές (read: scalable) web application σε Python και Django: από object-level caching μέχρι static serving και queuing systems.
Στόχος ήταν να δούμε το full stack του καθαρά τεχνικού τμήματος ενός τέτοιου έργου. Θυμάμαι ήταν διασκεδαστικό να προσπαθούμε να χωρέσουμε τόσα πολλά θέματα σε τόσο λίγο χρόνο παρουσίασης, έστω και επιγραμματικά!
Χρησιμοποιείς την Python για...
Λίγο-πολύ για τα πάντα. Ο μεγαλύτερος χρόνος μου με την Python είναι web development, κυρίως μάλιστα πάνω από το Django web framework, και Unit Testing. Οπουδήποτε όμως χρειάζεται κάτι υπολογιστικό το οποίο το απλό calculator δε μπορεί να χωνέψει, το python prompt είναι ό,τι πιο χρήσιμο!
Τι σου αρέσει στη Python;
Τι δεν σου αρέσει;
Η έλλειψη "hype" που βρίσκει κανείς σε άλλες κοινότητες, όπως πχ. στη Ruby ή ακόμη και την PHP. Φυσικά αυτό είναι συνεπακόλουθο ενός ισχυρού developer community, ωστόσο υπάρχουν κοινότητες που έχουν καταφέρει να έχουν και hype και ισχυρό development (πχ. το git, όσο πανάθλιο και να είναι).
Τι εξελίξεις προβλέπεις;
Λιγότερα: Enterprise standards (*cough*J2EE*cough*), Microsoft,
Περισσότερα: Συζητήσεις για application level, Web, loose-coupling, Linux, διδαχή Python σε Πανεπιστήμια/Σχολεία/OLPC.
Εντυπώσεις από την κοινότητα;
Πολύ, πολύ καλές εντυπώσεις, μπράβο για τη δουλειά μέχρι τώρα!
Προτάσεις: Να συνεχίσουν και να αρχίσουν να μεταμορφώνονται σε workshops και hackfests. Πιο οργανωμένα με πιο πολλές παρουσιάσεις από νέους contributors. Προσκεκλημένοι από Αθήνα πού και πού. Lightning talks.
Σε μια καινούρια χρονιά με ακόμη μεγαλύτερες επιτυχίες, και να συνεχίσουμε να TaSpame.
Ο Γιώργος συνδιάζει τις απίστευτες γνώσεις σε εξαιρετικά δύσκολα σημεία του αντικείμενου των υπολογιστών με μια φιλική και πρόσχαρη άνθρωπος προσωπικότητα, πάντα και διαθέσιμος να βοηθήσει τους υπόλοιπους. Έχει έντονη δράση στον χώρο του ανοικτού λογισμικού ενώ αποτελεί core contributor του FreeBSD. Αποτελεί έναν από τους "διάσημους" που είχαμε την τύχη να κάνουν παρουσίαση, και σύμφωνα με μετριοπαθείς υπολογισμούς έκαναν 1023 ανθρώπους που ενδιαφέρονται να μάθουν κάτι παραπάνω μέσα από την παρουσίαση για Unit testing της οποίας το βίντεο μπορείτε να βρείτε εδώ. Αν δεν το έχετε δει ακόμα, μη περιμένετε άλλο, ευκαιρία να στρογγυλοποιήσετε τον παραπάνω αριθμό!
Ποιός είσαι;
Με λένε Γιώργο Κεραμίδα. Ήμουν για κάποιο καιρό φοιτητής στο CEID. Στο CEID γνώρισα το ανοικτό λογισμικό και την Python. Εκεί, επίσης, ήρθα σε επαφή με άλλους προγραμματιστές open & free software.
Τα τελευταία 10 χρόνια είμαι μέλος της ομάδας ανάπτυξης του FreeBSD έχω γνωρίσει τεχνικές και έχω μάθει πράγματα τα οποία με έχουν ευχαριστήσει & βελτιώσει ως άνθρωπο και ως προγραμματιστή. Η συμμετοχή μου στην ομάδα του FreeBSD είναι ένα από τα πράγματα που με κάνουν περήφανο, ιδιαίτερα επειδή έχω προσφέρει με το δικό μου τρόπο τόσο στην ανάπτυξη όσο και την προώθησή του.
Εργάζομαι ως senior software developer σε εταιρείες λογισμικού σε Ελλάδα και εξωτερικό. Η ειδίκευσή μου είναι κυρίως σε θέματα δικτυακών εφαρμογών, release & configuration management, testing και quality assurance.
Τι παρουσίασες;
Παρουσίασα το unit testing, χρησιμοποιώντας παραδείγματα γραμμένα σε σχετικά απλή ANSI C. Οι ίδιες ακριβώς ιδέες εφαρμόζονται και σε Python, C++ ή οποιαδήποτε άλλη γλώσσα.
Έκανα την παρουσίαση με κυριότερο σκοπό τη διάδοση του unit testing ως ιδέα στον κόσμο που ξεκινά τώρα να ασχολείται με τον προγραμματισμό. Είναι ένας από τους λίγους τρόπους να εξασφαλίσουμε την ποιότητα του λογισμικού το οποίο γράφουμε. Τέτοιου είδους τεχνικές και γνώση είναι ακριβώς αυτό που πιστεύω ότι αξίζει να διαδίδεται μέσα από ομάδες όπως η TasPython.
Χρησιμοποιείς την Python για...
Χρησιμοποιώ την Python σχεδόν παντού. Οπουδήποτε χρειάζεται κάτι πιο περίπλοκο από απλό string processing ή απλά shell pipe-lines. Για όλα τα πράγματα που χρειάζονται ωραίες και ευανάγνωστες δομές δεδομένων :-) Η κλασική αντιμετώπιση που έχω σε οποιοδήποτε μέρος της καθημερινής μου δουλειάς έχει σχέση με αυτοματοποίηση είναι: «Αν είναι πάνω από 100 γραμμές ή χρειάζεται οτιδήποτε πιο περίπλοκο από μια απλή λίστα από γραμμές κειμένου, είναι ήδη ώρα να το γράψεις σε Perl ή Python.»
Τι σου αρέσει στην Python;
Προσωπικά μου αρέσουν πολλά χαρακτηριστικά της Python. Είμαι από παλιά φίλος των dynamically typed γλωσσών. Η γλώσσα την οποία προτιμώ για τις εντελώς δικές μου εργασίες είναι π.χ. η Common Lisp, μια κατεξοχήν δυναμική & επεκτάσιμη γλώσσα. Η Python μου αρέσει επειδή:
Τι δεν σου αρέσει;
Οι επιλογές του Guido van Rossum δε με βρίσκουν πάντα σύμφωνο. Π.χ. οι απόψεις του περί lambda function support, macro support και οι αλλαγές που κάνει στην Python στις εκδόσεις 3.0 και τις νεώτερες είναι πολύ σημαντικές, επηρεάζουν ιδιαίτερα το συντακτικό της γλώσσας, αλλά και έτσι ακόμα δεν είναι αρκετές για να φτάσουμε και στην Python την πλήρη αυτονομία του συντατικού από το σημειολογικό επίπεδο του πηγαίου κώδικα ενός προγράμματος --- κάτι που υπάρχει ήδη σε άλλες γλώσσες.
Τι εξελίξεις προβλέπεις;
Οι υπολογιστές παίζουν ήδη σημαντικό ρόλο στη ζωή μας. Έχουμε κάνει τεράστια βήματα μέσα στα τελευταία 50 χρόνια. Από τους υπολογιστές οι οποίοι χρειαζόντουσαν ένα μέτριο κτίριο ο καθένας έχουμε φτάσει σε τέτοιο επίπεδο που ο καθένας από εμάς κυκλοφορεί στο δρόμο με πολλαπλούς μικρούς υπολογιστές πάνω του (τηλέφωνα, bluetooth-enabled devices, PDA, ακόμη και φορητούς μίνι-υπολογιστές γενικής χρήσης). Η πρόοδος της τεχνολογίας είναι εντυπωσιακή και συνεχίζει με ακάθεκτο ρυθμό. Τέτοια είναι η φύση της προόδου: όταν ξεκινήσει προς μιας κατεύθυνση δε μπορεί εύκολα να πισωγυρίσει, τουλάχιστον χωρίς δραματικές και απότομες αλλαγές καταστροφικής φύσης.
Είναι πολλές οι πλευρές της καθημερινής μας ζωής, της δουλειάς μας, της διασκέδασης, της επικοινωνίας, της κοινωνικής και προσωπικής έκφρασης του καθενός από εμάς οι οποίες επηρεάζονται ή βελτιώνονται από τη χρήση της τεχνολογίας. Οι θετικές επιδράσεις της τεχνολογίας είναι σίγουρα χρήσιμες, αλλά χρειάζεται να αναπτύξουμε και το κατάλληλο ηθικό υπόβαθρο για να μπορέσουμε ως ανθρωπότητα να χειριστούμε αποδοτικά, με ασφάλεια και σύνεση τις επιδράσεις αυτής ακριβώς της προόδου. Οι υπολογιστές και η τεχνολογία γενικότερα θα συνεχίσουν στο δρόμο που έχουν ήδη πάρει. Η πρόκληση για όλους μας θα είναι, τόσο ατομικά όσο και ως ανθρωπότητα, στο σύνολο του πληθυσμού:
Πιο συγκεκριμένα, για τον προγραμματισμό και τη γλώσσα Python, θα ήθελα να δω μεγαλύτερη διάδοση μαθημάτων για τη γλώσσα Python σε πρωτοετείς φοιτητές σχολών. Είναι μια πολύ ωραία γλώσσα για εισαγωγικά μαθήματα στον προγραμματισμό -- εύκολη στην εκμάθηση, χωρίς να της λείπει κάτι από άλλες γλώσσες, είναι διαθέσιμη σχεδόν παντού και η χρήση της δεν περιορίζεται στον ακαδημαϊκό χώρο ή μόνο στα στενά όρια ενός και μόνο μαθήματος.
Θα θελα π.χ. να δω σε μαθήματα γλωσσών προγραμματισμού να μαθαίνουν οι νέοι προγραμματιστές τόσο Python όσο και άλλες γλώσσες προγραμματισμού. Ένα πλήρες σετ από γλώσσες, που καλύπτει τόσο στατικές compiled γλώσσες, όσο και δυναμικές ή εξωτικές γλώσσες. Ένας προγραμματιστής πρέπει να έχει επαφή τόσο με statically typed, non-GCed γλώσσες όπως η C/C++ όσο και με δυναμικές γλώσσες όπως η Perl, Python και η Scheme ή η Lisp. Κάτι τέτοιο ας πούμε θα ήθελα να είναι μέσα στα μελλοντικά σχέδια των Πανεπιστημιακών τμημάτων τα οποία έχουν σχέση με τεχνολογία: η έμφαση στη χρήση multi-paradigm γλωσσών ή πολλαπλών γλωσσών με διαφορετικό στυλ προγραμματισμού. Και η Python είναι σίγουρα μέσα στις γλώσσες που θέλω να βλέπει κάθε νέος προγραμματιστής όταν ξεκινά να μαθαίνει τα βασικά στοιχεία του προγραμματισμού.
Εντυπώσεις από την κοινότητα;
Οι παρουσιάσεις της TasPython είναι ωραία ιδέα. Δε μπόρεσα να έρθω σε πολλές, αλλά είμαι κατα-ενθουσιασμένος από τον κόσμο που είδα σε όσες συναντήσεις ήρθα. Κατ' αρχήν να πω ότι πρέπει να τις συνεχίσετε. Με τέτοιες προσπάθειες δημιουργούνται οι τοπικές ομάδες από hackers και με τέτοιο ακριβώς πνεύμα ανταλλαγής ιδέων είναι που προωθείται η ιδέα ότι είναι ενδιαφέρον, χρήσιμο, και πάνω από όλα πολύ διασκεδαστικό να βλέπουμε ο ένας τι κάνει ο άλλος. Συγχαρητήρια σε όλους τους TasPython! :)
Ο Δημήτρης είναι ένα από τα παιδιά που ξεκίνησαν αυτή την προσπάθεια και αυτός ο οποίος δε πρόκειται ποτέ να βαρεθεί να γράφει και να ασχολείται με το TasPython. Βοηθάει στη διαχείριση του ιστοτόπου και μας κάνει να γελάμε πέρα από το να μαθαίνουμε μέσα από τις παρουσιάσεις του! Έκανε μια σειρά παρουσιάσεων για την Python (Εισαγωγή, Δομές Ελέγχου, Λίστες Συναρτήσεις Γεννήτορες, Εξαιρέσεις), το CEID Battle, τον Global Interpreter Lock και το MapReduce και μια παρουσίαση βασισμένη σε ένα βιβλίο για την Δημιουργία Web Εφαρμογών. Συμμετείχε παρουσιάζοντας στο OpenFest και στη FOSSCOMM. Για την ακρίβεια δεν υπάρχει event και συνέδρειο στο οποίο να υπήρχαν παρουσιάσεις από την κοινότητα και ο Δημήτρης να μην συμμετείχε με έστω και μία παρουσίαση!
Ποιός είσαι;
Ονομάζομαι Δημήτρης Λεβεντέας. Τελειώνω, όντας στο 5ο έτος, τη σχολή Μηχανικών Η/Υ & Πληροφορικής στην Πάτρα.
Τι παρουσίασες;
Συμμετείχα σε μια σειρά παρουσιάσεων για την Python, οι οποίες με βοήθησαν να γράψω αρκετά μεγάλο μέρος του οδηγού που υπάρχει αναρτημένος στον ιστότοπο καθώς και σε διάφορες άλλες παρουσιάσεις όπου πάντα με αφορμή την Python, αλλά χωρίς περιορισμό αυστηρά σε αυτή, προσπαθούσα να ζητήσουμε θέματα που ανά καιρούς μου φαινόντουσαν πολύ ενδιαφέροντα. Το πιο ωραίο κομμάτι βέβαια είναι όταν η παρουσίαση μετατρέπεται συζήτηση όπου συνδιάζεται η πραγμάτευση ενδιαφέροντων θεμάτων με ένα πιο φιλικό κλίμα.
Χρησιμοποιείς την Python για...
...για παιχνίδια! Ποιος είπε ότι το Linux δεν έχει παιχνίδια; Απλά δοκιμάστε python3 στην κονσόλα ή ανοίξτε έναν editor!
Πέρα από την πλάκα, την βρήκα ιδιαίτερα χρήσιμη για την επίλυση ασκήσεων από το projecteuler (παιχνίδια δηλαδή), για να σπαμάρεις του φίλους σου με πολλές φορές το ίδιο email (εκνευριστικά παιχνίδια), για να έχεις διαφορετικές υπογραφές σε κάθε email που στέλνεις (τα παιδία παίζει), για να βρίσκεις τα σπάνια ονόματα συμφοιτητών σου στη σχολή (για να κερδίζεις τα σχετικά παιχνίδια) ή για να λύνεις γραμμικά συστήματα (όχι παίζουμε!). Επίσης, για να αντλείς πληροφορίες με λίγο parsing από το Internet (Προσοχή: στα πολιτικά sites η εντροπία είναι 0!), για να δοκιμάζεις αλγόριθμους (τέχνη) και εν τέλει για μια αποδεκτή αφορμή από το κοινωνικό σύνολο για να βρεθείς με περισσότερους geeks!
Τι σου αρέσει στην Python;
Τα κενά μετράνε, όπως και στη ζωή! Αν σου πω 3.14 δεν θα με ρωτήσεις αν είναι ακέραιος ή δεκαδικός. 3/5 κάνει 0.6 και όχι 0 (στην Python 3 τουλάχιστον). Αν προσθέτεις θετικούς ακεραίους δεν ανησυχείς αν το αποτέλεσμα μπορεί να κάνει αρνητικό(!!). Το Mercurial τα σπάει (ψιλοάσχετο!). Ο καλός προγραμματιστής ξεχωρίζει από το τι γράφει και όχι πως το γράφει (είμαι φαν των αλγορίθμων :P ).
Τι δεν σου αρέσει;
Ίσως δεν είναι τόσο γνωστή όσο θα της άξιζε. Επίσης, θα προτιμούσα να έχουν μεταφερθεί περισσότερες βιβλιοθήκες στην έκδοση 3 της Python.
Τι εξελίξεις προβλέπεις;
Δεν θα έχουμε ποντίκια (ελπίζω ούτε κατσαρίδες!), 5 υπολογιστές παγκοσμίως δεν θα είναι αρκετοί, και θα υπάρξει μια μάχη σε δυο διαφορετικούς τρόπους υπολογισμού που ήδη έχει αρχίσει. Κατανεμημένος (πολλοί μικροί υπολογιστές συνδέονται μεταξύ τους) vs Κεντρικοποιημένος (οι πριν 10 χρόνια υπερυπολογιστές είναι τώρα στα σπίτια μας).
Εντυπώσεις από την κοινότητα;
Όσο πάει και μεγαλώνει, και αυτό είναι πολύ ευχάριστο!
Οι William Stein, Fernando Perez και ο Jarrod Millman δημιουργούν ένα ίδρυμα μη κερδοσκοπικού χαρακτήρα για μαθηματική και επιστημονική έρευνα στον υπολογισμό. Ο σκοπός τους είναι να διασφαλίσουν απεριόριστη πρόσβαση στα καλύτερα υπολογιστικά εργαλεία για έρευνα και εκπαίδευση στα μαθηματικά, την επιστήμη και την μηχανική. Προσπαθούν να το επιτύχουν μέσα από την βοήθεια υπαρχόντων προσπαθειών και κοινοτήτων. Αρχικά θα επικεντρωθούν στην Python παρά σε άλλες γλώσσες για επιστημονικό υπολογισμό όπως η R ή η Scilab. Παρά αυτό το γεγονός, ο σκοπός του ιδρύματος δεν θα είναι απλά να προωθήσει την χρήση της Python στην επιστήμη.
Θα γίνει ένα πρώτο δωρεάν event στις 25 Ιουνίου στο Mathematical Sciences Research Institute (MSRI) στο Berkeley. Για περισσότερες λεπτομέρειες: http://drupal.mscomp.org/orcp2010
Με αφορμή μια δημοσίευση στο blog του Guido van Rossum, το οποίο είναι ενεργό ξανά μετά από ένα χρόνο, ευκαιρία να δούμε ένα Easter Egg που υπάρχει στην Python 3.x και στο Google App Engine. Η Python, που είναι γνωστή για την ευκολία της, έχει μια χαρακτηριστική ανάφορά σε ένα comic του xkcd. Γράφοντας:
>>> import antigravity
εμφανίζεται το συγκεκριμένο comic.
Ο Κώστας είναι από τα πιο ενεργά μέλη της κοινότητας αυτής, βοήθησε στο στήσιμο του site και στη συνέχεια στη συντήρηση του, έχει γράψει τον οδηγό για το Mercurial που αποτελεί το πιο πολυκατεβασμένο έγγραφο του site, έχει γράψει αρκετά άρθρα στην κεντρική σελίδα, συνήθως αναρτά τα αποτελέσματα των συναντήσεων μας, αφού βοηθάει πρώτα στην ανακοίνωση τους. Το laptop του ήταν το υπεύθυνο για τις περισσότερες παρουσιάσεις και γενικότερα είναι ένας από τους ανθρώπους που κάνει την διαχειριστική δουλειά που άλλοι ίσως να βρίσκαν βαρετή, αλλά κάποιος πρέπει να την κάνει. Όσον αφορά από κοντά, είναι πολύ φιλικός και μπορείς άνετα να συνεργαστείς πολύ ευχάριστα μαζί του.
Οι παρουσιάσεις του ήταν: CEID Battle, Mercurial, Λεξικά Set Κλάσεις, Παρουσίαση της κοινότητας στο OpenFest. Μπορείτε να τον θαυμάσετε στην πρώτη κεφάτη παρουσίαση που κάναμε μαζί για το CEID Battle.
Ποιός είσαι;
Με λένε Κωνσταντίνο Αραβανή και είμαι φοιτητής στο τμήμα Μηχανικών Η/Υ και Πληροφορικής. Από Σεπτέμβριο ελπίζω να είμαι πτυχιούχος! Λατρεύω την Python, το Open Source και το Debian. Τα ενδιαφέροντα μου αφορούν το High Performance, Distributed Systems, Web Development και ενίοτε Operating Systems. Επίσης στον ελεύθερο μου χρόνο μου αρέσει να επιδίδομαι στο άθλημα που λέγεται scripting... ψάχνοντας τρόπους να διευκολύνω τη ζωή μου!
Τι παρουσίασες;
Δύο φορές έκανα μία εισαγωγική παρουσίαση για το Mercurial, μία στο TasPython και μία εκπροσωπώντας την κοινότητα στο OpenFest. Επίσης με τον Δημήτρη Λεβεντέα είχαμε κάνει δύο παρουσιάσεις πάνω στο CEID Battle, ένα παιχνίδι που αναπτύξαμε στο TasPython με τη χρήση του pygame module, και άλλη μία στο OpenFest όπου παρουσιάσαμε την κοινότητα. Τέλος με τον Νίκο Νοδαράκη, στα πλαίσια των εισαγωγικών παρουσιάσεων πάνω στην Python, είχαμε κάνει μία παρουσίαση πάνω στα λεξικά, τα sets και τις κλάσεις στην Python.
Χρησιμοποιείς την Python για...
Χρησιμοποιώ την python πραγματικά όπου μπορώ... Μπορείς να γράψεις κώδικα και να αναπτύξεις πράγματα σε κλάσματα δευτερολέπτου. Πραγματικά την λατρεύω! Όνειρο μου είναι να την δω να χρησιμοποιείται και σε μικρότερου τύπου συσκευές όπως αυτές στα ασύρματα δίκτυα αισθητήρων!
Τι σου αρέσει στην Python;
Φυσικά το dynamic typing, ο garbage collector, το γεγονός ότι η σύνταξή της σε αναγκάζει να στοιχίζεις σωστά τον κώδικά σου βοηθώντας και εσένα αλλά και αυτούς που θα αναπτύξουν μετά από σένα και ο πραγματικά μεγάλος αριθμός από modules. Επίσης το Django!
Τι δεν σου αρέσει;
Ο GIL. Πιστεύω ότι κάποια στιγμή πρέπει να λυθεί το πρόβλημα ανοίγοντας έτσι και νέους δρόμους για την Python.
Τι εξελίξεις προβλέπεις;
Πιστεύω ότι η python μελλοντικά θα χρησιμοποιείται σε όλο και μεγαλύτερο βαθμό, πράγμα που φαίνεται και από την ζήτησή της στην αγορά εργασίας (κυρίως βέβαια στο εξωτερικό) και στη χρήση της από εταιρίες όπως η Google. Επίσης η ταχύτητα ανάπτυξης εφαρμογών και τα επιστημονικά εργαλεία - modules, δείχνουν ότι θα είναι ένα από τα κύρια εργαλεία ανάπτυξης στις επιχειρήσεις και στον ερευνητικό τομέα τα επόμενα χρόνια!
Επιπλέον να πω ότι προβλέπω το μέλλον ακόμα πιο ανοιχτό και ελεύθερο σε όλους τους τομείς από το Software μέχρι το Hardware αλλά και σε θέματα όπως η τέχνη και διακίνηση ιδεών. Όλα αυτά μάλλον τα οφείλουμε στην επανάσταση της Πληροφορίας και το δρόμο που μας έδειξε το Internet και Open Source γενικότερα!
Εντυπώσεις από την κοινότητα;
Οι καλύτερες! χαχα
Χαίρομαι να βλέπω άτομα που μέσα από μία συλλογική προσπάθεια όπως οι TasPython, ή η κοινότητα του PatrasLUG , προσπαθούν να μεταλαμπαδεύσουν τις γνώσεις τους και να συνεργαστούν για να βγάλουν κάτι καλό. Ελπίζω μελλοντικά να δούμε την κοινότητα να επεκτείνει ακόμα περισσότερο τις δράσεις της!
Ο Αποστόλης είναι ένα από τα λαμπρά μυαλά της κοινότητας μας. Έχει πολύ ισχυρό θεωρητικό υπόβαθρο αλλά και γενικότερα σφαιρική κατανόηση του αντικειμένου. Έτσι, θα τον δείτε να σας εντυπωσιάζει με τις ιδέες του ενώ να είναι και πολύ καλός στην υλοποίηση τους. Μας παρουσίασε τους Descriptors.
Ποιος είσαι;
Ονομάζομαι Απόστολος Μπέσσας. Έχω τελειώσει τη σχολή Μηχανικών Η/Υ και Πληροφορικής στην Πάτρα και έχω μεταπτυχιακό από την ίδια σχολή στην Επιστήμη και Τεχνολογία των Υπολογιστών.
Τι παρουσίασες;
Η παρουσίασή μου αφορούσε τη χρήση των descriptors στην Python. Οι descriptors αποτελούν ένα εργαλείο που, χρησιμοποιούμενο σωστά, βοηθάει στην παραγωγή κομψότερου κώδικα. Είναι ένα παράδειγμα της απλότητας της Python ως προς την υλοποίηση και χρήση και ταυτόχρονα της δύναμης της ως γλώσσα.
Χρησιμοποιείς την Python για...
Τα πάντα :) Εντάξει, σχεδόν τα πάντα. Από scripting μέχρι GUI και web applications.
Τι σου αρέσει στην Python;
Η απλότητα της γλώσσας (και σαν υλοποίηση) και οι δυνατότητες που σου παρέχει. Επίσης, ότι το whitespace είναι σημαντικό! Κάνει πολύ εύκολο το διάβασμα κώδικα γραμμένου σε Python.
Τι δεν σου αρέσει;
Η ταχύτητα εκτέλεσης (όχι ότι πλέον είναι τόσο σημαντικό). Πόσο χρόνο θα πάρει μέχρι να μπορούμε να χρησιμοποιήσουμε τις 3.x εκδόσεις.
Τι εξελίξεις προβλέπεις;
Με την υποστήριξη της google, λογικά θα δούμε σύντομα ακόμη σημαντικότερες βελτιώσεις της ταχύτητας εκτέλεσης προγραμμάτων γραμμένων σε Pyhton. Η μετάβαση στην ανάπτυξη web applications θα δώσει μεγαλύτερη ώθηση στη χρήση της, καθώς τα μειονεκτήματά της δεν έχουν τόση σημασία σε τέτοια use cases. Projects όπως το django και το turbogears, αλλά και λιγότερα γνωστά που αφορούν με οποιοδήποτε τρόπο την ανάπτυξη διαδικτυακών εφαρμογών, θα παίζουν όλο και σημαντικότερο ρόλο.
Εντυπώσεις από την κοινότητα;
Πολύ καλή και με αρκετά μέλη. Τα παιδιά είναι ακούραστα!
Ο Παντελής είναι ένα από τα παιδιά που δεν έχασε ούτε μια συνάντηση μας! Πέρα από αυτό, μας βοήθησε κάνοντας δυο πολύ ενδιαφέρουσες παρουσιάσεις:
1. Spam filtering in Python
2. Bioinformatics: Programming in Python
Επίσης παίζει πολύ καλό μπάσκετ! Μπορείτε να τον θαυμάσετε (δυστυχώς από κάρφωμα δεν έχουμε βίντεο) εδώ.
Ποιος είσαι;
Βικάτος Παντελής φοιτητής του τμήματος Μηχ. Η/Υ & Πληροφορικής. Συμμετείχα στην TasPython με δυο παρουσιάσεις και δεν έχασα καμία από τις συναντήσεις μας. Τα ενδιαφέροντα μου είναι η ανάπτυξη εφαρμογών, κατασκευή ιστοσελίδων, ανάκτηση πληροφορίας, εξόρυξη δεδομένων, pattern recognition, bioinformatics και επεξεργασία φυσικής γλώσσας.
Τι παρουσίασες;
Στην Taspython συμμετείχα με δύο παρουσιάσεις με τίτλους "Spam filtering with python" και "Bioinformatics programming in Python". Η πρώτη ξεκίνησε ως μια προσπάθεια να μετατρέψω ένα project που είχα υλοποιήσει για ένα μάθημα επιλογής σε Python γνωρίζοντας τα πλεονεκτήματα και τα έτοιμα εργαλεία που σου προσφέρει η Python.
Μέσα σε αυτό το πλαίσιο ανακάλυψα το module NLTK το οποίο περιέχει ό λες τις δυνατότητες για επεξεργασία φυσικής γλώσσας καλώντας απλώς υλοποιημένες συναρτήσεις και το module BeautifulSoup το οποίο χρησιμοποιείται για parsing Html και Χml αρχείων. Όπως ανέφερα και στην παρουσίαση μου η διαδικασία του spam filtering ανάγεται στο πρόβλημα document categorization οπότε και ανέλυσα όλους τους τρόπους με τους οποίους μπορεί να αντιμετωπιστεί και μίλησα ειδικότερα για την μέθοδο εποπτευόμενης μάθησης NaiveBayes που χρησιμοποίησα στην υλοποίηση. Αυτό που πιστεύω έκανε ιδιαίτερη εντύπωση στην συγκεκριμένη παρουσίαση ήταν η σύνδεση της θεωρίας με την πράξη και η αντιμετώπιση ενός πρακτικού προβλήματος με την χρήση της Python με πολύ καλή απόδοση και λίγες γραμμές κώδικα.
Η δεύτερη ξεκίνησε με μια έρευνα στο google με το ερώτημα: “Bioinformatics & Python “ μέσα στις πρώτες επιλογές ανακάλυψα το module Βiopython με ένα πλήρη οδηγό χρήσης και πολλά παραδείγματα. Αμέσως διαπίστωσα τις ευκολίες αλλά και τις πολλές δυνατότητες που μπορεί να προσφέρει στα άτομα που ασχολούνται με βιοπληροφορική. Η επιβεβαίωση του παραπάνω ισχυρισμού μου ήρθε από τους ίδιους του προγραμματιστές οι όποιοι χρησιμοποιούν ως επί των πλείστων το Biopython module σε αντίθεση με άλλα πακέτα όπως το BioJava και το BioPerl. Στην παρουσίαση έγινε αναφορά σε θέματα διαχείρισης συμβολοσειρών, διαδικασίες parse - read - write βιολογικών αρχείων με διάφορα formats, αναζήτηση από online βάσεις δεδομένων, χρησιμοποίηση WebServices και σε διάφορα πιο ειδικά θέματα. Οφείλω να σημειώσω ότι με αυτή την παρουσίαση πολλοί από τους παρευρισκομένους είχαν την πρώτη τους επαφή με την βιοπληροφορική και κατανόησαν τους τρόπους αντιμετώπισης των διάφορων προβλημάτων που σχετίζονται με την υπολογιστική βιολογία.
Χρησιμοποιείς τη Python για...
Χρησιμοποιώ την Python για προγραμματισμό εφαρμογών και ως βοηθητικό εργαλείο για επιστημονικούς σκοπούς όπως για bioinformatics, pattern recognition, data mining και επεξεργασία φυσικής γλώσσας.
Τι σου αρέσει στη Python;
Η Python είναι σχετικά μια εύκολη γλώσσα ως προς την εκμάθηση και την αναγνωσιμότητα. Μπορείς να γράψεις κάποια εφαρμογή με οποιοδήποτε προγραμματιστική μέθοδο δηλαδή scripting, C-like ή object-oriented. Σε απαλλάσσει από το άγχος της χρησιμοποίησης παράξενων σύμβολων (~=, , eq, '\n', {}...) και σε αναγκάζει με την χρήση των tabs να δομήσεις σωστά τον κώδικά σου. Ο ορισμός των μεταβλητών και η διαχείριση της μνήμης που σε άλλες γλώσσες αποτελεί καταναγκαστικό έργο και βραχνάς στην Python απλά δεν σε απασχολεί. Επίσης η Python συνεργάζεται άψογα με άλλες γλώσσες προγραμματισμού και είναι cross platform.
Τι δεν σου αρέσει;
Αρνητικά στην Python υπάρχουν όπως και σε κάθε άλλη γλώσσα. Ειδικότερα στις scripting γλώσσες το θέμα της ταχύτητας εκτέλεσης και της απόδοσης είναι ένα ζήτημα. Επίσης η ανυπαρξία ενός σύγχρονου IDE για την δημιουργία γραφικών εφαρμογών αποτελεί ένα σημαντικό μειονέκτημα. Όσον αφορά στο multithreading προγραμματισμό τα προβλήματα ελπίζω να διορθωθούν με την νέα έκδοση της Python.
Τι εξελίξεις προβλέπεις;
Σε καιρούς οικονομικής κρίσης η χρησιμοποίηση ελεύθερου λογισμικού και γλωσσών προγραμματισμού σαν την Python αποτελεί μονόδρομο για την ανάπτυξη εφαρμογών και την συντήρηση πληροφοριακών συστημάτων.
Η Python έχει μπει πολύ δυναμικά στο web development και αποτελεί ένα εύκολο και συνάμα ισχυρό εργαλείο στην διαχείριση δυναμικών sites. Προβλέπω ότι παραδοσιακές τεχνικές διαδικτυακού προγραμματισμού όπως η PHP, ASP ίσως να περιοριστούν ή και να λησμονηθούν από την χρήση του Django.
Επίσης η Python προωθείται στον επιστημονικό τομέα κυρίως σε θέματα επιστημονικού υπολογισμού, αριθμητικής ανάλυσης με τα πακέτα SciPy και NumPy και ίσως αντικαταστήσει την Matlab που ναι έχει πολλά καλά χαρακτηριστικά αλλά είναι πανάκριβη. Επιπλέον η Python εντάσσεται στα πανεπιστημιακά τμήματα για εκπαιδευτικούς σκοπούς και σε πολλά διδάσκεται από το πρώτο έτος π.χ. MIT.
Εντυπώσεις από την κοινότητα;
Οι οργανωτές της ομάδας και συνολικά όλα τα παιδιά που συμμετείχαν με τις παρουσιάσεις, την ομαλή διεξαγωγή ακόμα και αυτοί που ασχολήθηκαν με την βιντεοσκόπηση έκαναν τρομερή δουλειά. Ήταν πρωτοποριακό για την σχολή η δημιουργία μιας τέτοιας ομάδας και νομίζω ότι υπάρχουν ακόμα ιδέες για βελτίωση και συνέχιση αυτής της προσπάθειας.
Ακολουθεί η δεύτερη συνέντευξη, αυτή τη φορά από τον Αλέξανδρο Αλτάνη. Ο Αλέξανδρος έχει φανατικό κλαμπ για το χιούμορ του (τουλάχιστον εμένα) και μας απογείωσε με την παρουσίαση του για το Dabo!
Ποιος είσαι;
Είμαι ο Αλέξανδρος. Κάποτε ήμουν ανίδεος, αλλά τώρα είμαι ανίδεος και προγραμματιστής. Σιγά σιγά γίνομαι λιγότερο ανίδεος.
Τι παρουσίασες;
Παρουσίασα το dabo, ένα desktop application framework για python, επειδή ήταν ένα εργαλείο που με βοήθησε σε μια δύσκολη στιγμή (όταν χρειαζόμουν να φτιάξω ένα πρόγραμμα με GUI πάνω σε βάση δεδομένων σχετικά γρήγορα), και θεώρησα ότι θα ήταν ενδιαφέρον να μάθει κι άλλος κόσμος για τα καλά και τα κακά του. Την έκανα on the fly, χωρίς διαφάνειες, απλά δείχνοντας το IDE του framework. Οι εντυπώσεις μου ήταν χείριστες, δεν έχω λάβει ακόμα fanmail.
Χρησιμοποιείς τη Python για...
Για ό,τι μπορώ, εφόσον είναι εύκολη και αρκετά αποδοτική. Αυτή τη στιγμή βέβαια δεν τη χρησιμοποιώ για τίποτα, αλλά ευελπιστώ να τη χρησιμοποιήσω για web development, εφαρμογές με αρκετό string processing, και λοιπά.
Τι σου αρέσει στη Python;
Dynamic typing, επιβεβλημένη ευαναγνωσία, πολύ χρήσιμη και καλοφτιαγμένη standard library, απλή φιλοσοφία, monty python quotes παντού.
Τι εξελίξεις προβλέπεις;
Προβλέπω ότι το pypy θα είναι πιο γρήγορο από τη C++ και σε λίγα χρόνια η NASA θα γράφει drivers για δορυφόρους σε pypython. Επίσης ότι οι υπολογιστές θα αποκτήσουν συναίσθηση του εαυτού τους και θα είναι πολύ φιλικοί.
Εντυπώσεις από την κοινότητα;
TasPy. Η κοινότητα μου άρεσε γιατί ενώ ήταν λίγος κόσμος, οργανώθηκε και κατάφερε να κρατήσει ένα σταθερό πρόγραμμα, να κάνει ενδιαφέρουσες παρουσιάσεις και να κάνει ίσως λίγο γνωστότερη την python στον ακαδημαϊκό χώρο της Πάτρας.
Η Google δημιούργησε ένα εργαλείο, χρησιμοποιώντας την αγαπημένη μας γλώσσα φυσικά, ώστε να μπορούμε να επιτελούμε διάφορες συχνές λειτουργίες μέσα από γραμμή εντολών. Η χρήση του είναι πολύ απλή ενώ για να υλοποιηθεί η επιθυμητή συμπεριφορά χρησιμοποιήθηκαν οι Python gdata libraries. Αν κάποιος το επιθυμεί μπορεί να ρίξει μια ματιά στο πηγαίο κώδικα ο οποίος είναι αρκετά προσεγμένος και μπορεί να μας μάθει αρκετά. Δυστυχώς δεν ακολουθείται πλήρως το PEP 8 αλλά ένα σύνολο άλλων οδηγιών που χρησιμοποιούν εσωτερικά στην Google.