Source: demo_data/generate-thesis-titles.js

/**
@overview

```
<title>:<subtitle>

title:
The <metatopic> of <theme>

subtitle:
<verbing> <concepts> in the <works> of <subjects>

<thesis_type> <metatopic> and <subject>
```

https://www.wgtn.ac.nz/lals/resources/academicwordlist


*/

// Seed random number generator to pin results for each day
require('seedrandom')((new Date()).toISOString().slice(0,10), { global: true });

//---------------------------------------

const quotes = [
     "I know",
     "Do or do not: there is no try",
     "I am your father",
     "Use the Force, Luke",
     "May the Force be with you",
     "Let the Wookie win",
     "It's a trap!",
     "That's no moon!",
     "A disturbance in the force",
     "You’re my only hope",
    "I find your lack of faith disturbing",
    "Less than twelve parsecs",
    "Never tell me the odds!",
    "Fear is the path to the dark side",
    "If droids could think",
    "How liberty dies: With thunderous applause",
    "Chewie, we’re home",
    "Don’t you call me a mindless philosopher, you overweight glob of grease!",
    "An elegant weapon for a more civilized age",
    "A wretched hive of scum and villainy",
    "These aren’t the droids you’re looking for",
    "Sorry about the mess",
    "Holding Vader’s leash",
    "Hokey religions and ancient weapons",
    "Aren’t you a little short for a stormtrooper?",
    "I got a bad feeling about this",
    "Now I am the master",
    "Be mindful of your thoughts, Anakin, they betray you",
    "Only a Sith deals in absolutes",
    "This deal is getting worse all the time"
];

const verbing = [
"inventing",
"making",
"analyzing",
"digesting",
"situating",
"personifying",
"measuring",
"quantifying",
"deriving",
"assessing",
"defining",
"creating",
"interpreting",
"processing",
"researching",
"exploring",
"categorizing",
"distinguishing",
"constructing",
"deconstructing",
"evaluating",
"abstracting",
"advocating for",
"attributing",
"challenging",
"clarifying",
"contextualizing",
"debating",
"differentiating",
"integrating",
"styling",
"gendering",
"reversing",
"terminating",
"silencing",
"exposing",
"subordinating",
"promoting",
"responding to",
"surviving",
"utilizing"
];

const thesis_types =
[
"A study of",
"Variations on",
"Themes of",
"An analyis of",
"A history of",
"The use of",
"An examination of",
"A closer look at",
"Current theories on",
"An overview of",
"A comparative view of",
"The birth of",
"The development of",
"An subjective view of",
"A preliminary sketch of",
"An empirical investigation of",
"A network analysis of",
"A revolution in",
"A new paradigm of",
"A textual analysis of",
"A dramatic recreation of"
];

const works = [
"battles",
"victory",
"struggle",
"writing",
"fortunes",
"friends",
"enemies",
"death",
"redemption",
"collapse",
"travels",
"education",
"actions",
"evasions",
"energy",
"environment",
"domination",
"celebration",
"rebirth",
"exploitation"
];

const metatopics = [
"actions",
"abstraction",
"abduction",
"adaptation",
"aesthetics",
"agency",
"philosophy",
"calculus",
"analysis",
"influence",
"arguments",
"causality",
"perception",
"attributes",
"awareness",
"basis",
"being",
"becoming",
"beneficince",
"bias",
"conservation",
"development",
"logic",
"ethics",
"theory",
"morals",
"morality",
"categories",
"determinism",
"metaphysics",
"character",
"science",
"choice",
"cognition",
"complexity",
"intentionality",
"consciousness",
"continuity",
"conventions",
"corruption",
"critique",
"definition",
"demonstration",
"dependence",
"depiction",
"determinism",
"dialectics",
"disjunction",
"discrimination",
"divinity",
"dualism",
"economics",
"ecology",
"egoism",
"empathy",
"entropy",
"essence",
"eternity",
"evolution",
"fallacies",
"fatalism",
"intersections",
"perspectives",
"fitness",
"formalism",
"game theory",
"genetics",
"geometry",
"goodness",
"evil",
"grounding",
"hedonism",
"history",
"hope",
"free will",
"identify",
"ideology",
"imagery",
"immutability",
"induction",
"information",
"judgement",
"justice",
"luck",
"virtue",
"knowledge",
"nature",
"character",
"empiricism",
"ontology",
"deception",
"mechanism",
"mental content",
"modality",
"multiculturalism",
"necessary and sufficient conditions",
"negation",
"nominalism",
"objectivity",
"subjectivity",
"phenonomology",
"pragmatism",
"prisoner's dilemma",
"property",
"psychology",
"qualia",
"rationality",
"randomness",
"realism",
"recursion",
"relativism",
"paradox",
"semantics",
"semiotics",
"skepticism",
"social construct",
"speech acts",
"syllogism",
"teleology",
"grammar",
"rhetoric",
"truth",
"uncertainty principle",
"utilitarianism",
"validity",
"volition",
"worlds",
"meaning",
"politics"
];

