0% found this document useful (0 votes)
9 views

Docker for Rails Developers Build Ship and Run Your Applications Everywhere 1 edition (February 24, 2019) Edition Rob Isenberg instant download

The document is about the book 'Docker for Rails Developers' by Rob Isenberg, which teaches Rails developers how to build, ship, and run applications using Docker. It covers various aspects of Docker, including installation, running Rails apps in containers, and preparing for production. The book aims to simplify DevOps tasks and provide a standardized development environment to avoid common issues faced by developers.

Uploaded by

leskewhrenk7
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Docker for Rails Developers Build Ship and Run Your Applications Everywhere 1 edition (February 24, 2019) Edition Rob Isenberg instant download

The document is about the book 'Docker for Rails Developers' by Rob Isenberg, which teaches Rails developers how to build, ship, and run applications using Docker. It covers various aspects of Docker, including installation, running Rails apps in containers, and preparing for production. The book aims to simplify DevOps tasks and provide a standardized development environment to avoid common issues faced by developers.

Uploaded by

leskewhrenk7
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

Docker for Rails Developers Build Ship and Run

Your Applications Everywhere 1 edition (February


24, 2019) Edition Rob Isenberg pdf download

https://ebookname.com/product/docker-for-rails-developers-build-
ship-and-run-your-applications-everywhere-1-edition-
february-24-2019-edition-rob-isenberg/

Get Instant Ebook Downloads – Browse at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Ruby for Rails Ruby techniques for Rails developers


David Black

https://ebookname.com/product/ruby-for-rails-ruby-techniques-for-
rails-developers-david-black/

Rails for PHP Developers 1st Edition Derek Devries

https://ebookname.com/product/rails-for-php-developers-1st-
edition-derek-devries/

MongoDB for Java developers design build and deliver


efficient Java applications using the most advanced
NoSQL database Francesco

https://ebookname.com/product/mongodb-for-java-developers-design-
build-and-deliver-efficient-java-applications-using-the-most-
advanced-nosql-database-francesco/

Pharmacoepidemiology 4th edition Brian L Strom

https://ebookname.com/product/pharmacoepidemiology-4th-edition-
brian-l-strom/
Global Democracy and its Difficulties Challenges of
Globalisation 1st Edition Karol Soltan

https://ebookname.com/product/global-democracy-and-its-
difficulties-challenges-of-globalisation-1st-edition-karol-
soltan/

The Encyclopedia of Cancer 1st Edition Carol Turkington

https://ebookname.com/product/the-encyclopedia-of-cancer-1st-
edition-carol-turkington/

Practitioner s Guide to Maritime Boundary Delimitation


Stephen Fietta

https://ebookname.com/product/practitioner-s-guide-to-maritime-
boundary-delimitation-stephen-fietta/

Participation Citizenship and Intergenerational


Relations in Children and Young People s Lives Children
and Adults in Conversation 1st Edition Joanne Westwood

https://ebookname.com/product/participation-citizenship-and-
intergenerational-relations-in-children-and-young-people-s-lives-
children-and-adults-in-conversation-1st-edition-joanne-westwood/

James Baldwin s Turkish Decade Erotics of Exile 1st


Edition Magdalena J. Zaborowska

https://ebookname.com/product/james-baldwin-s-turkish-decade-
erotics-of-exile-1st-edition-magdalena-j-zaborowska/
Transmission problems for elliptic second order
equations in non smooth domains 1st Edition Mikhail
Borsuk (Auth.)

https://ebookname.com/product/transmission-problems-for-elliptic-
second-order-equations-in-non-smooth-domains-1st-edition-mikhail-
borsuk-auth/
Docker for Rails Developers
Build, Ship, and Run Your Applications Everywhere

by Rob Isenberg

Version: P1.0 (February 2019)


Copyright © 2019 The Pragmatic Programmers, LLC. This book is licensed to the individual who
purchased it. We don't copy-protect it because that would limit your ability to use it for your own purposes.
Please don't break this trust—you can use this across all of your devices but please do not share this copy
with other members of your team, with friends, or via file sharing services. Thanks.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as
trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was
aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The
Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the
linking g device are trademarks of The Pragmatic Programmers, LLC.

Every precaution was taken in the preparation of this book. However, the publisher assumes no
responsibility for errors or omissions, or for damages that may result from the use of information (including
program listings) contained herein.

About the Pragmatic Bookshelf


The Pragmatic Bookshelf is an agile publishing company. We’re here because we want to improve the lives
of developers. We do this by creating timely, practical titles, written by programmers for programmers.

Our Pragmatic courses, workshops, and other products can help you and your team create better software
and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at
http://pragprog.com.

Our ebooks do not contain any Digital Restrictions Management, and have always been DRM-free. We
pioneered the beta book concept, where you can purchase and read a book while it’s still being written, and
provide feedback to the author to help make a better book for everyone. Free resources for all purchasers
include source code downloads (if applicable), errata and discussion forums, all available on the book's
home page at pragprog.com. We’re here to make your life easier.

New Book Announcements


Want to keep up on our latest titles and announcements, and occasional special offers? Just create an
account on pragprog.com (an email address and a password is all it takes) and select the checkbox to
receive newsletters. You can also follow us on twitter as @pragprog.

About Ebook Formats


If you buy directly from pragprog.com, you get ebooks in all available formats for one price. You can synch
your ebooks amongst all your devices (including iPhone/iPad, Android, laptops, etc.) via Dropbox. You get
free updates for the life of the edition. And, of course, you can always come back and re-download your
books when needed. Ebooks bought from the Amazon Kindle store are subject to Amazon's polices.
Limitations in Amazon's file format may cause ebooks to display differently on different devices. For more
information, please see our FAQ at pragprog.com/frequently-asked-questions/ebooks. To learn more about
this book and access the free resources, go to https://pragprog.com/book/ridocker, the book's homepage.

Thanks for your continued support,

Andy Hunt
The Pragmatic Programmers

The team that produced this book includes: Andy Hunt (Publisher), Janet Furlow (VP of Operations),
Susan Conant (Managing Editor), Adaobi Obi Tulton (Development Editor),
Nicole Abramowitz (Copy Editor), Potomac Indexing, LLC (Indexing), Gilson Graphics (Layout)

For customer support, please contact [email protected].

For international rights, please contact [email protected].


Ruth. In hindsight, writing a book whilst having a baby and renovating a house
probably wasn’t the best idea—who knew? Thank you for your patience, love,
and support. None of this would have been possible without you.

Sammy. I couldn’t have imagined the joy and love you’d bring into our life. Be
kind, be brave, and be willing to take risks in pursuit of your happiness and
passions. I love you so much.

Mum and Dad. Thank you for everything.


Table of Contents

Acknowledgements

Introduction
What Is Docker?
Why Use Docker?
Who Should Read This Book?
What’s in This Book?
How to Read This Book
Which Operating Systems Are Supported?
Online Resources

Part I. Development

1. A Brave New World


Installing Docker
Verifying Your Install
Before We Begin
Running a Ruby Script Without Ruby Installed
Generating a New Rails App Without Ruby Installed
Quick Recap

2. Running a Rails App in a Container


How Do We Run Our Rails App?
Defining Our First Custom Image
Building Our Image
Running a Rails Server with Our Image
Reaching the App: Publishing Ports
Binding the Rails Server to IP Addresses
Quick Recap

3. Fine-Tuning Our Rails Image


Naming and Versioning Our Image
A Default Command
Ignoring Unnecessary Files
The Image Build Cache
Caching Issue 1: Updating Packages
Caching Issue 2: Unnecessary Gem Installs
The Finishing Touch
Quick Recap

4. Describing Our App Declaratively with Docker Compose


Getting Started with Compose
Launching Our App
Mounting a Local Volume
Starting and Stopping Services
Other Common Tasks
Quick Recap

5. Beyond the App: Adding Redis


Starting a Redis Server
Manually Connecting to the Redis Server
How Containers Can Talk to Each Other
Our Rails App Talking to Redis
Starting the Entire App with Docker Compose
Quick Recap

6. Adding a Database: Postgres


Starting a Postgres Server
Connecting to Postgres from a Separate Container
Connecting Our Rails App to Postgres
Using the Database in Practice
Decoupling Data from the Container
Quick Recap

7. Playing Nice with JavaScript


The JavaScript Front-End Options
Rails JavaScript Front End with Webpacker
Compiling Assets with Webpacker
A Hello World React App
Quick Recap

8. Testing in a Dockerized Environment


