Όπως υποσχεθήκαμε, παρακάτω μπορείτε να βρείτε τα video από την τελευταία μας συνάντηση με τις παρουσιάσεις:
Διαβάστε περισσότερα: Βίντεο παρουσιάσεων τελευταίας συνάντησης
Η χθεσινή συνάντηση θα μπορούσαμε να πούμε ότι ήταν ενδιαφέρουσα από κάθε άποψη, και από πρακτική αλλά και από θεωρητική.
Αρχίσαμε με το Δημήτρη Γλέζο ο οποίος μας μίλησε για το τεχνικό μερος του "Extreme Web Programming", για το οποίο στη FOSSComm στη Θεσσαλονίκη παρουσιάστηκε η διαχειριστική πλευρά. Σε αυτή τη παρουσίαση είδαμε την υποδομή ενός high-availability web application, από Varnish μέχρι SQL sub-query caching, από Amazon S3 Distributed Static Serving μέχρι AMQP job queues. Μάλιστα όπως σημειώθηκε μεταξύ σοβαρού και αστείου, μέσα σε αυτή την παρουσίαση είδαμε την ύλη μίας ολόκληρης σχολής Μηχανικών Η/Υ!
Στη συνέχεια ο Δημήτρης Λεβεντέας, μας έβαλε στα άδυτα του MapReduce, που χρησιμεύει στον κατανεμημένο υπολογισμό για μεγάλα σύνολα δεδομένων σε συστοιχίες (clusters) υπολογιστών. Πρόκειται για μία πλατφόρμα που είναι εύκολη (στην υλοποίηση και χρήση) και αποδοτική παραλληλοποίηση και χρησιμοποιεί και ακολουθιακό και παράλληλο υπολογισμό.
Τις διαφάνειες μπορείτε να τις βρείτε στην πλατφόρμα αρχείων του site. Ενώ εντός ολίγου θα είναι διαθέσιμα και τα video για όσους δεν κατάφεραν να έρθουν!
Το IronPython tools παρέχει έναν επεξεργαστή κειμένου για Python, ένα σύστημα για προτζεκτ βασισμένο σε αρχεία και ένα διαδραστικό διερμηνευτή της Python, όλα αυτά μέσα στο Visual Studio 2010 και όλα δωρεάν.
Πληροφορίες: http://www.ironpython.net/
Πιστεύουμε πως τα βίντεο της προηγούμενης παρουσίασης έπεισαν και όσους δεν μπόρεσαν να παρεβρεθούν για τα πράγματα που έχασαν! Ακόμα και αν όχι, σίγουρα θα πεισθούν από τα θέματα που θα παρουσιαστούν αυτή την Πέμπτη στις 19.00 στην αίθουσα Β3 της σχολής Μηχανικών Η/Υ & Πληροφορικής.
"Extreme Web Programming: Η τεχνική πλευρά του νομίσματος." - Δ. Γλέζος
Στη FOSSComm στη Θεσσαλονίκη παρουσιάστηκε η διαχειριστική πλευρά του εγχειρήματος: Οι extreme διαδικασίες σχεδίασης και διαχείρισης ενός δημοφιλούς έργου ελεύθερου λογισμικού και μιας Software-as-a-Service πλατφόρμας. Από σχεδιασμό ενός release μέχρι τη live διάθεση των χαρακτηριστικών, από υποστήριξη της κοινότητας σε υποστήριξη πελατών. Στην TasPython θα δούμε την τεχνική πλευρά: Η υποδομή ενός high-availability web application, από Varnish μέχρι SQL sub-query caching, από Amazon S3 Distributed Static Serving μέχρι AMQP job queues.
Ιδανικό κοινό: Infrastructure geeks, cold-blooded engineers, acronym freaks.
"MapReduce" - Δ. Λεβεντέας
Το MapReduce είναι ένα framework λογισμικού που είσηχθηκε από την Google για να υποστηρίξει κατανεμημένο υπολογισμό σε μεγάλα σύνολα δεδομένων σε συστοιχίες (clusters) υπολογιστών. Αποτελεί μια από τις πιο διαδεδομένες πλατφόρμες παράλληλου υπολογισμού. Είναι εύκολη (στην υλοποίηση και χρήση) και αποδοτική παραλληλοποίηση και χρησιμοποιεί και ακολουθιακό και παράλληλο υπολογισμό.
Έφτασε η ώρα να ανεβάσουμε τα video από τις παρουσιάσεις της τελευταίας συνάντησης!
Σε αυτά θα δείτε τον Γιώργο Κεραμίδα να μας μιλάει για το Unit Testing και πως αυτό μπορεί να μας δώσει ώθηση προς τη καλύτερη, πιο γρήγορη και πιο αποτελεσματική ανάπτυξη κώδικα.
Επίσης ο Δημήτρης Λεβεντέας δίνει μία motivational παρουσίαση με στόχο να μας βάλει όλους να φτιάξουμε web εφαρμογές, επισημένοντας πολλά πράγματα που ίσως να αγνοούμε, όσο απλά και αν φαίνονται. Η παρουσίαση αυτή βασίζεται στο βιβλίο Getting Real: The smarter, faster, easier way to build a successful web application.
Διαβάστε περισσότερα: Βίντεο παρουσιάσεων προηγούμενης συνάντησης
Το Σαββατοκύριακο που μας πέρασε έγινε η συνάντηση του 3ου συνεδρίου κοινοτήτων ΕΛ/ΛΑΚ (Fosscomm 2010) όπου συμμετείχε και η ομάδα μας. Περάσαμε καταπληκτικά και γυρίσαμε έχοντας στις αποσκεύες πέρα από το ωραίο μπλουζάκι που πήραμε και πολύ όμορφες εμπειρίες αλλά και καινούργιες γνωριμίες.
Στην Θεσαλλονίκη ανεβήκαμε μαζί με την ομάδα PLUG χρησιμοποιώντας δυο αυτοκίνητα. Αφού φθάσαμε Θεσσαλονίκη και βρήκαμε το ξενοδοχείο, πήγαμε μια βόλτα στην πόλη και συναντηθήκαμε μαζί με τους υπόλοιπους στον λευκό πύργο. Αφού κάναμε πολλές βόλτες στην αρχή επειδή μας άρεσε, στην συνέχεια επειδή δεν βρίσκαμε το μαγαζί που θα πηγαίναμε να φάμε(!), τελικά το βρήκαμε και περάσαμε πολύ ωραία. Το βράδυ κοιμηθήκαμε ανυπομωνόντας για την πρώτη μέρα στη FOSSCOMM, όπου και τελικά θα μας άφηνε τις πιο έντονες εντυπώσεις.
Ξεκινήσαμε το πρωί για να προλάβουμε τις εγγραφές, και παρουσιαστήκαμε μαζί και με τις υπόλοιπες κοινότητες το πρωί. Υπήρχε αρκετός ενθουσιασμός ενώ όπως μάθαμε και αργότερα την πρώτη μέρα μόνο γράφτηκαν στο συνέδριο 389 άτομα, με πολλούς ακόμα να μην έχουν κάνει εγγραφή. Πέρα από τις πολύ ενδιαφέρουσες παρουσιάσεις και workshops, γνωριστήκαμε και με άτομα που είχαν κάθε διάθεση να μιλήσεις μαζί τους. Ο κόσμος ήταν πολύ ευχάριστος και είχαμε την ευκαιρία να γνωρίσουμε πολλά ενδιαφέροντα άτομα. Μάλιστα, πέρα από καινούργια πρόσωπα, είδαμε και πολλά γνώριμα μετά από καιρό.
Προς το απόγευμα της ημέρας ήταν η σειρά της κοινότητας μας να κάνει δυο παρουσιάσεις:
1. Global Interpreter Lock - Δημήτρης Λεβεντέας
2. Descriptors in Python - Απόστολος Μπέσσας
Και οι δυο παρουσιάσεις πήγαν πάρα πολύ καλά με την αίθουσα να είναι σχεδόν πλήρως γεμάτη ενώ δεν το περιμέναμε παρά το γεγονός ότι ήταν από τις πιο τεχνικές παρουσιάσεις του συνεδρίου. Είχαμε μάλιστα την τύχη στο κοινό να έχουμε ανθρώπους που γνωρίζαν πολύ καλά το αντικείμενο και βοήθησαν με τις ερωτήσεις τους ώστε να κυλήσουν ακόμα καλύτερα αυτές. Μετά το πέρας των δυο παρουσιάσεων είχαμε την ευκαιρία να γνωρίσουμε ανθρώπους που μας γνώριζαν από την διαδικτυακή μας παρουσία αλλά τώρα μπορούσαμε να συναντηθούμε και από κοντά. Χαμόγελο μας έδωσε η διαπίστωση από κάποιους ότι το όνομα μας είναι πολύ πιασάρικο!
Αφού τελείωσε η πρώτη μέρα των παρουσιάσεων, ακολούθησε το πρώτο βράδυ. Πήγαμε για φαγητό μαζί με άτομα από την οργανωτική επιτροπή (30 άτομα περίπου) όπου και έγιναν ακόμα περισσότερες γνωριμίες. Εντυπωσιακή ήταν η κίνηση που μόλις έφυγε για λίγα λεπτά ώστε να διευθετήσει κάτι ο Χρήστος Μπαχαράκης, ένα παιδί που έτρεξε πάρα πολύ για αυτό το συνέδριο, ο Πιέρρος Παπαδέας ως ένας άνθρωπος που ξέρει πως να προκαλεί ενθουσιασμό μας παρακίνησε να χειροκροτήσουμε για τον Χρήστο, κίνηση που δείχνει γενικότερα το πολύ καλό κλίμα που υπήρχε κατά κανόνα στο συνέδριο.
Η επόμενη μέρα, Κυριακή, συνέχισε να είναι το ίδιο όμορφη με πολύ καλές παρουσιάσεις και την δεύτερη κλήρωση για τα κινητά Android. Πλέον είχαμε δοκιμάσει αρκετές λιχουδιές της Θεσαλλονίκης (μπουγάτσες, πίτες με μουστάρδα και κέτσαπ) και είπαμε για βράδυ να βγούμε για να πιούμε κάτι. Πήγαμε σε ένα μπαράκι και ήπιαμε μπύρες όπου μάλιστα το ένα παιδί από εμάς (ονόματα δε λέμε) ήπιε 4 μπύρες εν ψυχρώ! Ευτυχώς θα γυρίζαμε πίσω την Δευτέρα, αφού πρώτα θα πέρναμε τρίγωνα πανοράματος και θα κάναμε μια στάση στο Μέτσοβο για μεσημεριανό.
Οι εντυπώσεις που μας έμειναν ήταν πάρα πολύ θετικές έως άριστες. Ανυπομονούμε για την επόμενη FOSSCOMM.
Πριν λίγες ώρες ανακοινώθηκαν ποιά τελικά projects έγιναν δεκτά για το Google Summer of Code. Τα ευχάριστα νέα είναι ότι έγιναν δεκτά πολλά projects που προτάθηκαν. Συγκεκριμένα έχουμε:
Είμαστε πολύ χαρούμενοι μετά την χθεσινή συνάντηση! Είχαμε σχετικά αρκετό κόσμο, πολλά νέα πρόσωπα (φαίνεται ο Γιώργος έχει πολλούς φίλους!) και υπήρχε ενδιαφέρον στις παρουσιάσεις.
Αρχίσαμε με τον Γιώργο Κεραμίδα, ο οποίος μας μίλησε για το unit testing χρησιμοποιώντας παραδείγματα από το CUnit. Μας έδειξε ότι παρότι μπορεί να γράφεις τελικά παραπάνω κώδικα, το ότι γνωρίζεις μόλις τα τεστ περάσουν ότι ο κώδικας που γράφεις έχει την προβλεπόμενη συμπεριφορά, επιταγχύνει την διαδικασία ανάπτυξης. Ένα επιπρόσθετο χαρακτηριστικό είναι ότι βοηθάει στο να έχεις μετρήσιμους στόχους, όπως επίσης προσφέρει και ένα ψυχολογικό ερέθισμα όταν βλέπεις τον αντίκτυπο της δουλειάς σου μόλις περνάνε τα τεστ. Πολύ ενδιαφέρουσες ήταν και οι ερωτήσεις που ακολούθησαν, οι οποίες και ξεδιάλυναν αρκετές απορίες που θα μπορούσε να έχει κάποιος. Τις διαφάνειες οι οποίες χρησιμοποιήθηκαν μπορείτε να τις βρείτε στην πλατφόρμα αρχείων.
Στην συνέχεια, είδαμε μια κυρίως motivational παρουσιάση με προτάσεις για την δημιουργία μιας web εφαρμογής που βασιζόταν στο βιβλίο Getting Real: The smarter, faster, easier way to build a successful web application. Η παρουσίαση μπορεί να συνοψιστεί στο μότο "Φτιάξτο τώρα, βελτίωνε το συνέχεια" και καταδείκνυε τις διαφορές με τις κλασικές προσεγγίσεις δημιουργίας software το οποίο θα πουλιώταν στα ράφια των καταστημάτων. Η διαφάνειες και αυτής της παρουσίασης μπορούν να βρεθούν στην πλατφόρμα αρχείων.
Για όσους δεν μπορέσαν να παρεβρεθούν στην παρουσίαση, θα ανέβουν σε λίγο καιρό και βίντεο από την παρουσίαση.
Μετά τις διακοπές του Πάσχα ήρθε καιρός για την επόμενη συνάντηση της ομάδας μας. Αυτή την φορά έχουμε την χαρά να έχουμε ως παρουσιαστή τον Γιώργο Κεραμίδα που θα μας μιλήσει για unit testing, καθώς και θα δούμε και μια παρουσίαση με προτάσεις για την δημιουργία διαδικτυακών εφαρμογών. Η συνάντηση θα πραγματοποιηθεί την Πέμπτη στις 19.00 στην αίθουσα Β3 της σχολής Μηχανικών Η/Υ & Πληροφορικής.
Το unit testing είναι μια διαδικασία μέσω της οποίας ο προγραμματιστής μπορεί να ελέγξει την ορθότητα των εφαρμογών του. Συνήθως ελέγχονται επιμέρους λειτουργίες (units) κατά πόσο πληρούν ορισμένες συνθήκες λειτουργίες. Σαν τεχνική χρησιμοποιείται και στο test driven development (TDD), μια τεχνική που έχει γίνει ιδιαιτέρως δημοφιλείς τα τελευταία χρόνια. Ο Γιώργος Κεραμίδας είναι ένας Unix hacker και πολλά παραπάνω. Το όνομα του θα το βρείτε στην λίστα με τους κύριους FreeBSD committers.
Η δεύτερη παρουσίαση της βραδιάς θα βασιστεί στο βιβλίο Getting Real: The smarter, faster, easier way to build a successful web application και όπου θα δούμε ορισμένες σύγχρονες πρακτικές για την ανάπτυξη web εφαρμογών. Πολλοί κανόνες από αυτούς θα προκαλέσουν έκπληξη, αποτέλεσμα του ευμετάβλητου πεδίου που αποτελεί το web. Το συγκεκριμένο βιβλίο προτείνεται στα πλαίσια ενός μαθήματος στο Stanford που αφορά την ανάπτυξη εφαρμογών που επικεντρώνονται γύρω από το facebook. Της παρουσίασης επιμελείται ο Δημήτρης Λεβεντέας.
Το Golly είναι ένας προσομοιωτής (simulator) κυψελωτών αυτόματων (cellular automata).
Ένα κυψελωτό αυτόματο αναπαρίσταται από ένα πλέγμα από κελιά τα οποία μπορούν να "χρωματιστούν" με διάφορες τιμές, με βάση κάποιες αρχικές συνθήκες και ένα σύνολο κανόνων, σχηματίζοντας συγκεριμένα μοτίβα (patterns). Οι πιο διαδεδομένοι κανόνες είναι αυτοί του Παιχνιδιού της Ζωής του (John Horton) Conway (Conway's Game of Life): αν δίπλα σε ένα κελί υπάρχουν λιγότερα από δύο ή περισσότερα από τρία "αναμμένα" κελιά, αυτό σβήνει. Αν δίπλα σε ένα κελί υπάρχουν ακριβώς τρία κελιά, αυτό "ανάβει". Έτσι ανάλογα με τις αρχικές τιμές μπορούν να προκύψουν διάφορα μοτίβα (π.χ. σχήματα διαστημόπλοιου ή βαλλιστικής).
Το Golly λοιπόν περιέχει μια μεγάλη συλλογή μοτίβων με βάση τους κανόνες του Conway (και όχι μόνο) που μπορούμε να προσομοιώσουμε είτε βήμα προς βήμα είτε συνεχόμενα, ενώ φυσικά μπορούμε να ορίσουμε τους δικούς μας κανόνες, σύνολο τιμών και αρχικές συνθήκες για το αυτόματο μας μέσω Python scripting.