Πώς να άρετε τους περιορισμούς του κράτους στο σερφάρισμα
Πολλοί ιστότοποι που σερβίρουν πειρατικά αρχεία, όπως το pirate bay και το libgen, έχουν μπλοκαριστεί στην Ελλάδα απ' τους παρόχους internet σε επίπεδο DNS.
Επειδή αυτοί οι ιστότοποι σερβίρουν και πολλά νόμιμα αρχεία επίσης, καλό είναι να ξέρουμε πώς να παρακάμψουμε τους περιορισμούς αυτούς, χωρίς να πληρώσουμε συνδρομή σε VPN.
Ακολουθούν οι οδηγίες.
Μια ενδιαφέρουσα άποψη για τους BRICS
Το κείμενο δεν ειναι δικό μου, αλλά σας το παρουσιάζω:
Γιατί μας ενδιαφέρουν οι BRICS.
α. Οι BRICS ασχολούνται αποκλειστικά με τις διακρατικές σχέσεις, δεν επιβάλλουν δεσμεύσεις. Ο προστατευτισμός καθώς και άλλα πολιτικά συστήματα επιτρέπονται, αντίθετα με το σημερινό σύστημα που επιφέρει κυρώσεις. (Κούβα, Βενεζουέλα, Βολιβία, ...)
β. Αναπτύσσουν σε ένα οικονομικό σύστημα το οποίο βασίζεται στο χρυσό και άλλα αγαθά. Πράγμα που σημαίνει ότι υπάρχουν όρια και τα αποθεματικά δεν είναι πράσινα χαρτάκια που αντιστοιχούν σε αέρα κοπανιστό.
γ. Καθώς απαγορεύονται οι κυρώσεις μεταξύ τους, όπως και οι επεμβάσεις στα εσωτερικά κρατών μελών. Εμείς ως αναρχικοί / κομμουνιστές είμαστε σαφέστατα ΥΠΕΡ ΜΕ ΤΑ ΜΠΟΥΝΙΑ.
δ. Το νέο οικονομικό σύστημα άμεσα κόβει τα πόδια στις ΗΠΑ που πιθανόν να μην συνέλεθει ποτέ από το χτύπημα. Γιατί να επενδύσεις σε δολάριο όταν το άλλο νόμισμα έχει αντιστοιχία σε αγαθά; Δεν χρειάζεται καν να πιέσουν κανένα, μόνοι τους θα επενδύουν στο νέο νόμισμα.
Ένας καλύτερος τρόπος να γίνονται οι διαγωνισμοί του δημοσίου
Έχω να προτείνω ένα νέο, καλύτερο τρόπο να γίνονται οι διαγωνισμοί του δημοσίου:
Οι υποψήφιοι θα κατατάσσονται με βάσει το net worth τους (των ιδίων και των συγγενών τους μέχρι τεταρτου βαθμού - πρώτα ξαδέρφια δηλαδή), και οι πιο φτωχοί θα βλέπουν τις προσφορές που έχουν υποβάλει οι πιο πλούσιοι πριν υποβάλουν τη δική τους. Δηλαδή ο τρίτος πλουσιότερος θα βλέπει τις προσφορές του δεύτερου και του πρώτου, κ.ο.κ.
Έτσι οι πιο φτωχοί θα έχουν περισσότερες πιθανότητες να κερδίσουν δουλειές (και με την αξία τους!) και μάλιστα για καλή τιμή. Επίσης θα σπάσουν τα μονοπώλια και θα υπάρχει μεγαλύτερη ισοκατανομή του πλούτου.
Είναι το μόνο δίκαιο σύστημα και θα οδηγούσε σε χαμηλότερες τιμές και αύξηση της επιχειρηματικής δραστηριότητας.
Παρακαλώ τα σχόλιά και τις διαφωνίες σας.
Time::Piece is just as good as DateTime (and a lot faster)
Time::Piece is a core module in Perl, and very efficient. If you learn to use it, and care only about the UTC timezone, you can replace the DateTime module with it in your webapp. At least I did.
strace is your friend on Linux
A few of my apps were taking an inordinate amount of time to launch (approximately 15 seconds). I was told I should prepend strace
in the command-line that executes the app to see what was wrong.
How to get a good variety of fonts on your Void Linux system
A huge variety of fonts used everywhere to be able to view webpages properly is contained in the following four packages:
noto-fonts-cjk - Chinese, Japanese, Korean
noto-fonts-emoji
noto-fonts-ttf
noto-fonts-ttf-extra
(Found out on IRC)
New series of posts: "Void Linux for beginners"
Void Linux is one of the best Linux distributions out there: It's not maintained by a company and doesn't even have or want sponsors, so it'll stay on the side of users forever. It doesn't use systemd (that many users hate) as its init system, its package manager is very fast (maybe the fastest around), and it's extremely minimal in the amount of software installed by default (good for CPU & disk, the environment, and user-choice of alternatives), and it's a rolling stable distro.
The downside is that it's not for beginners. You'll often need to read documentation (Void's official documentation does a great job) to get things done, and also end-up asking questions in Void's IRC channel to Void's more experienced users.
I did (and still do) a lot of the asking, so I'm providing the most important information I learned there in this series of blog posts tagged #void_linux.
How to use PostgreSQL's timestamp fields efficiently in Perl
I created a function in Perl called pg_dt
, that will convert PostgreSQL's datetime values into Perl's DateTime values and vice versa. This is useful both when you want to store DateTime values into the database, or want to convert the pg datetime/timestamp value from the database into a DateTime object value that Perl can use.
How to run Incus on Void Linux
Incus is the replacement of LXD one should use. For some reason it won't work well on Void out of the box after a while, and incus start <container-name>
might stop doing anything. How do we fix it?
Looking at /usr/share/doc/incus/README.voidlinux
it suggests the following:
Some container configurations may require that the `CGROUP_MODE`
variable in `/etc/rc.conf` be set to `unified`.
One way to solve it is that. I did another solution however, which I found at this github issue. I did the following:
I created this Perl script, called enable_incus
somewhere:
#!/usr/bin/env perl
use v5.38;
! -d '/sys/fs/cgroup/systemd' or say("Incus already enabled. Skipping."), exit;
system('sudo mkdir /sys/fs/cgroup/systemd');
system('sudo mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd');
say 'OK';
Then I edited /etc/sv/incus/run
and added this line near the top:
/path/to/enable_incus
...so that my script gets executed just before incus
is launched.
This fixed the problem.
I managed to restore my backed-up LXD/Incus containers!
Until now I've never managed to do it. Every time LXD complained that the backup I'm trying to restore is configured in an incompatible way with our system. Different bridge interface name, static IP is out of range of this machine's network pool, and other such stuff. So I was ending up creating new LXD containers from scratch instead of restoring my backups, whenever I re-installed Linux on my laptop.
Not this time though. The backup was a tar.gz file, so I uncompressed it, edited its two configuration files in there (backup/index.yaml
and backup/container/backup.yaml
) to my liking, re-compressed, and managed to import it.
Incus rocks!
How to use perl v5.40's boolean builtins in Mojo::Pg queries
Perl v5.40 introduced native true
and false
keywords. Unfortunately not all CPAN modules are ready to use them. One of those not yet ready is Mojo::Pg.
Normally you'd want to pass booleans to your queries as just 1
's and 0
's. However, since Mojo::JSON's true & false stringify to 1 and 0, my 5.38-using codebase is full of Mojo::Pg queries with Mojo::JSON's true and false as arguments.
This is a problem if I want to upgrade the perl interpreter of that project to Perl v5.40, because if I write "use v5.40;
" in the file that contains those boolean keywords, Perl's builtin booleans will be used instead, which don't stringify to 1
and 0
, but to 1
and the empty string, which can't be used by DBD::Pg in boolean fields and makes DBD::Pg throw an exception.
The solution I found was to subclass Mojo::Pg::Database, and wrap the query
method, so that if Perl's builtin booleans are found, they are replaced in the query with native Pg booleans.
This is the subclass:
package Local::My::Pg::Database;
use v5.40;
use Mojo::Base 'Mojo::Pg::Database';
use DBD::Pg ':pg_types';
use experimental 'builtin';
sub query {
my ($self, $query) = (shift, shift);
my $cb = ref $_[-1] eq 'CODE' ? pop : undef;
my @args = map { builtin::is_bool($_) ? { type => PG_BOOL, value => $_ ? 1 : 0 } : $_ } @_;
return $self->SUPER::query($query, @args, $cb // ());
}
...which requires the Mojo::Pg object to be told to use it:
$pg->database_class('Local::My::Pg::Database');
This solved my problem.
The other module I had problems with on Perl v5.40 is Mojolicious::Plugin::OpenAPI, which doesn't let the builtin booleans to be used in the API spec. I wrote a patch for that, and might submit it to the author.
Other than those, Mojo::JSON does not stringify builtin booleans to booleans, but to 1
and ""
unless Cpanel::JSON::XS is installed, in which case it works fine.
Have you found other CPAN modules that need to be updated for Perl v5.40's booleans?
Today I learned... #1: variable scoping in if-else blocks
This block of code is valid Perl:
if (my $var1 = calc1()) {
say $var1;
} elsif (my $var2 = calc2()) {
say "$var1, $var2";
}
As you can see, $var1
, which is declared in the if
clause, is visible inside the elsif
clause too.
Perl never ceases to amaze me!
Spam και Νέα Δημοκρατία
Σ' αυτό το σημείο, κι αφού η Άννα-Μισέλ παραιτήθηκε και το θέμα του spam δείχνει νά' χει ενδιαφέρον, να υπενθυμίσουμε ότι ο Κυριάκος Μητσοτάκης όταν ξεκίνησε τη πολιτική του καριέρα είχε πάρει τη λίστα των emails όλων των αποφοίτων του Κολλεγίου Αθηνών απ' το σάιτ του ΣΑΚΑ (σύλλογος αποφοίτων κολλεγίου αθηνών) και μας σπάμαρε ανελέητα για πολλά χρόνια.
Κατά παράβαση του νόμου που ήδη υπήρχε για προσωπικά δεδομένα, και τον οποίον είχε ψηφίσει και η ΝΔ, ο οποίος μας προστάτευε και από το σπαμ (το έβλεπε ως παράνομη επεξεργασία προσωπικών δεδομένων).
Έτσι: νόμους βγάζουνε για να τους τηρείς εσύ κι εγώ, όχι αυτοί. Γιατί εσείς είστε τα κορόιδα, ενώ αυτοί όχι!
*σημείωση: ξέρω ότι τα email τα πήρε απ' το σάιτ του ΣΑΚΑ, γιατί μου έστελνε στο saka@<some domain> που είχα χρησιμοποιήσει μόνο για να γραφτώ σ' αυτό το σάιτ.
Η ΝΔ δεν τα πήγαινε καλά με το νόμο για σπαμ όμως, ούτε αργότερα. Το Μάιο 2018, όταν τέθηκε σε εφαρμογή ο νόμος GDPR για τα προσωπικά δεδομένα, η ΝΔ (όπως και όλες οι εταιρείες) όφειλε να λάβει opt-in επιβεβαίωση απ' τα μέλη της αν ήθελε να συνεχίσει να τους στέλνει ενημερωτικά emails, ευχές στις γιορτές, κλπ. Δεν τό' κανε. Οι βουλευτες της συνέχισαν να στέλνουν τακτικά στα μέλη της ΝΔ χωρίς κανείς τους να πάρει την απαιτούμενη συγκατάθεση.
Η ιστορία του κόσμου σε μία παράγραφο
Κάποτε ο κόσμος ήταν καλός και κυβερνούσαν οι καλοί, αλλά σε κάποια φάση ήρθαν οι κακοί στην εξουσία με ύπουλες μεθοδεύσεις. Αυτό είχε σα συνέπεια ο κόσμος να πάει να καταστραφεί και μόνος τρόπος να σωθεί είναι να ξανάρθουν στα πράγματα οι καλοί. Φυσικά αυτό δε γίνεται με δημοκρατικές μεθόδους, γιατί οι κακοί έχουν φροντίσει να αποβλακώσουν το κόσμο, οπότε αναγκαστικά θα έρθουμε στα πράγματα πραξικοπιματικά.
Ετοιμαστείτε.
Greece among the worst countries in the EU to live and work in
A bunch of statistics showing Greece's true position in the world.
2023 Advent of Code
This site offers a programming challenge for every day of December until Christmas. It's really interesting, and fun to try to solve.
This is my first Nuxt 3 website
I seem to have gotten the hang of it.
This is my new blog
Welcome. As you will hopefully find out in this blog, Perl is the best language in the world.
#!/usr/bin/env perl
print "Hello, world!\n";