Έλα μέσα, έχουμε την απάντηση.

Εάν τα blogs μπορούσαν να μιλήσουν, αυτό δεν θα το έκλεινες ποτέ.

Γιατί Joomla

Λογότυπο Joomla

Ξεκίνησα να φτιάχνω ιστοσελίδες πριν από περίπου 16 χρόνια. Ήταν μόλις το 2008 όταν αποφάσισα να ασχοληθώ επαγγελματικά με την κατασκευή ιστοσελίδων οπότε και άρχισα να δοκιμάζω διάφορα CMS (WordPress, Joomla, Drupal, MODX κλπ) για να βρω αυτό που θα μου ταίριαζε καλύτερα και θα μπορούσε να απλοποιήσει τη δουλειά μου. 

Όντας αρχάριος στον χώρο της κατασκευής ιστοσελίδων ξεχώρισα το WordPress επειδή το περιβάλλον διαχείρισης που είχε μου φάνηκε πολύ πιο εύκολο και φιλικό προς τον χρήστη από τα υπόλοιπα CMS που δοκίμασα. Έτσι, έμαθα να φτιάχνω τα δικά μου θέματα (themes) και να χτίζω ιστοσελίδες πάνω σ’ αυτό το υπέροχο CMS και ήμουν πολύ χαρούμενος γι’ αυτό.

Άσχημα νέα!

Δυστυχώς, έφτασε η ώρα (σχετικά νωρίς) της ανώμαλης προσγείωσης. Ήταν τότε που έμαθα ότι περίπου το 30% των ιστοσελίδων παγκοσμίως είχαν χακαριστεί! Το φοβερό όμως ήταν ότι αυτά τα sites ήταν όλα χτισμένα επάνω στο WordPress. Ήταν μια μαζική επίθεση εναντίον του WordPress. 

Έπαθα σοκ! Σε αυτό το CMS είχα επενδύσει πάρα πολύ χρόνο, κόπο και χρήμα ώστε να μπορέσω να μάθω όλα τα μυστικά του και να γίνω όσο πιο παραγωγικός γινόταν. Τώρα τι; Τι γίνεται από ‘δω και πέρα; Έχοντας εμπειρία στον προγραμματισμό από τις αρχές της δεκαετίας του '90, η βασικότερη αρχή μου σε οτιδήποτε έκανα ήταν η ασφάλεια. Ασφάλεια πάνω απ’ όλα.

Βρέθηκα αντιμέτωπος με ένα δίλλημα: ή θα έπρεπε να καταπατήσω την βασική μου αρχή ή θα έπρεπε να πετάξω στα σκουπίδια όλα αυτά που επένδυσα για να μάθω το WordPress. Χωρίς δεύτερη σκέψη αποφάσισα το δεύτερο. Η απόφασή μου αυτή νομίζω ότι με δικαίωσε μιας και από εκείνη την περίοδο έως και την ώρα που γράφονται αυτές οι γραμμές έχουν πραγματοποιηθεί πολλές ακόμα τέτοιες επιθέσεις με θύμα το κακόμοιρο WordPress.

Η ώρα του Joomla!

Και τώρα ξεκινάει από την αρχή η αναζήτησή μου για το κατάλληλο CMS. Δεν ήταν δύσκολο να διαλέξω μιας και εξ αρχής το δεύτερο CMS που είχα στην προτίμησή μου ήταν το Joomla. Πάμε πάλι από την αρχή. Έπρεπε να μάθω να φτιάχνω τα δικά μου themes (στο Joomla λέγονται templates) αλλά και να διεισδύσω σε ένα σύστημα με πρακτικά ατελείωτες δυνατότητες. Αυτό ήταν το φαινομενικά πιο δύσκολο κομμάτι σε σχέση με το WordPress (στο οποίο για να επιτελέσεις ακόμα και βασικές λειτουργίες έπρεπε να χρησιμοποιήσεις κάποιο έτοιμο plugin ή να το φτιάξεις μόνος σου). 

Είπα plugin;

