Απολαμβάνοντας ένα retro ξύρισμα με φαλτσέτα.

Το ξύρισμα με φαλτσέτα είναι μια εμπειρία που κάθε άνδρας πρέπει να έχει στη λίστα με τα πράγματα που πρέπει να δοκιμάσει. Είναι μακράν η τεχνική που επιτυγχάνει το βαθύτερο ξύρισμα και, αφότου η διαδικασία τελειώσει, αφήνει μοναδική αίσθηση φρεσκάδας και καθαριότητας στο πρόσωπο. Διαρκεί περισσότερο από το συμβατικό ξύρισμα με ξυραφάκι, αλλά είναι ξεκούραστο (το κάνει ο μπαρμπέρης), και χαλαρωτικό. Αν το επιχειρήσετε καλό είναι να επιλέξετε προσεκτικά το μπαρμπέρικό σας και να σιγουρευτείτε ότι ακολουθεί ευλαβικά τους “κανόνες ασφαλείας” (καινούριες λεπίδες ανά ξύρισμα, απολύμανση, κλπ).

Η διαδικασία είναι ιδιαίτερη και διασκεδαστική. Καθώς είμαι fan των retro διαδικασιών, συμφωνήσαμε με τον Δημήτρη, σήμερα που τον επισκέφθηκα, να την φωτογραφήσουμε, για το αρχείο και των δυο μας.

Ηighlights: Καφεδάκι σε σουβέρ – βινύλιο, ζεστή πετσετούλα

 

Podcast που αξίζει να ακούσεις: Recode Decode

Developer and clock

Το πρώτο podcast που προστέθηκε στη λίστα μου το 2018 ήταν το Recode Decode. Πρόκειται για ένα τεχνολογικό podcast του οποίου όμως η θεματολογία “μπλέκεται” με ζητήματα κοινωνικά, πολιτικά, πολιτισμικά, κ.ο.κ. Το επιμελείται η κα. Kara Swisher, μία δημοσιογράφος με τέχνη, κατά τη γνώμη μου, στις συνεντεύξεις.

Το παρακάτω επεισόδιο τιτλοφορείται “How to fix the problems caused by tech” και καλεσμένος είναι ο Andrew Keen συγγραφέας του βιβλίου ‘How to Fix the Future‘. Στο podcast, όπως και στο βιβλίο ο Keen αναλύει 4 κατηγορίες πραγμάτων που κατά τη νγώμη του χρειάζεται να “διορθωθούν” στην ψηφιακή εποχή: Την οικονομική ανισότητα, την “επικείμενη κρίση” στην εργασία, την εμφάνιση και άνοδο του surveillance capitalism (του φαινομένου δηλαδή ότι ο χρήστης online συνεννεί να παρακολουθείται, με αντάλλαγμα τη δωρεάν πρόσβαση σε κάποια υπηρεσία) και τέλος, μια πολιτισμική κρίση, τάση προς διχασμό και “fake news”.

(Photo by Kevin on Unsplash)

Joining the Mozilla Open Leaders Program

(originally posted at Social Mind’s official blog)

A few days ago I received the great news that I was selected to participate to Mozilla Open Leaders program. The aim of the program is to train individuals or teams related to open projects, technology oriented or not. The training is about setting up an open project and help it evolve and, at the same time, curate an open community that will, hopefully, form around the project. The underlying goals of the program is, of course, working towards an open web and a healthy Internet.


(image available under CC BY 4.0 International by Mozilla)

The 5th round open Mozilla Open Leaders starts in approximately one week. There were 78 projects selected from 219 applications. They come from 25 different countries with more than 100 participants. Greece participates with 1 project.


Number of selected projects per country (in alphabetical order)

The proposal

WordPress platform has become a standard choice when it comes to Content Management Systems, published under Free/Libre Open Source Software (FLOSS) license. Moreover, a huge community built around it is responsible for more than 50.000 plugins, available also as FLOSS. Unfortunately not all WordPress plugins are “playing well” with each other, nor are properly maintained.

