Butter Cauliflower Curry

Butter Cauliflower Curry

Ingredients

Tomato sauce
  • 2 tablespoons olive oil
  • A slice of onion (minced)
  • 2 cloves garlic (minced)
  • 4 tomatoes (diced)
  • Some salt and pepper
Rice
  • 2 cups rice
  • 2 cup water for pressure cooker or 4 cups water for stove
  • few shakes of corriander seeds
  • few shakes of crushed bay leaves
  • 1 tablespoon olive oil
Curry Sauce
  • 3 tablespoons butter
  • 3 cloves garlic (minced)
  • 1/2 onion (diced)
  • 1 tablespoon ginger (minced)
  • 2 teaspoons garam masala
  • 1 teaspoon chili powder
  • 1 teaspoon ground cumin
  • 1/4 cup tomato paste
  • tomato sauce listed above (or a 15-ounce can)
  • 2 cups vegetable broth (mulitply the powder 1.5 times)
  • salt and pepper
  • 21oz of cauliflower (roughly a head) (cut into florets)
  • 1 cup of oat milk/coconut and almond creamer (condensed to half in size)
  • few shakes of parsley
  • [optional]

Instructions

  1. Starting with the tomato sauce (skip this step if you are using a can of sauce). In a medium sized pot on medium-high heat olive oil. When warm, add the onions and garlic. After onions are translucent, add the tomatoes. Increase heat to high. Stiring on occasion, continue to cook until the sauce breaks down and reduces in size to about 15 ozs. While the tomatoes are cooking, prepare the rest of the vegetables.
  2. Prepare the rice adding all ingredients together. I used a pressure cooker, so I waited towards the end, but if you’re cooking on the stove you will likely want to start sooner rather than later.
  3. In a large pot or soup cauldron on medium-high, add in butter. When warm, add garlic and onions. Cook till translucent.
  4. Add ginger, garam masala, chili powder, cumin and tomato paste. Cook for about a minute. Then add tomato sauce, vegetable broth, salt and pepper to taste. Bring to boil.
  5. In a pot (I reused the tomato sauce pot) on high add in milk and coconut/almond milk creamer. Cook till reduced to size.
  6. Stir in cauliflower and reduce heat to medium-low, then cover. Cook till cauliflower is tender ( about 10 minutes).
  7. Stir in the milk/creamer, then add the parsley.
  8. Serve with the rice, and if you have it, naan!

Inspiration

I had this recipe saved for a while. I just have not made it until yesterday! I took some liberties, made my own tomato sauce, and used oat milk with some coconut and almond creamer for a heavy whipping cream substitute. I did not have vegetable stock so I used broth and lastly parsley instead of cilantro.

Closing

It has been a looooooooong while, but I just had to post it as this is by far the BEST curry I have ever made. I mean, I said that in other curry posts, too, but this one takes the cake. It was fantastic. I will definitely need to make this one again! I did not make the naan homemade this time, but I had some in the fridge from the store. I did butter it and added a little garlic powder and parsley before cooking it in the the toaster oven for a few minutes.

Well, that is all, happy cooking!

git - yet another flow

Another Git Flow

Since the title of this article starts with the word ‘git’ my team’s source control solution is git.

I wanted to make a post about what we do on my team for a while. It’s been in response to this relatively recent post. With my team, we do not use “GitFlow”, however we do follow a flow and pattern.

Branch Arrangement

We have a CI/CD (Continuous Integration/Continous Deployment) arrangement. I can go more into that detail at another time. However, that pretty much sets the stage that we have a main line branch, in our case, master. All Feature and past Release branches are created off of master.

master contains all known history on the application’s life and branches. When we make a Sprint-End Release we will tag the release number on the commit.

Feature branches are traditionally short running branches that contain the new set of features to complete a work requirement or “story.”

Release branches are long running branches that are theoretically not temporary.

Feature Branches

