We woke up to a world encased in ice
We have had ice storms before but this one was particularly thorough in covering every nook in cranny of our land.
The sun shone through pine trees and it looked just like a Christmas tree decorated with lights so I updated the list of traditions I understood since moving to Vermont.
I almost plowed what snow we had before the ice came, but in talking to a friend, she brought up letting the ice accumulate on the snow rather than on the ground so it’s easier to kick out. Duh, what kind of flatlander doesn’t know that.
The storms are rolling in one after another, the tractor has been invaluable in taking care of all this snow. We have great paths, a flat driveway, and all I had to do was push a button and joyride around.
With all this snow and ice, the trees are taking a beating.
On the less glamorous side of things, emptying the portable toilet is a full on arctic expedition these days. We lost access to the septic tank and really, I prefer it this way.
We started on an igloo 🙂 this is the closed I’ve gotten to building one. We’ll see if we can finish the critical top.
Bring it on Winter
I got to play with the snowblower implement today, super fun. Attaching it took some doing but I’m getting to know the tractor way. Putting chains on is always a giant pain.

A Universal Caching Algorithm for PHP using Memcached
Here is an elegant way to use the same caching logic for all function calls which should have a cache. With the proliferation of 3rd party APIs I was quite happy to find a way to address them all with a single mechanism.
[php]function expensive_third_party_call( $param1, $param2 ) {
// universal caching algorithm header
$result = memcached_retrieve( __FUNCTION__ . serialize(func_get_args()) ) ;
if( $result!==null ) {
return $result ;
}
// this is where the third party call actually happens, if we are hit the cache missed
$to_return = /* some super complex and time consuming logic, throw in a couple of web calls*/ ;
// universal caching algorithm footer
memcached_store( __FUNCTION__ . serialize(func_get_args()), $to_return, CACHE_TIMEOUT ) ;
return $to_return ;
}
////////// helper functions bellow //////////
$m = false ;
function memcached_retrieve( $key ) {
global $m ;
$new_key = md5( $key ) ;
if( $m===false ) {
$m = new Memcached() ;
$m->addServer( ‘localhost’, 11211 ) ;
}
$temp = $m->get( $new_key ) ;
$result_code = $m->getResultCode() ;
if( $result_code==Memcached::RES_SUCCESS ) {
return $temp ;
} else if( $result_code==Memcached::RES_NOTFOUND ) {
return null ;
} else {
echo "error: can’t retrieve memcached key {$key} with result_code {$result_code}" ;
}
return null ;
}
function memcached_store( $key, $data, $timeout ) {
global $m ;
$new_key = md5( $key ) ;
if( $m===false ) {
$m = new Memcached() ;
$m->addServer( ‘localhost’, 11211 ) ;
}
// a little heavy handed but we use null to represent that nothing was found in the cache so we can’t have this be the data
if( $data===null ) {
$data = false ;
}
$m->set( $new_key, $data, $timeout ) ;
$result_code = $m->getResultCode() ;
if( $result_code!==Memcached::RES_SUCCESS ) {
echo "error: can’t store memcached key {$key} with result_code {$result_code}" ;
return false ;
} else {
return true ;
}
return false ;
}
[/php]
Requirements
- apt-get install memcached php-memcached
- make sure to define CACHE_TIMEOUT
Functioning principle
Using PHP’s awareness of the current function it is in along with the parameters which are passed to it, we derive a unique key which is used so store and retrieve from the cache.
The garlic is in
A bit late and not super well done but we don’t want to skip a season. We planted ~400 cloves.
We got leaves from the forest, one the of many things trees give us.

Today’s insulation is tomorrow’s soil 
Cidre
Hard time taking pictures of the process, we’re at 15 gallons of cider, 5 of which are now laced with the inebriating nectar of the gods :). We followed an extremely simple farm recipe, the cider is good but not great. The 2 gallons with honey tasted best, maple syrup left no particular taste but did make the cider a little stronger. Good stuff!
Every batch labeled with a picture for the story of the tree it came from.
“Old man’s arch”, “Maple ghost moon”, Honey third from the left” are all there.

Golden age of the Monarchs
Summer 2016 revealed amazing firefly spectacles. They left the stage this year to the Monarch butterfly.
caterpillar
I never saw butterflies as very good fliers, they seem to land on whatever the wind blows them on. Only after following one a while did I realize it hit a milkweed every single time. Despite of their completely erratic flight pattern, they are in fact quite calculated.























