From e7e340e1b3eb84ee9ec122d4edb5a3918b032eea Mon Sep 17 00:00:00 2001 From: rakete Date: Thu, 13 Oct 2022 01:18:33 +0200 Subject: [PATCH] Added pyquotes --- .local/bin/pyquotes | 122 ++++++++++++++++++ .../pyquotes/free-software/lee_drm.quote | 3 + .../free-software/schneier_security.quote | 4 + .../free-software/schneier_uncopyable.quote | 3 + .../free-software/stallman_businesses.quote | 4 + .../free-software/stallman_control.quote | 4 + .../free-software/stallman_freedom.quote | 4 + .../free-software/stallman_open_source.quote | 6 + .../free-software/torvalds_shareware.quote | 4 + .../pyquotes/freedom/goldman_authority.quote | 3 + .../pyquotes/freedom/goldman_bread.quote | 4 + .../pyquotes/freedom/goldman_dominions.quote | 5 + .../share/pyquotes/freedom/goldman_give.quote | 4 + .../share/pyquotes/freedom/goldman_law.quote | 5 + .../pyquotes/freedom/goldman_liberation.quote | 5 + .../pyquotes/freedom/goldman_liberty.quote | 3 + .../pyquotes/freedom/goldman_revolution.quote | 6 + .../pyquotes/freedom/goldman_voting.quote | 2 + .../pyquotes/freedom/luxemburg_denken.quote | 3 + .../pyquotes/freedom/nietzsche_slave.quote | 2 + .../pyquotes/freedom/orwell_advertisers.quote | 3 + .../pyquotes/freedom/orwell_control.quote | 3 + .../pyquotes/freedom/orwell_freedom.quote | 2 + .../freedom/orwell_intellectuals.quote | 2 + .../share/pyquotes/freedom/orwell_power.quote | 2 + .../pyquotes/freedom/orwell_revolution.quote | 2 + .../pyquotes/freedom/rakete_symptomatic.quote | 3 + .../pyquotes/justice/einstein_justice.quote | 3 + .../pyquotes/justice/roosevelt_justice.quote | 3 + .../share/pyquotes/justice/thoreau_laws.quote | 7 + .../pyquotes/misc/rakete_verwertung.quote | 3 + .local/share/pyquotes/misc/tyson_plans.quote | 2 + .../share/pyquotes/truth/buddha_hidden.quote | 3 + .../share/pyquotes/truth/einstein_truth.quote | 3 + .../share/pyquotes/truth/lincoln_people.quote | 4 + .../share/pyquotes/truth/rakete_wisdom.quote | 3 + .../truth/schopenhauer_stupidity.quote | 6 + .local/share/pyquotes/truth/twain_fool.quote | 2 + 38 files changed, 252 insertions(+) create mode 100755 .local/bin/pyquotes create mode 100644 .local/share/pyquotes/free-software/lee_drm.quote create mode 100644 .local/share/pyquotes/free-software/schneier_security.quote create mode 100644 .local/share/pyquotes/free-software/schneier_uncopyable.quote create mode 100644 .local/share/pyquotes/free-software/stallman_businesses.quote create mode 100644 .local/share/pyquotes/free-software/stallman_control.quote create mode 100644 .local/share/pyquotes/free-software/stallman_freedom.quote create mode 100644 .local/share/pyquotes/free-software/stallman_open_source.quote create mode 100644 .local/share/pyquotes/free-software/torvalds_shareware.quote create mode 100644 .local/share/pyquotes/freedom/goldman_authority.quote create mode 100644 .local/share/pyquotes/freedom/goldman_bread.quote create mode 100644 .local/share/pyquotes/freedom/goldman_dominions.quote create mode 100644 .local/share/pyquotes/freedom/goldman_give.quote create mode 100644 .local/share/pyquotes/freedom/goldman_law.quote create mode 100644 .local/share/pyquotes/freedom/goldman_liberation.quote create mode 100644 .local/share/pyquotes/freedom/goldman_liberty.quote create mode 100644 .local/share/pyquotes/freedom/goldman_revolution.quote create mode 100644 .local/share/pyquotes/freedom/goldman_voting.quote create mode 100644 .local/share/pyquotes/freedom/luxemburg_denken.quote create mode 100644 .local/share/pyquotes/freedom/nietzsche_slave.quote create mode 100644 .local/share/pyquotes/freedom/orwell_advertisers.quote create mode 100644 .local/share/pyquotes/freedom/orwell_control.quote create mode 100644 .local/share/pyquotes/freedom/orwell_freedom.quote create mode 100644 .local/share/pyquotes/freedom/orwell_intellectuals.quote create mode 100644 .local/share/pyquotes/freedom/orwell_power.quote create mode 100644 .local/share/pyquotes/freedom/orwell_revolution.quote create mode 100644 .local/share/pyquotes/freedom/rakete_symptomatic.quote create mode 100644 .local/share/pyquotes/justice/einstein_justice.quote create mode 100644 .local/share/pyquotes/justice/roosevelt_justice.quote create mode 100644 .local/share/pyquotes/justice/thoreau_laws.quote create mode 100644 .local/share/pyquotes/misc/rakete_verwertung.quote create mode 100644 .local/share/pyquotes/misc/tyson_plans.quote create mode 100644 .local/share/pyquotes/truth/buddha_hidden.quote create mode 100644 .local/share/pyquotes/truth/einstein_truth.quote create mode 100644 .local/share/pyquotes/truth/lincoln_people.quote create mode 100644 .local/share/pyquotes/truth/rakete_wisdom.quote create mode 100644 .local/share/pyquotes/truth/schopenhauer_stupidity.quote create mode 100644 .local/share/pyquotes/truth/twain_fool.quote diff --git a/.local/bin/pyquotes b/.local/bin/pyquotes new file mode 100755 index 00000000..b3cc82ba --- /dev/null +++ b/.local/bin/pyquotes @@ -0,0 +1,122 @@ +#!/usr/bin/python3 + +""" +Copyright (C) 2021 Jenny Rakete + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +import argparse +import os.path +import random +from os import environ, scandir + +VERSION = "1.1" +BANNER = f"""\ +pyquotes {VERSION} - Copyright (C) 2021 Jenny Rakete +This is free software; see the beginning of this file for copying conditions. +There is NO warranty; +not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.""" + +QUOTEPATH = ( + environ["QUOTEPATH"] if "QUOTEPATH" in environ else "/usr/share/pyquotes" +) + + +def get_arguments(): + parser = argparse.ArgumentParser() + + parser.add_argument("quotedirs", action="extend", nargs="*", + help="list of quotedirs to select quotes from") + parser.add_argument("-l", "--list", action="store_true", + help="list all known quotedirs") + parser.add_argument("-V", "--version", action="store_true", + help="print version information") + + options = parser.parse_args() + + return options + + +def parse_arguments(options: argparse.Namespace): + if options.version: + print(BANNER) + exit() + + if len(options.quotedirs) == 0: + options.quotedirs = [quotedir.name for quotedir in get_quotedirs()] + + if options.list: + list_quotedirs(options.quotedirs) + exit() + + +def get_quotedirs(): + try: + return [quote_dir for quote_dir + in scandir(QUOTEPATH) + if quote_dir.is_dir()] + except FileNotFoundError: + print(f"quotepath `{QUOTEPATH}` does not exist. " + "Is $QUOTEPATH set correctly?") + exit(1) + + +def list_quotedirs(quote_dirs: list): + output = {} + total_quotes = 0 + for quote_dir in quote_dirs: + output[quote_dir] = len( + [_ for _ in scandir(QUOTEPATH + os.path.sep + quote_dir)]) + total_quotes += output[quote_dir] + print("\n".join( + ["{percentage:.2f}%\t {name} ({amount})".format( + percentage=(output[name] / total_quotes * 100), + name=name, + amount=output[name], + ) for name in output] + )) + + +def get_quote(quotedirs: list): + quote_files = [] + + for quotedir in quotedirs: + try: + new_quote_files = [file for file + in scandir(QUOTEPATH + os.path.sep + quotedir) + if file.is_file()] + except FileNotFoundError: + print(f"quotedir `{quotedir}` not found in `{QUOTEPATH}`. ") + exit(1) + quote_files += [quote_file for quote_file + in new_quote_files + if quote_file.name.endswith(".quote")] + + quote_file = random.choice(quote_files) + with open(quote_file.path) as quote_file: + return "".join(quote_file.readlines()) + + +def main(): + options = get_arguments() + parse_arguments(options) + + quote = get_quote(options.quotedirs) + + print(quote, end="\n" * (quote[-1] != "\n")) + + +if __name__ == "__main__": + main() diff --git a/.local/share/pyquotes/free-software/lee_drm.quote b/.local/share/pyquotes/free-software/lee_drm.quote new file mode 100644 index 00000000..ef814de8 --- /dev/null +++ b/.local/share/pyquotes/free-software/lee_drm.quote @@ -0,0 +1,3 @@ +If consumers even know there's a DRM, what it is, +and how it works, we've already failed. + -- Peter Lee diff --git a/.local/share/pyquotes/free-software/schneier_security.quote b/.local/share/pyquotes/free-software/schneier_security.quote new file mode 100644 index 00000000..fa93a152 --- /dev/null +++ b/.local/share/pyquotes/free-software/schneier_security.quote @@ -0,0 +1,4 @@ +It's certainly easier to implement bad security +and make it illegal for anyone to notice +than it is to implement good security. + -- Bruce Schneier diff --git a/.local/share/pyquotes/free-software/schneier_uncopyable.quote b/.local/share/pyquotes/free-software/schneier_uncopyable.quote new file mode 100644 index 00000000..a1ffb09d --- /dev/null +++ b/.local/share/pyquotes/free-software/schneier_uncopyable.quote @@ -0,0 +1,3 @@ +...trying to make digital files uncopyable +is like trying to make water not wet. + -- Bruce Schneier diff --git a/.local/share/pyquotes/free-software/stallman_businesses.quote b/.local/share/pyquotes/free-software/stallman_businesses.quote new file mode 100644 index 00000000..e938fa4a --- /dev/null +++ b/.local/share/pyquotes/free-software/stallman_businesses.quote @@ -0,0 +1,4 @@ +Writing non-free software is not an ethically legitimate activity, so if people +who do this run into trouble, that's good! All businesses based on non-free +software ought to fail, and the sooner the better. + -- Dr. Richard M. Stallman diff --git a/.local/share/pyquotes/free-software/stallman_control.quote b/.local/share/pyquotes/free-software/stallman_control.quote new file mode 100644 index 00000000..0cecef57 --- /dev/null +++ b/.local/share/pyquotes/free-software/stallman_control.quote @@ -0,0 +1,4 @@ +The idea of free software is that users of computing deserve freedom. +They deserve in particular to have control over their computing. And +proprietary software does not allow users to have control of their computing. + -- Dr. Richard M. Stallman diff --git a/.local/share/pyquotes/free-software/stallman_freedom.quote b/.local/share/pyquotes/free-software/stallman_freedom.quote new file mode 100644 index 00000000..53a66b24 --- /dev/null +++ b/.local/share/pyquotes/free-software/stallman_freedom.quote @@ -0,0 +1,4 @@ +Free software is software that respects your freedom and +the social solidarity of your community. +So it's free as in freedom. + -- Dr. Richard M. Stallman diff --git a/.local/share/pyquotes/free-software/stallman_open_source.quote b/.local/share/pyquotes/free-software/stallman_open_source.quote new file mode 100644 index 00000000..c3dc2d8f --- /dev/null +++ b/.local/share/pyquotes/free-software/stallman_open_source.quote @@ -0,0 +1,6 @@ +Many users of the GNU/Linux system will +not have heard the ideas of free software. +They will not be aware that we have ideas, +that a system exists because of ethical ideals, +which were omitted from ideas associated with the term 'open source'. + -- Dr. Richard M. Stallman diff --git a/.local/share/pyquotes/free-software/torvalds_shareware.quote b/.local/share/pyquotes/free-software/torvalds_shareware.quote new file mode 100644 index 00000000..41476a6f --- /dev/null +++ b/.local/share/pyquotes/free-software/torvalds_shareware.quote @@ -0,0 +1,4 @@ +Shareware tends to combine +the worst of commercial software with +the worst of free software. + -- Linus Torvalds diff --git a/.local/share/pyquotes/freedom/goldman_authority.quote b/.local/share/pyquotes/freedom/goldman_authority.quote new file mode 100644 index 00000000..f45d5880 --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_authority.quote @@ -0,0 +1,3 @@ +The strongest bulwark of authority is uniformity; +the least divergence from it is the greatest crime. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_bread.quote b/.local/share/pyquotes/freedom/goldman_bread.quote new file mode 100644 index 00000000..2263258b --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_bread.quote @@ -0,0 +1,4 @@ +Ask for work. +If they don't give you work, ask for bread. +If they do not give you work or bread, then take bread. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_dominions.quote b/.local/share/pyquotes/freedom/goldman_dominions.quote new file mode 100644 index 00000000..52674866 --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_dominions.quote @@ -0,0 +1,5 @@ +Religion, the dominion of the human mind; +Property, the dominion of human needs; and +Government, the dominion of human conduct, +represent the stronghold of man's enslavement and all the horrors it entails. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_give.quote b/.local/share/pyquotes/freedom/goldman_give.quote new file mode 100644 index 00000000..5dc61992 --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_give.quote @@ -0,0 +1,4 @@ +Give us what belongs to us in peace, +and if you don't give it to us in peace, +we will take it by force. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_law.quote b/.local/share/pyquotes/freedom/goldman_law.quote new file mode 100644 index 00000000..d7c0dc2f --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_law.quote @@ -0,0 +1,5 @@ +No great idea in its beginning can ever be within the law. +How can it be within the law? +The law is stationary. The law is fixed. The law is a chariot wheel +which binds us all regardless of conditions or place or time. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_liberation.quote b/.local/share/pyquotes/freedom/goldman_liberation.quote new file mode 100644 index 00000000..2c6f1226 --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_liberation.quote @@ -0,0 +1,5 @@ +Anarchism stands for the liberation of the human mind from the dominion +of religion and liberation of the human body from the coercion of property; +liberation from the shackles and restraint of government. +It stands for a social order based on the free grouping of individuals... + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_liberty.quote b/.local/share/pyquotes/freedom/goldman_liberty.quote new file mode 100644 index 00000000..3ea146bb --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_liberty.quote @@ -0,0 +1,3 @@ +People have only as much liberty as they have +the intelligence to want and the courage to take. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_revolution.quote b/.local/share/pyquotes/freedom/goldman_revolution.quote new file mode 100644 index 00000000..898ce35c --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_revolution.quote @@ -0,0 +1,6 @@ +No real social change has ever been brought about without a revolution - +Revolution is but thought carried into action. +Every effort for progress, for enlightenment, for science, +for religious, political, and economic liberty, +emanates from the minority, and not from the mass. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/goldman_voting.quote b/.local/share/pyquotes/freedom/goldman_voting.quote new file mode 100644 index 00000000..519daf5b --- /dev/null +++ b/.local/share/pyquotes/freedom/goldman_voting.quote @@ -0,0 +1,2 @@ +If voting changed anything, they'd make it illegal. + -- Emma Goldman diff --git a/.local/share/pyquotes/freedom/luxemburg_denken.quote b/.local/share/pyquotes/freedom/luxemburg_denken.quote new file mode 100644 index 00000000..6fcaae54 --- /dev/null +++ b/.local/share/pyquotes/freedom/luxemburg_denken.quote @@ -0,0 +1,3 @@ +Freiheit ist immer die Freiheit des Andersdenkenden. +Aber was ist, wenn der andere denkt, dass alle das gleiche denken sollen? + -- Rosa Luxemburg diff --git a/.local/share/pyquotes/freedom/nietzsche_slave.quote b/.local/share/pyquotes/freedom/nietzsche_slave.quote new file mode 100644 index 00000000..49e498bd --- /dev/null +++ b/.local/share/pyquotes/freedom/nietzsche_slave.quote @@ -0,0 +1,2 @@ +Who doesn't have two thirds of his day for himself, is a slave. + -- Friedrich Nietzsche diff --git a/.local/share/pyquotes/freedom/orwell_advertisers.quote b/.local/share/pyquotes/freedom/orwell_advertisers.quote new file mode 100644 index 00000000..19209a40 --- /dev/null +++ b/.local/share/pyquotes/freedom/orwell_advertisers.quote @@ -0,0 +1,3 @@ +All the papers that matter live off their advertisements, +and the advertisers exercise an indirect censorship over news. + -- George Orwell diff --git a/.local/share/pyquotes/freedom/orwell_control.quote b/.local/share/pyquotes/freedom/orwell_control.quote new file mode 100644 index 00000000..6f3fd9f3 --- /dev/null +++ b/.local/share/pyquotes/freedom/orwell_control.quote @@ -0,0 +1,3 @@ +Who controls the past controls the future. +Who controls the present controls the past. + -- George Orwell diff --git a/.local/share/pyquotes/freedom/orwell_freedom.quote b/.local/share/pyquotes/freedom/orwell_freedom.quote new file mode 100644 index 00000000..2d38d7c7 --- /dev/null +++ b/.local/share/pyquotes/freedom/orwell_freedom.quote @@ -0,0 +1,2 @@ +Freedom is the right to tell people what they do not want to hear. + -- George Orwell diff --git a/.local/share/pyquotes/freedom/orwell_intellectuals.quote b/.local/share/pyquotes/freedom/orwell_intellectuals.quote new file mode 100644 index 00000000..bb2a787f --- /dev/null +++ b/.local/share/pyquotes/freedom/orwell_intellectuals.quote @@ -0,0 +1,2 @@ +Some ideas are so stupid that only intellectuals believe them. + -- George Orwell diff --git a/.local/share/pyquotes/freedom/orwell_power.quote b/.local/share/pyquotes/freedom/orwell_power.quote new file mode 100644 index 00000000..52d66573 --- /dev/null +++ b/.local/share/pyquotes/freedom/orwell_power.quote @@ -0,0 +1,2 @@ +We know that no one ever seizes power with the intention of relinquishing it. + -- George Orwell diff --git a/.local/share/pyquotes/freedom/orwell_revolution.quote b/.local/share/pyquotes/freedom/orwell_revolution.quote new file mode 100644 index 00000000..3be0f9b8 --- /dev/null +++ b/.local/share/pyquotes/freedom/orwell_revolution.quote @@ -0,0 +1,2 @@ +The revolution will be complete when the language is perfect. + -- George Orwell diff --git a/.local/share/pyquotes/freedom/rakete_symptomatic.quote b/.local/share/pyquotes/freedom/rakete_symptomatic.quote new file mode 100644 index 00000000..52ccec1d --- /dev/null +++ b/.local/share/pyquotes/freedom/rakete_symptomatic.quote @@ -0,0 +1,3 @@ +All of law is but a symptomatic remedy for the +issues in society -- and a snake oil at that. + -- rakete diff --git a/.local/share/pyquotes/justice/einstein_justice.quote b/.local/share/pyquotes/justice/einstein_justice.quote new file mode 100644 index 00000000..2d7b86f2 --- /dev/null +++ b/.local/share/pyquotes/justice/einstein_justice.quote @@ -0,0 +1,3 @@ +In matters of truth and justice, there is no difference between large and +small problems, for issues concerning the treatment of people are all the same. + -- Albert Einstein diff --git a/.local/share/pyquotes/justice/roosevelt_justice.quote b/.local/share/pyquotes/justice/roosevelt_justice.quote new file mode 100644 index 00000000..b7ab7925 --- /dev/null +++ b/.local/share/pyquotes/justice/roosevelt_justice.quote @@ -0,0 +1,3 @@ +Justice consists not in being neutral between right and wrong, but in +finding out the right and upholding it, wherever found, against the wrong. + -- Theodore Roosevelt diff --git a/.local/share/pyquotes/justice/thoreau_laws.quote b/.local/share/pyquotes/justice/thoreau_laws.quote new file mode 100644 index 00000000..9e55b75b --- /dev/null +++ b/.local/share/pyquotes/justice/thoreau_laws.quote @@ -0,0 +1,7 @@ +Unjust laws exist; + +shall we be content to obey them, +or shall we endeavor to amend them, and obey them until we have succeeded, + +or shall we transgress them at once? + -- Henry David Thoreau diff --git a/.local/share/pyquotes/misc/rakete_verwertung.quote b/.local/share/pyquotes/misc/rakete_verwertung.quote new file mode 100644 index 00000000..8632316d --- /dev/null +++ b/.local/share/pyquotes/misc/rakete_verwertung.quote @@ -0,0 +1,3 @@ +Die Verwertungsindustrie ist einer der groessten Feinde +origineller Kreativitaet. + -- rakete diff --git a/.local/share/pyquotes/misc/tyson_plans.quote b/.local/share/pyquotes/misc/tyson_plans.quote new file mode 100644 index 00000000..bdc6ddc0 --- /dev/null +++ b/.local/share/pyquotes/misc/tyson_plans.quote @@ -0,0 +1,2 @@ +Everybody has plans until they get punched for the first time. + -- Mike Tyson diff --git a/.local/share/pyquotes/truth/buddha_hidden.quote b/.local/share/pyquotes/truth/buddha_hidden.quote new file mode 100644 index 00000000..289b604e --- /dev/null +++ b/.local/share/pyquotes/truth/buddha_hidden.quote @@ -0,0 +1,3 @@ +Three things cannot be long hidden: +the sun, the moon, and the truth. + -- Gautama Buddha diff --git a/.local/share/pyquotes/truth/einstein_truth.quote b/.local/share/pyquotes/truth/einstein_truth.quote new file mode 100644 index 00000000..7968f672 --- /dev/null +++ b/.local/share/pyquotes/truth/einstein_truth.quote @@ -0,0 +1,3 @@ +Whoever is careless with the truth in small matters +cannot be trusted with important matters. + -- Albert Einstein diff --git a/.local/share/pyquotes/truth/lincoln_people.quote b/.local/share/pyquotes/truth/lincoln_people.quote new file mode 100644 index 00000000..3ea9ce21 --- /dev/null +++ b/.local/share/pyquotes/truth/lincoln_people.quote @@ -0,0 +1,4 @@ +I am a firm believer in the people. +If given the truth, they can be depended upon to meet a national crisis. +The great point is to bring them the real facts. + -- Abraham Lincoln diff --git a/.local/share/pyquotes/truth/rakete_wisdom.quote b/.local/share/pyquotes/truth/rakete_wisdom.quote new file mode 100644 index 00000000..cd01e0a0 --- /dev/null +++ b/.local/share/pyquotes/truth/rakete_wisdom.quote @@ -0,0 +1,3 @@ +Acknowleding that there is no definitive stage of wisdom +is a necessary step on the path leading to it. + -- rakete diff --git a/.local/share/pyquotes/truth/schopenhauer_stupidity.quote b/.local/share/pyquotes/truth/schopenhauer_stupidity.quote new file mode 100644 index 00000000..cc35de60 --- /dev/null +++ b/.local/share/pyquotes/truth/schopenhauer_stupidity.quote @@ -0,0 +1,6 @@ +If you come across any special trait of meanness or stupidity ... you must be +careful not to let it annoy or distress you, but to look upon it merely as an +addition to your knowledge -- a new fact to be considered in studying the +character of humanity. Your attitude towards it will be that of the +mineralogist who stumbles upon very characteristic specimen of a mineral. + -- Arthur Schopenhauer diff --git a/.local/share/pyquotes/truth/twain_fool.quote b/.local/share/pyquotes/truth/twain_fool.quote new file mode 100644 index 00000000..ae272874 --- /dev/null +++ b/.local/share/pyquotes/truth/twain_fool.quote @@ -0,0 +1,2 @@ +It's easier to fool people than to convince them that they have been fooled. + -- Mark Twain