Tag archive: Tech/web
-
Tip of the day: Virtual object properties
Here’s a trick I learned today from Chris that’s worth sharing: creating “virtual” attributes for objects (in need for a better wording).
Here’s a use-case: we have a person with a Name and a Surname — how could we access its full name in one string like
person.full_name? You could do that with Python’s@propertydecorator:class Person(object): def __init__(self, name, surname): self.name = name self.surname = surname @property def full_name(self): return "%s %s" % (self.name, self.surname) p=Person('John', 'Doe') print (p.name, p.surname) ('John', 'Doe') print p.full_name John DoeWithout the decorator we would need to access the string as
person.full_name(), instead of the simpler and more intuitiveperson.full_name. Pretty neat.
-
Meaningless framework statistics
IRC Channel Users #python 604 #ruby 204 #django 468 #rubyonrails 349 #turbogears 51
-
Open Coffee Patras I — Recap and photos
Πάνε περίπου 2 μήνες όταν συνάντησα το Γιώργο Τζιραλή στην Αθήνα, στο fosscomm ’08. Συμπάθησα αμέσως τον ίδιο και τον τρόπο που βλέπει την επιχειρηματικότητα στην Ελλάδα, έτσι είπαμε χωρίς πολλά πολλά “γιατί δεν κάνουμε ένα Open Coffee στην Πάτρα”;
Έχω ίσως ακουστεί να λέω πολλές φορές στο παρελθόν ότι δεν υπάρχει ανεργία στην Ελλάδα, με την έννοια της έλλειψης ευκαιριών καλής καριέρας, τουλάχιστον για άτομα με όρεξη. Τα Open Coffee είναι ένα τρανό παράδειγμα του πώς μπορούν να βρεθούν bottom-up αντίδοτα στις προκλήσεις αυτές. Εκεί συναντάς άτομα με ιδέες και όνειρα, και πάνω από όλα όρεξη να τα κάνουν πραγματικότητα, αλλά και άλλα άτομα που ήδη κατάφεραν να βρουν τρόπους να προσφέρουν αξία στην αγορά, και συνεπώς, να πάρουν χρήματα για αυτήν τους την προσφορά. Με άλλα λόγια: αν δε βρίσκεις τη δουλειά που θα ήθελες να κάνεις, γιατί δεν τη δημιουργείς ο ίδιος; :-)
Όντας πια κάτοικος Πάτρας (η Αγγλία μου φάνηκε κάπως βαρετή, η Αθήνα κάπως μουντή) σκέφτηκα ότι θα ήταν ενδιαφέρον να οργανώσουμε ένα Open Coffee στην Πάτρα. Χαίρομαι πολύ που το ίδιο πίστεψαν και άλλα 50-60 άτομα, που την Παρασκευή μας συνάντησαν στο όμορφο εστιατοριάκι “Μαρκάτο” (πρώην Άρωμα) στον πεζόδρομο της Γεροκωστοπούλου. Όταν ξεκινήσαμε τις ομιλίες, το μέρος κατάφερε να είναι φίσκα στον κόσμο. Τέλεια! Φανταστικός τρόπος να ξεκινήσει ο κύκλος των Open Coffee και στην όμορφη πόλη των Πατρέων.
Τελευταία με απασχολεί αρκετά κι εμένα τον ίδιο η πιθανότητα για μια δική μου startup, και συγκεκριμένα γύρω από το ελεύθερο λογισμικό. Θέλοντας να μάθω περισσότερα για αυτό το θέμα λοιπόν, ποιος καλύτερος τρόπος από το να ετοιμάσω μια παρουσίαση! Έτσι, πήρα το βήμα για ένα τεταρτάκι στο Open Coffee για μια μικρή ομιλία με τίτλο “Open source for fun and profit” και θέμα το πώς μπορεί μια επιχείρηση να βγάλει χρήματα από το ελεύθερο λογισμικό (διαφάνειες, ήχος).
Το βραδάκι το περάσαμε παρέα με μεζέδες και το “λήξαμε” κατά τις 2. Ωραία μέρα! Ένα μεγάλο ευχαριστώ στην Αθανασία και τον Παναγιώτη του Μαρκάτο που έκαναν το event πραγματικότητα.
Φωτογραφίες από το event στο:
/photos/events/opencoffee-patras1/
Περισσότερες φωτό από τον stylianosm.
‘Till next time (ας πούμε αρχές Ιούλη, όπως 4/7). Για ενημέρωση, εγγραφείτε στο ενημερωτική λίστα opencoffee-patras.
Ενημέρωση 21/5: Χάρη στο Στέλιο Μυστακίδη, η παρουσίαση μου είναι τώρα διαθέσιμη και σε ακουστική μορφή (ogg vorbis, ~7 MiB).
-
Giving away serverhive.com
I’m considering giving serverhive.com away. It hosted a dozen popular blogs of Greek technologists, and a few NGOs. Pagerank of 4 IIRC. If you’d like it, drop me an email.
-
OpenCoffee Patras I speakers
Με το OpenCoffee Patras I σε 2 ημέρες, σήμερα ανακοινώσαμε και τις σύντομες ομιλίες που θα έχουμε. See you there.
-
Webfaction and Dreamhost
Chatting with Diego, I remembered how happy I am with Webfaction and unhappy with Dreamhost.
- Webfaction
glezos@webfaction:~$ uptime 09:25:19 up 255 days, 20:45, 6 users, load average: 0.20, 0.28, 0.37- Dreamhost
glezos@dreamhost:~$ uptime 07:25:44 up 79 days, 19:50, 3 users, load average: 28.69, 43.53, 42.93
Heh. Sometimes
uptimeis worth a thousand words. I couldn’t be happier.If you’d sign up, feel free to use this link, which will give a few bucks to a couple of open source chaps.

