diff --git a/Changelog.md b/Changelog.md index a8ba6c6..e75651e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ Small and insignificant changes may not be included in this log. ## Unversioned Changes +* Removed "race" from Seekia's slogan. De-emphasized race from Seekia's motivational writings. - *Simon Sarasova* * Improved Whitepaper.md. - *Simon Sarasova* * Reduced the quantity of references to racial loneliness. - *Simon Sarasova* * Implemented in-memory storage of trained neural network objects. Trained neural network objects now only have to be created once, so predictions are faster. - *Simon Sarasova* diff --git a/Contributors.md b/Contributors.md index 04158a4..66e972c 100644 --- a/Contributors.md +++ b/Contributors.md @@ -9,4 +9,4 @@ Many other people have written code for modules which are imported by Seekia. Th Name | Date Of First Commit | Number Of Commits --- | --- | --- -Simon Sarasova | June 13, 2023 | 287 \ No newline at end of file +Simon Sarasova | June 13, 2023 | 288 \ No newline at end of file diff --git a/Imports.md b/Imports.md index 9f5ee09..5da94ab 100644 --- a/Imports.md +++ b/Imports.md @@ -1,11 +1,10 @@ - # Imports Seekia is released into the public domain using the Unlicense. (Available at `/Licenses/Unlicense.md`) I encourage copying Seekia's code and ideas, for free and commercial uses, with or without attribution. -The adoption of race and genetics aware mate discovery technology is profoundly important for humanity. +The adoption of genetics aware mate discovery technology is profoundly important for humanity. Seekia includes within it content that originates from other sources. diff --git a/ReadMe.md b/ReadMe.md index 50764a4..a6b279d 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -6,23 +6,19 @@ ![Seekia Homepage](./resources/markdownImages/seekiaHomepage.jpg) -**Seekia is a race and genetics aware mate discovery network.** +**Seekia is a genetics aware mate discovery network.** -Seekia is a mate discovery network where users can find a mate while having a deep awareness of each potential partner's race and genetics. +Seekia is a mate discovery network where users can find a mate while having a deep awareness of each potential partner's genetics. -Users can share racial information in their profiles such as their eye, skin, and hair color; hair texture; and the alleles in their genome which effect physical traits. Users can also share their genetic ancestry, which correlates to their race. +Users can share genetic information in their profiles such as monogenic disease risks, allele values, and ancestry. -Seekia enables users to browse and filter potential mates by their racial attributes. Seekia can also calculate the racial characteristics for prospective offspring between users. Seekia allows for users to predict and control the race of their offspring by selecting a mate who is the most capable and likely to produce offspring of their desired race. +Seekia enables users to browse and filter potential mates by their genetic attributes and the predicted genetic attributes of their offspring. Seekia allows for users to predict and control the genetic attributes of their offspring by selecting a mate who is the most likely to produce offspring with their desired attributes. -Seekia also provides users with the ability to mate in a genetics aware manner. - -Users can view information about the health and physical traits of their prospective offspring for each user. - -Users can choose to mate with users with whom their offspring has a lower probability of having diseases and a higher probability of having certain traits. +Users can view information about the health and physical traits of their prospective offspring for each user. Users can choose to mate with users with whom their offspring has a lower probability of having diseases and a higher probability of having certain traits. Seekia aims to improve the genetic quality of humanity by making humans healthier, more beautiful, more intelligent, more virtuous, and happier. Seekia aims to facilitate eugenic breeding by helping to create mate pairings which are the most likely to produce healthy, beautiful, intelligent, virtuous, and happy offspring. -The goal of Seekia is to accelerate the world's adoption of race and genetics aware mate discovery technology, and to help the world mate in a race and genetics aware manner. +The goal of Seekia is to accelerate the world's adoption of genetics aware mate discovery technology, and to help the world mate in a genetics aware manner. ### Learn More diff --git a/documentation/Contributing.md b/documentation/Contributing.md index 459631e..542170e 100644 --- a/documentation/Contributing.md +++ b/documentation/Contributing.md @@ -3,13 +3,13 @@ Thank you for your interest in contributing to Seekia! -Together, we can facilitate eugenic breeding and help people mate in a race and genetics aware manner. +Together, we can facilitate eugenic breeding and help people mate in a genetics aware manner. ## Ways To Help ### 1. Spread the Seekia philosophy. -Ideas are unstoppable. Awaken the world to the value of race and genetics aware mate discovery technology. +Ideas are unstoppable. Awaken the world to the value of genetics aware mate discovery technology. ### 2. Buy Domains @@ -29,7 +29,7 @@ See `/documentation/Future Plans.md` for ideas on things to build. ## Warning! -**Due to the controversy associated with race, genetics, and the problems that Seekia attempts to solve, it is recommended to contribute anonymously.** +**Due to the controversy associated with eugenics, genetics, and the problems that Seekia attempts to solve, it is recommended to contribute anonymously.** You should access the code repository, any Seekia websites, and perform all of your Seekia related research through the Tor anonymity network. @@ -271,11 +271,11 @@ If you are defining a nested function, you must indent the lines containing the ```Go newFunction := func(){ - log.Println("Seekia: A race and genetics aware mate discovery network.") + log.Println("Seekia: A genetics aware mate discovery network.") } newButton := widget.NewButton("Select Me", func(){ - log.Println("Seekia: A race and genetics aware mate discovery network.") + log.Println("Seekia: A genetics aware mate discovery network.") }) ``` diff --git a/documentation/Documentation.md b/documentation/Documentation.md index c17bf3d..10cfd66 100644 --- a/documentation/Documentation.md +++ b/documentation/Documentation.md @@ -5,7 +5,7 @@ ### Welcome to the Seekia documentation! -Thank you for being interested in race and genetics aware mate discovery technology. +Thank you for being interested in genetics aware mate discovery technology. This document is a technical description of how Seekia works. @@ -15,19 +15,19 @@ Read the whitepaper `Whitepaper.pdf` to understand more about the philosophy and ## What is Seekia? -Seekia is a mate discovery network where users can find a mate while having a deep awareness of each potential partner's race. +Seekia is a mate discovery network where users can find a mate while having a deep awareness of each potential partner's genetics. -Users can share racial information in their profiles such as their eye, skin, and hair color; hair texture; and the alleles of their genes which effect physical traits. Users can also share their genetic ancestry, which correlates to their race. +Users can share genetic information in their profiles such as monogenic disease risks, allele values, and ancestry. -Seekia enables users to browse and filter potential mates by their racial attributes. Seekia can also calculate the racial characteristics for prospective offspring between users. Seekia allows for users to predict and control the race of their offspring by selecting a mate who is the most capable and likely to produce offspring of their desired race. - -Users can also filter and sort users based on their genetic disease and trait information. Users can view information about the health and physical traits of their prospective offspring for each user. - -Seekia aims to improve the genetic quality of humanity by making humans healthier, more beautiful, more intelligent, more virtuous, and happier. Seekia aims to facilitate eugenic breeding by helping to create mate pairings which are the most likely to produce healthy, beautiful, intelligent, virtuous, and happy offspring. Seekia aims to help members of the world's most beautiful races to meet and have children. +Seekia can calculate the genetic attributes for prospective offspring between users. Seekia enables users to browse and filter potential mates by their genetic attributes and the predicted genetic attributes of their offspring. Seekia allows for users to predict and control the genetic attributes of their offspring by selecting a mate who is the most likely to produce offspring with their desired attributes. Users can analyze their genomes using the Seekia app to learn about monogenic disease probabilities, polygenic disease risk scores, and traits. Users can share this information in their profiles. Seekia enables users to choose their mate in such a way to prevent their offspring from having monogenic diseases, reduce the probability of their offspring having polygenic diseases, and increase the probability of their offspring having certain traits. -The goal of Seekia is to accelerate the world's adoption of race and genetics aware mate discovery technology, and to help the world mate in a race and genetics aware manner. +Users can view information about the health and physical traits of their prospective offspring for each user. Users can choose to mate with users with whom their offspring has a lower probability of having diseases and a higher probability of having certain traits. + +Seekia aims to improve the genetic quality of humanity by making humans healthier, more beautiful, more intelligent, more virtuous, and happier. Seekia aims to facilitate eugenic breeding by helping to create mate pairings which are the most likely to produce healthy, beautiful, intelligent, virtuous, and happy offspring. + +The goal of Seekia is to accelerate the world's adoption of genetics aware mate discovery technology, and to help the world mate in a genetics aware manner. ## User Identities @@ -368,17 +368,33 @@ Disabled Mate/Host profiles will be retained by the network until the identity t Moderator disabled profiles must be kept in the network forever, because moderator profiles never expire. This only applies to Moderators who have funded their identity. -## Race +## Genetics -Seekia allows users to filter mates by traits such as eye color, skin color, hair color, hair texture, and the alleles in their genome which effect these traits. +Seekia offers the ability to analyze a user's genome, and share information about a user's genetics on their profile. -### Ancestry +This allows for users to reduce the probability of their offspring having genetic diseases, and to increase the probability of their offspring having certain traits. + +*TODO: Describe these features in more detail.* + +## Ancestry Seekia is an ancestry aware mate discovery network. Users can share the ancestral populations they are descended from and the haplogroups they belong to. Users can filter other users by their ancestry, and can view the calculated ancestry of their prospective offspring with each user. Filtering and sorting by ancestry will help users to find mates who belong to their desired race(s), because ancestry is correlated to race. User profiles can include ancestral analyses from multiple providers and computational methods. The Seekia app is also planned to provide the ability to perform ancestral analyses from raw genome data files. -### Racial Similarity +### Ancestral Similarity + +Ancestral Similarity is a percentage value representing how closely related the ancestries of 2 users are. + +It relies on the ancestral composition provided by companies such as 23andMe and AncestryDNA. + +A different ancestral analysis method could be created that has many more human populations, but each population has no name. Each name would instead be a population identifier, which could be a 4 byte value. + +## Race + +Seekia allows users to filter mates by racial traits such as eye color, skin color, hair color, hair texture, and the alleles in their genome which effect these traits. + +## Racial Similarity Users are able to sort other users based on their racial similarity. @@ -388,7 +404,7 @@ Racial similarity aims to help match people who look alike and have similar alle Racial similarity is calculated by comparing trait similarity, trait genetic similarity, ancestral similarity, and haplogroup similarity. -#### Trait Similarity +### Trait Similarity To calculate trait similarity, each user's eye color, skin color, hair color, and hair texture are compared. @@ -396,28 +412,12 @@ For example, if both users have blue eyes, their Eye Color similarity is 100%. Facial similarity detection technology is another planned feature for Seekia. The Seekia app could compare user profile photos to help users to find potential mates whom have similar facial structures, helping to cure racial loneliness. Users could also import photos of people they are strongly attracted to for the purpose of finding a mate who looks similar to them. -#### Trait Genetic Similarity +### Trait Genetic Similarity Each user can choose to share the genes which effect eye color, skin color, hair color, hair texture, and facial structure. Seekia compares the percentage of these genes which are similar between two people to calculate genetic similarity for each trait. -#### Ancestral Similarity - -Ancestral Similarity is a percentage value representing how closely related the ancestries of 2 users are. - -It relies on the ancestral composition provided by companies such as 23andMe and AncestryDNA. - -A different ancestral analysis method could be created that has many more human populations, but each population has no name. Each name would instead be a population identifier, which could be a 4 byte value. - -## Genetics - -Seekia offers the ability to analyze a user's genome, and share information about a user's genetics on their profile. - -This allows for users to reduce the probability of their offspring having genetic diseases, and to increase the probability of their offspring having certain traits. - -*TODO: Describe these features in more detail.* - ## Chat Seekia allows users to chat. diff --git a/documentation/Future-Plans.md b/documentation/Future-Plans.md index 0155d5f..75c5348 100644 --- a/documentation/Future-Plans.md +++ b/documentation/Future-Plans.md @@ -287,7 +287,7 @@ The Seekia application should be able to perform its own ancestral analysis. There could be several analysis methods. These analysis methods will serve as an alternative to company-provided analyses. -Providing an open source ancestral analysis method is essential for race aware mate discovery technology to be credibly neutral. There already exist multiple open source ancestral analysis packages. +Providing an open source ancestral analysis method is essential for ancestry aware mate discovery technology to be credibly neutral. There already exist multiple open source ancestral analysis packages. ### Add Complex Disease Diagnosis @@ -443,7 +443,7 @@ These servers should be run by trusted entities, and their domain names and sign Users should be able to send files through calls. This way, users can send their genomes through a secure channel without having to meet in person. -### Offspring Race Prediction +### Offspring Appearance Prediction Users of Seekia should be able to understand what their offspring with each potential mate is likely to look like. This is useful when deciding who to mate with. diff --git a/gui/desiresGui_Physical.go b/gui/desiresGui_Physical.go index 85a01db..1fdbdf9 100644 --- a/gui/desiresGui_Physical.go +++ b/gui/desiresGui_Physical.go @@ -346,7 +346,7 @@ func setChooseDesiresPage_23andMe_ViewAncestryComposition(window fyne.Window, re description3 := getBoldLabelCentered("Your ancestry composition does not exist.") description4 := getLabelCentered("To view your offspring desires, you must add your ancestry composition.") - description5 := getLabelCentered("Add it on the Build Profile - Physical - Race - 23andMe - Ancestry Composition page.") + description5 := getLabelCentered("Add it on the Build Profile - Physical - Ancestry Composition page.") page := container.NewVBox(title, backButton, widget.NewSeparator(), subtitle, widget.NewSeparator(), description1, description2Row, widget.NewSeparator(), modifyDesiresButton, widget.NewSeparator(), userOrOffspringSelectorCentered, widget.NewSeparator(), description3, description4, description5) diff --git a/gui/gui.go b/gui/gui.go index 7785d43..1169f8b 100644 --- a/gui/gui.go +++ b/gui/gui.go @@ -613,7 +613,7 @@ func setHomePage(window fyne.Window){ welcomeTitle := getBoldLabelCentered("Welcome to Seekia!") - welcomeMessage := getLabelCentered("Seekia is a race and genetics aware mate discovery network.") + welcomeMessage := getLabelCentered("Seekia is a genetics aware mate discovery network.") exists, currentUserName := appUsers.GetCurrentAppUserName() if (exists == false){ diff --git a/gui/startupGui.go b/gui/startupGui.go index 8409f7e..c51b3dc 100644 --- a/gui/startupGui.go +++ b/gui/startupGui.go @@ -180,7 +180,7 @@ func setChooseAppUserPage(window fyne.Window){ logoSize := getCustomFyneSize(30) seekiaLogo.SetMinSize(logoSize) - seekiaDescriptionLabel := getItalicLabelCentered("Be race and genetics aware.") + seekiaDescriptionLabel := getItalicLabelCentered("Be genetics aware.") selectLanguageTitle := getBoldLabel("Language:") diff --git a/internal/memos/createMemos/createMemos_test.go b/internal/memos/createMemos/createMemos_test.go index 44ca3eb..1314ceb 100644 --- a/internal/memos/createMemos/createMemos_test.go +++ b/internal/memos/createMemos/createMemos_test.go @@ -57,7 +57,7 @@ func TestCreateMemos(t *testing.T){ } } - memoMessage := `Seekia: Be race and genetics aware. + memoMessage := `Seekia: Be genetics aware. This is a Seekia memo.` @@ -104,7 +104,7 @@ This is a Seekia memo.` t.Fatalf("Received author identity hash does not match: " + authorIdentityHashHex) } - memoHashExpected := "9461a4a16f0ca4d59d88868fe327263fed3ad3f38eceea01eb8b2bafa9cf3ece" + memoHashExpected := "212e91ddf1103c58b229e0273e7e3063aa59112a8ff66b2451d856084f50ed7b" memoHashBytes, err := encoding.DecodeHexStringToBytes(memoHashExpected) if (err != nil){ @@ -122,7 +122,7 @@ This is a Seekia memo.` t.Fatalf("GetBlockchainAddressFromMemoHash failed: " + err.Error()) } - if (ethereumAddress != "0x07A50D6ee89038A30237C87B32D40E3F930C7a33"){ + if (ethereumAddress != "0x3e91f0CB0C2DC5b4b731756120fbDBf280Aa420e"){ t.Fatalf("GetBlockchainAddressFromMemoHash returning unexpected Ethereum address: " + ethereumAddress) } @@ -131,7 +131,7 @@ This is a Seekia memo.` t.Fatalf("GetBlockchainAddressFromMemoHash failed: " + err.Error()) } - if (cardanoAddress != "addr1vxdy5cc45zttpy7ve7e822nahgcvw9sfhr0rp9ung3lr7ysry603s"){ + if (cardanoAddress != "addr1v80q4u828wp7vgwhdtdp2vtf3yhet56ek5n46kpxf3p4fys7magv9"){ t.Fatalf("GetBlockchainAddressFromMemoHash returning unexpected Cardano address: " + cardanoAddress) } } diff --git a/internal/memos/readMemos/readMemos_test.go b/internal/memos/readMemos/readMemos_test.go index 07d1749..2ff4c53 100644 --- a/internal/memos/readMemos/readMemos_test.go +++ b/internal/memos/readMemos/readMemos_test.go @@ -14,9 +14,9 @@ func TestReadMemo(t *testing.T){ testMemo := `| << Seekia Memo >> | |- Signature: -| j4-7rHlawRFIeDzR8E-heP7c7VZbjL -| WGFYjzKaa0yJdbxeUYOK0SBiYfg4r7 -| fkflRsvCkNHmHHzKbvbctnhtDg== +| MrVojUgnBTQp0RWoqCQGEeVLIn8gAs +| B1OxP3AxOwKGW5AYH3ZjSJiThfcupq +| hG2j3UkvQIu4SBIeSV3j95yBCg== | |- Identity Key: | b26327a3e00e97a2759ac0a08a39c84f @@ -27,7 +27,7 @@ func TestReadMemo(t *testing.T){ | |- Memo: | -| Seekia: Be race and genetics aware. +| Seekia: Be genetics aware. | | This is a Seekia memo. | @@ -54,7 +54,7 @@ func TestReadMemo(t *testing.T){ t.Fatalf("Received author identity hash does not match: " + authorIdentityHashHex) } - memoHashExpected := "9461a4a16f0ca4d59d88868fe327263fed3ad3f38eceea01eb8b2bafa9cf3ece" + memoHashExpected := "212e91ddf1103c58b229e0273e7e3063aa59112a8ff66b2451d856084f50ed7b" memoHashBytes, err := encoding.DecodeHexStringToBytes(memoHashExpected) if (err != nil){ @@ -72,7 +72,7 @@ func TestReadMemo(t *testing.T){ t.Fatalf("GetBlockchainAddressFromMemoHash failed: " + err.Error()) } - if (ethereumAddress != "0x07A50D6ee89038A30237C87B32D40E3F930C7a33"){ + if (ethereumAddress != "0x3e91f0CB0C2DC5b4b731756120fbDBf280Aa420e"){ t.Fatalf("GetBlockchainAddressFromMemoHash returning unexpected Ethereum address: " + ethereumAddress) } @@ -81,11 +81,11 @@ func TestReadMemo(t *testing.T){ t.Fatalf("GetBlockchainAddressFromMemoHash failed: " + err.Error()) } - if (cardanoAddress != "addr1vxdy5cc45zttpy7ve7e822nahgcvw9sfhr0rp9ung3lr7ysry603s"){ + if (cardanoAddress != "addr1v80q4u828wp7vgwhdtdp2vtf3yhet56ek5n46kpxf3p4fys7magv9"){ t.Fatalf("GetBlockchainAddressFromMemoHash returning unexpected Cardano address: " + cardanoAddress) } - expectedUnarmoredMemoContent := `Seekia: Be race and genetics aware. + expectedUnarmoredMemoContent := `Seekia: Be genetics aware. This is a Seekia memo.` diff --git a/main.go b/main.go index 41d5599..46689ee 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ -// Seekia: A race and genetics aware mate discovery network. +// Seekia: A genetics aware mate discovery network. // Released into the public domain. (see Unlicense.md) package main diff --git a/resources/markdownImages/seekiaHomepage.jpg b/resources/markdownImages/seekiaHomepage.jpg index c2d0d29..eacbe59 100644 Binary files a/resources/markdownImages/seekiaHomepage.jpg and b/resources/markdownImages/seekiaHomepage.jpg differ diff --git a/resources/markdownImages/seekiaLogoWithSubtitle.jpg b/resources/markdownImages/seekiaLogoWithSubtitle.jpg index 55f2b27..5ae05af 100644 Binary files a/resources/markdownImages/seekiaLogoWithSubtitle.jpg and b/resources/markdownImages/seekiaLogoWithSubtitle.jpg differ