Anna (Anna and Mark: Waldeneffect)
Working with a dry May
Swamp drying up

An unusually dry May has its pros and cons. On the plus side, if the summer stays like this, our garden may bypass its usual wide range of fungal diseases. And, already, the weeding pressure is much lower than in normal seasons...

Butternut squash seedling

...because the weed seeds simply aren't sprouting. Unfortunately, unless I give them some TLC, neither are the vegetable seeds.

Usually, the only times I have trouble with seed germination are in early spring (pushing the envelope with cold soil) and in midsummer (when I plant cool-loving fall crops that aren't impressed by summer heat). But, this year, I'm having to replant some of my usually dependable vegetables --- like green beans and sweet corn --- because even the sprinklers aren't enough to get them off to a good start. Heaven forbid I try to plant (the way I usually Young basil plantdo) outside the spread of our irrigation system.

Luckily, the lack of a spring this year is actually working in my favor. It was cold so late into the so-called spring that I started lots of transplants inside, and most are loving their new habitats in the garden. Those pre-sprouted beans I mentioned a few weeks ago failed miserably --- only three of the nine plants survived --- but I've been snipping off a few basil leaves here and there for the last two weeks, and our pepper plants are up and running.

Meanwhile, the summer vegetables that I started before the weather turned dry --- either under quick hoops or just early in the garden --- are also doing well. I hope to see cucumber blooms next week and maybe we'll eat the first broccoli head at the same time. The heat is Cucumber flower budgiving some plants pause --- notably the peas (currently producing) and crucifers, who wilt a bit in the afternoons even if they've been recently watered. But, overall, these early vegetables seem to be thriving beneath the bright summer sun.

I still can't decide if I should be wishing for rain. Everyone else is --- non-rotational pastures in the area are brown and nearly bare and unwatered gardens aren't doing much better. But I keep thinking that if we have a few more weeks of drought, we'll be able to drive in some manure....

Luckily --- since I'm so conflicted --- my wishes have no impact on the weather at all. Rain will come when it comes, and in the meantime I'll give my seeds a little daily water to make sure they sprout.

Joey chatter
abstraction is nice

Switching autobuilders from docker containers to systemd-nspawn machines, and freeing up tons of disk space.

Seems that docker leaks disk; I deleted every image and container, but it was still using 60gb. Perhaps files created by older versions of docker? Good riddance, anyway.

Nice thing is, my propellor configs work equally well for setting up the autobuilders in docker or systemd-nspawn. Although so far only for containers that don't need any ports exposed.

Joey git-annex devblog
day 288 microrelease prep

After a less active than usual week (dentist), I made a release last Friday. Unfortunately, it turns out that the Linux standalone builds in that release don't include the webapp. So, another release is planned tomorrow.

Yesterday and part of today I dug into the windows ssh webapp password entry broken reversion. Eventually cracked the problem; it seems that different versions of ssh for Windows do different things in a isatty check, and there's a flag that can be passed when starting ssh to make it not see a controlling tty. However, this neeeds changes to the process library, which db48x and I have now coded up. So a fix for this bug is waiting on a new release of that library. Oh well.

Rest of today was catching up on recent traffic, and improving the behavior of git annex fsck when there's a disk IO error while checksumming a file. Now it'll detect a hardware fault exception, and take that to mean the file is bad, and move it to the bad files directory, instead of just crashing.

I need better tooling to create disk IO errors on demand. Yanking disks out works, but is a blunt instrument. Anyone know of good tools for that?

mark (Anna and Mark: Waldeneffect)
PEX tubing drip irrigation system
new pex garden drip system

We decided our tomatoes needed a drip irrigation system.

This white PEX material is cheap and easy to work with. It won't kink and you can get a 100 foot roll for less than 30 dollars. Once I had the tubing secured to each post I went in and drilled a small hole next to each plant.

The hole is three times bigger than most drip systems due to the heavy sediment in the creek water we use for irrigation.

Anna (Anna and Mark: Waldeneffect)
Weekly tomato upkeep
First tomato pruning

It's that time of year again --- the season for weekly doting upon our tomato plants! The first round of pruning is simple --- I snip off the bottom leaves so none are touching the ground, then I pinch off any suckers, no matter how small. If suckers have grown too large to pinch, First tomato bloomsI instead cut them with clippers. Then I look at the many beautiful bloom buds (and the open flowers on the plants I set out a week earlier) and smile for the rest of the day.

That said, I am doing a few things differently this year. Most significant (I hope) will be growing only blight-resistant varieties (although given our current weather, blight might not be an issue this year anyway). I've also set out plants much closer together than usual and am pruning each to one main stem instead of to three. I feel like my previous efforts to beat the blight with maximum air flow between plants didn't do much good, so why waste space?

On a different note, I'm not surprised but I continue to be charmed by how the earth perks up so-so transplants. I started another set of seedlings in early May just in case my started-too-early transplants didn't make it, but I've only had to replace two of the first round of thirty transplants. Within a week of hitting real soil, everyone else perked up and grew happy new leaves, proving that our natural ecosystem is 100% better than anything I can replicate in pots in a sunny window. If I was listing the top ten things I love, growing in real earth would be one near the top of the list!

3, 2, 1: Obsess no more!

3 Steps 2 Talk with Someone who Only Sees 1 Thing


Apologizing should be one of the great American sports. I myself am still just learning the art. The first time I heard my doctor apologize to me I was pretty dumbstruck. First I never remember having a medical professional apologize besides my therapist. Since then I have been tuned into apologizing, giving and getting them. Many people have told me I apologize too much, or not to apologize. But I think apologies need to be heard and felt. If someone is obsessing over something, let them know you are “sorry they are experiencing” the bad thing.

Tell them directly

I am now focused on thanking my doctor I never get to see again, so this is a prime one for me. I am certain I will move on my thinking before another 2 months roles on. This remarkable doctor was the one who ended my focusing on my diagnosis with the simple expression “You should think of something else.” What a positive influence to send me on my way.

Thank people when they touch your life

This is where my heart breaks because I always fail here but this is the first day of the rest of my life. May I extend out what so many have given me, in gracious thank you.

“You are not your diagnosis.”

I heard those words so much but their meaning failed to reach me. My life had been inseparable from my mental illness since adulthood until 3 days ago, that is. The symptoms derailed my life and threw off the direction I expected to take. The whole 15 years of thinking my self as “bipolar” was built either around the trauma of what had happened or the preconceived notions of the term bipolar. As one very good doctor finally explained to me, the diagnosis is mainly for the doctor so they can figure out how to treat the patient. What the patient should focus on are the symptoms. Ironically enough, my bipolar diagnosis was probably not even right. For one thing, my symptoms mesh more with the schizoaffective diagnosis. Bipolar is usually overdiagnosed and the majority of patients given this term do not even have bipolar.

“Well,” I rebutted, “there aren't enough schizoaffective role models or groups.” I had confided in my doctor, thrust out of the bipolar name, looking for answers. That was before she convinced me I am just a person with symptoms given a diagnosis so my doctors will know how to treat me.

“You need to stop thinking of yourself as the diagnosis.” She reiterated.

Most doctors in a facility like that allot about ten minutes to each patient. This particular doctor gave me 40 long precious minutes before I decided to let her let me go. She took on the role of therapist for me, as rare best doctors sometimes do.

Everyone has either a family member or a friend with symptoms or has symptoms of mental illness themselves. I believe everyone will experience some symptoms in their lifetime, sometimes as a response to stress or their stressed out family members. I see anxiety everywhere. All I have to do to be assured others have insomnia is to log in to facebook late at night.

These expressions referring to people's condition should be “working diagnosis”, not “diagnosis”. Working diagnosis are intangible human constructs. They can do more harm than good and they are not real.

My two months of panic around what I am was not useful. Making icons of famous role models does not always help. Robin Williams and Virginia Woolf did something great with their lives but they were not successful because of symptoms or diagnosis. I need to focus on who I am, not what is possible to accomplish for others with similar symptoms.

People enter our lives for a reason and then there are angels who help us see ourselves through clear eyes. Now that I know these things, I want to find my identity in meaningful things, to reach my new goals and not feel stopped by a diagnosis. I know many other people who say they feel limited by an illness. The way we talk about our illness can lead to more of that impairing thinking. I would rather reach to my abilities from now onward!

mark (Anna and Mark: Waldeneffect)
Catch-up watering
Garden watering

It's been a few years since we hooked up sprinklers in the back garden. But the groundwater has sunk too low for subirrigation to do much good.

In preparation for planting another round of beans, corn, and squash, we let the sprinklers run all day to moisten the parched earth.

Anna (Anna and Mark: Waldeneffect)
Grafting persimmons

Planting persimmon seedlingsI set out ten persimmon seedlings in our chicken pastures 2.5 years ago, figuring there were all kinds of experimental possibilities for the young trees. Option 1 would be to simply let them grow up to adult size, but a seedling persimmon has a 50/50 chance of being male (meaning no fruit), grows very large, and takes a long time to bear. Option 2 (my favorite at that time) was to graft hardy Asian persimmons onto the seedling rootstocks...but my hardy persimmon varieties kept dying back to the ground over the winter, so I decided to ditch that plan. Instead, I moved on to option 3 --- to trade for named American persimmon varieties (Yates, Proc, I-94, and Early Golden) and graft those onto my seedling rootstocks.

Overgrown persimmon seedling

Persimmons are trickier than some other fruits to graft, so I tried two different approaches. I also followed the experts' advice by waiting until it seems far too late to graft --- late May when the leaves on the seedling trees were nearly fully formed.

The first step for both methods, though, was the same --- yank out the weeds that had grown up within each tree's enclosure since the last time I dropped by. Out in the chicken pastures, these little trees are lucky to catch my eye more than once a year, so I wasn't surprised to find that two of my seedlings had died and that one wasn't big enough to graft onto. The rest --- despite being a bit winter-nipped from our -22 Fahrenheit cold spell --- had stems thick enough to graft onto.

Whip grafted persimmon

Whip-grafting persimmonI grafted the first four plants before doing any research, so they got my usual whip-and-tongue graft. It was definitely tougher to graft in situ than to bench graft, and both the rootstock and scionwood were on the small side (compared to apples) for most of the trees, so I'm not sure how many will take.

After I was done grafting, I still wasn't entirely sure what to do with the existing growth on the trees. So I just cut the branches back but left some leaves present to keep the tree alive until the graft union heals. Again, I'm not sure if this was the best choice, or whether the existing growth will prevent the graft union from healing. I guess time will tell....

Bark-grafting persimmon

Parafilm on graftWhile I took a water break in front of the computer, I found this interesting file suggesting an alternative method of grafting persimmons, so I followed the author's lead for my last three trees. First, I snipped the entire top off each seedling, then I slit a strip of bark and peeled it down (carefully!) before cutting away a bit of the rootstock to make room for another stick of wood to fit in.

Next, it was time to prepare the scionwood by cutting one side of the bottom at a slant and then using the knife blade to scrape the bark on the rest of the bottom of the scionwood down to the green cambium. The prepared scionwood slid under the rootstock's bark flap, and the whole thing was wrapped with parafilm. (Okay, I didn't wrap my entire piece of scionwood since that just seemed too extreme, but I may regret that omission!)