-
Permanent URLs advice #47
Αν είστε κινηματογράφος και έχετε μία σελίδα με τίτλο “Οι ταινίες σήμερα”, προς Θεού μη βάλετε τον αριθμό της ημέρας στο URL αν θέλετε οι χρήστες σας να κάνουν bookmark τη σελίδα και ο σελιδοδείκτης να δουλεύει και τις υπόλοιπες ημέρες της εβδομάδας.
-
FOSSComm ’08 recap
-
Πολύ το χάρηκα το FOSSComm (original post). Είναι εξάλλου κάπως προφανές ότι θα περάσεις γαμάτα άμα μαζευτείς μαζί με ένα μάτσο opensource-άδες στον ίδιο χώρο και αρχίσεις τις συζητήσεις και τα flames.
Και το ότι μετά από μία ολόκληρη μέρα συνεδρίου συνεχίζαμε να τα λέμε σε κάποια ταβέρνα ή καφετέρια, λέει πολλά. ;-)
Μερικά στιγμιότυπα που απαθανάτισα είναι όλα μαζί στη συλλογή Πρόσωπα του FOSSComm.
Η παρουσίαση μου (όπως σχεδόν πάντα) δεν ήταν τελειωμένη μέχρι το προηγούμενο βράδυ. Όταν έστειλα τον τίτλο είχα σκεφτεί πως δεν ήθελα να διαλέξω “μία” κοινότητα που λαμβάνω μέρος, γιατί αυτό δεν έχει και πολύ νόημα. Γιατί να μιλήσω για το Fedora κι όχι για το Patras LUG; Έτσι ο τίτλος που έστειλα ήταν “Fedora, GNOME, Django, Patras LUG… λίγο από όλα”.
Το βράδυ λοιπόν σκέφτηκα να μην παρουσίασω μόνο αυτό. Ναι, είναι πολύ ενδιαφέρον το τι κάνουμε σε αυτές τις κοινότητες και σε μερικές γίνεται πολύ ομαδική δουλειά. Όντας όμως ένα συνέδριο περί “Κοινοτήτων”, και με αρκετά καλό content, είπα να πω μερικές σκέψεις μου περί “Κοινοτήτων” γενικά, να δούμε λίγο το δάσος και να μελετήσουμε λίγο το context. (Εκ των υστέρων συνειδητοποιώ ότι ήταν από τις καλύτερες παρουσιάσεις που έχω κάνει ποτέ.)
Μετονομασία σε “Community foo” λοιπόν.
(OMG!!1!! Το πρώτο μου online video! I AMZ L33T. Thx Νίκο για την κινηματογράφηση. Το βίντεο μπορείτε επίσης να το κατεβάσετε ελεύθερα σε Ogg Theora μορφή.)
Οι συναντήσεις μετά το συνέδριο ήταν απολαυστικές, ο ~keramida τα λέει καλύτερα. Γενικώς, μπορώ να πω ότι απόλαυσα το συνέδριο, και ότι ανυπομονώ για το επόμενο.
’till the next time, λοιπόν!
-
Quantum browsing
Σήμερα, στην ίδια ιστοσελίδα, εμφανίστηκαν τα παρακάτω δύο banners ταυτόχρονα:

