All posts by Bob Mixon

Senior SharePoint Solution Architect, Senior Information Architect, 5-year Microsoft SharePoint MVP (2006, 2007, 2008, 2009, 2010). Family man, father, grandfather and cook. You can read my entire profile here.

Grandma’s Perfect Caramels

Soft, chewy, and melt in your mouth caramel is the perfect candy to set out for guests or gift giving. With only a few staple ingredients and a little bit of time, homemade candy has never been easier.

Seriously amazing homemade caramels!

Ingredients
1 cup granulated sugar
¾ cup corn syrup
½ cup unsalted butter
1 cup heavy cream
½ teaspoon vanilla extract

Instructions

  1. Grease an 8×8-inch baking pan.
  2. In a medium saucepan over medium-high heat, add the sugar, corn syrup, butter, and ¼ cup of cream. Bring to a boil, stirring continuously.
  3. While continuing to stir, add the remaining cream. Insert a candy thermometer and while constantly stirring, bring to the soft ball stage. Around 250°F, the sugar syrup will turn transparent and boil rapidly. Around 320°F, the syrup will darken slightly and smell caramel-like. You can proceed to the next step any time after the syrup reaches 250°F and before it reaches 325°F.
    Remove caramel from the heat and stir in the vanilla. Pour into the prepared baking pan.
  4. While still warm, use a toothpick to pop any air bubbles that rise to the top. Allow cooling overnight.
  5. Use a thin knife or small offset spatula to loosen the caramel block from the pan. Transfer the block to a cutting board and cut into desired size and shape. Wrap individually in wax paper if desired.

Original recipe from I am Baker

Support Your Local Organic Farmer

Looking for fresh, organic herbs from a farm near you? The following directory is a list of recommended certified organic local herb growers with fewer than 40 acres in cultivation, sorted by region. I’ve always encouraged folks to buy fresh and to buy local, support your local economy. Take a look at the directory here and see if there is a local farm you can buy your herbs at.

Directory of Local Herb Farms

 

PowerShell: Retrieve All Sites With or Without Personal Sites (MySites)

I love using the pipeline in PowerShell.  Recently I was in a situation where, if a PS script what a one-liner I didn’t have to submit it through the review/approval/change management process.  Its amazing what you can do in PowerShell in a single line of code!

Retrieve all site collections, for all web applications in the current farm.

$oSites = Get-SPWebApplication | Get-SPSite -Limit All

That one is pretty simple and I’m sure you’ve done it a bazillion times.  Lets add a little more and return all site collections, for all web applications except personal sites!

$oSites = Get-SPWebApplication | Get-SPSite -Limit All | where {($_.RootWeb.WebTemplateId -ne 54) -and ($_.RootWeb.WebTemplateId -ne 21)}

The only thing I’ve added here is a where clause that excludes sites with a template ID of 54 (personal site host) and 21 (personal sites).

Mom’s Shortbread Cookies

I was very lucky to have a mom who was not only a great mom, but a great cook too!  I always enjoyed the holiday season because mom and the other wonderful cooks in our family tree broke out their mixers, cookie sheets and delicious recipes.

One of my all-time favorites was (and still is) my moms shortbread cookies.  The key to these 3-ingredient cookies being so delicious is, once cooked, layer them between napkins in a storage container for two weeks.  I know, that’s the hardest part; smelling them cook, looking at them when on the cooling rack then having to wait two weeks before you can eat one.  I must admit, my mom had to hide these from me but I did still find them and sneak a few!

The night before you decide to make these, make sure and take 2 sticks of butter out of the fridge and leave on the counter.  This recipe requires soft butter!

Ingredients

1 cup Butter (softened)
1/2 cup Brown Sugar
2 cups Flour

