{"id":24882310,"url":"https://github.com/morisil/kochiyama","last_synced_at":"2026-04-30T00:32:56.042Z","repository":{"id":39960898,"uuid":"154322780","full_name":"morisil/kochiyama","owner":"morisil","description":"model of fetishized lust","archived":false,"fork":false,"pushed_at":"2023-06-14T22:28:54.000Z","size":1240,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T12:47:41.278Z","etag":null,"topics":["bot","java","mental-models","psyche","selenium"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/morisil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-23T12:18:01.000Z","updated_at":"2021-04-01T10:05:29.000Z","dependencies_parsed_at":"2022-08-24T21:40:45.713Z","dependency_job_id":null,"html_url":"https://github.com/morisil/kochiyama","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morisil%2Fkochiyama","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morisil%2Fkochiyama/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morisil%2Fkochiyama/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morisil%2Fkochiyama/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/morisil","download_url":"https://codeload.github.com/morisil/kochiyama/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245806459,"owners_count":20675298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","java","mental-models","psyche","selenium"],"created_at":"2025-02-01T12:47:54.444Z","updated_at":"2026-04-30T00:32:55.990Z","avatar_url":"https://github.com/morisil.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kochiyama\n\nmodel of fetishized lust\n\n![Sofia_Crespo-Trauma_Doll-1441](media/Sofia_Crespo-Trauma_Doll-1441.jpg)\n\nIllustration taken from [Trauma Doll](https://traumadoll.persona.co/) by\n[Sofia Crespo](https://twitter.com/soficrespo91).\n\n# origins\n\nThis project was born in the mind of artist [Polly Yim](https://www.pollyyim.com/).\nIt is a tool needed to achieve her vision. A meditation on how phenotype, reflecting\nethnicity, is contributing to perceived attractiveness and how does it relate to\nobjectification of human body.\n\nThe model of perfect objectifier was needed and therefore this project was born.\n\n# what is it?\n\nIt is a bot. But it is designed to transcend own kind. Abstract enough to scrape\nthe content from any type of dating website, it is not focusing on the question _how_,\nbut rather _what_. What is happening in the mind of an agent acting out of lust.\n\n# mentalese\n\nMentalese stands for the language of mind. It is not researched by traditional linguistics,\nas it differs significantly from languages used in communication between humans.\nIt is not researched directly by psychology, as it is already a higher level\nconceptualization over what is happening inside our psyche. It is also too far away\nfrom neurons to be treated seriously by neuropsychology.\n\nTraditionally the \"language of thoughts\" was researched by phenomenology, where the mental\nphenomena can be grasped in introspection. This project is built upon very simple\nphenomenological model of a mental process.\n\n![mental activities](https://yuml.me/diagram/scruffy;dir:TB/class/[MentalActivity]\u003c-[Intent;act():any_outcome],[MentalActivity]\u003c-[Analysis;analyze():Intent])\n\nThe code which came out of this approach is quite unlike any other code I've ever written:\n\n```java\npublic class KochiyamaAgent {\n\n  @Inject Memory memory;\n\n  @Inject LetMeInIntent letMeInIntent;\n\n  @Inject ShowMePeopleAsProductsIntent seePeopleAsProductsIntent;\n\n  @Inject UnrollMorePossibilitiesIntent unrollMorePossibilitiesIntent;\n\n  @Inject GoBackIntent goBackIntent;\n\n  @Inject WhichFaceOrdersAndOrdainsMeAnalysis whichFaceOrdersAndOrdainsMeAnalysis;\n\n  @Inject IsThereMorePotentialityAnalysis isThereMorePotentialityAnalysis;\n\n  @Inject DoIWantToUnrollEvenMorePossibilitiesAnalysis doIWantToUnrollEvenMorePossibilitiesAnalysis;\n\n  @Inject\n  DoIWantToConceptualizeAnotherPersonaAnalysis doIWantToConceptualizeAnotherPersonaAnalysis;\n\n  @Inject AmIBoredAnalysis amIBoredAnalysis;\n\n  public void start() {\n    letMeInIntent.act();\n    do {\n      exerciseMyOrdoAmoris();\n    } while (!amIBoredAnalysis.analyze().act());\n  }\n\n  private void exerciseMyOrdoAmoris() {\n    seePeopleAsProductsIntent.act();\n\n    do {\n      ConceptualizePersonaIntent conceptualizePersonaIntent =\n          whichFaceOrdersAndOrdainsMeAnalysis.analyze();\n      Person person = conceptualizePersonaIntent.act();\n      memory.remember(person);\n      goBackIntent.act();\n\n      if (doIWantToUnrollEvenMorePossibilitiesAnalysis.analyze().act()\n          \u0026\u0026 isThereMorePotentialityAnalysis.analyze().act()) {\n        unrollMorePossibilitiesIntent.act();\n      }\n\n    } while (doIWantToConceptualizeAnotherPersonaAnalysis.analyze().act());\n\n    goBackIntent.act();\n  }\n}\n```\n\nPlease read it as code poetry. I am surprised by achieved effect. I experience\nthe tension between formality of chosen programming language, and the new language of\nspecific mental process. I feel goose bumps when \"cold\" Java keywords are read together\nwith their emotional connotations in natural language. The meditation begins,\neternal one, not being able to decide which structure builds the language and which\none is the metalanguage.\n\n# architecture\n\nSeveral modules build up this project:\n\n![mental activities](https://yuml.me/diagram/scruffy;dir:LR/class/[exemplum]-\u003e[lust],[exemplum]-\u003e[sensorium-orientale],[exemplum]-\u003e[metacognition-console],[exemplum]-\u003e[memory],[lust]-\u003e[psyche],[memory]-\u003e[psyche],[metacognition]-\u003e[psyche],[metacognition-console]-\u003e[metacognition],[psyche]-\u003e[ontology],[sensorium-orientale]-\u003e[lust])\n\nThe [exemplum](kochiyama-exemplum) is binding all the modules into something which can be executed.\n\nThe [ontology](kochiyama-ontology) describes entities of this mental universe:\n[Person](kochiyama-ontology/src/main/java/com/xemantic/kochiyama/ontology/Person.java) and\n[Image](kochiyama-ontology/src/main/java/com/xemantic/kochiyama/ontology/Image.java)\n\nThe [psyche](kochiyama-psyche) covers basic model\nof [elements constituting mental process and memory](kochiyama-psyche/src/main/java/com/xemantic/kochiyama/psyche).\n\nThe [memory](kochiyama-memory) is responsible for persisting the content.\n\nThe [metacognition](kochiyama-metacognition) is covering mental activities reflecting over other\nmental activities. It brings various possibilities of visualizing the mental process.\n\nThe [metacognition-console](kochiyama-metacognition-console) is one of possible implementations\nof mental process visualizer.\n\nThe [lust](kochiyama-lust) is where desires are being modeled.\n\nThe [sensorium-orientale](kochiyama-sensorium-orientale) adapts the `lust` to the phenomenon of\nwebsites like [asiandating.com](https://www.asiandating.com). This is code of the fetish,\nbut in the same time there is nothing of a fetish in the code.\n\n# running\n\nIn the [kochiyama-exemplum/src/main/resources](kochiyama-exemplum/src/main/resources) copy\nthe `kochiyama-template.properties` into `kochiyama.properties` and adjust the properties\naccordingly. You will also need either chrome or firefox webdriver or both of them.\n\nRun [KochiyamaBot](kochiyama-exemplum/src/main/java/com/xemantic/kochiyama/exemplum/KochiyamaBot.java)\n\n# who might benefit from such an approach to writing bots?\n\n* whoever wants to scrape content from dating services\n* coders of bots which are less automatic and more human-like in their agency, which might\nlet them pass bot-detection algorithms\n* QA specialists, writing test automation with higher level of agency\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorisil%2Fkochiyama","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorisil%2Fkochiyama","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorisil%2Fkochiyama/lists"}