Setting Up RSpec
Our First Test
Setting Up Rails System Tests
Running Tests That Rely on JavaScript
Debugging
Quick Recap

9. Advanced Gem Management


The Downside to Our Existing Approach
Using a Gem Cache Volume
Quick Recap

10. Some Minor Irritations


Rails tmp/pids/server.pid Not Cleaned Up
Compose Intermittently Aborts with Ctrl-C
Quick Recap
Closing Thoughts on Docker in Development

Part II. Toward Production

11. The Production Landscape


The “Ops” in DevOps
Container Orchestration
A Tale of Two Orchestrators: Swarm and Kubernetes
IaaS vs. CaaS
Provisioning Your Infrastructure
CaaS Platforms
Serverless for Containers
How to Decide What’s Right for Me?
Quick Recap

12. Preparing for Production


Configuring a Production Environment
A Production Image: Precompiling Assets
Sharing Images
Quick Recap

13. A Production-Like Playground


Creating Machines
Introducing Docker Swarm
Our First (Single Node) Swarm
Describing Our App to Swarm
Migrating the Database
Deploying Our App on a Swarm
Tasks and Swarm’s Scaling Model
Scaling Up the Service
Quick Recap

14. Deploying to the Cloud


Creating a DigitalOcean Cluster
Deploying to Our DigitalOcean Swarm
Visualizing Containers
Scale Up the Web Service
Deploying to AWS Instead of DigitalOcean
Quick Recap

15. Closing Thoughts and Next Steps


What Should I Learn About Next?

A1. Platform Differences


File Ownership and Permissions

A2. Finding Images to Use


Using Docker Hub
Using the Docker CLI

Copyright © 2019, The Pragmatic Bookshelf.


Early Praise for Docker for Rails
Developers
With the avalanche of DevOps tools in use, this text has definitely cleared up the
mystery. I’ve been waiting for a Docker book aimed at Rails projects, and I’m
now convinced Docker is the way to go.

→ Nigel Lowry
Company Director and Principal Consultant, Lemmata
Docker for Rails Developers is a wonderful book that allows you to jump in and
start converting your existing apps to run in containers. It is well written, easy to
follow, and makes you want to keep reading. I recommend this book for anyone
with a little Rails experience who wants to get a jump start on using Docker.

→ Chris Johnson
Operations Manager, healthfinch
With this book at my side, I was able to help my team move our largest, highest-
revenue service into containers. This migration made disaster recovery much
faster and more reliable, and made it possible to open a data center in a whole
new market.

→ Erin Dees
Lead Software Engineer, New Relic
This is much more than a how-to book, with the best technical writing I’ve seen
recently. Isenberg’s excellent guide provides clear and understandable
explanations of how to solve Rails-specific Docker DevOps issues. This is the
kind of thing I wish Docker had published a long time ago.

→ David L. Bean, PhD


Director of Data Science, PayClip, Inc.
Docker for Rails Developers is more than just a fantastic resource for Ruby and
Rails developers looking to get up to speed with Docker. It’s a great, no-frills
guide for how to use the technology in practical, real-world situations, and I’d
have no hesitation in recommending this to Python or Node developers either.
I’ve been waiting since 2014 for a go-to book to hand to the Docker curious, and
this might just be it.

→ Alexander Lynham
Owner, envoys.io
Acknowledgements
Thanks to Adaobi, my editor at The Pragmatic Bookshelf, for her constant
positivity and encouragement, as well as excellent editing feedback on the book
to help make it as good as it can be. I will miss our updates and bonding over our
mutual love of Gordon Ramsay.

I owe a great deal of thanks to the following people who gave up their valuable
time to read and provide feedback on the book (a thousand apologies if I have
left anyone out):

John Paul Ashenfelter


David L. Bean
Erin Dees
Chris Johnson
David Landry
Nigel Lowry
Alex Lynham
Lee Machin
Rory McCune
Noel Rappin
Chris Thorn
John Yeates

The book is immeasurably better as a result of their contributions.

I’d also like to thank everyone who purchased a beta copy of the book while it
was still being written. In particular, I’d like to thank people who submitted
errata during this process—your confusion, frustration, and pain have hopefully
saved others from suffering the same fate.
Finally, a huge thank you to the entire Pragmatic Bookshelf team for taking on
and supporting this title.

Copyright © 2019, The Pragmatic Bookshelf.


Introduction
If you love Ruby on Rails, you’re going to love Docker. They are kindred spirits,
born out of similar ideals.

For me, the allure of Rails was its Big Ideas: generators, migrations, testing as a
first-class citizen, convention over configuration, multi-environment setups built
in, live-code reloading. While, individually, these features may not have been
new, the combination made Rails more than the sum of its parts: it gave us
superpowers.

Docker is doing for DevOps what Rails did for web development. It too is
packed with Big Ideas: a holistic view of your app (hint: your app is more than
just your Rails code), containerization (lighter-weight, faster, and more efficient
than VMs), software delivery that doesn’t suck (for example, Ruby installs the
first time you run a Ruby script), fault-tolerant clustering and scaling out of the
box (spin up production-like clusters on your local machine), expert-level
security features baked in (for example, automatic key rotation). The list goes
on.

Docker is lowering the barrier to entry, making DevOps tasks that previously
would have been unthinkable suddenly within our grasp. It gives us a new set of
superpowers.

That said, Docker is not a panacea or a silver bullet to solve all your DevOps
challenges. As with all technologies, there are trade-offs (I’ll try to point these
out as we go). However, despite the trade-offs, as you’ll discover in this book,
there is value in adopting Docker.
What Is Docker?
Docker, the technology, is a set of tools built around the idea of packaging and
running software in small, sandboxed environments known as containers (we’ll
get to the nitty gritty of these in ​What Is a Container?​).

At a high level, Docker provides five capabilities:

Packaging. The ability to package software into a reusable, shareable


format known as images.

Distribution. The ability to easily share packaged software (images) with


other people and deploy it to different machines.

Runtime. The ability to run, pause, restart, or stop packaged software in a


reliable, repeatable way.

Infrastructure creation. Creating virtual machines ready to run our Docker


containers.

Orchestration and scaling. Managing the release of software to a single


Docker node or across an entire cluster.

Together, these five things combine to enable a new way of delivering and
running software.
Why Use Docker?
To build a Rails app, we typically develop on our local machine. Rather than
each team member manually maintaining their own local development
environments, we can use Docker to provide a common, standardized
environment. This saves on repeated effort and helps avoid many forms of the
“works on my machine” issues that can waste hours.

Other benefits of using Docker for your development environment include:

A holistic view of your app. Rails apps typically need a database and other
external dependencies like Redis and Elasticsearch. With Docker, these
dependencies are no longer an afterthought or “add-on” like in Heroku;
they are described and managed as fundamental parts of your app.

Single-command app installation and setup. Have you ever set up a Rails
app on your machine and spent an excessive amount of time installing
specific versions of its software dependencies? Docker’s built-in delivery
mechanism means that new team members can go from zero to a running
app in minutes. No laborious, error-prone, manual setup steps here.

Easy version management of dependencies. Want to make sure everything


works before switching to a new version of Ruby or upgrading the
database? No problem: running containers is cheap. Just change the image
version and away you go.

Huge Docker ecosystem. We frequently need to incorporate other


technologies as part of our Rails apps: NGINX, Redis, Postgres, MySQL,
Memcached, Elasticsearch, HAProxy, RabbitMQ, Node, and so on. All
these and more are already packaged and ready to go with Docker.

Simulate production-like environments locally. We know that how our Rails


app performs in development isn’t exactly the same as in production. With
Docker, you can simulate production scenarios by running your app in
multi-node, production-like environments on your local machine.
Docker can also help once you move beyond development. It provides a
consistent interface, whether you’re running locally, on a continuous integration
(CI) server, or deploying to production. Once built, the same image is run at
every stage of your continuous integration/delivery pipeline, giving us
confidence that our tested application will perform the same in each
environment.

If you need to manage and deploy to your own production infrastructure, there
are further benefits:

Deployment standardization. Docker provides a standard way of packaging


and delivering applications: each part of your app is a container, and each
app is a collection of containers. From a DevOps perspective, one Docker
app is deployed and managed in the same way as any other.

Reliability and resiliency features built in. Ever been woken at 3 a.m. by a
cranky CEO because your app’s gone kaput? Docker clusters are self-
healing: if an instance dies, new copies of your app will be spawned on the
remaining nodes.

Reducing infrastructure costs especially at scale. Containers are much