Directions

  1. Preheat oven to 275 degrees.
  2. Mix softened butter and brown sugar.
  3. Slowly sift in flour.
  4. Kneed for 15 minutes on a floured board.
  5. Roll out to 1/4″ thick.  If you find the dough sticking, either use a bit more flour or roll out between wax paper.
  6. Cut with cookie cutter.
    1. You can also cut into strips then into diamonds; this was Mom Mixon’s favorite way of making these.
  7. Sprinkle with colored sugar.
  8. Place on cookie sheet and cook for 30 minutes.

It is best to store these cookies for at least a week before eating them.  Store in a container in layers, separating each layer with a paper towel or napkin.

Wait, don’t sneak em!  I promise, the wait will be worth it!

And remember; Food is Love so Stay Hungry!

Country Style Pork Ribs

CountryStylePorkRibs

Found a great buy on Country Style Pork Ribs and its hard for to pass that up.  A great Country Style Pork Ribs is about 1 pount per rib with fat marbled throughout.  Its that fat that makes them taste so good.  I’ve always said, fat makes everything taste delicious.  So, if you were hoping for a light, low fat, meal; this one is not for you.  These are moist, fall off the bone tender, fatty morsels of deliciousness.

Country Style Short Ribs are big.  Often you will find them to be close to a pound each.  So you can plan on one (at the most two) ribs per person.  I usually account for one per person since I like to serve mine with roasted potatoes and homemade creamed corn.  Whats more country than that?  Makin’ me hungry!

So whats the key to making moist and tender Country Style Pork Ribs?  I’m glad you asked.  It’s actually quite simple.  Theres really only one thing to remember; Low and Slow!  Yep, that’s it; Low and Slow.  For the most part, I cooked my ribs today at 250 degrees for 5 hours.  Theres a little more to it than that but not much.

Just remember, if you try and cook Country Style Pork Ribs fast, it won’t work.  So cook them on a day you will be home all day.  I take mine out of the fridge around 9:30 to 10:00am in the morning, let them rest for an hour or so, prep them then cook them.  No baby sitting is necessary but I don’t like leaving the house when I have the oven on.

As I said above, take your ribs out in the morning; between 9:30 and 10:00am.  Let them rest for an hour before starting to work with them.  While you’re waiting, you can prep 2 yellow onions by cleaning and cutting in ti 3/8″ to 1/2″ thick slices.  This would also be a good time to clean and slice 4 large cloves of garlic.  This prepwork will come handly shortly.  Go ahead and finish your coffee now.

Preheat your oven to 250 degrees.

Grab your favorite cookie sheet and lay out a sheet of aluminum foil double the length of all those ribs.  The end result will be to completely wrap them.  I’m sure you can figure the rest out.

Skrinkle a little olive oil (not too much) on the foil then lay the sliced onion and garlic down.  This will be the bed for your ribs.  This will keep them from sitting in the rendered fat.  Use a liberal amount of salt and pepper on those ribs.  Remember, Country Style Pork Ribs are fatty so much of the salt and pepper will render off while cooking.  The next step is to pull that foil up and over the ribs.  Completely cover the ribs and seal the edges.

Popem’ in the oven and set your timer for 5 hours.  Pat yourself on the back for a job well done and get ready to savor the smell all day.

5 hours later (about 4:00 to 4:30pm, depending on when you put them in) pull the ribs from the oven.  I open the foil, release the steam.  Let them rest for a good 30 to 45 minutes.  If you still have a couple hours before you wish to serve dinner, that’s even better.  Carefully place your ribs on a plate cover with plastic wrap and store in the fridge.  Leaving the ribs in the fridge for an hour or two actually allows some of the fat to harden and will make it easier when you get to the grill with em.  And, in between all that removing from the oven and getting them in the fridge, don’t do it; slap your hand if you are tempted to take a little bite.  Just don’t do it.  Trust me, these will be so much better when we have finished.

It only going to take about 30 minutes on the grill.  So, when you are ready, get your grill prepared.  I prefer apple wood and charcoal for grilling these, but feel free to use whatever works best for you.