Μόλις βρήκα το βασικό πρόβλημα του CMS που είχα αγαπήσει. Σχεδόν για κάθε λειτουργία χρειάζεσαι ένα plugin πράγμα το οποίο ανοίγει κερκόπορτες στους επίδοξους χάκερς. Δυστυχώς, δεν γίνεται να γνωρίζεις αν κάθε plugin το οποίο χρησιμοποιείς θα έχει ποιοτικό κώδικα και αν θα πληροί τις βασικές αρχές ασφαλείας. Επίσης, δεν ξέρεις αν ο developer θα συνεχίσει να το ενημερώνει και να το κρατάει συμβατό με κάθε νέα έκδοση του CMS. Δηλαδή, με το επόμενο update του WordPress θα συνεχίσει να δουλεύει το plugin ή μήπως εξαιτίας του θα καταρρεύσει ολόκληρο το site;
Αρκετά όμως με τα παλιά, αυτά ανήκουν στο παρελθόν.

Βρήκα το ιδανικό;

Έχουν γραφτεί άπειρα άρθρα για το καλύτερο CMS. WordPress vs Joomla, WordPress vs Drupal, WordPress vs Joomla vs Drupal και ο κατάλογος δεν τελειώνει.

Από την εμπειρία μου θα πω ότι δεν υπάρχει ιδανικό CMS. Κάθε CMS έχει το δικό του πεδίο εφαρμογών, τα υπέρ και τα κατά του. Το ιδανικό CMS είναι αυτό που πρώτα απ’ όλα είναι ασφαλές αλλά και που σε βοηθάει να κάνεις την εκάστοτε δουλειά πιο εύκολα και γρήγορα, βοηθώντας σε να φέρεις το καλύτερο αποτέλεσμα. 

Προσωπικά, αυτό που με ενδιέφερε ήταν να βρω ένα CMS το οποίο θα είχε εξ αρχής όλες τις βασικές λειτουργίες που θα μπορούσαν να μου χρησιμεύσουν για την κατασκευή μιας ιστοσελίδας και έτσι δεν θα είχα την ανάγκη να χρησιμοποιήσω επεκτάσεις κατασκευασμένες από τρίτους προγραμματιστές. Αυτό σημαίνει ότι θα απέφευγα όσο το δυνατόν περισσότερο τα προβλήματα που ανέφερα παραπάνω αλλά και θα μείωνα το κόστος κατασκευής και συντήρησης μιας ιστοσελίδας πράγμα που τελικά αποβαίνει εις όφελος του πελάτη. Αυτά και άλλα πολλά που θα δούμε παρακάτω, ανακάλυψα ότι μπορώ να τα κάνω με το Joomla!

Βασικά χαρακτηριστικά:

Αρχικό Μενού Joomla

Η οργάνωση του Πίνακα Διαχείρισης (Backend Organization)

O πίνακας διαχείρισης του Joomla είναι πολύ πιο οργανωμένος και οι διαθέσιμες επιλογές είναι πολύ πιο απλές από ότι σε άλλα CMS. Αποτελεί ένα σοβαρό εργαλείο για την εύκολη δημιουργία και διαχείριση περιεχομένου καθώς και τον έλεγχο και τη διατήρηση όλων των ειδών ιστοσελίδων: από ένα προσωπικό ιστολόγιο έως ένα μεγάλο διεθνές πόρταλ.

Αν ρίξετε μια ματιά στις γενικές ρυθμίσεις του Joomla θα βρείτε επιλογές για τα πάντα: ανακατευθύνσεις, ρυθμίσεις SEO, ρυθμίσεις ηλεκτρονικού ταχυδρομείου, προσωρινή μνήμη (caching), επιλογές παραμέτρων και πολλά άλλα. Αντί να έχετε παραμέτρους για μερικά μόνο στοιχεία του site σας, έχετε παραμέτρους για όλα τα στοιχεία. Δεν είναι υπέροχο;

Για όσους χρήστες χρειάζονται μια καλή οργάνωση στο backend, το Joomla είναι ίσως η καλύτερη επιλογή. Βέβαια, όλες αυτές οι επιλογές και οι παράμετροι θα απαιτήσουν λίγο περισσότερη δουλειά από τον χρήστη και ιδιαίτερα από τους αρχάριους οι οποίοι θα χρειαστούν μεγαλύτερο χρόνο εκμάθησης. Ωστόσο, ο επιπλέον αυτός χρόνος αξίζει τον κόπο λόγω της αυξημένης λειτουργικότητας.

Δομή