With seven trees grafted to four varieties, I'm hopeful I'll see at least a 50% success rate and will end up with several different types of persimmons to continue their slow growth in the chicken pastures. Since the trees there don't get much TLC, chances are I won't see fruit until 2020, but hopefully the results will be worth the (very little) effort I've so far put into my experimental trees.

Anna (Anna and Mark: Waldeneffect)
Blooming foxgloves

Foxglove flowers

My young flower beds aren't quite to the stage where they stand up to distance shots, but the closeups are delightful.

Foxgloves from a family friend, chamomile because it reminds me of my mother (who enjoys the tea), columbine from another friend, borage (not quite blooming yet) because one of our blog readers suggested it as a high-quality feeder of native pollinators, some zinnias and nasturtiums (also not blooming yet) just because.

Every time I look at one of the plants, I smile!

Anna (Anna and Mark: Waldeneffect)
Perfecting chevre

Draining cheeseAfter some research and great input from our readers, I decided to make a few changes before repeating my neufchatel/chevre endeavor. First, even though the instructions called for two drops of liquid rennet in my half-gallon recipe, raw goat milk is notorious for not needing nearly as much thickening agent --- pure milk is just very alive. So this time around I backed off to one drop of rennet, looking for more of a soft cheese consistency instead of the more chewy cheese I ended up with last time.