lighter-weight than virtual machines (VMs), allowing resources to be used
more efficiently. They also let you scale up the number of containers on a
single host rather than spinning up an entire new instance.

Room to grow. If your app is (or becomes) wildly successful, it’s good to
know that Docker has been battle-tested at massive scale. Google Compute
Engine, for example, is built on Docker containers, using Google’s open
source orchestration tool, Kubernetes.
Who Should Read This Book?
This book is for experienced Rails developers who want to learn how to use
Docker. I’m going to assume, throughout the book, that you’re proficient at
using Rails; this will allow us to focus on learning and applying Docker.

This book doesn’t aim to be a comprehensive manual on Docker: several other


books serve that aim. Rather, this book is your field manual to building Rails
applications with Docker. We’ll cover the most useful commands and features
that you’ll need, and I’ll refer you to reference material as needed.

If you’re curious to discover how Docker can fit into your day-to-day workflow
as a Rails developer, you’ve come to the right place.
What’s in This Book?
In Part I, you’ll learn everything you need to know about using Docker for local
Rails development, including core concepts like containers and images. You’ll
build up real-world knowledge, step by step, through a series of practical tasks.
We’ll start with the basics—running a Ruby script and generating a new Rails
project—before learning how to run our Rails app by building our own custom
image.

We’ll quickly move on to Compose, a higher-level Docker tool for declaratively


describing an entire app, and how it all fits together. As you learn more, we’ll
gradually layer up services like a database and Redis. We’ll cover how to set up
and run your tests so that you’re fully proficient at using Docker for Rails
development.

In Part II, we’ll explore the process of deploying and running an application in
production. We’ll start by giving you an overview of the production landscape—
the tools, platforms, and technologies that can be used. Next, using Docker’s
own tools, we’ll provision machines, create a cluster, and deploy our app. We’ll
also scale our app’s resources to meet its changing needs.
How to Read This Book
Docker has a challenging learning curve. It’s a vast tool and ecosystem, and
there’s a lot to understand. Hopefully this book will help—it’s carefully
structured to avoid introducing too many new things at once.

Each chapter builds on the one preceding it, so, especially if you’re unfamiliar
with Docker, I recommend reading the book in sequence to get the most benefit.
Even if you have more Docker experience under your belt already, this is the
recommended approach.

Docker IDs and Following Along Yourself


Docker generates various unique IDs. When following the
examples, it’s important to remember that the IDs generated for you
will be different from those shown in the output. Don’t worry,
though; I’ll point this out where it’s particularly relevant.
Which Operating Systems Are Supported?
Although Docker is supported on all major platforms (macOS, Windows, and
Linux)—and we’ll lead you through the process of installing it on these in
Installing Docker​—there are some minor differences between the platforms,
particularly around file permissions and networking.

For that reason, I’ve chosen Docker for Mac as the default platform in the
examples and discussion, but I’ll point out any differences between other
platforms when they come up.

Some Linux/Unix Knowledge Is Recommended


Even with Docker on Windows or Mac,
there’s no avoiding the need to understand
some Linux basics. Docker evolved out of
Linux kernel features, so explanations and
examples often rely on Linux concepts and
programs. I’m going to assume you have
this knowledge already. If not, there are
plenty of free resources online you can use
to learn more or brush up if you need to.
Online Resources
You can find useful resources related to the book online,[1] including:

The source code used throughout the book (you’re free to use this in any
way you’d like)

An errata page, which lists corrections for the current edition

Let’s get started!

Footnotes
[1] http://pragprog.com/book/ridocker

Copyright © 2019, The Pragmatic Bookshelf.


Part 1
Development
As developers, the bulk of our time is typically spent developing
applications in our local environment.

In this section, you’ll learn, step by step, how to begin using


Docker as part of your local development workflow.
Chapter 1

A Brave New World


In this chapter, we’re going to make sure that you’re set up with a working
version of Docker on your machine. This is important so you can actually try it
out for yourself and follow along with the examples.

Next, we’ll dive straight in and execute our first ever Docker command—
running a basic Ruby script. However, rather than relying on a version of Ruby
installed on your local machine, we’ll be using one supplied by Docker.

You’ll learn the fundamentals of how Docker works, including what images and
containers are and why we need them. We’ll cover the basic anatomy of docker
run—probably the most central command to understanding Docker.

We’ll also begin our journey of incorporating Docker into our development
workflow by learning how to generate a new Rails project with nothing but
Docker. This app will become the subject of our various tinkering and discovery
throughout the rest of the book.
Installing Docker
Let’s get you set up with Docker on your machine.

There’s little benefit to me walking you through the installation process step by
step: Docker’s docs do a great job at this and will stay more up to date. I’ll
simply point you in the right direction.

We’re going to be using the free, Community Edition (CE),[2] rather than the
Enterprise Edition (EE).[3] Docker CE itself comes in two flavors: Edge, which
contains the latest features being developed, and Stable, which is, well, more
stable. Make sure to install the latter as we don’t want any unexpected surprises
getting in the way of your learning as you follow along with this book.

Go ahead and read the following instructions for your OS, then install Docker
and meet me back here when you’re done. Don’t worry, I’ll wait—there’s
nothing that floats my boat quite a like a brand-spanking-new Docker install.

macOS
Docker provides a downloadable installer called Docker for Mac, which has
everything you need in one neat package (it’s currently a 115.6 MB download).
Go ahead and install this, following the installation instructions.[4]

Once installed, Docker for Mac adds a menu bar app in the top right of the
screen featuring Docker’s logo, which is its whale mascot affectionately named
“Moby Dock.” The menu bar not only tells you whether Docker is running, but it
also provides other useful information and settings. You can find out more about
the advanced settings available in docs.[5]

Linux
Unfortunately, getting started with Docker on Linux is a bit more involved than
on other platforms. As you’d probably expect, how you install it depends on
your Linux distribution.
Exploring the Variety of Random
Documents with Different Content
One cup of milk, 3 eggs, 1½ cups of butter, a little salt mixed with
flour to make a soft dough. Knead it thoroughly, first with hands and
then half an hour more with a wooden spoon.

EGGS ROMANOFF
Cover hard-boiled eggs with a stiff mayonnaise. Put a little highly
flavoured aspic jelly in the bottom of individual moulds. When the jelly
is firm add a spoonful of caviare and place the mayonnaised egg on
the top. Pour in more jelly. When it is cold turn from the mould and
serve on a garniture of lettuce. This is good for a cold supper.

ŒUFS POCHÉS IVANHOE


Cook a piece of finnan haddie in milk, then add 2 tablespoons of
sauce (a good cream sauce) with a few fresh mushrooms, salt, pepper,
a bit of cayenne, and 1 tablespoon of Parmesan cheese. Put this
through a fine sieve, and in nests of this paste on slices of toast, slip
poached eggs. Sprinkle with grated cheese and place for a moment in
a hot oven to glaze.

CHEESE PUFFS
Bring to a boil 2/3 of a cup of water, 1½ oz. of butter, a pinch of salt,
a pinch of pepper, then add ¼ of a lb. of flour and stir to a smooth
paste, then stir in, one at a time, 3 eggs, 3½ oz. of grated cheese
(Parmesan preferred). Add ¼ teaspoon of English mustard; when all is
well mixed, drop by tablespoonfuls on a baking tin and place on top of
each a slice of Gruyère cheese. Put in a moderate oven increasing the
heat gradually. Cook from 15 to 20 minutes. Serve hot.

MOSKVA CHEESECAKES
Line tartlet moulds with short paste. Take 2 tablespoons of thick
white sauce, well seasoned, add a good pinch of cayenne pepper,
bring it to a boil, add 2 yolks of eggs, 4 tablespoons of grated cheese.
Again bring to a boil and remove from the fire, add 1 white of egg
beaten stiff. Fill the tartlet moulds with this mixture, put in a hot oven
for 10 minutes, serve immediately.

CHEESE FRITTERS
Boil ½ pint of water, 1 oz. of butter, pinch of salt, pepper. Remove
from fire and add 3 oz. flour. Stir until a smooth paste is made, then
add 3 oz. of grated cheese and 1 oz. chopped cooked ham; when the
mixture is half cold add 3 eggs, one by one, stirring well.
Drop by spoonfuls into hot, not boiling fat; increase the
temperature of the fat, turning the fritters often.
When golden brown drain and serve.

CHEESE PUDDING
(A simple and nutritious Welsh dish)