While developing the developer can commit as many times as they would like and push up their changes to their remote (in our case origin). When the work is complete, a PR (Pull Request) is created and is up for review to be merged into master. After the review is complete the branch is Squash Merged. We do not need all of that developer commit history and it will clutter up the branch history. It makes traversing history very easy to find the culprit of an issue in the event there is one (such as using bisect). If necessary, create multiple Pull Requests to keep your commits small.

  • rebase frequently off your target branch.
  • refrain from using a merge as we prefer fast-forward merges, with the exception of the PR.

Release Branches

We have a GA (General Availability) release about 3-4 times a year. Before we increment the version number off the master branch we will create a Release branch. Any future “hotfixes” will run off this branch. In the event of a hotfix, the Release branch acts as a “master” branch. The Feature branch will be created off of Release and a PR will be made to the Release as a squash merge. When testing has vetted the changes and we are ready for a release we will merge back to master.

  • merge Release into master and tag the HEAD commit on the Release branch.
    • Since the Release branch is a long-running branch this is ideally the only time a merge is necessary.
  • DO NOT rebase the Release branch off of master if the latter branch has already been incremented.
  • Ideally, DO NOT make a change in master first and then cherry-pick it to the Release branch. You will have conflicts in the event you ever need to merge back to master because you will then have a copy of a commit already in master which will be hard to track.

Long Running Feature Branches

There comes a time when you might want to have a longer running Feature Branch that you will want to have periodic review and custom builds on without the worry of it heading into master. In this case, you will treat this Feature Branch as a “master” and create sub-feature branches off this branch.

  • PR the sub-feature branch into this branch.
  • Periodically, you will rebase this branch off of master, but ideally only when there are no sub-feature branches present.
    • If there are sub-feature branches still uncommitted to this, extra care will need to reset said sub-feature branch and cherry-pick range the commits from which have been a WIP (work-in-progress). Essentially performing one’s own rebase since the typical way will not be possible (the source branch history changes).
  • When the Long Running Feature Branch has run its course or is ready for an incremental inclusion to master perform a rebase of the Long Running Feature Branch and fast-forward merge back into master.
    • At this point you can either remove the Long Runnning Branch or continue more work.
  • Long running Feature Branches requires very good communication with the team working on this branch.

Closing

That is really it. The process is relatively easy to handle and easy to read and follow through an entire application’s lifecycle. If your team does not have need for a Long Running Feature branch, do not feel to use that flow, but it can be handy for a sub-team to work on a feature that may cause many breaking changes throughout the application. Naturally, it will require your team to have some discipline on making some good choices when problems arise, but otherwise a tried and true method. We have been following this flow for about 3 years with very little hitch.

Mushroom Chickpea Stroganoff

Mushroom Chickpea Stroganoff

Ingredients

  • 1 cup of rice or pasta
  • 3 tablespoons olive oil
  • 1 tablespoon butter
  • 4 mushrooms (sliced)
  • 1/2 onion (thinly sliced)
  • 2 cloves garlic (finely chopped)
  • 15oz can chickpeas (separate chickpeas from liquid)
  • 1 teaspoon ‘Better Than Bouillon Vegetable Broth’
  • 1 tablespoon Dijon mustard
  • 1/2 cup coconut buttermilk (use half tablespoon lemon juice)

Instructions

  1. Prepare rice or pasta.
  2. In frypan add olive oil and butter on medium-high. When warm add onions, cook until lightly brown.
  3. Add mushrooms, garlic, and chickpeas sans liquid (set aside) then cover. Cook for 6 minutes.
  4. Mix the bouillon and chickpeas liquid and add to the frypan. Cook until it starts to thicken, uncovered.
  5. In a small pot cook the coconut buttermilk on high till it thickens.
  6. Add the buttermilk and mustard to the frypan and continue to cook until it thickens.
  7. Serve over rice of pasta.

Inspiration

I started with this. Original did not include a protein, so I added chickpeas. It also called for a lot more mushrooms. I did not have anymore to add, so I only used half the onion.

Closing

This is not the first time I made this, but it is the best it has ever turned out. It was the first time that I used coconut milk. I really liked it.

