Best Shepherd’s Pie Recipe

Shepherd’s pie has always been one of my favorite dishes.  Growing up and until recently, it was made with beef (technically cottage pie, I believe).  Then a couple years once we started having lamb we switched to using lamb.  Really good.

BUT, we made it this week with mutton and…wow.  Sooo good.

So now my official Best Shepherds Pie recipe calls for

  • 1 can creamed corn
  • 1 can whole kernal corn
  • ~6 medium potatoes, grown in the garden, preferably from stock from Aroostook county, ME.  And preferably the Carola variety, which has a nice yellow buttery flesh.
  • A couple handfuls of frozen peas.  Again, preferably from the garden
  • 1.5 lbs ground clun forest mutton.  The breed is critical here, of course. 🙂  Substitute lamb if you can’t get mutton.
  • Raw sheep or goat milk.  Preferably 24 hrs old or fresher (like, from the animal, not the store)
  1. Brown the ground mutton, adding some salt and pepper
  2. Make mashed potatoes, using the sheep/goat milk and plenty of butter.  Clun forest sheep have a very high butterfat content (6-9%!!) so it makes it extra delicious!  We also milk Nubian goats which have about 5% butterfat. Season to taste.
  3. Layer the pie.  Mutton at the bottom, then the two cans of corn (1 creamed, 1 whole kernel).  Then some peas for extra flavor and color, and finally the potatoes on the top
  4. Spread a bit of butter on top of the potatoes to help get some crispiness
  5. Bake in oven at ~350 degrees for 20-30 mins, until potatoes have started to crisp up and brown

Yes, you need to think ahead on this recipe for those garden potatoes, peas, and mutton.

Also, I recommend not telling your daughter that Daffy tastes amazing, she *might* get a bit upset….

Hope everyone had a great holiday!

Sheep Hay Estimator

Like lots of folks with critters, when late summer / early fall arrives I start trying to figure out how much hay I’ll need for the upcoming fall / winter / spring.  There are a few factors, including the number of sheep, their size, how long your grazing season is, pregnancy, how much is left from last year, and more.

Naturally, I made a model:


I’ve open sourced the spreadsheet I use in case it helps someone else.  Just remember to update the assumptions for your own flock’s needs.



Our Chickens are Preparing the Garden

This past weekend we put our chickens into their new mobile coop, and found them a nice space in our garden area for them to prepare.  It’s a bit of an experiment, but I think it will work.

Here in Wisconsin the weather is still pretty cold in March and April, and our average last frost date in my area is the 1st week of May.

So what are the chickens doing?  Chicken things!  Scratching, digging, pooping, and spreading anything that’s put in their reach.  Here they are on day 1.

chicken garden week 1

By the time we are ready to plant, this area will have the vegetation removed, be organically fertilized, and will have a nice layer of mulch spread out, all via chicken power.  No tillers, no backbreaking work with a shovel.  Just chickens doing what they like best anyway.

I’ll update with a photo each week as this area is transformed into a nice area for a garden to be planted.



New Mobile Chicken Coop is Ready

We tried our first chicken tractor last year and it worked out well enough but it really was only big enough for 10 birds or so.  It started out as a straight tractor, but as the season moved on and the birds got bigger we ended up just using it as a mobile coop.

You can see it below, surrounded by premier1 poultry netting.



As a mobile coop it worked ok, but had some limitations:

  • Small wheels made it kind of tough to move over rough ground
  • It was easy enough to move 8′ at a time (every day), but when it was time to move it across the farm, it was tough going
  • Our bigger birds (such as pioneers/red ranger meat birds) weren’t able to get up into the roosting area very well
  • Insuffient space for nesting boxes if we wanted to have laying-aged birds in it

So this year I’m trying a new design, based on the one created by Justin Rhodes at Abundent Permaculture.  You can find his build instructions here.

This new design should fix the problems above:

  • Big wheels make it go over rough stuff no problem
  • Plenty of space for our layers and room for more
  • Open floor means manure goes where it belongs – on the pasture
  • Nesting boxes easily accessed from outside the coop
  • Plenty of easy to access roosting space

Here it is, all put together and ready for its maiden voyage!


The birds will move in this weekend, and we’ll put them to work fertilizing and preparing the garden right away.



How to receive events from an Microsoft Azure Event Hub on a Raspberry Pi

I received a question on my “How to send events from a Raspberry Pi to Microsoft Azure Event Hub” post:

“I want to ask about do you know “how to receive events from azure event hub to raspberry pi””

After a little research I found an article outlining how to do so , via the AMQP protocol using Proton C.  However, I found myself wondering about the use case.

Typically, we are sending events from our IoT devices to some cloud application for analytics, machine learning, or the like.  Event Hubs are great for those high volume cases.

However, if you need it for a messaging scenario, queues or topics might be more appropriate, and they are directly supported by the Azure Python SDK.  In my own case, I elected to use a simple long-polling strategy to have my raspberry pi listen to my cloud app for instructions.

So, can it be done?  Yes, here’s how.  But it may not be the right tool.

“Alexa, raise my desk to 15 inches”

Last year, I built a DIY Raspberry Pi controlled electric standing desk.  It was a great project and I’ve gotten a ton of use from it.

To move the desk, I simply had to:

  1. Launch PuTTY on my computer
  2. PuTTY to the raspberry pi
  3. Log in
  4. Navigate to the directory where the program was running
  5. type sudo python3
  6. Tell it what height to move to

It works and is definitely better than sitting all day… but we can do better than that, right?

Yes, we can.  My desk is now voice-activated via Amazon Alexa!

Isn’t that better?

How does it work?

There are 3 parts to the integration:

  1. Alexa Skill
  2. Azure-hosted API
  3. Desk Controller


Alexa Skill

Amazon has an SDK for the Amazon Echo family devices called the “Alexa Skills Kit“.  In short, the Alexa skill contains 3 things:

  1. The things your skill can do (called intents)
  2. Sample ‘utterances’ and how they map to the intents
  3. Instructions on how to call your program

Your program can either be an Amazon Lambda program, or it can be a HTTPS API that the Alexa service will post a message to.

It’s easy to set up a simple skill to get started.  Check out the Amazon developers site for how tos, tutorials, etc.  Or if you want to learn in a bit more structured way, check out “Developing Alexa Skills for Amazon Echo” on Pluralsight.

The speech assets for my desk are on github.


The API is simple and does 2 things:

  1. Receives commands from the Alexa service and translates the intent and parameters to a desk command
  2. Responds to the desk controller’s requests for command.  The desk is using a long-polling mechanism to get commands.

The code is here (disclaimer: this is hack-it-together code, not production quality!)

Desk Controller

The desk controller uses the python program I had previously created to control the desk, but adds long-polling to get commands, rather than waiting for someone to type into the console.

What’s Next?

The program has lots of room for improvement, the Amazon process for certifying skills is rigorous, and the interactions with the desk will get better as I find the terms that I want to use to control it.

Have feedback?  I’d love to hear it.  Leave a comment or reach me @_brentonc on twitter.