Skip to content

Latest commit

 

History

History
 
 

2014042

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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

Ονοματεπώνυμο: Κοσμάς Τσιανατέλης

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

GitHub Profile: Sola1r3


Εβδομάδα* Παραδοτέο Αυτοαξιολόγηση
1 Φορκ του αποθετηρίου και δημιουργία της σελίδας της αναφοράς με τα προσωπικά στοιχεία σας, της σύνοψης με αυτόν τον πίνακα περιεχομένων, και συγγραφή της εισαγωγής με περιγραφή των αναγκών και των στόχων σας για το μάθημα Ορισμός των αρχικών αναγκών και στόχων μου.
2 Άσκηση γραμμής εντολών Πρώτη γεύση από Linux μέσα από μια πολύ επίμονη και υπομονετική διαδικασία με μεγαλύτερο ώφελος την γέννηση πιο έντονου ενδιαφέροντος για το μάθημα.
3 Άσκηση γραμμής εντολών Εξερεύνηση δυνατοτήτων μέσω γραμμής εντολών ώστε να υπάρχει μεγαλύτερη εξοικείωση.
4 Συμμετοχικό περιεχόμενο 1A Έρευνα για θέματα HCI με αποτέλεσμα την καλύτερη κατανόηση της θεματολογίας του μαθήματος.
5 Άσκηση γραμμής εντολών Επιπλέον ενδεικτική ενασχόληση με γραμμή εντολών.
6 Συμμετοχικό περιεχόμενο 2A Βαθύτερη έρευνα σε κατηγορίες των εικόνων από το 1Α, ακόμη μεγαλύτερη εξοικείωση με την έννοια του μαθήματος.
7 Άσκηση γραμμής εντολών Πολύ ενδιαφέρον και χρήσιμο εργαλείο για καθημερινή χρήση.
8 Συμμετοχικό περιεχόμενο 1B Case study σε videogames industry, έμαθα παραπάνω για την ιστορία αυτού του μέσου σε σχέση με την διάδραση.
9 Άσκηση γραμμής εντολών Το αγαπημένο μου κομμάτι από το μάθημα και κάτι που χρησιμοποιώ και με το πέρας του μαθήματος καθώς έχω μεταφέρει λίστες μου εκεί.
10 Συμμετοχικό περιεχόμενο 2B Βιογραφία μέσω της οποίας έμαθα για τον Shigeru Miyamoto, σημαντικό πρόσωπο στην διάδραστική ψυχαγωγία μέσω βιντεοπαιχνιδιών.
11 Άσκηση γραμμής εντολών
12 Τελική αναφορά και αίτημα ενσωμάτωσης για βαθμολόγηση Επίτευξη των αρχικών μου στόχων και τελικός απολογισμός των πραγμάτων που κέρδισα από το μάθημα.
- Ομαδικότητα Συνεισφορά μου στην κοινότητα του μαθήματος, προσπάθησα να είναι ουσιαστική και μένω ικανοποιημένος από αυτήν.

Εισαγωγή

Οι ανάγκες και οι στόχοι μου για το μάθημα (📗)

Με το πέρας του μαθήματος θα ήθελα να έχω μια καλύτερη εικόνα σε σχέση με την έννοια της διάδρασης και φυσικά να είμαι όσο μπορώ συνεπής απέναντι σε αυτό. Θα ήθελα να αποκτήσω εξοικείωση με το terminal ενώ δεν κρύβω πως μου φαίνεται ενδιαφέρον το πρακτικό κομμάτι του μαθήματος. Στοχεύω στο να βιώσω εναλλακτικούς τρόπους διάδρασης και διεπαφής και να χρησιμοποιήσω νέα εργαλεία ξένα εως τώρα σε μένα. Στην αρχή του μαθήματος το Github μου φαίνεται αρκετά περίπλοκο οπότε θα ήθελα όταν γράφω τον επίλογο να μπορώ να κατανοώ αυτήν την πλατφόρμα καλύτερα και να είμαι σε θέση να περιηγούμαι με άνεση μέσα σε αυτήν.

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

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


Σύνοψη

Παραδοτέο 2: Εγατάσταση των ArchLinux και εντοπισμός χαρακτηριστικών υλικού