const subjects = 
[
"the Force",
"the Rebellion",
"the Empire",
"the Deathstar",
"clones",
"droids",
"the Jedi",
"light sabers",
"Luke Skywalker",
"George Lucas",
"Princess Leia",
"Chewbacca",
"Tattoine",
"At-Ats",
"the Millenium Falcon",
"the Ewoks",
"the Sith",
"Emperor Palpatine",
"Darth Vader",
"Storm Troopers",
"Jar-Jar Binks",
"Han and Greedo",
"Han and Leia",
"Han and Chewbacca",
"Han and Lando",
"Han and Jabba",
"hyperdrive",
"Obi-Wan Kenobi",
"Degoba",
"Star Wars",
"the Original Trilogy",
"the Prequels",
"the Senate",
"the Republic",
"the Trade Federation",
"Yoda",
"blasters",
"the Kessel Run",
"the destruction of Alderan"
];
// see also
// https://starwars.fandom.com/wiki/List_of_phrases_and_slang",
// https://starwars.fandom.com/wiki/Category:Artifacts",
// https://starwars.fandom.com/wiki/Wookieepedia:Good_articles


const concepts =
[
"a priori and a posteriori",
"absolute",
"abstract and concrete",
"aesthetic emotions",
"agathusia and aschimothusia",
"analytic-synthetic distinction",
"anthropic principle",
"antinomy",
"apeiron",
"arborescent",
"autonomy",
"avant-garde",
"avatar",
"beauty",
"being",
"belief",
"binary opposition",
"boredom",
"brahman",
"brain in a vat",
"brute fact",
"cartesian other",
"cartesian self",
"categorical imperative",
"categorization",
"category of being",
"causal adequacy principle",
"causality",
"chakra",
"choice",
"civic virtue",
"class consciousness",
"class",
"cognitive bias",
"commensurability",
"common good",
"common sense",
"composition of causes",
"conatus",
"concept",
"condition of possibility",
"conjecture",
"conscience",
"consent",
"construct",
"creativity",
"crazy wisdom",
"cultural hegemony",
"cultural sensibility",
"cuteness",
"daimonic",
"de dicto and de re",
"definition",
"descriptive knowledge",
"desiring-production",
"dharma",
"disciplinary institution",
"discourse",
"disgust",
"dispositional and occurrent belief",
"distributive justice",
"distrust",
"documentality",
"dogma",
"duty",
"dwelling",
"ecotechnics",
"ecstasy",
"efficient cause",
"elegance",
"embodied cognition",
"emergence",
"empirical method",
"empirical relationship",
"empirical research",
"entertainment",
"entity",
"epistemic injustice",
"epistemic virtue",
"eroticism",
"essence",
"eternity",
"ethics of care",
"eudaimonia",
"eupraxis",
"excellence",
"existence",
"existential phenomenology",
"experience",
"fact",
"fidelity",
"final cause",
"formal cause",
"formal theorem",
"four causes",
"free will",
"friendship",
"gemeinschaft and gesellschaft",
"cooperative principle (gricean maxims)",
"half-truth",
"happiness",
"harmony",
"hate speech",
"history and class consciousness",
"human rights",
"idea",
"identity",
"ideological repression",
"ideology",
"ignoramus et ignorabimus",
"ignorance",
"immanence",
"immanent critique",
"infallibility",
"inference",
"infinity",
"information",
"injustice",
"innocence",
"instantiation principle",
"institutional cruelty",
"intellectual responsibility",
"intention",
"integral philosophy",
"interpellation",
"intrinsic and extrinsic properties",
"intuition",
"involution",
"judgement",
"just war",
"justice",
"knowledge",
"karma",
"logic",
"life imitating art",
"logical consequence",
"logical form",
"logical truth",
"logos",
"love",
"loyalty",
"magnificence",
"mantra",
"marx's theory of alienation",
"marx's theory of human nature",
"master-slave dialectic",
"material cause",
"matter",
"meaning",
"meaning of life",
"mental representation",
"mercy",
"mimesis",
"mind",
"minority",
"molyneux's problem",
"moral responsibility",
"motion",
"mundane reason",
"name",
"nation",
"natural and legal rights",
"nature",
"necessary and sufficient condition",
"negative capability",
"nonmaleficence",
"norm of reciprocity",
"norm",
"normative science",
"notion",
"object",
"objectivity",
"om",
"ontology",
"panopticon",
"paradox",
"passions",
"pattern",
"peace",
"percept",
"perception",
"peripatetic axiom",
"perpetual peace",
"philosophical analysis",
"philosophy of futility",
"physical body",
"physis",
"pneuma",
"political consciousness",
"polychotomous key",
"possible world",
"posthegemony",
"pratyabhijna",
"presupposition",
"principle",
"principle of double effect",
"problem of induction",
"problem of other minds",
"property",
"propositional attitude",
"qualia",
"quality",
"quantity",
"rationality",
"real freedom",
"reason",
"reciprocity",
"reference",
"reform",
"regress argument",
"right to exist",
"righteousness",
"rights",
"sea of beauty",
"self",
"self-realization",
"semantics",
"sense data",
"set",
"slippery slope",
"simulacrum",
"simulated reality",
"social contract",
"society",
"speculative reason",
"state of nature",
"style",
"subject",
"sublime",
"substance theory",
"substantial form",
"substitution",
"suffering",
"supermind",
"superrationality",
"symbol",
"syntax",
"taste",
"telos",
"the golden rule",
"the saying and the said",
"theorem",
"theory of justification",
"thought",
"time",
"transcendent",
"transcendental apperception",
"transworld identity",
"trust",
"truth",
"truth value",
"type",
"übermensch",
"unity of science",
"unity of the proposition",
"universal",
"universality",
"unobservable",
"utility",
"validity",
"value",
"vamachara",
"vajrayana",
"virtual",
"virtue",
"well-founded phenomenon",
"work of art",
"wrong",
"zeitgeist"
];