Η δομή του Joomla είναι ξεκάθαρη. Υπάρχουν κατηγορίες και κάτω από κάθε κατηγορία υπάρχουν άρθρα. Κάθε άρθρο ανήκει σε μια κατηγορία αλλά μπορείς να συσχετίσεις άρθρα διαφορετικών κατηγοριών μεταξύ τους χρησιμοποιώντας τις ετικέτες (tags). Αρκετά ξεκάθαρη δομή την οποία μπορεί να καταλάβει και ο πιο αδαής χρήστης. Δεν υπάρχουν μπλεξίματα μεταξύ αναρτήσεων και σελίδων όπως αλλού.

Αν θέλετε να προσθέσετε ένα νέο μενού, η επιλογή είναι υπερβολικά απλή και δεν απαιτεί να γράψετε ένα σωρό κώδικα. Το ίδιο και αν πρέπει να περιορίσετε τα άρθρα σε ορισμένες σελίδες. Μπορείτε να κάνετε εύκολα και γρήγορα όλα όσα χρειάζεστε.

Μενού Άρθρων και Περιεχομένου

Περιεχόμενο

Μπορείς να κατατάξεις τα άρθρα με την σειρά που εσύ επιθυμείς. Επίσης, μπορείς αν θέλεις (ή αν οι συνθήκες το απαιτούν) να προγραμματίσεις την ημερομηνία έναρξης αλλά και λήξης της δημοσίευσης ενός άρθρου ή ενός module (θα δούμε παρακάτω τι είναι τα modules). Στα άρθρα έχεις τη δυνατότητα αν το θέλεις να χρησιμοποιήσεις διαφορετική φωτογραφία για την περίληψη και διαφορετική για το κυρίως άρθρο. Κάτι πολύ χρήσιμο είναι και η δυνατότητα να επαναφέρεις παλαιότερη έκδοση του άρθρου σου (versioning).

Επίσης έχεις τη δυνατότητα να δημιουργήσεις όσα αντίγραφα θέλεις από σχεδόν οτιδήποτε: κατηγορίες, άρθρα, modules, μενού και άλλα πολλά, μπορείς με ένα κλικ να τα κλωνοποιήσεις και να τα επεξεργαστείς. Και όλα αυτά χωρίς την ανάγκη κάποιου πρόσθετου!

Πίνακας Ελέγχου Παρακάμψεων

Παρακάμψεις (Overrides)

Το Joomla είναι δομημένο πάνω στο μοντέλο MVC (Model-View-Controller). Μια μοντέρνα αρχιτεκτονική η οποία παρέχει μεγάλη και εύκολη προσαρμοστικότητα. Επάνω στην ίδια αρχιτεκτονική είναι δομημένη και η πλειοψηφία των επεκτάσεων του Joomla. Η δυνατότητα, (λόγω αυτής της MVC αρχιτεκτονικής) να παρακάμψετε τα πάντα, από τη γλώσσα μέχρι το template και τις επεκτάσεις, καθιστούν το Joomla ένα από τα πιο ισχυρά CMS και ένα εξαιρετικό πολυεργαλείο στα χέρια ενός προγραμματιστή.

Ελαστικότητα

Για πολλούς, η ελαστικότητα είναι το παν.

Με το Joomla μπορείς να προβάλλεις διαφορετικούς τύπους περιεχομένου στην ίδια ιστοσελίδα. Για παράδειγμα, αν θέλεις το blog σου να έχει διαφορετική εμφάνιση από την σελίδα προϊόντων το μόνο που έχεις να κάνεις είναι να αντιστοιχίσεις στην κάθε ενότητα ένα διαφορετικό template. Ο τρόπος πολύ απλός. Απλά εγκατέστησε το template που θέλεις, αντιστοίχισέ το στα στοιχεία μενού που θέλεις και είσαι έτοιμος.

Επίσης, κάτι ακόμα που σου λύνει τα χέρια είναι ότι στα στοιχεία μενού υπάρχουν πάρα πολλές ρυθμίσεις και δεν εξαρτάσαι αποκλειστικά από τις γενικές ρυθμίσεις.

Μενού Modules

Modules

Άλλο ένα μεγάλο κομμάτι που συμβάλλει στην ελαστικότητα του Joomla είναι τα modules (ενθέματα εις την ελληνική). Τα modules είναι «μικρές» επεκτάσεις (κάτι σαν τα "widgets" του WordPress)  τα οποία μπορείς να εντάξεις σε διάφορες θέσεις της σελίδας σου (τα templates του Joomla έχουν πολλές τέτοιες θέσεις) και τα οποία εμφανίζουν συγκεκριμένους τύπους προκαθορισμένου περιεχομένου. Τυπικά παραδείγματα είναι τα login module, banner module, slideshow module, latest news module κλπ.

