Country Style Pork Ribs


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.


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,


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).


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


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


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)


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


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!


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


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



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


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


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


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
    $logEntries = Get-SPLogEvent | ? {$_.Correlation -eq $CorrelationID} | Select Area, Category, Level, EventID, Message

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


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

    $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))
        Merge-SPLogFile -Path $ulsLogLocation -Correlation $CorrelationID -Overwrite
        Merge-SPLogFile -Path $ulsLogLocation -Correlation $CorrelationID

Other References


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


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!

AutoSPInstaller: SharePoint 2013 March 10, 2015 CU (KB2956166)

The AutoSPInstaller tool is not something I’ve written about in the past.  I’m not sure why because its a fantastic tool and I use it on a regular basis.  In general, it is a PowerShell based SharePoint installation tool.  If you are unfamiliar with it, I do recommend you take a look at it here.

I use AutoSPInstaller to build SharePoint farms including the creation of web applications, site collections, installation of PU’s and CU’s, etc.  The beauty of using a scripted approach is its consistent.  If your farm ever burns to the ground, its a way to rebuild it just as it was.

I recently used AutoSPInstaller to build a SharePoint 2013 farm for a client.  We then made the decision to install SharePoint 2013 March 10, 2015 CU.  As with all farm-level modifications I make, I added this CU to the AutoSPInstaller updates directory then ran the installer again.  It ran the CU, psconfig and ensured the farm was in an operational state.  It worked flawlessly!

To accomplish this, download the (3) SharePoint 2013 March 10, 2015 CU installation files from the Microsoft site and place them in the SP\AutoSPInstaller\2013\Updates directory.  You then run the launch script again, on all servers, and the cumulative update will be installed for you.  In addition, the script will run psconfig; so you don’t need to do than manually!

Split Pea Soup

There have been a few times in my life when I ask “where have you been all my life?”.  Okay, okay its happened more than once.  But my point is, why do I wait so long before I make this soup?  Sure, I live in Arizona now, and its hot; but who cares?  Peas and ham make a perfect relationship; and I’m always looking for a new relationship…

Today’s relationship is about peas and ham… ~yummm~

So here it is…

When you decide to make this, sit outside, relax and enjoy!


16oz Pachage Your favorite Dried Split Peas
Whatever you do, don’t use cheap split peas!
4 cups Water
3 Large Russet Potatoes
Peeled and cubed
2 Large Yellow Onions
Small dice
2 Carrots
Fine dice
4 cups Ham
Yes, include the ham bone too!
1/2 cup Diced celery
4 cups Chicken broth
1 teaspoon Dried marjoram
1 teaspoon Poultry seasoning
1 teaspoon Dried sage
1 teaspoon Fresh cracked pepper
1/2 teaspoon Dried basil
1/2 teaspoon Salt


I know, your split pea package says, no soaking necessary.  I don’t buy it.  I soak them for about 4 hours before I do anything with them.  Makes them nice and tender.

Combine all ingredients in a large pot.  Bring to a boil.  Once you have it boiling, turn the heat down to a low simmer.  Let simmer, stirring every now and then, for 2 hours.


Evolution of SharePoint

Interesting article, from Julia White, general manager for the Office Product Management team, about the Evolution of SharePoint.  Exciting times ahead!

Excerpt from Intro:

“In the conversations I have with customers and partners, I’m often asked how SharePoint will evolve in Office 365, and what the future holds for SharePoint on-premises. As we move into 2015, continue to roll out new innovation within Office 365, and get closer to the next on-premises server release, I wanted to take this time to provide full context about the road ahead.

When we started this journey, SharePoint began as a content collaboration solution focused on team sites. As the product evolved, we added new experiences such as portals, search, business intelligence (BI) and enterprise content management (ECM). Across all of these experiences, SharePoint offers a consistent management layer providing control to customers. We also made SharePoint an extensible platform, allowing customers and partners to enhance the out-of-box experiences. Experiences, management and extensibility became the core aspects of what people love about SharePoint. As we move SharePoint forward, these three aspects continue to remain central—both within the server and across Office 365.

The cloud enables us to bring the experiences, management and extensibility together across not just SharePoint, but all of the Office technologies. We can finally break down individual product installations into a cohesive productivity solution, enabling holistic capabilities that provide greater value to customers and partners. The cloud also allows us to rapidly innovate and deliver new experiences faster than ever before. At the same time, we’re building collaboration, mobility and machine learning capabilities right into all of the Office experiences, enabling a generational transformation in the way people work.”

Good read if you are interested in learning more about the future of SharePoint and Office 365.

Lightning Conductor 2013 and Aggregating Form Library Content

I have been working with the new Lightning Conductor 2013 content roll-up web part recently, specifically the new custom column abilities. This web part allows you to add a custom column to a view and it can contain any jscript and CSOM. This opens up a new world of possibilities.

If you are unfamiliar with the Lightning Conductor 2013 roll-up web part, I highly recommend getting familiar with it. Lightning Tools has versions for both on-premise and Office 365 environments.
For more information on The Lightning Conductor 2013 product, please click here.

As I was saying above, you can create a custom column and include any jscript and/or CSOM calls. Today, I ran in to a situation where we were aggregating content from a form library. As you may be aware, there isn’t a Title column present on the Form content type, so you need to include the Name field if you wish the file name displayed. The problem with this is the file name contains the .xml extension; and my client didn’t want that displayed.

This is where the Lightning Conductor 2013 custom field came in to play. I simply created a new custom field, named FormattedTitle, and included the following:

[FileLeafRef].Substring(0,[FileLeafRef].Length – 4)

Worked like a charm!

I’ll be writing more about this web part, especially how the jscript and CSOM custom column can be extended to related data in, etc.

If you are interested in purchasing the Lightning Conductor 2013 web part, please contact CollectiveKnowledge Solutions.

Senior SharePoint Architect, Author, Trainer, Pilot, Chief and Father