Δε μπορώ να πω ότι ένιωσα το βάρος μου να αυξάνεται ιδιαίτερα.
-
Zagreb reporting — chapter 2

Juggling circus in ZagrebOpen Translation Tools is rolling on nicely. We’re having some interesting discussions covering almost every aspect of localization. I’m glad to notice that there aren’t only technical discussions, and the atmosphere is to study what the needs are and how could they be covered.
Two interesting topics that receive attention are community management and translation workflows. Open source projects like GNOME, Fedora and other ones are lucky to have an awesome community very motivated to contribute. Not all projects are that lucky though, but this doesn’t necessarily mean that the translators don’t want to contribute to that project. It might just mean that they haven’t heard about it or that it’s too difficult to do it in a systematic way.
Take FLOSS manuals for example. It’s a cool project that helps you compose documentation in a wiki-style way, which can end up in a PDF or even a book from lulu. While they do it in a novel and useful way, they face some challenges in the translation aspect, like how to find translators and make it easy for them to keep up with the projects new docs.
Another challenage is the workflow they will adopt. Create a new community using a custom web-based tool or do it on top of PO/XLIFF files available for external communities to contribute to? While with the first approach you may save resources (arguable!), with the latter one (small, modular tools over standard file formats) you get interoperability with other tools like Damned Lies, Transifex and Pootle, and can give the opportunity to remote communities to contribute to your project.
On the technical side, we had some really interesting discussions. With Danilo Šegan of GNOME fame and Dwayne Bailey of Pootle and Translate Toolkit fame, we discussed how to increase interoperability between the tools we write. For example, having a common object model and standard APIs would greatly help in having all three tools (Damned Lies, Transifex, Pootle) work together in an integrated fashion.
Off to the event’s most anticipated party. Each participant brought an alcoholic beverage from their country. Add to that huge amounts of beer, several bottles of local vodka, etc and you might come close to what’s going to take place. From Greece I brought (what else) Ouzo, the anise-flavor liqueur that usually accompanies fresh seafood in Greece.