Τα modules επιτρέπουν την ανάμειξη περιεχομένου σε κάθε ιστοσελίδα με μεγάλη ευκολία και άνεση.

Θα μπορούσε να πει κάποιος λοιπόν ότι τα modules για το Joomla είναι ένας ελβετικός σουγιάς!

Μενού Φόρμας Επικοινωνίας

Φόρμα Επικοινωνίας

Κάθε ιστοσελίδα πρέπει να έχει μια φόρμα επικοινωνίας. Πρόκειται για το πλέον βασικό και απαραίτητο στοιχείο για κάθε website. Στο Joomla η δυνατότητα κατασκευής φόρμας επικοινωνίας παρέχεται εγγενώς οπότε δεν χρειάζεται να εγκαταστήσεις κάποιο πρόσθετο για να επιτύχεις αυτή τη βασική λειτουργία.

Μενού πολύγλωσσης ιστοσελίδας

Πολυγλωσσικότητα

Πολλές φορές παρουσιάζονται πελάτες οι οποίοι ζητούν την κατασκευή πολύγλωσσης ιστοσελίδας (ιστοσελίδα που το περιεχόμενό της παρουσιάζεται σε περισσότερες από μια γλώσσες). 

Στην περίπτωση του WordPress, η κατασκευή μιας πολύγλωσσης ιστοσελίδας είναι σκέτος μπελάς. Πρέπει να αγοράσεις κάποιο plugin το οποίο θα πρέπει να το ταιριάξεις με το theme που έχεις επιλέξει και αν όλα πάνε καλά να προχωρήσεις στην κατασκευή του site.

Ευτυχώς, αυτά ισχύουν σε ένα παράλληλο σύμπαν και όχι στο Joomla. Στο Joomla δεν χρειάζεται να προσθέσεις κάτι μιας και παρέχει την πολυγλωσσική λειτουργία εγγενώς 100%. Απλά εγκαθιστάς τις επιθυμητές γλώσσες μέσα από το διαχειριστή γλωσσών, σηκώνεις τα μανίκια και πιάνεις δουλειά!

Μενού προσαρμοσμένων πεδίων

Προσαρμοσμένα πεδία (Custom Fields)

Αν τα modules είναι ο ελβετικός σουγιάς για το Joomla, τότε τα προσαρμοσμένα πεδία είναι το πασπαρτού που ανοίγει όλες τις πόρτες. Θέλεις κάποια κατηγορία ή κάποια άρθρα σου να περιλαμβάνουν περισσότερες ή διαφορετικές ενότητες από τις συνηθισμένες; Εδώ είσαι, μην ψάχνεις άλλο. Οι δυνατότητες είναι πρακτικά ατελείωτες και βέβαια χωρίς να χρειαστείς κάποιο επιπλέον πρόσθετο.

Λίστα Ελέγχου Πρόσβασης

Η λίστα ελέγχου πρόσβασης (ACL)

Πρόκειται για ένα από τα πιο υπέροχα και ισχυρά χαρακτηριστικά που παρέχεται εγγενώς από το Joomla. Μέσω της ACL μπορεί κάποιος να παραχωρήσει πρόσβαση στο περιεχόμενο της ιστοσελίδας ανάλογα με το επίπεδο του χρήστη. Αυτό αφορά τόσο στο frontend όσο και στο backend της ιστοσελίδας.

Για να γίνω πιο κατανοητός, αν υποθέσουμε ότι έχουμε μια ιστοσελίδα η οποία έχει περιεχόμενο το οποίο πρέπει να είναι προσβάσιμο μόνο από εγγεγραμμένους χρήστες, τότε η ACL είναι το εργαλείο που χρειαζόμαστε. Μέσω της ACL μπορούμε να δημιουργήσουμε διάφορους ρόλους τους οποίους θα λαμβάνουν οι χρήστες κατά την εγγραφή τους και βάσει αυτών των ρόλων θα ξεκλειδώνει και το αντίστοιχο περιεχόμενο. Αυτά για το frontend του site.