Έπειτα από αρκετή προσπάθεια κατάφερα να εγκαταστήσω το ArchLinux στο USB. Έκανα εγκατάσταση wi-fi δικτύου και δημιούργησα mirrorlist ώστε να μπορώ αργότερα να κάνω λήψη των packages που επιθυμώ. Δημιούργησα τα κατάλληλα partitions GPT, ένα EFI και ένα ROOT partition και τα έκανα format και mount. Μετά από αυτή την διαδικασία, κατέβασα τα απαραίτητα linux packages και για text editor το vim, και αργότερα προχώρησα στην διαδικασία εγκατάστασης όπου και εγκατέστησα grub για bootloader, στοιχείο απαραίτητο για την λειτουργία του λειτουργικού συστήματος και πριν κάνω reboot όρισα username και password ολοκληρώνοντας έτσι την βασική εγκατάσταση. Παρακάτω φαίνονται πληροφορίες του συστήματος και του υλικού μέσω του εργαλείου Screenfetch.

Asciinema Links:

Screenfetch

Journalctl


Πηγές: ArchWiki, Arch Linux on a USB Stick, Screenfetch

Προβλήματα που συνάντησα

Σε πρώτη προσπάθεια για την εγκατάσταση των Archlinux σε USB flash drive, ακολούθησα την αναλυτική διαδικασία που παρουσιάζεται στο Archwiki (installation guide) ωστόσο αυτή η προσπάθεια απέτυχε όταν χώρισα το usb σε partitions. Για μεγάλο χρονικό διάστημα δεν μπορούσα να προχωρήσω την εγκατάσταση και ο λόγος για αυτό ήταν η ελλειπής οικειότητα και γνώση μου αρχικά με το terminal και έπειτα με τις εντολές. Χρειάστηκε λοιπόν αρχικά να κατανοήσω την λειτουργία κάθε εντολής και τον ρόλο που εξυπηρετεί η κάθε διαδικασία για την εγκατάσταση του λειτουργικού. Όλο αυτό πήρε αρκετές μέρες εντατικής ενασχόλησης σε σημείο απογοήτευσης κάθε φορα που δεν δούλευε κάτι. Ένα απλό λάθος για παράδειγμα που έκανα στην αρχή ήταν να χρησιμοποιώ ένα μόνο Usb, στο οποίο είχα βάλει το ISO και έκανα boot. Έπειτα όταν δημιουργούσα τα partitions δεν λειτουργούσε. Έτσι χρησιμοποίησα δύο USB ένα για το boot και ένα για την εγκατάσταση του λειτουργικού συστήματος. Ένα άλλο αστείο λάθος ή και αδιέξοδο για παράδειγμα ήταν όταν άνοιξα για πρώτη φορά το Vim και δεν μπορούσα να βρω τον τρόπο να βγω αποό αυτό καθώς δεν έγραφα άνω και κάτω τελεία. Πιο πολύ λοιπόν συνάντησα προβλήματα αρχάριου που προέρχονταν από την μηδενική μου εμπειρία.


Παραδοτέο 3: Warmup 1

Αρχικά δοκίμασα για λόγους εξοικείωσης βασικές εντολές όπως πχ πως να κάνω navigate απο directory σε directory γαι γενικότερα βασικά πράγματα και λειτουργείες. Έπειτα άρχισα να ελέγχω κάποιες δυνατότητες που παρέχει το σύστημα. Είδα κάποια βασικά tutorials για την χρήση των Linux και δοκίμασα κάποιες από τα ενδεικτικά warmup εργαλεία/ασκήσεις. Εγκατέστησα το πακέτο curl, το οποίο είναι ένα εργαλείο που μεταφέρει δεδομένα από και προς έναν server και κάνει διάφορων ειδών requests. Εμφάνισα λοιπόν τον καιρό στο terminal μου μέσω του wttr και δοκιμασά και πολλές άλλες δυνατότητες από το awesome-console-services όπως animated παπαγάλους, νέα, updates για τον covid, nyan cat, cryptocurrency charge rates και άλλα πολλά. Ενδεικτικά παραθέτω παρακάτω 2 από τα παραπάνω σε asciinemas.

Asciinema Links

Καιρός με wttr στην Κοζάνη

Cryptocurrency Charge Rates


Πηγές: Introduction to Linux and Basic Linux Commands for Beginners, Basic cURL Tutorial, wttr, awesome-console-services


Παραδοτέο 4: Συμμετοχικό Περιεχόμενο 1Α


