Adventures in gluten free pastry

I decided I need more “things that loosely fall into the category of donuts” in my life. I used to adore French Crullers, which (I’ve now learned) are made from pâte à choux. Never one to jump into a hobby halfheartedly, I ordered a copy of Mastering the Art of French Pastry and have made my first, semi-successful attempt! The book itself is conveniently divided into three sections:

  1. pastry doughs
  2. batters and cakes
  3. fillings and toppings

The doughs are further divided into three sections, which could be translated into:

  1. “Lining pastries”: probably will be fine gluten free
  2. “flaky pastry doughs”: requires a decent amount of gluten, so don’t bother
  3. “leavened pastry doughs”: requires an excess of gluten, so don’t bother

While the batters (and fillings, of course) are practically GF already, or very easily adaptable. Batters includes pound cakes, sponge cakes, meringues, and pâte à choux, most of which rely heavily on eggs for structure rather than gluten!

They are obviously nothing like crullers in shape, but I’m counting them as vaguely successful since:

  • they taste delicious!
  • they more or less behaved correctly (at least, they behaved as overly-runny choux pastry is expected to). I weighed all the ingredients and used my “go-to” gluten free blend* (with 1/8 tsp xanthan gum for the 150g flour)
  • I managed to not ruin the pan making the caramel sauce
  • did I mention they taste good?

Notes for next time:

  • The batter was too runny: probably I put in too much egg (I struggle with meting out small amounts of beaten egg, so I have some technique to work on there).
  • I over cooked the caramel blond, and had strings of caramel across the kitchen, and when I eat one of them, the caramel layer peels off into a painfully chewy thing that remains in the mouth to be eaten after the pastry is chewed
  • I melted my oven knobs!!! The instructions said to bake at 400F with the oven door propped open a tiny bit with a wooden spoon. This melted the bottom side of all my stove/oven knobs. Maybe they have better knobs in French kitchens??
  • Need to find a better technique for getting the batter into the piping bag!

My gluten free flour blend that works for almost everything (cookies, cakes, roux/white sauce):

By weight:

  • 40% sorghum/millet/brown rice in some combination
  • 30% starch (potato, arrowroot, tapioca in some combination)
  • 25% almond flour
  • 5% sweet white rice

When I make it up, I actually use these amounts (hilariously, I use a mix of english and metric! Who says I’m not cosmopolitan?):

  • 1 bag Bob’s Red Mill sorghum (23oz)
  • 1 bagBob’s Red Mill millet (22oz)
  • 1 bagBob’s Red Mill potato starch (24oz)
  • 1/2 bag Bob’s Red Mill tapioca starch (need 10 oz)
  • 797g almond flour
  • 159g sweet white rice flour

I find all sorghum or all millet give too strong a taste to the flour, but the mix is somehow completely neutral. It has been 9 years since I tasted wheat, though, so I might not be the most reliable judge.

Nailed it, again!

I’m teaching myself to sew, after 20 years of thinking about it. A couple years ago I sewed 4 napkins, which went fine. I’ve been trying to get excited about either another beginning project or about hemming the freakishly long IKEA curtains (sewing a mile of straight lines is actually kind of hard), when I finally said “Fuck it” and started sewing a tailored blouse, which is mostly what I want to be able to sew. I really “nailed it”!

nailedItSewingI somehow cut only one arm (or the dogs ate the second one but didn’t touch anything else??), sewed it as a left sleeve, and then attached it to the right armhole (ha!), and I obviously need to grade the pattern for a larger waist. From this distance you can’t see the million ways I need to improve my technique, but overall I’m pretty impressed with myself! And I actually had fun doing it! I ordered an entire bolt of muslin and interfacing and will just keep on sewing this thing until I have a shirt I’m not embarrassed to leave the house in, at which point i will buy some real fabric!

France, 2015

I spent a couple weeks in France with my mom, sister, and niece! I took lots of photos: click on this one to see them al!

France, 2015

The most beautiful lazy kate in the world!

Jeromy made me an absolutely gorgeous lazy kate for our 5th anniversary!

A lazy kate is a device that holds spun yarn singles for plying, to turn singles into a normal, plied yarn. I bought one when I bought my Schacht Sidekick wheel in 2013, but I hated the design! It took up too much space, the yarns tangled with each other, and I couldn’t tension them very well despite the built in tensioner! This one has both “gravity” tension (by adjusting the angle of the lid) and spring tension. It is so much nicer and is so beautiful! He made it with bird’s eye maple, curly maple, and cherry wood.

Here are some antique videos of me spinning on the wheel

Breakfast

I don’t like to make time for a complicated breakfast, but cold cereal with milk isn’t very satisfying. A few years ago I stumbled across this recipe for a breakfast “muffin” based on quinoa flakes. I really like it, but even that is too fussy for a morning (plus I don’t like dealing with partial bananas), so I sort of scaled it up to be made in muffin tins. Over the years I’ve tinkered with the ingredients, partly because quinoa flakes have doubled in price!! This is my current recipe. It makes about 18 muffins, which I throw in the freezer (after they cool). I microwave one for 1.3 minutes at 50% power for breakfast. They also pack well as a snack!

