Διαγράφω τὸ Codeberg

Διαγράφω τὴν παρουσία μου στὸ Codeberg: λογαριασμούς, mirrors, τὴν τεμπέλικη συνήθεια νὰ περνῶ ἕνα «καλὸ» forge γιὰ οὐδέτερο ἔδαφος. Ὄχι γιατὶ ἡ αὐτοφιλοξενία ἔγινε τῆς μόδας. Ἐπειδὴ ἕνα κομμάτι τοῦ FOSS ποὺ κάποτε θεωροῦσα ἀκόμα ἐλεύθερο λογισμικὸ ἔχει γίνει θέατρο ἠθικῆς καθαρότητας, πανικὸς copyright καὶ παρενόχληση σὲ ὅποιον ἀρνεῖται νὰ ὑποκριθεῖ τὸν προ-βιομηχανικὸ τεχνίτη. ...

2026/07/26

Φτηνὸς κώδικας, ἀκριβὴ προσοχή

Ἀξίζει ἡ συμβολὴ στὸ FOSS;...

2026/07/06

Cgit μὲ GNU Guix

Πρόσφατα μετέφερα τὸν οἰκιακὸ διακομιστή μου στὸ GNU Guix· αὐτὸς εἶναι ἕνας σύντομος ὁδηγὸς γιὰ τὸ πῶς ἔστησα τὸ cgit. Ἐλπίζω νὰ βοηθήσει κάποιους ἀπὸ ἐσᾶς. ...

2026/02/01

Καθημερινὴ χρήση ἑνὸς Raspberry Pi 5

Ἀφοῦ πέρασα ἀπὸ συσκευὲς Apple στὸ GNU/Linux, ἔχω ἀπολαύσει πολλὰ πλεονεκτήματα. Ὡστόσο, ὑπῆρχε πάντα ἕνα πρᾶγμα ποὺ μὲ ἔκανε νὰ κοιτάζω πίσω: ἡ διάρκεια μπαταρίας, ἢ ἡ ἔλλειψή της. Ὄχι πιά :) ...

2025/10/31

Ἤμαξ παντοῦ, ἀκόμα καὶ σὲ Wayland

