Saturday, February 8, 2014

*facepalm*

Γιατί ρε γαμώτο ο κόσμος είναι απλά ΗΛΙΘΙΟΣ;

Είναι δυνατόν να θες να προγραμματίσεις Android εφαρμογές χωρίς να ξέρεις Java; 

Να πας να τρέξεις το οποιοδήποτε IDE μες απ' το zip χωρίς να κάνεις αποσυμπίεση; Και να μην ξέρεις πως να κάνεις αποσυμπίεση ένα αρχείο;

Να τα περιμένεις όλα "στο πιάτο" χωρίς να ψάχνεις να βρεις μόνος σου τη λύση στο γαμημένο API; Ή στο Google, τα πάντα βρίσκει!

Δε λέω, καλό είναι να θες να μάθεις πράγματα επειδή είναι το "hot stuff" της εποχής αλλά μην τρελαθούμε, υπάρχουν κάποια προαπαιτούμενα για κάποιο λόγο!

Φυσικά για online μαθήματα μιλάω και για όλους εκείνους τους ηλίθιους που παραπονιούνται ότι δε δίνονται αρκετές πληροφορίες για τις εκάστοτε εργασίες. Αν εσύ δεν ξέρεις βασικά πράγματα στον υπολογιστή και δεν έχεις ιδέα από προγραμματισμό ή Java, μη τα ρίχνεις στα "μαθήματα που είναι ελλειπή!"

Thursday, January 16, 2014

Usability & Portability


Απ' την αρχή ήμουν ιδιαίτερα σκεπτικός για τα tablet, ποιά η χρησιμότητά τους, το πεδίο που στοχεύουν, το αγοραστικό κοινό... Φυσικά δεν είμαι tech guru οπότε έπεσα τελείως έξω μιας και τα tablets κάνουν τρελές πωλήσεις, είτε πρόκειται για iPad ή Android tablet.

Επειδή πρόσφατα ήρθε στην κατοχή μου ένα 7άρι Samsung με Android, έκατσα να δω με ποιους τρόπους μπορώ να το χρησιμοποιήσω χωρίς να "πάει χαμένο". Με λίγη σκέψη και ψάξιμο, άλλαξαν αρκετά οι εντυπώσεις που είχα για τα tablet, όχι όμως σε βαθμό να είμαι tablet-convert απ' τη στιγμή που εδώ και δύο χρόνια περίπου έχω Android κινητό με αξιοπρεπή οθόνη. Άρα ό,τι κάνει το tablet το κάνει και το κινητό μου, απλά με μεγαλύτερη οθόνη.

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

Εφαρμογές
Υπάρχουν ΤΑ ΠΑΝΤΑ στο Play Store, ως και IDE για προγραμματισμό βρήκα, interpreter για Ruby, επξεργασία εικόνας/βίντεο, office suites, παιχνίδια...

Δεύτερη οθόνη
Γιατί όχι; Κάνεις τι κάνεις στο pc σου, έχεις ένα άλλο site να τρέχει στο tablet, ή μια άλλη εφαρμογή.

Skype
Αν έχεις οποιοδήποτε θέμα με το Skype στον υπολογιστή (όπως εγώ τώρα τελευταία), το τρέχεις  στο tablet. Κι ειλικρινά μ' αρέσει περισσότερο έτσι.

Mobile view
Προσωπικά προτιμώ μερικές σελίδες ή/και εφαρμογές στο Android (στην προκειμένη) λόγω streamlined design.

Laptop look-alike
Αν δεν έχεις συγκεκριμένες απαιτήσεις από έναν υπολογιστή, και το tablet μια χαρά σε καλύπτει! Bluetooth πληκτρολόγιο, ποντίκι δεν χρειάζεσαι (αν κι έμαθα ότι μπορεί να συνδεθεί και ποντίκι), θήκη για να στέκεται όρθιο, κατεβάζεις τις εφαρμογές που θες κι είσαι golden!