Growing up we had stroganoff all the time, though that recipe was usually with beef and sometimes chicken, it also included water chestnuts. We interchanged between rice and pasta. Rice is a healthier choice. I liked the rice.

I would double this the next time– I just need more mushrooms!

Lentil-Barley Curry with Carrots and Potatoes

Lentil-Barley Curry with Carrots and Potatoes

Ingredients

  • 1 tablespoon olive oil
  • 1/2 cup green lentils
  • 1 tablespoon barley
  • 3 1/2 cups water
  • 1 tablespoon canola oil
  • 1/2 teaspoon chili powder
  • 1/2 large onion (finely chopped)
  • 2 cloves garlic (chopped)
  • 1/2 teaspoon all-spice
  • [optional] A few shakes of cayenne pepper
  • 2 carrots (chopped in large pieces)
  • 1-2 potatoes (chopped)
  • 1 1/2 tablepoons curry powder
  • 1 tablespoon tomato paste
  • 2 cups vegetable broth

Instructions

  1. In a medium pot on high, add olive oil, lentils, barley, and water. Bring to a boil and reduce heat to medium and cook for 10-20 minutes until tender.
  2. While the lentils and barley are cooking. Prepare the vegetables.
  3. In a large pot, on high, heat canola oil. When warm, add onions, garlic, and all-spice. Cook for 5 minutes.
  4. Add in carrots, potatoes and curry powder (optionally cayenne pepper) to the onion and garlic, sauté for a minute. Add in tomato paste and lentil-barly then add in broth and cook for 20 minutes.
  5. Serve with rice (and if you’re looking to spritz it up a bit add a few shakes of coriander while it cooks).

Inspiration

I was cooking basmati rice and I wanted to have a curry with it. So I did a cursory look for something “quick.” I came across this beef curry recipe that I wanted to make vegetarian. I also used all-spice instead of ginger because some how I lost my root. I was rather distraught over it, because I am never in a house with out some ginger!

Closing

This might be the best curry I have ever made, despite not having ginger. It helps to have the right rice for the texture that you might be looking for. For another recipe, a few months ago, I made my own curry powder (I never recorded it) and used it for this. The original recipe suggested using coriander, and I added it to the rice which really added some texture and flavour. I found that the [Better Than Bouillon] vegetable broth has a more “beef” flavour, and I chose that to follow in spirit of the original.

Anyway, it’s been a while since I made a post, and this is what pulled me out there to do it!

Give this a try!

Original Vegetarian Chili

Original Vegetarian Chili

Ingredients

  • 2 tablespoons olive oil
  • 1/2 teaspoon chili powder
  • 1/4 onion (chopped)
  • 2 cloves garlic (finely chopped)
  • 1/2 bell pepper (chopped)
  • 2 tablespoons green lentils
  • 2 tablespoons barley
  • 1/2-1 teaspoon salt
  • liberal use of crushed pepper corn
  • 4 tomatoes (quartered)
  • 1 15oz can of red beans (drained)
  • A few shakes of crushed parsley

Instructions

  1. In a medium-large pot, on medium high, add olive oil and chili powder. When warm add onions and garlic. Cook for 2 minutes.
  2. Add bell pepper, continue cooking for an additional 4-5 minutes.
  3. Add lentils, barley, salt and pepper. Cook for a minute.
  4. Add tomatoes and cook for 5 minutes, stirring occasionally.
  5. Reduce heat to medium-low, stir in beans and parsley then cover. Cook for 45-60 minutes, stirring as needed.
  6. Serve or let it simmer longer!

Closing

I made this recipe on a cold day last week, and I was amazed at how well it turned out. I did not record or take a picture of it, so I had to make it again! Glad I did, because it was good the second time, too! Albeit I added a little less salt the second time around and you may want to add to taste.

It is funny, this tastes and has much of the texture I was looking for with the madras recipe I made a few months back. With the barley the vegetarian dish finishes the circle for the complete protein. The lentils gives some added texture.

This is just another one of those dishes that will not disappoint on a cold day, especially if you add a biscuit to the side!