Για το πρώτο παραδοτέο συμμετοχικού περιεχομένου η πρώτη εικόνα που επέλεξα είναι ο υπολογιστής της Apple, ο Apple III ο οποίος σχεδιάστηκε με κύριο γνώμονα τους επαγγελματίες και τις επιχειρήσεις που κάναν χρήση υπολογιστών και χαρακτηρίστηκε από την ίδια την Apple ως αποτυχία. Ενώ η δεύτερη εικόνα που επέλεξα είναι η πρώτη μηχανή Arcade ονόματι Computer Space, οι δημιουργοί της οποίας αργότερα ιδρύσανε την Atari.

Περιγραφή Repository Σύνδεσμος
Images Apple III Κανονική Εικόνας Και Thumbnail
Gallery Apple III Στοιχεία Εικόνας
Images Computer Space Κανονική Εικόνα Και Thumbnail
Gallery Computer Space Στοιχεία Εικόνας

Πηγές: Apple III - Wikipedia, Apple III- Youtube, Computer Space Wikipedia, The History of Arcade Machines from 1971, Computer Space launched the video game industry 50 years ago

Προβλήματα που συνάντησα

Κατά την δημιουργία submodules, μου πήρε αρκετό χρόνο να κατανοήσω τι πρέπει να κάνω και αυτό οφείλεται παραπάνω σε λάθη πρωτάρη, με αποτέλεσμα να κάνω πολλά back and forth. Αρχικά οταν προσπαθούσα να κάνω το πρώτο μου git push δεν είχα κάνει σωστά generate token το οποίο δεν έχει δικαίωμα να τροποποιήσει τα repos μου. Παράλληλα προσπαθούσα να κάνω submodules χωρις να εχω δει τα asciinema του μαθήματος για τα submodules. Το μεγαλύτερο λάθος μου, ωστόσο παράλληλα εξαιτίας αυτού του λάθους ασχολήθηκα πολύ πιο βαθυά με το git και έψαξα πράγματα σε σχέση με αυτό που ειδάλλως δεν θα κοίταγα. Όταν έσβηνα τα υπάρχοντα submodules έκανα απλα rm -rf gallery και έπειτα εκτελούσα την εντολή git submodule add πράγμα που φυσικά δεν λειτουργούσε καθώς υπήρχε στο index το gallery. Έπειτα δοκίμασα να κάνω rm -rf το gitmodules και μετά touch gitmodules πράγμα που δούλεψε και μου επέτρεψε να κάνω νέα submodules, commit και push. Φυσικά όμως κάτι τέτοιο δεν δούλευε στο netlify. Δοκίμασα και άλλα πολλά ανορθόδοξα tactics ώσπου κάποια στιγμή σκέφτηκα να ξανακοιτάξω τα asciinema του μαθήματος ώπου και λύθηκαν όλα μου τα προβλήματα.

Τελικά δεν κατάφερα ωστόσο να κάνω το netlify να λειτουργήσει σωστά και δεν έχω κατανοήσει ακόμα για ποιο λόγο συμβαίνει αυτό. Παρακάτω το λινκ για την ιστοσελίδα μου στο netlify.

Netlify


Παραδοτέο 5: Warmup 2

Για το δεύτερο warmup έκανα browse στο διαδίκτυο μέσω terminal χρησιμοποιόντας το w3m, έναν text based browser, όπως φαίνεται και στην παρακάτω εικόνα

alt text

Πηγές: w3m


Παραδοτέο 6: Συμμετοχικό Περιεχόμενο 2A

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

Περιγραφή Repository Σύνδεσμος
Slides Βιντεοπαιχνίδια (Slides)
Timeline Η εξέλιξη των συστημάτων της Apple (Timeline)

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

Για την πρώτη κύρια άσκηση γραμμής εντολών διάλεξα να κάνω αναζήτηση, να κατεβάσω και να παίξω μέσω του terminal ένα τραγούδι από το Youtube. Αρχικά κατέβασα τα packages που χρειαζόμουνα τα οποία ήταν το youtube dl, το οποίο κατεβάζει και αποθηκεύει βιντεάκια του youtube στον υπολογιστή, το mpv το οποίο είναι media player για την γραμμή εντολών, το ytfzf που επιτρέπει την αναζήτηση βίντεο από το terminal καθώς και άλλα dependencies του όπως το jq για ανάλυση json και το ueberzug για thumbnails. Αφού λοιπόν εγκατέστησα όλα τα παραπάνω έκανα αναζήτηση του τραγουδιού που επέλεξα (The Man Who Sold The World) το έτρεξα κατευθείαν, έπειτα το αποθήκευσα στον υπολογιστή μου και έπαιξα το αποθηκευμένο πλέον τραγούδι από το terminal. Όλα τα παραπάνω φαίνονται στα asciinema που ακολουθούν.