Chop ½ lb. of cheese. Toast and butter four slices of bread. Put two
slices in the bottom of a dish, cover with half the cheese, sprinkle a
little salt and pepper, put in the dish the other two slices of buttered
bread and cover with the remaining cheese.
Pour over 1 pint of milk, let it stand for five minutes, then bake in a
warm oven 20 minutes.

CHICORY OR ENDIVE
Chicory or endive is scalded the same as spinach, but needs a little
longer time in the boiling water. It is prepared the same in brown
butter, gravy, or cream.

STEWED COS LETTUCES


(French)

Take off the outer leaves; wash them carefully, keeping them as
whole as possible; boil for ten minutes in boiling salted water; pour
cold water through them; drain. Extract the water from them by
pressing each lettuce lightly with two hands; split them in halves
lengthwise; take off the stalk; sprinkle with salt and pepper. Put them
in a stew-pan, placing each half lettuce partly over the other round the
pan. The latter must be well buttered before putting in the lettuces, or
in place of butter some very good gravy from which all grease has
been taken. Add stock to half the height of the lettuces; cover and
cook them gently for an hour. The lettuces should be tender and the
liquid much reduced.
Note.—Lettuces may be cooked in the same manner with a little
lean bacon, ham, or sausage; in the latter case water may be used
instead of stock. They can be served as a vegetable or for garnishing.

ASPARAGUS
(French)

One bundle or 100 heads of asparagus, 1 pint of milk (or equal


quantities of milk and water), 1 head of lettuce finely shredded and
cut into short lengths, 1 medium-sized onion par-boiled and finely
chopped, 1 bay leaf, one sprig of thyme, 1½ oz. of butter, 2
tablespoonsful of flour, the yolks of 2 eggs, 1 teaspoonful of lemon-
juice, salt and pepper, croûtes of buttered toast or fried bread,
chopped parsley, strips of cucumber.
Wash and trim the asparagus, and tie it into 3 or 4 bundles. Bring
the milk to boiling point, put in the asparagus, lettuce, onion, bay-leaf,
thyme, and salt, and simmer gently for about 20 minutes. Drain the
asparagus well, cut off the points and the edible parts of the stalks,
and keep them hot. Strain the milk and return it to the stew-pan, add
the butter and flour previously kneaded together, and stir until a
smooth sauce is obtained. Beat the yolks of eggs slightly, add them to
the sauce, and stir until they thicken, but do not allow the sauce to
boil, or the yolks may curdle. Season to taste, and add the lemon-
juice. Pile the asparagus on the croûtes, cover with sauce, garnish with
strips of cucumber, and a little chopped parsley, and serve as a
vegetable entremet or as an entrée for a vegetarian dinner.

CELERY CROQUETTES
Two heads of celery, stock, 1 oz. of butter, 1 oz. of flour, 1 shallot, 1
gill of milk, seasoning, 2 yolks of eggs, egg and bread-crumbs, fat
for frying.
Trim and wash the celery, and cut into short pieces, blanch them in
salted water, and drain, then cook till tender in well-seasoned stock.
Drain the cooked celery, and chop it rather finely. Melt the butter in a
stew-pan, add the shallot (chopped), and fry a little, stir in the flour,
blend these together, and gradually add a gill of milk. Stir till it boils,
and put in the chopped celery. Season with salt and pepper, and cook
for 15 minutes, add the egg-yolks at the last. Spread the mixture on a
dish and let it get cold. Make up into croquettes—cork or ball shapes—
egg and crumb them, fry in hot fat to a golden colour, drain them on a
cloth or paper, and dish up.

RAGOÛT OF CELERY
Two or 3 heads of celery, 1 pint of white stock, ½ pint of milk, 2
tablespoonsful of cream, 1 medium-sized Spanish onion, 24 button
onions, 1 dessert-spoonful of finely chopped parsley, 2 ozs. of butter, 2
ozs. of flour, salt, and pepper.
Wash and trim the celery, cut each stick into pieces about 2 inches
long, cover with cold water, bring to the boil, and pour the water away.
Put in the stock, the Spanish onion finely chopped, season with salt
and pepper, and cook gently for about ½ an hour. Meanwhile, skin the
onions, fry them in hot butter, but very slowly, to prevent them taking
colour, drain well from fat, and keep them hot. Add the flour to the
butter, and fry for a few minutes without browning. Take up the celery,
add the strained stock to the milk, pour both on to the roux or mixture
of flour and butter, and stir until boiling. Season to taste, add the
cream and ½ the parsley, arrange the celery in a circle on a hot dish,
pour over the sauce, pile the onions high in the centre, sprinkle over
them the remainder of the parsley, and serve. The celery may also be
served on croûtes of fried or toasted bread arranged in rows with the
onions piled between them. A nice change may be made by
substituting mushrooms for the onions.

STUFFED ONIONS
(Italian)
Remove from 6 onions the centres with an apple-corer and fill them
up with the following stuffing: One tablespoon of grated Parmesan
cheese mixed with 2 hard-boiled eggs and chopped parsley. Boil them
first, then roll them in flour and fry them in olive-oil or butter. Then put
them in a baking-dish with ½ tablespoon of grated Parmesan cheese
and 1 tablespoon of melted butter. Put them in the oven and bake until
golden.

ONIONS
(Venetian style)

Remove the centres of 6 small onions. Boil them for a few moments,
drain them, and stuff them with the following: Take a piece of
bread, dip it in milk, squeeze out the milk, and mix the bread with 1
tablespoon of grated Parmesan cheese, the yolks of 2 hard-boiled
eggs. Mix well together, then add some fine-chopped parsley, a pinch
of sugar, salt, and pepper, and the yolk of 1 raw egg; mix again well,
and then stuff the onions with the mixture. Dip them in flour and in
egg, and fry them in lard. Put them on a platter and serve with a
piquante sauce made as follows: Chop up fine some pickles, capers,
and peppers, and ½ cup of water. When these are cooked, add 1
tablespoon of butter and cook a little while longer, then pour over the
onions and serve.

FRIED PUMPKIN OR SQUASH


(Italian)

Take a slice of pumpkin or squash, remove the rind and the seeds. Cut
it into fine strips. Roll in flour and dip in egg, and fry in boiling lard
or olive-oil.
If desired as garnishing for meat, cut the pumpkin exceedingly fine,
roll in flour, but not in egg, and fry.

CUCUMBERS
(Italian)

Peel and boil 3 or 4 cucumbers in salted water for 5 minutes. Drain


and cut them into pieces 1 inch thick and put them in a frying-pan
with 1 ounce of butter, a little flour, and ½ pint of stock; stir well, and
add some salt and pepper. Reduce for about 15 minutes, stirring until it
boils; add 1 teaspoon of chopped parsley, ½ a teaspoon of grated
nutmeg, ½ a cup of cream, and the beaten-up yolks of 2 eggs. Put on
the fire again for 3 or 4 minutes. Do not let boil, and serve hot.

SARMA
(Serbian)

Put a cabbage in boiling water. Let it stand while preparing the rest of
the dish.
Fry 4 onions in 1 tablespoon of lard. Mix 2 lbs. of chopped pork and
2 lbs. of chopped beef with the onions. Stir into this 4 raw eggs. Add
½ lb. of rice, salt and pepper.
Remove the cabbage from the water, tear off the leaves and put into
each leaf two tablespoonsful of the meat and rice mixture, wrapping it
so that the contents should not come out.
Put a little sauerkraut in a pot, then a layer of the filled cabbage
leaves, continue doing this until the pot is filled. Cook slowly about 1
hour.
Make a sauce putting 1 tablespoon of lard in a saucepan on the fire,
and add a chopped onion. When a golden brown, add 1 tablespoonful
of browned flour and paprika to taste. Add a cup of water. Pour this
sauce into the pot and cook about half an hour longer. Some sour
cream may be added if liked on serving.

POLENTA PASTICCIATA
(Italian)

Three-quarters of a cup of Indian meal and 1 quart of milk.