I also decided to try to boost the flavor with a bit more buttermilk (three tablespoons instead of two) and a much longer culturing period (24 hours instead of 6, although I should mention that the weather was much cooler during round two). After that elongated culture period, there was quite a bit of clear whey on top of the curd, and the curd had also begun to pull away from the walls of the pot. This is all an effort to give the bacteria more time to work, since I suspect microbial byproducts are what gives soft cheese most of its flavor.

Finally, I drained the cheese the right way for four hours instead of squeezing out the whey, and I upped the salt to 0.75 teaspoons. The result? Nearly perfect! The salt was too much --- I'll be going back down to half a teaspoon next time around --- and I think the culturing period might have been just a hair on the long side as well. But the flavor was much more full-bodied than last time and the cheese felt much moister rather than dry and crumbly. Success!

mark (Anna and Mark: Waldeneffect)
Advanced tree cutting
stump cutting

Kayla's husband Andy helped us out with some firewood cutting yesterday.

He gave us 2 hours of aggressive tree cutting for only 50 dollars.

If you're within driving distance and need some trees cut leave a comment and we'll give him your number.

Anna (Anna and Mark: Waldeneffect)
Feeding tree leaves to goats
Talking goat

"I don't want to go out," Abigail said on Wednesday morning when I went to tether our little herd in the woods.

I was gobsmacked. Abigail not only always wants to go out, she wants to get to her fresh forage now, ASAP, hurry up, do you get the message?!

But I think the deer flies the day before got to be too much for her. We had a light rain in the morning, so I put the herd out later than usual. And when I went to bring the goats home, the pesky deer flies were buzzing in their loops so annoyingly that I was barely able to gather three goats before rushing for cover myself. I should have worn a hat...and I'm sure that, as a tethered goat, the deer flies were twice as annoying. (They do bite, but it's really the buzzing that drives you mad.)

Feeding tree leaves to goats

Goat eating black locust leavesSo I met Abigail in the middle. I tethered her out early, took her in a bit after lunch, then cut some locust boughs in the evening to top off her belly. No, Mark, I don't know what you're talking about when you say I spoil our goats....

More seriously, I do dream of eventually having large enough pastures so our goats can get all of their nutrition on their own schedule, retreating to the barn when necessary to beat the flies. In the interim, tree boughs seem to be a quick-and-easy solution for supplemental feeding when it doesn't make sense to bring the goats out into the woods to eat. Like tree hay...but for summer nutrition rather than winter feed.

Anna (Anna and Mark: Waldeneffect)
Moody weather
Cracked earth