Asciinema Links

Αναζήτηση τραγουδιού μέσω terminal

Download τραγουδιού

Play mp3 μέσω terminal

Πηγές: ytfzf - github


Παραδοτέο 8: Συμμετοχικό Περιεχόμενο 1Β

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

Περιγραφή Repository Σύνδεσμος
Το πρώτο Arcade first-arcade.md + cs-first-arcade.md

Πηγές: The History of Arcade Machines from 1971, Computer Space launched the video game industry 50 years ago, Before Pong, There Was Computer SpaceWhy Pong scored so highly for Atari, The Sweet Pong of Success, The First Gaming Console, The 8 Generations of Video Game ConsolesNintendo's Wii is A RevolutionThe race to develop VR controls


Παραδοτέο 9: Άσκηση Γραμμής Εντολών Emacs Org-Mode

Για την δεύτερη άσκηση γραμμής εντολών επέλεξα να ασχοληθώ με τον επεξεργαστή κειμένου emacs και πιο συγκεκριμένα με το Mode Org-Mode το οποίο χρησιμοποιείται για την δημιουργία σημειώσεων, για την σύνταξη εγγράφων, την δημιουργία λιστών και άλλα πολλά μέσω ενός γρήγορου και αποτελεσματικού συστήματος plain text.

alt text

Το org mode είναι ένα πολύ πρακτικό εργαλείο για την οργάνωση σημειώσεων και είναι φοβερά ευέλικτο.

alt text

Στην παραπάνω φαίνεται μια λίστα σημειώσεων για αντικείμενα προς μελέτη. Υπάρχουν κατηγορίες και υποκατηγορίες ενώ επίσης είναι δυνατό να οριστούν αντικείμενα ως TO DO ή και DONE, ενώ παράλληλα η μετακίνηση μιας κατηγορίας η οποιουδήποτε αντικειμένου είναι φοβερά ευέλικτη και απλή, πατώντας για παράδειγμα alt και κάτω βέλος στο philosophy πολύ απλά θα μεταφερθεί κάτω από το HCI.

alt text

Επιπλέον είναι δυνατόν να δημιουργηθεί checklist που να εμφανίζει σε κλάσμα ή σε ποσοστό τον αριθμό αντικειμένων που είναι τσεκαρισμένα, ενώ επίσης γίνεται μια κατηγορία να δεχτεί Tag, για παράδειγμα το HCI έχει το tag Homework ενώ το Books to Read έχει tag Freetime και φυσικά είναι δυνατόν να γίνει απόκρυψει υποαντικειμένων όπως φαίνεται παραπάνω στις τελευταίες τρεις κατηγορίες. Ένα πολύ σημαντικό feature είναι και ο ορισμός deadlines όπως φαίνεται στην εικόνα.

alt text

Τέλος το org mode έχει και λειτουργία agenda όπου για παράδειγμα σου δείχνει ολα όσα τα TO DO σου ή και τις καταληκτικές σου ημερομηνίες μέταξύ άλλων. Γενικότερα είναι ένα εργαλείο με φοβερά μεγάλη ποικιλία δυνατότητων το οποίο παράλληλα είναι εξαιρετικά απλό σχετικά με την οργάνωση σημειώσεων και σιγουρά φοβερά αποτελεσματικό. Επίσης το emacs διαθέτει manual με εκτενέστατες οδηγίες για την χρήση του, και πέρα από την οργάνωση σημειώσεων έχει απίστευτα πολλές δυνατότητες.

Πήγες: Taking Notes In Emacs Org-Mode


Παραδοτέο 10: Συμμετοχικό Περιεχόμενο 2Β

Περιγραφή Repository Link
Σύντομη βιογραφία του Shigeru Miyamoto shigeru-miyamoto.md + bio-miyamoto.md