Άνετα το παίρνεις στη σχολή για να κρατάς σημειώσεις χωρίς να κουβαλάς το 15άρι λαπτοπ στην τσάντα. Με ένα ή δύο καλώδια συνδέεται σε προτζέκτορα για να κάνεις παρουσίαση (Google Docs yo!). Δε χάνεις κανένα Facebook update (γιατί είσαι τόσο κοινωνικός ρε παιδί μου) λόγω 3G.

Τώρα δε μπορώ να σκεφτώ άλλα (έπρεπε να τα 'χα σημειώσει), αλλά θα μου 'ρθουν.

Υπάρχουν και τ' αρνητικά βέβαια που δεν είναι ασήμαντα. 

Multi-tasking
Κατά βάση έχεις μια μόνο εφαρμογή ανοιχτή τη φορά, μετά την κλείνεις κι ανοίγεις άλλη κι ούτω καθ' εξής.

Πολλαπλοί χρήστες
Ναι μεν ένα tablet μπορούν να χρησιμοποιούν όλα τα άτομα μιας οικογένειας, δεν υπάρχει σαφής διαχωρισμός των δεδομένων των χρηστών όμως. Απ' όσο ξέρω, μπορείς απλά να συνδέσεις πολλαπλούς λογαριασμούς (Google πχ) όχι όμως και να διαχωρίσεις τα δεδομένα (email, επαφές κλπ). Σ' αυτό μπορεί να είμαι τελείως λάθος.

Τώρα πάλι δε μπορώ να σκεφτώ κάτι παραπάνω :Ρ αλλά δεν προσπαθώ να κάνω review οπότε και μ' αυτά που έγραψα είμαι εντάξει.

Δεν πιστεύω ότι θ' άλλαζα εύκολα ένα λαπτοπ μ' ένα tablet. πιθανότατα θα πήγαινα για ένα 13.3" λαπτοπ, best and worst of both worlds.

Wednesday, January 15, 2014

Τι χρονιά έχουμε;

Πώς γίνεται ρε γαμώτο εν έτει 2013-2014, ένα συγκρότημα να 'χει για site ένα απλό HTML "πράγμα" με οβάλ gradient εικόνες (μην κάνεις ότι δε θυμάσαι) για navigation; CSS και JavaScript δεν ξέρουμε τι είναι;

Και τώρα να ξεκίνησες, και λεφτά να μην έχεις, και κάποιος γνωστός να ξέρει HTML, ε δεν κάνεις για ιστοσελίδα αυτά που κάναμε όταν ήμασταν παιδάκια κι ανεβάζαμε σε κάτι δωρεάν hosts με κατάληξη tk.

Γι' αντίλογο θα πεις "ε και ποιός μπαίνει τώρα στο official site, όλοι Facebook κλπ", ναι αλλά ρε μεγάλε έδωσες που έδωσες λεφτά για το hosting και το domain (στην κυριολεξία "ψιλά" αλλά τα 'δωσες), πλήρωσε κάποιον να σου κάνει ένα site της προκοπής. Είπαμε, τα τελευταία χρόνια το web design έχει γυρίσει στο πολύ minimalistic ή/και one-page στυλ, το site σου όμως είναι για τ' ανάθεμα!

Είμαι εντελώς υπέρ του DIY σε τέτοιες περιπτώσεις, και για το κόστος αλλά και για το γαμώτο της υπόθεσης. Αυτό όμως είναι...

Thursday, November 7, 2013

e-Library


Τώρα πια με το Internet, είναι πανεύκολο να βρεις βιβλία οποιασδήποτε θεματολογίας. Εγώ φυσικά αναφέρομαι στο δικό μου τομέα, αλλά πάνω κάτω τα ίδια ισχύουν για όλους τους τομείς, αρκεί να ψάξεις.

