ΕΑΠ Survival Guide: Panic Management & Infinite Loops
Current Session Stats
Νόμιζα ότι το δύσκολο κομμάτι ήταν να κάνω successfully enrolled. Πόσο αθώος ήμουν. Σαν Junior Dev που νομίζει ότι θα κάνει deploy Παρασκευή απόγευμα και όλα θα πάνε καλά.
Σχεδόν 2 μήνες μετά την έναρξη, και έχοντας μια —ας την πούμε— «αφηρημένη» εικόνα για το τι εστί Ελληνικό Ανοικτό Πανεπιστήμιο (ΕΑΠ), ξεκίνησα να διαβάζω με τη νοοτροπία που είχα στα legacy συστήματα (βλέπε: Λύκειο).
Fatal Error.
H Ανακάλυψη του GE_Protocol
Δεν προλαβαίνουμε να κάνουμε boot το εξάμηνο και ήδη από την 1η βδομάδα σκάει notification: Θέματα 1ης Γραπτής Εργασίας (ΓΕ).
Εκεί ακριβώς γίνεται το context switch. Συνειδητοποιώ ότι η Πληροφορική στο ΕΑΠ δεν είναι απλά coding. Είναι Distributed Panic Management.
Στα μαθήματα της 1ης χρονιάς, ευτυχώς ο Morpheus μπήκε στο κεφάλι μου πριν κάνω τη δήλωση. Μου πρόσφερε το μπλε χάπι (3 ενότητες) και το κόκκινο χάπι (2 ενότητες). Πήρα το κόκκινο. Επέλεξα ΜΟΝΟ 2.
Στην πρώτη ΓΕ έγραψα σχεδόν άριστα. Το morale ανέβηκε. Ένιωσα hacker.
Και μετά, ακριβώς μία εβδομάδα μετά τα αποτελέσματα, γίνεται trigger το event: 2η Γραπτή Εργασία. Και εκεί ξεκινάει το πραγματικό γλέντι: να διαβάζεις την εκφώνηση και το parsing να αποτυγχάνει παταγωδώς.
Η Εξίσωση της Απελπισίας (Math Block Edition)
Ως νέος επιστήμονας, προσπάθησα να μοντελοποιήσω την κατάστασή μου. Ανακάλυψα ότι η αποδοτικότητα του διαβάσματος (E) είναι αντιστρόφως ανάλογη του όγκου της πληροφορίας (I) και του τετραγώνου των ανοιχτών tabs στον browser (T).
E = \frac{1}{I \times T^2} + \lim_{coffee \to \infty} (Panic)
Με λίγα λόγια: Όσο περισσότερα tabs έχω ανοιχτά στο Stack Overflow για να βρω "τη λύση", τόσο το understanding τείνει στο μηδέν.
Ο Αλγόριθμος της (Μη) Μελέτης
Προσπάθησα να οργανώσω το πρόγραμμά μου γράφοντας ένα script σε Python. Η λογική ήταν απλή: "Όσο έχω ενέργεια, κάνω processing".
Δυστυχώς, ξέχασα να κάνω handle τα exceptions του περιβάλλοντος (βλ. Social Media) και το script μπήκε σε infinite loop αναβλητικότητας.
import time
import random
def study_session(energy_level):
caffeine_intake = 0
# Main Loop της απελπισίας
while energy_level > 0:
print(f"Stats: Energy={energy_level}% | Coffee={caffeine_intake}")
print("Processing paragraph 3...")
time.sleep(1) # Simulation συγκέντρωσης (not really)
# Το bug του συστήματος (Distractions)
distraction = random.choice([
"Discord Notification",
"Το Ψυγείο είναι άδειο;",
"Debugging στο wall του Facebook",
None
])
if distraction:
print(f"CRITICAL ERROR: Context Switch σε '{distraction}'")
energy_level -= 15
caffeine_intake += 1
if caffeine_intake > 5:
# Hardware failure imminent
return "System Overload: Τα χέρια τρέμουν. Abort mission."
return "Exception: Θα ξεκινήσω από Δευτέρα"
# Τρέξ' το με δική σου ευθύνη
status = study_session(100)