Πηγές: Shigeru Miyamoto Wants to Create a Kinder World, The Impact of Shigeru Miyamoto on the Game Design IndustryShigeru Miyamoto Explains What Prompted Nintendo To Pursue Motion Controls For The Wii Miyamoto wants Nintendo to revolutionize controllers… again, [Video: '90s Interview With Miyamoto Reveals What He Thinks Makes His Games So Special] (https://www.nintendolife.com/news/2017/09/video_90s_interview_with_miyamoto_reveals_what_he_thinks_makes_his_games_so_special)


Επίλογος

Ολοκληρώνοντας το μάθημα νιώθω φοβερά κερδισμένος και θα έλεγα πως ήταν το μάθημα με το μεγαλύτερο θετικό αντίκτυπο πάνω μου. Από όσα μαθήματα έχω περάσει στο τμήμα μας κανένα δεν κατάφερε να μου αφήσει τόσα πολλά, τόσο σε επίπεδο γνώσεων όσο και σε επίπεδο ιδεολογίας. Η ιδέα της διάδρασης αρχικά δεν μπορούσα να διανοηθώ πόσο βαθυά πάει, ώσπου ήρθα σε επαφή με ιδέες αξιόλογων επιστημόνων όπως είναι πχ ο Engelbart, ο Lanier, ο Ted Nelson, o Alan Kay. Νιώθω ότι πλέον αντιλαμβάνομαι διαφορετικά την έννοια υπολογιστής και θα έλεγα πως αυτό σε μεγάλο βαθμό το προσδίδω στο γεγονός ότι στο μάθημα εξετάσαμε σε μεγάλο βαθμό πιο πολύ το παρελθόν και όχι τόσο το παρόν ή ακόμα και το μέλλον. Η έρευνα αυτή του παρελθόντος της διάδρασης και των υπολογιστών δίνει ένα διαφορετικό perspective σε κάποιον και τον κάνω να αναρωτιέται ή και να αμφισβητεί ακόμα τους σημερινούς τρόπους διάδρασης.

Έκτος όμως απο αυτά που αποκόμοισα σε ιδεολογικό επίπεδο, καταφερα να εξοικειωθώ και με το terminal. Σίγουρα δεν είμαι ένας καλός ακόμα χρήστης terminal καθώς ακόμα γνωρίζω πολύ βασικά πράγματα αλλά αυτό που εκτιμώ παραπάνω είναι το έναυσμα για παρακάτω καθώς νιώθω πως δεν μπορώ να το αφήσω γιατί είναι κάτι που πραγματικά με δελεάζει. Σε ίδιο μοτίβο κινείται και το github το οποίο πλέον έχω κατανοήσει σαν φιλοσοφία πράγμα που ήρθε κυρίως μέσω του git και δεν με "τρομάζει" όπως συνέβαινε στην αρχή. Επιπλέον, όταν επέλεγα δεύτερη άσκηση για γραμμή εντολών, δεν πίστευα ποτέ οτι θα βρω κάτι σαν το emacs org mode, εργαλείο που είναι ότι πρέπει για μένα καθώς γενικά μου αρέσει να δημιουργω λίστες μόνο που το έκανα σε απλά txt αρχεία, που προφανώς η διαφορά στις δυνατότητες είναι μέρα νύχτα και ήδη το έχω υιοθετήσει. Κλείνοντας νιώθω ικανοποιημένος από την απόδοση μου αλλά κατά πολυ πιο ικανοποιημένος από όλα όσα μπορώ να λέω πως έχω αποκομοίσει από το συγκεκιρμένο μάθημα.


Ομαδικότητα

  1. courses-ionio#1537 (comment)
  2. courses-ionio#1533 (comment)
  3. courses-ionio#1531 (reply in thread)
  4. courses-ionio#1581 (comment)
  5. courses-ionio#1607 (reply in thread)
  6. courses-ionio#1615 (reply in thread)
  7. courses-ionio#1630
  8. courses-ionio#1643
  9. courses-ionio#1645 (comment)
  10. courses-ionio#1668 (comment)
  11. courses-ionio#1677 (comment)
  12. courses-ionio#1671 (comment)
  13. courses-ionio#1700 (comment)

Commit History από το προηγούμενο μου repository

  1. https://github.com/Sola1r3/pictures/blob/main/Commit_History_1.PNG
  2. https://github.com/Sola1r3/pictures/blob/main/Commit_History_2.PNG
  3. https://github.com/Sola1r3/pictures/blob/main/Commit_History_3.PNG
  4. https://github.com/Sola1r3/pictures/blob/main/Commit_History_4.PNG
  5. https://github.com/Sola1r3/pictures/blob/main/Commit_History_5.PNG
  6. https://github.com/Sola1r3/pictures/blob/main/Commit_History_6.PNG
  7. https://github.com/Sola1r3/pictures/blob/main/Commit_History_7.PNG
  8. https://github.com/Sola1r3/pictures/blob/main/Commit_History_8.PNG