Grab your favorite BBQ Sauce, your ribs and head to the grill.  One word of caution, the rib meat will most likely start falling off the bone, so I use a stainless grill basket.  I place the ribs on the grill and immediately start slathering on the BBQ Sauce.  Turn them after 5 to 7 minutes and slather on more sauce.  Continue this process until that sauce has carmelized on all sides.  Try not to pass out with excitement while doing this; its happened to me and its no fun.

Server these with your favorite country sides.

Ingredients

1 to 2 per person Country Style Pork Ribs, about one pound each
2 large Yellow (or while) Onions
4 large Gloves Garlic
Salt and Pepper
Your Favorite BBQ Sauce

Let me know your thoughts!

Stay Hungry,

Bob

Jamaican Jerk Chicken

2015-10-29 19.01.57

The other night I had a craving for Jamaican Jerk Chicken.  I’ve made this recipe before and it’s so good, I just had to make it again.  However, this time I decided to share it with you.

Jerk Marinade

This marinade will make enough for 10 to 12 chicken thighs.  I always cook extra because its so good the next day (hot or cold).

Ingredients

1/2 cup Extra Virgin Olive Oil
1 tablespoon Allspice
1 teaspoon Ground cinnamon
1 teaspoon Ground nutmeg
1 whole Yellow (Spanish) or White Onion
1 whole head Garlic, finely chopped
1 (2”) piece Fresh Ginger
6 Scallions (sliced)
4 Limes (juiced)
2 tablespoons Low-sodium Soy Sauce
10 to 12 sprigs Fresh Thyme
1 (or 2) Scotch bonnet pepper (Test the heat!)
1/2 cup Packed light brown sugar

Directions

Mix all of the ingredients in your favorite food processor or blender.  Process/blend until a smooth consistency.  Divide the marinade in to 2 large Ziploc bags and place 4 to 5 pieces in each.  Place in the refrigerator for at lease 12 hours.  My preference is 24 hours; giving that delicious marinade a change to penetrate and tenderize the chicken.

I also flip the bags, in the refrigerator, a couple times; making sure the marinade has completely coated the chicken.

About 30 minutes before you wish to cook the chicken, take it out of the refrigerator and let it rest and come closer to room temperature.

2015-10-29 18.04.09

Grill is ready and so is the chicken!

I prefer a charcoal grill, I just love the smoky flavor I get from it.  However, you can grill these on either gas or charcoal.  I keep my grill around 300 degrees.  Place each piece of chicken on the grill, leaving at least 1” between them.  I cook the chicken for 30 to 45 minutes, flipping and rotating every 10 minutes.

2015-10-29 18.44.20

While your chicken is cooking, you can make a delicious Coconut Jasmine Rice!

Jasmine Rice

Ingredients

1 cup Jasmine Rice
1 1/2 cups Coconut Milk
1/2 cup Water
1/2 Yellow (Spanish) or White Onion (diced fine)
3 cloves Fresh Garlic (diced fine)

Directions

In a large pan, add a tablespoon of olive oil.  Turn your burner on medium and toss in the onions.  Let them cook for about 5 minutes.

2015-10-29 18.18.49

Add the garlic and cook for another 2 to 3 minutes; until soft and fragrant.

Move the onion and garlic to one side of the pan and pour the 1 cup of rice in the other side.  Stirring constantly, allow the rice to cook and blossom for 5 to 7 minutes.

2015-10-29 18.20.38

Now mix all of the ingredients together and add the coconut milk and water.  Turn the heat up to high and bring to a boil.  Stir constantly.

2015-10-29 18.24.05

Once the rice liquid is boiling, turn your burner to low (simmer), place a lid on the pan and leave it for 20 minutes.  The result will be light and fluffy Coconut Jasmine rice ~yum~.

2015-10-29 18.26.33

Conclusion

This is a simple, but very delicious, dinner.  I love this dish coming off the grill and left-overs the next day.  Now let’s eat.

Stay Hungry!

Kale, Sausage and Potato Soup

Rainy days and soup.  IMHO, that’s comfort food at its best.

