We made some modifications to
the Star Plate goat barn today.
Once it's finished we'll be able to manage the future baby goats better.
"Otherwise, I swear, I'm going to come home from work one of these days and there's going to be a goat in my apartment..."
Well, Dave, let me tell you about how Artemesia broke out this week and committed arson....
Okay, maybe she really just jumped up into the wheelbarrow while I was cleaning out the coop and ensured that her picture would be found in the next edition of the dictionary under "adorable."
More seriously, I have to admit that after four months with goats, I wouldn't recommend them for 90% of homesteaders. Artemesia is like a delightful hybrid between a loyal dog and a rainbow, but I'd feel terribly guilty if I didn't give our goats at least half an hour of attention per day.
And boy do they eat! We're currently giving our duo lots of hay and are letting them graze down several decades' worth of honeysuckle, but we'll be scrambling pretty hard this summer to get enough pasture areas established to ensure that our goats don't eat us out of house and home. And I'll also be putting more effort into gardening so we can grow enough fodder crops to make up for the honeysuckle, which won't be here next year if our goats' current appetites are any indication.
Then there's the expense. We actually haven't had any real escapes, but that's because we're paying top dollar by fencing with cattle panels (and because we chose half-miniature goats and keep them quite happy). That makes goats a very pricey endeavor (although the fencing should last for a lifetime and can be used with any other livestock we end up acquiring). Yes, you can fence with cheaper materials...but I suspect I'd love Artemesia much less if she ended up gnawing on my dwarf apple trees.
I lobbied hard for goats
nearly from the beginning, and even though I pouted at the time when
Mark said no, I can see now that we weren't ready for goats until the
last year or two. A new homestead is a huge time- and money-sink, and we
just wouldn't have had the ability to truly enjoy goats at that time.
So, I have to admit that I'm probably on Dave's side on this issue and
would recommend that he and his girlfriend not get goats quite yet.
On the other hand, if you don't want any goats in your apartment, you might want to pry the computer out of your girlfriend's hands right now. Because once Abigail's kids show up, the goat pictures are going to get even cuter.... You've been warned!
guys make your own hay? --- Alice
No, but we plan to plant more oats and Sunflowers this year.
A few Feed Stores around us have already run out of hay so I had to drive all the way to Abingdon to get these 9 bales.
Had a real scare today about losing my gpg key.
It turned out I did have the 3 of 5 shares needed to get it back, but I only realized that after trying to undelete secring.gpg, and after successfully restoring the key from .gnupg/private-keys-v1.d/, where gpg2 had helpfully stashed a copy.
Whew! Need to add a printout in a safe somewhere.
FOSDEM already? I've only looked at 3 LCA videos, and still have around a dozen CCC talks I want to catch.
WInter conference season is rough..
I've had several recent blog posts on the front page of Hacker news. Generally the Sunday after I write them.
Often they get 30k page views and not a single comment (on the blog or HN), which is understandable since my blog has been somewhat esoteric lately. (My poor mum, trying to make sense of monads)
But then there's comments on 8 year old blog posts. Like http://joeyh.name/blog/entry/dealing_with_dialup/#comment-fbe83263f7eb32a36a35ce24f4cd73ef
This is something that worries me about the pump network BTW, discoverability for old posts is not very good. Most posts don't seem to be getting into the Internet Archive; it visits my identi.ca page only a few times a year, and Evan's only a little more often. I'll bet that google doesn't much notice when pump posts are shared and popular unless a traditional website links to them, either. This is likely not good for both long tail effects and network growth effects.
People keep giving me soap. Do you think it's a hint?
More seriously, Donna and Jessica from Happy Goats Soap Company recently sent us a sampler pack of their homemade products to try out. I'm a hard woman to please when it comes to beauty products since I don't like scented anything, but the duo came through with a special-order bar of unscented soap (which you can buy on their website by clicking the "Request Special Order" button). The soap does the trick, providing a good lather but washing off clean while also providing the gentle moisturizing action that goat-milk soap is known for.
Although mildly scented, I also immediately fell in love with their Minty Man No Shine Lip Salve. I once had an awesome tube of lip balm from Aveeno, but everything I've tried to replace it with (primarily Burt's Bees) has turned my lips white and my husband off. Happy Goats' lip balm is even better than I recall the Aveeno stick being, providing an invisible coating that helps dry winter lips return to a happy state in short order.
Do you want to try your own Happy Goats skin-care products? Donna and Jessica have a bar of rose soap and a tube of lip balm with one lucky reader's name on it. Enter the giveaway below to win!
Meditating restructures you brain folks!
All in 40 breaths, trying to relax is a complicated equation. As a Quaker I used to think I had meditation down pat but I am like everybody else when not in a meeting. Until today, thank Joy! You introduced me to our friend meditation.
I've started thinking about dying alone, different versions of that story. The obvious sadness that when I am 100 and ready to kick it, my Mom will not be by my side and probably not my Dad either. I've been thinking my different ways are stinky enough to drive the crowd away.
But also, I started rejoicing that solitude. When I'm busy or in the sun or drinking hot tea, I start feeling about in another direction: loving myself for who I am and respecting the solitude.
Thank god I have some time to figure it out!
Impression of wing
left in mud. Worm lies under
bark, badger shifts eyes.
The robin will come,
high o're two field naturalists,
buds rich with sunlight.
bubbles break consumed
Timid house finch, seed
beek looking warm, sun shining.
Tap dancing on roof.
Flicker gentler than
remembered. Then finding warm
wood, start hammering.
Drippy melting snow.
Why did you come for such a
short visit? Come back!
More sludge than mud, man
nearly slips on his way up
steep graded hillside.
For Anna and Mark (just 'cause)
There will come a day when the
gravel will be tired of pretending.
You will choose the other path on the way up to the dog lot,
and instinctively go that way skirting yesterday's observations,
the impression of a wing you had found will return to you
nearly stumbling over the long gray white feathers of a dove.
Before you find the time to wonder, the old maple root
will blink up at you; the scratchy raspberry vine segmented off
on your glove will start crawling along and
gravel will glow like embers.
Dreams can be real, see. I don't want you to lose your hope for it.
But until then, I've been thinking of our hand in it.
What if the US military used all that might
and all that manpower and put it to cleaning our sickly ocean.
How many buff men and women on bikes would it take
to provide the power wars ask after?
Somewhere in dream or reality a rock dove
wants to make us a peaceable kingdom.
Today I put together a lot of things I've been thinking about:
- There's some evidence that git-annex needs tuning to handle some unusual repositories. In particular very big repositories might benefit from different object hashing.
- It's really hard to handle upgrades that change the fundamentals of how git-annex repositories work. Such an upgrade would need every git-annex user to upgrade their repository, and would be very painful. It's hard to imagine a change that is worth that amount of pain.
- There are other changes some would like to see (like lower-case object hash directory names) that are certianly not enough to warrant a flag day repo format upgrade.
- It would be nice to let people who want to have some flexability to play around with changes, in their own repos, as long as they don't a) make git-annex a lot more complicated, or b) negatively impact others. (Without having to fork git-annex.)
This is discussed in more depth in v6.
The solution, which I've built today, is support for tuning settings, when a new repository is first created. The resulting repository will be different in some significant way from a default git-annex repository, but git-annex will support it just fine.
The main limitations are:
- You can't change the tuning of an existing repository (unless a tool gets written to transition it).
- You absolutely don't want to merge repo B, which has been tuned in nonstandard ways, into repo A which has not. Or A into B. (Unless you like watching slow motion car crashes.)
I built all the infrastructure for this today. Basically, the git-annex branch gets a record of all tunings that have been applied, and they're automatically propigated to new clones of a repository.
And I implemented the first tunable setting:
git -c annex.tune.objecthashlower=true annex init
This is definitely an experimental feature for now.
git-annex merge and similar commands will detect attempts to merge
between incompatably tuned repositories, and error out. But, there are a
lot of ways to shoot yourself in the foot if you use this feature:
- Nothing stops
git mergefrom merging two incompatable repositories.
- Nothing stops any version of git-annex older from today from merging either.
Now that the groundwork is laid, I can pretty easily, and inexpensively,
add more tunable settings. The next two I plan to add are already
annex.tune.branchhashdirectories. Most new tunables should take about 4
lines of code to add to git-annex.
How many bales of hay can our little plastic shed hold?
We figure 9 with some space on top.
I think I might add some hinges to one of the doors that got a little wonky when the shed shifted.
10 tiny torx screws and masking tape. That's what I hate about taking a laptop apart. The fan yesterday developed a slight burr, almost unnoticable until you do and then annoying without end.
Had to work on it for 2 solid hours. My smallest torx bit didn't quite fit; lived in fear of stripping the screws. Rehearsed everything on my same-model parts laptop, and still hated every minute of it. Eventually I disconnected the fan, for now. Its cable was held down by a spot of masking tape. That's new; they must have changed cable lengths and this was some engineer's quick fix.
And that's what I hate about taking a laptop apart, I see the shortcuts, the screws that bite into plastic, the ribbon cables with their latches surely rated for < 100 cycles, the bits of tape. Once I've had a laptop apart I can never look at it quite the same way again, as a hunk of consumer electronics that is going to work for a while, until entropy eats it and it doesn't. I know , and somehow, when it comes to consumer hardware, I don't want to.
Software is so different for me, I had no problem PEEKing and POKEing away at the fan controller's bits last night, although I have not managed to adapt http://github.com/blan4/lenovo-yoga-fan-control/ to work with this model so far, and only managed to get the fan stuck on high, rather than turned off.
I want a bunnie laptop. If it's designed to be taken apart, it wouldn't bother me.
Okay, so I could tease you with tantalizing tidbits from my newest ebook.
I could tell you that it's got recipes that will help you tenderize the
tougher cuts of pastured meat and to substitute wholesome vegetables
for grains in delicious recipes.
Or I could just set the book free for one day only so you can pick up your own copy and give it a read. (And, maybe, if you want to make my day a little brighter, you'll leave a review on Amazon or Goodreads when you're done.)
Hmm, that second option sounds better for everybody involved. So, go download right now while it's free! Enjoy!
Bare weed tree wrapped with
poison oak, mumified by
snow. Wren chipping bark.
buds, five wrens rest high above.
Swaying prayer flag.
Farmer pauses back
pressed against one firm weed trunk.
Cello music drifting.
Day ahead, mud stained snow.
Long path lit up, as under
quilt. Secretly reading.
One tree falling. Hike
over drive, cutting sections.
Gliding over fields,
stream detour. Even heron
great blue sees her breath.
Two snowy goslings
wadling through thickly caked snow.
Fox nose twitching high.
Agenda of one
crow, interupted by squirrel.
Moment of chaos.
biking through. One hothouse rose
rests on dusty snow.
Ice cycles mark stream
spring will bring. Underneath, spec
minnow waits to thaw.
Girl walking two dogs
watching their panting crystalize
Caught in bluebird swarm.
Blue green peacock fans
tail. Down feathers float beside
drops of snow, circling.
Warn poet under
fabric bundle. Smiling to
window muse. Grey sky.
Bark twists around trunk,
sycamore like tinsel,
boy in red hat pulls.
sun knows no boundaries. Ginger
leaves lift their heads high.
Older lady steps
off bus. Shawl over her ears.
Oil paints in orphanage.
Trying art, snaggle
toothed girl rests hands warm. Slowly
painting dry canvass.
Looking out over
potted celery, wilting on
sill. Dark evening.
Infant neighbor calls
accross road to deaf couple.
Jay bird caws answer.
log. Slugs sail on slime covered
fern fronds. Owl deep whoo.
Not hitting kittens
but thudding clay clods. But still
not hitting kittens.
When apples go down
empty hands wave. Shouting out
Two rare quail back to
back. Another descending.
Pot, cup, same pattern.
Unusual noon heat
toes airing out, wriggling damp
sweat. Same way rain sprays.
Girls straw in teeth, crack
pecans clenching their fists, then
off to climb a tree.
Only some dogs come for
woman in green slicker. Rain
becomes sleet. Patter.
Vultures know circles
not showy. Rabbit droppings
fill puppy belly.
Poets also make
Candy. Froth egg whites, sugar.
Parchment paper reeled.
Lone eagle on craig
hikers hear talon scrape rocks.
Safe remote unseen.
Recess lone boy finds
robin, trash tangled claw. Works
free bird, lifted loose. Hope.
Listen. Dog exhaust,
car tires rolling in puddles.
Shiver, strain listen.
17 syllables give or take, not to be confused with words, debatably easy to write.
Today in about 4 hours, with breaks, I produced 31 haiku for the month of January.
The immediate question: were they any good?
How many Haikus can you write in one day?
I am putting mine in a future post to substantiate my gloat.
Our old farm truck is still limping along. Five months in the swamp and getting yanked out by a tractor necessitated repairing the gas tank and putting the universal joint back in after it fell out.
But we're still suffering from a short that drains the battery after a few days of disuse. That wouldn't be so bad if the hood latch didn't stick and require four hands every time we needed to open it.
Our mechanic repaired the sticking hood latch, but was left scratching his head over the short. I think I'll install a switch on the battery so I can turn it off when not in use.
the best use for seedy manure? As I drooled over the combination of
straw, dropped weedy hay, and goat manure and urine in our goat coop,
these are the options I came up with:
- Try to get a compost pile hot enough to kill all of the seeds in
the goats' dropped hay. Pro: Much-needed compost for the vegetable
garden. Con: Loss of a lot of nitrogen due to the contents sitting out
in our rainy climate, plus a relatively long wait and quite a bit of
pile-turning. And, to be honest, I don't really believe I'd kill all the
seeds despite all the effort.
- Turn in the chickens and hope they scratch through and eat up all
the seeds. Pro: Maybe the compost would be weed-free enough for the
garden afterwards, and the chickens would enjoy the adventure. Con: I'd
either have to move all of the bedding from the goat coop to the chicken
coop (at opposite ends of our core homestead), or I'd have to move the
chickens to the bedding and hope our birds get along well with the
goats. And, once again, I don't really believe the result would be
- Put the weedy compost under a kill mulch. Pro: A very easy solution, and I do want to kill mulch a few new areas this spring. Con: I won't be getting compost where it's needed most --- in the main garden.
- Deposit the kill mulch as a thin layer in the tree alleys, then use chickens to scratch up any sprouting seeds so I can plant goat-fodder crops there in the summer. Pros: This solution is even easier than the last since the bedding would be used close to the source, and I wouldn't even need masses of cardboard to cover everything over. Con: The chickens might not kill all the weed seeds, meaning that the area would stay unplantable (but would get some much-needed nutrition).
At the moment, I'm
leaning toward the last option, especially since the whole point of my
new kill mulches this spring was going to be to make some spots for the
mangels and field corn I want to plant for next winter's goat feed. But
I'm open to suggestions. What would you do with a mixture of straw,
dropped hay, and goat urine and manure? I feel so rich having another
source of organic matter to deposit into our farm's ecosystem!
To set books free into the wild with tracking.
http://goodreads.com/ (look for book exchange)
To arrange for new homes.
Reminds me I never did check what happened to the Ted Nelson book that I registered with bookcrossing and shelved next to WWW for Dummies at the local library..
How did we get a hole through
a 4x4 next to a 2x6?
An extra long 5/8" drill bit with a medium sized electric drill.
It should come in handy if we need to use long carriage bolts again.
interesting commentary on my code: check
Oh my goodness. Last night I wrote into convincing myself to not go off Abilify as a response to what someone in an online bipolar forum said. I then accidentally deleted the culmination of my decision!
But the person in the bipolar forum was right and I was right last night. By virtue of wanting to live a simple life, I didn't want to have to take an extremely expensive medicine, even if my copay is zero. I didn't want to take a medicine if there was a low likelihood I need it. And that is what the medical professionals were telling me.
But A. What about the antidepressant effects of Abilify? I need that. And B. What about putting mental wellbeing first? That has been the game plan that has kept me out of trouble. And C. What about if it's not broke don't fix it? The medicine is not causing new impending side effects, so why fix it.
The other day I went out to get a hair cut or trim. But when the hair dresser informed me my hair "is short already" I had no problem going home without a hair cut, and with a little more money in my pockets. Somehow that reminds me of the medicine. Hair and medicine stitched to the fabric of my being, might as well not change what is not broken!
While scanning the hillside for other sugar maples along my usual morning walk, Mark and I discussed the possibility of planting some new maples for tapping later in our lives. The hillside I walk past daily is a perfect location for sugar maples --- a damp, north-facing spot --- and I suspect the only reason sugar maples aren't currently in residence is because the area was logged too recently for this semi-old-growth species to thrive in the young woods.
But when I got home and did some research, I discovered that planted sugar maples won't be ready to tap for at least forty years. I consider myself a long-term thinker...but that's really long term (especially given current climate fluctuations and our location at the southern extreme of the sugar maple's range). Instead, I started wondering whether the intriguing experiments carried out at the Proctor Maple Research Center might not be a better avenue to explore. The scientists in charge have been experimenting with a high-density, pollarded maple operation and have found that you can harvest up to ten times as much sap per acre using high-density trees, with the initial harvest only seven years after planting. Now that sounds like something I'd like to try!
The big negative about this high-density maple system from a backyard standpoint is that you have to use a vacuum system to get the sap out of the trees. Timothy Perkins of the Proctor Maple Research Center kindly wrote back to me within hours with answers to my numerous questions, and he noted: "Vacuum is REQUIRED. You will get almost no sap without it. In addition, the 'sap caps' are not commercially available. We are working with maple equipment manufacturers now, and expect there will be a product available for the 2017 sap season." I'm not too worried about the lack of commercial sap caps --- it looks like something we can easily cobble together --- and Mark suspects that we could also come up with a backyard-style vacuum system using a breast pump (like we'll be using on our goats) or a shop vac. Plus, I don't have to figure that out until 2022, so why not go ahead and plant now?
Unfortunately, the system is very new, so Perkins had less concrete answers for my other questions. When asked how close together the trees should be planted, Perkins said that his experiments utilized an already-existing nursery, and thus he doesn't have solid data on optimal spacing. However, one news article suggested a trees-per-acre density that would come down to one sugar maple every three feet, which seems like a good start. In terms of frequency of harvest, Perkins said that after the first seven years of growth "you can harvest for several years prior to letting the saplings 'rest.'" (And, keep in mind that like with other pollarding systems, you'd also get firewood for energy and leaves for mulch out of the planting.)
So will we be planting high-density sugar maples this winter? I suspect Mark will talk me into setting aside at least one experimental row, but first I need to do some more research. "It would be best to plant high-sap sugar-content saplings," Perkins recommended...so now I need to do a bit more research and track down a source.
stoke fire (brr!)
eat dinner (1 am cereal does not count)
see sunlight (charge controler indicates there was some)
Planning to do better tomorrow.
brain officially fried after http://joeyh.name/blog/entry/making_propellor_safer_with_GADTs_and_type_families/
Since July, I have been aware of an ugly problem with propellor. Certain propellor configurations could have a bug. I've tried to solve the problem at least a half-dozen times without success; it's eaten several weekends.
Today I finally managed to fix propellor so it's impossible to write code that has the bug, bending the Haskell type checker to my will with the power of GADTs and type-level functions.
Code with the bug looked innocuous enough. Something like this:
foo :: Property foo = property "foo" $ unlessM (liftIO $ doesFileExist "/etc/foo") $ do bar <- liftIO $ readFile "/etc/foo.template" ensureProperty $ setupFoo bar
The problem comes about because some properties in propellor have Info associated with them. This is used by propellor to introspect over the properties of a host, and do things like set up DNS, or decrypt private data used by the property.
At the same time, it's useful to let a Property internally decide to
run some other Property. In the example above, that's the
line, and the
setupFoo Property is run only sometimes, and is
passed data that is read from the filesystem.
This makes it very hard, indeed probably impossible for Propellor to
look inside the monad, realize that
setupFoo is being used, and add
its Info to the host.
setupFoo doesn't have Info associated with it -- most
properties do not. But, it's hard to tell, when writing such a Property
if it's safe to use ensureProperty. And worse,
setupFoo could later
be changed to have Info.
Now, in most languages, once this problem was noticed, the solution would
probably be to make
ensureProperty notice when it's called on a Property
that has Info, and print a warning message. That's Good Enough in a sense.
But it also really stinks as a solution. It means that building propellor isn't good enough to know you have a working system; you have to let it run on each host, and watch out for warnings. Ugh, no!
This screams for GADTs. (Well, it did once I learned how what GADTs are and what they can do.)
Property NoInfo and
Property HasInfo can be separate data
types. Most functions will work on either type (
Property i) but
ensureProperty can be limited to only accept a
data Property i where IProperty :: Desc -> ... -> Info -> Property HasInfo SProperty :: Desc -> ... -> Property NoInfo data HasInfo data NoInfo ensureProperty :: Property NoInfo -> Propellor Result
Then the type checker can detect the bug, and refuse to compile it.
There are a lot of Property combinators in propellor. These combine
two or more properties in various ways. The most basic one is
which only runs the first Property after the second one has successfully
So, what's it's type when used with GADT Property?
requires :: Property i1 -> Property i2 -> Property ???
It seemed I needed some kind of type class, to vary the return type.
class Combine x y r where requires :: x -> y -> r
Now I was able to write 4 instances of
Combines, for each combination
of 2 Properties with HasInfo or NoInfo.
It type checked. But, type inference was busted. A simple expression like
foo `requires` bar
No instance for (Requires (Property HasInfo) (Property HasInfo) r0) arising from a use of `requires' The type variable `r0' is ambiguous Possible fix: add a type signature that fixes these type variable(s) Note: there is a potential instance available: instance Requires (Property HasInfo) (Property HasInfo) (Property HasInfo) -- Defined at Propellor/Types.hs:167:10
To avoid that, it needed ":: Property HasInfo" appended -- I didn't want the user to need to write that.
I got stuck here for an long time, well over a month.
type level programming
Finally today I realized that I could fix this with a little type-level programming.
class Combine x y where requires :: x -> y -> CombinedType x y
CombinedType is a type-level function, that calculates the type that
should be used for a combination of types x and y. This turns out to be really
easy to do, once you get your head around type level functions.
type family CInfo x y type instance CInfo HasInfo HasInfo = HasInfo type instance CInfo HasInfo NoInfo = HasInfo type instance CInfo NoInfo HasInfo = HasInfo type instance CInfo NoInfo NoInfo = NoInfo type family CombinedType x y type instance CombinedType (Property x) (Property y) = Property (CInfo x y)
And, with that change, type inference worked again! \o/
(Bonus: I added some more intances of CombinedType for combining things like RevertableProperties, so propellor's property combinators got more powerful too.)
Then I just had to make a massive pass over all of Propellor, fixing the types of each Property to be Property NoInfo or Property HasInfo. I frequently picked the wrong one, but the type checker was able to detect and tell me when I did.
A few of the type signatures got slightly complicated, to provide the type checker with sufficient proof to do its thing...
before :: (IsProp x, Combines y x, IsProp (CombinedType y x)) => x -> y -> CombinedType y x before x y = (y `requires` x) `describe` (propertyDesc x) onChange :: (Combines (Property x) (Property y)) => Property x => Property y => CombinedType (Property x) (Property y) onChange = -- 6 lines of code omitted fallback :: (Combines (Property p1) (Property p2)) => Property p1 -> Property p2 -> Property (CInfo p1 p2) fallback = -- 4 lines of code omitted
.. This mostly happened in property combinators, which is an acceptable tradeoff, when you consider that the type checker is now being used to prove that propellor can't have this bug.
Mostly, things went just fine. The only other annoying thing was that some
things use a
[Property], and since a haskell list can only contain a
single type, while Property Info and Property NoInfo are two different
types, that needed to be dealt with. Happily, I was able to extend
(!) operators to work in this situation,
so a list can be constructed of properties of several different types:
propertyList "foos" $ props & foo & foobar ! oldfoo
The resulting 4000 lines of changes will be in the next release of propellor. Just as soon as I test that it always generates the same Info as before, and perhaps works when I run it. (eep)
These uses of GADTs and type families are not new; this is merely the first time I used them. It's another Haskell leveling up for me.
Anytime you can identify a class of bugs that can impact a complicated code base, and rework the code base to completely avoid that class of bugs, is a time to celebrate!
We really appreciate all the
helpful comments on the structual
strength of our new IBC water tower.
The truck has been in the shop so we had to use the car to pick up some lumber to increase both support and bracing.
I could probably haul twice as much lumber if the back window could open and close.
operations in New England like to have all their taps in place around
the first of March. But we southerners can get a head start on the
season and tap earlier. As you can see, sapsucker holes in our favorite
sugar maple are already bleeding sap, so why let the tree's sweet juices
go to waste?
Interestingly, while I
was researching the timing of maple tapping, I stumbled across a study
in which researchers tapped some trees early (in late January or early
February), some at the March 1 time most traditional farmers aim for,
and some late. While late-tapped trees did
produce lower yields, both early and midseason taps netted the same
amount of liquid. Why? Early taps catch sap that midseason taps miss,
but those early holes tend to close up before the flow is finished and
thus miss the latest sap. So, it's really up to you when you want to
tap, and for us, earlier is better --- there's much less to do on our
farm in January and February than in March.
Mark and I had a lot of fun tapping our sugar maple
last year, and we considered expanding beyond one measly spile in 2015.
However, my usual morning walk goes past only this one sugar maple, and
I'm not sure if I have the gumption to check on trees daily if they
aren't on my normal route. Maybe if I get antsy waiting for Abigail to pop out some kids, though, I might expand my walks and our maple syruping operation.
I had some trouble
remembering where I put our old fashioned lead spiles last year so we
decided to upgrade to a set
of new modern spiles.
The instructions call for a 7/16th bit, but we got by with a 1/2 inch spade bit.
Between the time we installed it yesterday and this morning it dripped out almost a half gallon of sap.
At first, my primary question with our new goats was: is Abigail pregnant?
More recently, since Abigail's previous owner didn't know her exact
breeding date, the question has morphed into: when is our goat due? I'm
thinking the answer to that second question is: soon.
Within the last week, Abigail has started showing lots of signs of impending birth. I've been keeping an eye on her butt
for the primary purpose of seeking out mucous (a sure sign that
delivery of kids is imminent), but less obvious changes arise a bit
sooner. When you look at these three months of goat-butt photos, can you
tell how the most recent butt shows very little wrinkling? In order to
prepare for pushing a whole 'nother creature out of her body, Abigail is
loosening up tendons and relaxing this area, and the change is quite
obvious once you take a look at time-lapse photos.
Experienced goatkeepers also feel for the tendons above where the tail attaches to the rest of the body, expecting those tendons to nearly disappear as birth approaches. Unfortunately, I didn't feel Abigail up in advance, so I can't make that comparison now.
Other more subtle changes
are also taking place in Abigail's body. Beginners always want to look
to the udder to see if a goat is going to give birth soon, but the
enlargement of the bag might not occur until right before birth in does
(like ours) who have kidded previously. Mark and I both feel like Abigail's teats have become a bit more obvious, but I didn't take any before photos, so am not positive about the change.
On the other hand, I feel like the little baby bump on Abigail's right side (the left side of this photo) has changed considerably in shape over the last week. The bulge seems to have dropped down and become pointier, and if Abigail were a more patient mother-to-be, I probably could even feel for hooves right in front of her udder on the underside of her belly. However, our goat seemed less than excited about being fondled there, so I let that non-essential test slide.
The final change I've
noticed is behavioral. Abigail has always been a more greedy eater than
Artemesia, whose little belly fills up in short order, allowing our
doeling to get into mischief while our older goat keeps chowing down.
But lately, Abigail has been even more adamant about rushing through her
own breakfast in time to snatch part of Artemesia's much smaller
portion, so I've increased our pregnant goat's ration to include an
extra carrot and more sunflower seeds in the morning, and I'm also
allowing her a full forty-five minutes of honeysuckle-or-oat grazing in
the afternoon. From what I've read, the last few weeks of pregnancy
require a lot of extra nutrients, so I suspect Abigail is just hungrier
than she used to be, and I'm more than willing to indulge her expanding
As each of these signs appear, I turn into more and more of a nervous goat doula, and I have to keep reminding myself that, by all reports, most does kid easily with no help from their human lackeys. Since I don't know much about milking either, though, the unknown has left me feeling a bit jittery. But I'm also excited at the thought of tasting our farm's first homegrown milk and enjoying the antics of baby goats, so I'm continuing to watch Abigail with an eagle eye.
We tapped our easy to get to
Sugar Maple tree today.
It's got a nice and steady drip rate.
Attaching a couple of shelf brackets with bungee cords was an easy way to make a roof for the bucket without damaging the tree with screws or nails which is a whole lot prettier than the way we did it last year.
RT @mjg59 Fucking Hacker News. https://news.ycombinator.com/item?id=8930544
I suspect this is a
simple math problem for an engineer, but I don't know where to begin to
determine whether our water tower is going to collapse under the weight
of approximately 2,294 pounds of water. Roland, do you have some handy
load-bearing tables at your beck and call?
I figure each
four-by-four post has to support 574 pounds when the tank is full, and
that probably won't be a problem since we've got cross-supports in place
so the legs can't twist. Meanwhile (and potentially more
problematically), the eight-foot-long two-by-six crosspieces have to
support about 765 and 1,529 pounds apiece (since the tank isn't centered
due to the tower's proximity to the trailer), and I think maybe this is
too much --- one table (if I read it right) said that an 8-foot 2-by-6
can only support 567 pounds. Finally, the 5/8-inch carriage bolts are
each holding about 574 pounds, which I think is safely below the 1,210-pound load limit on this chart.
the meantime, there's always the scary proposition that the unbalanced
tank might tip all the way over. I'm still not 100% sure we don't need
some additional support for the front edge, but so far I'm pretty happy
with Mark's solution of adding two boards across the top so the tank physically can't tip forward. (Only one board is in place so far. The other will go at the same elevation near the front of the tank.)
So, engineers out there, what do you think? If we put water in the tank, will our tower crumble, or is it safely built? If you cringe as you look at our photos, what would you add to the structure to beef it up and keep our water tank elevated?
On a less geeky note, adding a huge rain barrel to the back of the trailer suddenly changed it from a blah space to an intriguing area full of possibilities. I can hardly wait until I've added some plant life to give the region even wider appeal.
I wrote an xchat plugin to display True Names you configure alongside irc nicks.
We got our IBC rain barrel
It's resting on a couple of treated 2x6's mounted to each 4x4 post.
Disable password logins and it's like you're using your keys to sneak by the mob that are pointlessly shouting nonsense into the door's intercom.
On the porch swing in the sun, in bare feet and a t-shirt. Almost like it's not January. In 2 days, it might well be snowing.
While cleaning up my unruly bookshelf,
I discovered several large containers of homegrown vegetable seeds from
2012. I planted some in 2013, kept the containers as backup for 2014
just in case my next round of seeds didn't work...but here it is 2015
and the seeds are still there. So I decided to sprout them as a special
treat for the goats and chickens.
With large seeds like this, my current favorite method for mass-sprouting is to soak the seeds in water for 12 to 24 hours, then pour them out in a colander and leave them in the sink. Whenever I think about it (usually two or three times a day), I splash on some fresh water and shake the colander around a bit. In our cool kitchen, mung beans sprout fully in about a week using this method, and hopefully my current combination of green beans, peas, swiss chard, summer squash, and okra will do the same. I'll keep you posted once I find out if our livestock appreciate the extra attention.
As a side note, I did a little research to determine whether any vegetable seeds are poisonous, and found very little data. I'm operating under the assumption that seeds we consume as part of the vegetable (beans, summer squash, peas) are edible even when mature and dried, while plants that we eat as greens (swiss chard) are also edible in the sprout stage. I might steer clear of feeding livestock tomato sprouts since their foliage is semi-poisonous and I definitely wouldn't sprout apple or peach seeds for animals, but otherwise, my guess is that most vegetable seeds are safe. I'd be curious to hear from anyone who has further data, though!
I'm watching https://www.reddit.com/r/millionairemakers as a slightly interesting sociological experiment. (Not the one they think they're performing though..)
The winner was just announced. I found this month-old gem in their comment history: https://www.reddit.com/r/AskReddit/comments/2lb2uo/if_you_could_solve_any_current_world_issue_which/cltd2gm
> If you could solve any current world issue, which one would it be?
Probably income inequality, many of the major issues seem to stem from it, especially on a global level.
Today I got The pre-commit-annex hook working on Windows. It turns out that msysgit runs hook scripts even when they're not executable, and it parses the #! line itself. Now git-annex does too, on Windows.
Also, added a new chapter to the walkthrough, using special remotes. They clearly needed to be mentioned, especially to show the workflow of running initremote in one repository, then syncing another repository and running enableremote to enable the same special remote there.
Then more fun Windows porting! Turns out git-annex on Windows didn't handle
files > 2 gb correctly; the way it was getting file size
uses a too small data type on Windows.
Luckily git-annex itself treats all file sizes as unbounded Integers,
so I was easily able to swap in a
getFileSize that returns correct
values for large files.
While I haven't blogged since the 13th and have not been too active until today, there are still a number of little improvements that have been done here and there.
Including a fix for an interesting bug where the assistant would tell the remotedaemon that the network connection has been lost, twice in a row, and this would make the remotedeamon fail to reconnect to the remote when the network came up. I'm not sure what situation triggers this bug (Maybe machines with 2 interfaces? Or maybe a double disconnection event for 1 interface?), but I was able to reproduce it by sending messages to the remotedaemon, and so fixed it.
Backlog is down to 118 messages.
We got the support section of
mushroom log station done today.
It will give us about 16 feet at 12 inches off the ground.
Things I didn't want to learn today: How msysgit manages to run non-executable git hooks on windows.
If you're like me, you
should be building with screws. Sure, they're easy to install, but more
importantly, they're also easy to uninstall. Perhaps you're able to
guess exactly how each piece of homesteading paraphernalia should be
constructed the first time around, but most of us make mistakes and have
to take our projects apart, then we put the materials back together in a
slightly different configuration. Using screws, Mark and I easily saved
99.5% of our fasteners from our current project to reuse, and we also saved quite a bit of swearing and hassle.
So what are we taking apart and what are we rebuilding? The garlic curing racks a friend built for us 2.5 years ago served us well for a season, but once we had porches and Mark's mom gave us our current drying racks, there was no going back. Curing rack version 2.0 stays drier during heavy rains, and the vegetables are also much easier to access. As always, the gardener's attention is the best fertilizer (or, in this case, drying agent).
So the racks are coming down, and the lumber and location will become our new-and-improved mushroom station instead. As with our curing racks, our mushroom operation needed a face lift, and Mark and I think we've figured out exactly how to make our mushroom station more dependable for version 5.0.
We've tried various mushroom permutations in the past, but none has fit into my busy summer schedule. Sticking logs under fruit trees does produce some mushrooms, but I often miss the fruits because who crawls under their peach canopy on a regular basis? Rafts didn't work at all for me, while totems do so-so, but the top of each log tends to dry out and die while mushrooms pop up just above the soil line and get dirty. The more mainstream method of stacking the logs in a shady spot and then soaking them in a kiddie pool to prompt fruiting also fell through because I get too busy in the summer to reliably soak my logs (or I leave them in too long and the fungi drown). Plus, soaked logs are heavy and unpleasant to manhandle. That version also suffered from two other problems --- the logs were too close to the ground and thus accumulated weed fungi, and they were also hard to access and thus tended to be overlooked.
So, version 5.0 is in the works, and Mark and I want all of our infrastructure in place before we inoculate new logs this spring. The shady north face of the trailer is now relatively weed-free (due to years of Mark's weed-eating efforts), so building elevated racks for the logs will provide them with a good permanent home. Meanwhile, the skeleton of the previous vegetable-curing-rack setup can be tweaked to support an IBC tank, which we'll hook into the gutters and turn into an elevated rain barrel for summer watering. Add in some low-pressure sprinklers (and maybe even a valve on a timer to automate the process), and we should be able to provide our mushrooms with the inch of rain per week they need to fully colonize their logs, then extra water as needed to promote fruiting.
But it all starts with a ladder and a screw gun. There are few things more fun than helping my husband tear things apart on a rare, sunny January day when you can work outside in shirt sleeves and I can hardly wait for part two this afternoon!
We decided to make some
changes to our old
The plan is to take the roof off and make a platform to store mushroom logs on.
shelves behind my desk saw a major overhaul this past weekend. The area
probably still looks cluttered and messy to you, but believe me, if I'd
taken a before photo, you would be able to tell the difference!
As a bonus, I scored three shredder-runs worth of old phone books, junk mail, and no-longer-needed-written-in notebooks to turn into garden mulch. This time around, the blueberries were the lucky recipients --- three plants are now all mulched and ready to repel the weeds of spring.
List of feeds:
- Anna: last checked (25 posts)
- Anna and Mark: Waldeneffect: last checked (2300 posts)
- Anna and Mark: Clinch Trails: last checked (10 posts)
- Joey: last checked (84 posts)
- Joey chatter: last checked (1007 posts)
- Joey git-annex devblog: last checked (232 posts)
- Joey: olduse.net blog: last checked (15 posts)
- Jay: last checked (25 posts)
- Dani: last checked (21 posts)
- Errol: last checked (28 posts)
- Maggie: last checked (891 posts)
- Tomoko: last checked (69 posts)
- Jerry: last checked (28 posts)