Our proposal aims in creating a platform which will crowd source experience on using or combining plug-ins in WordPress installations. In addition, with the application of state of the art software metrics, we will provide a preliminary study on the structure of the source code of the plug-ins. “WordPress Plugin Observatory” (WOPLOB) will be published as FLOSS  with the hope that, with the help of Mozilla Network, will evolve to a high quality community of WordPress users that will help to the development of the platform and the data collection.

At Social Mind we base most of our development in FLOSS, particularty in WordPress and Woocommerce. We would be delighted to manage and help the global FLOSS community with a successful platform that will, hopefully, make Internet more effective and safe.

Mozilla Foundation

With the motto “Internet must always remain a global, public resource open and available to everyone” Mozilla Foundation, a non profit organization, has for years supported FLOSS development, education with open tools and processes and has developed applications like the well known Firefox browser and Pocket. In addition, it has contributed to the study and education of Internet users in privacy related issues.

Ο πληροφορικός στον εξώστη. Σημειώσεις από την ομιλία του Δρ. Δασκαλάκη στο Α.Π.Θ.

Στις 16 Ιανουαρίου του 2018 παρακολούθησα την ομιλία του Δρ. Κωνσταντίνου Δασκαλάκη στην αίθουσα τελετών του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης (Α.Π.Θ.). Ήταν μια ενδιαφέρουσα, μίνι εισαγωγή στα θέματα Τεχνητής Νοημοσύνης (Artificial Intelligence ή AI) χωρίς ιδιαίτερα τεχνικό χαρακτήρα που κράτησε το κοινό στην αίθουσα ως το τέλος. Εξ’ αρχής η ομιλία ήταν προγραμματισμένη να διεξαχθεί σε άλλη, μικρότερη, αίθουσα αλλά το αυξημένο ενδιαφέρον του κοινού είχε σαν αποτέλεσμα να μεταφερθεί στην αίθουσα τελετών.

το “αυξημένο ενδιαφέρον του κοινού” αποτύπωσε ο φακός της εξαιρετικής Σοφίας Καμπλιώνη.

Το κοινό

Με μια γρήγορη ματιά ο χώρος της πλατείας φάινονταν πλήρης οπότε προχώρησα στον εξώστη. Εκεί είχε ακόμη αρκετές θέσεις οπότε βολεύτηκα σχεδόν αμέσως. Από το γρήγορο πέρασμα από την πλατεία αλλά και από τον κόσμο στον εξώστη ήταν ξεκάθαρο ότι στο κοινό υπήρχε ποικιλία. Θεωρώ ότι η πλειονότητα ήταν φοιτητές (διαφόρων βαθμίδων και σχολών), υπήρχε μεγάλη προσέλευση από καθηγητές και προσωπικό του Α.Π.Θ αλλά και ανθρώπων που δεν έχουν σχέση με το Α.Π.Θ. (ξεχώρισα μερίκους γνωστούς). Κόσμος συνέχισε να εισέρχεται στην αίθουσα για αρκετή ώρα μέχρις ότου η αίθουσα γέμισε και η εκδήλωση ξεκίνησε.

Η ομιλία

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

είχε προμοτάρει στην ανακοίνωσή του το Α.Π.Θ. και έτσι ήταν. Χωρίζονταν σε τέσσερις βασικές θεματικές:

  • Τι είναι Τεχνητή Νοημοσύνη και ποιες εφαρμογές της συναντάμε στην καθημερινότητά μας (αναζήτηση εικόνων βάσει εικόνας της Google, μετάφραση Google, κ.ο.κ.).
  • Εξελίξεις και ιδιαίτερες εφαρμογές της Τεχνητής Νοημοσύνης (π.χ. το deepart.io, μια πλατφόρμα που μπορεί να κάνει τις φωτογραφίες σας για να μοιάζουν με πίνακες γνωστών ζωγράφων).
  • Ηθικά και φιλοσοφικά ζητήματα που έρχονται μαζί με την εξέλιξη της Τεχνητής Νοημοσύνης.
  • Τρία πιθανά σενάρια για το μέλλον: Ένα αισιόδοξο (Wonderland), ένα απαισιόδοξο (Pessiland) και ένα ουδέτερο (Stagnatia).

Ολόκληρη η ομιλία είναι διαθέσιμη στην επίσημη ιστοσελίδα του Α.Π.Θ.

Σημειώσεις