Ἂν εἶσαι κάτι σὰν κι ἐμένα, μᾶλλον νιώθεις ὅτι κάτι πάει στραβὰ κάθε φορὰ ποὺ πρέπει νὰ εἰσάγεις κείμενο ἔξω ἀπὸ τὸν Ἤμαξ. Μὴ φοβᾶσαι, ὑπάρχει λύση. Νά ἕνα ἁπλὸ ἀπόσπασμα κώδικα γιὰ νὰ ἀνοίγεις προσωρινὸ πλαίσιο Ἤμαξ γιὰ εἰσαγωγὴ ἀντ’ αὐτοῦ. (defun thanos/wtype-text (text) "Process TEXT for wtype, handling newlines properly." (let* ((has-final-newline (string-match-p "\n$" text)) (lines (split-string text "\n")) (last-idx (1- (length lines)))) (string-join (cl-loop for line in lines for i from 0 collect (cond ;; Last line without final newline ((and (= i last-idx) (not has-final-newline)) (format "wtype -s 350 \"%s\"" (replace-regexp-in-string "\"" "\\\\\"" line))) ;; Any other line (t (format "wtype -s 350 \"%s\" && wtype -k Return" (replace-regexp-in-string "\"" "\\\\\"" line))))) " && "))) (defun thanos/type () "Launch a temporary frame with a clean buffer for typing." (interactive) (let ((frame (make-frame '((name . "emacs-float") (fullscreen . 0) (undecorated . t) (width . 70) (height . 20)))) (buf (get-buffer-create "emacs-float"))) (select-frame frame) (switch-to-buffer buf) (erase-buffer) (org-mode) (setq-local header-line-format (format " %s to insert text or %s to cancel." (propertize "C-c C-c" 'face 'help-key-binding) (propertize "C-c C-k" 'face 'help-key-binding))) (local-set-key (kbd "C-c C-k") (lambda () (interactive) (kill-new (buffer-string)) (delete-frame))) (local-set-key (kbd "C-c C-c") (lambda () (interactive) (start-process-shell-command "wtype" nil (thanos/wtype-text (buffer-string))) (delete-frame))))) Βεβαιώσου ὅτι τὸ wtype εἶναι ἐγκατεστημένο στὸ σύστημά σου γιὰ νὰ δουλεύει τὸ παραπάνω ἀπόσπασμα. ...

2025/07/19

XMPP: Ξεκινώντας μὲ τὸ καθολικὸ πρότυπο ἐπικοινωνίας

Τὸ XMPP εἶναι μιὰ ἐλεύθερη ἀποκεντρωμένη συλλογὴ τεχνολογιῶν, ἐναλλακτικὴ σὲ κλειστὲς ὑπηρεσίες ἐπικοινωνίας. Ἄρχισα νὰ αὐτοφιλοξενῶ τὸν δικό μου διακομιστὴ xmpp καὶ νὰ μετακινῶ ἀνθρώπους ἀπὸ τὸν στενὸ μου κύκλο ἐκεῖ. Αὐτὴ εἶναι σύνοψις τῆς συλλογῆς σημειώσεών μου γιὰ τὸ XMPP μέχρι τώρα, δημοσιευμένη ὡς σύντομο ἄρθρο. Ἂν ἐνδιαφέρεσαι νὰ μάθεις περισσότερα γιὰ τὸ XMPP, συνιστῶ τὴν ἐπίσημη ἱστοσελίδα τους. Τί εἶναι τὸ XMPP; Τὸ XMPP σημαίνει eXtensible Messaging and Presence Protocol· εἶναι σύνολο ἐλεύθερων τεχνολογιῶν ποὺ μποροῦν νὰ χρησιμοποιηθοῦν γιὰ ὑπηρεσίες ἐπικοινωνίας, ὅπως ἄμεσα μηνύματα, φωνητικὲς καὶ βιντεοκλήσεις καθὼς καὶ μεταφορὲς ἀρχείων. Αὐτὸ γίνεται μὲ δρομολόγηση δεδομένων XML. ...

2024/04/30

Immich: Αὐτοφιλοξενούμενη διαχείριση φωτογραφιῶν & βίντεο

Πρόσφατα πέρασα σὲ τηλέφωνο Pixel μὲ GrapheneOS ὡς κύρια συσκευή, ἀφήνοντας πίσω ἕνα iPhone. Τὸ μόνο ποὺ μοῦ ἔλειπε ἦταν νὰ ἔχω τὶς φωτογραφίες μου σὲ συγχρονισμὸ σὲ ὅλες τὶς συσκευές μου μέσω iCloud, ἀλλὰ παρὰ τὴν εὐκολία τῆς ὑπηρεσίας iCloud τῆς Apple γιὰ συγχρονισμὸ φωτογραφιῶν, συχνὰ παραβλέπει τὰ δικαιώματα καὶ τὴν ἰδιωτικότητα τοῦ χρήστη. Εὐτυχῶς, τὸ Immich προσφέρει μία αὐτοφιλοξενούμενη καὶ βελτιωμένη ἐναλλακτική, σεβόμενο τὴν ἰδιωτικότητά μου καὶ τὰ δικαιώματα τοῦ χρήστη. ...

2024/03/25

Cloudflare Tunnel: Ἀντίο ὑπηρεσίες VPS!

Ὑπηρεσίες VPS, ἡ κορυφὴ τῆς ἐλευθερίας στὸν ψηφιακὸ κόσμο! Τίποτα δὲν συγκρίνεται μὲ τὴ συγκίνηση νὰ ἐμπιστεύεσαι τὰ δεδομένα καὶ τὶς ὑπηρεσίες σου σὲ μιὰ μυστηριώδη ὀντότητα τοῦ νέφους, ἐνῶ παραδίδεις τὸν ἔλεγχο τοῦ ὑλικοῦ σου. Καὶ μὴν ξεχνᾶς τὴ χαρὰ νὰ βασίζεσαι σὲ τρίτο πάροχο νέφους γιὰ τὶς ἀνάγκες φιλοξενίας, ποὺ μπορεῖ νὰ σοῦ στείλει λογαριασμὸ 104K γιὰ τὸ στατικό σου ἱστότοπο. Ποιὸς χρειάζεται νὰ κατέχει τὸ δικό του ὑλικό; ...

2024/03/10

Παράπονα γιὰ λογισμικὸ ἐπανάληψης μὲ διαστήματα

Σὲ αὐτὸ τὸ ἄρθρο οὐσιαστικὰ δημοσιοποιῶ τὶς σημειώσεις μου γιὰ λογισμικὸ ἐπανάληψης μὲ διαστήματα, καὶ ἀνακοινώνω ὅτι δουλεύω στὸ gnosis, ἐπέκταση/πακέτο μάθησης μὲ ἐπανάληψη μὲ διαστήματα γιὰ GNU Ἤμαξ. Θὰ πρέπει ἐπίσης νὰ σημειώσω ὅτι θεωρῶ τὴν ἐπανάληψη μὲ διαστήματα κόλπο γιὰ τὴ μάθηση, ποὺ θὰ ἔπρεπε νὰ χρησιμοποιεῖται ἀπὸ κάθε φοιτητή. ...

2024/01/09

Μετάβαση στὸ Gentoo Linux

Ἀνέβηκα ἐπίπεδο καὶ ἔγινα χρήστης Gentoo, τὸ πιὸ ἐλίτ εἶδος σπασίκλα στὴ χώρα τοῦ GNU/Linux. Ὅλες μου οἱ συσκευὲς ἔχουν μεταμορφωθεῖ σὲ μηχανὲς Gentoo, καὶ περιττὸ νὰ πῶ ὅτι εἶμαι ἐνθουσιασμένος. Σημείωση: Αὐτὸ τὸ ἄρθρο περιέχει ὑγιῆ δόση σαρκασμοῦ, σὲ περίπτωση ποὺ δὲν τὸ ἔπιασες. ...

2023/11/12