Kale?  I always thought Kale was inedible and even rarely used as a garnish.  However, I remember my first experience eating Zuppa Toscana Soup at Olive Garden.  All of my previous thoughts about Kale went away.  That soup was amazing.  And served with their garlic sticks? ~oh my~

Yesterday we had some pretty torrential storms and there are more in our forecast for today.  So I thought I would make this soup with garlic crostini’s.

I hope you love it!

Ingredients

2 bunches fresh kale, torn into bite size pieces
2 pounds Italian sausage
3 pounds red potatoes, sliced thin
1 yellow onion, fine dice
3 cups chicken broth (I prefer low sodium so I can control the amount of salt)
2 cups whole milk
4 cups half-and-half
1/4 cup heavy cream
Sprigs fresh thyme
1 sprig fresh oregano (removed from stems)
1/2 teaspoon red pepper flakes (optional)  If you use a sweet Italian sausage, you may wish to add these.  I use a hot Italian sausage so this isn’t needed.
Salt and fresh ground pepper to taste

Directions

Tear the Kale in to bite size pieces and set aside.

Fill a pot with water, liberal amount of coarse kosher salt and sprigs of thyme.  Boil the sliced red potatoes for 10 minutes.  Drain and set aside.

2015-10-19 17.30.44In your favorite soup pot, remove the Italian sausage from the casing, break apart and brown.  If you find there is an excessive amount of fat, drain it off before adding the onion.  Now add the onion and cook for another 3 to 5 minutes.

2015-10-19 18.00.22Add the red pepper flakes (optional), oregano, chicken broth, whole milk and half-and-half.  Simmer, on low to medium, for 30 to 40 minutes.

2015-10-19 18.14.15(Note – while the soup is simmering, you can prepare your crostini’s)

Add sliced red potatoes, heavy cream and kale.  Simmer for another 10 to 15 minutes.  Serve and enjoy!

2015-10-19 18.54.32

 

Chicken Piccata, Jasmati Rice and Peas

Tonight I made Chicken Piccata, Jasmati Rice with Garlic and Shallot and Peas for dinner.  It turned out very good, so I thought I would share it with you.

2015-10-15 19.46.52

Chicken Piccata

Ingredients

3

Skinless and boneless chicken breasts, butterflied and then cut in half

Sea salt and freshly ground black pepper

All-purpose flour, for dredging

6 tablespoons

Unsalted butter

5 tablespoons

Extra-virgin olive oil

1/3 cup

Fresh lemon juice

1/2 cup

Chicken stock

1/4 cup

Brined capers, rinsed (optional)

1/3 cup

Fresh parsley, chopped

 

Directions
Butterfly the chicken breasts.  Cutting them in half will will allow you to pound them, with a meat tenderizer, to the desired 3/8″ thickness.

2015-10-15 18.49.382015-10-15 18.51.35

Now this is the fun part!  Using your meat tenderizer, pound the chicken to approximately 3/8″ thickness.

2015-10-15 18.56.44

Season chicken with salt and pepper and prepare the flour/spices dredge.

For my dredge I include Onion Powder, Garlic Powder and Paprika.  You can include cayenne pepper and season salt if you wish.  I like to keep it a bit simpler so it doesn’t mask the flavor of the chicken.

2015-10-15 19.02.17

Dredge chicken in your flour/spice mixture and shake off the excess.

2015-10-15 19.06.13
In a large skillet over medium high heat, melt 2 tablespoons of butter with 3 tablespoons olive oil.  When butter and oil start to sizzle, add 2 pieces of chicken and cook for 3 minutes.  When chicken is browned, flip and cook other side for 3 minutes.

2015-10-15 19.06.302015-10-15 19.09.44Yum!  It looks delicious just like this.  But, I’ll be patient and wait for the sauce.

Rosie decided to join me in all the wonderful smells.

2015-10-15 19.33.43
Remove and transfer to plate.  Melt 2 more tablespoons butter and add another 2 tablespoons olive oil.  When butter and oil start to sizzle, add the other 2 pieces of chicken and brown both sides in same manner.  Repeat this with the last 2 pieces of chicken.

