Skip to content

Latest commit

 

History

History

2014010

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Μάθημα: Επικοινωνία Ανθρώπου Υπολογιστή

Ονοματεπώνυμο: ΠΑΝΑΓΙΩΤΙΔΗΣ ΜΙΧΑΗΛ ΑΧΙΛΛΕΑΣ

Αριθμός Μητρώου: Π2014010

GitHub Profile: CptMike

Εβδομάδα* Παραδοτέο
1 Φορκ του αποθετηρίου και δημιουργία της σελίδας της αναφοράς με τα προσωπικά στοιχεία σας, της σύνοψης με αυτόν τον πίνακα περιεχομένων, και συγγραφή της εισαγωγής με περιγραφή των αναγκών και των στόχων σας για το μάθημα
2 Άσκηση γραμμής εντολών
3 Άσκηση γραμμής εντολών
4 συμμετοχικό περιεχόμενο 1A
5 Άσκηση γραμμής εντολών
6 συμμετοχικό περιεχόμενο 2A
7 Άσκηση γραμμής εντολών
8 συμμετοχικό περιεχόμενο 1B
9 Άσκηση γραμμής εντολών
10 συμμετοχικό περιεχόμενο 2B
11 Τελική αναφορά και αίτημα ενσωμάτωσης για βαθμολόγηση
12 Συνεισφορά σε συζητήσεις

ΕΙΣΑΓΩΓΗ

Οι Προσδοκίες μου από το Μάθημα και την Εργασία

Ολοκληρώνοντας το μάθημα με επιτυχία αποσκοπώ στο να αποκτήσω στο μέγιστο βαθμό:

  1. την κατανόηση του μαθήματος
  2. τη χρήση της πλατφόρμας GitHub
  3. τη χρήση του terminal
  4. την αλληλεπίδραση με εφαρμογές με διαδραστικό περιβάλλον.

Επιπλέον θα ήθελα να δω σχηματίσω μια σφαιρική αντίληψη για τον προγραμματισμό και στη συνέχεια να δημιουργήσω δικές μου εφαρμογές που έχουν real life use cases. Αν μπορώ να αναφερθώ στους προσωπικές μου ανάγκες που προέκυψαν στο πλαίσιο αυτού του μαθήματος, θα έλεγα μια μεγαλύτερη γνώση στο αντικείμενο της αλληλεπίδρασης ανθρώπου - υπολογιστή. Πως αυτή ορίζεται, αλλά και πως επιτυγχάνεται. Ιδανικά θα ήθελα να μελετήσω κι άλλο αυτό τον πολύ σημαντικό τομέα της επιστήμης των υπολογιστών. Να μελετήσω περισσότερο την προϊστορία του χώρου, καθώς και διάφορα εργαλεία, πέρα απο αυτά που έχω τη δυνατότητα να δουλέψω στο μάθημα, που χρησιμοποιούνται για την επίτευξη αυτής της αλληλεπίδρασης.

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

2ο Παραδοτέο - Arch Linux Installation

Χρησιμοποιώντας 2 παρόμοια USB drives, το πρόγραμμα Rufus και το Disk Image File archlinux-2021.10.01-x86_64.iso, φόρτωσα και ξεκίνησα την εγκατάσταση του λογισμικού ArchLinux ακολουθώντας το παρακάτω πολύ αναλυτικό guide όπως επίσης και το Official Documentation.

Σε όλη την πορεία συνάντησα αρκετές δυσκολίες. Αρχικά, επειδή το USB που χρησιμοποίησα ήταν μικρότερης χωρητικότητας, βρήκα δυσκολία στον διαχωρισμό των partitions. Στη συνέχεια, μερικά packages ήταν outdated ή οι ονομασίες τους είχανε αλλάξει, με αποτέλεσμα να χρειαστεί να ψάξω τα νεα. Όταν κατάφερα να τελειώσω το installation, το ArchLinux δε μπορούσε να κάνει boot και ερχόμουν αντιμέτωπος με το Grub Shell. Μετά απο πολύ ψάξιμο βρήκα εν τέλει ότι δεν είχα δώσει σωστά ένα path. Έκανα format τα USB και για τρίτη φορά ξανα άρχισα όλο το installation απο την αρχή. Κατάφερα να τελειώσω την εγκατάσταση του λογισμικού με επιτυχία, όπως επίσης και αυτή ενός γραφικού περιβάλλοντος. Με μεγάλη μου έκπληξη, βρήκα ακόμη μια δυσκολία στο Login Screen, όπου αφού έβαζα σωστά το Password, πατώντας Enter, δε γινόταν απολύτως τίποτα. Μπήκα για άλλη μια φορά στο Shell με Ctrl+Alt+F2 και για πολλές ώρες προσπάθησα να κάνω Debugging. Ξανα εγκατέστησα ότι είχε σχέση με το γραφικό περιβάλλον, με μεγαλύτερη προσοχή αυτή τη φορά και στο τέλος κατάφερα να ολοκληρώσω επιτυχώς την προσπάθεια μου.

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