Καθ’ όλη τη διάρκεια της ομιλίας ο Δρ. Δασκαλάκης επεσήμανε τη σημασία του να περάσουμε από την Τεχνητή Νοημοσύνη στην Τεχνητή Γενική Νοημοσύνη (Artificial Generic Intelligence, AGI), την ικανότητα δηλαδή των μηχανών να προσεγγίζουν λειτουργίες διανοητικά όμοιες με αντίστοιχες ανθρώπινες. Ξεκαθάρισε ότι δεν είμαστε εκεί και είναι μάλλον δύσκολο να προβλέψουμε πότε θα φτάσουμε. Σε περίπτωση που σας ενδιαφέρει το θέμα της εξέλιξης της Τεχνητής Νοημοσύνης θα σας πρότεινα να παρακολουθήσετε το video του World Economic Forum με τίτλο “The Fourth Industrial Revolution“.

Ακριβώς επειδή δεν έχουμε επιτύχει το παραπάνω, διάφορες εφαρμογές της Τεχνητής Νοημοσύνης (όπως π.χ. αυτοκινούμενα οχήματα) δεν είναι ικανά να αντιδράσουν αποτελεσματικά σε καταστάσεις που αποτελούν ηθικά διλήμματα. Ανέφερε χαρακτηριστικά το παράδειγμα του αυτοκινούμενου οχήματος που μετάφερει επιβάτες, πρόκειται να εμπλακεί σε ατύχημα και πρέπει να διαλέξει ανάμεσα στην σύγκρουση με μια οικογένεια πεζών (με πιθανότητα τον τραυματισμό ή θανατό τους) ή την πρόσκρουση σε κάποιο κυγκλίδωμα ρισκάροντας τον τραυματισμό ή θάνατο των επιβατών. Το ζητήμα αποτελεί ηθικό δίλημμα και δύσκολα μεταφράζεται “σε κανόνες” που να μπορεί να αντιληφθεί μια μηχανή.

Συνεχίζοντας με το παραπάνω παράδειγμα του αυτοκινούμενου οχήματος, επεκτάθηκε σε ζητήματα ασφάλειας που ακολουθούν τέτοιες εφαρμογές. Αν για παράδειγμα δεχτούμε ότι έχουμε βρει έναν τρόπο το αυτοκινούμενο όχημα να μπορεί να αποφανθεί την πιο δίκαιη στρατηγική στο παραπάνω ηθικό δίλημμα και υποθέσουμε ότι αυτή είναι να προσκρούσει στο κυγκλίδωμα ρισκάρωντας τη ζωή των επιβατών πόσο πιθανό είναι ο επιβάτης – ιδιοκτήτης να αναζητήσει έναν τρόπο να “χακάρει” τον αλγόριθμο του οχήματος ώστε η προσωπική του προστασία να έχει πάντα προτεραιότητα;

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

Υπάρχει μια τεράστια συζήτηση γύρω από το θέμα της ιδιωτικότητας τα τελευταία χρόνια. Αν και αρχικά επιχειρήθηκε να φωτογραφηθεί ως μια σειρά θεωριών συνομωσίας, πλεόν έχει εξελιχθεί σε μείζον θέμα το κατά πόσο οι χρήστες του Διαδικτύου γνωρίζουν το είδος και το μέγεθος των προσωπικών τους δεδομένων που προσφέρουν μέσω των διαφόρων online υπηρεσιών που χρησιμοποιούν. Ένα σχετικό, για παράδειγμα, θέμα που αφορά τα συστήματα που προτείνουν ειδησεογραφία (π.χ. Google Now) βάσει των επιλογών του χρήστη, το φαινόμενο filter bubble σχολίασε σε συνάρτηση με την σύγχρονη χρήση του Διαδικτύου σε ομιλία του στο TED, ο Tim-Berners Lee.

Αν σας ενδιαφέρει το ζήτημα της ιδιωτικότητας στην πραγματική του διάσταση (χωρίς υπερβολές ή θεωρίες συνομωσίας) σας προτείνω να παρακολουθήσετε το podcast IRL της Mozilla (δυστυχώς είναι διαθέσιμο μόνον στα Αγγλικά) το οποίο πραγματεύεται ακριβώς αυτό το θέμα με εξαιρετική σοβαρότητα.