Ingredients:

3-4 mashed bananas
4 eggs
2 c quinoa flakes
1/2 c coconut flour
1 c almond meal
1/4 c extra virgin coconut oil
1/4 c plain yogurt (full fat)
1.5 c water
1/4 c ground flax
2 TB ground chia
1 tsp cinnamon
pinch nutmeg
2 cups coconut flakes
1 cup chocolate chips (mini)

Instructions: mix everything together (I use my hand mixer) and put into greased muffin tins. Bake at 350F for about 30 minutes. Makes 18 muffins

They don’t rise at all, and I don’t have any pictures even though I’ve been making them for years!

Nailed it!

Tahini rolls didn’t turn out like I’d hoped. I knew it was too much to ask from a gluten free dough!

2015/01/img_3984-0.jpg

I made a graph!

I’m trying to learn d3js in tandem with learning python. Working on two languages at once is a bit painful, but I want to make those gorgeous interactive graphics that the New York Times makes!

I grabbed retail fuel pricing data for the US from the Energy Information Administratioj website, processed it with a little python script into a nice csv file, then used d3js to create a graph. I couldn’t figure out how to:

  • make the graph dynamic, so that a click would alternate between real and nominal prices
  • make the graph size fit the viewers browser window size
  • use the EIA API to grab the data in real-time, which poses two hurdles
    • grabbing data using the API
    • reformatting it in javascript to be what I need

But, I finally made a graph!

Python: free, freedom, frustration

I managed to break my python installation; one of the things I hate about python is how fragile it seems to be. I’m sure it’s my fault, and that I do stupid things without knowing it, but I’ve never managed to break my Matlab install aside from upgrading to a new OS that isn’t compatible with the antique Matlab I was running. Of course, this complete lack of centralized control (or even information) is part of what I like about python, when I’m championing it’s free price and huge user community. I just wish I had some python expert buddies who could teach me the bigger picture so I wouldn’t keep breaking things.

I’m not sure what happened, but between one minute and the next all my scripts stopped working; I suddenly couldn’t import matplotlib. Then, I wasn’t able to install it. I got the “missing freetype” error (below), and no amount of soft links (here, here, or here) to where freetype was installed would help. My problem was that I don’t know where pip is LOOKING for freetype, so I don’t know where to put the softlinks. Even trying to build from code didn’t work (I even customized the setup.cfg to point directly to my freetype install)! Out of frustration I updated pip itself (maybe pip forgot where freetype was? I couldn’t think of another way to get pip to “re-index” my path???) and, voila, matplotlib install worked!

So I’m posting this in case anyone else is stuck in a hole.

air2:freetype-2.5.3 agrant$ sudo pip install matplotlib
Downloading/unpacking matplotlib
Downloading matplotlib-1.4.2.tar.gz (50.1MB): 50.1MB downloaded
Running setup.py egg_info for package matplotlib
IMPORTANT WARNING:
pkg-config is not installed.
matplotlib may not be able to find some of its dependencies
============================================================================
Edit setup.cfg to change the build options

BUILDING MATPLOTLIB
matplotlib: yes [1.4.2]
python: yes [2.7.6 (default, Sep  9 2014, 15:04:36)  [GCC
4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]]
platform: yes [darwin]

REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [version 1.8.0rc1]
six: yes [using six version 1.4.1]
dateutil: yes [using dateutil version 2.2]
pytz: yes [using pytz version 2013b]
tornado: yes [using tornado version 3.2.1]
pyparsing: yes [using pyparsing version 2.0.1]
pycxx: yes [Couldn’t import.  Using local copy.]
libagg: yes [pkg-config information for ‘libagg’ could not
be found. Using local copy.]
freetype: no  [The C/C++ header for freetype2 (ft2build.h)
could not be found.  You may need to install the
development package.]
png: yes [version 1.5.18]
qhull: yes [pkg-config information for ‘qhull’ could not be
found. Using local copy.]

OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [nose 0.11.1 or later is required to run the
matplotlib test suite.  pip/easy_install may attempt
to install it after matplotlib. / using mock 1.0.1]
toolkits_tests: yes [nose 0.11.1 or later is required to run the
matplotlib test suite.  pip/easy_install may attempt
to install it after matplotlib. / using mock 1.0.1]

OPTIONAL BACKEND EXTENSIONS
macosx: yes [installing, darwin]
qt5agg: no  [PyQt5 not found]
qt4agg: no  [PyQt4 not found]
pyside: no  [PySide not found]
gtk3agg: no  [Requires pygobject to be installed.]
gtk3cairo: no  [Requires cairocffi or pycairo to be installed.]
gtkagg: no  [Requires pygtk]
tkagg: yes [installing, version 81008]
wxagg: no  [requires wxPython]
gtk: no  [Requires pygtk]
agg: yes [installing]
cairo: no  [cairocffi or pycairo not found]
windowing: no  [Microsoft Windows only]

OPTIONAL LATEX DEPENDENCIES
dvipng: no
ghostscript: no
latex: no
pdftops: no