for (let i=0;i<50;i++) {

    let thesis_type = thesis_types[ Math.floor(Math.random() * thesis_types.length) ];
    let metatopic = metatopics[ Math.floor(Math.random() * metatopics.length) ];

    let concept1 = concepts[ Math.floor(Math.random() * concepts.length) ];


    let verb = verbing[ Math.floor(Math.random() * verbing.length) ];


    let concept2 = concepts[ Math.floor(Math.random() * concepts.length) ];

    let work = works[ Math.floor(Math.random() * works.length) ];

    let subject = subjects[ Math.floor(Math.random() * subjects.length) ];

    let quote = quotes[ Math.floor(Math.random() * quotes.length) ];


    let thesis_title = "";

    let r = Math.random() ;
    let p = Math.random();
    
    if (p < 0.2) {
    
         thesis_title += "\"" + quote + "\": ";
    }
    else if (p < 6 ) {
        thesis_title += "The " + metatopic + " of " + concept1 + ": ";

    }
    else  {
    
    }
    
    
    if (r< 0.5) {
        let subtitle = "The " + verb + " of " + concept2 + " in the " + work + " of " + subject;

        thesis_title +=  subtitle;
    }
    else {
    // TDOO: randomize order of concept and subject
        if (Math.random() < 0.5) {
            thesis_title += thesis_type + " " + concept2 + " and " + subject;
        }
        else {
             thesis_title += thesis_type + " " + subject + " and " + concept2;
        }
    }
    

    console.log(thesis_title +"\n");

}