diff --git a/content/quotes/alexandre-dumas/index.md b/content/quotes/alexandre-dumas/index.md new file mode 100644 index 0000000..7c9dedf --- /dev/null +++ b/content/quotes/alexandre-dumas/index.md @@ -0,0 +1,9 @@ ++++ +title = "Alexandre Dumas" +weight = 97 + +[taxonomies] +tags = ["quotes", "alexandre dumas", "rogues", "imbeciles"] ++++ + +> "I prefer rogues to imbeciles because they sometimes take a rest." diff --git a/content/quotes/arthur-c-clarke/index.md b/content/quotes/arthur-c-clarke/index.md index 16a08a1..baaef80 100644 --- a/content/quotes/arthur-c-clarke/index.md +++ b/content/quotes/arthur-c-clarke/index.md @@ -8,3 +8,6 @@ tags = ["quotes", "arthur c clarke", "space", "nationalism"] > "There is hopeful symbolism in the fact that flags do not wave in a vacuum." +> "A faith that cannot survive collision with +> the truth is not worth many regrets." + diff --git a/content/quotes/cornelia-otis-skinner/index.md b/content/quotes/cornelia-otis-skinner/index.md new file mode 100644 index 0000000..bb778e6 --- /dev/null +++ b/content/quotes/cornelia-otis-skinner/index.md @@ -0,0 +1,9 @@ ++++ +title = "Cornelia Otis Skinner" +weight = 99 + +[taxonomies] +tags = ["quotes", "cornelia otis skinner", "virtues"] ++++ + +> "Women's virtue is man's greatest invention." diff --git a/content/quotes/dion-fortune/index.md b/content/quotes/dion-fortune/index.md new file mode 100644 index 0000000..1cca3df --- /dev/null +++ b/content/quotes/dion-fortune/index.md @@ -0,0 +1,9 @@ ++++ +title = "Dion Fortune" +weight = 100 + +[taxonomies] +tags = ["quotes", "dion fortune", "religion"] ++++ + +> "A religion without a goddess is half-way to atheism." diff --git a/content/quotes/euripides/index.md b/content/quotes/euripides/index.md new file mode 100644 index 0000000..c659a02 --- /dev/null +++ b/content/quotes/euripides/index.md @@ -0,0 +1,10 @@ ++++ +title = "Euripides" +weight = 101 + +[taxonomies] +tags = ["quotes", "euripides", "cadmus", "pentheus", "lies"] ++++ + +> "Go out and tell a lie that will make the whole family proud of you." +-- Cadmus, to Pentheus, in "The Bacchae" diff --git a/content/quotes/george-santayana/index.md b/content/quotes/george-santayana/index.md new file mode 100644 index 0000000..5b992c4 --- /dev/null +++ b/content/quotes/george-santayana/index.md @@ -0,0 +1,10 @@ ++++ +title = "George Santayana" +weight = 103 + +[taxonomies] +tags = ["quotes", "george santayana", "fanaticism"] ++++ + +> "Fanaticism consists of redoubling your effort when you have forgotten your +> aim." diff --git a/content/quotes/henry-adams/index.md b/content/quotes/henry-adams/index.md new file mode 100644 index 0000000..38c0c28 --- /dev/null +++ b/content/quotes/henry-adams/index.md @@ -0,0 +1,9 @@ ++++ +title = "Henry Adams" +weight = 104 + +[taxonomies] +tags = ["quotes", "henry adams", "politics"] ++++ + +> "Practical politics consists in ignoring facts." diff --git a/content/quotes/joseph-joubert/index.md b/content/quotes/joseph-joubert/index.md index dad3163..2ae7788 100644 --- a/content/quotes/joseph-joubert/index.md +++ b/content/quotes/joseph-joubert/index.md @@ -3,7 +3,9 @@ title = "Joseph Joubert" weight = 106 [taxonomies] -tags = ["quotes", "joseph joubert", "space"] +tags = ["quotes", "joseph joubert", "space", "teaching", "time"] +++ > "Space is to place as eternity is to time." + +> "To teach is to learn twice." diff --git a/content/quotes/mark-twain/index.md b/content/quotes/mark-twain/index.md index 1ff2416..54629ff 100644 --- a/content/quotes/mark-twain/index.md +++ b/content/quotes/mark-twain/index.md @@ -4,7 +4,7 @@ weight = 109 [taxonomies] tags = ["quotes", "mark twain", "annoyance", "examples", "fame", "writing", -"right", "speeches", "heaven", "hell", "generalizations"] +"right", "speeches", "heaven", "hell", "generalizations", "public"] +++ > "Few things are harder to put up with than the annoyance of a good example." @@ -28,3 +28,5 @@ tags = ["quotes", "mark twain", "annoyance", "examples", "fame", "writing", > "Water, taken in moderation cannot hurt anybody." > "All generalizations are false, including this one." + +> "The Public is merely a multiplied 'me.'" diff --git a/content/quotes/moliere/index.md b/content/quotes/moliere/index.md new file mode 100644 index 0000000..b919d9d --- /dev/null +++ b/content/quotes/moliere/index.md @@ -0,0 +1,9 @@ ++++ +title = "Moliere" +weight = 109 + +[taxonomies] +tags = ["quotes", "moliere", "understading"] ++++ + +> "That must be wonderful: I don't understand it at all." diff --git a/content/quotes/random/index.md b/content/quotes/random/index.md index 3d32877..6b84e15 100644 --- a/content/quotes/random/index.md +++ b/content/quotes/random/index.md @@ -7,7 +7,7 @@ tags = ["quotes", "graffiti", "education", "misery", "distributed systems", "the day the earth stood still", "atheism", "religion", "following", "regrets", "money", "perfection", "practice", "nerds", "totalitarianism", "materialism", "god", "time", "privacy", "guests", "proverbs", "russian", -"incompetence", "insanity", "instagram", "leadership"] +"incompetence", "insanity", "instagram", "leadership", "marriage"] +++ > If you took all the students that felt asleep in class and laid them end to @@ -129,3 +129,8 @@ tags = ["quotes", "graffiti", "education", "misery", "distributed systems", > A political position which seeks to rebuild society so that > both men and women are treated as women wish to be treated." +> "A religion without a goddess is half-way to atheism." + +> 'A diplomatic husband said to his wife, "How do you expect me to remember +> your birthday when you never look any older?"' + diff --git a/content/quotes/robert-barron/index.md b/content/quotes/robert-barron/index.md new file mode 100644 index 0000000..5381f33 --- /dev/null +++ b/content/quotes/robert-barron/index.md @@ -0,0 +1,10 @@ ++++ +title = "Robert Barron" +weight = 114 + +[taxonomies] +tags = ["quotes", "robert barron", "religion"] ++++ + +> "God is a placebo for your own mortality." + diff --git a/content/quotes/ruth-hurmence-green/index.md b/content/quotes/ruth-hurmence-green/index.md new file mode 100644 index 0000000..05c2867 --- /dev/null +++ b/content/quotes/ruth-hurmence-green/index.md @@ -0,0 +1,11 @@ ++++ +title = "Ruth Hurmence Green" +weight = 114 + +[taxonomies] +tags = ["quotes", "ruth hurmence green", "religion"] ++++ + +> "There was a time when religion ruled the +> world. It was known as The Dark Ages." + diff --git a/content/quotes/star-trek/index.md b/content/quotes/star-trek/index.md index 209dd52..cd9fbfb 100644 --- a/content/quotes/star-trek/index.md +++ b/content/quotes/star-trek/index.md @@ -32,6 +32,9 @@ tags = ["star trek", "quotes", "eve mchuron", "spock", "rojan", "sarek"] > "Men of peace usually are [brave]." -- Spock, "The Savage Curtain", stardate 5906.5 +> "Madness has no purpose. Or reason. But it may have a goal." +-- Spock, "The Alternative Factor", stardate 3088.7 + > "We do not colonize. We conquer. We rule. There is no other way for us." -- Rojan, "By Any Other Name", stardate 4657.5 diff --git a/content/quotes/thomas-edison/index.md b/content/quotes/thomas-edison/index.md index a0b14d0..10393ad 100644 --- a/content/quotes/thomas-edison/index.md +++ b/content/quotes/thomas-edison/index.md @@ -3,8 +3,10 @@ title = "Thomas Edison" weight = 116 [taxonomies] -tags = ["quotes", "thomas edison", "religion"] +tags = ["quotes", "thomas edison", "religion", "invention", "genius", +"inspiration"] +++ > "All Bibles are man-made." +> "Genius is one percent inspiration and ninety-nine percent perspiration." diff --git a/content/research/java.md b/content/research/java.md index e74f6f9..4717aaf 100644 --- a/content/research/java.md +++ b/content/research/java.md @@ -3,4 +3,5 @@ title = "Java" weight = 106 +++ +- [Shell With All Maven Classes](@/research/java/maven-shell.md) - [Abstract Classes Resolution Order](@/research/java/abstract.md) diff --git a/content/research/java/maven-shell.md b/content/research/java/maven-shell.md new file mode 100644 index 0000000..c4b3491 --- /dev/null +++ b/content/research/java/maven-shell.md @@ -0,0 +1,10 @@ ++++ +title = "Shell with All Maven Classes" ++++ + +``` +alias mvn-shell='jshell --class-path $(find ~/.m2/repository/ -name "*.jar" | tr "\n" ":")' +``` + +This alias loads all classes in the Maven (m2) repository and make them +available to the shell. diff --git a/content/reviews/books/functional-python-programming.md b/content/reviews/books/functional-python-programming.md new file mode 100644 index 0000000..0f586af --- /dev/null +++ b/content/reviews/books/functional-python-programming.md @@ -0,0 +1,82 @@ ++++ +title = "Functional Python Programming - Create Succinct and Expressive Implementations with Python - Steven F. Lott" +date = 2020-08-27 + +[taxonomies] +tags = ["books", "review", "it", "steven f lott", "python", "functional", +"1 star", "2020 challenge"] ++++ + +[GoodReads Summary](https://www.goodreads.com/book/show/24925633-functional-python-programming---create-succinct-and-expressive-implement): +With Functional Python Programming by your side you’ll understand the core +concepts of function Python, its impact on the programming workflow, and how +to implement it in Python, giving you the ability to take your applications to +an even higher level. + + + +{{ stars(stars=1) }} + +Another book the proves my theory that the quality of a book is inversely +proportional to the amount of "as follows". + +But functional programming in Python is generators. + +That's it: Generators. Oh, generators and tuples. + +There is a lot in this book, but mostly seems... wrong. For example, talking +about "tail call optimization", when Python does not have them. And then +talking how to optimize those -- which, again, it is plain "replace with a +generator". + +Also, the case for tuples is that namedtuples is mentioned, but rarely used. +This makes code hard to read, except the author decided to create lambdas to +extract them, so you end up with a bunch of `xy_g = lambda p: p[0][1][0]`. +What the fuck is `0`, `1` and `0` again in this? Why not use name tuples and, +instead of this atrocity, go with `p.position.x`? + +Other examples of wrong things: + +- "extract the docstring function": Doctstrings are strings, not functions. +- "GNU Image Manipulation Program (GIMP) GNU General Public License (GPL) file + format": Neither GIMP not GPL is a file format; one is a photo editor and + the other is a license. +- "This is relatively simple implementation copied from the World Wide Web": + And we all know how things on the web are reliant. +- "We can use `((line.split() for line in file)` to create a sequence of ten + tuples": First of all, yes, the there is some unbalanced parenthesis + there; second, that thing won't generate ten tuples, it will generate as + many as the lines in the file -- which is never shown, by the way. +- Calling functions that return generators "higher-order functions". And no, + the function does not receive a function, it simply returns a generator. +- "perms = permutations(range(6)))))". Yup, there are 4 extra closing + parenthesis. +- Splitting a string with a path in it by `/`, then checking the first value + instead of, say, `path.startswith('expected_value')`. +- "We've created a Counter() function": Counter is a class, not a function. +- Lots of "not clear if this is helpful". Ok, showing some sort of code is ok, + but not explaining where if it is useful -- or if it is useful at all -- + is plain... lazy. +- "We've shown the loop here to clarify that the server must, generally, be + crashed": It's the first time that I see that we expect a server to be + crashed. +- There is a convoluted aggregation grouping things in a dictionary with a key + and a count, and then using `Counter()` to check the number of times + something appear. Problem is, when `Counter()` process the dict, it will + get only the keys, so the whole process of generating the dictionary is + completely useless. +- By the end of the book, I'm not sure if things are being double + double-quoted (as in ""this is string"") or quadruple single-quote + (''''this is string'''') -- but neither format is valid Python. + +Besides all that, there is a bunch of explanations that are very much akin to + +> `a = a + 1` +> +> Adds 1 to `a` + +Also, there are chapters for multiprocessing, which has absolutely nothing +functional about it and WSGI, which, again, has nothing functional about it. + +The whole book feels rushed and badly reviewed -- if reviewed before +publishing at all.