The weather and I can be moody. After a crazy wet fall, winter, and spring, we started measuring precipitation in hundredths of an inch this month. A quarter of an inch of rain Thursday morning eased the earth's woes a little, but it took Mark's cheerful demeanor and calm problem solving to ease my own bad mood.

Pea flowers

You'd think I'd realize that I always get overwhelmed around the middle to the end of May. I keep a mood diary (who, me obsessive?) and this is the time of year when my homemade cheerfulness report card dips into Cs and Ds. All of the spring plantings need to be weeded, our chicks are growing out of the easy stage and require more frequent pasture changes, and learning goats has also added to my load this year.

The trouble is, I love the garden and chickens and goats. I just don't love it when a lengthy to-do list pulls me out of my slumber too early and I turn irritable and grumpy. Time to offload a few tasks.

Nursing buckling

Some chores are easy to spread around. I pull Mark off his normal tasks to help me for a morning in the garden, and together we move the chicks to a new bit of yard. After a lesson in goat tethering, we figure he can halve my chores there too.

But some headaches aren't lighter when carried on two sets of shoulders. For example --- Lamb Chop. At eleven weeks of age, our buckling is enormous, still nursing...and starting to get ornery. Artemesia went into her first clearly discernible heat this week, which suddenly made goat wrangling much more difficult. Between the screaming from the woods, Lamb Chop's need to mount our doeling in the middle of the garden, and the egg-laying snapping turtle guarding the path on the way home, I was glad Mark was along or I don't think I would have been able to get all three goats back into the pasture. So our buckling has a date with the local butcher (aka meat packing facility) in two weeks, and we'll just hope Lamb Chop manages to knock Artemesia up beforehand.

Garlic scapes and asparagus

Speaking of offloading, I've decided to let my Winter and Spring cookbooks stand alone for the moment. I had thought my book about living in a trailer would be my most controversial and criticism-inspiring text, but apparently our unusual food choices are much more divisive. Lacking the energy to push a product that the world isn't ready for, I'm moving on to one of the other creative projects that I always have waiting in the wings.

Decisions made and tasks offloaded, I step out into the garden and notice that the grass is green, the flowers are beautiful, and the garlic scapes are ready to eat. It's amazing what a shift in perspective will do to remind me that, despite temporary troubles, we're still living in paradise!

Joey chatter

Long lazy chilly blackberry winter day, spent reading novels. 500 or so pages in 3 novels. It's been a long time since I read like this!

You Cannot Chase the Scarlet Tanager

for Felicia who taught me to write poetry

You cannot chase the scarlet tanager
you don't know why she's here by the mental health center
where you wait at 7:50 in the morning singing softly to

Your sister hears them but does not see them
much, they're canopy dwellers,
their lyrics line our ears and birds are so often

One of the sharpest memories in your life:
you walked in the nearby woods - hit
by the sight of a limp bodied red bird on the road's

You picked it up and showed it to a naturalist;
he told you "it is dead"; he told you "it is a scarlet tanager";
it was dead long before you carried it, he pocked it for his

You spent all your life chasing the wild scarlet tanager
never knowing even the call, you didn't even know why
goodbyes and distance drew you to bad habits of

Then all of a sudden, here you were with the tanager.
Your first living tanager. Struck by this amazing new feeling
"peace," you let it go its way, far away, back to the top of the

Saying Goodbye

Gratitude for a person who I may likely never see again.

It took me to this day to say goodbye to someone and not feel deeply conflicted. My doctor, I’ll call her Dr Arc, was a person I only probably spent 2 or 3 hours with in my entire life. I got to a level of communication with her I had never known was possible with a doctor. I had a terrible girl crush every moment with Dr Arc. Sitting in a room with her was like being in a loud river, so much what peace really is. I loved her way of asking me questions, working with me in decision making, putting my health in my hands. I sure didn’t expect to see a doctor like her in my home town, after all of the disappointing ones. She is moving to Chattanooga and I am letting her go, as if I had any way to have her stay. But emotionally, I am at this new point of being able to release her to never see her again.

It makes me think about life and our longevity, how the scarceness of time makes us value the time we have. I want to approach all of my people, to turn it into my own life.

The reason I saw Dr Arc was for mental illness. I have had a long list of symptoms in my life and have been on medicine for ages. I have thought of myself as “bipolar” for a long time. Dr Arc changed the diagnosis to schizoaffective last time. Then, this time, she turned my world on it’s head, taking an extra ten minutes of her time to counsel me out of thinking of myself as the illness.

“People tell me that all the time, but mental illness and disability has been a huge part of my life for a long time. In many ways it made me who I am. I don’t see how I can take diagnosis out of my identity or why I would want to do that!”

Then in her usual confident nurturing way, Dr Arc explained how to take diagnosis out of my identity. She said I have had symptoms and I am on medicine to make my symptoms better. She affirmed my belief that having a particular diagnosis is mostly just for the doctors to cue to them what medicines will work best for me. It doesn’t mean I am in a category of people who are all or at all like me. I am as different as the next person for so many reasons.

mark (Anna and Mark: Waldeneffect)
Oregon battery powered chainsaw chain replacement
battery powered chainsaw chain replacement