Software metrics’ tools and where to find them

(last updated: February 4th, 2018)

There are several ways to analyze software. Depending on the scope we may be interested in the quality of the code, the documentation, the developer’s team and its activity and so forth. Here are some free software metric tools that can get you started with software analysis.

Tools for Static Program Analysis

Static program analysis refers to the analysis of the source code of a software rather than an analysis on an execution level.

  • PHPQA is a free, open source software project that supports a wide range of analyzers (e.g. phploc, pdeend, phpmetrics, etc.) for PHP. [demo]
  • Checkstyle, Findbugs and PMD  are free, open source software projects for Java, also available as plug-ins for the Eclipse and IntelliJIdea IDEs.

Didn’t find what you were looking for? You can try this exhaustive list of tools, grouped by programing language, maintained by Wikipedia.

Software Engineering Guidelines Compliance

  • Better Code Hub checks your code base for compliance against 10 software engineering guidelines – and gives you immediate feedback on where to focus for quality improvements. The tool can be used free for open source and non-commercial use.

Community Activity Analysis

Big software projects are usually built from several developers. Those teams or communities – for Open Source projects – are usually organized using a control versioning system (svn, git. etc.). Those control versioning systems are storing valuable data about the activity of those teams / communities the analysis of which can lead to very interesting findings.

  • GitsGtats – for projects using git-like environments (Github, Gitlab, etc.). [demo]
  • StatSVN – for projects using SVN. [demo]
  • Grimoire Lab – a very mature tool that can help with data gathering from several platforms (Github, Bugzilla, Slack channels, etc.), data analysis and visualization. [demo] NOTE: If you are interested in using Grimoire Lab for your own projects you can test the online service Cauldron.io (free for public projects on Github).

 

Tony Robbins on demonization and acting rather than criticizing

Acting rather than judging is the key of making an impact and creating value. This is the resume (in my opinion) from following excerpt comming from an episode of Tony Robbins podcast. He is asked what he was going to tell Donald Trump should he talked with him on the phone, given his mentality and way of doing things professionally and as president of the U.S.

… so I am not into try to demonize anybody. What I think is our problem is demonization. It used to be that people would fight like hell on the floor of the house and then go have a beer together. Now it’s like you are radioactive if you talk to the other side. I don’t feed the narrative. I see the presidents meeknesses and strengths. I hope everybody can but not everybody does and I am here to help whoever, either side. Someone is a good human being wants help, I am gonna help him, I am not politically driven. I am an independent personally and I vote whom I believe will make the biggest difference …

Μια φορά στην Γ’ Λυκείου, χωρίς να είμαι δάσκαλος ούτε… μαθητής!

Κάποια στιγμή τον Σεπτέμβριο  βρέθηκα στην ταξή της Γ’ Λυκείου του σχολείου μου, προσκεκλημένος στο μάθημα “Αρχές Οργάνωσης και Διοίκησης Επιχειρήσεων”. Μου ζητήθηκε να μιλήσω για το φαινόμενο των startups στην Ελλάδα, λόγω της εμπλοκής μου με το Open Coffee Thessaloniki, αλλά και για τις εμπειρίες από την ίδρυση και την πορεία της Social Mind.

Αποφάσισα να μη μιλήσω για τίποτε από αυτά 🙂

(οι εικόνες που παρεμβάλονται είναι επιλεγμένα slides από την παρουσίαση.
Κάνοντας κλικ επάνω τους ανοίγουν σε πιο μεγάλο μεγεθος)

Όταν ήμουν εγώ Γ’ Λυκείου, όλη η συζήτηση έμοιαζε να περιστρέφεται γύρω από το τι θα επιλέξουμε να σπουδάσουμε, αν θα καταφέρουμε να “μπούμε” στην σχολή που επιλέξαμε και κατά πόσο αυτή μας η επιλογή αποτελεί ένα “διαχρονικό επάγγελμα”. Η εκπαίδευση έμοιαζε με μια σκάλα που τελείωνε στην Γ’ Λυκείου και, μετά από εκεί, όλα έβρισκαν μαγικά τον δρόμο τους.

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

