<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RSS Feed - Niall Bunting</title>
    <description>RSS feed for my posts</description>
    <link>https://www.niallbunting.com//</link>
    <atom:link href="https://www.niallbunting.com//feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sun, 31 May 2026 17:40:04 +0000</pubDate>
    <lastBuildDate>Sun, 31 May 2026 17:40:04 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      
      <item>
        <title>Commake - v0.2.0</title>
        <description>&lt;h3 id=&quot;summary&quot;&gt;Summary&lt;/h3&gt;

&lt;p&gt;Commake (Common Makefile) is a base template for a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;makefile&lt;/code&gt;/&lt;a href=&quot;https://github.com/casey/just&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;justfile&lt;/code&gt;&lt;/a&gt; that you can use in your software project. Its purpose is to simplify the process of checking or installing dependencies and running the project, without needing to remember specific commands or constantly refer to the README.&lt;/p&gt;

&lt;p&gt;To get started with a project, simply run (or use the equivalent &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;just&lt;/code&gt; commands):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ make init      # Check if the project&apos;s dependencies (e.g., Docker) are installed
$ make install   # Install project packages (e.g., `yarn install`)
$ make run       # Start the project&apos;s development environment (e.g., `yarn run`)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;contents&quot;&gt;Contents&lt;/h3&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;#introduction&quot;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#specification&quot;&gt;Specification&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#guidance&quot;&gt;Guidance &amp;amp; Examples&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#usage&quot;&gt;Usage&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#customising-your-commake&quot;&gt;Customising Your Commake&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#contributing&quot;&gt;Contributing&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#about&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#licence&quot;&gt;Licence&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#previous-versions&quot;&gt;Previous Versions&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;Joining new software projects can be challenging. Often, you need to go through the setup process, but it’s not always clear what requirements you need to install until you run into issues.&lt;/p&gt;

&lt;p&gt;Jumping between software projects presents similar difficulties. After being away for a few months, you may forget how to set up the project or which commands to run. In some cases, the commands aren’t included in the README, and you have to ask for help. In other cases, there is no guidance at all, and you’re left to figure it out on your own.&lt;/p&gt;

&lt;p&gt;Commake aims to solve these problems by providing a standard template. With Commake, you can easily run the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;init&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;install&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;run&lt;/code&gt; steps to get your project set up and running quickly.&lt;/p&gt;

&lt;h5 id=&quot;example---a-node-project&quot;&gt;Example - A node project:&lt;/h5&gt;

&lt;p&gt;If I come back to a Node project, this is my thought process:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Does this project use yarn or npm?&lt;/li&gt;
  &lt;li&gt;Have I got the correct version of node installed?&lt;/li&gt;
  &lt;li&gt;Do I need to do an install?&lt;/li&gt;
  &lt;li&gt;Do I need to set environment variables?&lt;/li&gt;
  &lt;li&gt;How do I serve this? npm run start, npm run serve, npm run dev?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this can be solved by using a common makefile across all your projects. So you don’t need to consult the README, remember, or figure it out.&lt;/p&gt;

&lt;h3 id=&quot;specification&quot;&gt;Specification&lt;/h3&gt;

&lt;p&gt;This is the empty &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;makefile&lt;/code&gt;. Just is slightly different &lt;a href=&quot;/pages/commake/commake-just-0-2-0.txt&quot;&gt;see justfile&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# Commake (v0.2.0) - https://niallbunting.com/commake/

.PHONY: all help init install build run lint test e2e plan deploy int versioncheck
.ONESHELL:
all: lint test run #help Full check

help:
	@echo &quot;-- HELP --&quot;
	@grep &apos;#[h]elp&apos; makefile

# Use this to check if they have the correct version
# To use update the if statement and the message.
versioncheck:
	@if [ 0 -gt 0 ]; then
		echo &quot;Wrong version of: &amp;lt;DEP&amp;gt;&quot; &amp;amp;&amp;amp;
		exit 1;
	fi

init: #help Run through dependencies and check
	@echo Not Implemented

install: versioncheck #help Install packages
	@echo Not Implemented

build: #help Build the project files
	@echo Not Implemented

run: #help Run locally
	@echo Not Implemented

lint: #help Run linting
	@echo Not Implemented

test: #help Run the unit tests
	@echo Not Implemented

int: #help Run the int tests
	@echo Not Implemented

e2e: #help Run the e2e tests
	@echo Not Implemented

plan: #help Plan to run any infra changes
	@echo Not Implemented

deploy: #help Run any infra changes
	@echo Not Implemented

# Custom Commands - Put your custom commands below
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;guidance&quot;&gt;Guidance&lt;/h5&gt;

&lt;p&gt;The goal isn’t for these steps to be overly complex. Often, they’re just one line. &lt;a href=&quot;#examples&quot;&gt;See the examples section&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You don’t need to handle every possible scenario in the script. People may be using different environments or have different setups, and managing those variations can be complicated. That added complexity takes time to address, so it’s better to keep the Commake simple and defer to the developer when necessary.&lt;/p&gt;

&lt;p&gt;You can always improve the steps later. The most important thing is to get the steps into the file so that it can serve as a checklist to start with.&lt;/p&gt;

&lt;p&gt;Here’s an example of an &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;init&lt;/code&gt; step that checks if Yarn is installed and whether a key is set. If Yarn isn’t found, the script will fail. The second step simply requires the developer to press Enter.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;init: #help Run through dependencies and check
	yarn --version
	@echo Have you set the key in the .env file? &amp;amp;&amp;amp; read input
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;examples&quot;&gt;Examples&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/NiallBunting/dotfiles/master/makefile&quot;&gt;Golang&lt;/a&gt; &lt;small&gt;(v0.0.1)&lt;/small&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/NiallBunting/niallbunting.github.io/master/makefile&quot;&gt;Github Pages&lt;/a&gt; &lt;small&gt;(v0.1.0)&lt;/small&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/dvsa/cvs-app-vtm/blob/develop/makefile&quot;&gt;Node&lt;/a&gt; &lt;small&gt;(v0.0.1)&lt;/small&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;usage&quot;&gt;Usage&lt;/h3&gt;

&lt;h5 id=&quot;requirements&quot;&gt;Requirements&lt;/h5&gt;
&lt;p&gt;You will need &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;make&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;just&lt;/code&gt; installed. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Make&lt;/code&gt; is often installed by default.&lt;/p&gt;

&lt;h5 id=&quot;make-usage&quot;&gt;Make Usage&lt;/h5&gt;

&lt;p&gt;To show all recipes:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ make help
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Otherwise to run a command use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;make &amp;lt;target&amp;gt;&lt;/code&gt;. For example:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ make run
or
$ make # To run the all target (lint, test, run)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;just-usage&quot;&gt;Just Usage&lt;/h5&gt;

&lt;p&gt;To show all recipes:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ just -l
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Otherwise to run a command use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;just &amp;lt;target&amp;gt;&lt;/code&gt;. For example:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ just run
or
$ just # To run the all target (lint, test, run)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;customising-your-commake&quot;&gt;Customising your Commake&lt;/h3&gt;

&lt;p&gt;Here are some common make steps/commands to help you get started. More in-depth make specific content can be found &lt;a href=&quot;https://makefiletutorial.com/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt; All &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;makefiles&lt;/code&gt; are tab seperated, they won’t work with spaces.&lt;/em&gt;&lt;/p&gt;

&lt;h5 id=&quot;user-interaction&quot;&gt;User interaction&lt;/h5&gt;

&lt;p&gt;This is useful when you want to pause and wait for the user to continue the script. For example waiting for them to run a command.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	@echo &quot;Press ENTER to continue (ctrl+c to cancel)&quot; &amp;amp;&amp;amp; @read line
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will check that they press y/Y to continue.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  @echo Press Y/y to continue
  @read answer; if [ &quot;$answer&quot; != &quot;${answer#[Yy]}&quot; ] ;then echo yes; else echo no; fi
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you want to do something more complex you can use a case statement.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	read -p &quot;Do that? [y,n]&quot; doit
	case $$doit in
		y|Y) echo yes ;;
		n|N) echo no ;;
		*) echo dont know ;;
	esac
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h5 id=&quot;ignore-errors&quot;&gt;Ignore Errors&lt;/h5&gt;

&lt;p&gt;If you have a command that may fail you can ignore any failures and continue by adding a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	-rm somefilethatdoesnotexist
	@echo I still get run
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;run-mupltiple-things-at-once&quot;&gt;Run mupltiple things at once&lt;/h5&gt;

&lt;p&gt;If you need to run mulitple services at the same time you can do this.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	(trap &apos;kill 0&apos; SIGINT; (command 1) &amp;amp; (command 2))
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;silencing-commands&quot;&gt;Silencing commands&lt;/h5&gt;

&lt;p&gt;By default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;make&lt;/code&gt; prints out the command it’s about to run. Sometimes you may want to silence this. This is done by adding an at symbol before the command.&lt;/p&gt;

&lt;p&gt;Since we run everything as a single line (&lt;a href=&quot;#phony-and-oneshell&quot;&gt;see more&lt;/a&gt;). We only need this on the first line and that’s the only line that counts.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	@echo &quot;Dont print me&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;step-dependencies&quot;&gt;Step Dependencies&lt;/h5&gt;

&lt;p&gt;You might want to run other targets as prerequisites of your command. This is done by adding it after the targets colon. For example before running the project you need to build it.&lt;/p&gt;

&lt;p&gt;You can see here that the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;install&lt;/code&gt; target requires &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;versioncheck&lt;/code&gt; to be run beforehand.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;install: versioncheck #help Install packages
	@echo Not Implemented
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;make-arguments&quot;&gt;Make arguments&lt;/h5&gt;

&lt;p&gt;To pass arguments run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;make&lt;/code&gt; in the following style:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ make run env=prod
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can then access this like:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;run: #help Run locally
	@echo $(env)
	python test.py $(env)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;variables&quot;&gt;Variables&lt;/h5&gt;

&lt;p&gt;Variables from bash are accessed via a double dollar sign.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;	myvar=&quot;test&quot;
	echo $$myvar
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;phony-and-oneshell&quot;&gt;.PHONY and .ONESHELL&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;This only applies to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;make&lt;/code&gt; version.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here are some default options that make our life a little easier.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;.PHONY&lt;/strong&gt; - This means that this isn’t actually a file and is just a command. Without this it will check if a file with the name of the target exists and if it does won’t run the command.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.ONESHELL&lt;/strong&gt; - This is more natural for a beginners perspective. It stops each line being run as a different shell.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;contributing&quot;&gt;Contributing&lt;/h3&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;makefile&lt;/code&gt; and this document are a work in progress. For example not much though has been put into the windows world. I would love to hear your feeback, please &lt;a href=&quot;https://github.com/NiallBunting/niallbunting.github.io&quot;&gt;open an issue on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;about&quot;&gt;About&lt;/h3&gt;
&lt;p&gt;This was created originally by &lt;a href=&quot;https://niallbunting.com/&quot;&gt;Niall Bunting&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;licence&quot;&gt;Licence&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://creativecommons.org/licenses/by/3.0/&quot;&gt;Creative Commons ― CC BY 3.0&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;previous-versions&quot;&gt;Previous Versions&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/commake/2022/07/05/commake-0.1.0.html&quot;&gt;0.1.0&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/commake/common/makefile/2022/03/09/commake-common-makefile.html&quot;&gt;0.0.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Fri, 10 Jan 2025 02:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//commake/</link>
        <guid isPermaLink="true">https://www.niallbunting.com//commake/</guid>
        
        
      </item>
      
    
      
      <item>
        <title>One Ingredient Challenge</title>
        <description>&lt;p&gt;One Ingredient Challenge is a month-long challenge where you only eat foods containing a single ingredient.&lt;/p&gt;

&lt;p&gt;This means any food items with exactly one ingredient on the package are fine; any with an ingredients list longer than one are disallowed. The challenge aims to make me more conscious of the food I eat. This already threw up a surprise: one of my fajita mix’s main ingredients is &lt;a href=&quot;https://en.wikipedia.org/wiki/Maltodextrin&quot;&gt;Maltodextrin&lt;/a&gt;, a thickener. It’s not even a spice!&lt;/p&gt;

&lt;p&gt;I am allowed to process food myself. For example, I can’t buy bread from the shop but can make it at home, as long as all the ingredients that go into the item are single foods I can hold in my hand.&lt;/p&gt;

&lt;p&gt;Since I don’t fancy not cleaning my teeth, I’m going to have an exception for toothpaste and mouthwash (and medicine). Not that I eat them,  just including this for completeness.&lt;/p&gt;

&lt;p&gt;This blog post will chart my progress with what I’m eating. I’m no chef and will keep things simple. I won’t include drinks, which will be water, tea and coffee.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;#conclusion&quot;&gt;Skip to the conclusion&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;food-diary&quot;&gt;Food Diary&lt;/h2&gt;

&lt;h5 id=&quot;1st-jul&quot;&gt;1st Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;2 * Boiled Egg (egg, salt).&lt;/li&gt;
  &lt;li&gt;Salad (pepper, tomato, carrot, cabbage, broccoli, onion, red wine vinegar, olive oil, sesame seeds).&lt;/li&gt;
  &lt;li&gt;Coriander Chicken Curry (rice, vegetable oil, chicken, onion, potato, pepper, turmeric powder, cumin powder, coriander powder, cinnamon powder, fresh coriander, salt, green chilli, tomato, water, cornflour).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/01-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/01-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/01-egg.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/01-egg-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/01-salad.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/01-salad-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/01-curry.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/01-curry-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I didn’t consider breakfast much until today; porridge on its own is a bit bland, so I’ll need to spice it up after a few days. I also discovered that soy sauce always contains multiple ingredients, so am unable to use it in a stir fry. The curry was really nice; I wouldn’t have known it was from my spice drawer if I hadn’t made it.&lt;/p&gt;

&lt;h5 id=&quot;2nd-jul&quot;&gt;2nd Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;Leftover Coriander Chicken Curry (leftover curry, rice).&lt;/li&gt;
  &lt;li&gt;Salad, Cheese and Eggs (leftover salad, cheese, eggs, salt).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/02-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/02-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/02-curry.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/02-curry-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/02-salad.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/02-salad-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; An easy day as eating the leftovers from the previous day.&lt;/p&gt;

&lt;h5 id=&quot;3rd-jul&quot;&gt;3rd Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;Fajita Spice (cumin, chilli powder, paprika, garlic powder, oregano, fresh coriander).&lt;/li&gt;
  &lt;li&gt;Chicken Fajitas (vegetable oil, chicken, onion, pepper, fajita spice, wraps(wholemeal flour, salt, vegetable oil), salsa(tomato, salt, pepper, basil), leftover salad, cheese).&lt;/li&gt;
  &lt;li&gt;Fajita chicken rice bowl (fajita leftovers, rice, cheese).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/03-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/03-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/03-fajita.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/03-fajita-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/03-fajita1.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/03-fajita1-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/03-rice.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/03-rice-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I made my own Fajita seasoning today, as mentioned in the introduction my usual contains mainly Maltodextrin. It was hotter than usual and gave a good flavour profile, I will be using this again. I discovered a couple of things that I can’t use today. Firstly, instant yeast, which isn’t too surprising. Secondly most flours as they are fortified, with the only exception wholemeal flour, due to the law in the UK. And finally, I discovered that my salt has an anti-caking agent (Sodium Ferrocyanide) so will find an alternative.&lt;/p&gt;

&lt;h5 id=&quot;4th-jul&quot;&gt;4th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, banana).&lt;/li&gt;
  &lt;li&gt;Vegetable Omelette (egg, butter, cheese, carrot, onion, cabbage, chili, broccoli).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/04-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/04-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/04-omelette.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/04-omelette-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Continued to use up ingredients in the fridge. I have noticed that my weight is dropping, so will be interested to see if that continues.&lt;/p&gt;

&lt;h5 id=&quot;5th-jul&quot;&gt;5th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, banana).&lt;/li&gt;
  &lt;li&gt;Vegetable Omelette (egg, butter, cheese, carrot, cabbage, broccoli, tomato, pepper, salt).&lt;/li&gt;
  &lt;li&gt;Steak and Chips (steak, salt, red pepper, broccoli, potatoes, oregano, paprika, chilli flakes, olive oil, vegetable oil).&lt;/li&gt;
  &lt;li&gt;Scones (wholemeal flour, cornflour, baking soda, brown sugar, butter, milk, sugar, banana, clotted cream).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/05-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/05-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/05-omelette.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/05-omelette-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/05-steak.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/05-steak-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/05-scones.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/05-scones-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; The recipe I used for the scones called for 4 tsp of baking powder, turns out what I have is baking soda so the first batch had a really bad aftertaste of baking soda. Really nice rise though! Today I was really hungry all throughout the day, I felt like I had to eat more to stay satisfied.&lt;/p&gt;

&lt;h5 id=&quot;6th-jul&quot;&gt;6th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, yogurt).&lt;/li&gt;
  &lt;li&gt;Peach&lt;/li&gt;
  &lt;li&gt;Coffee (coffee, water, milk).&lt;/li&gt;
  &lt;li&gt;Chilli con carne with rice and wedges (steak mince, tomatoes, chilli, chilli powder, cumin, onion, pepper, garlic, rice, potato, oregano, chilli flakes, smoked paprika, salt, black pepper, vegetable oil).&lt;/li&gt;
  &lt;li&gt;Yogurt with a spoon of jam (yogurt, strawberries, raspberries, sugar, cornflour).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/06-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/06-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/06-peach.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/06-peach-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/06-coffee.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/06-coffee-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/06-chilli.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/06-chilli-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/06-yogurt.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/06-yogurt-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; The coffee was bought from a shop, which gave me mixed feelings under the rules of the challenge. After discussion I decided, since it’s simple and one-ingredient foods being directly prepared for me, it’s okay within the rules. This was my first dish using dry red kidney beans; upon checking online how to cook them I found raw beans contain a lectin &lt;a href=&quot;https://en.wikipedia.org/wiki/Phytohaemagglutinin&quot;&gt;Phytohaemagglutinin&lt;/a&gt; which can cause mild to serious symptoms if raw beans are eaten. Therefore, I made sure I cooked the beans well. I also searched for some cocoa powder but could only find it with acidity regulators such as Potassium Hydroxide and Potassium Carbonate.&lt;/p&gt;

&lt;h5 id=&quot;7th-jul&quot;&gt;7th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Leftover chilli con carne (leftover chilli con carne).&lt;/li&gt;
  &lt;li&gt;Fruit (easy peeler, banana, mango).&lt;/li&gt;
  &lt;li&gt;Fish and salad (sea bass, rice, red kidney beans, broccoli, coriander, red cabbage, salt, pepper, carrot, red pepper, carrot, almonds, olive oil, onion, red wine vinegar, vegetable oil, tomato).&lt;/li&gt;
  &lt;li&gt;Scones (wholemeal flour, cornflour, baking soda, brown sugar, butter, milk, clotted cream, homemade jam).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/07-chilli.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/07-chilli-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/07-fish.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/07-fish-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/07-scones.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/07-scones-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; It was a hot day today; it would have been nice to go to the pub for a pint after finishing our walk. The spices that I bought that contain a single spice have more taste than the regular supermarket spices I buy. I think I’m going to buy those instead in future.&lt;/p&gt;

&lt;h5 id=&quot;8th-jul&quot;&gt;8th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;Pancakes (flour, egg, milk, vegetable oil, butter, homemade jam, maple syrup, lemon, banana, sugar).&lt;/li&gt;
  &lt;li&gt;Falafel Wraps (flour, vegetable oil, dried chickpeas, fresh coriander, ground coriander, salt, black pepper, onion, garlic, cumin, yogurt, cucumber, lemon, red cabbage, lettuce, avocado, tomato, cheese, leftover salad).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/08-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/08-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/08-pancake.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/08-pancake-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/08-falafel1.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/08-falafel1-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/08-falafel2.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/08-falafel2-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Looking around the shops I noticed that kefir contains ‘Milk, Live Cultures of Kefir Bacteria’. Whereas yogurt and cheese, according to the packs I buy, only contain the respective single ingredient. Even though both contain cultures of their own. Therefore, some products must be able to not list ingredients. Since my arbitrary line in the sand was the ingredient list, they are okay in this challenge, but it makes me wonder what isn’t listed.&lt;/p&gt;

&lt;h5 id=&quot;9th-jul&quot;&gt;9th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;Leftovers (eggs, leftover salad, leftover falafel, potato, oil, chilli flakes, oregano, smoked paprika, salt, pepper).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/09-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/09-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/09-leftovers.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/09-leftovers-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Wasn’t feeling too hungry today after the large meal yesterday. For my evening meal ate various leftovers from the fridge.&lt;/p&gt;

&lt;h5 id=&quot;10th-jul&quot;&gt;10th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, yogurt).&lt;/li&gt;
  &lt;li&gt;Fried Egg (egg).&lt;/li&gt;
  &lt;li&gt;Easy Peeler (‘a cross-breed of satsumas and clementines’).&lt;/li&gt;
  &lt;li&gt;Vegetable Omelette (egg, butter, carrot, broccoli, chilli, onion, carrot, red cabbage, cheese, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Yogurt and Jam (yogurt, homemade jam).&lt;/li&gt;
  &lt;li&gt;Chicken and Vegetables (potato, chicken, carrot, broccoli, paprika, garlic powder, oregano, cumin, chilli flakes, basil, salt, pepper).&lt;/li&gt;
  &lt;li&gt;No Bake Oat Cookies (oats, coconut oil, maple syrup, salt, almonds).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-egg.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-egg-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-orange.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-orange-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-omelette.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-omelette-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-yogurt.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-yogurt-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-chicken.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-chicken-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/10-oat.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/10-oat-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Well, looks like my body was balancing out yesterday. I had never searched for what ‘easy peelers’ are; it turns out they are a cross-breed of satsumas and clementines that are easy to peel, another way that humans shape the world. I’ve heard there used to be hundreds of types of apple that, for various reasons, are not as easy to farm or as tasty, so you don’t see them anymore in the supermarket.&lt;/p&gt;

&lt;h5 id=&quot;11th-jul&quot;&gt;11th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;No Bake Oat Cookies (leftover no bake oat cookies).&lt;/li&gt;
  &lt;li&gt;Bubble and squeak (potato, red cabbage, onion, broccoli, carrot, garlic, leftover chicken, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Banana (banana).&lt;/li&gt;
  &lt;li&gt;Chicken Fajitas (vegetable oil, chicken, onion, pepper, fajita spice, wraps(wholemeal flour, salt, vegetable oil), cheese, tomatoes, lettuce, salad(carrot, broccoli, cucumber, red cabbage, vinegar, oil)).&lt;/li&gt;
  &lt;li&gt;Scones (wholemeal flour, cornflour, baking soda, brown sugar, butter, milk, clotted cream, homemade jam).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/11-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/11-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/11-oat.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/11-oat-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/11-bubble.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/11-bubble-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/11-banana.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/11-banana-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/11-fajita.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/11-fajita-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/11-scones.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/11-scones-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I forgot to take a picture of the porridge. Been snacking on those leftover oat cookies, probably ate a few too many. It seems my meals have been using the same carrot, broccoli, red cabbage and onion combination. That’s what’s in the fridge.&lt;/p&gt;

&lt;h5 id=&quot;12th-jul&quot;&gt;12th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, banana).&lt;/li&gt;
  &lt;li&gt;Cob (butter, sourdough starter, wholemeal flour, salt).&lt;/li&gt;
  &lt;li&gt;Cottage Pie (potatoes, beef mince, onion, peas, kidney beans, leftover chicken stock, cheese, carrot, broccoli, red cabbage, vinegar, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Scones (leftover scones, homemade jam, clotted cream).&lt;/li&gt;
  &lt;li&gt;Sourdough Bread (sourdough starter, wholemeal flour, salt).&lt;/li&gt;
  &lt;li&gt;Cheese Sandwich (sourdough bread, butter, cheese).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/12-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/12-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/12-bread.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/12-bread-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/12-pie.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/12-pie-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/12-scone.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/12-scone-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/12-loaf.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/12-loaf-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/12-cheese.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/12-cheese-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I have been creating a sourdough starter mix, as I can’t find single ingredient yeast. It’s a few days from being ready for baking bread but decided to give baking a go with the discard. Creating the dense bread that you see above.&lt;/p&gt;

&lt;h5 id=&quot;13th-jul&quot;&gt;13th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Jam Toast (sourdough bread, homemade jam, butter).&lt;/li&gt;
  &lt;li&gt;Omelette (eggs, red kidney beans, onion, broccoli, cheese, sunflower oil).&lt;/li&gt;
  &lt;li&gt;Sourdough Pancake (sourdough starter, cornflour, milk, honey, sugar, butter, clotted cream, sunflower oil).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/13-toast.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/13-toast-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/13-omelette.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/13-omelette-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/13-pancake.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/13-pancake-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I do wonder looking back through my foods if my foods are a bit ‘beige’. Lots of stuff the same colour.&lt;/p&gt;

&lt;h5 id=&quot;14th-jul&quot;&gt;14th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;Pork Stir-fry (pork, cayenne pepper, chilli powder, oregano, honey, chilli, carrot, ginger, garlic, broccoli, bean sprouts, red cabbage, mushrooms, cornflour, salt, pepper, sunflower oil, sesame oil, sesame seeds).&lt;/li&gt;
  &lt;li&gt;Banana (banana).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/14-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/14-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/14-stirfry.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/14-stirfry-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/14-banana.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/14-banana-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Tried to be a bit less beige today with a stir fry. Bought a lots of vegetables from the shop today for both the salad and stir fry. I think i’ll be having a stir fry again tomorrow night. My friend had some fish and chips from the chippy and it smelt particularly nice but stayed strong.&lt;/p&gt;

&lt;h5 id=&quot;15th-jul&quot;&gt;15th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, banana).&lt;/li&gt;
  &lt;li&gt;Wild Blackberries (blackberries).&lt;/li&gt;
  &lt;li&gt;Pork Stir-fry (pork, onion, carrots, cabbage, broccoli, spinach, mushroom, beansprout, lettuce, garlic, ginger, sesame seeds, cayenne pepper, chilli powder, oregano, garlic powder, smoked paprika, sesame oil, sunflower oil, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Bread (sourdough starter, flour, baking powder, butter, honey).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/15-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/15-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/15-bush.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/15-bush-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/15-stirfry.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/15-stirfry-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/15-bread.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/15-bread-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Found some wild blackberries. I’ll go collecting them soon as they are starting to ripen. Enjoying my stir-fries. I am planning to make my first proper sourdough bread over the next few days, as I have been using the sourdough starter discard. I wanted some soy sauce on my stir fry tonight.&lt;/p&gt;

&lt;h5 id=&quot;16th-jul&quot;&gt;16th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, banana).&lt;/li&gt;
  &lt;li&gt;Fried egg sandwich (eggs, bread, butter, salt, pepper, sunflower oil).&lt;/li&gt;
  &lt;li&gt;Vegetable Stir-fry (carrot, broccoli, cabbage, mushroom, spinach, beansprout, egg, peas, chilli, onion, garlic, ginger, monosodium glutamate, salt, pepper, sesame oil, sunflower oil).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/16-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/16-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/16-egg.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/16-egg-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/16-stirfry.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/16-stirfry-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I was thinking about the fact I’m eating very few food additives and that reminded me that I’ve been curious to try &lt;a href=&quot;https://en.wikipedia.org/wiki/Monosodium_glutamate&quot;&gt;Monosodium Glutamate&lt;/a&gt; (MSG) for a while. Since I’m not eating processed foods that might contain it, I thought it was a good time to try it. I went to town and bought, according to the pack, the funniest ingredient I’ve eaten all month: ‘Flavour Enhancer (Monosodium Glutamate (E621)) 100% (refined from Tapioca Flour &amp;amp; Cane)’, which I believe is technically a single ingredient. I did enjoy the stir-fry a lot.&lt;/p&gt;

&lt;h5 id=&quot;17th-jul&quot;&gt;17th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, banana).&lt;/li&gt;
  &lt;li&gt;Salad (onion, red wine vinegar, carrot, pepper, cabbage, tomato, cucumber, salt, pepper, chilli, sunflower seeds).&lt;/li&gt;
  &lt;li&gt;Peanut Butter Chicken (chicken, onion, chilli, spinach, peanut butter, garlic, ginger, cumin, coriander, turmeric, cardamom, cloves, salt, pepper, rice, salad, sunflower oil).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/17-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/17-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/17-salad.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/17-salad-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/17-chicken.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/17-chicken-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I found some 100% peanut butter in the supermarket. I brought it home and eating a teaspoon out of the jar was absolutely wonderful, so I decided to cook it into my evening meal. I do wonder if I have been eating enough protein recently. I continue to lose weight.&lt;/p&gt;

&lt;h5 id=&quot;18th-jul&quot;&gt;18th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk, banana).&lt;/li&gt;
  &lt;li&gt;Leftover Peanut Chicken (leftover peanut butter chicken, rice).&lt;/li&gt;
  &lt;li&gt;Pancakes (sourdough discard, milk, egg, honey, sugar, lemon, sunflower oil, butter).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/18-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/18-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/18-chicken.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/18-chicken-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/18-pancake.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/18-pancake-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I was in a foul mood around lunchtime, ate the chicken dish and it lifted. In the evening went with my friends to a pizza joint, hard to resist the tasty pizzas they were having, but managed to pull through.&lt;/p&gt;

&lt;h5 id=&quot;19th-jul&quot;&gt;19th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge oats, milk).&lt;/li&gt;
  &lt;li&gt;Egg Salad (egg, spinach, salt, pepper, leftover salad).&lt;/li&gt;
  &lt;li&gt;Baked Potatoes (potatoes, butter, cheese, pepper).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/19-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/19-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/19-salad.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/19-salad-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/19-potato.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/19-potato-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Visiting another household, it’s easy to see how many products that people buy usually containing many different ingredients (mine are moved out of the way). The best meal I could rustle up was a baked potato.&lt;/p&gt;