Boil the milk, and add the Indian meal, a little at a time, when milk
is boiling. Cook for one-half an hour, stirring constantly. Add salt just
before taking off the fire. The Indian meal should be stiff when
finished. Turn it onto the bread-board, and spread it out to the
thickness of two fingers. While it is cooking prepare a meat sauce, and
a Béchamel sauce as follows:
MEAT SAUCE
Take a small piece of beef, a small piece of ham, fat and lean, 1
tablespoon of butter, a small piece of onion, a small piece of carrot, a
small piece of celery, a pinch of flour, ½ cup of bouillon (or water),
pepper. Cut the meat into small dice; chop up fine together the ham,
onion, carrot, and celery. Put these into a saucepan with the butter,
and when the meat is brown, add the pinch of flour, and the bouillon a
little at a time, and cook for about one-half an hour. This sauce should
not be strained.
BÉCHAMEL SAUCE
Take 1 tablespoon of flour, and 1½ tablespoon of butter. Put them
into a saucepan and stir with a wooden spoon until they have become
a golden-brown colour. Then add, a little at a time, 1 pint milk; stir
constantly until the sauce is as thick as custard, and is white in colour.
Now take the cold Indian meal and cut it into squares about two
inches across. Take a baking-dish of medium depth, butter well, then
put in a layer of squares of Indian meal close together, to entirely cover
the bottom of the dish. Sprinkle over it grated cheese; then pour on
the top enough meat sauce to cover the layer (about 2 tablespoons),
then on the top of this add a layer of Béchamel sauce. Then put
another layer of the squares of Indian meal, sprinkle with grated
cheese as before, add meat sauce, then Béchamel sauce, and continue
in this way until the baking-dish is full, having for the top layer the
Béchamel sauce. Put the dish into a moderate oven, and bake until a
golden brown.

FRIED BREAD WITH RAISINS


(Italian)

Take some rather stale bread, cut it into slices, removing the crust. Fry
the bread in lard, and then arrange it on a platter; meanwhile
prepare the raisins as follows: Take a small saucepan and put into it 2
tablespoons of raisins, a slice of raw ham chopped into small pieces,
and a leaf of sage, also chopped up, 1 tablespoon of granulated sugar,
and 2 tablespoons of vinegar. Put these ingredients on the fire, and as
soon as you have a syrup pour the raisins on the pieces of fried bread,
and the sauce around.

POLENTA CROQUETTES
(Italian)

Boil ½ cup of corn-meal, and before removing from the fire add a
piece of butter and a little grated cheese and mix well. Take it then by
spoonfuls and spread it on a marble-top table. These spoonfuls should
form little balls about the size of a hen's egg. On each of these
croquettes place a very thin slice of Gruyère cheese, so that the cheese
will adhere to the corn-meal. Then allow them to cool, and when cold
dip into egg; then into bread-crumbs, and fry in boiling lard.

RICE WITH MUSHROOMS


(Italian)

Five or six mushrooms and ¾ of a cup of rice.


Chop up a little onion, parsley, celery, and carrot together, and put
them on the fire with 2 tablespoons of good olive-oil. When this sauce
is coloured, add 2 tablespoons of tomato paste, thinned with hot water.
Season with salt and pepper. Cut the mushrooms into small pieces, and
add them to the sauce. Cook for 20 minutes over a medium fire. Put on
one side and prepare the rice as follows:
Fry the rice with a lump of butter until dry; then add hot water, a
little at a time, and boil gently. When the rice is half cooked (after
about 10 minutes) add the mushrooms and sauce, and cook for
another 10 minutes. Add grated Parmesan cheese before serving.

TIMBALES OF BREAD WITH PARMESAN SAUCE


Soak half an hour 2 cups bread-crumbs in 1 cup thin cream (milk will
do with butter added).
To this add grated rind half lemon; 1 tablespoon minced parsley; 1
tablespoon minced chives; 1 teaspoon salt; pepper; yolks two eggs.
Fill buttered timbale moulds or one large mould with this mixture,
cover with buttered paper, and bake 20 minutes in moderate oven in a
pan half filled with hot water.
Remove from moulds and pour cheese sauce around it.
Sauces
CHEESE SAUCE
Put 2 tablespoons butter on fire. Add 2 tablespoons flour and blend to
a paste. Add ½ teaspoon salt and a dash of cayenne. Then add
gradually 1 cup milk. Cook five minutes, then add 1 cup grated cheese.
Do not allow it to boil after adding the cheese but serve at once.

TOMATO SAUCE
(Italian)

Take 3 chopped shallots, put them in a stew-pan with a tablespoonful


of olive oil, salt, pepper, a dash of ground ginger, a very little
ground nutmeg. Let the shallots take a good colour without burning;
add 6 tomatoes skinned and all the pits well squeezed out. Let them
cook very gently until all the moisture has disappeared. They should
take the consistency of jam.
This sauce may be eaten hot or cold.

ANOTHER TOMATO SAUCE


Cut in two 5 or 6 tomatoes, squeeze out the seeds, put in a stew-pan
with 1 cup of stock; salt and pepper, a bit of tarragon, laurel thyme,
parsley, a chopped onion, and a dash of cinnamon. Cook until the
moisture has disappeared, then pass through a sieve. Prepare a white
thickening with 1 oz. of butter, the same of flour. Add the purée of
tomatoes to it; thin the sauce with stock. Let it cook 10 to 15 minutes
and finish with a pinch of sugar and 1 oz. of butter.

MUSTARD SAUCE
Two tablespoons of butter, 1½ tablespoons of flour, 1 cup of scalded
milk, ¼ teaspoon of salt, ½ teaspoon of mustard, ½ teaspoon of
vinegar.
Blend the butter and flour in a saucepan and pour on the milk little
by little, then add the salt, mustard, and vinegar.
A spoonful of mixed capers is sometimes added.

A MEAT SAUCE
(Italian)

Put into a saucepan 1 pound of beef and ½ an onion chopped up


with 3 ounces of lard, some parsley, salt, pepper, 1 clove, and a
very small slice of ham. Fry these over a hot fire for a few minutes,
moving them continually, and when the onion is browned add 4
tablespoons of red wine, and 4 tablespoons of tomato sauce (or
tomato paste). When this sauce begins to sputter add, little by little,
some boiling water. Stick a fork into the meat from time to time to
allow the juices to escape. Take a little of the sauce in a spoon, and
when it looks a good golden colour, and there is a sufficient quantity to
cover the meat, put the covered saucepan at the back of the stove and
allow it to simmer until the meat is thoroughly cooked. Then take out
the meat, slice it, prepare macaroni, or any paste you desire, and serve
it with the meat, and the sauce poured over all, and the addition of
butter and grated cheese.

ANOTHER MEAT SAUCE


(Italian)

Chop up some ham fat with a little onion, celery, carrot, and parsley.
Add a small piece of beef and cook until beef is well coloured. Then
add 1½ tablespoons of red wine (or white), cook until wine is
absorbed, then add 1 tablespoon of tomato paste diluted with water, or
4 fresh tomatoes, and boil 15 minutes.

LOMBARDA SAUCE
Put 2 cups of white sauce and 1 of chicken stock into a saucepan,
reduce, and add 3 yolks of eggs mixed with 2 ounces of butter and
the juice of ½ a lemon. Before it boils take the saucepan off the fire
and add 1 cup of thick tomato sauce, strain, and just before serving
add 1 tablespoon of sweet herbs minced fine.
HORSE-RADISH SAUCE
Cook about half an hour in a double boiler 1½ cups of milk, 1 dessert-
spoon of sugar, 1/3 cup of bread-crumbs, and 1/3 cup of grated horse-
radish root, ¼ cup of butter, half a teaspoon of salt.

GNOCCHI DI SEMOLINA
One pint of milk, 2 eggs, ½ cup of farina, butter and cheese.
Put the milk on, and when it boils add salt. Take a wooden spoon
and, stirring constantly, add the farina little by little. Cook for 10
minutes, stirring constantly. Take off the fire and break into the farina 2
eggs; mix very quickly, so that the egg will not have time to set.
Spread the farina about on a marble slab about ½ inch thick. Allow it
to cool, then cut it into squares or diamonds about 2 or 3 inches
across. Butter well a baking-dish, and put in the bottom a layer of the
squares of farina; sprinkle over a little grated cheese, and here and
there a small lump of butter. Then put in another layer of the squares
of farina; add cheese and butter as before. Continue in this way until
your baking-dish is full, having on the top layer butter and cheese.
Bake in a hot oven until a brown crust forms. Serve in the baking-
dish.
Salads
ITALIAN SALAD
Cut 1 carrot and 1 turnip into slices, and cook them in boiling soup.
When cold, mix them with 2 cold boiled potatoes and 1 beet cut into
strips. Add a very little chopped leeks or onions, pour some sauce,
"Lombardo," over the salad, and garnish with watercress. Boiled
Jerusalem artichokes cut into slices are a good addition.