-
“Γενέθλεια” Livepedia
Η LivePedia ξεπέρασε τα 100.000 άρθρα! Για όσους δεν την έχουν ακούσει, πρόκειται για μια ελληνική ελεύθερη εγκυκλοπαίδεια, σαν τη Wikipedia, με (αρχικό) χορηγό περιεχομένου τη Magenta. Έστω κι αν δεν έγιναν ακόμη ένα ενιαίο έργο με την ελληνική Βικιπαίδεια (νυν υπέρ πάντων η συνεργασία!), χάρηκα πολύ για την μεγάλη επιτυχία του έργου. Και εις ανώτερα!
-
iPhone wrap-up
Χθες είχα μια ωραία κουβέντα με τον Αντρέα Λουκά (of CyLUG fame) σχετικά με τα iPhone, τη λογική των ξεκλειδωμάτων και την ανοιχτότητα που πολλοί αποζητούν από ένα προϊόν, το οποίο πιο ξεκάθαρα δε θα μπορούσε να φωνάζει “είμαι όσο κλειστό πάει, είτε σου αρέσει είτε όχι”. Ο Mark Pilgrim, ως συνήθως, τα λέει καλύτερα από εμένα, στην καταχώρηση του “Αν οι ευχές ήταν iPhones…“.
-
Σκουλουκιασμένα μήλα
-
Όταν λέω ότι η Apple είναι χειρότερη από την MS αρκετοί με βγάζουν τρελό. Δε μου έχουν μείνει δάχτυλα να μετρήσω τους λόγους που δε θα αγοράσω ξανά μηχάνημα Apple. Φυλάω μόνο ένα για να χρησιμοποιώ όταν βλέπω διαφημίσεις, ειδήσεις για ακόμη ένα κλειστό format ή μια μονοπωλιακή τακτική, και όταν με πλησιάζουν εκστασιασμένα fanboys με τα σάλια να τρέχουν.
Κι αν ήταν μόνο τα ιδεολογικά θα ήταν καλά· μετράω ήδη υπερτιμημένα καμένα motherboard και τροφοδοτικά, χάλια οθόνη, υπερβολικό βάρος και linux χωρίς Adobe Flash και Sun Java στο iBook, μηδέν διαλειτουργικότητα στο iPod, και εκνευριστικά χαμηλή λειτουργικότητα και αποδοτικότητα στο Mac OS X.
Να μου λείπει το βύσσινο. Έχει κι αλλού πορτοκαλιές που κάνουν πορτοκάλια (για τα δικά μου γούστα φυσικά).
-
RSS, Πλανήτες και Django
Δυστυχώς είναι συχνό φαινόμενο να εμφανίζονται διπλές μερικές καταχωρήσεις στους Πλανήτες, όπως συμβαίνει για παράδειγμα στο planet.ellak.gr με το feed (ροή) του django.gr weblog.
Αυτό από ότι κατάλαβα συμβαίνει με τις ροές RSS που δεν έχουν πεδία
pubDate, τις οποίες το λογισμικό planet δε μεταχειρίζεται σωστά. Αν κάτι αλλάξει σε μία καταχώρηση μιας τέτοιας ροής, τότε το planet υποθέτει ότι είναι νέα καταχώρηση, την αναρτά, και δε σβήνει την παλιά γιατί είναι ήδη δημοσιευμένη. Αυτό που θα έπρεπε να κάνει όμως είναι να συγκρίνει κάπως τις δύο καταχωρήσεις αν δεν υπάρχει το pubDate, πχ. ελέγχοντας το<link>tag τους πριν αποφανθεί ότι είναι διαφορετικές καταχωρήσεις. Μια και είναι δημοφιλές λογισμικό, θέλω να πιστεύω ότι η λειτουργικότητα αυτή είναι σχεδιαστική απόφαση κι όχι κάποιο σφάλμα (it’s a feature, not a bug).Από την πλευρά μας αυτό που μπορούμε να κάνουμε είναι απλά να προσθέσουμε το πεδίο
pubDateστα feed που δεν το έχουν. Στα RSS 2.0 και Atom τουλάχιστον, γιατί αν διαθέτουμε μόνο ένα παλαιολιθικό RSS 0.92, δεν έχουμε τέτοια επιλογή χωρίς να κάνουμε τη σύνταξη της ροής μη-έγκυρη ως προς το πρότυπο.Το django.gr είναι γραμμένο σε Django (προφανώς), και ο κώδικας που παράγει τη ροή RSS είναι ο παρακάτω:
class WeblogEntryFeed(Feed): title = "The Greek Django User Group weblog" link = "http://www.django.gr/weblog/" description = "Latest news about Django, the Python Web framework," + \ " from the Greek Django User Group." def items(self): return Entry.objects.filter(pub_date__lte=datetime.datetime.now())[:10]Για να μορφοποιήσουμε τη ροή ώστε να περιέχει για κάθε άρθρο και την ημερομηνία δημοσίευσης, προσθέτουμε τα εξής:
def item_pubdate(self, item): return item.pub_dateΑυτά.
-
Web frameworks
-
Προσπαθώ να μη σκέφτομαι πώς στο καλό αναπτύσσαμε ιστότοπους πριν την ύπαρξη των web app frameworks.
Τρέμω μη χρειαστεί στο μέλλον να ανάψω φωτιά με πέτρες, ή να γράψω κάτι χωρίς Django ή TurboGears (για τους τρέντουλες Ruby on Rails, για τους S&M CakePHP, …).
Μπρρ.
-
Το αδηφάγο κήτος
Το πιο πιθανόν είναι να έχεις εκνευριστεί κάποια στιγμή με έναν παλαβό συζητητή, ή να έχεις δει κάποιον άλλο να το παθαίνει. Έναν συζητητή που σε κάθε λογική άποψη που διατυπώνεις, απαντά με ένα εντελώς ασυνάρτητο κατεβατό. Κι όσο απαντάς, τόσο περισσότερο τον ανάβεις. Όσο πιο πολλή σημασία δίνεις, τόσο πιο πολύ πεινάει για περισσότερη.
Η λύση είναι:
Μην ταΐζεις το αδηφάγο κήτος!
Από σήμερα, υπάρχει ένα μέρος που μπορείς να επισκέφτεσαι όταν πέφτεις σε αυτήν τη παγίδα, ή να το δίνεις σε όποιον φουκαρά βλέπεις να το παθαίνει.
Spread the word.
-
Elegance
Η ατάκα της ημέρας: “Η κομψότητα έχει το μειονέκτημα ότι χρειάζεται κανείς σκληρή δουλειά για να την πετύχει, και καλή εκπαίδευση για να την εκτιμήσει.” — E. W. Dijkstra
-
MPAA tricks
Μια λέξη μου έρχεται στο μυαλό: γλοιώδες.