Our Oregon battery powered chainsaw needed a new chain today.

The sharpening stone still had about 1/4 of its surface area left, but one close look at the teeth will tell you why it stopped cutting.

I like to flip the bar upside down when a new chain goes on to even out the wear on the little bar sprockets.

We are very happy with how much cutting we got done on the first chain.

Anna (Anna and Mark: Waldeneffect)
When is it time to buy new strawberry plants?
Strawberries, cookies, and cream

Despite some bird pressure that's been forcing me to pick berries a little on the pale side, we've been enjoying delicious strawberry desserts for the last week and a half or so. That said, I've decided it's finally time to pull the plug on our Honeoyes. Not the variety --- this early season strawberry is still a favorite. But after expanding my patch from gifted expansions of someone else's patch for the last eight years, viruses (I assume) are building up in the clones and the berries are slowly becoming less flavorful. When even I want a little honey on my fruit (unlike Mark, who always does), I know that it's time to make a fresh start.

Ripening strawberry

And, while I'm at it, maybe I should try a second variety as well? Now that Kayla's in my life, I can get away with ordering 25 plants of both Honeoye and Galleta (an ultra-early variety) without worrying that the new plants will take over my entire garden. Last year's addition of Sparkle was a great boon to our homestead, so hopefully Galleta will be as well. And even though the plants cost 70 cents apiece once you add in shipping, when you figure that they and their children will likely feed us for another eight years at a rate of at least a gallon a day, the plants are definitely a bargain! That's my kind of homestead math.

Pros and Cons of Abilify

I could have done a better job explaining why I wanted to go off my medicine when my doctor said I could. I was going to be tapering off already by now. Instead, maybe I have been "saved by the bell" in a way. I want to make a pro cons list explaining what I'd gain or lose off my meds.

Before I had my own insurance, I spent too many months and years anxiously wondering if I would someday not be able to afford my medicine. Abilify, the med I have been considering tapering off of, is sold for up to 1,000 dollars per bottle and I use that much of the medicine in a year. Though I spoke of tremors and potential tardive dyskenesia, my subconscious still remembers that time of worry over how am I going to get my meds.

It's funny, one huge defining moment in my life was when I applied for disabilty and had my initial appointment with the medical examiner to see if I qualify. I remember his impact was huge just in a few simple words: your job is one thing, to take that medicine every day. He said I

Joey chatter
STM orElse

I recently had to implement a thread-safe wrapper to fcntl locks, which involved implementing my own inter-thread locking code. Because POSIX is horrible.

Take a look at this implementation:;a=blob;f=Utility/LockPool/STM.hs

  • First we have the unsafePerformIO of doom on line 46. (Actually safe in this application.)
  • But then, look at how nice the implementation of tryTakeLock is! (line 70) It uses waitTakeLock and converts it from a blocking wait to a one-time try, by simply using the orElse combinator included in Haskell's STM implementation.

STM is awesome, and the orElse combinator is an awesome improvement on top of it, described in beautiful concurrency:

In particular, blocking (retry) and choice (orElse), which are fundamentally non-modular when expressed using locks, are fully modular in STM.

Joey chatter
something to think about

Root canal in 2 hours. Maybe I'll find moments where I am able to chew on a tricky change to propellor's types.

I've gotten ghc's type checker to generate an awesome error message like this when it detects conflicting port resources. Just need to find a way to integrate this with propellor's already complicated Property types.

Couldn't match type ‘'Propellor.Resources.Conflicting’
              with ‘'Propellor.Resources.NonConflicting’
Expected type: 'Propellor.Resources.NonConflicting
  Actual type: Propellor.Resources.Conflict
                 (Propellor.Resources.UniqueList '['Port 443, 'Port 80, 'Port 443])

(Or maybe I'll just think about buddism. Life is pain.)

Anna (Anna and Mark: Waldeneffect)
Ricotta --- the bonus cheese

Homemade ricottaI'll admit that when my parents made lasagna with ricotta when I was a kid, I tried to pick around the grainy cheese. But I now that I'm experimenting with cheesemaking, I've learned the purpose of ricotta --- turning all that cultured whey into something useful. And, sure enough, two quarts of milk turned into 9.5 ounces of neufchatel, while leaving enough proteins in the whey to create another 2.9 ounces of ricotta. Thus, I've decided this subtly acidic cheese is hereafter to be referred to as "bonus cheese."

(Okay, not really. You can keep calling it ricotta. But doesn't "bonus cheese" sound good?)

Making ricotta

Ricotta is almost too simple to post about. You take your leftover whey and allow the liquid to sit, covered, at room temperature for 12 to 24 hours. Next, boil to separate the curds from the whey, then strain out the chemically altered (greenish) whey off your new cheese.

The boiling step is supposed to be a near-boil, using a double boiler to heat the cultured whey to 203 degrees Fahrenheit. However, after an hour in our double boiler, the whey was beginning to separate out little curds...but still hadn't surpassed 180 degrees. Only after decanting the whey into a pot to cook it the rest of the way directly on the stove, at which point it boiled at around 198 degrees Fahrenheit, did I realize that I really should have factored in changing boiling temperatures due to elevation. (Or, perhaps, the fact that my candy thermomter might not be accurate?) So, to cut a long story short --- you can make ricotta just fine by simply bringing the whey to a boil then removing it from the heat.

Straining ricotta

Anyway, after you boil your whey, you let it cool for a couple of hours, then pour the curds and whey into a clean cloth above a strainer. I used our new straining funnel for this step.

You'll also notice that I moved to a white cloth instead of the colored one I'd used for my previous cheeses. I learned the hard way that cheese picks up a little bit of lint from the cloth, which is unsightly if the fabric is colored. But if the cloth is white, no one ever knows....

I actually loved the flavor of this ricotta plain, but I'm thinking of trying it in a chocolate cheesecake with some of the neufchatel. Because everything tastes better with a little chocolate....

Torch Lily

My Mom came in the other day and said "do you know how many red hot pokers are out there?" I was clueless. Then I guessed about 10 wrong guesses before landing at 13 red hot pokers - (a flower.) Mary Oliver said something about looking at life through different angles, I forget the quote, but it made me want to use that in my poems. I was kind of impressed that Mom saw those poker flowers and not me, but actually her eye is more perceptive than mine and always tuned in to the garden. I hope my Mother is happy with how she expresses herself. Sometimes I feel I am not giving back enough here so she does more than her share, and I get to write the poetry. I hope she writes some too now and then! :)

Joey git-annex devblog
day 286-287 rotten locks

There's something rotten in POSIX fctnl locking. It's not composable, or thread-safe.

The most obvious problem with it is that if you have 2 threads, and they both try to take an exclusive lock of the same file (each opening it separately) ... They'll both succeed. Unlike 2 separate processes, where only one can take the lock.

Then the really crazy bit: If a process has a lock file open and fcntl locked, and then the same process opens the lock file again, for any reason, closing the new FD will release the lock that was set using the other FD.

So, that's a massive gotcha if you're writing complex multithreaded code. Or generally for composition of code. Of course, C programmers deal with this kind of thing all the time, but in the clean world of Haskell, this is a glaring problem. We don't expect to need to worry about this kind of unrelated side effect that breaks composition and thread safety.

After noticing this problem affected git-anenx in at least one place, I have to assume there could be more. And I don't want to need to worry about this problem forever. So, I have been working today on a clean fix that I can cleanly switch all my lock-related code to use.

One reasonable approach would be to avoid fcntl locking, and use flock. But, flock works even less well on NFS than fcntl, and git-annex relies on some fcntl locking features. On Linux, there's an "open file description locks" feature that fixes POSIX fnctl locking to not have this horrible wart, but that's not portable.

Instead, my approach is to keep track of which files the process has locked. If it tries to do something with a lockfile that it already has locked, it avoids opening the same file again, instead implements its own in-process locking behavior. I use STM to do that in a thread-safe manner.

I should probably break out git-annex's lock file handling code as a library. Eventually.. This was about as much fun as a root canal, and I'm having a real one tomorrow. :-/

git-annex is now included in Stackage!

Daniel Kahn Gillmor is doing some work on reproducible builds of git-annex.

Joey chatter

Not actually true that all computer languages become turing complete in time. For example, I understand that Coq and Agda can intentionally only be used to write programs that can be proven to halt. So, unless the halting problem is solved, they're not turing complete, though still useful.

I think CSS should be a less-hifalutin' instance of the same thing, ideally. Turing tarpits and all that.

Joey chatter
making curl | sh safe

A rather fascinating idea for a strongly typed compiler of web snippets of calculus of constructions.

Or, see this post for some example use cases:

Raises interesting questions beyond the technical...

  • How does copyright apply when a program contains an url that defines the value 'four' as code? (Incidentially proving it's even.)
  • Are these system F expressions the preferred form of source code or not? What about if they can be automatically translated to and from your programming language of choice?
Anna (Anna and Mark: Waldeneffect)
Making neufchatel
Cheesemaking supplies

After deciding that our first cheese --- an acid cheese --- was too simple, it was time to move on to a cultured cheese. I followed this recipe for neufchatel, which uses buttermilk as the starter culture and rennet to make the curds separate from the whey.

Rennet, I learned when hunting down these supplies, comes in several forms --- liquid animal, liquid vegetable, tablets, and powders. The powders are usually for bulk purchasers, tablets have a very long shelf life, liquid animal is easy to utilize in small quantities for fractions of the recipe, and liquid vegetable (as best I can tell) is a slightly bitter replica used by vegetarians. Since I wanted to be able to try half recipes, I opted for this liquid animal rennet.

Clean break

I'm not going to run through all of the instructions for making this cheese since you can find them at the link in the previous section. The shorthand version is: take 2 quarts of room-temperature milk, add two tablespoons of cultured buttermilk, dissolve two drops of liquid rennet in a quarter of a cup of water and add to the milk mixture, stir, then cover and let sit for about eight hours. You'll know your cheese is ready for the next step when you see a clean break as is shown above.

Cutting curds

Now you're ready to cut the curds...

Draining off whey

...and drain off the whey by pouring the contents of your pot into a clean towel in a colander. You're then supposed to hang this bag of proto-cheese for a while until the rest of the whey works its way out, but I was impatient and simply squeezed the bag, stirred the contents, and then squeezed some more until the cheese was dry. (Someone please tell me why this method is wrong --- it seemed to efficient!)

Homemade goat cheese

The final result gets half a teaspoon of salt mixed in and is then ready to eat!

Goat cheese taste test

Mark and I tasted the neufchatel (top container), the same cheese mixed with some Hollywood sun-dried tomatoes, and ricotta made from the whey. (More on the ricotta in a later post.) Mark doesn't like goat cheese from the store, but he enjoyed this completely non-goaty cheese...while I actually missed the goatish overtones. Meanwhile, I've never been a fan of ricotta, but I thoroughly enjoyed the homemade version, while finding the Neufchatel a bit bland.

As best I can tell, the reason this cheese is neufchatel instead of chevre is because it uses buttermilk as the starter culture. However, when I looked up the biology of chevre and buttermilk cultures, I learned that both contain some combination of Lactococcus lactis lactis, Lactococcus lactis cremoris, Lactococcus lactis diacetylactis, and Leuconostoc mesenteroides cremoris. It's probably still worth buying a chevre culture to see what I come up with using the other starter since my taste buds say this Neufchatel isn't the same as chevre.

Delusional Limerick

Said Jesus to Pontius Pilate

they're watching my ablutions

but Pontius had a hand in those

persecutory delusions.

When granny went crazy

she started dippin' skole

said the devil made her do it

doc blamed delusions of control.

In “Harrison Bergeron”

the Handicapper General was telepathically podcasting

years before Fox News

began a scheme of thought broadcasting.

Remember the lady who swallowed the fly?

Well it made it to her brain without much exertion.

It whispered sweet nothings about her mortality.

I promise it wasn't just thought insertion!

When Calvin told Miss Wormood

aliens zapped out the spelling of “abdominal”

it actually could have been

this thing called thought withdrawl.

Henry Alford wasn't guilty

but he made the Alford plea

some said he was stupid

but he had delusions of being guilty.

After the surgeon cut his arm off

the patient reached out for low fat milk

so the surgeon put him in the psych word

for delusions somatic.

I once knew a man who thought he was Romeo.

He took a lethal dose.

He told me in his dying breath

he was NOT grandiose.

I have this poem

which is the best source you could reference.

That is if you trust someone

who has delusions of reference.

Needle in Haystack


















Anna (Anna and Mark: Waldeneffect)
Keeping weight on your goats
Goat family

I suspect one of the reason women love goats is because the caprine herd has the exact opposite problem we have. As a goatkeeper, one of your primary goals is to keep the weight on your goats. Between intestinal parasites (usually present at low levels but sometimes veering way out of control) and the energetic expense of creating baby goats and milk out of grass, dairy goats have a bad tendency to waste away to skin and bones. Enter my weekly bout with the measuring tape to reassure myself that our goats are in fine form.

Goat weightsLamb Chop has never given me any worries on the weight front, though. The most I've been concerned about is that our buckling will get bigger than his mother before his date with the butcher, making it impossible to carry the lad across the creek to his doom. Barring that issue, he seems bound to surpass his 11-month-old herdmate's size in short order. As of this week, Lamb Chop has officially caught up with Artemesia; in fact, I think he now stands a little taller at the shoulder.

Abigail and Artemesia, on the other hand, worried me a bit in April, although I now think that their weight "losses" then were merely an artifact of shedding their winter fur. Less fur for the tape to wrap Goats in the greenaround simulates the loss of fat. Regardless, I dosed the whole herd with daily helpings of chopped garlic, which they all ate happily whether or not they needed the herbal dewormer. Now both are well above their winter weights, even without the furry padding.

I'm glad that I seem to be able to keep the weight on Abigail without adding grain to her diet, but I'll admit that I'd probably get more milk if I fed our doe more concentrates. As she started gaining weight on grass, I started easing off the carrots, alfalfa pellets, and sunflower seeds I was offering...with the result that milk production slowed down a bit (from about 3 cups a day to about 2.5 cups a day). Bringing those concentrates back up to previous levels (plus locking Lamb Chop away an hour earlier in the evening) quickly increased milk back to normal, then all the way up to a quart at my morning milking.

I suspect one of the dicey issues with dairy goats is deciding when we're being greedy humans and pushing our goats too hard, and when it's worth feeding a little more for a little more milk. Since I want to experiment a bit more with cheese, I think I'll be greedy just a little longer.


is just crap.
I am just a body.
a chubby body in need of a bath,
a swim, and a decent meal.

Anna (Anna and Mark: Waldeneffect)
How to prepare a no-till garden bed in one month or less
Experimental garden beds
This spring, I set out to answer the question --- is there a fast no-till way to eradicate overwintering weeds in a month or less? A tall order, I know, but my slow-and-sure kill mulches don't work for a lot of gardeners because they aren't able to think ahead to prepare the soil a few months before planting. The photo above shows four experimental beds (and a control bed that's simply been weed-whacked repeatedly) attempting to answer that question.

Weighing down plastic mulch

Option A involved a type of very thin, biodegradable black plastic. The photo above shows Kayla helping me lay down the plastic three weeks ago. The photo below shows completely dead oats underneath the plastic this past Thursday.

Dead weeds under plasticThis product worked much faster than I thought it would, probably because we've had crazy summer weather in April and early May (highs up to 90 some days), which surely heated up the soil underneath very quickly.

On the down side, all it took was Huckleberry walking across the plastic to tear little holes, which a light wind quickly turned into long tears. (I'm telling you Huckleberry really isn't that big of a cat!) So, although effective, I'd caution against using this product anywhere that pets will be walking even a little bit.


Laying down plastic for solarizationOption 2 was solarization, which I explained in more depth in this post. The solarization worked about equally as fast as the black plastic, with the bonus that this clear plastic didn't shred after light pet traffic. The clear plastic also held in the soil moisture, which was handy since rainfall for the last few weeks has been nearly nonexistant.

The downside of solarization is that my raised beds in this area are tall enough that the north-facing side of the bed didn't heat up fully, so the oats underneath the plastic on that side are still somewhat green. So if you plan to use solarization to prepare soil, you'll want to stick to areas where the ground is as flat as possible. With that caveat and assuming hot weather, you can also plant into solarized ground in about three weeks if your weeds are only moderatly tenacious. (Add a few more weeks for both Option A and Option B if you're trying to kill a wily perennial like wiregrass.)

Under the paper mulch

Roll paper mulchOption 3 was a storebought roll of paper mulch. This mulch was the least effective as a fast weedkill, although it looks to be the most effective as a long-term ground cover.

As Mark mentioned, the first rain bleached the dye out of the paper, and the lighter color left behind meant that the mulch simply acted like a barrier between the weeds and the sun rather than heating the soil underneath. The result is that the weeds beneath the paper mulch aren't quite dead yet, although the paper is still providing a good barrier around the high-density apple trees. I suspect I'll need to wait about 4 to 6 weeks between laying down this mulch over an oat cover crop and planting into the bare soil.

As another downside, Lucy running across the mulch did poke holes in the paper layer, allowing some weeds to come up through. That said, the paper has much more structural integrity than the very thin black plastic, so only the paw-print areas were affected rather than the whole sheet of mulch. So I'd say the plastic mulch is acceptable over areas with light pet traffic.

Comfrey chop and drop with newspaper

Option 4 was mad of entirely free materials, but I didn't lay them down until later than the previous options and thus don't have a comparison yet to the other methods. Kayla's father came through with a big box of newspaper (thanks, Jimmy!), and I've been applying the sheets using different methods in different parts of the garden.

Blowing newspaper mulchThe photo to the left shows how I laid the paper down dry and then anchored it with deep-bedding material from the goat coop. Unfortunately, some of the sheets have blown away, which is why I started soaking the paper in a bucket of water before applying.

The top photo in this section shows some newspaper-mulched areas around the hazelnut bushes. Since I have comfrey plants growing along the aisles in that part of the garden, it was easy to yank handfuls of the greenery as a short of chop-'n-drop to weigh the wetted newspapers down. I'll post a followup in a few weeks once I know more about how the newspaper mulches compare to the other methods, but my guess is that they'll be comparable to the storebought paper mulch.

Black plastic kill mulch

The final method I'm trying is a more long-lived type of black plastic that is supposed to be good for 12 years (assuming you don't puncture the fabric in the interim). I laid down an experimental span in the proto-tree-alley a week ago, with the plan of taking up the plastic at the end of the month and planting sweet potatoes there. I'll keep you posted about weed control there as well.

Phew! I know that's a lot of data, but I hope it'll help you decide on a weed barrier that'll fit your particular garden needs. And perhaps there's another method I haven't considered that you've used with success in your garden? Be sure to let me know in the comments!

wishy washy

before the torrent

the painter, the loud neighbor

and I behold the sky

swallows catching

last nets of mosquitoes, my

blood they feed on high

singing shrill against

gray cloud, purple finch catches

cool gulps, changing air

second scattering

of sprinkles, doves swim haywire

above the high wires

back door opens, shuts

as if in free thought, wind draws

through hallway, but rain?

asking the sky, more

water? robin tilts back her

neck, calling silent

hope is lost in rock

garden, leaves of pepper shrug

at roots. then rain comes


List of feeds:

  • Anna: last checked (25 posts)
  • Anna and Mark: Waldeneffect: last checked (2541 posts)
  • Anna and Mark: Clinch Trails: last checked (10 posts)
  • Joey: last checked (92 posts)
  • Joey chatter: last checked (1240 posts)
  • Joey git-annex devblog: last checked (268 posts)
  • Joey: blog: last checked (16 posts)
  • Jay: last checked (25 posts)
  • Dani: last checked (21 posts)
  • Errol: last checked (28 posts)
  • Maggie: last checked (984 posts)
  • Maggie too: last checked (11 posts)
  • Tomoko: last checked (70 posts)
  • Jerry: last checked (28 posts)