Παρασκευή, 29 Δεκεμβρίου 2017

Μάθε Linux σε μια ωρίτσα και κάτι (στα ελληνικά)



Τελικά, τον τελευταίο καιρό, έχω παρατηρήσει πως γίνεται δουλίτσα στο YouTube από ελληνόφωνους YouTubers. Μπορεί να μην είναι όλοι Mikeus και Μαλιάτσης όμως υπάρχει κόσμος που έχει όρεξη να βγάλει βίντεο στα ελληνικά για όποιο θέμα μπορεί να τον ενδιαφέρει. Για παράδειγμα το κανάλι Code Breaker έχει ξεκινήσει μια ενδιαφέρουσα και εκπαιδευτική σειρά σχετικά με την εκμάθηση του μυθικού συστήματος Linux. 

Και λέω μυθικού γιατί ακόμα και το 2017 για κάποιους το Linux είναι κάτι σαν το άβατο του απλού χρήστη, κάτι που νομίζω είναι λάθος. Σε κάθε περίπτωση όμως αν θέλεις να βουτήξεις τα δόντια σου σε κάτι λίγο πιο σκληρό από το λιωμένο παγωτό της Apple ή το μπισκοτάκι της Microsoft καλό είναι να το κάνεις προετοιμασμένος:






Όταν η Rare έτρωγε μπανάνες



Πριν περίπου 3 χρόνια, όταν ακόμα ανέβαζα βίντεο στο YouTube, είχα κάνει ένα review σχετικά με το Donkey Kong Country, ένα από τα καλύτερα παιχνίδια για SNES. Φυσικά η δικιά μου προσπάθεια δεν είχε σκοπό να καταγράψει ιστορικά τα γεγονότα της ανάπτυξης του DKC αλλά να καταγραφεί η μεροληπτική μου άποψη για το παιχνίδι. 

Φυσικά όταν κάποιος έχει περισσότερους πόρους και, κυρίως, τους ίδιους τους δημιουργούς του παιχνιδιού να μιλάνε γι αυτό η ποιότητα του τελικού αποτελέσματος είναι καλύτερη. Κάτι τέτοιο έχει συμβεί και με το βίντεο του DF Retro σχετικά με το παιχνίδι. Το βίντεο είναι ένα ντοκιμαντέρ για την δημιουργία του DKC και κρατάει κάτι λιγότερο από 50 λεπτά. Καλή απόλαυση:


Φυσικά για ιστορικούς λόγους παραθέτω και το δικό μου βίντεο (ψωνάρα): 



Πέμπτη, 14 Δεκεμβρίου 2017

Πως δουλεύει το TCP



Πως μπορεί κάποιος που κάθετε στην αναπαυτική του καρέκλα και να στέλνει emails, να διαβάζει ειδήσεις στο ιντερνετ και να κάνει δουλειές και να διασκεδάζει; Όλα αυτά μπορούν να γίνουν με την μαγεία του TCP.

Κυριακή, 10 Δεκεμβρίου 2017

Ο Εξολοθρευτής των terminals



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

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

Όχι δεν θα έρθει ο Άρνολντ σπίτι σου αλλά ένα terminal με το οποίο μπορείς να κάνεις στο ίδιο παράθυρο πολλά πράγματα ταυτόχρονα. Και μπορεί οι οπαδοί του i3wm να το διαβάζουν αυτό και να κοιτάνε το ταβάνι όμως έχουμε 2017. Το χρειαζόμαστε το terminal όμως θέλουμε και παράθυρα κύριοι.

Εγκατάσταση Linux σε UEFI motherboard



Μερικές φορές, εξ'αιτίας της προϋπάρχουσας άγνοιας, είσαι αναγκασμένος να μάθεις κάτι με τον δύσκολο τρόπο. Έτσι κι εγώ εχθές έμαθα τον ορθό τρόπο εγκατάστασης Linux σε UEFI motherboard. Αναγκάστηκα να κάνω 4 φορές εγκατάσταση με τον λάθος τρόπο (θεωρούσα πως κάτι ξεχνούσα να κάνω κάθε φορά) ώστε να μάθω πως η εγκατάσταση Linux σε UEFI μητρική απαιτεί λίγο διαφορετική διαδικασία.

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