LETTUCE SALAD
Mix one spoonful of thick mayonnaise, ½ spoonful of chilli sauce, a
little finely hashed pimento, a sprinkling of finely hashed chives,
add a few drops of tarragon vinegar, 1 teaspoon of A. I. sauce, and a
little paprika.
Cut a firm head of tennis-ball lettuce in 4 parts. Put one part on a
plate and pour the dressing over it. This recipe is enough for 1 person.

SANDWICH DRESSING
Cream ½ lb. of butter and add to it 1 dessert-spoonful of mixed
mustard, 3 tablespoons of olive oil, a little salt, and the yolk of 1 egg;
one may add to this ¼ cup of very thick cream. Mix thoroughly and set
away to cool. To make sandwiches, spread the bread with this mixture
and put in very finely chopped ham, or chicken and celery, or cream
cheese and chopped nuts, or green peppers and mustard and cress, or
lettuce, or "Indian relish," or cucumber, or tomato or anything else you
happen to have and may like.

SALAD DRESSING
(For grapefruit or orange)

Mix well 2 tablespoonfuls of Escoffier Sauce Diable and 1


tablespoonful of Escoffier Sauce Robert and then add olive oil, a
little at a time. When it becomes thick, season with salt and pepper
and vinegar.

CHEESE DRESSING
One quarter of a lb. of Roquefort cheese and 2 tablespoons of thick
cream mixed to a smooth paste; stir in, little by little, enough olive oil
to give the consistency of mayonnaise; season with tarragon vinegar,
salt, and pepper. This is especially good for string beans, lettuce, or
endive. One may fill celery stalks with this dressing made into a thick
paste.
Vegetables
POTATO CAKES
(Russian)

Peel and grate 6 raw potatoes, season with salt and pepper, 1 egg.
Mix all together. Drop onto a well-buttered griddle, spoonsful of the
mixture, leaving space between to flatten them; continue to add a little
butter to the griddle. Cook a golden brown on both sides. Arrange in a
crown on a dish with a sprig of parsley in the centre.

PETITS POIS
Fry some finely shredded onion in about a tablespoonful of oil, with
salt, pepper, and a sprig of tarragon. Lay the heart and best leaves
of a head of lettuce at the bottom of a stew-pan with a quart of very
young peas. Add a pint of stock. Stew gently. A little sugar is always an
improvement to peas.

STRING BEANS
Cut off the ends of the string beans, slice them in three parts, cook
them until three quarters done, then put them into cold water and dry
them. Cook an onion in butter and put the beans into a pan and
simmer half an hour. Shake at intervals but do not stir them. Take out
and pour over a little stock thickened with a very little flour and cream.
Peas may be done in the same way.

RED CABBAGE
(Flemish)

Chop 4 onions and cook in 1 tablespoonful of butter, add 1 large red


cabbage chopped. Cover this with 6 chopped apples, next add 1
tablespoonful of rice, 2 cups of water, 1 dessert-spoonful of vinegar, 1
teaspoonful of sugar, 1½ teaspoonfuls of salt, pepper. Do not stir but
cook slowly 4 hours or longer removing the cover occasionally to let
out the steam.

CABBAGE WITH CHEESE SAUCE


Cabbage, cauliflower, or cucumbers boiled in salted water are excellent
served with cheese sauce. (See Sauces.)

GLAZED ONIONS
Boil onions in water until they are half cooked, then strain. Put them
in the stew-pan with a piece of butter, a pinch of powdered sugar, salt,
and a cupful of stock; let them finish cooking. The liquid will be
reduced and the onions coloured. Young carrots are glazed in the same
way.

SPINACH SOUFFLÉ
(Italian)

Boil some spinach in salted water. When cooked drain and chop it.
There should be about 2 cupfuls when chopped.
Put into a saucepan on the fire 2 tablespoonsful of butter and 1½
level tablespoonsful of flour. When these are blended add the 2 cupfuls
of spinach and one cup of cream. Cook five minutes, stirring carefully.
Then mix into this the yolks of 3 eggs and remove the saucepan at
once from the fire. When the mixture is cool stir into it the 3 whites of
eggs, well beaten. Pour into a buttered soufflé dish, or individual
dishes, and bake about twenty minutes in a moderate oven.
Puddings, Cakes, Etc.
FRENCH PANCAKES
Mix 1 teaspoonful of flour and 1 teaspoonful of sifted sugar with ½
pint of cream or rich milk. Beat 3 eggs separately and stir into the
cream. Bake in a quick oven in 3 large saucers. When brown, place one
cake on top of the other and spread jam between.

CRÊPES SUZETTE
Mix well 1 lb. of flour, 5 ozs. of powdered sugar, a pinch of salt, 10
eggs; add ¼ pint of cream, ¼ pint of milk, 2 spoonsful of
whipped cream, a liqueur glass Curaçoa and a few drops of essence of
mandarines. Three or 4 tablespoons of this mixture are enough for one
pancake. Cook in a pan and when brown on both sides put in a hot
covered dish.

SAUCE FOR CRÊPES SUZETTE


