<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Methodology on emsenn.net</title>
    <link>https://emsenn.net/tags/methodology/</link>
    <description>Recent content in Methodology on emsenn.net</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 02 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://emsenn.net/tags/methodology/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Contradiction</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/contradiction/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/contradiction/</guid>
      <description>&lt;p&gt;In formal logic, contradiction typically means that two claims cannot be&#xA;true together. In dialectical analysis, contradiction also names a&#xA;structured tension internal to a form, where the conditions of that&#xA;form&amp;rsquo;s reproduction generate forces that destabilize it.&lt;/p&gt;&#xA;&lt;p&gt;Dialectical contradiction is not a permission to ignore rigor. It is a&#xA;methodological signal: identify how incompatibility is produced,&#xA;mediated, and historically transformed.&lt;/p&gt;&#xA;&lt;h2 id=&#34;related-terms&#34;&gt;Related terms&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./dialectics.md&#34; class=&#34;link-internal&#34;&gt;Dialectics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./mediation.md&#34; class=&#34;link-internal&#34;&gt;Mediation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./historicization.md&#34; class=&#34;link-internal&#34;&gt;Historicization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Contradiction and Mediation in Dialectical Analysis</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/texts/contradiction-and-mediation-in-dialectical-analysis/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/texts/contradiction-and-mediation-in-dialectical-analysis/</guid>
      <description>&lt;p&gt;Dialectical writing often names contradiction but skips mediation. That&#xA;skip is the main reason many analyses sound dialectical while remaining&#xA;methodologically thin.&lt;/p&gt;&#xA;&lt;p&gt;A contradiction, by itself, is an incompatibility claim. In strong&#xA;analysis, the contradiction must be shown as internal to the object&amp;rsquo;s own&#xA;conditions of reproduction. Then mediation must be traced: institutions,&#xA;practices, temporal phases, and relation chains that carry the tension&#xA;into transformation.&lt;/p&gt;&#xA;&lt;p&gt;This two-part requirement appears in different traditions with different&#xA;vocabulary. In Hegelian framing, contradiction and mediation are internal&#xA;moments of conceptual development [@hegel-dialectics-sep-2019]. In&#xA;Maoist strategic analysis, contradiction must be differentiated and&#xA;located concretely (principal/secondary, aspect shifts) rather than&#xA;handled abstractly [@mao-on-contradiction-1937].&lt;/p&gt;</description>
    </item>
    <item>
      <title>Historicization</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/historicization/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/historicization/</guid>
      <description>&lt;p&gt;Historicization is the method of treating an object as historically&#xA;produced rather than timelessly given.&lt;/p&gt;&#xA;&lt;p&gt;To historicize a concept is to ask when it emerged, through which&#xA;conflicts or practices it stabilized, and how its meaning shifts across&#xA;periods. To historicize an institution is to track the sequence of&#xA;forces, decisions, and constraints through which it was formed and&#xA;reorganized.&lt;/p&gt;&#xA;&lt;p&gt;In dialectical work, historicization prevents abstraction from freezing&#xA;social forms into essences. It keeps analysis tied to determinate&#xA;conditions and temporal development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Immanent Critique</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/immanent-critique/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/immanent-critique/</guid>
      <description>&lt;p&gt;Immanent critique is criticism from within: it evaluates practices,&#xA;institutions, or theories using norms they themselves claim to uphold.&#xA;In critical theory, this method is central because it links diagnosis to&#xA;historically situated contradictions rather than external ideal models&#xA;[@critical-theory-sep-2023].&lt;/p&gt;&#xA;&lt;p&gt;Immanent critique differs from merely internal critique. It is not only&#xA;consistency checking; it is transformative analysis of crisis-tendencies&#xA;within a form of life.&lt;/p&gt;&#xA;&lt;h2 id=&#34;related-terms&#34;&gt;Related terms&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./immanence.md&#34; class=&#34;link-internal&#34;&gt;Immanence&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./contradiction.md&#34; class=&#34;link-internal&#34;&gt;Contradiction&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./historicization.md&#34; class=&#34;link-internal&#34;&gt;Historicization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Principal and Secondary Contradiction: Use Cases</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/texts/principal-and-secondary-contradiction-use-cases/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/texts/principal-and-secondary-contradiction-use-cases/</guid>
      <description>&lt;p&gt;Mao&amp;rsquo;s distinction between principal and secondary contradiction is most&#xA;useful when handled as a stage-specific analytic tool, not as a rigid&#xA;formula [@mao-on-contradiction-1937].&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-1-policy-conflict-analysis&#34;&gt;Use case 1: Policy conflict analysis&lt;/h2&gt;&#xA;&lt;p&gt;When multiple policy conflicts coexist, the method asks which&#xA;contradiction structures the overall field at that stage. Secondary&#xA;contradictions still matter, but they are interpreted through the&#xA;principal one.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-case-2-movement-strategy&#34;&gt;Use case 2: Movement strategy&lt;/h2&gt;&#xA;&lt;p&gt;In movement situations, principal contradiction identifies strategic&#xA;priority while secondary contradictions identify alliance constraints,&#xA;internal tensions, and tactical sequencing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Totality</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/totality/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/totality/</guid>
      <description>&lt;p&gt;Totality is the methodological demand to analyze parts through the&#xA;structured whole that conditions their meaning and function.&lt;/p&gt;&#xA;&lt;p&gt;In dialectical usage, totality does not mean a closed or final system. It&#xA;means that phenomena are relationally constituted: labor, law, state,&#xA;and culture are not self-explanatory in isolation.&lt;/p&gt;&#xA;&lt;p&gt;In Lukácsian terms, totality is central to overcoming fragmented or&#xA;reified appearances in social analysis [@lukacs-sep-2023].&lt;/p&gt;&#xA;&lt;h2 id=&#34;related-terms&#34;&gt;Related terms&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./dialectics.md&#34; class=&#34;link-internal&#34;&gt;Dialectics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./mediation.md&#34; class=&#34;link-internal&#34;&gt;Mediation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;./historicization.md&#34; class=&#34;link-internal&#34;&gt;Historicization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>discipline</title>
      <link>https://emsenn.net/library/domains/science/domains/information/terms/discipline/</link>
      <pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/science/domains/information/terms/discipline/</guid>
      <description>&lt;p&gt;A discipline is a domain of knowledge with its own methods. What makes&#xA;a discipline a discipline — as opposed to a &lt;a href=&#34;./topic.md&#34; class=&#34;link-internal&#34;&gt;topic&lt;/a&gt; or a&#xA;loose collection of ideas — is methodological independence: it has its&#xA;own standards for what counts as evidence, how claims are validated,&#xA;and how inquiry proceeds.&lt;/p&gt;&#xA;&lt;p&gt;Mathematics proves. Sociology observes and theorizes. Philosophy&#xA;argues. Ecology measures and models. These are not interchangeable.&#xA;The methods of a discipline are among its most important content —&#xA;they determine what kind of knowledge the discipline can produce and&#xA;what forms that knowledge takes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>school</title>
      <link>https://emsenn.net/library/domains/science/domains/information/terms/school/</link>
      <pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/science/domains/information/terms/school/</guid>
      <description>&lt;p&gt;A school is a named theoretical tradition within a&#xA;&lt;a href=&#34;./discipline.md&#34; class=&#34;link-internal&#34;&gt;discipline&lt;/a&gt;. Schools share the discipline&amp;rsquo;s subject&#xA;matter but differ in how they approach it: what questions they&#xA;prioritize, what methods they use, what epistemological commitments&#xA;they hold, and who they cite as foundational thinkers.&lt;/p&gt;&#xA;&lt;p&gt;Critical pedagogy and constructivism are both schools within pedagogy.&#xA;They both study teaching and learning. But critical pedagogy (Freire,&#xA;hooks) foregrounds power and liberation, while constructivism&#xA;(Piaget, Vygotsky) foregrounds the learner&amp;rsquo;s construction of&#xA;knowledge. The difference is not just emphasis — it produces different&#xA;methods, different questions, and different kinds of knowledge.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Structured-work paradigms: a cross-disciplinary survey</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software-engineering/domains/structured-work-paradigms/texts/cross-disciplinary-survey-2026/</link>
      <pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software-engineering/domains/structured-work-paradigms/texts/cross-disciplinary-survey-2026/</guid>
      <description>&lt;p&gt;This text surveys structured-work methodologies across three&#xA;disciplines — business/management, government/military, and&#xA;scientific/academic research — to identify patterns that inform&#xA;the design of agent workflows in the&#xA;&lt;a href=&#34;../../../../../../specifications/agential-semioverse-repository/index.md&#34; class=&#34;link-internal&#34;&gt;agential semioverse repository&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The survey was conducted via web research in March 2026. Each&#xA;domain was researched independently to avoid cross-contamination&#xA;of framing. Citations are provided per finding.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cross-cutting-patterns&#34;&gt;Cross-cutting patterns&lt;/h2&gt;&#xA;&lt;p&gt;Five patterns recur across all three domains. These are the&#xA;findings most relevant to the emsemioverse&amp;rsquo;s workflow design.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dialectics</title>
      <link>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/dialectics/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/philosophy/domains/western/domains/marxism/terms/dialectics/</guid>
      <description>&lt;h1 id=&#34;dialectics&#34;&gt;Dialectics&lt;/h1&gt;&#xA;&lt;p&gt;Dialectics is a method of reasoning through contradiction. In its most familiar form — thesis, antithesis, synthesis — it proposes that understanding advances when a position (thesis) encounters its negation (antithesis) and both are resolved into a higher unity (synthesis) that preserves and transcends both. The method has a long history, from Plato&amp;rsquo;s Socratic dialogues through Hegel&amp;rsquo;s philosophy of spirit to &lt;a href=&#34;../../general/domains/people/karl-marx.md&#34; class=&#34;link-internal&#34;&gt;Marx&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;./materialism.md&#34; class=&#34;link-internal&#34;&gt;materialist&lt;/a&gt; inversion, and it remains one of the dominant intellectual methods in critical theory, political analysis, and journalism.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Archaeology</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/terms/archaeology/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/terms/archaeology/</guid>
      <description>&lt;p&gt;Archaeology is Foucault&amp;rsquo;s method for analyzing the conditions that make a body of knowledge possible in a given historical period, without treating those conditions as steps in a story of progress. Where a conventional history of ideas traces how one thinker influenced another — how Darwin built on Malthus, how Pasteur corrected Lister — archaeology asks a different question: what rules of formation had to be in place for these statements to appear at all?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Archaeology (Lesson)</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/archaeology/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/archaeology/</guid>
      <description>&lt;p&gt;Audience: readers who have completed the &lt;a href=&#34;./overview.md&#34; class=&#34;link-internal&#34;&gt;overview&lt;/a&gt; and want to understand &lt;a href=&#34;../../../../../../general/domains/people/michel-foucault.md&#34; class=&#34;link-internal&#34;&gt;Foucault&lt;/a&gt;&amp;rsquo;s method for analyzing &lt;a href=&#34;../terms/discourse.md&#34; class=&#34;link-internal&#34;&gt;discourse&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain how &lt;a href=&#34;../terms/archaeology.md&#34; class=&#34;link-internal&#34;&gt;archaeology&lt;/a&gt; analyzes the conditions that make knowledge possible in a period, and apply the method to a concrete example.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-question-archaeology-asks&#34;&gt;The question archaeology asks&lt;/h2&gt;&#xA;&lt;p&gt;In the 18th Century, European naturalists classified living things by arranging them in tables according to visible features — the shape of leaves, the structure of flowers, the arrangement of teeth. In the 19th Century, biologists classified living things by tracing their descent from common ancestors through hidden developmental processes. Both were studying &amp;ldquo;nature.&amp;rdquo; But the rules governing what counted as a valid claim about nature had changed completely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Biopower and Governmentality (Lesson)</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/biopower-governmentality/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/biopower-governmentality/</guid>
      <description>&lt;p&gt;Audience: readers who have completed the &lt;a href=&#34;./power-knowledge.md&#34; class=&#34;link-internal&#34;&gt;power/knowledge&lt;/a&gt; lesson and want to understand how Foucault&amp;rsquo;s analysis applies to the governance of populations.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain the shift from sovereign power to &lt;a href=&#34;../terms/biopower.md&#34; class=&#34;link-internal&#34;&gt;biopower&lt;/a&gt;, describe how &lt;a href=&#34;../terms/governmentality.md&#34; class=&#34;link-internal&#34;&gt;governmentality&lt;/a&gt; organizes the management of populations, and analyze a contemporary institution in biopolitical terms.&lt;/p&gt;&#xA;&lt;h2 id=&#34;from-the-scaffold-to-the-census&#34;&gt;From the scaffold to the census&lt;/h2&gt;&#xA;&lt;p&gt;In 1757, the French state executed Robert-François Damiens by public torture — his body was the site where sovereign power made itself visible. By the mid-19th Century, the same state was conducting national censuses, tracking birth and death rates, regulating sanitation, and managing public health campaigns. The state&amp;rsquo;s relationship to its subjects had changed: it was no longer primarily threatening them with death. It was managing their lives.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foucault Overview</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/overview/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/overview/</guid>
      <description>&lt;p&gt;Audience: readers new to critical theory who want to understand what &lt;a href=&#34;../../../../../../general/domains/people/michel-foucault.md&#34; class=&#34;link-internal&#34;&gt;Foucault&lt;/a&gt;&amp;rsquo;s work does and why it matters.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain what questions &lt;a href=&#34;../../../../../../general/domains/people/michel-foucault.md&#34; class=&#34;link-internal&#34;&gt;Foucault&lt;/a&gt; asks, how his two methods (&lt;a href=&#34;../terms/archaeology.md&#34; class=&#34;link-internal&#34;&gt;archaeology&lt;/a&gt; and &lt;a href=&#34;../terms/genealogy.md&#34; class=&#34;link-internal&#34;&gt;genealogy&lt;/a&gt;) relate to each other, and why his analysis of power differs from common understandings.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-different-kind-of-question&#34;&gt;A different kind of question&lt;/h2&gt;&#xA;&lt;p&gt;Most political theory asks: who has power, and is their use of it legitimate? &lt;a href=&#34;../../../../../../general/domains/people/michel-foucault.md&#34; class=&#34;link-internal&#34;&gt;Michel Foucault&lt;/a&gt; asked a different question: how does power work?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Genealogy</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/terms/genealogy/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/terms/genealogy/</guid>
      <description>&lt;p&gt;Genealogy is a method for tracing how present-day concepts, institutions, and practices emerged through contingency, conflict, and power rather than through rational development or natural necessity. Where most histories explain the present as the outcome of progress or design, genealogy shows that the present is the product of struggles that could have gone otherwise.&lt;/p&gt;&#xA;&lt;p&gt;Friedrich Nietzsche originated the method in &lt;em&gt;On the Genealogy of Morals&lt;/em&gt; (1887). He asked where the concepts &amp;ldquo;good&amp;rdquo; and &amp;ldquo;evil&amp;rdquo; came from. His answer was that &amp;ldquo;good&amp;rdquo; originally meant &amp;ldquo;noble&amp;rdquo; — a term the powerful used to describe themselves — and &amp;ldquo;evil&amp;rdquo; was the invention of the powerless, who revalued strength as morally corrupt. Moral concepts did not descend from universal reason. They descended from specific historical confrontations between groups with competing interests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Genealogy (Lesson)</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/genealogy/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/genealogy/</guid>
      <description>&lt;p&gt;Audience: readers who have completed the &lt;a href=&#34;./archaeology.md&#34; class=&#34;link-internal&#34;&gt;archaeology&lt;/a&gt; lesson and want to understand &lt;a href=&#34;../../../../../../general/domains/people/michel-foucault.md&#34; class=&#34;link-internal&#34;&gt;Foucault&lt;/a&gt;&amp;rsquo;s second major historical method.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: conduct a basic genealogical analysis — identify the descent and emergence of a concept or practice, and explain why genealogy refuses the search for origins.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-this-matters&#34;&gt;Why this matters&lt;/h2&gt;&#xA;&lt;p&gt;Consider the modern job interview. Most people treat it as natural — of course employers evaluate candidates by asking them questions in a formal meeting. It feels like the obvious way to hire someone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Power/Knowledge (Lesson)</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/power-knowledge/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/foucauldian/texts/power-knowledge/</guid>
      <description>&lt;p&gt;Audience: readers who have completed the &lt;a href=&#34;./genealogy.md&#34; class=&#34;link-internal&#34;&gt;genealogy&lt;/a&gt; lesson and want to understand the mechanism that genealogical analysis reveals.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain how power and knowledge constitute each other, identify the examination as the paradigmatic mechanism of &lt;a href=&#34;../terms/power-knowledge.md&#34; class=&#34;link-internal&#34;&gt;power/knowledge&lt;/a&gt;, and analyze a concrete institution in these terms.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-common-assumption-genealogy-overturns&#34;&gt;The common assumption genealogy overturns&lt;/h2&gt;&#xA;&lt;p&gt;Most people hold two assumptions about the relationship between power and knowledge:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Knowledge is neutral. Scientists discover facts; politicians may misuse those facts, but the facts themselves are innocent.&lt;/li&gt;&#xA;&lt;li&gt;Knowledge liberates. The more we know, the freer we are. Education, research, and transparency are weapons against oppression.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;a href=&#34;../../../../../../general/domains/people/michel-foucault.md&#34; class=&#34;link-internal&#34;&gt;Michel Foucault&lt;/a&gt;&amp;rsquo;s concept of &lt;a href=&#34;../terms/power-knowledge.md&#34; class=&#34;link-internal&#34;&gt;power/knowledge&lt;/a&gt; challenges both assumptions — not by saying that knowledge is bad, but by showing that the production of knowledge is never separable from the exercise of power.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring the semantics of The Late Marx citers</title>
      <link>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/marxism/texts/exploring-the-semantics-of-late-marx-citers/</link>
      <pubDate>Fri, 17 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/humanities/domains/sociology/domains/critical-theory/domains/marxism/texts/exploring-the-semantics-of-late-marx-citers/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; csv&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; json&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; time&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; random&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; requests&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;OUTFILE &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abstracts.csv&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CONTACT_EMAIL &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;emsenn@emsenn.net&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MAX_RESULTS &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SLEEP &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1.2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SEED &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;seed(SEED)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;QUERY_ANDERSON &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#34;Kevin B. Anderson&amp;#34; &amp;#34;The Late Marx and the Russian Road&amp;#34;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;QUERY_CONTROL  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;Marxism OR &amp;#34;Karl Marx&amp;#34;&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MARX_FILTER &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;compile(&lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;(marx|marxism|historical materialism|capitalis\w*|communis\w*|class struggle)&amp;#34;&lt;/span&gt;, re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;I)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BAD_SUBJECTS &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;chemistry&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;physics&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;materials&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;engineering&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;medicine&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;biology&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;geology&amp;#34;&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;query_crossref&lt;/span&gt;(query, rows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, cursor&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*&amp;#34;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://api.crossref.org/works&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    params &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;query.bibliographic&amp;#34;&lt;/span&gt;: query, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rows&amp;#34;&lt;/span&gt;: rows, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cursor&amp;#34;&lt;/span&gt;: cursor, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mailto&amp;#34;&lt;/span&gt;: CONTACT_EMAIL}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        r &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; requests&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(url, params&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;params, timeout&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Error&amp;#34;&lt;/span&gt;, r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status_code, r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;text)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;json()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        items &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;items&amp;#34;&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; it &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; items:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;yield&lt;/span&gt; it&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        cursor_next &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;next-cursor&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; cursor_next &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; len(items) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        params[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cursor&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; cursor_next&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        time&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sleep(SLEEP)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;clean&lt;/span&gt;(text):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; text:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sub(&lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\s+&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;, str(text))&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;strip()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;extract&lt;/span&gt;(it):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    doi &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DOI&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    title &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; clean(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join(it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;, [])))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    abstract &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; clean(it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abstract&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    year &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; fld &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;published-print&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;published-online&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;created&amp;#34;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; fld &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; it &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date-parts&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; it[fld]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            year &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; it[fld][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;date-parts&amp;#34;&lt;/span&gt;][&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;][&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    authors &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;, &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;join([a&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; a &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;author&amp;#34;&lt;/span&gt;,[]) &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;family&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; a])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    publisher &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    subjects &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [s&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower() &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; s &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;subject&amp;#34;&lt;/span&gt;, [])]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    lang &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;language&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower() &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; it&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;language&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;doi&amp;#34;&lt;/span&gt;:doi,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;:title,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abstract&amp;#34;&lt;/span&gt;:abstract,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;:year,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;authors&amp;#34;&lt;/span&gt;:authors,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;:publisher,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;subjects&amp;#34;&lt;/span&gt;:subjects,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lang&amp;#34;&lt;/span&gt;:lang}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;is_marxist&lt;/span&gt;(rec):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Heuristic: English + humanities/social + Marx lexicon&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lang&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;lang&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;startswith(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;en&amp;#34;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; any(bad &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;subjects&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; bad &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; BAD_SUBJECTS):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;title&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;abstract&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; bool(MARX_FILTER&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;search(text))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# --- Main collection ---&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;collect&lt;/span&gt;(query, label):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    records &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; item &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; query_crossref(query, rows&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        rec &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; extract(item)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; is_marxist(rec):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; label&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        records&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(rec)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; len(records) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;=&lt;/span&gt; MAX_RESULTS:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; records&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fetching Anderson-related records…&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;anderson_records &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; collect(QUERY_ANDERSON, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cites_anderson&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Fetching Marxist control records…&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;control_records &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; collect(QUERY_CONTROL, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;control&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rows &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; anderson_records &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; control_records&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;random&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;shuffle(rows)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# --- Write CSV ---&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; open(OUTFILE, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;w&amp;#34;&lt;/span&gt;, newline&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    writer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; csv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DictWriter(f, fieldnames&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;[&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;year&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;authors&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;publisher&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;doi&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abstract&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    writer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writeheader()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; rows:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        writer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;writerow({k:r&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(k,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; k &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; writer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fieldnames})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Wrote &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;len(rows)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; records to &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;OUTFILE&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sample titles:&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; rows[:&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;- [&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;] &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;year&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;title&amp;#39;&lt;/span&gt;][:&lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;…&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/usr/bin/env python3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;explore-anderson-citations.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;---------------------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Quick analysis of whether Anderson-citing works use more &amp;#39;moral&amp;#39; or &amp;#39;method&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;language, using a simple keyword frequency approach on abstracts.csv.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Input CSV must contain columns: label, text (abstract or concatenated text).&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Label values: &amp;#39;cites_anderson&amp;#39; or &amp;#39;control&amp;#39;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Outputs group means and 95&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;% c&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;onfidence intervals per 1000 words.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; csv&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt; statistics &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; stats&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; collections &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; Counter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# --- Keyword patterns ---&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;METHOD &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\b(method|methods|measurement|data(set)?|survey|fieldwork|interview|sampling|regress\w*|model\w*|estimate\w*|coding|reliab\w*|validi\w*|operationali\w*|variable\w*|hypothes\w*|test(ed|ing)?|significan\w*|simulat\w*|network\w*|experiment\w*|appendix|replicat\w*|code|archive|corpus|algorithm)\b&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MORAL  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\b(redempt\w*|inclusion|inclusive|recognit\w*|plural\w*|eurocentr\w*|decolonial\w*|coloniality|humanism|ethic(s|al)\b(?!\s*protocol)|empath\w*|conscience|guilt|atone\w*|moral\w*|legitim\w*|rehabilitat\w*|reconciliat\w*|solidarit\w*|utopian\w*|hopeful|hope|salvat\w*|justice|injustic\w*|violenc\w*|suffer\w*|oppress\w*|emancipat\w*|dignit\w*|liberat\w*|redress|repair|healing)\b&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;METHOD_RE &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;compile(METHOD, re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;I)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MORAL_RE  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;compile(MORAL, re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;I)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;normalize&lt;/span&gt;(text):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; text:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; re&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sub(&lt;span style=&#34;color:#e6db74&#34;&gt;r&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\s+&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;, text)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;lower()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;count_keywords&lt;/span&gt;(text, pattern):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; len(pattern&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;findall(text))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;load_records&lt;/span&gt;(path&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abstracts.csv&amp;#34;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    records &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; open(path, newline&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;, encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        reader &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; csv&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;DictReader(f)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; row &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; reader:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            label &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; row&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;strip()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# Concatenate title + abstract for analysis&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            text &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; normalize((row&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;title&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; (row&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;abstract&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; text:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            records&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append({&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;:label, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;:text})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; records&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;compute_scores&lt;/span&gt;(records):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    results &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; rec &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; records:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        words &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;split()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        n_words &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; len(words) &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; words &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        method_count &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; count_keywords(rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;], METHOD_RE)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        moral_count  &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; count_keywords(rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;], MORAL_RE)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# Per 1000 words&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mth_per_1k &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; method_count &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1000.0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; n_words&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mor_per_1k &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; moral_count &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1000.0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; n_words&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        results&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;: rec[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;method_per_1k&amp;#34;&lt;/span&gt;: mth_per_1k,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;moral_per_1k&amp;#34;&lt;/span&gt;: mor_per_1k&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; results&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;group_stats&lt;/span&gt;(results):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    groups &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; r &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; results:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        groups&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setdefault(r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;], {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;method&amp;#34;&lt;/span&gt;:[], &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;moral&amp;#34;&lt;/span&gt;:[]})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        groups[r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;]][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;method&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;method_per_1k&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        groups[r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;]][&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;moral&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(r[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;moral_per_1k&amp;#34;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; groups&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;summarize&lt;/span&gt;(vals):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; vals:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0.0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mean &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; stats&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mean(vals)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; len(vals) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        stdev &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; stats&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;pstdev(vals)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 95% CI ~ mean ± 1.96 * (stdev / sqrt(n))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        se &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; stdev &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; (len(vals) &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ci_low &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mean &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1.96&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; se&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ci_high &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mean &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1.96&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; se&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ci_low &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ci_high &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (mean, ci_low, ci_high)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    records &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; load_records()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    results &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; compute_scores(records)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    groups &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; group_stats(results)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Group&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Type&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Mean&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;CI_low&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;CI_high&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;N&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; label, vals &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; groups&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;items():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; kind &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;method&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;moral&amp;#34;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            arr &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; vals[kind]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            mean, lo, hi &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; summarize(arr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;label&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;kind&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;mean&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.2f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;lo&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.2f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;hi&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.2f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;len(arr)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    main()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
