September 2022

Coral Trout with Pale Ale butter sauce

I am not a fisherman by nature – more inclined to drown a few worms, get eaten by mozzie and then find something more exciting to do.

So I got a huge shock when fishing off a jetty with my little family and brother I caught a fish! And according to my shocked angler brother – an excellent eating fish.

“Ummm. It is a fish. What do I do now?”

Now to find a recipe.

I don’t cook seafood often as I was brought up in inland Australia, so my experience is limited.

My thought process was not to overpower the flavour. Googling recipes I saw some SE Asian inspired recipes overloaded with mammoth flavours like ginger, lemon grass, chilli etc – but I decided to try a more subtle route.

Ingredients

(Guestimates)

  • 1 Coral Trout (Or any other firm white fish) filleted with skin on
  • 1/2 cp of plain flour
  • 1 tsp salt
  • 375ml of a light but tasty Pale ale
  • 5 tbs of butter – cut into chunks and chilled
  • One clove of garlic
  • Sprig of lemon thyme
  • Canola oil for frying
  • Extra salt for seasoning
  • Lemon wedges to serve

Method

  1. Heat a large frypan on medium.
  2. Assess the thickness of the fish fillets. If quite thick; score the flesh side of the fish with a knife every 2cm to allow for more even cooking.
  3. Dry the fillets with kitchen towl to remove excess moisture.
  4. Season the fillets with salt.
  5. On a plate – mix the flour with the tsp of salt. Dust the fillets liberally with the seasoned flour and shake off the excess.
  6. Heat the oil and add the fish skin side down. Cook for a couple of minutes until the fish is half cooked through.
  7. Carefully turn the fish a cook until the fish is almost cooked though. Remove the fish to a plate.
  8. Add the ale, lemon thyme and whole garlic clove to the pan. Bring to a simmer and reduce the heat.
  9. Add one piece of butter and stir until it completely emulsify into the liquid. Repeat with the other chunks of butter – one by one.
  10. Remove the thyme and garlic.
  11. Taste the sauce. Adjust the seasoning if needs.
  12. Add the fish back to the pan to warm through. Spoon the sauce over the fish.
  13. Serve with the buttered sauce and lemon.

Notes

  • Serving suggestions – simple blanched or steamed greens
  • I was constrained by what ingredients I had on hand. Some modifications can be:
    • A white wine Iike a riesling
    • Tarragon instead of thyme
  • When tasting if the ale has made the sauce too bitter – add a bit of sugar.
  • If I had the right ingredients I would have probably made the following recipe from Neil Perry.

The Story of the Coral Trout catch

Theory

My brother was shocked that such a large Coral Trout was caught off an estuary jetty as they are usually found on the reef.

His angler friend’s theory was the particular jetty we were fishing off. It is a jetty where fishing vessels dock to transfer their catch. The vessels would catch Coral Trout on the reef and bring them back alive. They then will measure for size and throw the undersize fish off the jetty.

Our fish probably hung around under the jetty after being released and grew to its final 50cm size.

A pretty Good Bolognese

There is no such thing as a recipe for “The Best Bolognese”.  The best Bolognese recipe is the one that you cook and you like. This is my favourite over 20 years (geeze – I feel old now) of experimenting with all different variations that I have gleaned from different recipes and friends. Remember – don’t be afraid to experiment and try something new.

Ingredients

Serves about 6

Vegetables (Add more or less as you desire)

  • 2 brown onions – diced
  • 2 stalks of celery – diced
  • 2 carrots – diced
  • 1 red capsicum – diced
  • 2 zucchini – diced
  • Handful of Button mushrooms – diced (optional)
  • 2-8 cloves of garlic to taste – minced

The rest

  • 1kg beef mince
  • 1L beef stock (extra points for home made beef stock)
  • 750gms Passata
  • 2tbs Worcestershire sauce
  • 2 bay leaves
  • 2tsp dried oregano
  • 1tsp dried thyme
  • Pepper
  •  500gms dried pasta
  • 4tbs of cooking oil (vegetable/canola/olive oil)
  • Cheese to serve –  parmesan for the traditionalists/any other hard cheese of choice for the commoner

Method

Clean bench, sharp knife, stable cutting board – let’s go:



1. Heat 2tbs of the oil in a large fry pan on medium high.  Add the mince and break apart the lumps.  Cook stirring occasionally until the beef is dry and crumbly, starting to catch at the bottom and smell like cooked steak.  If this step is done before the vegetables are soften; turn off the heat



2. In a large pot; heat to medium heat and add the remaining cooking oil.  Add all the vegetables; except for the garlic and fry until the vegetables are soft and the onion is translucent.  Add the garlic and fry for another two minutes.


3. Add the browned mince to the large pot of vegetables.  Deglaze the fry pan with a cup of beef stock.  Add the liquid into the large pot.


