Colorado Green Chili

Green Chili (AKA Chili Verde) is probably second only to Coors Beer as the ubiquitous food of the state of Colorado.  Never mind that Colorado means red colored.  In Colorado, green is king.  It is the perfect meal for a cold rainy (or to be more authentic: snowy) day.  I may have moved west of the Rockies, but I still have Green Chili in the blood.

Prep time: 1 hour

Cook time: 3 hours


4-6 Green Chili Peppers — I’ve used both Anaheim, Poblano or Ancho Chili peppers.  Poblanos are hotter, but I’m limited to what I can get at the supermarket.  Anaheim peppers are bigger so I use 4.

10 medium (2in) Tomatillos — If you can’t get tomatillos, tomatoes work.  Your green chili just won’t be green.  Many people make chili verde with tomatoes.

1 medium yellow onion — diced

1 head of garlic, minced — go big or go home.

2lbs Pork roast — Pork shoulder tastes best but has the most fat.  I’ve had good luck with pork loin.

1 cup fresh cilantro, diced —  If fresh cilantro isn’t available, double up on the ground coriander.

1 Green Pepper, diced

0-2 Jalapeños — if you don’t like spice, go with 0.  If you are a fire-breather, go for 2 or upgrade to serranos.   I put in 1.5.

1 Quart chicken broth

1 Tbs ground cumin

2 tsp ground coriander

1 tsp cinnamon

1 tsp oregano

2 Tbs brown sugar

salt and pepper

2 Tbs olive oil

Optional Ingredients

1 Can white kidney beans — beans aren’t authentic to chili verde, but I like them anyway.

1 Denver Broncos football game — preferably when winning.

1+ Bottle of Coors or Fat TIre, for the chef — Any beer is acceptable as long as it isn’t Yuengling

1. Roast and skin the green chilies

It is best to roast your green chilies on the BBQ grill, but that isn’t often a possibility during green chili season.  Here is an alternative

  1. Turn on the oven broiler and let it preheat.
  2. Cut in a circle around the stem of the pepper.  If done right, you can pull out the stem and 90% of the seeds at once.
  3. Half or quarter the chilies.  The goal is to get them to lay as flat as possible.  You may be able to smash them down flat.
  4. Lay down a layer of aluminum foil on a large cookie sheet.
  5. Lay out the chilies so they don’t overlap
  6. Place the whole thing 6-10 in from the broiler
  7. Broil until most of the chili skin is blackened and starting to bubble off, then remove the chilies from the oven.
  8. Fold the aluminum foil over on itself making an airtight package and sealing the chillies inside.  The steam will help loosen the skins even more.
  9. Don’t touch until they are cool enough to handle
  10. We will return to the chilies after the rest of the prep work.

2. Cut the pork roast into bite-sized cubes.  Liberally salt and pepper the cubes.

3. Prep the rest of the vegetables

  1. Dice the onion and put in a bowl.
  2. Smash and mince the garlic and put in a bowl
  3. Dice and de-seed the jalapeños.
  4. Dice the green pepper and mix with the jalapeños in a bowl.

4. Prepare the tomatillos and cilantro

  1. Remove the husks from the tomatillos.
  2. Half them and put in a blender
  3. Rince and cut the bottom half of the stems off of approximately 1/2 bunch of cilantro.  You should have about a cup of the leafy part left.  Toss that in the blender
  4. Add about 1 cup of chicken broth to the blender.
  5. Blend for a few seconds until smooth.

5. Skin the Chilies

The chilies should be cool enough to handle now.  Open the aluminum foil packet.  The skins should be almost falling off the chillies.  They will peal off in sheets.  Get off as much of the chili skin as possible.  You don’t have to get all of the skin off.  Just try to get most of it off.

Dice the skinned chilies and set aside.

6. Start frying

  1. Heat 2 Tbs of olive oil in a very large skillet over high heat
  2. Get out a Dutch oven or large stewpot and set aside.
  3. Dump in the diced pork into the skillet.
  4. Brown the pork stirring occasionally.
  5. Once all of the pork is browned — not necessarily completely cooked — poor in a bowl and set aside.  Try to keep the oil and drippings in the skillet.
  6. Lower the heat to medium.  Sweat the onions until clear
  7. Lower the heat again.  Add the garlic.
  8. Once the garlic is brown, dump the whole thing into your Dutch oven or stewpot.
  9. Deglaze the skillet with some chicken broth then pour it in with the onions and garlic.

7. Put it all together

Dump the pork and all of the remaining vegetables into the pot.  Pour in enough chicken broth that everything is mostly submerged.  Add all spices and stir to combine.  Turn up the heat until the mixture is simmering.  Make sure to stir regularly.  You don’t want this to burn to the bottom.  Turn down the heat to low and cover.

8.  Wait for 2-3 hours.

After 2-3 hours, the pork should be nice and soft.  All of the vegetables should have cooked down.  Add the beans (if you want beans) and stir to combine.

You’re done.  Add salt to taste (I had to add 2tsp).  If the chili tastes too acidic, try adding a little brown sugar.

Serving suggestions

Serve in a bowl with flour tortillas

Serve over fried eggs for breakfast

Serve over ‘smothered’ burritos


Schedule A Task In Windows 8 (the easy way)

Open the Task Scheduler Snapin with Administrator Privileges

  1. Hold down the Windows Key and hit R
  2. Type ‘mmc’ in the open field and hit okay
  3. Click ‘yes’ on the User Account Control security prompt
  4. Click File > Add/Remove Snap-in
  5. Scroll to the bottom of the list of available snap-ins.
  6. Click Task Schedule then click Add
  7. Choose local computer and hit OK
  8. Hit OK again
  9. Click Task Scheduler (Local) in the left-side snap-in tree.

