GNU Chess Updated 2025-07-16
Both chess engine and a CLI chess UI. As an engine it is likely irrelevant compared to Stockfish as of 2020. TODO: does the UI support Universal Chess Interface?
Cool project history though. Started before the GNU Project itself, and became one of the first packages.
GNU Compiler Collection Updated 2025-07-16
GNU Core Utils Updated 2025-07-16
GNU Debugger Updated 2025-07-16
Just add GDB Dashboard, and you're good to go.
GNU go Updated 2025-07-16
GNU make Updated 2025-07-16
GNU parallel Updated 2025-07-16
This program makes you respect GNU make a bit more. Good old make with
-j
can not only parallelize, but also take in account a dependency graph.Some examples under:
man parallel_exampes
To get the input argument explicitly job number use the magic string sample output:
{}
, e.g.:printf 'a\nb\nc\n' | parallel echo '{}'
a
b
c
To get the job number use sample output:
{#}
as in:printf 'a\nb\nc\n' | parallel echo '{} {#}'
a 1
b 2
c 3
c 3
{%}
contains which thread the job running in, e.g. if we limit it to 2
threads with -j2
:printf 'a\nb\nc\nd\n' | parallel -j2 echo '{} {#} {%}'
a 1 1
b 2 1
c 3 2
d 4 1
%
symbol in many programming languages such as C.To pass multiple CLI arguments per command you can use sample output:
-X
e.g.:printf 'a\nb\nc\nd\n' | parallel -j2 -X echo '{} {#} {%}'
a b 1 1
c d 2 2
GNU Privacy Guard Updated 2025-07-16
Generate public private key, test encrypt and test decrypt:
# Create your pubkey.
gpg --gen-key
gpg --armor --output pubkey.gpg --export <myemail>
# Encrypt using someone's pubkey.
gpg --import pubkey2.gpg
echo 'hello world' > hello.txt
gpg --output hello.txt.gpg --encrypt --recipient <other-email> hello.txt
# Double check it is not plaintext in the encrypted message.
grep hello hello.txt.gpg
# Decrypt.
gpg --output hello.decrypt.txt --decrypt --recipient <myemail> hello.txt.gpg
diff -u hello.decrypt.txt hello.txt
GNU screen Updated 2025-07-16
GNU Taler Updated 2025-07-16
Centralized system that still attempts some level of privacy.
In it, a central bank issue tokens that are stored offline in your cell phone, a bit like cash bank notes.
When you take those tokens, a corresponding amount gets removed from your bank account, a bit like cash bank notes.
When a transaction is made, tokens are put into a spent token list via central API, and cannot be double spent thereafter. The corresponding ammount is then added to the bank account of the receiver. This also means that offline transactions are not possible.