Αρχικά να πούμε, για όσους δεν γνωρίζουν, πως το UEFI είναι η εξέλιξη του BIOS. Επίσης εγώ δεν δοκίμασα την εγκατάσταση σε dual-boot με Windows αλλά το Linux μόνο του. Η εγκατάσταση στις περιπτώσεις UEFI είναι πάντα με 64bit έκδοση Linux. Δεν θα είχε και νόημα να κάνουμε εγκατάσταση 32 bit όμως για να αποφύγουμε τις κακοτοπιές καλύτερα να χρησιμοποιήσουμε 64bit. Στη δικιά μου εγκατάσταση χρησιμοποίησα 64bit του Linux Mint 18.3 .

Κάτι άλλο που θα πρέπει να κάνουμε είναι να μπούμε στο BIOS και να απενεργοποιήσουμε το Quick Boot / Fast Boot και το Intel Smart Response (SRT). Αφού λοιπόν τα έχουμε κάνει αυτά, και έχουμε επιλέξει πρώτη boot συσκευή το DVD μας κάνουμε save & reboot.

Κατά την εγκατάσταση το μαγικό σημείο είναι η ρύθμισή των partitions του συστήματος. Εδώ είναι που θα κριθεί η εγκατάσταση μας αφού αν εδώ κάνουμε λάθος δεν θα γίνει εγκατάσταση ο grub και...ξανά από την αρχή. Εδώ λοιπόν θα πρέπει να δεσμεύσουμε ένα partition για το grub. Το μέγεθος πρέπει να είναι 100 ~ 200 MB και το mount point πρέπει να είναι /boot/efi. Επιπλέον θα πρέπει να βάλουμε flag efi.

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

Πέμπτη, 7 Δεκεμβρίου 2017

Σύγκριση κώδικα γραμμένου σε C και κώδικα σε Assebly



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

Έτσι, όταν εμείς γράφουμε ένα κατεβατό από if-then-else και while loops στην πραγματικότητα γράφουμε κάτι στη γλώσσα μας που θα μεταγλωττιστεί από ένα πρόγραμμα σε γλώσσα κατανοητή για έναν υπολογιστή. Έχει ενδιαφέρον να δούμε πόσο δύσκολο θα ήταν να γράψουμε κώδικα σε Assembly και να αισθανθούμε τυχεροί που δεν είναι απαραίτητο να γράψουμε τόσο low level κώδικα.

Κυριακή, 3 Δεκεμβρίου 2017

Small Wonder



Άλλη μια αναδρομή σε παλιές σειρές και για ακόμα μια φορά θυμήθηκα μια αρκετά άγνωστη σειρά. Είναι τόσο άγνωστη που κι εγώ που την θυμήθηκα έχω αμφιβολίες σε ποιο κανάλι έπαιζε, τι ώρα και ποια εποχή. Μιλάω για την σειρά Small wonder. Ναι, ούτε τον ελληνικό τίτλο θυμάμαι...

Στο Small Wonder λοιπόν ένας οικογενιάρχης επιστήμονας καταφέρνει να φτιάξει ένα ανδροηδές κορίτσι 10 ετών. Φυσικά δεν θέλει να το μάθει ο κόσμος (γιατί....θα γίνει πλούσιος και δεν θέλει; Δεν ξέρω, απλά είναι λογική sitcom 80's) και συμβαίνουν διάφορα ευτράπελα. 

Νομίζω λοιπόν πως η σειρά παιζόταν από το Mega, καθημερινές μεσημέρι. Αλλά μπορεί να κάνω και λάθος αφού η σειρά αυτή είχε θαυτεί καλά στη μνήμη μου παρά το γεγονός πως μου άρεσε γιατί είχε sci-fi στοιχεία.

Και ο χρόνος κυλάει...



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

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

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

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

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

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

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

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

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