Skip to content

Instantly share code, notes, and snippets.

@earth3300
Last active August 26, 2018 19:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save earth3300/6f2e4a2544c649082fd3531d200dcd0e to your computer and use it in GitHub Desktop.
Save earth3300/6f2e4a2544c649082fd3531d200dcd0e to your computer and use it in GitHub Desktop.
{
"name":"Reverse Grocery Shopping List",
"type":"maxium",
"store":"high-end",
"date":"2018-08-25",
"desc":"The most that could be spent to guarantee that the item could be bought for that price.",
"method":"Starting in the area where one enters the store, quickly jotting down the price of the item with pen and notebook, as well as the volume or weight and the most expected that the item could be sold for, within the next year. Not the sale price. Including tax and a small margin. Generous, not minimal, even in a 'low end' store. This ensures that one can walk out with the items on the list, with some to spare.",
"list" :[
{
"name":"juice",
"size":"1500",
"unit":"mL",
"max":"8.00",
"qty":"1"
},
{
"name":"fruit",
"size":"600",
"unit":"g",
"max":"6.00",
"qty":"1"
},
{
"name":"mushrooms",
"size":"250",
"unit":"g",
"max":"3.00",
"qty":"1"
},
{
"name":"fruit salad tray",
"size":"400",
"unit":"g",
"max":"6.00",
"qty":"1"
},
{
"name":"salad caesar chicken",
"size":"800",
"unit":"g",
"max":"17.00",
"qty":"1"
},
{
"name":"bananas organic",
"size":"1000",
"unit":"g",
"max":"2.00",
"qty":"1"
},
{
"name":"cheese mozarella ball",
"size":"350",
"unit":"g",
"max":"17.00",
"qty":"1"
},
{
"name":"nut mix cranberry",
"size":"350",
"unit":"g",
"max":"8.00",
"qty":"1"
},
{
"name":"russet potatoes baking",
"size":"2500",
"unit":"g",
"max":"6.00",
"qty":"1"
},
{
"name":"zucchini squash",
"size":"250",
"unit":"g",
"max":"2.00",
"qty":"1"
},
{
"name":"bread prebiotic dimplfmeier",
"size":"500",
"unit":"g",
"max":"3.50",
"qty":"1"
},
{
"name":"bagels cinammon-raisin dempster",
"size":"450",
"unit":"g",
"max":"3.50",
"qty":"1"
},
{
"name":"cake carrot",
"size":"600",
"unit":"g",
"max":"13.00",
"qty":"1"
},
{
"name":"pie apple",
"size":"1100",
"unit":"g",
"max":"9.00",
"qty":"1"
},
{
"name":"spice cumin",
"size":"45",
"unit":"g",
"max":"7.00",
"qty":"1"
},
{
"name":"raisins thompson",
"size":"400",
"unit":"g",
"max":"4.50",
"qty":"1"
},
{
"name":"vinegar",
"size":"1000",
"unit":"mL",
"max":"2.50",
"qty":"1"
},
{
"name":"oil olive extra-virgin",
"size":"500",
"unit":"mL",
"max":"6.00",
"qty":"1"
},
{
"name":"mayo hellmans real",
"size":"890",
"unit":"mL",
"max":"6.00",
"qty":"1"
},
{
"name":"jam triple-fruit ed-smith",
"size":"500",
"unit":"g",
"max":"4.50",
"qty":"1"
},
{
"name":"honey billy-bee",
"size":"500",
"unit":"g",
"max":"4.50",
"qty":"1"
},
{
"name":"peanut-butter organic",
"size":"500",
"unit":"g",
"max":"5.00",
"qty":"1"
},
{
"name":"tea english-breakfast packets twinnings",
"size":"40",
"unit":"g",
"max":"6.00",
"qty":"1"
},
{
"name":"oatmeal steel-cut packets quacker",
"size":"385",
"unit":"g",
"max":"5.50",
"qty":"1"
},
{
"name":"mandarins can",
"size":"285",
"unit":"g",
"max":"4.00",
"qty":"1"
},
{
"name":"water spring",
"size":"4000",
"unit":"mL",
"max":"2.50",
"qty":"1"
}
]
}
@earth3300
Copy link
Author

earth3300 commented Aug 26, 2018

Schema

JSON Level

  1. Name starts with the generic noun first, then an adjective describing that noun, then the type of packaging and brand last (if applicable).
  2. Words that belong together (like "steel-cut") are hyphenated.
  3. Use all lower case.
  4. No comma at end of last item in a list (unlike PHP).
  5. Use spaces, not tabs (unlike PHP).
  6. Four spaces per indent (equals tab spacing used in PHP).
  7. Use the smallest unit available rather than the unit that is used on the package (that makes sense). Example: use "g" not "kg" or "mL" not "L". This is for consistency so that the amounts can be added without the need to worry about conversion. Conversion can be done programmatically if necessary.
  8. No comments in the file (per JSON standards).

Reason: Using this schema, it is possible to:

a. Create a list in alphabetical order in which like items are grouped.
b. Capitalize the first letter of each word (as needed).
c. Enter the descriptive easily and in natural English, as the information is available.
d. More precise information can be entered later (manually or programmatically).

File Level

This file is labeled "-maximum" for a reason. This is based on the idea that we want to know for sure, that is have a guarantee that we can absolutely purchase the items for the price listed, including any sundry costs like pickup and sorting. This is exactly opposite the way that estimating cost is done most of the time. When we are finished, we want to be absolutely certain that we can do it for that price. This means that we may have some left over. This is o.k.. We aren't being extravagant here, as we are going to make a list that is labeled "-moderate" and "-minimum". The minimum is where most people start, but then may end up short, because they are aiming for the bottom of the target.

We are creating an "easy" way to go shopping, by writing down what the items actually cost and then leaving in a margin for that item so that we can be absolutely sure we can do it for that price. If we walk in with $100 and the actual amount is $80 (with this list), that is o.k. We will end up spending less energy doing it this way, rather than hunting and pecking for the lowest cost. We also should walk out with higher quality food, the food that we like and the food that we need. In other words, this approach should result in a healthier person that spends less energy on the shopping experience, which means that they have more left over for other endeavours (like writing cool code).

In addition, we may find some types of foods that would be left out otherwise (and that are good for us). By doing it this way and creating this template of behaviour, we can then search elsewhere to find the same item at a moderate or a minimum price or grow or make it ourselves. In addition, and as importantly, paying the price that people are asking means they are more likely to be able to pay their own employees a fair wage. We may be that employee some day (or may have been one of them). Thus, this is creating a template for sustainability, as it recognizes the importance of a complete and functioning system, in all its parts, including the acquisition and delivery of the quality items we are looking for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment