diff --git a/.github/workflows/build-image.yml b/.github/workflows/docker-build-push.yml similarity index 50% rename from .github/workflows/build-image.yml rename to .github/workflows/docker-build-push.yml index d585c67..98cb137 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/docker-build-push.yml @@ -1,9 +1,7 @@ name: Create and publish a Docker image on: - push: - branches: - - main + workflow_call: env: REGISTRY: ghcr.io @@ -26,20 +24,33 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Figure out branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + - name: Determine docker image tag + shell: bash + id: determine_tag + run: | + if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then + echo "tag=latest" >> $GITHUB_OUTPUT + else + echo "tag=${{ steps.extract_branch.outputs.branch }}" >> $GITHUB_OUTPUT + fi - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }} - + # Buildx for caching + - uses: docker/setup-buildx-action@v3 - name: Build and push Docker image - uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + uses: docker/build-push-action@v5 with: context: . push: true - tags: ${{ steps.meta.outputs.tags }} + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.determine_tag.outputs.tag }} labels: ${{ steps.meta.outputs.labels }} - + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/release-book-website.yml b/.github/workflows/release-book-website.yml new file mode 100644 index 0000000..85a4600 --- /dev/null +++ b/.github/workflows/release-book-website.yml @@ -0,0 +1,100 @@ +name: Release the book and website + +on: + push: + branches: + - main +env: + IMAGE: ghcr.io/${{ github.repository }}:latest + +jobs: + build-and-push-image: + uses: ./.github/workflows/docker-build-push.yml + + release-book-website: + needs: build-and-push-image + runs-on: ubuntu-latest + steps: + - name: Set up git repository + uses: actions/checkout@v3 + - name: Print dependency versions + uses: addnab/docker-run-action@v3 + with: + image: ${{ env.IMAGE }} + options: -v ${{ github.workspace }}:/app + run: | + cd /app/book + make show_tools_version + - name: Print build variables + uses: addnab/docker-run-action@v3 + with: + image: ${{ env.IMAGE }} + options: -v ${{ github.workspace }}:/app + run: | + cd /app/book + make printvars + - name: Bake the book + uses: addnab/docker-run-action@v3 + with: + image: ${{ env.IMAGE }} + options: -v ${{ github.workspace }}:/app + run: | + cd /app/book + make -j bake + - name: Release baked book to S3 + uses: shallwefootball/s3-upload-action@master + with: + aws_key_id: ${{ secrets.AWS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} + aws_bucket: ${{ secrets.AWS_BUCKET_BOOK }} + source_dir: book/release + destination_dir: release + - name: Bake the website + uses: addnab/docker-run-action@v3 + with: + image: ${{ env.IMAGE }} + options: -v ${{ github.workspace }}:/app + run: | + cd /app/book + make website + - name: Release baked website to S3 + uses: shallwefootball/s3-upload-action@master + with: + aws_key_id: ${{ secrets.AWS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} + aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }} + source_dir: website/static_website_html + destination_dir: static_html_root + - name: Upload book Artifacts + uses: actions/upload-artifact@v3 + with: + name: books + path: | + book/book_serif/book.log + book/book_serif/book.pdf + book/book-epub/book.epub + - name: Upload website Artifacts + uses: actions/upload-artifact@v3 + with: + name: website + path: website/static_website_html + invalidate-book-website-cache: + needs: release-book-website + runs-on: ubuntu-latest + steps: + - name: Invalidate Cloudfront book cache + uses: chetan/invalidate-cloudfront-action@v2 + env: + DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_BOOK }} + PATHS: "/*" + AWS_REGION: "us-east-1" + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + - name: Invalidate Cloudfront website cache + uses: chetan/invalidate-cloudfront-action@v2 + env: + DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_WEBSITE }} + PATHS: "/*" + AWS_REGION: "us-east-1" + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/release-book.yml b/.github/workflows/release-book.yml deleted file mode 100644 index 65738ea..0000000 --- a/.github/workflows/release-book.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Release the book -on: - push: - branches: - - main -jobs: - build_and_release: - runs-on: ubuntu-latest - steps: - - name: Set up git repository - uses: actions/checkout@v3 - - name: Print dependency versions - uses: addnab/docker-run-action@v3 - with: - image: ghcr.io/hendricius/the-sourdough-framework:latest - options: -v ${{ github.workspace }}:/app - run: | - cd /app/book - make show_tools_version - - name: Print build variables - uses: addnab/docker-run-action@v3 - with: - image: ghcr.io/hendricius/the-sourdough-framework:latest - options: -v ${{ github.workspace }}:/app - run: | - cd /app/book - make printvars - - name: Bake the book - uses: addnab/docker-run-action@v3 - with: - image: ghcr.io/hendricius/the-sourdough-framework:latest - options: -v ${{ github.workspace }}:/app - run: | - cd /app/book - make -j bake - - name: Release baked book to S3 - uses: shallwefootball/s3-upload-action@master - with: - aws_key_id: ${{ secrets.AWS_KEY_ID }} - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} - aws_bucket: ${{ secrets.AWS_BUCKET_BOOK }} - source_dir: book/release - destination_dir: release - - name: Invalidate Cloudfront book cache - uses: chetan/invalidate-cloudfront-action@v2 - env: - DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_BOOK }} - PATHS: "/*" - AWS_REGION: "us-east-1" - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/release-website.yml b/.github/workflows/release-website.yml deleted file mode 100644 index 84ad60f..0000000 --- a/.github/workflows/release-website.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Release the website -on: - push: - branches: - - main -jobs: - build_and_release: - runs-on: ubuntu-latest - steps: - - name: Set up git repository - uses: actions/checkout@v3 - - name: Print dependency versions - uses: addnab/docker-run-action@v3 - with: - image: ghcr.io/hendricius/the-sourdough-framework:latest - options: -v ${{ github.workspace }}:/app - run: | - cd /app/book - make show_tools_version - - name: Print build variables - uses: addnab/docker-run-action@v3 - with: - image: ghcr.io/hendricius/the-sourdough-framework:latest - options: -v ${{ github.workspace }}:/app - run: | - cd /app/book - make printvars - - name: Bake the book - uses: addnab/docker-run-action@v3 - with: - image: ghcr.io/hendricius/the-sourdough-framework:latest - options: -v ${{ github.workspace }}:/app - run: | - cd /app/book - make website - - name: Release baked website to S3 - uses: shallwefootball/s3-upload-action@master - with: - aws_key_id: ${{ secrets.AWS_KEY_ID }} - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} - aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }} - source_dir: website/static_website_html - destination_dir: static_html_root - - name: Invalidate Cloudfront website cache - uses: chetan/invalidate-cloudfront-action@v2 - env: - DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_WEBSITE }} - PATHS: "/*" - AWS_REGION: "us-east-1" - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/validate-book-build.yml b/.github/workflows/test-book-website.yml similarity index 76% rename from .github/workflows/validate-book-build.yml rename to .github/workflows/test-book-website.yml index 22dc3c1..8afd33f 100644 --- a/.github/workflows/validate-book-build.yml +++ b/.github/workflows/test-book-website.yml @@ -1,13 +1,17 @@ -name: Validate LaTeX Document +name: Test building book and website + on: - push: - branches: - - '**' # All branches - - '!main' # But main as will do it anyway and more in release_book pull_request: +env: + IMAGE: ghcr.io/${{ github.repository }}:${{ github.event.pull_request.head.ref }} + jobs: - test_building_book: + build-and-push-image: + uses: ./.github/workflows/docker-build-push.yml + + test-building-book-website: + needs: build-and-push-image runs-on: ubuntu-latest steps: - name: Set up git repository @@ -15,7 +19,7 @@ jobs: - name: Print dependency versions uses: addnab/docker-run-action@v3 with: - image: ghcr.io/hendricius/the-sourdough-framework:latest + image: ${{ env.IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book @@ -23,7 +27,7 @@ jobs: - name: Print build variables uses: addnab/docker-run-action@v3 with: - image: ghcr.io/hendricius/the-sourdough-framework:latest + image: ${{ env.IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book @@ -31,7 +35,7 @@ jobs: - name: Test baking the release versions uses: addnab/docker-run-action@v3 with: - image: ghcr.io/hendricius/the-sourdough-framework:latest + image: ${{ env.IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book @@ -39,7 +43,7 @@ jobs: - name: Test building website uses: addnab/docker-run-action@v3 with: - image: ghcr.io/hendricius/the-sourdough-framework:latest + image: ${{ env.IMAGE }} options: -v ${{ github.workspace }}:/app run: | cd /app/book diff --git a/book/baking/baking.tex b/book/baking/baking.tex index 60a3392..c7b82ea 100644 --- a/book/baking/baking.tex +++ b/book/baking/baking.tex @@ -266,7 +266,7 @@ top of other tools can be quite a hefty investment. For this reason, I advocate the inverted tray method visualized in the next section. In case you do not own an oven consider trying the simple flatbread recipe which is baked in a pan. Please -refer to Section~\ref{section:flat-bread-recipe} for more details. +refer to Section~\ref{subsec:flat-bread-recipe} for more details. \subsection{Inverted tray method} diff --git a/book/bread-types/bread-types.tex b/book/bread-types/bread-types.tex index 0401847..a74640e 100644 --- a/book/bread-types/bread-types.tex +++ b/book/bread-types/bread-types.tex @@ -1,11 +1,23 @@ +\chapter{Bread types}% +\label{ch:bread-types} \begin{quoting} In this chapter you will learn about different bread types and their -advantages and disadvantages. At the end of this chapter you can find a very -simple flatbread recipe. This is probably the most accessible, least effort -type of bread you can make. If you are a busy person and/or don't have an -oven, this might be exactly the type of bread you should consider. +advantages and disadvantages. You can also find very simple recipes for +flatbread and pan loaf. The former is probably the most accessible, least +effort type of bread you can make, while the latter is a little more involved. +Free standing bread has its own chapter, due to its increased complexity. \end{quoting} +\section{Introduction}% +\label{sec:intro} + +In this section we classify bread by its baking techniques. The appearance and +taste will of course be different, but you can get excellent bread with each +of them. Some breads will require investment and technique, as depicted in +Table~\ref{tab:bread-types-comparison}. Flatbread is probably the most +accessible, least effort type of bread you can make. If you are a busy person +and/or don’t have an oven, this might be exactly the type of bread you should +consider. \begin{table}[!htb] \begin{center} \input{tables/table-overview-bread-types.tex} @@ -15,7 +27,8 @@ oven, this might be exactly the type of bread you should consider. \end{center} \end{table} -\section{Flatbread} +\section{Flatbread}% +\label{sec:flatbread} Flatbread is probably the simplest sourdough bread to make. To make a flatbread no oven is required; all you need is a stove. @@ -24,7 +37,7 @@ To make a flatbread no oven is required; all you need is a stove. \includegraphics[width=\textwidth]{flat-breads-selection} \caption[Flatbread selection with different flours]{An assorted selection of different flatbreads made with sourdough. From left to right: - Wheat tortilla, rye, spelt and corn.}% + Wheat~tortilla, rye, spelt and corn.}% \end{figure} This type of bread is super simple to make as you can skip @@ -33,19 +46,258 @@ can be made with all kinds of flours. You can even use flour without gluten, such as corn or rice flour, to make the dough. To make the flatbread a little more fluffy, you can use a little bit of wheat flour. The developing gluten -will trap the gasses. During baking, these gasses will +will trap the gases. During baking, these gases will inflate the dough. Another trick to improve the texture of the flatbread is to make a very wet dough. A lot of the water will evaporate during the baking process and thus make the bread fluffier. - If your water content is very high, it will produce a -pancake-like consistency. +pancake-like consistency, as you can see in +Table~\ref{tab:flat-bread-ingredients} -Refer to Section~\ref{section:flat-bread-recipe}~``\nameref{section:flat-bread-recipe}'' -to see a full recipe including the process of making such a flatbread. +\begin{table}[!htb] + \begin{center} + \input{tables/table-flat-bread-pancake-recipe.tex} + \caption[Flatbread recipe]{Flatbread or pancake recipe for 1 person. + Multiply the ingredients to increase portion size. Refer to the + Section~\ref{section:bakers-math} + ``\nameref{section:bakers-math}'' to learn how to understand and + use the percentages properly.}% + \label{tab:flat-bread-ingredients} + \end{center} +\end{table} +For a full recipe including the process of making such a flatbread, refer to +Subsection~\ref{subsec:flat-bread-recipe} + +\subsection{Flatbread framework}% +\label{subsec:flat-bread-framework} + +As explained above, if you are just getting started, making a flatbread is the +easiest way to start making great bread at home. With just a +few steps, you can stop buying bread forever. This works with +any flour, including gluten-free options. + +\begin{flowchart}[!htb] +\begin{center} + \input{figures/fig-process-flat-bread.tex} + \caption[The process to make a sourdough flatbread]{The process of making a flatbread is very + simple, requiring very little effort. This type of bread is especially + handy for busy bakers.}% + \label{fig:flat-bread-process} +\end{center} +\end{flowchart} + +This is my go-to recipe that I~use to make bread whenever +I~have little time or when I~am abroad. You can choose +between two options: +% +\begin{enumerate} + \item A flatbread similar to a roti or naan bread + \item Sourdough pancakes. +\end{enumerate} + +To get started prepare your sourdough starter. If it has not been used for a very +long time, consider giving it another feed. To do so, simply take \qty{1}{\gram} of your +existing sourdough starter and feed it with \qty{5}{\gram} of flour and \qty{5}{\gram} of water. +If you do this in the morning, your sourdough starter will be ready in the evening. The +warmer it is, the sooner it will be ready, consider +using warm water if it is very cold where you live. + +\begin{figure}[htb!] +\begin{center} + \includegraphics[width=1.0\textwidth]{flat-bread-wheat} + \caption[Wheat flatbread]{A flatbread made with purely wheat flour. The + dough is drier at around \qty{60}{\percent} hydration. The drier dough + is a little harder to mix. As wheat contains more gluten, the dough + puffs up during the baking process.} +\end{center} +\end{figure} + +This way you should have around \qty{11}{\gram} of sourdough ready in the evening. You will have +the perfect quantity to make a dough for one person. In case you want to make more +bread, simply multiply the quantities shown in +Table~\ref{tab:flat-bread-ingredients}. + +Then in the evening simply mix the ingredients as shown in the table. Your dough +is going to be ready in the morning. It's typically ready after 6--12~hours. If +you use more sourdough starter it will be ready faster, conversely it will take +longer if you use less. Try to aim for a fermentation time of 8--12~hours as +by using your dough too soon, the flavor might not be as good. By using your +dough later it might become a little more sour. The best option is to +experiment and see what you personally like the most. + +After mixing the ingredients together cover the container, this prevents the +dough from drying out and makes +sure no fruit flies get access. A transparent container will be helpful +when getting started. You can observe the dough more easily and see when +it is ready. + +\begin{figure}[htb] +\begin{center} + \includegraphics[width=1.0\textwidth]{ethiopian-woman-checking-bread} + \caption[Ethiopian \emph{injera}]{An Ethiopian woman baking an \emph{injera} + made using teff flour. The image has been provided by Charliefleurene + via Wikipedia.} +\end{center} +\end{figure} + +If you used the flatbread option with less water, look at the size increase +of your dough. It should have increased at least \qty{50}{\percent} in size. +Also look out for bubbles on the sides of your container. + +When using the pancake recipe, look out for bubbles on the surface of your dough. +In both cases use your nose to check the scent of your dough. Depending +on your sourdough starter's microbiome your dough will have +dairy, fruity, alcoholic notes or vinegary, acetic notes. Relying +on the smell of your dough is the best way to judge whether your +dough is ready or not. Timings are not reliable as they +depend on your starter and the temperature. If your dough +is ready too soon, you can now move it directly to the fridge and bake +it at a later, more convenient time. The low temperature will halt the fermentation +process\footnote{There are some exceptions. In some rare cases your starter +might also work at lower temperatures. You might have cultivated microbes that work best at +low temperatures. Nevertheless, fermentation +is always slower the colder it gets. A fridge really helps to preserve the state +of your dough.} +and your dough will last for several days. The longer you wait, the more sour the +bread is going to be. The fridge is a great option in case you want to +take the dough with you when visiting friends. People are going +to love you for the freshly baked flatbreads or pancakes. If you dare, +you can also taste a little bit of your raw uncooked dough. It is likely +going to taste relatively sour. I~do this frequently to better evaluate the +state of my doughs. + +\begin{figure}[!htb] +\begin{center} + \includegraphics[width=1.0\textwidth]{injera-pancake-texture.jpg} + \caption[Teff sourdough pancake]{A sourdough pancake made with teff flour. + The pockets come from evaporated water and \ch{CO2} created by the + microbes. The image has been provided by Łukasz Nowak via Wikipedia.} +\end{center} +\end{figure} + +If you are feeling lazy or don't have time, you could also use older sourdough starter +to make the dough directly without any prior starter feedings. Your sourdough starter +is going to regrow inside your dough. Remember that the +final bread might be a bit more on the sour side as the balance of yeast to +bacteria could be off. In the Table~\ref{tab:flat-bread-ingredients} +I~recommended using around \qtyrange{5}{20}{\percent} +of sourdough starter based on the flour to make the dough. If you were to follow +this approach, just use around \qty{1}{\percent} and make the dough directly. +The dough is probably going to be ready 24~hours later, depending on the temperature. + +If you want to make sweet pancakes, add some sugar and optional eggs to your dough +now. A good quantity of eggs is around one~egg per \qty{100}{\gram} of flour. +Stir your dough a little bit and it will be ready to be used. You'll +have delicious sweet savory pancakes, the perfect combination. By +adding the sugar now, you make sure that the microbes don't have +enough time to fully ferment it. If you had added the sugar +earlier, no sweet flavor would be left 12~hours later. + +To bake your dough heat your stove to medium temperature. Add a little bit of +oil to the pan. This helps with heat distribution and ensures even cooking. +With a spatula or a spoon place your dough in the pan. If your dough +was sitting in the fridge, bake it directly. There is no need to wait for your +dough to come to room temperature. If you have a lid, +place it on your pan. The lid helps to cook your dough from the top. +The evaporating water will circulate and heat up the dough's surface. When +making a flatbread, make the dough around \qty{1}{\cm} thick. When using the +pancake option, opt for around \qtyrange{0.1}{0.5}{\cm} depending on what you +like. + +\begin{figure}[htb] +\begin{center} + \includegraphics[width=1.0\textwidth]{einkorn-crumb.jpg} + \caption[Einkorn crum]{The crumb of a flatbread made with einkorn as flour. + Einkorn is very low in gluten and thus does not trap as much \ch{CO2} as + a wheat based dough. To make the dough fluffier use more water or + consider adding more wheat to the mix of your dough.} +\end{center} +\end{figure} + +After 2--4~minutes flip over the pancake or flatbread. Bake it for the same +time from the other side. Depending on what you like, you can wait a little +longer to allow the bread to become a bit charred. The longer you +bake your bread, the more of the acidity is going to evaporate. If your +dough is a bit more on the sour side, you can use this trick to balance +out the acidity. This really depends on which flavor you are looking for. + +When making a flatbread I~recommend wrapping the baked flatbreads in a kitchen +towel. This way more of the evaporating humidity stays inside of your bread, +making sure your flatbreads stay nice and fluffy for a longer period after the +bake. A similar strategy is used when making corn tortillas. + +You can safely store the baked flatbreads or pancakes in your fridge +for weeks. When storing make sure to store them in an airtight plastic bag so that +they do not dry out. + +Keep a little bit of your unbaked dough. You can use it to make the next +batch of bread or pancakes for the next day. If you want to bake a few days later, add +a little bit of water and flour and store this mixture in your fridge +for as long as you like\footnote{The starter will stay good for months. If you expect to +leave it longer, consider drying a little bit of your sourdough starter.}. + +\subsection{Simple flatbread recipe}% +\label{subsec:flat-bread-recipe} + +By following the steps outlined in this section, +you'll be introduced to a versatile bread that's perfect for a myriad of +culinary applications. Whether you're scooping up a savory dip, +wrapping a flavorful filling, or simply enjoying a piece with a drizzle +of olive oil, these flatbreads are sure to impress. + +\subsubsection*{Ingredients} + +\begin{tabular}{r@{}rl@{}} +\qty{400}{\gram} &~(\qty{100}{\percent}) & Flour (wheat, rye, corn, whatever you have at hand)\\ +\qty{320}{\gram} & (\qty{80}{\percent}) & Water, preferably at room temperature\\ +\qty{80}{\gram} & (\qty{20}{\percent}) & Active sourdough starter\\ +\qty{8}{\gram} & (\qty{2}{\percent}) & Salt\\ +\end{tabular} + +\subsubsection*{Instructions} +\begin{description} +\item[Prepare the dough] In a large mixing bowl, combine the flour and water. +Mix until you have a shaggy dough with no dry spots. + +Add the sourdough starter and salt to the mixture. Incorporate them thoroughly +until you achieve a smooth and homogenized dough. + +\item[Fermentation:] Cover the bowl with a lid or plastic wrap. Allow the dough + to rest and ferment until it has increased by at least \qty{50}{\percent} + in size. Depending on the temperature and activity of your starter, this + can take anywhere from 4 to 24~hours. + +\item[Cooking preparation:] Once the dough has risen, heat a pan over medium heat. +Lightly oil the pan, ensuring to wipe away any excess oil with a paper towel. + +\item[Shaping and cooking:] With a ladle or your hands, scoop out a portion of +the dough and place it onto the hot pan, spreading it gently like a pancake. + +Cover the pan with a lid. This traps the steam and ensures even cooking +from the top, allowing for easier flipping later. + +After about 5~minutes, or when the bottom of the flatbread has a +golden-brown crust, carefully flip it using a spatula. + +\emph{Adjusting cook time.} If the flatbread appears too dark, +remember to reduce the cooking time slightly for the next one. +Conversely, if it's too pale, allow it to cook a bit longer before flipping. + +Cook the flipped side for an additional 5~minutes or until it's also golden +brown. + +\item[Storing:] Once cooked, remove the flatbread from the pan and place it on a +kitchen towel. Wrapping the breads in the towel will help retain their +softness and prevent them from becoming overly crisp. +Repeat the cooking process for the remaining dough. + +\item[Serving suggestion:] Enjoy your sourdough flatbreads warm, +paired with your favorite dips, spreads, or as a side to any meal. + +\end{description} \section{Loaf pan bread} Loaf pan bread is made using the help of a special loaf pan @@ -133,15 +385,13 @@ and tools are required. \end{center} \end{figure} -Normally you mix your dough. When using wheat you make sure -that you mix enough to develop a gluten network. -You allow the dough to reach -a certain size increase during the fermentation. Afterwards you divide and pre-shape -the dough into the desired visual shape that you like. -Each shape requires a different technique. Sometimes achieving -exactly the right shape can be challenging. Making a baguette, -for instance, requires you to perform more steps. Mastering this -technique takes several attempts. +Normally you mix your dough, when using wheat you make sure that you mix +enough to develop a gluten network. You allow the dough to reach a certain +size increase during the fermentation, afterwards you divide and pre-shape the +dough into the desired visual shape that you like. Each shape requires a +different technique. Sometimes achieving exactly the right shape can be +challenging, making a baguette for instance, requires you to perform more +steps. Mastering this technique takes several attempts. Once the dough is shaped, it is proofed again for a certain period of time. Once the dough is ready, a sharp tool such @@ -154,245 +404,4 @@ But after baking you will be rewarded with a beautiful bread with great taste and consistency. There is a fully dedicated recipe and tutorial -for this type of bread in the~''\nameref{chapter:wheat-sourdough}''~chapter. - -\section{Flatbread framework}% -\label{section:flat-bread-framework} - -If you are just getting started, making a flatbread is the -easiest way to start making great bread at home. With just a -few steps, you can stop buying bread forever. This works with -any flour, including gluten-free options. - -\begin{flowchart}[!htb] -\begin{center} - \input{figures/fig-process-flat-bread.tex} - \caption[The process to make a sourdough flatbread]{The process of making a flatbread is very - simple, requiring very little effort. This type of bread is especially - handy for busy bakers.}% - \label{fig:flat-bread-process} -\end{center} -\end{flowchart} - -This is my go-to recipe that I~use to make bread whenever -I~have little time or when I~am abroad. You can choose -between two options: -% -\begin{enumerate} - \item A flatbread similar to a roti or naan bread - \item sourdough pancakes. -\end{enumerate} - -\begin{table}[!htb] - \begin{center} - \input{tables/table-flat-bread-pancake-recipe.tex} - \caption[Flatbread recipe]{Flatbread or pancake recipe for 1 person. - Multiply the ingredients to increase portion size. Refer to the - Section~\ref{section:bakers-math} - ``\nameref{section:bakers-math}'' to learn how to understand and - use the percentages properly.}% - \label{tab:flat-bread-ingredients} - \end{center} -\end{table} - -To get started prepare your sourdough starter. If it has not been used for a very -long time, consider giving it another feed. To do so simply take \qty{1}{\gram} of your -existing sourdough starter and feed it with \qty{5}{\gram} of flour and \qty{5}{\gram} of water. -If you do this in the morning, your sourdough starter will be ready in the evening. The -warmer it is, the sooner it will be ready. If it is very cold where you live, consider -using warm water. - -\begin{figure}[htb!] -\begin{center} - \includegraphics[width=1.0\textwidth]{flat-bread-wheat} - \caption[Wheat flatbread]{A flatbread made with purely wheat flour. The - dough is drier at around \qty{60}{\percent} hydration. The drier dough - is a little harder to mix. As wheat contains more gluten, the dough - puffs up during the baking process.} -\end{center} -\end{figure} - -This way you should have around \qty{11}{\gram} of sourdough ready in the evening. You will have -the perfect quantity to make a dough for one person. In case you want to make more -bread, simply multiply the quantities shown in -Table~\ref{tab:flat-bread-ingredients}. - -Then in the evening simply mix the ingredients as shown in the table. Your dough -is going to be ready in the morning. It's typically ready after 6--12~hours. If -you use more sourdough starter, it will be ready faster. If you use less it will take -longer. Try to aim for a fermentation time of 8--12~hours. If you use -your dough too soon, the flavor might not be as good. If you use it later -your dough might be a little more sour. The best option is to experiment -and see what you personally like the most. - -After mixing the ingredients together, cover the container in which -you made the dough. This prevents the dough from drying out and makes -sure no fruit flies get access. A transparent container will be helpful -when getting started. You can observe the dough more easily and see when -it is ready. - -\begin{figure}[htb!] -\begin{center} - \includegraphics[width=1.0\textwidth]{ethiopian-woman-checking-bread} - \caption[Ethiopian \emph{injera}]{An Ethiopian woman baking an \emph{injera} - made using teff flour. The image has been provided by Charliefleurene - via Wikipedia.} -\end{center} -\end{figure} - -If you used the flatbread option with less water, look at the size increase -of your dough. The dough should have increased at least \qty{50}{\percent} in size. -Also look out for bubbles on the sides of your container. -When using the pancake recipe, look out for bubbles on the surface of your dough. -In both cases use your nose to check the scent of your dough. Depending -on your sourdough starter's microbiome your dough will have -dairy, fruity, alcoholic notes or vinegary, acetic notes. Relying -on the smell of your dough is the best way to judge whether your -dough is ready or not. Timings are not reliable as they -depend on your starter and the temperature. If your dough -is ready too soon, you can now move it directly to the fridge and bake -it at a later, more convenient time. The low temperature will halt the fermentation -process\footnote{There are some exceptions. In some rare cases your starter -might also work at lower temperatures. You might have cultivated microbes that work best at -low temperatures. Nevertheless, fermentation -is always slower the colder it gets. A fridge really helps to preserve the state -of your dough.}. -and your dough will last for several days. The longer you wait, the more sour the -bread is going to be. The fridge is a great option in case you want to -take the dough with you when visiting friends. People are going -to love you for the freshly baked flatbreads or pancakes. If you dare, -you can also taste a little bit of your raw uncooked dough. It is likely -going to taste relatively sour. I~do this frequently to better evaluate the -state of my doughs. - - -\begin{figure}[htb!] -\begin{center} - \includegraphics[width=1.0\textwidth]{injera-pancake-texture.jpg} - \caption[Teff sourdough pancake]{A sourdough pancake made with teff flour. - The pockets come from evaporated water and \ch{CO2} created by the - microbes. The image has been provided by Lukasz Nowak via Wikipedia.} -\end{center} -\end{figure} - -If you are feeling lazy or don't have time, you could also use older sourdough starter -to make the dough directly without any prior starter feedings. Your sourdough starter -is going to regrow inside your dough. The -final bread might be a bit more on the sour side as the balance of yeast to -bacteria could be off. In the Table~\ref{tab:flat-bread-ingredients} -I~recommended using around \qtyrange{5}{20}{\percent} -of sourdough starter based on the flour to make the dough. If you were to follow -this approach, just use around \qty{1}{\percent} and make the dough directly. -The dough is probably going to be ready 24~hours later, depending on the temperature. - -If you want to make sweet pancakes, add some sugar and optional eggs to your dough -now. A good quantity of eggs is around 1 egg per \qty{100}{\gram} of flour. -Stir your dough a little bit and it will be ready to be used. You'll -have delicious sweet savory pancakes, the perfect combination. By -adding the sugar now, you make sure that the microbes don't have -enough time to fully ferment it. If you had added the sugar -earlier, no sweet flavor would be left 12~hours later. - -To bake your dough heat your stove to medium temperature. Add a little bit of -oil to the pan. This helps with heat distribution and ensures even cooking. -With a spatula or a spoon place your dough in the pan. If your dough -was sitting in the fridge, bake it directly. There is no need to wait for your -dough to come to room temperature. If you have a lid, -place it on your pan. The lid helps to cook your dough from the top. -The evaporating water will circulate and heat up the dough's surface. When -making a flatbread, make the dough around \qty{1}{\cm} thick. When using the -pancake option, opt for around \qtyrange{0.1}{0.5}{\cm} depending on what you -like. - -\begin{figure}[htb!] -\begin{center} - \includegraphics[width=1.0\textwidth]{einkorn-crumb.jpg} - \caption[Einkorn crum]{The crumb of a flatbread made with einkorn as flour. - Einkorn is very low in gluten and thus does not trap as much \ch{CO2} as - a wheat based dough. To make the dough fluffier use more water or - consider adding more wheat to the mix of your dough.} -\end{center} -\end{figure} - -After 2--4~minutes flip over the pancake or flatbread. Bake it for the same -time from the other side. Depending on what you like, you can wait a little -longer to allow the bread to become a bit charred. The longer you -bake your bread, the more of the acidity is going to evaporate. If your -dough is a bit more on the sour side, you can use this trick to balance -out the acidity. This really depends on which flavor you are looking for. - -When making a flatbread I~recommend wrapping the baked flatbreads -in a kitchen towel. This way more of the evaporating humidity -stays inside of your bread. This makes sure your flatbreads stay -nice and fluffy for a longer period after the bake. A similar strategy is -used when making corn tortillas. - -You can safely store the baked flatbreads or pancakes in your fridge -for weeks. When storing make sure to store them in an airtight plastic bag so that -they do not dry out. - -Keep a little bit of your unbaked dough. You can use it to make the next -batch of bread or pancakes for the next day. If you want to bake a few days later, add -a little bit of water and flour and store this mixture in your fridge -for as long as you like\footnote{The starter will stay good for months. If you expect to -leave it longer, consider drying a little bit of your sourdough starter.}. - -\section{Simple flatbread recipe}% -\label{section:flat-bread-recipe} - -By following the steps outlined in this section, -you'll be introduced to a versatile bread that's perfect for a myriad of -culinary applications. Whether you're scooping up a savory dip, -wrapping a flavorful filling, or simply enjoying a piece with a drizzle -of olive oil, these flatbreads are sure to impress. - -\subsection*{Ingredients} - -\begin{tabular}{r@{}rl@{}} -\qty{400}{\gram} &~(\qty{100}{\percent}) & Flour (wheat, rye, corn, whatever you have at hand)\\ -\qty{320}{\gram} & (\qty{80}{\percent}) & Water, preferably at room temperature\\ -\qty{80}{\gram} & (\qty{20}{\percent}) & Active sourdough starter\\ -\qty{8}{\gram} & (\qty{2}{\percent}) & Salt\\ -\end{tabular} - -\subsection*{Instructions} -\begin{description} -\item[Prepare the Dough] In a large mixing bowl, combine the flour and water. -Mix until you have a shaggy dough with no dry spots. - -Add the sourdough starter and salt to the mixture. Incorporate them thoroughly -until you achieve a smooth and homogenized dough. - -\item[Fermentation] Cover the bowl with a lid or plastic wrap. Allow the dough - to rest and ferment until it has increased by at least \qty{50}{\percent} - in size. Depending on the temperature and activity of your starter, this - can take anywhere from 4 to 24~hours. - -\item[Cooking Preparation] Once the dough has risen, heat a pan over medium heat. -Lightly oil the pan, ensuring to wipe away any excess oil with a paper towel. - -\item[Shaping and Cooking] With a ladle or your hands, scoop out a portion of -the dough and place it onto the hot pan, spreading it gently like a pancake. - -Cover the pan with a lid. This traps the steam and ensures even cooking -from the top, allowing for easier flipping later. - -After about 5~minutes, or when the bottom of the flatbread has a -golden-brown crust, carefully flip it using a spatula. - -\item[Adjusting Cook Time] If the flatbread appears too dark, -remember to reduce the cooking time slightly for the next one. -Conversely, if it's too pale, allow it to cook a bit longer before flipping. - -Cook the flipped side for an additional 5~minutes or until it's also golden -brown. - -\item[Storing] Once cooked, remove the flatbread from the pan and place it on a -kitchen towel. Wrapping the breads in the towel will help retain their -softness and prevent them from becoming overly crisp. -Repeat the cooking process for the remaining dough. - -\item[Serving Suggestion] Enjoy your sourdough flatbreads warm, -paired with your favorite dips, spreads, or as a side to any meal. - -\end{description} +for this type of bread in the~''\nameref{chapter:wheat-sourdough}''~Chapter. diff --git a/book/figures/fig-sourdough-history-timeline.tex b/book/figures/fig-sourdough-history-timeline.tex new file mode 100644 index 0000000..9b41b2c --- /dev/null +++ b/book/figures/fig-sourdough-history-timeline.tex @@ -0,0 +1,69 @@ +\begin{tikzpicture} + \pgfmathsetlengthmacro{\timelinewidth}{(\textwidth-0.5cm)} + + % Define the width of each segment + \pgfmathsetlengthmacro{\segmentwidth}{\timelinewidth/12} + + % Draw horizontal lines + \draw[line width=1pt, color=hlorange] (0,0) -- (\timelinewidth/2,0); + \draw[line width=1pt] (\timelinewidth/2,0) -- (\timelinewidth/2 +1.5*\segmentwidth/3,0); + \draw[line width=1pt] (\timelinewidth/2 + 2*\segmentwidth/3,0) --(\timelinewidth, 0); + \draw[line width=1pt] (\timelinewidth/2+1.5*\segmentwidth/3-5,-0.2) -- (\timelinewidth/2+1.5*\segmentwidth/3+5, 0.2); + \draw[line width=1pt] (\timelinewidth/2+2*\segmentwidth/3-5,-0.2) -- (\timelinewidth/2+2*\segmentwidth/3+5, 0.2); + + % Lines for periods + \draw[stealth-stealth, line width=1pt] (0,-3.7) + -- node[midway, timeline_timespan] {Historic breadmaking} ({\segmentwidth * 7.8},-3.7); + \draw[stealth-stealth, line width=1pt] ({\segmentwidth * 7.8},-3.7) + -- node[midway, timeline_timespan] {Modern bread} ({\segmentwidth * 12},-3.7); + + % Regularly placed events, not in chronological order + % since should be placed on top of others on the timeline + + % BC + \draw[line width=1pt] ({\segmentwidth*3},1.0) -- ({\segmentwidth*3},0.3) + node[at start, left, timeline_event] {6000~BC: First beer in Egypt}; + \draw[line width=1pt] ({\segmentwidth*5.95},1.5) -- ({\segmentwidth*5.95},0.3) + node[at start, left, timeline_event] {70~BC:~First water mill}; + + % Sourdough in Jordan + \draw[line width=1pt] (0,-0.3) -- (0,-1.5); + \draw[line width=1pt] (0,-1.5) -- (0.25,-1.5); + \node[timeline_event, below, anchor=west] at (0.25,-1.5) + {\begin{tabular}{@{}l@{}l@{}} + \num{12000}~BC:&~Sourdough in Jordan\\ + &~Cultivation of Einkorn\\ + \end{tabular}}; + + % AD + \draw[line width=1pt] ({\segmentwidth*10.50},1.0) -- ({\segmentwidth*10.50},0.3) + node[at start, above, timeline_event] {\hspace{1.0cm}1950:~Modern Wheat}; + \draw[line width=1pt] ({\segmentwidth*9.60},1.5) -- ({\segmentwidth*9.60},0.3) + node[at start, above, timeline_event] {1868:~Commercial yeast}; + \draw[line width=1pt] ({\segmentwidth*7.8},2) -- ({\segmentwidth*7.8},0.3) + node[at start, above, timeline_event] {1680:~Discovery of microorganisms}; + + \draw[line width=1pt] ({\segmentwidth*8.80},-1.25) -- ({\segmentwidth*8.80},-0.3) + node[at start, left, timeline_event] {1785:~Steam mill}; + \draw[line width=1pt] ({\segmentwidth*9.57},-1.75) -- ({\segmentwidth*9.57},-0.3) + node[at start, left, timeline_event] {1857:~Isolated Yeast}; + \draw[line width=1pt] ({\segmentwidth*9.80},-2.25) -- ({\segmentwidth*9.80},-0.3) + node[at start, left, timeline_event] {1885:~Electrical mixer}; + \draw[line width=1pt] ({\segmentwidth*11.20},-2.75) -- ({\segmentwidth*11.20},-0.3) + node[at start, left, timeline_event] {2020:~COVID-19 Pandemic}; + + % Indicators for period + % Draw millenary and century separators + \foreach \i/\century in {0/-12000, 1/-10000, 2/-8000, 3/-6000, 4/-4000, 5/-2000}{ + % Separators + \draw[line width=1pt, color=hlorange] (\i*\segmentwidth,0.1) -- (\i*\segmentwidth,-0.1); + % Events for timeline + \node[timeline_event, below, text=hlorange] at ({(\i)*\segmentwidth},-0.1) {\num{\century}}; + } + \foreach \i/\century in {6/0, 7/1600, 8/1700, 9/1800, 10/1900, 11/2000, 12/2100}{ + % Separators + \draw[line width=1pt] (\i*\segmentwidth,0.1) -- (\i*\segmentwidth,-0.1); + % Events for timeline + \node[timeline_event, below] at ({(\i)*\segmentwidth},-0.1) {\num{\century}}; + } +\end{tikzpicture} diff --git a/book/history/sourdough-history.tex b/book/history/sourdough-history.tex index ff916fb..091ae6e 100644 --- a/book/history/sourdough-history.tex +++ b/book/history/sourdough-history.tex @@ -33,6 +33,7 @@ organisms inhabit extreme environments, from boiling vents to icy waters. divided into months, and extending to the present day, marked at midnight. This visualization shows the pivotal steps of life and sourdough on earth.}% + \label{fig:planet-timeline} \end{center} \end{figure} @@ -50,23 +51,33 @@ land. By December~3, yeasts emerged on land. This laid groundwork for bread-making. Jump 140~million years to December~14, and dinosaurs arose. Just a couple -of days after their appearance on December~17 the super continent pangea +of days after their appearance on December~17 the super continent Pangea started to rift apart, reshaping the continents into their current form. The dinosaurs reigned until December~29 when they faced extinction. Another 25~million years later, or our timeline's 2~days after the dinosaur extinction, humans appeared. A few hours later after the arrival of humans, a more subtle culinary -revolution was unfolding. By \num{12000}~BC, just 5 seconds before our metaphorical +revolution was unfolding. By \num{12000}~BC, just 5 seconds before our metaphorical midnight, the first sourdough breads were being baked in ancient Jordan. A blink of an eye later, or 4~seconds in our time compression, Pasteur's groundbreaking work with yeasts set the stage for modern bread-making. From the moment this book -began to take shape to your current reading, only milliseconds have ticked by~\cite{Yong_2017}. +began to take shape to your current reading, only milliseconds have ticked +by~\cite{Yong+2017}. Now delving deeper into the realm of sourdough, it can likely be traced to aforementioned Ancient Jordan~\cite{jordan+bread}. Looking at the earth's timeline sourdough bread can be considered a very recent invention. +\begin{figure}[!htb] +\begin{center} + \input{figures/fig-sourdough-history-timeline.tex} + \caption[Sourdough history timeline]{Timeline of significant discoveries and + events leading to modern sourdough bread.}% + \label{fig:sourdough-timeline} +\end{center} +\end{figure} + The exact origins of fermented bread are, however, unknown. One of the most ancient preserved sourdough breads has been excavated in Switzerland~\cite{switzerland+bread}. @@ -103,18 +114,18 @@ was extended due to the increased acidity. Quickly, similar processes were discovered when brewing beer or making wine. A small tiny batch of the previous production would be used for the next production. In this way, humans created -modern bread yeasts, wine yeasts, and beer yeasts. Only in 1680, -the scientist Anton van~Leeuwenhoek first studied yeast microorganisms -under a microscope. Over time with each batch, the yeasts and bacteria +modern bread yeasts, wine yeasts, and beer yeasts~\cite{egypt+beer}. + +Over time with each batch, the yeasts and bacteria would become better at consuming whatever they were thrown at. By feeding your sourdough starter, you are selectively breeding microorganisms that are good at eating your flour. With each iteration, your sourdough knows how to better ferment the flour -at hand. This is also the reason why more mature sourdough starters sometimes -tend to leaven doughs faster~\cite{review+of+sourdough+starters}. It is crazy if you -think about it. People have been using this process despite not -knowing what was actually going on for thousands of years! The -sourdough in itself is a symbiotic relationship. But the sourdough +at hand. This is also the reason\footnote{It is crazy if you think about it. +People have been using this process despite not knowing what was going on for +thousands of years!} why more mature sourdough starters sometimes tend to +leaven doughs faster~\cite{review+of+sourdough+starters}. The sourdough in +itself is a symbiotic relationship, but the sourdough also adapted to humans and formed a symbiotic relationship with us. For food and water, we are rewarded with delicious bread. In exchange, we shelter and protect the sourdough. Spores from the starter @@ -122,39 +133,122 @@ are spread through aerial contamination or insects like fruit flies. This allows the sourdough starter to spread its spores even further all around the world. -Brewers would start to experiment with utilizing the muddy leftovers -of the beer fermentation to start making doughs. They would notice +Evidence suggests early grain grinding in northern Australia around +\num{60000}~BC, notably at the Madjedbebe rock shelter in Arnhem +Land~\cite{aboriginal+grinding+stones}. However, a more significant +advancement occurred later, as documented by the ancient Greek geographer +Strabo in \num{71}~BC\@. Strabo's writings described the first water-powered +stone mill, known as a \emph{gristmill}. These mills advanced flour production +from a few kilograms up to several metric tons per day~\cite{history+mills}. + +These early mills featured horizontal paddle wheels, eventually termed +\emph{Norse wheels} due to their prevalence in Scandinavia. The paddle wheels +connected to a shaft, which, in turn, linked to the central runner stone for +grinding. Water flow propelled the paddle wheels, transferring the grinding +force to the stationary \emph{bed}, typically a stone of similar size and +shape. This design was straightforward, avoiding the need for gears. However, +it had a limitation: the stone's rotation speed relied on water volume and +flow rate, making it most suitable for regions with fast-flowing streams, +often found in mountainous areas~\cite{mills+scandinavia}. + +In the year \num{1680}, a remarkable scientist by the name of +Antonie~van~Leeuwenhoek introduced a groundbreaking innovation that would +forever alter our understanding of the microscopic world and ultimately bread +making. Van~Leeuwenhoek, a master of lens craftsmanship, possessed an +insatiable fascination with realms invisible to the naked eye. His pioneering +work birthed the first modern microscope. What set Van~Leeuwenhoek apart was +the exceptional quality of his lenses, capable of magnifying tiny +microorganisms by an astounding factor of \num{270}. Driven by an unrelenting +curiosity to unveil the unseen, he embarked on a journey of exploration. He +scrutinized flies, examined lice-infested hair, and ultimately turned his gaze +toward the tranquil waters of a small lake near Delft. + +In this serene aquatic habitat, he made astonishing observations, discovering +algae and minuscule, dancing creatures hitherto hidden from human perception. +Eager to share his revelatory findings with the scientific community, +Van~Leeuwenhoek faced skepticism, as it was difficult to fathom that someone +had witnessed thousands of diminutive, dancing entities—entities so tiny that +they eluded the human eye. + +Undeterred by skepticism, he continued his relentless pursuit of the unseen, +directing his lens towards a brewer's beer sludge. In this obscure medium, +Van~Leeuwenhoek made history by becoming the first human to lay eyes upon +bacteria and yeast, unraveling a previously concealed world that would +revolutionize our understanding of microbiology~\cite{Yong+2017+Leeuwen}. + +At the same time brewers would start to experiment with utilizing the muddy +leftovers of the beer fermentation to start making doughs. They would notice that the resulting bread doughs were becoming fluffy and compared to the sourdough process would lack the acidity in the final product. -A popular example is shown in a report from 1875. Eben Norton Horsford +A popular example is shown in a report from \num{1875}. Eben Norton Horsford wrote about the famous \emph{Kaiser Semmeln} (Emperor's bread rolls). These are essentially bread rolls made with brewer's yeast instead of the sourdough leavening agent. As the process is more expensive, bread rolls like these were ultimately consumed by the noble people in Vienna~\cite{vienna+breadrolls}. +As industrialisation began the first steam-powered grain mill was developed by +Oliver Evans in \num{1785}. Evans' design incorporated several innovations, +including automated machinery for various milling processes, making it more +efficient than traditional water or animal-powered mills. His steam-powered +mill marked a significant advancement in industrial technology for bread +making~\cite{evans+mill}. + \begin{figure}[ht] \includegraphics[width=\textwidth]{sourdough-stove} \caption{A bread made over the stove without an oven.}% \label{sourdough-stove} \end{figure} -Only in 1857, the French microbiologist Louis Pasteur discovered +The biggest advancement of industrial breadmaking happened in \num{1857}. +The French microbiologist Louis Pasteur discovered the process of alcoholic fermentation. He would prove that yeast microorganisms are the reason for alcoholic fermentation -and not other chemical catalysts. What would then start is -what I~describe as the 150 lost years of bread making. In 1879 -the first machines and centrifuges were developed to centrifuge -pure yeast. This yeast would be extracted from batches of sourdough. +and not other chemical catalysts. He continued with his research and +was the first person to isolate and grow pure yeast strains. +Soon later in \num{1868} in the Fleischmann brothers Charles +and Maximilian were the first to patent pure yeast strains +for bread making. The yeasts offered +were isolated from batches of sourdough. By \num{1879} the machinery was built +to multiply the yeast in large centrifuges~\cite{fleischmann+history}. The pure yeast would prove to be excellent and turbocharged at leavening bread doughs. What would previously take 10~hours to leaven a bread dough could now be done within 1~hour. -The process became much more efficient. During World~War~II -the first packaged dry yeast was developed. This would ultimately -allow bakeries and home bakers to make bread much faster. -Thanks to pure yeast, building bread making machines was -possible. Provided you maintain the same temperature, -your yeast would always ferment exactly the same way. +The process became much more efficient. What ultimately made making large +batches of dough possible, was the invention of the electrical kneader. Rufus +Eastman, an American inventor, is often credited with an important advancement +in mixer technology. In \num{1885}, he received a patent for an electric mixer +with a mechanical hand-crank mechanism. This device was not as advanced or as +widely adopted as later electric mixers, but it was an early attempt to +mechanize mixing and kneading processes in the kitchen using electricity. +Eastman's invention represented an important step in the development of +electric mixers, but it wasn't as sophisticated or popular as later models +like the KitchenAid mixer. The KitchenAid mixer, introduced in \num{1919}, is +often recognized as one of the first widely successful electric mixers and +played a significant role in revolutionizing kitchen appliances for home +cooks~\cite{first+mixer}~\cite{kitchenaid+history}. + +During World~War~II the first packaged dry yeast was developed. This would +ultimately allow bakeries and home bakers to make bread much faster and more +consistently. Thanks to pure yeast, building industrial bread making machines +was now possible. Provided you maintain the same temperature, same flour and +yeast strains fermentation became precisely reproducible. This ultimately lead +to the development of giga bakeries and flour blenders. The bakeries demanded +the same flour from year to year to bake bread in their machines. For this +reason, none of the supermarket flour you buy today is single origin. It is +always blended to achieve exactly the same product throughout the years. + +Modern wheat, specifically the high-yielding and disease-resistant varieties +commonly grown today, began to be developed in the mid-20th century. This +period is often referred to as the \emph{Green Revolution.} + +One of the key figures in this development was American scientist Norman +Borlaug, who is credited with breeding high-yield wheat varieties, +particularly dwarf wheat varieties, that were resistant to diseases and could +thrive in various environmental conditions. His work, which started in the +1940s and continued through the \num{1960}s, played a crucial role in +increasing wheat production worldwide and alleviating food +shortages~\cite{green+revolution}. As fermentation times sped up, the taste of the final bread would deteriorate. @@ -168,7 +262,7 @@ of true nerds would continue making bread with sourdough. Suddenly people started to talk more often about celiac disease and the role of gluten. The disease isn't new; it has first -been described in 250 AD~\cite{coeliac+disease}. People +been described in \num{250}~AD~\cite{coeliac+disease}. People would note how modern bread has much more gluten compared to ancient bread. The bread in ancient times probably was much flatter. The grains over time have been bred more and more towards containing a higher @@ -208,8 +302,9 @@ During the California Gold Rush, French bakers brought the sourdough culture to Northern America. A popular bread became the San Francisco sourdough. It's characterized by its unique tang (which was previously common for every bread). It -however remained more of a niche food. What really expedited -the comeback of sourdough was the 2020 COVID-19 pandemic. +however remained more of a niche food while industrial bread +was on the rise. What really expedited +the comeback of sourdough was the \num{2020} COVID-19 pandemic. Flour and yeast became scarce in the supermarkets. While flour returned yeast couldn't be found. People started to look for alternatives and rediscovered the ancient diff --git a/book/references.bib b/book/references.bib index 6184dc4..902fed0 100644 --- a/book/references.bib +++ b/book/references.bib @@ -98,6 +98,75 @@ howpublished = {\url{https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6077754/}} } +@article{fleischmann+history, + author = {Fleischmann History}, + title = {History of Fleischmann's}, + howpublished = {\url{https://www.fleischmannsyeast.com/our-history/}}, + note = {Accessed: 2023-12-04} +} + +@article{evans+mill, + author = {Jeremy Norman}, + title = {Oliver Evans Builds the First Automated Flour Mill: Origins of the Integrated and Automated Factory}, + howpublished = {\url{https://www.historyofinformation.com/detail.php?entryid=3567}}, + note = {Accessed: 2023-12-04} +} + +@article{first+mixer, + author = {United States Patent office}, + title = {Eastman Mixer for cream, eggs and liquors}, + howpublished = {\url{https://patents.google.com/patent/US330829}}, + note = {Accessed: 2023-12-04} +} + +@article{egypt+beer, + author = {Smithsonian Magazine}, + title = {World’s Oldest Industrial-Scale Brewery Found in Egypt}, + howpublished = {\url{https://www.smithsonianmag.com/smart-news/worlds-oldest-industrial-scale-brewery-found-egypt-180977026/}}, + note = {Accessed: 2023-12-04} +} + +@article{kitchenaid+history, + author = {KitchenAid}, + title = {KitchenAid Brand History}, + howpublished = {\url{https://www.kitchenaid.com/100year/history.html}}, + note = {Accessed: 2023-12-04} +} + +@article{aboriginal+grinding+stones, + author = {First Peoples - State Relations}, + title = {Fact sheet: Aboriginal grinding stones}, + howpublished = {\url{https://www.firstpeoplesrelations.vic.gov.au/fact-sheet-aboriginal-grinding-stones}}, + note = {Accessed: 2023-12-04} +} + +@book{history+mills, + title = {Archaeological Evidence for Early Water-Mills. An Interim Report}, + journal = {History of Technology}, + number = {10}, + author = {Wikander, Örjan}, + year = {1985}, + pages = {151--179} +} + +@book{mills+scandinavia, + title = {Waterwheels and Windmills: Five machines that changed the world}, + author = {Mark, Denny}, + year = {2007}, + pages = {36} +} + +@article{green+revolution, + author = {Borlaug, Norman}, + title = {Contributions of conventional plant breeding to food production}, + journal = {Science}, + volume = {219}, + number = {4585}, + pages = {689-693}, + year = {1983}, + doi = {10.1126/science.219.4585.689} +} + @article{switzerland+bread, author = {Pasquale Catzeddu}, title = {Flour and Breads and their Fortification in Health and Disease Prevention}, @@ -105,7 +174,7 @@ year = {2011} } -@book{Yong_2017, +@book{Yong+2017, place = {London}, title = {I contain multitudes: The microbes within US and a grander view of life}, publisher = {Vintage}, @@ -114,6 +183,15 @@ pages = {5--9} } +@book{Yong+2017+Leeuwen, + place = {London}, + title = {I contain multitudes: The microbes within US and a grander view of life}, + publisher = {Vintage}, + author = {Yong, Ed}, + year = {2017}, + pages = {39} +} + @article{egyptian+bread, title = {Investigation of ancient Egyptian baking and brewing methods by correlative microscopy}, volume = {273}, diff --git a/book/tables/table-flat-bread-pancake-recipe.tex b/book/tables/table-flat-bread-pancake-recipe.tex index 1378540..8392341 100644 --- a/book/tables/table-flat-bread-pancake-recipe.tex +++ b/book/tables/table-flat-bread-pancake-recipe.tex @@ -1,10 +1,10 @@ -%TODO: last line is not great --\begin{tabular}{lll} +%TODO: Alignement is not great +\begin{tabular}{@{}lll@{}} \toprule - & \textbf{Flat breads} & \textbf{Pancakes} \\ \midrule -\textbf{Flour} & 100g & 100g \\ -\textbf{Water} & up to 100g (100\%) & 300g (300\%) \\ -\textbf{Sourdough starter} & 5--20g (5--20\%) & 5--20g (5--20\%) \\ -\textbf{Salt} & 2g (2\%) & 2g (2\%) \\ -\textbf{Bake when?} & Dough increased 50 percent in size & Bubbles visible on surface \\ \bottomrule + & \textbf{Flat breads} & \textbf{Pancakes} \\ \midrule +Flour & \qty{100}{g} & \qty{100}{g} \\ +Water & up to \qty{100}{g} (\qty{100}{\percent}) & \qty{300}{g} (\qty{300}{\percent}) \\ +Sourdough starter & 5--\qty{20}{g} (5--\qty{20}{\percent}) & 5--\qty{20}{g} (5--\qty{20}{\percent}) \\ +Salt & \qty{2}{g} (\qty{2}{\percent}) & \qty{2}{g} (\qty{2}{\percent}) \\ + Bake when? & Dough increased \qty{50}{\percent} in size & Bubbles visible on surface \\ \bottomrule \end{tabular} diff --git a/book/tables/table-overview-bread-types.tex b/book/tables/table-overview-bread-types.tex index f8fac2e..fc3ade7 100644 --- a/book/tables/table-overview-bread-types.tex +++ b/book/tables/table-overview-bread-types.tex @@ -1,10 +1,11 @@ -% TODO -\begin{tabular}{@{}>{\bfseries}p{0.17\textwidth}ccc@{}} +\begin{tabular}{@{}llll@{}} \toprule - & \thead{Flatbread} & \thead{Loaf pan bread} & \thead{Free standing bread} \\ \midrule -Cooking method & Fire, pan, barbecue & Oven & Oven \\ -Working time (min.) & 3 & 5 & 60 \\ -Flour types & All & All & Gluten flours \\ -Difficulty & Very easy & Easy & Difficult \\ -Cost & Low & Medium & High \\ \bottomrule + & \multicolumn{3}{c}{\textbf{Type of bread}}\\ + \cmidrule(lll){2-4} + & \textbf{Flat} & \textbf{Loaf pan} & \textbf{Free standing} \\ \midrule +Cooking method & Pan, fire, barbecue & Oven & Oven \\ +Working time & 3~min. & 5~min. & 60~min. \\ +Flour types & All & All & Gluten flours \\ +Difficulty & Very easy & Easy & Difficult \\ +Cost & Low & Medium & High \\ \bottomrule \end{tabular}