Το “όταν μεγαλώσω θέλω να γίνω…” μετατρέπεται γρήγορα σε, “τώρα που τελείωσα τη σχολή, το μεταπτυχιακό, το διδακτορικό ίσως…” και εκεί ξεκινάνε νέες επιλογές για το τι θα ήθελα να κάνω με όλα αυτά.

Είναι πολύ σημαντικό λοιπόν για τα παιδιά που τελειώνουν το λύκειο να μην αντιμετωπίσουν τις αυριανές σπουδές τους σαν το “παιχνίδι του παππά”, αλλά να προσπαθήσουν να φανταστούν τον εαυτό τους σε ένα επάγγελμα που τους ιντριγκάρει ώστε να το ακολουθήσουν με θέρμη στις αυριανές σπουδές ή την τέχνη τους. Όπως είναι πολύ σημαντικό για την οικογένεια να μην καταπιέσει τις επιλογές των παιδιών, όσο “εναλλακτικές” κι αν ακούγονται γιατί δυστυχώς ή ευτυχώς, δεν θα κληθούν οι γονείς να ζήσουν με αυτές.

Αν αναλογιστεί κανείς ότι ακόμη και στην κωμική σειρά  Silicon Valley κάποια επιλεγμένα σημεία τονίζουν το ζόρι του να δημιουργεί κανείς τη δική του επιχείρηση, τότε μάλλον μπορούμε να συμφωνήσουμε ότι όποιος επιλέξει να το κάνει, πρέπει να γνωρίζει γιατί το κάνει και να το θέλει.

Εντάξει, επειδή ήταν και μάθημα είπαμε να έχει και λίγη χρήσιμη πληροφορία οπότε είδαμε 2-3 βασικά στοιχεία ενός startup όπως τα λέει η Wikipedia 😛 και, για τα “εν οίκω”, κάναμε ένα resume από το περιεκτικότατο άρθρο του Μarathon VC για το ελληνικό οικοσύστημα των startups μεταξύ 2007 και 2017.

Συμφωνήσαμε πως οι επιλογές μας σε αυτή τη φάση είναι σημαντικές και μπορούν να μας κάνουν αύριο να τρέχουμε με μοτοσυκλέτα αντί με ποδήλατο!

Όπως και να ‘χει σημαντική προτεραιότητα για όλους μας θα έπρεπε να είναι η συνεχής μάθηση. Εκτός από πιο ανταγωνιστικούς στην αγορά εργασίας, μας ωριμάζει και μας εκπολιτίζει!

Τέλος, θέλοντας να κλείσω με τσιτάτο, χρησιμοποίησα το βασικό θέμα της ομιλίας του Denzel Washington στους αποφοίτους της τάξης 2011 του Πανεπιστημίου της Πενσυλβάνια. Το “fall forward” – στα ελληνικά θα το μεταφράζαμε, πέσε προς τα εμπρός – έχει την έννοια του μην αφήνουμε την αποτυχία να μας πηγαίνει προς τα πίσω. Να μαθαίνουμε από αυτήν έτσι ώστε να προχωράμε μπροστά. Επειδή είμαι fan του Denzel θα κλείσω με το video από αυτήν την ομιλία (στο σχολείο δεν προλάβαμε να την δούμε δυστυχώς!).

Ευχαριστίες

Θα ήθελα να ευχαριστήσω τον διδάσκοντα του μαθήματος, κ. Ιωάννη Σωτηρόπουλο, όχι για την πρόσκληση, αλλά για τα ερεθίσματα που φρόντισε να πάρω όταν βρισκόμουν εγώ πίσω από τα θρανία της Γ’ Λυκείου του Πειραματικού Σχολείου Πανεπιστημίου Θεσσαλονίκης το 2003. Είμαι ιδιαίτερα χαρούμενος που, χρόνια μετά, εργάζεται με τον ίδιο ζήλο για ποιοτική, δημόσια εκπαίδευση.

Θα ήθελα επίσης να ευχαριστήσω την οικογένειά μου και ιδιαίτερα τη μητέρα μου, που υπήρξε χαλαρή και συζητήσιμη στο “τι θέλω να γίνω όταν μεγαλώσω”, αλλά επίμονη και πιεστική στο να διαβάσω όσο και όποτε έπρεπε για να τα καταφέρω 🙂

 