Θες για παράδειγμα να βρεις το τάδε βιβλίο προγραμματισμού, ψάχνεις και μετά από λίγο στρογγυλοκάθεται στο δίσκο σου. Βρίσκεις κι ένα άλλο, και μετά ένα άλλο και πάει λέγοντας. Κι έχεις μαζέψει ένα σωρό pdf, ταξινομημένα στους εκάστοτε φακέλους και σκέφτεσαι "Α ωραία, έχω πολύ υλικό".

Αντί να 'χεις δώσει 200-300 ή και παραπάνω ευρώ για τα συγκεκριμένα βιβλία, ξόδεψες μερικά λεπτά της ώρας για να τα κατεβάσεις (ναι, τα βιβλία πληροφορικής είναι κατά βάση πανάκριβα).

Έλα όμως που άρχισα να καταλαβαίνω ότι δε με βολεύει αυτό το στυλ διαβάσματος. Προτιμώ το φυσικό βιβλίο, αυτό με τις άσπρες σελίδες που μπορεί να σε κόψει στο δάχτυλο και ν' ανατριχιάσεις.

Παίζει λίγο ρόλο και το "ρομαντικό" της υπόθεσης, να 'χεις δηλαδή τη βιβλιοθήκη σου. Να πας να ψάξεις τι θα διαβάσεις.

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

Κι εν μέρει λόγω αυτού, δεν έχω ασχοληθεί με σχεδόν κανένα απ' τα βιβλία που έχω στο δίσκο μου.

Η λύση; Να επιλέξω κάποια και να πάω να τα εκτυπώσω, δεν πιστεύω πως θα κάνω δουλειά με άλλο τρόπο.

Οι guides και τα tutorials στο Internet είναι δομημένα με τέτοιο τρόπο ώστε να μη χρειάζεται να 'σαι καρφωμένος για ώρες στην οθόνη, συνήθως έχουν μικρά και περιεκτικά κείμενα. Το βιβλίο όμως είναι αλλιώς, έστω και σε ψηφιακή μορφή.

Επομένως 2-3 pdf στο φλασάκι κι εκτύπωση.

Herp derp...

Αν το μυαλό του Βασιλάκη δε στροφάρει και δε βλέπει πρώτα-πρώτα αν απενεργοποιήθηκαν οι SATA controllers απ' το BIOS, δε του φταίει κανένας που έχασε πόσες ώρες βάζοντας-βγάζοντας δίσκους και ψάχνοντας δισκέτα(!!!) για να εγκαταστήσει τους drivers της μητρικής...

"Εγκώ ξέρει από πιτσί, τέλει φτιάξει ντικό σου;"

Thursday, October 31, 2013

Hail to our teachers!


Πρόσφατα κατάλαβα πόσο δύσκολο είναι να δώσεις σ' ένα παιδί να καταλάβει κάτι, πόση δουλειά έκαναν οι δάσκαλοί/καθηγητές μας (ανεξαρτήτου βαθμίδας εδώ που τα λέμε) για να μας εξηγήσουν κάτι...

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

Πριν κάτσουμε να λιώσουμε στο pc, λέει ότι θέλει να τελειώσει με τις ασκήσεις για να μην τις έχει για μετά.

Σε κάποια φάση με φωνάζει γιατί θέλει βοήθεια σε κάτι πράξεις. 1000-550, 73-29 και κάτι τέτοια.

Άντε τώρα να του εξηγήσω γιατί μένει 450 αντί για 550, 44 αντί για 54. Προφανώς έκανε λάθος στα κρατούμενα, εγώ όμως πως θα του εξηγήσω το σωστό αποτέλεσμα; Στο σχολείο πως τους το έδειξαν; Τώρα πια δε θυμάμαι τι γίνεται με τα κρατούμενα, κάνω απλά την αφαίρεση και τέρμα. Ενδεχομένως εμάς να μας έδειξαν άλλο τρόπο με τα κρατούμενα απ' ότι στα σημερινά παιδιά.