Specs Asciinema

3ο Παραδοτέο - Συμμετοχικό περιεχόμενο A1

Μετά απο προσεκτική ανάγνωση των οδηγιών και πλήρους κατανόησης του απώτερου σκοπού του εβδομαδιαίου task, αποφάσισα να χρησιμοποιήσω μια δικιά μου μέθοδο για την υλοποίηση του στόχου. Ξεκίνησα με ένα fork πάνω στο αποθετήριο του μαθήματος και συνέχισα με ακόμα 2, στους επιμέρους σχετικούς φακέλους που σκόπευα να χρησιμοποιήσω και να ενσωματώσω τα δικά μου δεδομένα. Στη συνέχεια, αποφασισμένος να φέρω εις πέρας όλες τις διεργασίες με τον σωστό τρόπο, έκανα clone τα 3 απωθετήρια τοπικά στο laptop με το λογισμικό arch linux.

Έχωντας κάνει μια επαρκή προεργασία, αφιέρωσα αρκετό χρόνο στο διαδίκτυο ώστε να αναζητήζω τις 2 φωτογραφίες που πίστευα πως πληρούσαν όλα τα κρητήρια. Επέλεξα να ασχοληθώ με δυο παιχνιδο-κονσόλες πρώτης γενίας που χάραξαν το μονοπάτι για όλες αυτές που μπορούμε να έχουμε σήμερα. Το Brown Box και το Coleco Telstar! Χρησιμοποιώντας πάντα τη γραμμή εντολών του τερματικού, έγινε η επιτυχής λήψη των φωτογραφιών και στη συνέχεια με το command "mv" (move) μεταονόμασα κατάλληλα τις φωτογραφίες και μετά τις έστειλα στο τοπικό απωθετήριο με όνομα "images". Αφήνωντας τη δικιά μου πινελιά ανάμεσα στα αμέτρητα άλλα προιόντα, χρησιμοποίησα μερικές εντολές όπως "git status", "git add .", "git commit", και "git push", ώστε να τις ενσωματώσω στο github, στο δικό μου προσωπικό απωθετήριο. Αποστολή εξετελέσθη!

Συνάντησα μερικές δυσκολίες, όσον αφορά το git config, όμως τις αντιμετώπισα γρήγορα και συνέχισα επιτυχώς. Το επόμενο στάδιο αν και αρκετά εύκολο, με ταλαιπώρησε περισσότερο λόγω της έλειψης κάποιου επεξεργαστή κειμένου. Αλλαγή φακέλου λοιπόν και περιήγηση στο απωθετήριο "gallery" όπου έπρεπε να γίνει η περιγραφή των εικόνων που διάλεξα προηγουμένως. Αναγκαστικά, έπρεπε όλα να γίνουν χειροκίνητα με το vim, κάτι το οποίο ήταν αρκετά χρονοβόρο και σχετικά "nerve racking". Ακολούθησα την ίδια διαδικασία όπως προηγουμένως και ενσωμάτωσα τις περιλήψεις των εικόνων στο forked repository μου, στο github.

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

Περιγραφή Σύνδεσμος Απωθετηρίου
Images Coleco-Telstar Κανονική Εικόνα & Thumbnail
Gallery Coleco-Telstar Στοιχεία Εικόνας
Images Brown Box Κανονική Εικόνα & Thumbnail
Gallery Brown Box Στοιχεία Εικόνας

4ο Παραδοτέο - Συμμετοχικό περιεχόμενο A2

