Έβαλα τάξη στα χιλιάδες links μου και τώρα μπορείς κι εσύ!

Έβαλα τάξη στα χιλιάδες links μου και τώρα μπορείς κι εσύ!
Published
Views
12
Reading time
7.4 min

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

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

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

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

Εκεί αρχίζει το πανηγύρι.

Μια παλιά ιστορία που αποφάσισα να ολοκληρώσω

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

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

Και επειδή αυτά τα πράγματα κάποτε πρέπει να τελειώνουν, αποφάσισα να την ξαναφτιάξω από την αρχή.

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

Το αποτέλεσμα ονομάζεται Lincotic.

Μπορείς να το δεις ήδη σε λειτουργία στο lincotic.com.

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

Ωραία, αλλά τι ακριβώς κάνει;

Σκέψου έναν προσωπικό χώρο όπου συγκεντρώνεις όλες τις χρήσιμες ιστοσελίδες σου, ανεξάρτητα από τον browser ή τη συσκευή που χρησιμοποιείς.

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

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

Κάθε συλλογή περιέχει τους αντίστοιχους συνδέσμους, οργανωμένους με τρόπο που με εξυπηρετεί.

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

Μπορώ επίσης να χαρακτηρίσω έναν σύνδεσμο ως περισσότερο ή λιγότερο σημαντικό. Πολύ χρήσιμο όταν έχεις πενήντα εργαλεία που κάνουν περίπου την ίδια δουλειά και χρησιμοποιείς τελικά τα τρία.

Το σημαντικότερο για μένα είναι ότι όλα βρίσκονται συγκεντρωμένα σε μία ιστοσελίδα.

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

Κι αυτό αποκτά ακόμη μεγαλύτερη αξία σε εργασιακά περιβάλλοντα, όπου συχνά δεν σου επιτρέπουν να εγκαταστήσεις ούτε το παραμικρό. Μερικές φορές, μάλιστα, δεν σε αφήνουν ούτε τα bookmarks του browser να αλλάξεις. Μην τυχόν και καταρρεύσει η εταιρική υποδομή επειδή αποθήκευσες ένα link!

Το αγαπημένο μου χαρακτηριστικό: Learn Mode

Εδώ υπάρχει κάτι που ήθελα ιδιαίτερα να προσθέσω.

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

Έξι μήνες αργότερα το ξαναβλέπεις.

Βλέπεις το όνομα, βλέπεις και το link, αλλά δεν έχεις την παραμικρή ιδέα γιατί στο διάολο το είχες αποθηκεύσει εξαρχής.

Με το Learn Mode μπορείς να αποθηκεύσεις μαζί με τον σύνδεσμο και τις δικές σου σημειώσεις.

Και δεν μιλάω για ένα μικρό πεδίο κειμένου των δύο γραμμών.

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

Μπορείς να γράψεις μια απλή υπενθύμιση ή ολόκληρες οδηγίες χρήσης.

Όταν ενεργοποιήσεις το Learn Mode και πατήσεις έναν σύνδεσμο, αντί να μεταφερθείς αμέσως στην εξωτερική ιστοσελίδα, εμφανίζεται ένα πλαϊνό παράθυρο με τις πληροφορίες και τις σημειώσεις σου.

Από εκεί αποφασίζεις αν θέλεις να ανοίξεις τελικά τον προορισμό και πως να τον χρησιμοποιήσεις.

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

Η μνήμη μου, δυστυχώς, δεν διαθέτει ούτε αναζήτηση πλήρους κειμένου ούτε αυτόματο backup.

Δεν είναι μόνο για έναν χρήστη

Ένα άλλο χαρακτηριστικό που ήθελα από την αρχή ήταν η δυνατότητα να χρησιμοποιείται από περισσότερους ανθρώπους.

Κάθε χρήστης έχει τον δικό του χώρο, τις συλλογές και τους συνδέσμους του.

Μπορεί μάλιστα να έχει μια δημόσια σελίδα, όπως η δική μου στο lincotic.com/@tom.

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

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

Σκέψου τώρα μια μικρή εταιρεία με είκοσι εργαζομένους.

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

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

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

Φυσικά, το Lincotic δεν πρόκειται να αντικαταστήσει την ανθρώπινη επικοινωνία. Μπορεί όμως να περιορίσει κάπως τις ατελείωτες ερωτήσεις του τύπου «πού βρίσκεται εκείνο το εργαλείο;». Ποιος μου δίνει πρόσβαση σε αυτό; Η Στέλα έφερε κουλουράκια ή θα πεθάνουμε στη λόρδα;

Έβαλα και μερικά δωράκια

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

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

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

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

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

Δωρεάν, ανοιχτού κώδικα και χωρίς συνδρομές

Για όσους ασχολούνται με την ανάπτυξη λογισμικού, το Lincotic είναι γραμμένο σε PHP με CodeIgniter 4 και χρησιμοποιεί MySQL ή MariaDB.

Στο περιβάλλον εργασίας έχω χρησιμοποιήσει Tailwind CSS, daisyUI και JavaScript. Ο επεξεργαστής κειμένου βασίζεται στο Tiptap.

Δεν θα επεκταθώ στα τεχνικά. Στο GitHub υπάρχουν πληροφορίες για την αρχιτεκτονική, οδηγίες εγκατάστασης και ο πηγαίος κώδικας.

Το σημαντικό είναι ότι πρόκειται για εφαρμογή open source με άδεια MIT.

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

Δεν χρειάζεται να αγοράσεις άδεια χρήσης ούτε να πληρώνεις κάποια μηνιαία συνδρομή σε εμένα.

Χρειάζεσαι φυσικά το κατάλληλο περιβάλλον φιλοξενίας και λίγη εξοικείωση με την εγκατάσταση εφαρμογών. Δεν είναι ακόμη κάποιο μαγικό κουμπί που πατάς και τα κάνει όλα μόνο του.

Η δημόσια εγκατάσταση στο lincotic.com λειτουργεί ως πραγματικό παράδειγμα χρήσης, όπου μπορείς να περιηγηθείς χωρίς λογαριασμό. Για να διαχειριστείς τη δική σου βιβλιοθήκη, μπορείς να εγκαταστήσεις το λογισμικό στο περιβάλλον σου.

Και για όσους δεν έχουν καμία όρεξη να εγκαταστήσουν τίποτα;

Εδώ υπάρχει και κάτι άλλο που παραλίγο να ξεχάσω. Πέρα από την ίδια την εφαρμογή, έχω ήδη συγκεντρώσει 2.367 χρήσιμα links, οργανωμένα σε 49 θεματικές συλλογές. Και δεν μιλάμε αποκλειστικά για προγραμματιστές.

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

Το καλύτερο; Δεν χρειάζεται να εγκαταστήσεις απολύτως τίποτα. Ούτε να ξέρεις τι είναι PHP, GitHub και βάσεις δεδομένων. Μπαίνεις, χαζεύεις τις συλλογές, βρίσκεις κάτι ενδιαφέρον και το χρησιμοποιείς.

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

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

Και τώρα τι;

Τώρα τίποτα. Συνεχίζουμε!

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

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

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

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

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

Και αν τελικά δεν το χρειαστεί κανείς άλλος, δεν πειράζει.

Τουλάχιστον ξέρω πλέον πού βρίσκονται τα links μου!

Τώρα πρέπει να βρω τι θα κάνω με την υπόλοιπη ζωή μου. Μάλλον πρέπει να γράψω την εφαρμογή MakeMoneyWhileAmSleeping ή την HowToSurviveGermanHell. Ας ανοίξω ένα ακόμα repository στο GitHub για αυτά.

Φιλιά.