utility-function-extractor/packages/webpage-refactor
2022-06-17 14:47:10 -04:00
..
components feat: minimum refactor now done 2022-06-17 14:47:10 -04:00
data feat: webpage refactor 2022-06-17 13:44:08 -04:00
lib feat: minimum refactor now done 2022-06-17 14:47:10 -04:00
pages feat: webpage refactor 2022-06-17 13:44:08 -04:00
public feat: webpage refactor 2022-06-17 13:44:08 -04:00
styles feat: webpage refactor 2022-06-17 13:44:08 -04:00
netlify.toml feat: webpage refactor 2022-06-17 13:44:08 -04:00
package.json feat: minimum refactor now done 2022-06-17 14:47:10 -04:00
postcss.config.js feat: webpage refactor 2022-06-17 13:44:08 -04:00
README.md feat: webpage refactor 2022-06-17 13:44:08 -04:00
tailwind.config.js feat: webpage refactor 2022-06-17 13:44:08 -04:00
yarn.lock feat: minimum refactor now done 2022-06-17 14:47:10 -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.