Now you can either click ‘Create Basic Task’ or ‘Create Task’ under the right side ‘Actions’ menu

Create Basic Task: Gives you a wizard which is easiest if you are less of a power user or want to be walked through the process.

Create Task: Gives you more advanced options and doesn’t hold your hand through the process.

Here is the end of the Basic Task Process:

Schedule PowerShell Task

Powershell scripts can’t be automatically executed by Tasks alone.  They have to be executed by powershell.exe with arguments which run the script.

  1. Open the ‘Action’ tab of the task
  2. Click ‘Edit’
  3. Type powershell as the Program/Script (yes it does say script but don’t actually put a script there.)
  4. for the arguments, type (including quotes) -command “& C:\path\to\script.ps1” NOTE: I’m having trouble if there are spaces in the script path. The normal tricks aren’t working.  Best to avoid spaces altogether.
  5. Click okay

Expire Task Automatically

If you want the task to expire automatically — I do because I don’t want this thing to run forever — Make sure ‘open the properties dialog’ checkbox is checked from the wizard.  Then click finish

If you went the advanced route, start here:

  1. Click the triggers tab
  2. Click the first trigger in the list (ie the one which says how often your task runs) There should only be one.  Mine says weekly.
  3. Check the box next to expire
  4. Set the time/date
  5. Click OK

Check on the task

  1. To check on your task, perform steps 1-8 to open the task scheduler
  2. Expand the tree under task scheduler — click the arrow to the left of ‘Task Scheduler (Local)’
  3. Click Task Scheduler Library
  4. Click the ‘History’ tab below
  5. You’re looking for a line which says ‘Action completed’

Sinus Surgery Cost

How much did it cost?

Billed to Insurance: $32,012.21

Cost after Insurance’s negotiated rate: $9,130.04

Price I paid: $(significantly significantly less than that)

This doesn’t include any of the pre-op, or post-op visits.

Thank you Primera BCBS!

How to automatically update TFS workitems from the command line

A lot of my life is lived according to bugs filed on a Team Foundation Server somewhere.  One of my particular projects of late has been requiring weekly updates to a number of TFS workitems.  I guess they want to make sure we’re still paying attention to them.

I set out to find a solution where I could automatically bulk update my work items at the click of the button.  Stretch goal: I wanted to have this happen automatically without any interaction.

Step 1: download TFS Powertools from: (make sure you get the version which matches your copy of Visual Studio

Command line tool documentation is located at: C:\Program Files (x86)\Microsoft Team Foundation Server 2012 Power Tools\Help\TFPTCommandLineTool.mht

NOTE: I will write this assuming you are using VS 2012.  Assume the path to other versions will be different.

Step 2: Make sure your connection to TFS is configured.

cd "C:\Program Files (x86)\Microsoft Team Foundation Server 2012 Power Tools"
.\TFPT.exe connections

Verify that the correct TFS server is listed.

If the correct version of TFS is not configured:

  1. Open Visual Studio (2012)
  2. Click Team > Connect To Team Foundation Server
  3. Click Servers
  4. Click Add
  5. Configure the server

Step 3:

Create a query for the items you want to update.

The cron script will automatically update anything from a particular query.  You could just as easy specify work item IDs on the command line instead of using a query.  I decided against that because I wanted the flexibility to change the work items which get edited without having to change my code.

  1. Navigate to your TFS server in the browser (you could do this from Visual Studio Too)
  2. Click New > Query
  3. Build the query you want
  4. Save the query and make note of the location.
    In this case: Shiproom/My Queries/WeeklyAutoUpdate

NOTE: this query should actually say Changed Date < @Today – 6.  Not =.

Note that the last line is searching for @Today – 6.  I did that so that any work item I’ve updated within the last week isn’t touched by this query.

Step 4:

Verify that you are getting the correct work items IDs on the command line:  (replace http://tfsserver:8080/tfs with the server’s URL and the query name with your full query path)

PS C:\...> .\TFPT.exe query /collection:http://tfsserver:
8080/tfs /format:id "Shiproom/My Queries/WeeklyAutoUpdate"
PS C:\...>

Step 5:

Try editing an item through the command line.

Replace 942 with one of your work item IDs and once again replace http://tfsserver:8080/tfs with your server’s URL.

PS ...> .\TFPT.exe workitem /collection:http://tfsserver:8080/tfs /update 942 /fields:"History=."
Work item 942 updated.

Check to make sure your work item was updated.  It should now show a new entry in the history which merely contains a period.

Step 6:

Put it all together into a nice PowerShell script

$SERVER = "http://server:port/path" #Full URL to the server
$QUERY = "PATH/My Queries/QueryName" #Query of items to update
$UPDATECMD = '/fields:"History=."' #Command you want to run against them
$TFSPTPATH = "C:\Program Files (x86)\Microsoft Team Foundation Server 2012 Power Tools"

Set-Location $TFSPTPATH

$idlist = .\TFPT.exe query /collection:$SERVER /format:id $QUERY

#could avoid the loop and send all IDs at once
foreach($id in $idlist)
    $result = .\TFPT.exe workitem /collection:$SERVER /update $id $UPDATECMD
    Write-Host $result

pause  #remove this to run without an end prompt

I chose to nest the work item update in a for loop.  This isn’t necessary.  TFPT will take a list of work item IDs and perform the same operation on all of them.  I general feel safer when I wrap something like that in my own loop.  That way one failure doesn’t necessarily kill everything.  Additionally, you get instant progress if there are a large number of workitems which must be updated.

The program as it is above has a call to pause on the last line.  If you want to run this as a scheduled task, that line should be commented out.

Step 7:

Add this to a scheduled task so that you aren’t bothered to remember your bugs.


Thanks to:

This guy: for giving me a lot of the concept.