utility-function-extractor/packages/webpage
2022-06-15 23:13:41 -04:00
..
data tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
lib tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
pages tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
public tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
styles tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
netlify.toml tweak: Website tweaks 2022-06-15 23:13:41 -04:00
package.json tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
postcss.config.js tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
README.md tweak: Website tweaks 2022-06-15 23:13:41 -04:00
tailwind.config.js tweak: decompose into two different packages, part 1/n 2022-06-15 23:00:07 -04:00
yarn.lock tweak: Website tweaks 2022-06-15 23:13:41 -04:00

About

This repository creates a react webpage that allows to extract a utility function from possibly inconsistent binary comparisons. It presents the users with a series of elements to compare, using merge-sort in the background to cleverly minimize the number of choices needed. Then, it cleverly aggregates them, by taking each element as a reference point in turn, and computing the possible distances from that reference point to all other points, and taking the geometric mean of these distances. This produces a number representing the value of each element, such that the ratios between elements represent the user's preferences: a utility function!

Initially, users could only input numbers, e.g., "A is 3 times better than B". But now, users can also input distributions, using the squiggle syntax, e.g., "A is 1 to 10 times better than B", or "A is mm(normal(1, 10), uniform(0,100)) better than B".

Object structure

The core structure is json array of objects. Only the "name" attribute is required. If there is a "url", it is displayed nicely.

[
    {
        "name": "Peter Parker",
        "someOptionalKey": "...",
        "anotherMoreOptionalKey": "...",
    },
    {
        "name": "Spiderman",
        "someOptionalKey": "...",
        "anotherMoreOptionalKey": "..."
    }
]

Netlify

https://github.com/netlify/netlify-plugin-nextjs/#readme

To do

  • Extract merge, findPath and aggregatePath functionality into different repos
  • Add functionality like names, etc.