Compare commits
4 Commits
3de2542cc8
...
bd549e636f
Author | SHA1 | Date |
---|---|---|
Craig Oates | bd549e636f | 2 months ago |
Craig Oates | 5fca080583 | 2 months ago |
Craig Oates | 14302c4753 | 2 months ago |
Craig Oates | 3201c641ed | 2 months ago |
4 changed files with 417 additions and 0 deletions
@ -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 | | | | | | | |
@ -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 |
|
@ -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…
Reference in new issue