2015-10-15 19.26.51
Into the pan add the lemon juice, stock and capers.  For this meal, I left out the capers.  I just didn’t have any in my pantry; but I do recommend using them if you can!

2015-10-15 19.29.07Return to stove and bring to boil, scraping up brown bits from the pan for extra flavor.

2015-10-15 19.34.11
Check for seasoning. Return all the chicken to the pan and simmer for 5 minutes.

2015-10-15 19.37.20
Remove chicken to a platter.  Add remaining 2 tablespoons butter to sauce and whisk vigorously.

Plate the chicken, pour sauce over chicken and garnish with parsley.

Jasmati Rice

The Jasmati Rice is super simple.  I kick it up a notch by saute’ a finely diced shallot and 1 garlic clove.  Once your shallot and garlic are ready, add 1 cup of Jasmati Rice.  Allow the rice to cook for 3 to 5 minutes.  This allows the rice to blossom and elevate that nutty flavor.

2015-10-15 19.07.09

Add 2 cups water and a pinch of salt, then bring to a boil.  Turn your burner down to simmer, cover the rice and cook for 20 minutes.  When done, remove from burner and allow the rice to rest for 10 minutes.

2015-10-15 19.37.03

Delicious!

Plate the chicken, rice and peas.  Top the chicken with sauce and enjoy!

2015-10-15 19.46.52

Debugging SharePoint Issues and ULS Log Files

I often see administrators and developers new to SharePoint find debugging difficult and complex.

When working with SharePoint, log files are your friend.  In large on-premise farms, locating issues within large log files can be time consuming and sometimes difficult.

When I am presented with an error that contains a correlation ID, I first resort to PowerShell instead of a ULS Viewer.

Two PowerShell cmdlets that are your friend are: Get-SPLogEvent and Merge-SPLogFile.

Before you can use these cmdlets in your PowerShell scripts, make sure to load the SharePoint PowerShell snapin.

if((Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null)
{
    Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
}

Get-SPLogEvent

The Get-SPLogEvent cmdlet will retrieve specific events from a ULS Log File.  For example, the following call will retrieve all entries that occurred during a specified time range:

Get-SPLogEvent -StartTime "12/04/2007 17:00" -EndTime "12/04/2007 18:00"

If you wish to retrieve ULS entries associated with a specific correlation ID, you can use the following:

Get-SPLogEvent | ? {$_.Correlation -eq "<Correlation ID>"} | Select Area, Category, Level, EventID, Message

Where <Correlation ID> is the id you wish to filter.

If you wish to display the results in a nicely formatted list, add Format-List:

Get-SPLogEvent | ? {$_.Correlation -eq "<Correlation ID>"} | Select Area, Category, Level, EventID, Message | Format-List

Be patient when running the Get-SPLogEvent cmdlet as it can take quite a long time to traverse through all the ULS log files.

I have a diagnostics PowerShell library that contains many functions that simplify diagnosing issues, writing log files, etc.  One of the functions in this library is my Get-SPLogEventByCorrelationID.  Which simply calls the Get-SPLogEvent cmdlet and filters the results by a specified correlation ID.

function Get-SPLogEventByCorrelationID
{
    [CmdletBinding()]
    Param([Parameter(Mandatory=$true)]
        [string]$CorrelationID
    )
    $logEntries = Get-SPLogEvent | ? {$_.Correlation -eq $CorrelationID} | Select Area, Category, Level, EventID, Message
    return($logEntries)
}

For more information on using the Get-SPLogEvent cmdlet, see the following:

Merge-SPLogFile

The Merge-SPLogFile cmdlet combines ULS log entries, from all servers in a SharePoint farm, to a single (specified) log file.

The following example will merge all ULS log files for the last hour:

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite

If you wish to merge all ULS log events for a specific correlation ID, you can use the following call:

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Correlation "<Correlation ID>" -Overwrite

Where <Correlation ID> is the id you wish to filter.

As with the Get-SPLogFile, I have included some common functions in my diagnostics library.  One that I use on a regular basis is Merge-SPLogFileByCorrelationID

function Merge-SPLogFileByCorrelationID
{
    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$true)]
            [string]$CorrelationID,
        [Parameter(Mandatory=$false)]
            [bool]$Overwrite=$false,
        [Parameter(Mandatory=$false)]
            [int]$LeadingSpaceCount=0
)

    $ls = "".PadRight($LeadingSpaceCount," ")
    $diagConfig = Get-SPDiagnosticConfig
    $ulsLogLocation = $diagConfig.LogLocation + "\MergeLog-Correlation (" + $CorrelationID + ").log"
    Write-Verbose ([string]::Format("$ls- Writing merged logs to file [{0}].", $ulsLogLocation))
    if($Overwrite)
    {
        Merge-SPLogFile -Path $ulsLogLocation -Correlation $CorrelationID -Overwrite
    }
    else
    {
        Merge-SPLogFile -Path $ulsLogLocation -Correlation $CorrelationID
    }
}

