Compare commits

...

4 Commits

  1. 264
      meal-planner.org
  2. 78
      working-data/meal-planner-ingredients.txt
  3. 38
      working-data/meal-planner-servings.csv
  4. 37
      working-data/meal-planner-servings.txt

264
meal-planner.org

@ -0,0 +1,264 @@
#+options: ':nil *:t -:t ::t <:t H:3 \n:nil ^:t arch:headline author:t
#+options: broken-links:nil c:nil creator:nil d:(not "LOGBOOK") date:t e:t
#+options: email:nil f:t inline:t num:t p:nil pri:nil prop:nil stat:t tags:t
#+options: tasks:t tex:t timestamp:t title:t toc:t todo:t |:t
#+title: Meal Planner
#+date: \today
#+author: Craig Oates
#+email: craig@craigoates.net
#+language: en
#+select_tags: export
#+exclude_tags: noexport
#+creator: Emacs 29.1.90 (Org mode 9.6.10)
#+cite_export:
* Setup Common Lisp Environment
I’ve copied the following code block over from other files. Run it if this is
your first file open in the session.
#+begin_src lisp :session :results silent
(ql:quickload :com.inuoe.jzon) ; JSON parser.
(ql:quickload :dexador) ; HTTP requests.
(ql:quickload :plump) ; HTML/XML parser.
(ql:quickload :lquery) ; HTML/DOM manipulation.
(ql:quickload :lparallel) ; Parallel programming.
(ql:quickload :cl-ppcre) ; RegEx. library.
(ql:quickload :plot/vega) ; Vega plotting library.
(ql:quickload :lisp-stat) ; Stat's library.
(ql:quickload :data-frame) ; Data frame library eqv. to Python's Numpy.
(ql:quickload :str) ; String library, expands on 'string' library.
#+end_src
* Seven Day Meal Planner (AI Generated)
The plan below was formed using [[https://www.bing.com/][Bing Copilot]], and copied verbatim. I've decided
to go this route because I don't know enough about nutrition and I don't really
want to spend the time looking into the various websites/resources and what they
recommend. I did give Copilot my height and weight when it built out this
plan. I don't know if that changes things too much. The thing I'm most concerned
with it how much it'll cost.
:drawer:
#+begin_quote
Day 1:
Breakfast: Scrambled eggs with smoked salmon and a slice of whole grain toast.
Lunch: Grilled chicken salad with lots of mixed vegetables.
Dinner: Steak with quinoa and steamed broccoli.
Snacks: Greek yogurt, a handful of almonds.
Day 2:
Breakfast: Protein smoothie with banana, spinach, and a scoop of protein powder.
Lunch: Tuna salad with a side of whole grain crackers.
Dinner: Baked salmon with sweet potato and asparagus.
Snacks: Cottage cheese, a piece of fruit.
Day 3:
Breakfast: Oatmeal with a scoop of protein powder and a handful of berries.
Lunch: Turkey wrap with whole grain tortilla and lots of veggies.
Dinner: Grilled shrimp with brown rice and green beans.
Snacks: Hard-boiled eggs, a handful of walnuts.
Day 4:
Breakfast: Greek yogurt with granola and a handful of berries.
Lunch: Chicken stir-fry with lots of mixed vegetables.
Dinner: Baked cod with quinoa and steamed zucchini.
Snacks: Protein shake, a piece of fruit.
Day 5:
Breakfast: Scrambled eggs with turkey bacon and a slice of whole grain toast.
Lunch: Quinoa salad with grilled chicken and lots of mixed vegetables.
Dinner: Steak with sweet potato and steamed Brussels sprouts.
Snacks: Greek yogurt, a handful of almonds.
Day 6:
Breakfast: Protein smoothie with banana, spinach, and a scoop of protein powder.
Lunch: Tuna salad with a side of whole grain crackers.
Dinner: Baked salmon with brown rice and asparagus.
Snacks: Cottage cheese, a piece of fruit.
Day 7:
Breakfast: Oatmeal with a scoop of protein powder and a handful of berries.
Lunch: Turkey wrap with whole grain tortilla and lots of veggies.
Dinner: Grilled shrimp with quinoa and green beans.
Snacks: Hard-boiled eggs, a handful of walnuts.
#+end_quote
:END:
* Breakdown of Meal Planner
Below is a list of each item in the meal planner.
#+begin_src shell :results silent
DATA="Eggs
Salmon
Whole Grain Toast
Chicken
Vegetables
Steak
Quinoa
Broccoli
Greek Yogurt
Almonds
Banana Protein Smoothie
Spinach
Scoop Protein Powder
Tuna
Salad
Whole Grain Crackers
Salmon
Sweet Potato
Asparagus
Cottage Cheese
Fruit
Oatmeal
Protein Powder
Berries
Turkey
Whole Grain Tortilla
Vegetables
Prawns
Brown Rice
Green Beans
Eggs
Walnuts
Greek Yogurt
Granola
Berries
Chicken
Vegetables
Cod
Quinoa
Courgette
Protein Shake
Fruit
Eggs
Turkey
Bacon
Whole Grain Toast
Quinoa
Salad
Chicken
Vegetables
Steak
Sweet Potato
Brussels Sprouts
Greek Yogurt
Almonds
Protein Smoothie
Banana
Spinach
Protein Powder
Tuna
Salad
Whole Grain Crackers
Salmon
Brown Rice
Asparagus
Cottage Cheese
Fruit
Oatmeal
Protein Powder
Berries
Turkey
Whole Grain Tortilla
Vegetables
Prawns
Quinoa
Green Beans
Eggs
Walnuts"
echo "$DATA" > working-data/meal-planner-ingredients.txt
sort working-data/meal-planner-ingredients.txt \
| uniq -c > working-data/meal-planner-servings.txt
#+end_src
Having written that out to a file, I can see have many times each item was
listed. /Note/, this quantity value represents the number of serving in a given
week. It doesn't specify the quantity of the serving for each item. For example,
~1 Bacon~ doesn't mean /one strip of bacon/, it means /one serving/ of bacon in the
week.
#+begin_src shell :results output
head working-data/meal-planner-servings.txt
#+end_src
#+RESULTS:
#+begin_example
2 Almonds
2 Asparagus
1 Bacon
1 Banana
1 Banana Protein Smoothie
3 Berries
1 Broccoli
2 Brown Rice
1 Brussels Sprouts
3 Chicken
#+end_example
#+begin_src shell :results output raw
echo "SERVING,INGREDIENT" > working-data/meal-planner-servings.csv
while IFS= read -r line
do
csv_line=$(echo "$line" | awk '{$1=$1; print $1 "," substr($0, index($0,$2))}')
echo "$csv_line"
done < working-data/meal-planner-servings.txt >> working-data/meal-planner-servings.csv
echo "[[file:./working-data/meal-planner-servings.csv]]"
#+end_src
#+RESULTS:
[[file:./working-data/meal-planner-servings.csv]]
I'm going to use ~csvlook~ to output the data into a org-mode table, which I will
then manipulate manually. The ~csvlook~ snippet is to just get me started.
#+begin_src shell :results output drawer
csvlook working-data/meal-planner-servings.csv
#+end_src
- Merged ~Protein Powder~, ~Protein Shake~ and ~Protein Smoothie~ into one ingredient.
- ~0~ = ~False~ (i.e. Not sold by that supermarket)
- ~1~ = ~True~
#+NAME: food-servings
| SERVING | INGREDIENT | QUANTITY | TESCO | SAINSBURYS | MARKS-AND-SPENCER | ASDA | CO-OP | WAITROSE |
|---------+-------------------------+----------+-------+------------+-------------------+------+-------+----------|
| 2 | Almonds | | | | | | | |
| 2 | Asparagus | | | | | | | |
| 1 | Bacon | | | | | | | |
| 1 | Banana | | | | | | | |
| 1 | Banana Protein Smoothie | | | | | | | |
| 3 | Berries | | | | | | | |
| 1 | Broccoli | | | | | | | |
| 2 | Brown Rice | | | | | | | |
| 1 | Brussels Sprouts | | | | | | | |
| 3 | Chicken | | | | | | | |
| 1 | Cod | | | | | | | |
| 2 | Cottage Cheese | | | | | | | |
| 1 | Courgette | | | | | | | |
| 4 | Eggs | | | | | | | |
| 3 | Fruit | | | | | | | |
| 1 | Granola | | | | | | | |
| 3 | Greek Yogurt | | | | | | | |
| 2 | Green Beans | | | | | | | |
| 2 | Oatmeal | | | | | | | |
| 2 | Prawns | | | | | | | |
| 5 | Protein Powder | | | | | | | |
| 4 | Quinoa | | | | | | | |
| 3 | Salad | | | | | | | |
| 3 | Salmon | | | | | | | |
| 1 | Scoop Protein Powder | | | | | | | |
| 2 | Spinach | | | | | | | |
| 2 | Steak | | | | | | | |
| 2 | Sweet Potato | | | | | | | |
| 2 | Tuna | | | | | | | |
| 3 | Turkey | | | | | | | |
| 5 | Vegetables | | | | | | | |
| 2 | Walnuts | | | | | | | |
| 2 | Whole Grain Crackers | | | | | | | |
| 2 | Whole Grain Toast | | | | | | | |
| 2 | Whole Grain Tortilla | | | | | | | |
|---------+-------------------------+----------+-------+------------+-------------------+------+-------+----------|
| | | Total | | | | | | |

78
working-data/meal-planner-ingredients.txt

@ -0,0 +1,78 @@
Eggs
Salmon
Whole Grain Toast
Chicken
Vegetables
Steak
Quinoa
Broccoli
Greek Yogurt
Almonds
Banana Protein Smoothie
Spinach
Scoop Protein Powder
Tuna
Salad
Whole Grain Crackers
Salmon
Sweet Potato
Asparagus
Cottage Cheese
Fruit
Oatmeal
Protein Powder
Berries
Turkey
Whole Grain Tortilla
Vegetables
Prawns
Brown Rice
Green Beans
Eggs
Walnuts
Greek Yogurt
Granola
Berries
Chicken
Vegetables
Cod
Quinoa
Courgette
Protein Shake
Fruit
Eggs
Turkey
Bacon
Whole Grain Toast
Quinoa
Salad
Chicken
Vegetables
Steak
Sweet Potato
Brussels Sprouts
Greek Yogurt
Almonds
Protein Smoothie
Banana
Spinach
Protein Powder
Tuna
Salad
Whole Grain Crackers
Salmon
Brown Rice
Asparagus
Cottage Cheese
Fruit
Oatmeal
Protein Powder
Berries
Turkey
Whole Grain Tortilla
Vegetables
Prawns
Quinoa
Green Beans
Eggs
Walnuts

38
working-data/meal-planner-servings.csv

@ -0,0 +1,38 @@
SERVING,INGREDIENT
2,Almonds
2,Asparagus
1,Bacon
1,Banana
1,Banana Protein Smoothie
3,Berries
1,Broccoli
2,Brown Rice
1,Brussels Sprouts
3,Chicken
1,Cod
2,Cottage Cheese
1,Courgette
4,Eggs
3,Fruit
1,Granola
3,Greek Yogurt
2,Green Beans
2,Oatmeal
2,Prawns
3,Protein Powder
1,Protein Shake
1,Protein Smoothie
4,Quinoa
3,Salad
3,Salmon
1,Scoop Protein Powder
2,Spinach
2,Steak
2,Sweet Potato
2,Tuna
3,Turkey
5,Vegetables
2,Walnuts
2,Whole Grain Crackers
2,Whole Grain Toast
2,Whole Grain Tortilla
1 SERVING INGREDIENT
2 2 Almonds
3 2 Asparagus
4 1 Bacon
5 1 Banana
6 1 Banana Protein Smoothie
7 3 Berries
8 1 Broccoli
9 2 Brown Rice
10 1 Brussels Sprouts
11 3 Chicken
12 1 Cod
13 2 Cottage Cheese
14 1 Courgette
15 4 Eggs
16 3 Fruit
17 1 Granola
18 3 Greek Yogurt
19 2 Green Beans
20 2 Oatmeal
21 2 Prawns
22 3 Protein Powder
23 1 Protein Shake
24 1 Protein Smoothie
25 4 Quinoa
26 3 Salad
27 3 Salmon
28 1 Scoop Protein Powder
29 2 Spinach
30 2 Steak
31 2 Sweet Potato
32 2 Tuna
33 3 Turkey
34 5 Vegetables
35 2 Walnuts
36 2 Whole Grain Crackers
37 2 Whole Grain Toast
38 2 Whole Grain Tortilla

37
working-data/meal-planner-servings.txt

@ -0,0 +1,37 @@
2 Almonds
2 Asparagus
1 Bacon
1 Banana
1 Banana Protein Smoothie
3 Berries
1 Broccoli
2 Brown Rice
1 Brussels Sprouts
3 Chicken
1 Cod
2 Cottage Cheese
1 Courgette
4 Eggs
3 Fruit
1 Granola
3 Greek Yogurt
2 Green Beans
2 Oatmeal
2 Prawns
3 Protein Powder
1 Protein Shake
1 Protein Smoothie
4 Quinoa
3 Salad
3 Salmon
1 Scoop Protein Powder
2 Spinach
2 Steak
2 Sweet Potato
2 Tuna
3 Turkey
5 Vegetables
2 Walnuts
2 Whole Grain Crackers
2 Whole Grain Toast
2 Whole Grain Tortilla
Loading…
Cancel
Save