Credits

  • Χρήση γραφικών στοιχείων: Όλα τα γραφικά στοιχεία, εκτός αν αναφέρεται κάτι διαφορετικά, προέρχονται από τον ιστότοπο openclipart.org με άδεια χρήσης Public Domain (CC0).
  • Άδεια χρήσης παρουσίασης: Η παρουσίαση δημοσιεύθηκε κάτω από άδεια Creative Commons Attribution Non Commercial Share Alike (CC BY-NC-SA 4.0).

re:publica Thessaloniki 2017. Smart Cities, Open Data & Citizen Participation

(the original article – in greek – can be found here)

This year I had the privilege of participating in the maiden voyage of re:publica (2017) in Thessaloniki, as an ODI Open Data Certified Trainer and an entrepreneur, in a panel about smart cities, open data and citizen participation in open government procedures. Following you can watch the video with greek and english subtitles available (thanks to Heinrich Böll Stiftung Greece).

Following you will find three key points that, in my personal opinion, summarize the discussion:

I. Why bother working with open data when the citizens don’t seem to care?

A sound open data infrastructure can, potentially, function as a means of transparency and / or fighting corruption. The possibility that citizens are indifferent towards open data should not discourage a public authority that wants to continuously evolve and become better. Moreover, we need to ask ourselves whether the information published as open data is understandable and has a practical use for the interested parties (citizens, companies, organizations, etc.).

II. Civil servants might hesitate or  be negative  towards open data education.

Yes they might! However, their reaction depends on the motivators that accompany education. If dealing with open data is, or will become in the near future, a de facto responsibility of all civil servants, the idea that an expert can train them to undertake this “new” responsibility quick and easy, might not strike them as such a bad idea.

III. Open data published by public authorities are  usually too “specific” for a third party (i.e. freelancer, company, etc.) to exploit.

A great opportunity accompanying open data is the fact that open datasets can be combined. For example lets say we have an open dataset of the public schools in a city and another open dataset about crime in that same city. Studying them separately those two datasets probably give as basic knowledge but, combined, could become the fuel for an application that could help a young couple to choose in which neighborhood to live.

Open Data can be the means to innovation for companies that develop software, freelance developers, students, researcher and so forth. And (ideally) this software can then function as the interface between the citizen and the public authorities.

(special thanks to Heinrich Böll Stiftung Greece for the invitation)

Είσαι ή developer ή designer ή sysadmin. Και δεν μπορείς να κάνεις τίποτε για αυτό.

Αν ασχολείσαι με την δημιουργία “πραγμάτων” στο Internet στις μέρες μας, μπορεί να σε προβληματίζει το πως πρέπει να αυτοπροσδιορίζεσαι επαγγελματικά. Λέω αυτοπροσδιορίζεσαι γιατί η ωμή αλήθεια (παρόλο που δεν θέλουμε να το παραδεχτούμε) είναι ότι η πλειοψηφία των ανθρώπων εκεί έξω δεν ενδιαφέρονται για τον τίτλο σου. Αλλά και η μειοψηφία εκείνη που μπορεί να ενδιαφέρεται να προσλάβει έναν “senior super saiyajin full stack all inclusive keep the change php ninja” μπορεί εύκολα να πειστεί από το καλοστημένο portfolio του απλού, κοινού θνητού, web developer.

Ας κάνουμε τώρα μια υπόθεση εργασίας. Ασχολείσαι με την κατασκευή ιστοσελίδων (οποιοδήποτε κομμάτι της, development, design, …). Είσαι καλεσμένος σε έναν γάμο. Γνωρίζεις έναν τύπο στο τραπέζι σου ο οποίος σου λέει (πριν μάθει με τι ασχολείσαι) ότι προσπαθεί να βρει κάποιον να του φτιάξει το ηλεκτρονικό μαγαζί του για να πουλάει πράγματα στα ιντερνετς, πως τα λέτε αυτά εσείς οι νέοι, και διαθέτει μέχρι και 25.000 ευρώ γιατί ξέρει ότι είναι το μέλλον. Τώρα σκέψου τι πρόκειται να απαντήσεις στην ερώτηση “με τι ασχολείσαι;”.