Cream ¼ lb. of butter, add ¼ lb. of powdered sugar, 3 liqueur glasses
of Curaçoa, 1 liqueur glass of essence of mandarines, the juice of ½ a
lemon, and 1/8 of an oz. of hazelnut milk (Noisette de beurre d'aveline).

Put one spoonful of the sauce in a chafing dish, and when the sauce
is hot, put in a pancake, fold it over twice, turn it in the sauce, and
serve very hot. Prepare each pancake separately in this manner.

ANOTHER SUZETTE PANCAKE


Mix 3 cups of flour, 1½ tablespoons of baking powder, ¼ cup of
sugar, and 1 teaspoon of salt. Add 2 cups of milk slowly, then a
well-beaten egg, and 2 tablespoonsful of melted butter.
Cook in the same manner as the first Suzette pancake with the
following sauce: Cream together ¼ cup of brown sugar and ½ cup of
butter, add the juice of ½ orange and 1 pony of Curaçoa and 1 pony of
brandy. Serve from the chafing dish as described for the first Crepe
Suzette.

KISEL
(Russian)

Mix three cups of any kind of fruit syrup, add a little water if the
syrup is very thick, sugar and vanilla according to taste, and ½
cup of potato flour. Cook them in a double boiler until a very thick
cream. Served hot or cold with cream and powdered sugar.

CARROT PUDDING
Mix 1 cup of grated carrots, 1 cup of bread-crumbs, 1 cup of minced
suet, 1 cup of currants, 1 cup of chopped raisins, 1 cup of flour, 1
cup of milk, 1 teaspoon of salt, ¼ of a teaspoon of soda. Steam 4
hours, the longer the better.
Serve with the following sauce: ¼ cup of butter, 1 cup of powdered
sugar, ½ cup of cream, 2 tablespoons of sherry or 1 teaspoonful of
vanilla. The butter must be worked soft before adding the sugar
gradually, then the cream and flavouring, little by little, to prevent
separating.

OLD ENGLISH PLUM PUDDING


Two lbs. raisins stoned, 2 lbs. currants, 1½ lbs. Sultanas, 1 lb. mixed
peel chopped fine, 2 lbs. brown sugar, 2 lbs. breadcrumbs, 2 lbs.
chopped suet, 1½ lemons grated with the juice, 4 ozs. chopped
almonds blanched, 2 nutmegs grated, ½ teaspoon of mixed spice, ¼
teaspoon crushed clove, pinch of salt, 6 eggs whisked, ¼ pint
(generous) brandy.
Mix all together thoroughly, boil 12 hours, the longer the better on
the first day and 2 hours just before serving. This is the secret for
making it black and light. This makes about 1 two-quart and 5 one-
quart puddings. This recipe makes excellent plum cake, black and rich,
by substituting flour for the crumbs and lard for the suet.

BANANA TRIFLE
Put thin slices of bread and butter into a glass dish, then cut 3 or 4
bananas into round slices and place them on the top of bread and
butter. Make a pint of sweet custard well flavoured with Madeira and
pour over. Beat stiff ½ pint of cream and put on top of the trifle when
cold.

CREAM TART
Make a puff paste and cut it into 3 round pieces; it must be very thin
and a few holes pierced to keep it from rising too high. Make a
cream filling and spread over each piece, placing one on top of the
other. On the top layer sprinkle chopped pistachio nuts (or any
chopped nuts) on the cream as a frosting.
Filling: Mix 2/3 of a cup of fine sugar with 1/3 of a cup of flour, add
the yolks of 3 eggs and 1 whole egg, 1 cup of scalded milk, ¼ of a
teaspoonful of salt, cook in double boiler 15 minutes. Add 2
tablespoons of butter, 2 tablespoons of either cocoanut or almond
macaroons, crumbed, 2/3 teaspoonful of vanilla, and ½ teaspoonful of
lemon extract.
This may be put between simply two crusts, a bottom and a top,
and served in a pie plate.

CHOCOLATE PUDDING
(French)

Grate ¼ pound of chocolate. In a separate basin soften ½ pound of


butter at the entrance of the oven; work it well with a spoon for 5
minutes; add little by little to it 1 whole egg, 5 yolks, and the grated
chocolate, ¼ lb. of white powdered sugar, and a dessert-spoonful of
dried bread pounded. Beat up to a froth with 5 whites of eggs, add
them delicately and gently to the mixture with two dessert-spoonfuls of
dried and sifted flour. Pour into a mould that has been buttered and
sprinkled with baked bread-crumbs. Boil in a stew-pan, the water to
reach half-way up the mould; leave the stew-pan open, and boil from
35 to 45 minutes. This pudding may also be baked. Serve with cream
and chocolate sauce.
Sauce crême au chocolat.—Dissolve a tablet of chocolate in 2 dessert-
spoonfuls of hot water; add 2 ozs. of powdered sugar and 3 yolks of
eggs, working the mixture for an instant with the spoon, then add very
gradually ¼ pint of hot milk. Stir over the fire until it commences to
thicken and stick to the spoon; it must not boil. Pass it through a hair-
sieve.

FRIED APPLES
(New England)

Cut 4 or 5 apples of fine flavour into quarters, then divide again until
the pieces are about 1 inch in width—do not remove the skin. Throw
into cold water.
Put into a saucepan 1 teaspoonful of lard. When this is hot heap all
the apples into the pan; spread over the apples 1 cup darkest brown
sugar; cover closely. Cook rather slowly about 15 minutes; then turn
each piece with a fork. Cover closely again and cook 15 minutes more.
The apples should keep their shape and look clear with a rich syrup.

ORANGE PUDDING
(French)

Put into an enamel saucepan ¼ lb. of butter, the same of white sugar,
a dessert-spoonful of flour, seven yolks of eggs, the juice of an
orange, the same of lemon, and the grated rind of an orange. Stir all
over a slow fire as you would an ordinary custard, not allowing it to
boil, nor must there be any lumps. Pour this custard into a basin of
earthenware—it must not be put into any tin vessel; mix with the
seven whites of eggs beaten to a firm froth, pour into a plain
earthenware mould, and cook in the oven for 30 to 35 minutes. The
mould must be placed in a bain-marie—that is to say, in a deep dish or
vessel half full of boiling water. This pudding must be served quickly,
and with a custard flavoured with orange.

OAT CAKES
(Scotch)
wo lbs. of oatmeal, 6 ozs. of flour, 2 ozs. of sugar, ½ lb. of butter and
lard, ½ oz. of carbonate of soda, ¼ oz. of tartaric acid, a little salt,
milk.
Weigh the flour and meal onto the board, take the soda, acid, and
salt, and rub these ingredients through a fine hair sieve onto the flour
and meal; then add the sugar and fat, and rub together until smooth;
make a bay or hole in the centre and work into a smooth paste with
milk, taking care not to have it too dry or tight, or considerable trouble
will be experienced in rolling out the cakes, as they will be found very
short. Having wet the paste take small pieces about the size of an egg,
and roll these out thin and round with a small rolling-pin, dusting the
board with a mixture partly of oatmeal and flour. When rolled down
thin enough, take a sharp knife and cut them in four, place them on
clean, flat tins, and bake in a warm oven. These cakes require very
careful handling or they will break all to pieces.

TEA-CAKES (HOT)
(Scotch)

One-half lb. flour, ¼ lb. butter, 1 oz. sugar, 1 saltspoon salt, 1


teaspoon baking-powder, 1 egg, and some sweet milk.
Make the ingredients into a nice soft dough with the milk, cut into
rounds about ½ an inch thick, and bake for 10 minutes in a quick
oven; split open with your fingers, butter, and eat hot.

TEA PANCAKES
(Scotch)

Two eggs, 1 lump of butter, ½ teacup sugar, 1 heaping teaspoon


carbonate of soda, 1 lb. of flour, salt, 1 heaping teaspoon cream of
tartar, 1 pint milk (or milk and water).
Rub together the dry ingredients. Beat up eggs and mix well with
the milk, beating both together also. Then dredge in gradually with the
hand the dry ingredients, stirring all the time. Heat griddle well, rub
over till quite greasy with a piece of bacon fat. Drop the mixture on
griddle in spoonfuls from a tablespoon. A minute or two will brown
them. Then turn over and cook other side.

CANADIAN WAR CAKE


Two cups brown sugar, 2 cups hot water, 2 tablespoons lard, 1 lb.
raisins, cut once, 1 teaspoon salt, 1 teaspoon cinnamon, 1 teaspoon
cloves.
Boil these ingredients 5 minutes after they begin to bubble. When
cold add 1 teaspoon soda dissolved in 1 teaspoon hot water, and 3
cups of flour.
Bake in 2 loaves, 45 minutes in a slow oven.

SERBIAN CAKE
Mix together the yolks of 8 eggs, 1 cup of sugar, 7 tablespoons of
pounded hazelnuts, 1 cup flour. Add the beaten whites of the
eggs. Cook this in shallow pans and put between the layers and on the
top a cream made as follows:
Boil 10 minutes ¼ lb. pounded nuts with 1 cup of milk. Put aside to
cool. Cream ¼ lb. butter, add 2 tablespoons of rum and 1 teaspoon
vanilla. Mix this with the boiled milk and nuts. Add fine sugar until stiff
enough to put between the layers of cake and then add more sugar to
make it stiff enough for the top. Sprinkle the top and sides of the cake
with chopped nuts.

RAVIOLI DOLCE
Take ½ pound of flour, 1 tablespoon of butter, and 2 tablespoons of
lard. Work this into a paste and roll out thin.
Take ½ pound of curds, add 1 egg, and the yolk of a second egg, 2
tablespoons of granulated sugar, a few drops of extract of vanilla. Mix
well together and add to the paste as for other ravioli. Then fry in lard
until a golden brown. Serve with powdered sugar.

CHESTNUTS
(Italian)
Take 40 chestnuts and roast or boil them over a slow fire. Remove the
shells carefully, put them in a bowl, and pour over them ½ a glass
of rum and 3 tablespoons of powdered sugar. Set fire to the rum and
baste the chestnuts constantly as long as the rum will burn, turning the
chestnuts about so they will absorb the rum and become coloured.

GNOCCHI OF MILK
One cup of milk, 1 level tablespoon of powdered starch, ½ teaspoon
of vanilla, 2 yolks of eggs; 2 tablespoons of sugar.
Put all these ingredients together into a saucepan and mix together
with a wooden spoon for a few minutes. Then put on the back of the
stove where it is not too hot, and cook until the mixture has become
stiff. Cook a few minutes longer; then turn out onto a bread-board and
spread to a thickness of an inch. When cold cut into diamonds or
squares. Butter a baking-dish, and put the squares into it overlapping
each other. Add a few dabs of butter here and there. Put another layer
of the squares in the dish, more dabs of butter, and so on until the dish
is full. Brown in the oven.

ALMOND PUDDING
(Italian)

Two ozs. of ground almonds, sugar to taste, 3 eggs, ½ pint of cream,


1 dessert-spoonful of orange-juice, blanched almonds, shredded
candied peel.
Separate the yolks of the eggs, add 1 tablespoonful of castor-sugar,
the ground almonds, and the cream gradually. Whisk the whites stiffly,
stir them lightly in, and add more sugar if necessary. Have ready a
mould well buttered and lightly covered with shredded almonds and
candied peel, then pour in the mixture. Steam gently for 1½ hours,
and serve with a suitable sauce.

CHESTNUT FRITTERS
(Italian)

Take 20 chestnuts and roast them on a slow fire. Remove the shells
and put them into a saucepan with 1 level tablespoon of powdered
sugar and ½ glass of milk and a little vanilla. Cover the saucepan and
let it cook slowly for more than a half-hour. Then drain the chestnuts
and pass them through a sieve. Put them back in a bowl with one
tablespoon of butter, the yolks of 3 eggs, and mix well without cooking.
Allow them to cool, and then take a small portion at a time, the size of
a nut, roll them, dip them in egg, and in bread-crumbs, and fry in
butter and lard, a few at a time. Serve hot with powdered sugar.

CHESTNUT CREAM
(A favourite Florentine pudding)

Cut 1 lb. of chestnuts lightly with a knife; put them in a saucepan and
cover with cold water; boil 5 minutes. The outer and inner skins should
now peel easily.
Cover the peeled chestnuts with milk, add a little vanilla, let them
boil in a covered pan until tender and the milk reduced. Now crush the
chestnuts in the saucepan and add ¼ lb. powdered sugar. If the purée
is too thick add a little milk, but it should be stiff enough to form into a
border around the dish in which it is to be served.
In the centre of the dish heap whipped cream lightly sweetened and
flavoured with vanilla. The chestnut border may be made in an
ornamental form by a pastry bag and tube.

TAPIOCA PUDDING
(French)

Boil 1½ pints of milk with 3 oz. of sugar and two even tablespoons of
butter. Stir in gradually 3 oz. of fine tapioca.
Place the saucepan on a slow fire and simmer 15 minutes.
Pour the mixture into a basin and add ½ cup stoned raisins, the
grated rind of 1 lemon, 1½ oz. finely cut candied orange-peel, one
whole egg, 3 yolks; mix all together. Beat the 3 whites stiff and add to
the mixture.
Pour into a mould which has been buttered and well sprinkled with
powdered sugar and steam 45 minutes. Serve with any sweet sauce.
With a larger quantity of raisins this resembles an old time "Whisper
Pudding." So called because the plums were close together.

GINGER ICE-CREAM
(Canadian)

Make a pint of custard. When it is cold add ½ pint unsweetened


condensed milk, ½ pint unsweetened condensed cream, 2
tablespoons of chopped preserved Canton ginger, and 4 tablespoons of
the syrup from the ginger jar.
Freeze.

ALMOND CAKE
(Canadian)

The ingredients are: Whites of 10 eggs, 1 cup of flour, 1½ cups of


sugar, 1 teaspoonful of cream tartar; the method of mixing similar
to angel cake. Bake in 3 layers.
For the filling: Yolks of 4 eggs, 1 tablespoon of sugar, 2 teaspoons of
corn-starch mixed in enough milk to moisten, 1 pint of cream. Heat the
cream in a double boiler, then add other ingredients, stir constantly and
do not let it thicken too much; add a few drops of almond flavouring
and ½ cup of chopped almonds.
For the frosting: White of 1 egg beaten stiff, 1 cup of sugar with
enough water to melt it. Boil 2 minutes. Stir half of it into the egg, let
the remainder boil thick. Add all together and beat to the right
consistency; flavour with sherry or Madeira.

QUEEN CAKES
(English)

Melt 4 oz. of butter, then add 4 oz. of corn flour, 4 oz. flour, 6 oz.
sugar, 3 eggs, 1/8 of a teaspoonful of lemon-juice, 1/8 of a
teaspoonful of lemon extract, 1 small teaspoonful of baking powder.
Beat well for 10 minutes and then bake in well-buttered patty pans in a
warm oven.
FRANCESCAS
Mix together 2 eggs, 1 cup of sugar, ½ cup of butter, ½ cup of flour
(scant), 2 squares of melted bitter chocolate, and 1 cup of
chopped (not too finely) walnuts. Bake on well-buttered paper in
moderate oven. Cut in squares while hot.

OAT CAKES
(Canadian)

Cream 1 cup of sugar with 1 tablespoonful of butter, add 2 cups of


rolled oats, a few drops of bitter almond, 2 scant teaspoons of baking
powder, then the yolks of 2 eggs, lastly the whites beaten stiff. Drop on
buttered paper and bake until a good brown.

GATEAU POLONAIS
Proportions: ¼ lb. of almonds, ¼ lb. of sifted sugar, 2 tablespoons of
orange water, 2 dessert-spoons of water. Pound the almonds,
moistening them with the water and orange water; mix in the sugar.
Take ½ lb. of puff paste, divide it into two parts one a little larger than
the other. Roll the smaller piece to the thickness of 1/8 inch, lay it at the
bottom of a round baking sheet, spread on it the almond paste to
within ½ inch of the border, moisten the border; roll the other piece of
pastry to twice the thickness of the lower piece, place it over the
almonds, join by pressing lightly on the edges of the two pieces of
pastry; brush over the top with yolk of egg. Bake in a good oven from
25 to 30 minutes; an instant before taking out, powder some sugar on
the top to glaze it.

ANISE CAKES
(French)

Beat well together ½ lb. flour, ½ lb. sugar, and 3 eggs. Add aniseed
to taste. Drop on buttered pans, making small round cakes and bake
slowly.

GORDON HIGHLANDER GINGERBREAD


Put in a mixing bowl ½ a lb. of flour, 2 oz. of brown sugar, 2 oz. peel,
¾ of an egg or 1 small egg, well beaten, ½ teaspoonful of soda
mixed with ¼ of a cup of milk, ¼ oz. each of ginger, mace, and
cinnamon, then beat into this slowly 3 oz. of butter that has been
warmed in ½ pint of molasses.
Bake very slowly in a tin lined with buttered paper.

SCOTCH SHORT BREAD


Beat to a cream ½ lb. of butter and 1 lb. of flour and 5 oz. of sugar
(fine), add 4 oz. ground almonds, mixing all thoroughly together. Roll
out into 3 cakes about ½ inch thick. Ornament around the edges and
prick the top with a fork. Bake in a moderate oven until a nice brown,
about 20 to 30 minutes.

CRAMIQUE
(Belgium)

Mix together ¼ of a cup of sugar, 1/3 of a cup of butter, 1 cup of milk,


½ teaspoonful of salt, 1 yeast cake dissolved in ½ a cup of warm
water, 2 pounded cardamon seeds, and let rise. When light add 1 cup
of seeded raisins and enough flour to make a stiff batter. Let this rise
until it is twice the size, then shape in a round loaf and bake. Brush
over the top with the yolk of an egg.

GAUFRES
½ lb. flour, ¼ lb. sugar, a little salt, ¼ lb. butter, 2 whole eggs, 1
yolk, 1 teaspoonful brandy, 1 teaspoonful warm water, ½ pint milk.
Mix all in basin to a liquid paste, beat well until creamy.
Heat the waffle irons, butter them lightly, pour into the middle a
teaspoonful of the mixture; cook to a golden brown on both sides of
the cakes. When done, should be quite thin like an ice cream wafer.
These are delicious but it is necessary to have the proper irons.

PETS DE NONNE
Proportions: 2½ cups water, 3 oz. butter, 1¼ oz. sugar, a pinch salt,
grated rind 1 lemon, ½ lb. flour, 4 whole eggs. Boil together the
water, butter, sugar, and salt for two minutes.
When the liquid is boiling remove the stewpan from fire and add the
flour all at once, then the lemon peel. When half cool add the eggs one
by one.
Drop by spoonfuls in hot frying fat, which must not be too hot.
When a golden brown remove from fire, drain, and roll in fine sugar.

BRIOCHE DE LA LUNE
Dissolve 2 yeast cakes in 1 cup of warm water; mix this into ¼ lb. of
flour, a pinch of salt, 1 even tablespoon of sugar and 2 pounded
cardamon seeds. Put 2 dessert-spoonsful of warm water in a bowl and
place the dough in it and put in a very warm place to rise. Then work
soft ¾ of a lb. of butter and mix into it 8 eggs and ¾ of a lb. of flour
by degrees so that a smooth paste is obtained; when the paste is
smooth and shining add to it the yeast, butter, and 1 dessert-spoonful
of cream.
Leave in gentle temperature 4 or 5 hours or until the dough has
risen to twice its size.
Roll out on a board ¼ of an inch thick, spread thinly with softened
butter, then turn the edges over to the center to make 3 layers. Roll
out ½ an inch thick. Cut into small squares. With a wet finger make a
hole in the center of each; into this hole put a piece of the dough in
the shape of a little pear; brush the top lightly with the yolk of egg. Let
it rise again and then bake in a moderate oven about 20 minutes.

VICTORIA SCONES
(English)

Two cups of flour, 4 teaspoonsful of baking powder, 2 teaspoonsful of


sugar, ½ teaspoon of salt, 4 tablespoonsful of butter, 2 eggs, 1/3
cup of cream.
Mix and sift together flour, baking powder, sugar, and salt. Rub in
butter, add beaten eggs and cream. Roll out on floured board ¾ in.
thick, cut out with a small biscuit cutter, and brush over with white of
egg. Bake in a hot oven 15 minutes.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like