Όσον αφορά το backend έχουμε μια παρόμοια λειτουργία όπου μπορούμε να αντιστοιχίσουμε διάφορους ρόλους και βάσει αυτών των ρόλων οι χρήστες μπορούν να επεξεργαστούν το αντίστοιχο περιεχόμενο. Έτσι, κυρίως σε επιχειρηματικά πρότζεκτς, μπορούμε να δώσουμε ποικίλους ρόλους στο προσωπικό το οποίο φροντίζει για την συντήρηση και ενημέρωση της ιστοσελίδας. Με αυτόν τον τρόπο αποφεύγουμε τα λάθη και τις ασυνεννοησίες και ο καθένας είναι υπεύθυνος για ένα συγκεκριμένο κομμάτι του site και μόνο.

Η λίστα ελέγχου πρόσβασης έρχεται με κάποιους προκαθορισμένους ρόλους τους οποίους όμως μπορούμε να διαμορφώσουμε και να εμπλουτίσουμε εμείς ανάλογα με τις εκάστοτε απαιτήσεις. Και όλο αυτό γίνεται χωρίς να εγκαταστήσεις κανένα πρόσθετο!

Πίνακας Διαχείρισης Joomla

Προσβασιμότητα - WCAG 2.0 AA

Με τον ερχομό του Joomla 4 ήρθε και ένα από τα πιο σημαντικά χαρακτηριστικά, η υποστήριξη προσβασιμότητας. Πλέον, το Joomla έχει συμμόρφωση WCAG 2.0 Level AA, που σημαίνει ότι ο πίνακας διαχείρισης, οι επεκτάσεις αλλά και οι ιστοσελίδες που είναι κατασκευασμένες με το Joomla , πλέον είναι εύχρηστες και κατανοητές για την πλειοψηφία των ατόμων με ή χωρίς αναπηρία.

Επιπλέον, μια σχετικά νέα λειτουργία φέρνει την προσβασιμότητα σε άλλο επίπεδο. Πρόκειται για τον έλεγχο προσβασιμότητας (Accessibility Checker) που εντοπίζει πολλά σφάλματα και προειδοποιήσεις, παρέχοντας βοήθεια και συμβουλές για το πώς να τα διορθώσετε. 

Δεν χρειάζονται πλέον επενδύσεις σε επεκτάσεις ή πρόσθετα, χάρη στην ενσωματωμένη υποστήριξη προσβασιμότητας τόσο για το frontend όσο και για το backend. Πρόκειται για μια φανταστική ευκολία για όλους όσους έχουν δυσκολευτεί στο παρελθόν με την προσβασιμότητα.

Μενού Προγραμματισμού Εργασιών

Χρονοδιάγραμμα εργασιών (Tasks Scheduler)

Άλλη μια λειτουργία που έρχεται για να λύσει τα χέρια του διαχειριστή της ιστοσελίδας. Εάν υπάρχουν εργασίες που επαναλαμβάνονται διαρκώς ή εργασίες που δεν πρέπει να ξεχάσετε και θα πρέπει να προγραμματιστούν για το μέλλον, μπορούν να γίνουν με τον Task Scheduler ανεξάρτητα αν ο host επιτρέπει την εκτέλεση cron jobs ή όχι.

Μενού Διαχείρισης Ασφάλειας

Ασφάλεια

Άφησα για το τέλος το βασικότερο (για εμένα) κομμάτι. Το κομμάτι της ασφάλειας.

Σε αντίθεση με το WordPress όπου μπορείτε να αλλάξετε το όνομα χρήστη του διαχειριστή σας μόνο μέσα από τη βάση δεδομένων, το Joomla σας επιτρέπει να εκτελέσετε αυτή τη διεργασία απλά και εύκολα από τον πίνακα ελέγχου. Νομίζετε ότι πρόκειται για κάτι άχρηστο; Όχι για όσους γνωρίζουν…

Μπαίνοντας στον Πίνακα ελέγχου του Joomla εμφανίζεται η τελευταία είσοδος καθώς και η πρόσφατη δραστηριότητα των χρηστών σας. Μ’ αυτόν τον τρόπο γνωρίζετε ποιος έχει συνδεθεί, πότε έχει συνδεθεί και τι μεταβολές έχει κάνει στο σύστημα.

Για όσους είναι επιμελείς σε θέματα ασφαλείας, το Joomla παρέχει τη δυνατότητα να ενεργοποιήσουν τον έλεγχο ταυτότητας δύο παραγόντων (Two-Factor Authentication - 2FA). Το 2FA προσθέτει άλλο ένα επίπεδο ασφαλείας στη διαδικασία σύνδεσης του χρήστη, μειώνοντας κατά πολύ τις πιθανότητες παραβίασης του λογαριασμού σας.