ΣΗΜΕΙΩΣΗ: Για λόγους απλούστευσης σε αυτό το άρθρο με τον όρο ιστοσελίδα αναφερόμαστε σε όλες τις web εφαρμογές (websites, e-shops, portals, web services, κ.ο.κ.).

Εν αρχή είν’ η αρχιτεκτονική

Κάθε ιστοσελίδα έχει μια δομή. Στην επιστήμη της Πληροφορικής η δομή αυτή εξαρτάται από την αρχιτεκτονική που θα επιλέξει ο κατασκευαστής ή η ομάδα κατασκευής της ιστοσελίδας.

Για τον κόσμο του Web η πιο συνηθισμένη αρχιτεκτονική είναι η αρχιτεκτονική πολλαπλών επιπέδων (multi-tier architecture) και πιο συγκεκριμένα η three-tier arhictecture της οποίας η λογική απεικονίζεται στην εικόνα στα δεξιά. Η αρχιτεκτονική αυτή ορίζει 3 επίπεδα τα οποία με απλά λόγια είναι τα εξής (για καλύτερη κατανόηση διαβάστε από κάτω προς τα πάνω, όπως στο σχήμα):

Image credit: Wikipedia

  • Επίπεδο Παρουσίασης (Presentation Tier): Εδώ ζει (που θα έλεγε και ο Bob Ross) το user interface (UI) ή ελληνιστί η διεπαφή χρήστη. Στην ουσία αυτό το επίπεδο είναι το σημείο επαφής του χρήστη / επισκέπτη της ιστοσελίδας, με την πληροφορία (δηλαδή τα δεδομένα της ιστοσελίδας), μεταφράζει δηλαδή, όπως σωστά αναφέρει το παραπάνω σχήμα, τις διαδικασίες της ιστοσελίδας σε κάτι που να μπορεί να καταλάβει ο χρήστης.
  • Επίπεδο Λογικής (Logic Tier ή Business Logic Tier): Πρόκειται για το κέντρο αποφάσεων της ιστοσελίδας. Εδώ, βάσει των επιλογών των χρηστών της ιστοσελίδας, ανασύρονται τα κατάλληλα δεδομένα από το επίπεδο δεδομένων για να προωθηθούν στο επίπεδο παρουσίασης (βλ. παραπάνω).
  • Επίπεδο Δεδομένων (Data tier): Η αποθήκη δεδομένων (κείμενα, εικόνες, αρχεία, βάση δεδομένων). Όλη η πληροφορία της ιστοσελίδας βρίσκεται εδώ!

ΣΗΜΕΙΩΣΗ: Η παραπάνω αρχιτεκτονική είναι αρκετά αφηρημένη. Τα τελευταία χρόνια έχουν αναπτυχθεί διάφορες παραλλαγές της όπως η Model View Controller (MVC), η Model View Viewmodel (MVVP) και η The Four‑Tier Engagement Platform που κατά βάση επεκτείνει την three-tier architecture λαμβάνοντας υπόψη σαν 4ο επίπεδο τις διαφορετικές mobile συσκευές που πρέπει να εξυπηρετηθούν.

Τίνος είσ’ εσύ;