&lt;h5 id=&quot;20th-jul&quot;&gt;20th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Banana (banana).&lt;/li&gt;
  &lt;li&gt;Leftover Salad (leftover salad).&lt;/li&gt;
  &lt;li&gt;Broccoli and Stilton Soup (broccoli, blue cheese, garlic, carrot, onion, garlic, potato, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Steak and Chips (steak, onion, potato, broccoli, carrot, butter, cayenne pepper, oregano, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Milk and sugar (milk and caster sugar).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/17-salad.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/17-salad-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/20-soup.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/20-soup-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/20-steak.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/20-steak-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Still visiting another household and their vegetable oil contained “Soya Bean Oil (Produced from genetically modified Soya), Anti-Foaming Agent: E900”. I had assumed that vegetable oil was just another word for rapeseed oil but seems that’s not the case. It did claim that it had “extended life” so that might by a property of oil from soya bean. The E900 is &lt;a href=&quot;https://en.wikipedia.org/wiki/Polydimethylsiloxane&quot;&gt;Polydimethylsiloxane&lt;/a&gt; and reduces surface tension therefore reducing foam.&lt;/p&gt;

&lt;h5 id=&quot;21th-jul&quot;&gt;21th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Broccoli and Stilton Soup (leftover soup).&lt;/li&gt;
  &lt;li&gt;Banana (banana).&lt;/li&gt;
  &lt;li&gt;Sourdough Pizza (sourdough starter, wholemeal flour, olive oil, baking powder, salt, cheese, chicken, chilli, basil, tomato, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Peanut Butter Smoothie (milk, peanut butter, oats, honey).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/21-soup.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/21-soup-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/21-pizza.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/21-pizza-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/21-smoothy.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/21-smoothy-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Pizza tasted nicer than I thought it would from the starter and discard used in it. Pizza was implanted in my brain from a few days ago.&lt;/p&gt;

&lt;h5 id=&quot;22th-jul&quot;&gt;22th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge, milk).&lt;/li&gt;
  &lt;li&gt;Broccoli and Stilton Soup (leftover soup).&lt;/li&gt;
  &lt;li&gt;Chicken Pizza (sourdough starter, wholemeal flour, olive oil, salt, cheese, chicken, chilli flakes, basil, tomato, onion, garlic, salt, pepper).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/22-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/22-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/22-soup.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/22-soup-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/22-pizza.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/22-pizza-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; My sourdough starter is now really growing well. I’m proofing some bread that will be baked tomorrow.&lt;/p&gt;

&lt;h5 id=&quot;23th-jul&quot;&gt;23th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Sourdough Bread (wholemeal flour, salt, water, sourdough starter).&lt;/li&gt;
  &lt;li&gt;Cheese Sandwich (sourdough bread, butter, cheese).&lt;/li&gt;
  &lt;li&gt;Blackberries (blackberries).&lt;/li&gt;
  &lt;li&gt;Bread and Salmon Oil (sourdough bread, butter, oil from cooked fish).&lt;/li&gt;
  &lt;li&gt;Salmon and Vegetables (salmon, potato, carrot, broccoli, salt, pepper, butter, milk, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Blackberry Crumble and Cream (wholemeal flour, butter, brown sugar, white sugar, apples, wild blackberries, cream).&lt;/li&gt;
  &lt;li&gt;Homemade Jam (wild blackberries, sugar, lemon, cornflour).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/23-loaf.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/23-loaf-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/23-cheesebread.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/23-cheesebread-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/23-blackberries.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/23-blackberries-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/23-fishbread.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/23-fishbread-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/23-salmon.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/23-salmon-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/23-crumble.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/23-crumble-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Baked the sourdough bread today, turned out really well for a first attempt! I went picking blackberries for the crumble and jam, therefore ate many during the picking process.&lt;/p&gt;

&lt;h5 id=&quot;24th-jul&quot;&gt;24th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge with Blackberry Crumble (porridge, milk, leftover crumble).&lt;/li&gt;
  &lt;li&gt;Bubble and Squeak (potato, butter, milk, onion, carrot, broccoli, red cabbage, salt, pepper, sunflower oil).&lt;/li&gt;
  &lt;li&gt;Coffee (coffee, water, milk).&lt;/li&gt;
  &lt;li&gt;Bread and butter (sourdough bread, butter).&lt;/li&gt;
  &lt;li&gt;Chicken and Vegetables (chicken, potato, carrot, broccoli, paprika, garlic powder, oregano, cumin, chilli flakes, basil, monosodium glutamate, salt, pepper, sunflower oil).&lt;/li&gt;
  &lt;li&gt;Blackberry Crumble and Cream (leftover crumble, cream).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/24-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/24-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/24-bubble.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/24-bubble-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/24-coffee.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/24-coffee-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/24-bread.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/24-bread-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/24-chicken.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/24-chicken-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/24-crumble.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/24-crumble-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Starting to think about the end of this challenge and what my takeaways will be. Eating lots of bread as it’s back on the menu.&lt;/p&gt;

&lt;h5 id=&quot;25th-jul&quot;&gt;25th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Pancakes (sourdough starter, wholemeal flour, milk, egg, sunflower oil, butter, homemade jam, lemon).&lt;/li&gt;
  &lt;li&gt;Cheese Sandwich (sourdough bread, butter, cheese).&lt;/li&gt;
  &lt;li&gt;Banana (banana).&lt;/li&gt;
  &lt;li&gt;Burgers (beef, potatoes, lettuce, tomatoes, smoked paprika, oregano, basil, chilli powder, sunflower oil, onion, chilli flakes, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Apple/Banana and Custard (apple, banana, egg, cream, milk, sugar, cornflour, cinnamon).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/25-pancake.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/25-pancake-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/25-sandwich.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/25-sandwich-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/25-burger.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/25-burger-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/25-custard.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/25-custard-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I have been putting weight back on since the re-introduction of bread.&lt;/p&gt;

&lt;h5 id=&quot;26th-jul&quot;&gt;26th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Jam and Stilton Sandwiches (homemade sourdough bread, butter, homemade jam, stilton cheese).&lt;/li&gt;
  &lt;li&gt;Salmon (salmon, tomato, potato, butter, milk, sunflower oil, carrot, cucumber, pepper, broccoli, carrot, sunflower seeds, red wine vinegar, salt, pepper, olive oil)&lt;/li&gt;
  &lt;li&gt;Banana and Custard (leftover custard, banana).&lt;/li&gt;
  &lt;li&gt;Egg (egg, leftover salad, cheese, monosodium glutamate, salt, pepper).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/26-sandwich.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/26-sandwich-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/26-salmon.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/26-salmon-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/26-custard.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/26-custard-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/26-egg.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/26-egg-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Happy with how the challenge has gone up to this point.&lt;/p&gt;

&lt;h5 id=&quot;27th-jul&quot;&gt;27th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge, milk, banana).&lt;/li&gt;
  &lt;li&gt;Apple (wild apple).&lt;/li&gt;
  &lt;li&gt;Chicken and Rice (chicken, rice, lettuce, tomato, avocado, carrot, cabbage, onion, broccoli, sunflower seeds, fresh coriander, pepper, olive oil, red wine vinegar, chilli, oregano, basil, cumin, smoked paprika, turmeric, monosodium glutamate, sunflower oil, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Scones (wholemeal flour, sugar, spelt flour, sourdough starter, milk, butter, egg, baking soda, cornflour, homemade jam, clotted cream).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/27-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/27-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/27-apple.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/27-apple-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/27-chicken.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/27-chicken-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/27-scone.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/27-scone-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; I visited a local heritage mill today and learnt about the process they use to mill their flour. They follow the process used 200 years ago. Due to this process being not as efficient as modern techniques, more nutrients remain in the flour, meaning fortification is not required. Therefore, I bought some white and wholemeal flour for the scones.&lt;/p&gt;

&lt;h5 id=&quot;28th-jul&quot;&gt;28th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Cheese and Jam Sandwiches (homemade sourdough bread, butter, cheese, homemade jam).&lt;/li&gt;
  &lt;li&gt;Apple (apple).&lt;/li&gt;
  &lt;li&gt;Chicken and Rice (chicken, rice, lettuce, tomato, avocado, carrot, cabbage, onion, broccoli, sunflower seeds, fresh coriander, pepper, olive oil, red wine vinegar, chilli, oregano, basil, cumin, garlic powder, smoked paprika, monosodium glutamate, sunflower oil, salt, pepper).&lt;/li&gt;
  &lt;li&gt;Blackberry and Apple Tart (spelt flour, butter, sugar, cornflour, salt, blackberries, apples, cream).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/28-bread.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/28-bread-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/28-apple.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/28-apple-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/28-chicken.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/28-chicken-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/28-pie.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/28-pie-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Went picking wild blackberries today to stock up on jam and make the tart. Also found some apples and plums. Having fresh ingredients is great.&lt;/p&gt;

&lt;h5 id=&quot;29th-jul&quot;&gt;29th Jul&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;Porridge (porridge, milk, banana).&lt;/li&gt;
  &lt;li&gt;Egg Fried Rice (rice, leftover salad, egg, salt, sunflower oil, monosodium glutamate).&lt;/li&gt;
  &lt;li&gt;More Egg Fried Rice (rice, chilli, carrot, peas, egg, salt, onion, sunflower oil, monosodium glutamate).&lt;/li&gt;
  &lt;li&gt;Blackberry and Apple Tart (leftover blackberry and apple tart, cream).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/29-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/29-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/29-rice1.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/29-rice1-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/29-rice2.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/29-rice2-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/29-tart.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/29-tart-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; Needed to eat up that leftover rice today. I’m planning to finish this challenge tomorrow, with a pint after a 10 mile kayak.&lt;/p&gt;

&lt;h5 id=&quot;30th-jul&quot;&gt;30th Jul&lt;/h5&gt;
&lt;ul&gt;
  &lt;li&gt;Porridge (porridge, milk).&lt;/li&gt;
  &lt;li&gt;Jam Sandwiches (homemade sourdough bread, butter, homemade jam).&lt;/li&gt;
  &lt;li&gt;Banana (banana).&lt;/li&gt;
  &lt;li&gt;Easy peeler (easy peeler).&lt;/li&gt;
  &lt;li&gt;Pint of Stout (&lt;strong&gt;unknown&lt;/strong&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/30-porridge.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/30-porridge-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class=&quot;galleryitem&quot;&gt;
    &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;/assets/images/oneingredientchallenge/30-pint.jpg&quot;&gt;
    &lt;img src=&quot;/assets/images/oneingredientchallenge/30-pint-sm.jpg&quot; /&gt;
   &lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt; There we have it, the first multi-ingredient food (what’s that saying about stout being a meal), bringing this challenge to a conclusion. Lack of pictures as I didn’t bring my phone on the water. I did eat after the stout but finished recording after that time.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Assuming you live to 80 years old, one month of your life is ~0.1%. I think this challenge was well worth trying for that 0.1%.&lt;/p&gt;

&lt;p&gt;I’m surprised how much stuff you can make yourself, with single ingredients, leading to food containing much less sugar than store bought alternatives. The meals made over the challenge tended to be more healthy, due to a higher use of fresh vegetables. This has an impact on my weight, with me losing a few kilograms over the month.&lt;/p&gt;

&lt;p&gt;The food hasn’t been lacking any taste throughout the challenge, with me rarely missing food products. Especially after buying spices that contain more flavour, without all the additional stabilisers/anti-oxidants/flavorings/etc. Dried beans also are easy, as you can choose how firm you want them, but require more preparation.&lt;/p&gt;

&lt;p&gt;This challenge had me making more homemade foods than I would have otherwise, things such as jam, pizza and bread. They take more effort to make than the shop bought alternative, but give you a sense of satisfaction when eating them. I also now want to grow more of my own herbs and food. Along with buying the locally hand produced flour.&lt;/p&gt;

&lt;p&gt;Overall, this challenge has made me reconsider my food habits in a good way. Going forwards, I’m going to use single ingredient foods where possible, whilst adding some things such as soy sauce back into the mix. Here’s to the remaining 62.4%.&lt;/p&gt;

&lt;style&gt;
div.gallery {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

div.gallery img:hover {
  border: 1px solid #777;
}

div.gallery img {
  padding: 0px;
  margin: 0px;
  height: 150px;
  width: 150px;
}

div.galleryitem {
  height: auto;
}

span.desc {
  padding: 15px;
  text-align: center;
}

&lt;/style&gt;

</description>
        <pubDate>Sat, 01 Jul 2023 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//challenge/one/ingredient/2023/07/01/one-ingredient-challenge.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//challenge/one/ingredient/2023/07/01/one-ingredient-challenge.html</guid>
        
        
        <category>challenge</category>
        
        <category>one</category>
        
        <category>ingredient</category>
        
      </item>
      
    
      
      <item>
        <title>American Express (Amex) Enable All Offers Bookmarklet</title>
        <description>&lt;p&gt;The American Express website has many cashback offers. These offers give you cashback if you spend a certain amount at a shop.&lt;/p&gt;

&lt;p&gt;This bookmarklet lets you quickly enable all the offers in the list.&lt;/p&gt;

&lt;p&gt;Drag the following link to your bookmarks bar or right-click and choose “Save to bookmarks”:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;javascript: (function() {document.querySelectorAll(&amp;quot;.offer-cta&amp;quot;).forEach((item) =&amp;gt; {if (item.title == &amp;quot;Save to Card&amp;quot;){ item.click(); }});}()); // Written by Niall Bunting - https://niallbunting.com &quot;&gt;Amex Enable All Offers&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(Note: You do need to click the show more button to get the entire list of offers on the page.)&lt;/p&gt;

&lt;h2 id=&quot;why-should-i-use-the-bookmarklet&quot;&gt;Why should I use the bookmarklet?&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Don’t miss a cashback offer you are eligible for by enabling all the offers available to you.&lt;/li&gt;
  &lt;li&gt;Save time. There are often 90+ offers in the list and it would take a while to enable them all.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;privacy-implications&quot;&gt;Privacy Implications&lt;/h2&gt;

&lt;p&gt;There are a couple of privacy implications to be aware of:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;To enable you to redeem the offer, American Express may share certain transaction data and the first digits of your Account number with the merchant to reconcile and assess the offer. For more information about how we share your information with the merchant, please review our Cardmember Privacy Statement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;We will use your personal information such as name, email address, Account number and transaction information to manage your participation in the offer and to track your spend. Please see our Cardmember Privacy Statement for details of how we use your personal information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am still wondering if any data is shared when an offer is enabled but not redeemed, so I have contacted the Amex Data Protection Officer and will update this post with their response.&lt;/p&gt;

&lt;h4 id=&quot;getting-details-about-privacy-implications&quot;&gt;Getting details about privacy implications&lt;/h4&gt;

&lt;p&gt;I found it difficult to locate details on the Amex website. I assumed data would be shared when an offer is redeemed, but I wasn’t sure what, if any, data is shared when an offer is merely enabled and not redeemed.&lt;/p&gt;

&lt;p&gt;I looked through Amex’s privacy document and couldn’t find anything about the privacy implications of offers.&lt;/p&gt;

&lt;p&gt;To confirm this, I also spoke to a chat agent to ask whether retailers are notified when I enable cashback offers. I’m not sure the agent understood my question, judging by the response below:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/posts/amexchat202302.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A second representative did provide the privacy quotes above, although I’m not sure where that statement came from because I can’t find it in the Privacy Policy or elsewhere on the Amex website.&lt;/p&gt;

&lt;h2 id=&quot;what-is-a-bookmarklet&quot;&gt;What is a Bookmarklet&lt;/h2&gt;

&lt;p&gt;A bookmarklet is a small piece of JavaScript executed when you click a bookmark. This one saves you time by clicking all the ‘Save to Card’ links on the Amex page.&lt;/p&gt;
</description>
        <pubDate>Sun, 26 Feb 2023 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//bookmarklet/tips/amex/lifehack/2023/02/26/amex-save-all-button.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//bookmarklet/tips/amex/lifehack/2023/02/26/amex-save-all-button.html</guid>
        
        
        <category>bookmarklet</category>
        
        <category>tips</category>
        
        <category>amex</category>
        
        <category>lifehack</category>
        
      </item>
      
    
      
    
      
    
      
      <item>
        <title>Match the design of input fields to look like Select2 fields</title>
        <description>&lt;p&gt;Whilst creating a mixed form, there were fields that did not match the default style of a Select2 input. I created this bit of CSS that provides a style which can be applied to the other fields so they match. Feel free to use this code.&lt;/p&gt;

&lt;p&gt;This is what the page looked like before:
&lt;img src=&quot;/assets/images/posts/fake-select2-before.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The page with the CSS applied:
&lt;img src=&quot;/assets/images/posts/fake-select2-after.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As you can see the input and textarea now look much more like the Select2 box in the middle of the picture.&lt;/p&gt;

&lt;h2 id=&quot;code&quot;&gt;Code&lt;/h2&gt;

&lt;p&gt;If you have any further improvements, feel free to create a PR for this post: &lt;a href=&quot;https://github.com/NiallBunting/niallbunting.github.io/tree/master/_posts&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I have purposely left the blue hue that appears around the box for usability. To remove it, add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;outline: 0;&lt;/code&gt;.&lt;/p&gt;

&lt;h3 id=&quot;html&quot;&gt;HTML&lt;/h3&gt;

&lt;p&gt;To use in your form apply the following classes:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;input class=&quot;fake-select2 fake-select2-input /&amp;gt;
&amp;lt;textarea class=&quot;fake-select2 fake-select2-textarea&quot;&amp;gt;&amp;lt;/textarea&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;css&quot;&gt;CSS&lt;/h3&gt;

&lt;p&gt;This is the CSS to add to create these boxes.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.fake-select2{
  border-radius:4px 4px 4px 4px;
  border:1px solid grey;
  padding:5px;
  font-family:Metropolis,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
  font-size:.85rem;
  font-weight:400;
  color:#444;
}

.fake-select2.fake-select2-input{
  line-height:42px;
}

.fake-select2.fake-select2-textarea{
  line-height:1rem;
  padding:10px 5px;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;reformatted-into-scss&quot;&gt;Reformatted into SCSS&lt;/h4&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.fake-select2 {
  -moz-border-radius:4px 4px 4px 4px;
  -webkit-border-radius: 4px 4px 4px 4px;
  border-radius:4px 4px 4px 4px;
  border:1px solid gray;
  padding: 5px;
  font-family: Metropolis,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
  font-size: .85rem;
  font-weight: 400;
  color: #444;

  &amp;amp;.fake-select2-input {
    line-height: 42px;
  }

  &amp;amp;.fake-select2-textarea {
    line-height: 1rem;
    padding: 10px 5px 10px 5px;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Wed, 17 Mar 2021 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//select2/design/css/2021/03/17/make-regular-inputs-look-like-select2.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//select2/design/css/2021/03/17/make-regular-inputs-look-like-select2.html</guid>
        
        
        <category>select2</category>
        
        <category>design</category>
        
        <category>css</category>
        
      </item>
      
    
      
      <item>
        <title>Wii Balance Board Alarm Clock – Outcomes and Six-Month Review</title>
        <description>&lt;p&gt;The story of how a Wii Fit and Raspberry Pi board didn’t change my behavior but ignited a desire that I didn’t know I had.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is the fifth and final part of this series; &lt;a href=&quot;/wii/balance/board/alarm/clock/daily/2020/06/17/wii-balance-board-alarm-clock-part-one.html&quot;&gt;the first post is here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/posts/wii-final-board.png&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;The alarm clock in its final position.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;On 21 July 2020, I promptly stepped on the alarm clock at 6am and calmly stood there for a full minute in the cool summer morning. After coming to grips with the world, I got up and followed a relaxed, healthy morning routine I already had in place. You know the ones we’re all told we should do: a cup of coffee and three hours of meditation. Success.&lt;/p&gt;

&lt;p&gt;Fast forward four months. One morning the board alarm went off at 8am, waking me with a start. I heaved myself out of bed, stood on the board for that full minute whilst contemplating the grief I had put myself through. Then I promptly got back into bed for another hour and a half. Failure.&lt;/p&gt;

&lt;p&gt;My original desire for the board to be a great way for me to shake off the sleepiness has not worked. My morning brain no longer agrees with last night’s brain that we are going to get up and do all the morning things.&lt;/p&gt;

&lt;p&gt;At this point, I considered my morning laziness probably couldn’t be overcome simply with some annoying technology. It’s likely a combination of factors such as the pandemic, age, discipline, and subscribing to the ‘Just in Time’ morning method.&lt;/p&gt;

&lt;p&gt;Therefore, I started to get bored with an annoying alarm clock that was plainly not doing its job of waking me. That was until I looked at the spreadsheet that had been quietly amassing the data from each of the painful morning trials. I decided to create a graph using the data, which looks like this.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/posts/wii-board-weight-graph.png&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;This graph shows my weight over time.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I saw a slow upward creep in my daily weight as winter drew in, and the creep continued the following month as Christmas approached. Therefore, throughout January I started slightly modifying my behaviours to stave off this gradual increase in weight, hopefully reducing it back to earlier levels.&lt;/p&gt;

&lt;p&gt;Other trends became apparent, such as the spikiness of the data, which you might not notice when standing on a scale each day.&lt;/p&gt;

&lt;p&gt;This led me to start thinking about tracking more data, as this may allow me to intervene in other areas of my life that are trending in a direction I don’t want. This movement is called the ‘&lt;a href=&quot;https://en.wikipedia.org/wiki/Quantified_self&quot;&gt;Quantified Self&lt;/a&gt;’. Imagine if you automatically tracked various aspects of your life and compared them against happiness data.&lt;/p&gt;

&lt;p&gt;You can find personal correlations between, say, going for a walk and your mood, which can only be a good thing during a pandemic. Therefore, I’ve seen the appeal of what having this data might unlock, so it shouldn’t surprise you that I have started to track my happiness daily as well.&lt;/p&gt;

&lt;p&gt;Turns out the trusty board is here to stay, even though its original purpose doesn’t quite work.&lt;/p&gt;

</description>
        <pubDate>Thu, 21 Jan 2021 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//wii/balance/board/alarm/clock/daily/2021/01/21/wii-balance-board-alarm-clock-part-five-six-month-review.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//wii/balance/board/alarm/clock/daily/2021/01/21/wii-balance-board-alarm-clock-part-five-six-month-review.html</guid>
        
        
        <category>wii</category>
        
        <category>balance</category>
        
        <category>board</category>
        
        <category>alarm</category>
        
        <category>clock</category>
        
        <category>daily</category>
        
      </item>
      
    
      
      <item>
        <title>Wii Balance Board Alarm Clock – Software and Setup</title>
        <description>&lt;p&gt;&lt;em&gt;This is the fourth part of this series; &lt;a href=&quot;/wii/balance/board/alarm/clock/daily/2020/06/17/wii-balance-board-alarm-clock-part-one.html&quot;&gt;the first post is here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This part covers the software and setup for the Wii balance board alarm clock project.&lt;/p&gt;

&lt;h2 id=&quot;the-brief&quot;&gt;The brief&lt;/h2&gt;

&lt;p&gt;The main requirement for this project is that it acts as an alarm, requires me to stand on the board for a given length of time (60 seconds), and records and stores my weight.&lt;/p&gt;

&lt;p&gt;Here is a flow diagram for my requirements:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/posts/wii-board-flow.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;code&quot;&gt;Code&lt;/h2&gt;

&lt;p&gt;The code can be &lt;a href=&quot;https://github.com/NiallBunting/wii-alarm-clock&quot;&gt;found here on Github&lt;/a&gt;. It’s not production ready, it works and meets the requirements, but won’t win any awards.&lt;/p&gt;

&lt;h3 id=&quot;bluetooth&quot;&gt;Bluetooth&lt;/h3&gt;

&lt;p&gt;The Raspberry Pi needs to connect over Bluetooth to the Wii Fit Board. The basic code for this part was found via a &lt;a href=&quot;https://hackaday.io/project/164123/instructions&quot;&gt;Hackaday project&lt;/a&gt;. I forked the repository and used that as a base for this project.&lt;/p&gt;

&lt;h3 id=&quot;running-the-code&quot;&gt;Running the code&lt;/h3&gt;

&lt;p&gt;To run the code, use the command &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python alarm.py&lt;/code&gt;.
For alarm purposes, I call the script via a cron job for easy scheduling.&lt;/p&gt;

&lt;h2 id=&quot;setup&quot;&gt;Setup&lt;/h2&gt;

&lt;h3 id=&quot;install-the-requirements&quot;&gt;Install the requirements&lt;/h3&gt;

&lt;p&gt;You will need to install the required packages using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pip install&lt;/code&gt;. At the moment there isn’t a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;requirements&lt;/code&gt; file, so I suggest you run the script and install missing dependencies until it stops complaining.&lt;/p&gt;

&lt;h3 id=&quot;scheduling&quot;&gt;Scheduling&lt;/h3&gt;

&lt;p&gt;Cron is a service that runs scheduled commands. This means that we can set the script to be run at the same time every morning.&lt;/p&gt;

&lt;p&gt;To edit the crontab, run:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crontab -e&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I currently have a 07:00 alarm, so I appended the following line to the file that opens:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0 7 * * * /usr/bin/python2.7 /home/pi/wii-alarm-clock/alarm.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you want multiple times or specific days of the week, there are many references about more complex crontab expressions online. There are also websites that provide a GUI for generating entries.&lt;/p&gt;

&lt;h3 id=&quot;google-sheets&quot;&gt;Google Sheets&lt;/h3&gt;

&lt;p&gt;I decided to upload the data to a Google spreadsheet because it’s free and easy. This was done using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gspread&lt;/code&gt; library for Python, which hooks into Sheets via an API allowing CRUD operations.&lt;/p&gt;

&lt;p&gt;You will need to &lt;a href=&quot;https://gspread.readthedocs.io/en/latest/oauth2.html#enable-api-access-for-a-project&quot;&gt;follow the Gspread instructions&lt;/a&gt; to obtain a client secret. Once you have the secret and have ensured it has access to the sheet, edit the script to add the path to your secret. You will also need to add the sheet ID.&lt;/p&gt;

&lt;h4 id=&quot;the-sheet&quot;&gt;The Sheet&lt;/h4&gt;

&lt;p&gt;You will need to set your sheet up like the following:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/posts/wii-balance-sheet-headers.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The date in B1 should be the first date this will be used, as that’s used to calculate which row an entry should be on. This currently limits the sheet to holding one value per day.&lt;/p&gt;

&lt;h2 id=&quot;working-software&quot;&gt;Working Software&lt;/h2&gt;

&lt;p&gt;I found a few minor bugs after a couple of days of use; these have now been fixed.&lt;/p&gt;

&lt;p&gt;Overall, this was relatively trivial to set up; the hardest part was making the Google API token work correctly, since it initially didn’t seem to have the correct access to the spreadsheet.&lt;/p&gt;

</description>
        <pubDate>Sun, 16 Aug 2020 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//wii/balance/board/alarm/clock/daily/2020/08/16/wii-balance-board-alarm-clock-part-four-software-and-setup.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//wii/balance/board/alarm/clock/daily/2020/08/16/wii-balance-board-alarm-clock-part-four-software-and-setup.html</guid>
        
        
        <category>wii</category>
        
        <category>balance</category>
        
        <category>board</category>
        
        <category>alarm</category>
        
        <category>clock</category>
        
        <category>daily</category>
        
      </item>
      
    
      
      <item>
        <title>What happened to standardization?</title>
        <description>&lt;p&gt;Before the 1970s, there were only a couple of ways to contact someone: physically (by post or simply showing up at their house) or by landline. In the digital age, the options seem endless, with major categories being social networks, communication apps, and workplace instant messaging.&lt;/p&gt;

&lt;p&gt;One of the common features of instant messengers is that they are all incompatible with each other. If I want to talk to someone, I first need to figure out where they are, as my preferred client can’t talk to theirs.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/daily/2020-07-06-standards.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;what-this-means&quot;&gt;What this means&lt;/h2&gt;

&lt;p&gt;This can lead to worse outcomes for consumers as they have to split their attention over a fractured market. Often having to settle on a sub-optimal experience, with various workarounds to achieve their goals.&lt;/p&gt;

&lt;p&gt;This is happening in the digital streaming market at the moment. Multiple companies are creating their own streaming platforms, which means consumers must sign up and pay for multiple services to access all the content. This forces consumers to either pay a substantial sum or forgo content from some platforms.&lt;/p&gt;

&lt;p&gt;Other than the pain of using the different services, most of the time this causes a lock in effect, as all your data is stored within the service. Often this data without the service may become inaccessible or no longer processed for some IoT devices. This is in the companies favour as they can use this to make you continue paying for the service (either with cash or attention).&lt;/p&gt;

&lt;p&gt;Having the data stored in one place also leaves your data open to abuse. For example, Facebook has done some questionable things with people’s data. This data can be sold without your consent.&lt;/p&gt;

&lt;p&gt;These barriers to exit make it difficult to leave services you actively dislike, especially with social media platforms, where network effects make it even harder to leave.&lt;/p&gt;

&lt;p&gt;Keep on paying, you can’t leave.&lt;/p&gt;

&lt;h2 id=&quot;standard-and-x&quot;&gt;Standard and X&lt;/h2&gt;

&lt;p&gt;This is summed up by this great XKCD:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/daily/2020-07-06-xkcd-927.png&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;&lt;a href=&quot;https://xkcd.com/927/&quot;&gt;XKCD 927&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Often products want to add another feature as their unique selling point, so they create another standard with additional features and support for more use cases. The problem with multiple competing standards is that it leads to choice fatigue. At one point I spent some time trying to choose between Signal and Telegram but couldn’t decide, so I ended up choosing neither. This would also be true if trying to pick a standard to use in my app.&lt;/p&gt;

&lt;p&gt;Often in this case, it can be quicker to design a new protocol from scratch rather than research what already exists. This also means you won’t have to implement unnecessary features.&lt;/p&gt;

&lt;h2 id=&quot;standards-getting-hammered-over-time&quot;&gt;Standards getting hammered over time&lt;/h2&gt;

&lt;p&gt;Looking back at some of the standards that came about, it’s easy to gloss over the years where the standards wars happened. The classic case of this is the Betamax vs VCR war. However, this also happened in the internet realm with the browser wars which lead to browsers adding tags that only they supported but the other one didn’t.&lt;/p&gt;

&lt;p&gt;It takes time for the companies to come together to form an agreement or for one to beat the other.&lt;/p&gt;

&lt;h2 id=&quot;conclusions&quot;&gt;Conclusions&lt;/h2&gt;

&lt;p&gt;Is this actually a problem? I’m not sure, but I know I have a worse experience due to different platforms. At work, it’s Jira comments I won’t have seen, and in the streaming industry, it’s that new show.&lt;/p&gt;

&lt;p&gt;I’m not sure if this problem will go away. Many of the digital services are different because consumers essentially get them for free, with only the time cost of switching between platforms being a problem.&lt;/p&gt;

&lt;p&gt;This is different for the streaming example. I’m not sure how that’s going to turn out but I’m expecting to see a rise in piracy off the back of it.&lt;/p&gt;

&lt;p&gt;In other places, progress is slow, but it is happening. Products like USB are slowly becoming the connector standard to rule them all.&lt;/p&gt;
</description>
        <pubDate>Mon, 06 Jul 2020 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//daily/standardization/2020/07/06/what-happened-to-standardization.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//daily/standardization/2020/07/06/what-happened-to-standardization.html</guid>
        
        
        <category>daily</category>
        
        <category>standardization</category>
        
      </item>
      
    
      
      <item>
        <title>Wii Balance Board Alarm Clock – Closing the lid</title>
        <description>&lt;p&gt;&lt;em&gt;This is the fourth part of this series; &lt;a href=&quot;/wii/balance/board/alarm/clock/daily/2020/06/17/wii-balance-board-alarm-clock-part-one.html&quot;&gt;the first post is here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I was nervous, as previous projects have gone wrong at this stage. As things are made permanent, if a problem arises it’s much more difficult to fix, since you can’t easily access the connections to diagnose the issue.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/daily/2020-07-04-with-lid.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;getting-off-the-breadboard&quot;&gt;Getting off the breadboard&lt;/h2&gt;

&lt;p&gt;The first step was to carefully transfer each electrical connection from the breadboard to something more permanent. In this case, I decided to use &lt;a href=&quot;https://en.wikipedia.org/wiki/Perfboard&quot;&gt;perfboard&lt;/a&gt;. Perfboard is made from the same materials as a PCB but instead of forming circuits it has a grid of pads that you connect yourself.&lt;/p&gt;

&lt;p&gt;In my case I had perfboard with horizontal rows of connections. Occasionally, I had to cut through a ridge in the board to break the row. For example, the screw holding the board down would have bridged three rows.&lt;/p&gt;

&lt;p&gt;At this stage, I decided to use female connectors on the Pi’s header pins, which allows me to remove the Pi in the future if needed.&lt;/p&gt;

&lt;p&gt;I constantly tested my project throughout this process to catch any mistakes early. Fortunately, I managed it without any issues perhaps because it’s such a simple circuit.&lt;/p&gt;

&lt;h2 id=&quot;cut-and-glue&quot;&gt;Cut and glue&lt;/h2&gt;

&lt;p&gt;With the circuit completed, I needed to ensure it would fit inside the balance board. The space was just big enough between the reinforcing plastic inside.&lt;/p&gt;

&lt;p&gt;The orientation of the Pi meant that a few header pins were separated by the reinforcements. This caused a problem when I connected the Pi to the perfboard, since the separated pins required a connector, preventing them from fitting on either side of the ridge. Therefore, I slightly shifted the Pi across and enlarged the hole in the battery holder to accommodate the USB cable.&lt;/p&gt;

&lt;p&gt;Once it looked like everything would fit, I hot-glued a piece of plastic into a corner and secured the perfboard and Raspberry Pi with a screw. It flexes slightly on the other side, but overall, I thought it was good enough, it’s not going to move much.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/daily/2020-07-04-no-lid.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;closed&quot;&gt;Closed&lt;/h2&gt;

&lt;p&gt;With the electronics in place, I just needed to put the board back together. At this stage, I drilled a hole in the battery cover to pass the USB cable through.&lt;/p&gt;

&lt;p&gt;I tested it, and it worked! You can see it in action in the bonus video below.&lt;/p&gt;

&lt;p&gt;Now I just need to finish the software, and we’ll have a working alarm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bonus&lt;/strong&gt;: here is a video of the closed board:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/h7Tl9O--0gU&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

</description>
        <pubDate>Sat, 04 Jul 2020 12:00:00 +0000</pubDate>
        <link>https://www.niallbunting.com//wii/balance/board/alarm/clock/daily/2020/07/04/wii-balance-board-alarm-clock-part-four-closing-lid.html</link>
        <guid isPermaLink="true">https://www.niallbunting.com//wii/balance/board/alarm/clock/daily/2020/07/04/wii-balance-board-alarm-clock-part-four-closing-lid.html</guid>
        
        
        <category>wii</category>
        
        <category>balance</category>
        
        <category>board</category>
        
        <category>alarm</category>
        
        <category>clock</category>
        
        <category>daily</category>
        
      </item>
      
    
  </channel>
</rss>