4. Add the beef stock, passata, Worcestershire sauce, bay leaves, dried herbs and pepper to the large pot and bring to a boil.  The mixture will appear very watery; almost like a soup.

Turn down the heat to a very low simmer and cook for 3 – 6 hours stirring occasionally.  Adjust the heat and liquid levels depending on how long you want to cook it for.

Hold off on seasoning with salt until the end as the amount of salt you will need depends on the amount of salt that was in the beef stock and passata.



5. When getting close to the right consistency; cook the pasta as per the packet instructions.

Way to serve – fancy way

  1. Undercook the past by a couple of minutes in step 5
  2. Heat up a large pot to medium heat and add in the well drained pasta
  3. Add some of the Bolognese sauce into the pot.
  4. Cook for a couple of minutes until the pasta is cooked through.
  5. Serve with chese

Way to serve – to the point way

  • Pasta in the bowl
  • Bolognese sauce on top
  • Cheese on top

Notes

There are many/many variations of Bolognese out there and I have tried and honed my favourite recipes over many years.

It all comes down to what you like – that is the best Bolognese recipe

To me a good Bolognese has the key balance between tomatoes and meat flavour.

I have tried some popular variations and added some notes:

Wine

A popular addition is to add wine to the recipe.  This radically changes the flavour profile.

I’m not a big fan of it.

I suspect that it is because I usually have strongly flavoured Australian Shiraz or Cabernet sauvignon on hand.  Maybe a lighter red wine would be a suitable match.

Meat

Minced beef is the most popular ground beef in our region so that’s what I tend to use.

Veal and pork is a more traditional choice.  If this is what you want to try; see if you can get some pork or veal stock.  This will create a lighter sauce and better match for the meat combination.

Some people also add bacon or speck to their Bolognese recipe.  This drastically alters the flavour and I am not a fan of it.  But if not sure; give it a go as an experiment

Milk?

I have seen recipes where you add half a cup of milk to the Bolognese sauce.  The theory is the the enzymes in the milk further tenderises the meat.  I have tried it but felt it made no noticeable difference

Sugar

Some recipes add a couple of teaspoons of  sugar to the sauce to balance out the acidity of the tomatoes.  I think it depending of the quality of the passata and your own personal preference.  Taste the sauce at the end of the cooking process and assess the taste profile of the tomatoes to see if it needs some sweetening.

Extras

  • Dried red lentils gives the recipe a nuttier taste and stretches the recipe further.  Well worth it if you have more mouths to feed on a budget.
  • You can add more or less vegetables as you wish.  If you add more vegetable; or grate them up finer to hide them from kids – you will compromise on the meat and tomato flavour.

Happy cooking 

Is “Meowser” a Pokemon?

Yes – Meowser is a Pokémon!

(Only creating this post to win an argument with my school year old kid.  Sorry Nintendo)

Qlik Replicate – “Json doesn’t start with ‘{‘ [xxxxxxx] (at_cjson.c:1773)” error

Had a shocker of a week.

You know those weeks; where everything went wrong.

Busy fixing other systems; after Operating system patching done by our IT team I didn’t look closely to our Qlik Replicate nodes that have been running smoothly over the past year 

After all there were no alerts; and a quick glance all our tasks were in a running status and none were in suspended or error status.

Next day One of our junior admin the pointed out some Qlik tasks using a high amount of memory.

I looked in and my stomach dropped.

Although the task was “green” and running; no changes were getting through to the destinations (AWS S3 and GCS).  The log file was filled with errors like:

00002396: YYYY-MM-DDT15:21:14 [AT_GLOBAL ]E: Json doesn't start with '{' [xxxxxxx] (at_cjson.c:1773)
00002396: YYYY-MM-DDT15:21:14 [AT_GLOBAL ]E: Cannot parse json: [xxxxxxx(at_protobuf.c:1420)

And hundreds and thousands of transactions were waiting to be written out.

The problem only existed on one QR cluster and only jobs that were writing to AWS S3 and GCS; the Kafka one was fine.  The other QR clusters were running fine

The usual “Turn it off and on again” didn’t work in either stopping or resuming the task; or restarting the server.

In the end I contacted Qlik Supported.

They hypothesised that the blanked patching caused the Qlik Replicate cluster to fail over and corrupt the captured changes stored up waiting to be written out in the next batch process.  When QR tried to read the captured changes – the json was corrupted.

Their fix strategy was:

  1. Stop the task
  2. Using the log file; find out the last successful time or stream position that the task.  This is usually found at the end of the log files.
  3. Using the Run -> Advance Run option; restart the task from the time last written out.

If this didn’t work; the recommended rebuilding the whole task and following the above steps

Luckily their first steps worked.  After finding the correct timestamps we could restart the QR tasks from the correct position.

Now looking into some alerting to prevent this problem again.