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 κώδικά μου, ε δε θέλει και πολύ :Ρ

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

Tuesday, August 6, 2013

Sharknado


Ω ναι το είδα... Μόνο και μόνο γιατί μαζευτήκαμε σπίτι μου με διάθεση να δούμε μαλακία και να φάμε "βρωμιές".

Εντάξει, εκ των πραγμάτων ξέρεις ότι με το ζόρι κατατάσσεται σαν ταινία κι ότι το πιθανότερο είναι ότι θα χάσεις 1,5 ώρα απ' τη ζωή σου. Στο ίντερνετ είχε γίνει τρελός ντόρος για τη συγκεκριμένη ε και θες να δεις τι διάολο είναι.

Είναι τόσο μαλακία που δύσκολα χαρακτηρίζεις το συγκεκριμένο "βίωμα"... Βαρέθηκα ρε φίλε, σε κάποια φάση κοιτάζω το vlc για να δω πόσο μένει ακόμα κι είχαμε δει μόνο μισή ώρα! Ακόμα και τώρα δυσκολεύομαι να γράψω το post, δε μπορώ να κάνω το μυαλό μου να βγάλει λόγια για το Sharknado. Θα σταματήσω να προσπαθώ.

Ο κόπος εν τω μεταξύ που μπήκαμε για να δούμε αυτό το έκτρωμα, δεν περιγράφεται. Η τηλεόραση δεν έχει HDMI, ούτε και το λαπτοπ μου. Οπότε λέμε ας πάμε S-Video σε SCART. Δε μπορούσα ν' αλλάξω την "πηγή" της τηλεόρασης για να δει από το λαπτοπ. Μετά από δοκιμές είπαμε να φέρουμε στο σαλόνι την οθόνη του υπολογιστή. Έλα όμως που στο desktop τη συνδέω με DVI, άρα χρειάζεται VGA αντάπτορας. Έπρεπε να βρω το καλώδιο της παλιάς οθόνης που τα 'φτυσε, επειδή εκείνη την είχα με τον αντάπτορα. Πόσο ψάξιμο και γι' αυτό. Πριν τον βρω τσεκάραμε S-Video σε S-Video αλλά η εικόνα στην οθόνη ήταν θάνατος...

Γαμώ την τρέλα μου φάγαμε περίπου 1,5 ώρα για να στήσουμε το "home cinema" της συμφοράς, είδαμε μια μαλακία που κράτησε 1,5 ώρα, δηλαδή χάσαμε 3 ώρες γι' "αυτό". Πω ρε φίλε ντάξει...

Τουλάχιστον είχαμε τα γυρόνια και γελάσαμε αρκετά. Κάτι είναι κι αυτό.

Κι η ταινία ήταν σε HD. Είδαμε μια HD μαλακία. Αν είναι να κάνεις κάτι να το κάνεις σωστά...

Wednesday, July 24, 2013

Code in style - Heat edition


Τελικά το να γράφεις κώδικα το καλοκαίρι δεν είναι καλή ιδέα...

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

Πόσο μάλλον όταν πρέπει να 'χεις ανοιχτό έναν browser με το εκάστοτε API ή/και tutorials, το IDE για να γράφεις και το συνεχές alt+tab για να πηγαίνεις μπρος πίσω στα παράθυρα (ναι, τα 'φτυσε η δεύτερη οθόνη που είχα).

Φυσικά μετά κάποια ώρα σε πιάνει το κεφάλι σου γιατί το ένα δε δουλεύει, το άλλο δε δουλεύει, ο άλλος το κάνει στο Eclipse εγώ το θέλω στο NetBeans...

Τέρμα, προγραμματισμός από δω και πέρα (και μέχρι να 'ρθει ο χειμώνας) το πρωί μέχρι τις 12 και μετά τις 9 το βράδυ. Μεσημέρι ή απόγευμα απλά δε γίνεται...

Friday, July 19, 2013

Like a boss...


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

Γαμώ τους υπολογιστές μου...

Thursday, July 18, 2013

Home - kinda - cinema


Δε λέω, καλή φάση να βλέπεις το Hobbit στον κινηματογράφο (τεράστια οθόνη, surround ήχος), αλλά και να το βλέπεις στην οθόνη του υπολογιστή σου σε 1080p με τα monitor ηχεία στα 2/3 της τελικής τους έντασης, πάλι γαμάτο είναι.

Κι αυτή τη φορά μπορούσα να το σταματήσω όποτε ήθελα για ν' απαντήσω στα καλέσματα της φύσης :Ρ

Monday, July 8, 2013

public static void main(String[] args){//todo}


Μέχρι το τέλος του καλοκαιριού, ή θα τα 'χω φτύσει από υπερκατανάλωση Java ή θα 'χω μάθει τόση πολλή όσο δεν έμαθα στα τόσα χρόνια της σχολής. In any case, όπως λέει και το τραγούδι "I'm so excited, I just can't hide it, τουρου τουρου τουρου τουρου τουρου τουρου-ρου"

Ποιός θα περίμενε ότι ένα παιχνίδι και τα mods του θα σε κάνουν ν' ασχοληθείς επιτέλους με τον προγραμματισμό ε; Ώρα να ξεφεύγουμε απ' τα one-class προγράμματα της σχολής, φτάνει.

Κι έχουμε και τους κυρίους του Android που μ' ενδιαφέρουν κι αυτοί, ωραία πράγματα μπορείς να φτιάξεις για Android κι έχουμε και συνεργάτη στο "έγκλημα" :Ρ

Eclipse Kepler στήθηκε, ADT στήθηκε, workspaces έγιναν, github ρυθμίστηκε... Let's get it done!