Το Joomla παρέχει εγγενώς τη δυνατότητα επιβολής HTTPS. Αυτό πρακτικά σημαίνει ότι (εφόσον έχετε εγκαταστήσει στο server ένα SSL πιστοποιητικό ασφαλείας) όλη η κίνηση δεδομένων από και προς την ιστοσελίδα σας υποχρεωτικά θα γίνεται κρυπτογραφημένα. Σε διαφορετική περίπτωση όταν για παράδειγμα συνδέεστε στην ιστοσελίδα σας, το όνομα χρήστη και ο κωδικός πρόσβασής σας δεν θα αποστέλλονται κρυπτογραφημένα αλλά θα ταξιδεύουν μέσω του διαδικτύου σε καθαρό κείμενο. Ανατριχιαστικό ε; 

Οι κεφαλίδες ασφαλείας HTTP (HTTP security headers ) παρέχονται εγγενώς στο Joomla και προσθέτουν ένα ακόμη επίπεδο ασφάλειας για την ιστοσελίδα σας, βοηθώντας στον μετριασμό των επιθέσεων και των τρωτών σημείων. 

Μέσα στα χρόνια που βρίσκομαι στο χώρο διεπίστωσα ότι το WordPress είναι χτισμένο σε κώδικα σπαγγέτι (και μερικές φορές απαρχαιωμένο) με μπαλώματα πάνω από μπαλώματα και η αμφίβολη ποιότητα των προγραμματιστών όλων αυτών των προσθηκών το καθιστούν ένα από τα πιο επισφαλή CMS. Αντιθέτως, η ομάδα του Joomla δεν φοβήθηκε να γράψει από το μηδέν ένα μεγάλο μέρος του βασικού κώδικα ώστε να τον διατηρήσει καθαρό, σύγχρονο και ασφαλή.

Κοινότητα

Η κοινότητα του Joomla είναι πραγματικά υπέροχη. Developers που αγαπάνε πραγματικά αυτό που κάνουν παρέχοντας λύσεις και βοήθεια ο ένας στον άλλο αλλά και κατασκευάζοντας υπέροχες επεκτάσεις που οδηγούν τη λειτουργικότητα του Joomla σε άλλο επίπεδο. Για κάθε λειτουργία που θα πρέπει να επιτελέσει το site σου, αν δεν καλύπτεται εγγενώς από το Joomla, σίγουρα θα υπάρχει ήδη μια καλοφτιαγμένη επέκταση που θα κάνει τη δουλειά και με το παραπάνω. Επίσης το κόστος για την αγορά των επεκτάσεων του Joomla είναι πάντα σε προσιτά επίπεδα σε αντίθεση με τις περισσότερες επεκτάσεις του WordPress.

Τελευταίες σκέψεις

Αν και για λόγους συντομίας έχω παραλείψει πολλές λειτουργίες του Joomla, από τα παραπάνω, εύκολα καταλαβαίνει κανείς για ποιο λόγο διάλεξα αυτό το CMS για τις ιστοσελίδες που κατασκευάζω. 

Αυτό το πανίσχυρο CMS παρέχει την απαραίτητη επεκτασιμότητα για να διαχειρίζεται μικρά, μεσαία και μεγάλα sites. Με όλα τα εγγενή χαρακτηριστικά που προσφέρει μπορεί να υποστηρίξει την κατασκευή κάθε είδους ιστοσελίδας. Και αν η ασφάλεια είναι ένα θέμα που λαμβάνετε σοβαρά υπόψιν σας, τότε προφανώς ένα CMS όπως το Joomla σας είναι απαραίτητο.

Βασίλης Θεοδωρόπουλος's Avatar

Βασίλης Θεοδωρόπουλος

Ασχολούμαι αποκλειστικά με το web development για περισσότερο από 15 χρόνια. Σπούδασα προγραμματισμό το 1992 όταν το ίντερνετ έκανε τα πρώτα του βήματα, αλλά πήρα την απόφαση να εργαστώ ως web developer αργότερα, το 2008. Σπούδασα επίσης Φυσικές Επιστήμες, επομένως θα με βρείτε συχνά να μιλάω για φυσική, μαθηματικά, χημεία ή βιολογία. Ζω στην Ελλάδα και είμαι σύζυγος μιας υπέροχης γυναίκας και πατέρας δύο αξιολάτρευτων και έξυπνων παιδιών.