Υπάρχει κι ο φόβος να το εξηγήσεις με λάθος τρόπο, να το "μάθει" έτσι και μετά να μπερδεύεται στο σχολείο. Ή να πας να το εξηγήσεις με τρόπο που νομίζεις ότι είναι εύκολος αλλά τελικά δεν είναι.

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

Saturday, August 24, 2013

Database fun times...


Ας μιλήσουμε λίγο για βάσεις δεδομένων... Είπα να κάνω μια εφαρμογή σε Java για ένα φίλο, θα 'χει κλασικά γραφικό περιβάλλον, θα συνδέεται σε βάση δεδομένων και θα κάνει διάφορα πράγματα (doh!).

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

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

Όταν όμως ένα text αρχείο δεδομένων (από εκεί θα τραβούσα τα δεδομένα και θα τα έβαζα στη βάση) έχει μέγεθος 35ΜΒ(!), δεν ξέρεις τι ακριβώς παίζει, πόση ώρα θα κάνει να εισάγει 500.000+ εγγραφές...

Τα δεδομένα καταρχήν ήταν... ένα σωρό text αρχεία με πόσες εγγραφές. Σκέφτηκα ότι θα μπορούσα να εξάγω αυτά που ήθελα με Regular Expressions και στην αρχή πήγε καλά, έλα όμως που κάποιοι χαρακτήρες μου χαλούσαν το SQL ερώτημα... Έπρεπε να κάνω ελέγχους για να σβήνω χαρακτήρες που θα δημιουργούσαν πρόβλημα και μετά να εισάγω στη βάση.

Σε μικρά αρχεία δεδομένων πήγε μια χαρά, στα μεγάλα όμως μπορεί να είχα πρόβλημα, μπορεί να 'τρεχε το πρόγραμμα κάποια ώρα, να περνούσε δεδομένα και μετά μια εγγραφή να μου χαλούσε την εκτέλεση. Άντε πέρνα τα πάλι.

Φυσικά έγραψα πολύ απλό κώδικα για να τα κάνω αυτά, καθόλου optimized και τα περισσότερα hardcoded, άστα να πάνε.

Βρίσκω ευτυχώς τα ίδια δεδομένα σε μικρότερο όγκο (μια Αγγλίδα έκατσε και τα καθάρισε), σε JSON αρχείο όμως! Άρα πάμε σε φάση MongoDB, δε με χάλασε ιδιαίτερα μιας κι έχουν Java Driver οπότε θα 'κανα παιχνίδι άνετα.

Εκεί που χάρηκα και πάω να εισάγω το JSON στη MongoDB κι είμαι σε φάση "let's get it on, bitch!" έρχεται η πρώτη ψυχρολουσία... Ίσως ήταν formatting του JSON που δε διάβαζε τίποτα, το αρχείο δεν έμπαινε τέλος πάντων στη MongoDB.

Κατεβάζω καντήλια, "FUUUUUUUU...", αποφασίζω να κάνω μια τελευταία προσπάθεια να βρω τη βάση σε SQL εντολές για να περαστούν κατευθείαν σε MySQL ας πούμε.

Και ω ναι, τελικά βρήκα! *Ταντάαααν* αγγελάκια κατεβαίνουν απ' τον ουρανό, τρομπέτες να παίζουν "Αλληλούια", πυροτεχνήματα αριστερά και δεξιά...

Κατέβασμα MySQL Server, εγκατάσταση MySQL Workbench, εισαγωγή του .sql αρχείου και μετά από 1,5 ώρα που περνούσε τα δεδομένα, έχω επιτέλους τη βάση μου!

Γύρω στις 10-12 ώρες μου πήρε να τα κάνω όλα αυτά μες στην τελευταία βδομάδα, βάλε και το ηλίθιο, inneficient κώδικά μου, ε δε θέλει και πολύ :Ρ

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