Other References

Conclusion

With a little knowledge and tools, you can become efficient at debugging issues in SharePoint.  If you would like a copy of my diagnostic script, please contact me; I will be happy to send it to you.

Happy SharePointing!

Perfect Breakfast Potatoes

I was eating brunch at a restaurant, in Fresno, this last week and breakfast potatoes that were hard and seemed undone.  If you have ever had this problem with your potatoes, here is a guide for making the perfect potatoes.

This technique doesn’t have to be just for breakfast potatoes, I use it for scalloped potatoes, au gratin potatoes and for many other recipes.

The primary key is to boil your potatoes first.  Which leads me to another (related) topic.

Water for Boiling

Many home cooks don’t realize the flavor you can incorporate in to foods when boiling.  There aren’t many vegetables I boil, but when I do, I always season my water.  Yes, that’s right; season the water.  At a minimum, always include salt in your water.

When I am parboiling potatoes, I include Thyme, Rosemary, Garlic and Onion.

I will dice 1/2 a yellow (Spanish) onion and 4 garlic cloves.  For boiling water, I use dry Thyme and Rosemary.

2015-07-25 10.31.18

Remember, you can use any spices and herbs you wish to impart in to the food you are boiling.

2015-07-25 10.31.26

Potatoes

I usually boil potatoes for 15 to 20 minutes allowing them to get soft but still firm.  Remember we are parboiling them.

Once complete, immediately transfer them to a colander and allow them to drain.  Don’t rinse them as this would make them soggy and remove the dry spices/herbs you added to the water.

I prepare my frying pan with about 1 tbsp butter and 2 tbsp peanut oil.  For this application, peanut oil or avocado oil is best because they have a higher smoke point.  If you want a nice crisp on your potatoes, which is my favorite, avoid olive oil as it has a very low smoke/burn point.

Bring the oil to a high heat.  You want to see the oil/butter glisten.  Then toss in the potatoes.

2015-07-25 10.46.05

Notice all of the herbs still on the potatoes?  ~yum~

Add a liberal amount of salt and allow the potatoes to become crispy.  Don’t add pepper yet.  Did you know that pepper will burn and become bitter?

In a saute pan, cook the other half yellow onion and another 2 (finely chopped) garlic cloves.

At this point you can also saute red and green bell peppers if you wish.  In addition, feel free to experiment; cook some fresh chorizo, linguica, bacon, ham, pancetta, or anything else you would like with your potatoes.

Once your potatoes are nice a brown, add the saute onion and garlic, toss to incorporate.

2015-07-25 10.58.52

At this point, your dog(s) may join you in the kitchen, begging for a nibble!

2015-07-25 10.58.59

Potatoes aren’t difficult to cook at all.  The key is a few simple techniques and the result will be crispy on the outside, delicious and tender on the inside morsels of yummy potatoes.

Serve them with an omelet and you have a perfect breakfast.

2015-07-25 11.04.52

Until next time!