============================================================================
* The following required packages can not be built:
* freetype
Complete output from command python setup.py egg_info:
IMPORTANT WARNING:

pkg-config is not installed.

matplotlib may not be able to find some of its dependencies

============================================================================

Edit setup.cfg to change the build options

BUILDING MATPLOTLIB

matplotlib: yes [1.4.2]

python: yes [2.7.6 (default, Sep  9 2014, 15:04:36)  [GCC

4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]]

platform: yes [darwin]

REQUIRED DEPENDENCIES AND EXTENSIONS

numpy: yes [version 1.8.0rc1]

six: yes [using six version 1.4.1]

dateutil: yes [using dateutil version 2.2]

pytz: yes [using pytz version 2013b]

tornado: yes [using tornado version 3.2.1]

pyparsing: yes [using pyparsing version 2.0.1]

pycxx: yes [Couldn’t import.  Using local copy.]

libagg: yes [pkg-config information for ‘libagg’ could not

be found. Using local copy.]

freetype: no  [The C/C++ header for freetype2 (ft2build.h)

could not be found.  You may need to install the

development package.]

png: yes [version 1.5.18]

qhull: yes [pkg-config information for ‘qhull’ could not be

found. Using local copy.]

OPTIONAL SUBPACKAGES

sample_data: yes [installing]

toolkits: yes [installing]

tests: yes [nose 0.11.1 or later is required to run the

matplotlib test suite.  pip/easy_install may attempt

to install it after matplotlib. / using mock 1.0.1]

toolkits_tests: yes [nose 0.11.1 or later is required to run the

matplotlib test suite.  pip/easy_install may attempt

to install it after matplotlib. / using mock 1.0.1]

OPTIONAL BACKEND EXTENSIONS

macosx: yes [installing, darwin]

qt5agg: no  [PyQt5 not found]

qt4agg: no  [PyQt4 not found]

pyside: no  [PySide not found]

gtk3agg: no  [Requires pygobject to be installed.]

gtk3cairo: no  [Requires cairocffi or pycairo to be installed.]

gtkagg: no  [Requires pygtk]

tkagg: yes [installing, version 81008]

wxagg: no  [requires wxPython]

gtk: no  [Requires pygtk]

agg: yes [installing]

cairo: no  [cairocffi or pycairo not found]

windowing: no  [Microsoft Windows only]

OPTIONAL LATEX DEPENDENCIES

dvipng: no

ghostscript: no

latex: no

pdftops: no

============================================================================

* The following required packages can not be built:

* freetype

—————————————-
Cleaning up…
Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/matplotlib
Storing complete log in /Users/agrant/Library/Logs/pip.log

New stripey sweater

I finished another sweater! It’s a Hitofude cardigan, made with some of the Evilla Artyarn (like Kauni) that I picked up in Tallinn, Estonia in 2008. It was a super fast knit!!

 

IMG_3348 IMG_3343 IMG_3338 IMG_3326 IMG_3313

Recipe spinner

I’ve been pretty good about meal planning for the last year or so, and I feel like we are eating waaaaaaay better food for it. Not nearly as many nights of “loaded nachos” or chili mac and cheese. I usually sit down on Saturday or Sunday morning and pick out 3-5 meals for the week, then make the shopping list. It’s so much easier for me to cook dinner at the end of a long day if I don’t also have to figure out what to cook. This separation of “deciding” and “doing” is one of my new mantras in life. Keeps me from second guessing myself during the doing for self-doubty things (like writing), hateful things (like exercising) and takes the stress out of making dinner.

I really don’t like making decisions, though, and most weeks i have a mental block about what meals to choose. I sit down with my little notepad and it’s as though I’ve never cooked a meal in my life! I get a lot of recipes off the interwebs, and my 3 ring binder was really overflowing (along with the stacks of paper stacked next to it), so over the winter I started loading everything into the Paprika recipe software. It’s got decent features like tagging and importing recipes from a built in (clunky) browser. but the interface is pretty clunky. It takes way more clicks than it should to edit recipes, and the clicks are all over the screen (“save” button is nowhere near “edit”, so I’m always hunting for them), and the “create from webpage” doesn’t work on most blogs (seems geared towards big sites like allrecipes.com). But it suffices.

My biggest problem with it has nothing to do with the software, but with a “feature” of my personality. I loathe digital browsing. When I see a giant list of anything on a computer screen, my eyes just roll back up into my head and I give up. So I wrote a little python program to “spin” my recipes. Yep, I’m that nerdy!

First I made a list of recipes that my family actually likes (that I could remember…). There are 63 so far. For each one I have the name, the source, and the cuisine in a CSV file. The program reads them in, then lets me choose a cuisine. Right now it spits out all the recipes in that category, but I’d like to add an option to spit out a random subset. Even fancier would be a random subset that hasn’t been cooked in a certain time period, but that would require me to track what I’m cooking, which might be too nerdy even for me. I also want to be able to add new recipes and append them to the CSV file.

 

Follow

Get every new post delivered to your Inbox.

Join 223 other followers