Βάση των παραπάνω οι βασικές κατηγορίες των επαγγελματιών διαδικτύου συνεχίζουν να είναι οι εξής τρεις (στο D&D θα τις λέγαμε classes):

  • Developer: γράφει κώδικα, σκέφτεται (υπερ-)αναλυτικά, είναι problem solver και θα επιλέγει πάντοτε την πιο αποδοτική λύση για την μηχανή. Θέματα UI/UX τον αφήνουν παντελώς αδιάφορο γιατί ο ίδιος αντιλαμβάνεται εύκολα πως δουλεύει μια μηχανή ή μία εφαρμογή και δεν καταλαβαίνει γιατί δεν είναι ξεκάθαρο για τους άλλους.
  • Designer: είναι artist, πράγμα το οποίο αναπόφευκτα φέρνει υποκειμενικότητα στα παραδοτέα του. Όπως με οποιαδήποτε μορφή τέχνης, κάθε δουλειά “χτυπάει” διαφορετικά στα διάφορα μάτια. Επειδή η βασική του επιδίωξη είναι ο χρήστης μιας εφαρμογής να καταλαβαίνει τι προσφέρει η εφαρμογή και να του είναι όσο το δυνατόν πιο ξεκάθαρο πως λειτουργεί, επικεντρώνεται στο κομμάτι αυτό πολλές φορές αδιαφορώντας για τις συνέπειες σε επίπεδο απόδοσης γιατί θεωρεί πως εφόσον ο χρήστης είναι ικανοποιημένος, η πλατφόρμα είναι επιτυχημένη και όλα τα άλλα θα βρεθούν.
  • SysAdmin / Webmaster:  συνήθως λειτουργούν σειριακά με συνταγές καλών πρακτικών και απώτερο στόχο την καλή λειτουργία και την ασφάλεια των υποδομών (δίκτυο, storage, ασφάλεια, κ.ο.κ.). Έχουν βαθιά γνώση σε επίπεδο δικτύου / hardware και των online εργαλείων που αφορούν την διαχείριση των servers σε επίπεδο φιλοξενίας των ιστοσελίδων και διαχείρισης χρηστών. Βλέπουν την εφαρμογή μακροσκοπικά, ως ένα σύνολο αρχείων που ξοδεύει τους πόρους ενός συστήματος για να κάνει μια δουλειά.

Μέχρι τα 2005 περίπου οι περισσότεροι επαγγελματίες καλούνταν να διαλέξουν μία από τις παραπάνω κατηγορίες για να ακολουθήσουν ως επάγγελμα. Οι περισσότεροι ωστόσο από αυτούς (είτε ως φοιτητές, είτε ως χομπίστες) είχαν εκπαιδευτεί σε μια σειρά πραγμάτων που άγγιζαν περισσότερες (και πολλές φορές όλες) τις παραπάνω κατηγορίες. Αυτό σε συνδυασμό με την συνήθη πρακτική εταιριών να ζητούν “ανθρώπους για όλες τις δουλειές” οδήγησε στη δημιουργία επαγγελματιών που ήταν λίγο από αυτό και λίγο από το άλλο (στο D&D θα τους λέγαμε cross-class characters).

Καθώς οι τεχνολογίες του διαδικτύου εξελίσσονταν τα κλασσικά κανάλια UI (desktops / laptops) διευρύνθηκαν με νέους τύπους συσκευών (mobiles, tablets, smart tvs, smart watches, κ.ο.κ.) επεκτείνοντας τις ανάγκες στο Presentation Layer. Ομοίως, οι τεχνολογίες που αφορούσαν τους servers και τις βάσεις δεδομένων εξελίχθηκαν επίσης, επεκτείνοντας τις ανάγκες στο Data Layer. Ο συνδυασμός των δύο αυτών φαινομένων έφερε μοιραία αλλαγές και στο επίπεδο Business Logic.

Οπότε;

Η ζωή συνεχίζεται 🙂 Ο κάθε επαγγελματίας καλείται να διαλέξει το βασικό τομέα (domain) στον οποίο θα ειδικευτεί (στο D&D θα έμοιαζε με τα Schools of Magic των Wizards) προσπαθώντας (κατά την προσωπική μου άποψη) να μένει όσο το δυνατόν ενημερωμένος με τις βασικές εξελίξεις των τομέων – γειτόνων ώστε να μπορεί να καταλαβαίνει τους επαγγελματίες με τους οποίους θα κληθεί να συνεργαστεί στο πλαίσιο μιας ομάδας.

Επειδή το Ελευθέρο Λογισμικό / Λογισμικό Ανοικτού Κώδικα έφερε πληθώρα έτοιμου κώδικα και εργαλείων που μπορούν να επιταχύνουν κατά πολύ την ανάπτυξη λογισμικού, οι ανάγκες ενός έργου πληροφορικής πολλαπλασιάζονται αφού στον ίδιο χρόνο, μπορούν να γίνουν πολύ περισσότερα πράγματα. Το πιθανότερο είναι πως, αν εργαστείτε σε ένα σοβαρό έργο πληροφορικής, θα κληθείτε να δουλέψετε σε μια ομάδα που θα περιλαμβάνει κάποιου είδους designer, κάποιου είδους developer και κάποιου είδους webmaster 😉