Unforgiving
We’ve been dealing with a brutal cold stretch which is most definitely testing our limits. The timing isn’t great, after a Summer of construction and an addition to the family in October, our wood reserves aren’t exactly plentyful.
A few days ago, I came to the realization that at the pace we are burning wood, we only had 10 days of reserves left.
I thus decided we would not use this pile any more, keeping it available for the unexpected; we will instead produce wood as we burn it. I had 2 ash trees picked out since the Summer, they didn’t look too good, and they’re close to the house, they’d be perfect to finish the Winter. I didn’t realize they’d only help us start it. And so I went after them in the best temperatures this cold stretch had to offer, which were still quite low and made for some very tough work. I also grabbed a couple of dead poples while I was out there but they don’t burn as good as ash when green.
The morning routine now consists of splitting 2 sleds worth of wood, which covers 24 about hours.
We folded back into the tiny house to make heating easier, it’s not too chaotic but we do miss the extra room.
The green house is incredible and turns a little bit of sunlight into non-freezing temperatures.
Building it around the well’s pitcher pump was an incredibly smart move.
The snow and the wind also take jabs at us, really it’s been one thing after another. Equipment is reaching its limit. I suspected that the tractor’s battery would be dead at some point, and so I thought I’d jump it with the ATV. What I wasn’t counting on was that the wind would push the snow back on the paths I had plowed, making it very difficult to get close to the tractor to do so. I had the unexpected planned for, not the doubly unexpected.
The cars also make funny noises and smells with such temperatures, anything mechanical is taking a beating. So is my body which does not get a single day without unforgiving chores outside.
The solar array batteries barely function as they are frozen, we’ll want them in a milder environment later on.
The porcupine is undeterred by the cold and still sets out every night for its routine. It picked a different tree this season and seems to like some of the paths I made.
A friend gave us an aloe plant a while back, and I never paid much attention to it. Today though, we opened it up and rubbed some of the magical goo on our hands. It felt amazing and it’s nice to feel something other than biting cold, logs and hot stoves every once in a while.
We reached the lowest temperature since we moved to the land on January 2nd.
So here we are, one tough stretch reaching extremes and pushing all our limits. It’s ok though, I enjoy getting tested by the elements, this is what drives me outside during a storm. Still, we’ll be very relieved in a few days when we get to catch our breaths. We’ve learned a few good lessons along the way.
Been programming – Tessellation preview
Between the brutal cold and children, I haven’t had as many untainted brain cycles as I’ve been wishing for; still, I just finished the core engine for a universal way to apply translations to pen strokes. It allowed me to rewrite the mandala engine better, and expand it to allow for tessellations, and really any kind of translations on any center at any orientation. It’s been a ton of ground work so it’s nice to finally get some eye candy :).
I can’t wait to see what the internet does with it. Here’s a preview:
[mejsvideo mp4=”http://ben.akrin.com/videos/tessellation_preview.mov.mp4″ ogg=”http://ben.akrin.com/videos/tessellation_preview.mov.ogv” webm=”http://ben.akrin.com/videos/tessellation_preview.mov.webm” poster=”http://ben.akrin.com/videos/tessellation_preview.mov.jpg” width=”640″ height=”360″]
2 Ash 1 Saw
[mejsvideo mp4=”http://ben.akrin.com/videos/2_ash_1_saw_short.mov.mp4″ ogg=”http://ben.akrin.com/videos/2_ash_1_saw_short.mov.ogv” webm=”http://ben.akrin.com/videos/2_ash_1_saw_short.mov.webm” poster=”http://ben.akrin.com/videos/2_ash_1_saw_short.mov.jpg” width=”640″ height=”360″]
Feels very good to chainsaw, it had been a while and I had been itching.
They went right where I wanted them.
And for your viewing pleasure here’s just the tree going down, notice the little pine way out in the back getting utterly whipped.
[mejsvideo mp4=”http://ben.akrin.com/videos/ash_01_going_down.mov.mp4″ ogg=”http://ben.akrin.com/videos/ash_01_going_down.mov.ogv” webm=”http://ben.akrin.com/videos/ash_01_going_down.mov.webm” poster=”http://ben.akrin.com/videos/ash_01_going_down.mov.jpg” width=”640″ height=”360″]
Numero dos:
[mejsvideo mp4=”http://ben.akrin.com/videos/ash_02_going_down.mov.mp4″ ogg=”http://ben.akrin.com/videos/ash_02_going_down.mov.ogv” webm=”http://ben.akrin.com/videos/ash_02_going_down.mov.webm” poster=”http://ben.akrin.com/videos/ash_02_going_down.mov.jpg” width=”640″ height=”360″]
x1.5
Another Winter another solar upgrade. Short overcast days are good at exposing a lower limit. After having lost power a couple of days it was time for an upgrade. The house is growing and so it our consumption, especially on the Summer months when we get used to abundant electricity.
Bringing the panels on site, I always said my son would make a great draft horse.
I’m becoming good at building in the cold, my fingers are not thanking me though.

All I need to do now is prop it off the ground and anchor it for heavy winds. 
I like this frame, it takes 6 2x4x8 and this is the only scrap lumber left.
I did some quick back of the envelope math and so far our setup costed about as much as what we would have paid for grid electricity these past 2 and a half years. Seems like it costs about as much to learn how to fish than it does to buy fish, at least at the beginning. We have now entered the gravy zone.
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 
































