Reading
List | Statistics
My favorite reads, updated automatically with the help of my Reading gem, which parses my reading.csv
file. Hereβs how I built this page. See also my βLearn Rubyβ list.
Reread? Yes
Groups: Hannah
NOTES:
Favorites: e5 Stupid Little Rock Thingy
NOTES:
Favorite episodes: s1e8 Grt Milk (bounty hunter), s4e20 The Unbearable Tightness of Bean (season finale), s4e7 A Little Ditty 'Bout Jakk and Shai'An (singing with piano)
Other funny sci-fi podcasts that seem promising: Voyage to the Stars, Midnight Burger, The Outer Reach, Hello from the Magic Tavern, Desert Skies. (P.S. After trying these, I didn't take to any of them except for Desert Skies.)
Also, briefly tried these but not a fan: Life with Althaar, Star Tripper, We Fix Space Junk, Human B Gone, Bubble, The Thrilling Adventure Hour, Welcome to Night Vale, The Adventure Zone, Starship Q Star, Pod to Pluto, Dungeons and Daddies, Rude Tales of Magic, Sitcom D&D, Off Book, Strangeness in Space, Wolf 359, Improvised Star Trek, Civilized, Spaceships Podcast, Stellar Firma, MarsCorp, Girl in Space, Moonbase Theta Out, Strange Case of Starship Iris, EOS 10, Where the Stars Fell, Ars Paradoxica, Absolutely No Adventures, Tumanbay, The Silt Verses
NOTES:
It gets better a couple hundred episodes in, once Roy and Paco start doing weekly chats.
I stopped around ep. 1200 to move on to more authentic Spanish podcasts, like El Hilo and Radio Ambulante.
NOTES:
Opened up a new world for me. I didn't play any text-based games as a kid, so this filled in a lot of gaps.
Also, better than other histories of videogames, which are often little more than lists of business figures and/or tech specs.
Favorites: The Hobbit (1982), LambdaMOO (1990), The Playground / The Oz Project (1994)
Jimmy Maher, the "digital antiquarian", is a good follow-up read: https://www.filfre.net/hall-of-fame
NOTES:
The best high-level history of video games that I've found, especially because its focus is not on the business or technical side, but instead on the creative aspect of how certain game genres came to be, as well as how games have been experienced by players.
NOTES:
So many eureka moments. Fantastic.
Reread? Yes
NOTES:
Favorites: Global Windstorm, Relativistic Baseball, Laser Pointer, Hair Dryer, Machine-Gun Jetpack, Neutron Bullet.
NOTES:
My dad liked the book but gave me his critique that Frank doesn't address the elephant in the room, which is racism. Working-class whites, the victims in Frank's narrative, also have a reputation for being racist (though I can't find a definitive study proving or disproving this stereotype). This may not be new: FDR was not progressive on race, and that probably helped his popularity. But again, I'd want to see actual studies before making any conclusions.
The more indisputable part of my dad's critique concerns Frank's silence on how workers' unions have over time become corrupt and no longer serve the interests of workers, as explained in this review: https://www.currentaffairs.org/2016/08/review-listen-liberal
NOTES:
Audio: https://www.youtube.com/c/AGreatDivorce/playlists
Recurring themes: opposing the cult of the badass, questioning whether the achievements of the elite are worth their cost in the suffering of the ordinary people
Reread? Yes
NOTES:
This gave me the inspiration I needed to get out of teaching and into tech.
Reread? Yes
Groups: Hannah
NOTES:
Best on audio. Same for the sequels.
Reread? Yes
NOTES:
Several additions to the original are hilarious in the audiobook: the Exogoth's soliloquy, the Bespin guards' conversation about building codes including endless chasms, and Chewbacca's part in Leia's lament song for Han.
Reread? Yes
NOTES:
Best on audio.
NOTES:
Hilarious, and the first Discworld book that I've enjoyed. (Previously I tried The Color of Magic, The Wee Free Men, Going Postal, and Small Gods. Didn't get far in any of them before losing interest.)
NOTES:
If you can get your hands on it, *The 4 Pillar Plan* by the same author seems to be a better presentation of the same material. (This the US/Canada version of that UK book.)
Highlights:
lots of veggies great for gut health
microfasting (i.e. not eating late at night)
frequent movement throughout the day better than one long workout
HIIT can be done in few-minute bursts anywhere: jumping jacks or burpees in the house, a short sprint while out on a walk, etc.
glute exercises, see https://www.youtube.com/playlist?list=PLwAWbIQiqJ0BUvhUelyoKacZQv5GjI7pj
a short morning walk for the sunlight
NOTES:
The last chapter and epilogue are especially inspiring, on how to revitalize your neighborhood and/or switch to a healthier non-suburban lifestyle.
NOTES:
I used to like Jordan Peterson years ago when he was a little less obviously right-wing, and when I was a lot less grown up. I wish I'd had this video back then.
NOTES:
Among fans of active/immersive Greek, this book is not as popular as Athenaze, Alexandros, and Thrasymachus. I can see why: it's terrible at providing a beginner-friendly gradual progression with lots of repetition. Even so, I like it better than all the others because instead of tedious stories about daily life on the farm or retellings of the same old myths, it tells stories set in ancient Athens, strongly rooted in history or literature, and often quite funny.
NOTES:
Other books on this topic that I've tried are huge downers and hard to stomach. This book, though it duly gives a historical overview chock full of baddies, sets itself apart in how much space it devotes to possible solutions (nearly half the book!). The audiobook narrator is very lively as well, one of the best I've heard in nonfiction.
Reread? Yes
Groups: Sana engineering book club
NOTES:
In my first read-through this was a revelation, as if I'd never known what programming means. I didn't get as much out of it on subsequent re-reads.
Single Responsibility Principle (Responsibility-Driven Design)
call accessors, do NOT use data directly; also hide data structures
single responsibility for methods too! this avoids the need for comments
dependency injection (move dependencies outside of classes, e.g. external class names), or if constrained then isolate dependencies in initialize
also encapsulate external messages in separate wrapper methods
use keyword arguments w/ defaults (can be messages to self), or if constrained then wrap (external) positional methods in a factory (module)
think about direction of dependency: depend on abstractions/interfaces or classes w/ few dependents & not likely to change
use sequence diagrams (UML) to form an intention about a program, to define public interfaces (message-based design), before writing first test, before writing classes
shift as much as possible into private interfaces (the kitchen vs. the menu); in public interfaces focus on the "what" not the "how"; this way, make each class's context small; classes shouldn't even know what their dependents do, but should just ask them to do their part
do not define public/private, just name methods in private interface like _some_private_method
to solve Demeter violations, decouple code by improving public interfaces (don't chain because it increases knowledge and overspecifies the context), not just by delegation with wrappers
recognize hidden ducks: case statements that switch on class, kind_of?/is_a?, responds_to?
when creating a superclass, start blank and promote abstractions (don't start w/ existing class and demote concretions)
template method pattern: def initialize(**opts); @tire_size = opts
:tire_size ¦¦ default_tire_size
but supply an implementation for every message a class sends, like this: def default_tire_size; raise NotImplementedError, "#{self.class} should have implemented #{__method__}"; end
set up hooks in the superclass for subclasses to override (don't force subclasses to send super at the end of overrides) e.g. post_initialize() and local_spares()
composition is more flexible than inheritance/modules, with fewer dependenies (see recumbent_config)
ruthlessly delete unused code
when testing involves roles, use stubs/doubles (fake/idealized objects in a role)
prove command messages with mocks
to test duck types (roles), include test modules (β¦InterfaceTest)
test inherited code (β¦InterfaceTest and β¦SubclassTest)
NOTES:
Just as good as the book.
NOTES:
Shows how deeply not just Trump but the GOP itself is a threat to democracy, because even now out of self-preservation they haven't as a whole repudiated Trump. Also shows by how slender a thread the rule of law prevailed: Pence was indecisive about whether he would validate the electoral college votes on Jan. 6, and who knows what would've happened if he had decided otherwise.
NOTES:
The first few chapters provide a great history lesson. The last few are a depressing look at how most churches have failed gay people, but also an inspiring look at how some churches are doing better.
Resources: πhttps://reformationproject.org πhttps://www.qchristian.org
NOTES:
Lots of good ideas for self-examination and putting out emotional fires, e.g. morning + evening review of the day, looking at a present emotional disturbance from the standpoint of ten years in the future.
The first of Marcus's ten thinking strategies against anger really hit me: that we are naturally social beings designed to help one another, so we should seek fellowship with those around us even if it's a bother. "He adds, 'Nor can I be angry with my kinsman nor hate him for we have come into being for co-operation,' and that to obstruct one another by feeling resentment or turning our back on others goes against our rational and social nature. Indeed, he says that the good for a rational creature lies, partly, in having an attitude of fellowship toward others. Marcus also goes so far as to claim that ignoring our fellowship with others is a form of injustice, a vice, and an impiety because it goes against Nature." (cf. Meditations 2.1, 5.16, 9.1)
Reread? Yes
Groups: Hannah
NOTES:
In the conclusion, interesting thoughts on how far-seeing technological innovations in the 20th century could only have been made so well by a monopoly like AT&T. Nowadays, companies vie for short-term gains instead. (But also, even a modern Bell Labs would not be so effective, because science is more specialized now.)
Reread? Yes
NOTES:
This is an amazing way of understanding why the Bible has warts. Essentially, it's for the same reasons that God chose to be incarnated in Jesus, a carpenter's son who was crucified as a criminal.
I'm not sure the excursion into Barth was necessary, seeing as how a book like this should be as accessible as possible to normal people who are not theology nerds but who are turned off by the Bible's imperfections.
Boyd suggests that the OT Israelites were led by demons at some points when they thought they were hearing God: "The fact that Paul instructs us to reject any Gospel other than the cross-centered Gospel he preached, even if it be delivered by βan angel from heavenβ (Gal 1:8). provides further reason for us to conclude that Moses was mistaken when he thought he heard Yahweh instruct him to have the Israelites mercilessly slaughter βanything that breathesβ in certain regions of Canaan (Deut 20:16)." and "Although Elijah is generally depicted as a hero of the faith in Scripture, and although the fire that fell from the sky was clearly supernatural, Jesus rebuked his disciples for wanting to follow Elijahβs example. Some early manuscripts add that Jesus suggested that James and John were of a βdifferent spiritβ than he. If this reading is accepted, as Iβm inclined to think it should be, Jesus was suggesting that Elijahβs destructive miracle had a demonic quality to it."
Postscript "Beautiful Scars": putting together a broken vase with the Japanese restorative art of Kintsugi: "Moreover, this lady came to see how her masterpiece told a particular unique story of hope rising out of hopelessness and beauty rising out of brokenness. In fact, she shared that these cracks greatly increased her personal connection to her vase because they now had something in common: a story of brokenness and restoration. In fact, for her, those beautiful cracks became a symbol of her own brokenness and of her need to always trust that God is working in her to βturn her ashes into beauty,β as one of her favorite worship songs put it. But to appreciate this, my friend had to be willing to let go of her previous dream of getting as much of her pre-broken vase back as possible."
NOTES:
Ch. 8: "In Romans 2:1, βPassing judgment on anotherβ is the sin that is equated with the licentiousness, greed, and lust portrayed in 1:18-32. The posture of judgmentalism entails essentially the same sin described in the previous chapter. But this only raises the further question: What does out-of-control lust have in common with judgmentalism? In both cases, what Paul seems to have in mind is the attempt to advance oneβs own honor, status, and will at the expense of others. This interpretation is confirmed by a second piece of evidence found a bit later in the passage, in Romans 2:8, where Paul characterizes those who are subject to divine judgment as βthose who are self-seeking and who obey not the truth but wickedness.β The Greek word translated here as βself-seekingβ (eritheia) is an uncommon word and somewhat difficult to translate. But most interpreters follow the lexiconβs suggestion of βselfishnessβ β or, even better, βselfish ambition.β What is at stake here is the thirst for honor, status, and prestige that is so prevalent in the ancient world.3 Hence, as Paul sees it, what lustful pagans have in common with self-righteous judgmental Christians is that both are driven by the thirst for their own agenda β their own way, their own status, their own honor β while ignoring the concerns of everyone around them, particularly those of the living God. At the root of all sin is the will to power that resists the posture of humble gratitude and trust that marks human life as God intends it. Indeed, as Robert Jewett has argued in his recent magisterial commentary on Romans, this is the discovery that marked Paulβs own conversion: the realization that his zeal for the law was in reality selfishly driven by his own longing for status and honor. In commenting on Romans 7:7 (βI would not have known what it is to covet if the law had not said, βYou shall not covetββ), Jewett defines the core problem driving covetousness as βthe sin of asserting oneself and oneβs group at the expense of others.β"
Lots of other memorable bits. Maybe I'll add them here when I re-read.
NOTES:
A good follow-up is The Bible and Sexuality by the same author
Ch. 5 (What Is Ethical? Interpreting the Bible like Jesus): Two biblical examples of reinterpreting biblical commands for the sake of ethics: (1) lighter rules for slaves in Deut. 15:12-18 than in Ex. 21:2-11, (2) exceptions on divorce by Paul (1 Cor. 7:12-15) and Matthew (19:9) not given by Jesus (Mark 10:11-12). In the second example, Jesus' command was reinterpreted despite being grounded in a creation ordinance. Also, other examples of handling laws with discernment of human need: David eating the tabernacle bread (Matt. 12:3-4), Jesus telling his accusers that it's OK to help people in need on the Sabbath (and Sabbath is another creation ordinance!).
"Even though Jesus honored the Sabbath, he was accused of violating it. In response to his accusers, he took their objections at face value and taught *the fundamental reason* for Godβs law, namely, Godβs law is made for humankind, not humankind for Godβs law (Mark 2:27). In other words, Godβs ordinances are always *on behalf of* people and not for the arbitrary appeasement of Godβs sensibilities. For that reason, even a creation ordinance requires discernment to be properly interpreted and applied. Lest we think such interpretative work was only for the inspired biblical authors, Jesus indicates otherwise. His instructions for interpreting the Bible were given to ordinary religious leaders of his day (i.e., the faith community). He confronted them for failing to adequately engage the deliberative process. In other words, the interpretive practices we see Jesus and the biblical authors employ are examples given for us to follow. Jesus wanted his accusers to learn how to be better readers and appliers of Scripture."
Paul too advised discernment about applying Sabbath laws in Col. 2: "do not let anyone judge you with respect to food or drink, or in the matter of a feast, new moon, or Sabbath daysβthese are only the shadow of the things to come"βa point reiterated in Heb. 10:1 "The law possesses a shadow of the good things to come."
Ch. 6: The PCA has engaged in casuistry (development of case law) to add another exception to Jesus' prohibition of divorce, in cases of domestic violence.
Ch. 7: Augustine believed intersex people were not a product of the fall: "For God is the Creator of all things: He Himself knows where and when anything should be, or should have been, created; and He knows how to weave the beauty of the whole out of the similarity and diversity of its parts. The man who cannot view the whole is offended by what he takes to be the deformity of a part; but this is because he does not know how it is to be adapted or related to the whole. β¦ God forbid, however, that someone who does not know why the Creator has done what He has done should be foolish enough to suppose that God has in such cases erred."
NOTES:
It was a huge relief to learn that it's OK to write only system specs and model specs, it's OK if I'm not mocking and stubbing, and it's OK if I'm not always doing TDD. Most other testing guides that I've read are depressing because of the unattainable purity of their approach or because of the overwhelming amount of terminology and tools. But this is a breath of fresh air.
More on Jason's blog: https://www.codewithjason.com/articles, especially https://www.codewithjason.com/organize-rails-apps, https://www.codewithjason.com/keep-rails-controllers-organized
NOTES:
Honest and insightful into into the foibles, failings, and glories of humanity. It made me laugh and it made me cry.
The podcast is similar and just as good: https://www.wnycstudios.org/podcasts/anthropocene-reviewed
It's hard to pick favorites because so many are good, but here are some highlights: Humanity's Temporal Range, Academic Decathlon, Piggly Wiggly, CNN, Harvey, Googling Strangers (made me cry more than I ever have while reading a book), Mortification
John reflects on a perfectly balanced blend of his inner life and the strange curiosities of the world out there, connecting them in ways that make me want to be more attentive in my own life.
Makes me want to write essays, not for the quality of the end product (they wouldn't be great) but to bare my soul to the world and in so doing, maybe to revive some buried embers in other souls like John Green does.
The only downside is that John's anxiety about disease is also contagious. Not that I wasn't already anxious about disease, these daysβ¦
NOTES:
Here's a summary: https://books.google.com/books?id=G0e4DwAAQBAJ&pg=PA103
I found this when I was pondering the significance of death in the Christian story vs. the material history of the universe. Christians who accept science must admit that death and decay are built into the universe and so were there from the beginning, contra the traditional story of the fall. For most, this means God intended for death to be a natural part of the world. But to me this is unsatisfying, both on a gut level and also in how central to Christianity it is to view death as a bad thing.
Boyd's is a much more spiritually and poetically fulfilling theory for explaining the suffering "built into" nature. I couldn't help recalling Tolkien's creation account in The Silmarillion, because I think it is an amazingly vivid portrayal of the same theodicy: https://archive.org/details/TheSilmarillionIllustratedJ.R.R.TolkienTedNasmith/page/n25/mode/2up
But the Silmarillion's creation story, unlike Boyd's take, has classical theist overtones in that the gods play the universe into being as a song, and then they play the song back as if they are outside of time.
Reread? Yes
NOTES:
UPDATE: Originally I gave this a 3, but I'm bumping it up to a 4 after re-reading the first several chapters, and after watching videos by Inspiring Philosophy that brought some of Walton's key points into greater focus: https://inspiringphilosophy.org/evolution-and-genesis/ and https://www.youtube.com/playlist?list=PL1mr9ZTZb3TUeQHe-lZZF2DTxDHA_LFxi.
I *wanted* this to be 4 stars because out of all arguments against Genesis 1 as describing material creation, this book has the most coherent thesis: that Genesis 1 describes functional (not material) origins.
But the book has a number of shortcomings: overly academic language, arcane side-discussions, too much credit given to Intelligent Design.
Genesis 1 as temple dedication ritual is a fascinating idea.
Walton believes that Genesis 1 still refers to a historical 7 daysβnot when God created everything materially, but when he proclaimed the functions of everything. I think this is unnecessary and it feels a bit awkward to say that God showed up a few billion years after the Big Bang to proclaim all the functions, when the universe had been developing quite nicely without the functions having been proclaimed. But for people who refuse to abandon the historical 7 days, it is an option.
In an email to Dr. Ball, after he recommended this book: Coincidentally I stumbled upon Walton's book just a few weeks ago and I'm almost done reading it now. It is the most convincing explanation of a "non-literal" reading of Genesis 1 because he explains that the most literal (or "face value") reading does not say anything about the material concerns that today's "literal" readings put front and center. While many Christians lament that scientists' views infect people's faith, it's funny that Walton turns the tables and points out that "literalist" readings are themselves imbued with a modern scientific mindset that has no place in understanding what God was saying to the ancient Israelites.
NOTES:
There are many more "intermediate forms" in the fossil record than I thought, and even some existing today such as walking fish. My other main doubtβhow complex features could possibly evolve if they aren't useful in an intermediate stageβwas also put to rest, because generally these features evolved only if they were useful in a half-formed state: for example, those walking fish have fins that have evolved into legs because in their environment (shallow water) it helps them escape predators by running onto land, or it helps them move from one small body of water to the next. Cf. the famous dictum "Evolution is a tinkerer, not an engineer." Even humans have very imperfect features that nonetheless work well enough, e.g. knees and ankles that are pretty fragile and not great for bipedal locomotion, but they usually work. (An ostrich's legs are much stronger and more resilient.) Similarly, our eyes are not nearly as good as some other types of eyes that have independently evolved, such as octopus eyes.
50,000 or 75,000 years ago there was a serious bottleneck in homo sapiens evolution, estimated anywhere between 40 and a few thousand mating pairs. This is a more severe bottleneck than happens in most species, and for homo sapiens there seem to have been other similarly bad bottlenecks.
NOTES:
The course is essential: part 1 https://www.coursera.org/learn/build-a-computer, part 2 https://www.coursera.org/learn/nand2tetris2
Discussion forum: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/
This logic design tool is handy: https://github.com/hneemann/Digital
Favorite chapters: 1 & 2 (gate logic), 6 (assembler), 7 (VM translator).
Ch. 1: Learned boolean algebra! So simple yet so useful.
But I got stuck on simplifying XOR to three gates. These helped: https://en.wikipedia.org/wiki/XOR_gate#Alternatives, https://math.stackexchange.com/questions/2531558/change-boolean-expression-of-xor-from-and-or-to-or-and
Then I got stuck simplifying XOR to four NAND gates. These helped: https://cs.stackexchange.com/questions/43342/how-to-construct-xor-gate-using-only-4-nand-gate/43344, and https://www.coursera.org/learn/build-a-computer/discussions/weeks/1/threads/acXyonB6Eeao3RIiUksYQw/replies/YQlE5btvEeaYcRJ-aKpq1A/comments/-1JjutBfEeaBeg5U4yHl7A
How to use a Karnaugh map to convert a truth table to a function: https://youtu.be/RO5alU6PpSU
Ch. 2: At first I didn't understand the ALU's method of subtraction, but it is the first one explained in the intro to https://en.wikipedia.org/wiki/Method_of_complements (the method shown in the course is the second one in that article)
Inc16 using just one Add16: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Troubles-with-implementing-Incrementer-chip-td698157.html
Ideas for ALU optimization, to use fewer NANDs: https://www.coursera.org/learn/build-a-computer/discussions/weeks/2/threads/hJlyt3OcEeasOQpiYXGJHw
(My first attempt had 607 NANDs, not bad.)
Insane NAND-only ALU optimizations: 440 NANDs http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Why-we-like-abstraction-td1914023.html, 403 NANDs http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Low-NAND-ALU-td4031269.html
Ch. 6: I optimized my assembler, from 77 seconds to assemble Pong, down to 0.095 seconds. The full story: https://fpsvogel.com/posts/2021/nand-to-tetris#optimizing-output
Ch. 7: I got stuck on implementing VM "pop" in assembly, but this thread helped: https://www.coursera.org/learn/nand2tetris2/discussions/weeks/1/threads/RsJU3SoVEeeO6xKx1KO_Vg (especially Mark Armbrust's comment: Start with "D=D+A")
eq, lt, and gt are impossible to implement without jumps: https://stackoverflow.com/questions/2113209/implement-eq-lt-gt-in-assembly-without-jumps/2114274#2114274
I skimmed Chapters 9-12 (compiler and OS) because the urgency of making my first web app suddenly went up. But I will cover this same material more comprehensively in the book Crafting Interpreters.
NOTES:
Favorites: How to Cross a River, How to Power Your House (On Earth), How to Win an Election, How to Get Somewhere Fast
NOTES:
The Shadow Broker s (2016-17) leaked NSA tools.
NotPetya (2017) crippled Ukraine and international shipping connected with Ukranian companies.
NOTES:
The l0pht (Mudge et al.)
Good context to the Snowden leak: the Five Guys Report said the govt. had not done anything illegal, though it noted the NSA should never be trusted.
Groups: Hannah
NOTES:
Now I understand on a more fundamental level: conic sections, calculus, and statistics, though I got A's through Calc II in college. Back then I just learned the formulae.
NOTES:
About a quarter of the way in, it's already become a monotonous string of anecdotes of twisted men heaping abuse upon women and children.
It gets better halfway in, when she starts at BYU.
Finished. I have no words. This shook me to my core. How many Christians are playing out that same insane ritual of in-group loyalty oblivious to Christ's love? Is this why LGBT people are excluded?
The most staggering passage: βThe blessing was a mercy. He was offering me the same terms of surrender he had offered my sister. I imagined what a relief it must have been for her, to realize she could trade her realityβthe one she shared with meβfor his. How grateful she must have felt to pay such a modest price for her betrayal. I could not judge her for her choice, but in that moment I knew I could not choose it for myself. Everything I had worked for, all my years of study, had been to purchase for myself this one privilege: to see and experience more truths than those given to me by my father, and to use those truths to construct my own mind. I had come to believe that the ability to evaluate many ideas, many histories, many points of view, was at the heart of what it means to self-create. If I yielded now, I would lose more than an argument. I would lose custody of my own mind. This was the price I was being asked to pay, I understood that now. What my father wanted to cast from me wasnβt a demon: it was me.β
NOTES:
Annotated refactorings are in 99bottles_ruby/notes
Use spreadsheet columns to help name concepts (cf. Nothing Is Something).
Use optional args for gradual refactoring (3.7.5).
7.7 Auto-registering candidates to a factory (p184).
9. Tests as a form of reuse, revealing where code needs to be more loosely coupled.
NOTES:
PART 1: prefer Null Object Pattern to nil.
PART 2: No such thing as one specialization. When you see a variant: isolate the thing that varies, name the concept, define the role, and inject the players.
NOTES:
Opioids - stunning, horrifying.
Fritz Haber - what a dramatic and tragic life, like a modern Oedipus.
Sometimes we are TOO cautious, or rather too gullible of unproved suspicions of certain inventions, e.g. DDT, GMOs, and BPA are all benign, and in the former two actually better than the alternatives (worse pesticides, expensive and harmful antimalarials). Also prostate and breast cancer screening don't help and only lead to harm.
NOTES:
Durant is balanced and witty in all things. Must re-read his Story of Civilization. And I respect his willingness to say he was wrong when he was younger and hadn't studied so much history (e.g. his youthful antipathy to religion). Favorite quote: "Violent revolutions do not so much redistribute wealth as destroy it. There may be a redivision of the land, but the natural inequality of men soon recreates an inequality of possessions and privileges, and raises to power a new minority with essentially the same instincts as in the old. The only real revolution is in the enlightenment of the mind and the improvement of character, the only real emancipation is individual, and the only real revolutionists are philosophers and saints."
NOTES:
Love the dialogues!
I. VIRTUALIZATION - process forking, scheduling incl. MLFQ & proportional share (tickets), memory address translation, segmentation, paging, TLBs.
II. CONCURRENCY - locks (e.g. producer and consumer problem), event-based concurrency (examples??).
III. PERSISTENCE - HDDs, file systems (basic regions: data/inode bitmaps, inodes, data), locality and FFS, crash consistency (journaling / write-ahead logging), Log-structured File Systems (buffer + entirely sequential write to free area + inode map), data integrity (checksums, scrubbing)
APPENDICES - distributed systems, SSDs
NOTES:
Finally I understand real-world politics. Favorites: https://youtu.be/Jm1rdbbH3oU, https://youtu.be/3ve4c3UZSkI, https://youtu.be/wE2dRO4iKhs, https://youtu.be/aYHauMXZtJ0, https://youtu.be/Azck1jY79cA, https://youtu.be/RF0TPbCt6pQ
NOTES:
The oil industry really has got America by the balls. They've kept the conversation focused on recycling (the consumers' responsibility!). Many "chasing arrows" symbols (misleadingly) don't mean recyclableβand even when they do mean recyclable, recycling centers are able to recycle only the simplest formats like bottles. Oh, and now that oil for energy is down, they're ramping up single use plastics even more. And America dumps its excess plastic in countries like Indonesia, where it is burned or dumped into the ocean. Sigh. In our house I'll make sure we lower our plastic consumptionβ¦ as soon as we have money to do so.
NOTES:
I finally understand why Obama's presidency was a failed promise: because the GOP was hijacked by Breitbart et al.
NOTES:
Whatever his faults, and as much as I dislike the closed Apple ecosystem, he was an artisan among mercenaries. He strove for transcendance ("purity" as he said) in a consumerist world. He would've found it better in a field less ephemeral than tech. But I guess that's my story: I tried the humanities but found the cost of a making life there too high. So now I'm in tech but aiming at (relatively) lasting and meaningful things.
NOTES:
Finally I understand circuits!
NOTES:
The Focus on the Family radio drama is great.
NOTES:
Finally I understand poetic meter.