Έχωντας προηγουμένος ολοκληρώσει το συμμετοχικό περιεχόμενο Α1, η διαδικασία δε φάνηκε αλλόκοτη. Χρησιμοποιώντας πάντα το terminal, οι διεργασίες έγιναν ως εξής. Στο ίδιο cloned αποθετήριο (site) όπου υπήρχαν οι φάκελοι (_slides) και (_timeline), δημιούργησα δυο νέα αρχεία με το όνομα interactivesconsoles.md. Η αρχιδκή μου ιδέα ήταν να συμπεριλάβω μόνο κονσόλες που χρησιμοποιούνταν αποκλειστικά για βιντεοπαιχνίδια. Με μια εκτενή έρευνα διαπίστωσα πως δεν υπήρχαν τόσες πολλές κονσόλες ειδικά για αυτό το σκοπο. Αποφάσισα λοιπόν να συμπεριλάβω γενικά κονσόλες διάδρασης, όπου το υλικό ήταν άφθονο. Όσον αφορά τη σύνταξη των αρχείων, έγινε εξ' ολοκλήρου στο vim. Χαίρομαι ιδιαίτερα που εξοικειώνομαι τόσο με τον τρόπο εργασίας, όσο και με τα modes (i.e. Insert, Command). Αυτή τη φορά δε συνάντησα δυσκολίες πέρα απο την εύρεση συσχετιζόμενων συσκευών. Ανυπομονώ να αντιμετωπίσω πιό δύσκολες ασκήσεις!

Περιγραφή Σύνδεσμος Απωθετηρίου
Slides Συσκευές Διάδρασης
Timeline Συσκευές Διάδρασης

5ο Παραδοτέο - Άσκηση Γραμμής Εντολών

Μέσα απο τις πολλές επιλογές της κατηγορίας HCI, επέλεξα να ασχοληθώ με το "youtube mp3 download". Ξεκινώντας φαντάστηκα πως η όλη διαδικασία χρειαζόταν τρια commands. Ένα για το search, ένα για το download και ενα τελευταίο για το play. Παρόλα αυτά συνάντησα αρκετές δυσκολίες ως προς τα packages. Μερικά δε μπορούσε να τα κατεβάσει το σύστημα μου. Χρειάστηκε να κάνω update όλο το λογισμικό με την εντολή pacman -Syu. Στη συνέχεια κατέβασα τα προγράμματα yzftf, youtube-dl, mpv, jq και άρχισα να πειραματίζομαι. Η όλη διαδικασία μου πήρε γύρω στις 2 ώρες. Δε μπορώ να πω ότι ήταν δύσκολη. Παρόλα αυτά παρατηρώ ότι βελτιώνομαι στον τομέα του multitasking, όσον αφορά το παράλληλο search and debugging.

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

Search Youtube Song Asciinema

Download and Play Song Asciinema

6ο Παραδοτέο - Συμμετοχικό περιεχόμενο Β1

Για την μελέτη περίπτωσης επέλεξα να ασχοληθώ με την σειρά κονσολών πρώτης γεννίας, Coleco Telstar

Περιγραφή Repository Σύνδεσμος
Οι κονσόλες Coleco Telstar coleco-telstar.md + cs-coleco-telstar.md

7ο Παραδοτέο - Άσκηση Γραμμής Εντολών

Για την επόμενη άσκηση γραμμής εντόλων της κατηγορίας HCI, επέλεξα να ασχοληθώ με το "use the terminal as an IDE". Αρχικά κατέβασα και εγκατέστησα το zsh (Z Shell). Έχει πολλές δυνατότητες όπως το Bash, αλλά ορισμένες δυνατότητες του Zsh το καθιστούν καλύτερο και βελτιωμένο από το Bash, όπως η ορθογραφία, ο αυτοματισμός cd, το καλύτερο θέμα και η υποστήριξη των plugins.

Βρήκα ένα πολύ ενδιαφέρον blogpost, που περιείχε αρκετά themes και ξεκίνησα να δοκιμάζω τι ταιριάζει στο προσωπικό μου workflow. Μετα απο μερικές προσπάθειες, κατέληξα στο zsh theme "Kphoen". Πέρα απο τα ωραία χρώματα, το συγκεκριμένο theme, προσφέρει autocompletion, τη δυνατότητα να περιηγούμαι σε ένα directory και να διαλέγω αρχεία με το "TAB". Το πιό σημαντικό και χρήσιμο όμως, είναι οτι αυτό το zsh, σου μπορεί να δείξει στον χρήστη ανα πάσα στιγμή το path, αλλά και το git branch στο οποίο δουλεύει.

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

Shell Configuration Asciinema

8ο Παραδοτέο - Συμμετοχικό περιεχόμενο Β2

Για την βιογραφία επέλεξα να ασχοληθώ με έναν απο τους κατασκευαστές του BrownBox, Ralph H. Baer.

Περιγραφή Repository Σύνδεσμος
Βιογραφία Ralph H. Baer ralph-h-baer.md + ralph-h-baer-bio.md

9ο Παραδοτέο - Επίλογος

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

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

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

10ο Παραδοτέο - Συνεισφορά σε συζητήσεις

#1612

#1588

#1650

#1624