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!