Blog

  • ML – Introduction

    Introduction to Machine Learning

    We are living in the ‘age of data’ that is enriched with better computational power and more storage resources. This data or information is increasing day by day, but the real challenge is to make sense of all the data. Businesses & organizations are trying to deal with it by building intelligent systems using the concepts and methodologies from Data Science, Data Mining, and Machine learning. Among them, machine learning is the most exciting field of computer science. It would not be wrong to call machine learning the application and science of algorithms that provide sense to the data.

    What is Machine Learning?

    Machine learning (ML) is a subfield of artificial intelligence that enables machines to learn from data without being explicitly programmed.

    In machine learning, algorithm development is core work. These algorithms are trained on data to learn the hidden patterns and make predictions based on what they learned. The whole process of training the algorithms is termed model building.

    How does Machine Learning work?

    The mechanism of how a machine learns from a model is divided into three main components −

    • Decision Process − Based on the input data and output labels provided to the model, it will produce a logic about the pattern identified.
    • Cost Function − It is the measure of error between expected value and predicted value. This is used to evaluate the performance of machine learning.
    • Optimization Process − Cost function can be minimized by adjusting the weights at the training stage. The algorithm will repeat the process of evaluation and optimization until the error minimizes.

    Need for Machine Learning

    Human beings, at this moment, are the most intelligent and advanced species on earth because they can think, evaluate and solve complex problems. On the other side, AI is still in its initial stage and hasnt surpassed human intelligence in many aspects.

    Then the question is, what is the need to make machines learn? The most suitable reason for doing this is to make decisions, based on data, with efficiency and scale.

    Lately, organizations are investing heavily in newer technologies like Artificial Intelligence, Machine Learning and Deep Learning to get the key information from data to perform several real-world tasks and solve problems. We can call it data-driven decisions taken by machines, particularly to automate the process.

    These data-driven decisions can be used, instead of programming logic, in problems that cannot be programmed inherently. The fact is that we cant do without human intelligence, but another aspect is that we all need to solve real-world problems with efficiency at a huge scale. That is why the need for machine learning arises.

    History of Machine Learning

    The history of Machine learning roots back to the year 1959, when Arthur Samuel invented a program that calculates the winning probability in checkers for each side.

    Well, the evolution of Machine learning through decades started with the question, “Can Machines think?”. Then came the rise of neural networks between 1960 and 1970. Machine learning continued to advance through statistical methods such as Bayesian networks and decision tree learning.

    The revolution of Deep Learning started off in the 2010s with the evolution of tasks such as natural language processing, convolution neural networks and speech recognition. Today, machine learning has turned out to be a revolutionizing technology that has become a part of all fields, ranging from healthcare to finance and transportation.

    Machine Learning Methods

    Machine learning models can be categorized mainly into the following four types −

    • Supervised Machine Learning
    • Unsupervised Machine Learning
    • Semi-supervised Machine Learning
    • Reinforcement Machine Learning

    Let’s explore each of the above types of machine learning in detail.

    Supervised Machine Learning

    In supervised machine learning, the algorithm is trained on labeled data, meaning that the correct answer or output is provided for each input. The algorithm then uses this labeled data to make predictions about new, unseen data.

    Unsupervised Machine Learning

    In unsupervised machine learning, the algorithm is trained on unlabeled data, meaning that the correct output or answer is not provided for each input. Instead, the algorithm must identify patterns and structures in the data on its own.

    Semi-supervised Machine Learning

    Semi-supervised machine learning is a type of machine learning technique that is an integration of supervised and unsupervised learning as it uses a major portion of unlabeled dataset and minor portion of labeled data for training an algorithm preferably for classification and regression tasks.

    Reinforcement Machine Learning

    In reinforcement machine learning, the algorithm learns by receiving feedback in the form of rewards or punishments based on its actions. The algorithm then uses this feedback to adjust its behavior and improve performance.

    Machine Learning Use Cases

    Machine learning has become a significant part of all our lives. It is broadly used in every industry, especially industries that involve dealing with large data. Some of the use cases of Machine learning are:

    Recommendation System

    They are software engines designed to suggest items to users based on their likes and dislikes, previous engagement with the application, etc. This helps enhance the user experience which would increase sales of a business.

    Voice Assistants

    It is a digital assistant that works based on speech recognition, language processing algorithms, and voice synthesis to listen to a specific voice command and reciprocate back with relevant information asked by the user.

    Fraud Detection

    It is the process of identifying unusual activities within a system or organization mostly used in the financial sector to identify fraudulent transactions. An algorithm is trained to monitor transactions, behaviors, and patterns to identify suspicious activities that can be reported and looked into further.

    Health Care

    Machine learning is widely used in the health sector to diagnose a disease, improve medical imaging accuracy, and personalize patient treatment.

    Robotic Process Automation (RPA)

    Also known as software robotics, RPA uses intelligent automation technologies to perform repetitive manual tasks.

    Drive-less Cars

    The idea of having a car that drives for itself took technology to another level. Though the algorithm and tech stack behind these technologies are advanced, the core is machine learning. The most common example is Tesla cars, which are well-tested and proven.

    Computer Vision

    This focuses on enabling computers to identify and understand images and videos. They seek to perform and automate tasks that replicate human capabilities like face recognition.

    Advantages of Machine Learning

    • Automation − With machine learning, every task especially repetitive can be done seamlessly saving time and energy for humans. For example, the deployment of chatbots has improved customer experience and reduced waiting time. While human agents can work on dealing with creativity and complex problems.
    • Enhancing user experience and decision making − Machine learning models can analyze and gain insights from large datasets for decision making. Machine learning also allows for the personalization of products and services to enhance the customer experience. An algorithm analyzes customer preferences and past behavior to recommend products that enhance retail and also user experience.
    • Wide Applicability − This technology has wide range of applications. From health care and finance to business and marketing, machine learning is applied in almost all sectors to improve productivity.
    • Continuous Improvement − Machine learning algorithms are designed in a way that they keep learning to improve accuracy and efficiency. Every time the data is retrained by the model, the decisions improve.

    Disadvantages of Machine Learning

    • Data acquisition − The most crucial and the most difficult task in machine learning is collecting data. Every machine learning algorithm requires data that is relevant, unbiased, and good quality. Better data would result in better performance of the machine learning model.
    • Inaccurate Results − Another major challenge in machine learning is the credibility of the interpreted result generated by the algorithm.
    • Chances of Error − Machine learning depends on two things data and algorithm. Any incorrectness or bias in these could result in errors and inaccurate outcomes. For example, if the dataset trained is small, then the algorithm cannot fully understand the patterns resulting in biased and irrelevant perdition.
    • Maintenance − Machine learning models have to continuously be maintained and monitored to ensure that they remain effective and accurate over time.

    Challenges in Machine Learning

    Despite the progress of Machine learning, there are a few challenges and limitations that have to be addressed.

    • Data Privacy − Machine learning models highly depend on data. Sometimes, it might be personal details. Keeping privacy and security concerns in mind, the data collected should be limited to only what is required by the model. It also requires the balance of the use of sensitive data with the protection of an individual’s privacy. The key tasks include effective anonymization, data protection, and data security.
    • Impact on Jobs − Machine learning takes up roles and tasks that can be automated like jobs in areas like data entry and customer service. Simultaneously it also creates job opportunities related to data preparation and algorithm development like data scientist, machine learning engineer and many more. Machine learning towards human resources towards data-driven decision making and creativity.
    • Bias and Discrimination − In the aspect of privacy considerations, a few sensitive attributes have to be protected such as race and gender from being inappropriately used to avoid discrimination.
    • Ethical Consideration − It helps to access how these machine learning algorithms impact individuals, society and various other sectors. The goal of these ethics is to establish a few guidelines to maintain transparency, accountability and social responsibility.

    Machine Learning Algorithms Vs. Traditional Programming

    The difference between machine algorithms and traditional programming depends on how they are programmed to handle tasks. Some comparisons based on different criteria are tabulated below:

    CriteriaMachine learning algorithmsTraditional programming
    Problem solving approachThe computer learns from training a model on large datasets.Explicit rules are given to the computer to follow in the form of code that is manually programmed.
    DataThey heavily rely on data, it defines the performance of the model.They rely less on data, as the output depends on the logic encoded.
    Complexity of ProblemBest suited for complex problems like image segmentation or natural language processing, which require identifying patterns and relationships in the data.Best suited for a problem with defined outcome and logic.
    FlexibilityIt is highly flexible and adapts to different scenarios, especially because the model is retrained with new data.It has limited flexibility, as the changes should be done manually.
    OutcomeThe outcome in machine learning is unpredictable, as it depends on data trained, model and many other things.The outcome in traditional programming can be accurately predicted if the problem and logic are known.

    Machine Learning Vs. Deep Learning

    Deep learning is a sub-field of Machine learning. The actual difference between these is the way the algorithm learns.

    In Machine learning, computers learn from large datasets using algorithms to perform tasks like prediction and recommendation. Whereas Deep learning uses a complex structure of algorithms developed similar to the human brain.

    The effectiveness of deep learning models for complex problems is more compared to machine learning models. For example, autonomous vehicles are usually developed using deep learning where it can identify a U-TURN sign board using image segmentation while if a machine learning model was used, the features of the signboard are selected and then identified using a classifier algorithm.

    Machine Learning Vs. Generative AI

    Machine learning and Generative AI are different branches with different applications. While Machine Learning is used for predictive analysis and decision-making, Generative AI focuses on creating content, including realistic images and videos in existing patterns.

    Future of Machine Learning

    Machine Learning is definitely going to be the next game changer in technology. Automated machine learning and synthetic data generation, are new age developments that make machine learning more accessible and efficient.

    One big technology that is an adoption of machine learning is Quantum computing. It uses the mechanical phenomenon of quantum to create a system that exhibits multiple states at the same time. These advanced quantum algorithms are used to process data at high speed. AutoML is another technology that combines automation and machine learning. It potentially includes each stage from raw data to developing a model ready for deployment.

    Multi-modal AI is an AI system used to effectively interpret and analyze multi-sensory inputs, including texts, speech, images, and sensor data. Generative AI is another emerging application of machine learning which focuses on creating new content that mimics existing patterns. A few other emerging technologies that have an impact on Machine learning are Edge computing, Robotics, and many more.

    How to Learn Machine Learning?

    Getting started with machine learning can seem intimidating, but with the right resources and guidance, it can be a rewarding experience. Below is a 5-step process getting started with machine learning is broken −

    Step 1 − Learn the Fundamentals of Machine Learning

    Before diving into machine learning, it’s important to have a solid understanding of the fundamentals. This includes learning about data types, statistics, algorithms, and programming languages like Python. There are many online courses, books, and tutorials available that can help you get started.

    Step 2 − Choose a Machine Learning Framework

    Once you have a basic understanding of machine learning, it’s time to choose a framework. There are many popular machine learning frameworks available, including TensorFlow, PyTorch, and Scikit-Learn. Each framework has its own strengths and weaknesses, so it’s important to choose one that aligns with your goals and expertise.

    Step 3 − Practice with Real Data

    One of the best ways to learn machine learning is by practicing with real data. You can find publicly available datasets on websites like Kaggle or UCI Machine Learning Repository. Practicing with real data will help you understand how to clean, preprocess, and analyze data, as well as how to choose appropriate algorithms for different types of problems.

    Step 4 − Build Your Own Projects

    As you gain more experience with machine learning, it’s important to start building your own projects. This will help you apply what you’ve learned and develop your skills further. You can start with simple projects, like building a recommendation system or a sentiment analysis tool, and then move on to more complex projects as you become more comfortable with the process.

    Step 5 − Participate in Machine Learning Communities

    Joining machine learning communities, such as online forums or meetups, can be a great way to connect with other people who are interested in the same field. You can learn from others, share your own experiences, and get feedback on your projects. This can help you stay motivated and engaged as you continue to learn and grow.

  • Thai Sweet Chilli Beef Bowls

    Thai Sweet Chilli Beef Bowls

    Ingredients

    • 1/3 cup roasted cashews , unsalted (or peanuts, Note 1)
    • 1 tbsp canola oil , or other plain cooking oil
    • 500 g / 1 lb beef mince (ground beef)
    • 1 small onion , finely chopped
    • 2 garlic cloves , finely minced
    • 3 tbsp roughly chopped coriander/cilantro leaves (sub green onion)

    Sweet chilli stir fry sauce:

    • 2 tbsp sweet chilli sauce (I use Trident)
    • 2 tbsp fish sauce (Note 2)
    • 2 tbsp rice vinegar (sub cider vinegar)
    • 1 tbsp oyster sauce (Note 3)
    • 1 tbsp dark soy sauce (Note 3)

    Sweet chilli drizzle sauce:

    • 1 garlic clove , minced using garlic crusher
    • 3 tbsp sweet chilli sauce
    • 2 tbsp lime juice (sub rice vinegar when limes are crazy expensive)
    • 2 tsp fish sauce (Note 2)

    Serving:

    • 2 batches jasmine rice or other plain rice of choice
    • Steamed or fresh veg (Note 5) (pictured: chopped cucumber, coriander/cilantro, red onion finely sliced)

    Instructions

    Abbreviated recipe

    • Mix each sauce. Toast cashews, sauté onion + garlic 1 min, then cook beef. Add sauce, cook until reduced/caramelised, serve over rice with veg on side. Spoon over drizzle sauce, top with cashews and coriander.

    Full recipe:

    • Drizzle sauce – Mix the ingredients in a bowl, set aside.
    • Stir fry sauce – Mix the ingredients in a separate bowl, set aside.
    • Toast cashews – Heat a large non-stick pan over medium high heat. Add the cashews and toast for 2 minutes. Transfer to a cutting board then roughly chop once cool.
    • Cook beef – Heat the oil in the same pan over high heat. Add the garlic and onion, cook for 1 minute. Add the beef and cook, breaking it up as you go, until you no longer see raw meat.
    • Sauce it! Add the cooking sauce and cook well, stirring, until it mostly reduces down so the sauce caramelises on the beef, about 3 – 4 minutes. (Don’t shortcut this step, it’s where the flavour is!)
    • Serve the beef over rice with a side of veg. Douse everything with the sauce, top with cashews and coriander (fresh chilli wouldn’t go astray either). To eat, jumble everything up then dig in!
  • Mexican Shredded Beef (and Tacos)

    Mexican Shredded Beef (and Tacos)

    Ingredients

    Spice Mix

    • 1 1/2 tbsp chipotle powder , adjust spiciness to taste (Note 5)
    • 1 tbsp paprika
    • 1 tbsp dried oregano
    • 1 tsp All Spice powder (ground All Spice)
    • 1 tsp coriander powder
    • 2 tsp onion powder or garlic powder OR 1 tsp of each
    • 1 tsp salt and pepper , each

    Beef

    • 1 – 2 tbsp olive oil
    • 3 lb / 1.5kg beef chuck or brisket (or gravy or any other slow cooking beef) cut into 4 pieces
    • 5 garlic cloves, minced
    • 1 onion , diced (yellow, brown or white)
    • 3/4 cup (185 ml) orange juice
    • 2 tbsp lime juice
    • 14 oz / 400g can crushed tomatoes
    • 2 cups (500 ml) beef or chicken broth/stock
    • 1/2 cup (125ml) water
    • Salt and pepper

    Instructions

    • Combine the Spice Mix ingredients in a bowl. Sprinkle 4 teaspoons over the beef and pat so it sticks.
    • Heat the olive oil in a large heavy based pot over high heat. Add the beef (in batches if necessary) and brown well on all sides. Remove onto a plate.
    • Turn the stove down to medium. If the pot looks dry, add more olive oil. 
    • Add the garlic and onion and cook for 3 minutes until soft.
    • Add the orange juice and lime juice, and scrape the bottom of the pot so the brown bits mix into the liquid. 
    • Add tomato, beef stock, water and remaining spice mix. Mix, then return beef into pot. 
    • Put the lid on, bring to a simmer then turn the stove down so it is bubbling gently, not rapidly. 
    • Cook for 2 hours, then remove lid and simmer for another 30 minutes until beef is tender enough to shred. (Note 2 other cook methods).
    • Remove the beef from sauce, shred with 2 forks. 
    • Leave the sauce to simmer with the lid off for 10 to 15 minutes to reduce and thicken to your taste. Adjust salt to taste. Optional: puree with stick blender to make it smooth (I do this for company)
    • Toss beef back into the sauce (can reserve some Sauce for drizzling on tacos if you want, there’s plenty).
    • Transfer beef into large dish and serve. See notes for suggestions.

    Tacos

    • To make tacos, serve the beef with warmed small tortillas, avocado slices, Pico de Gallo, shredded cheese, sour cream, lime wedges and extra cilantro/coriander leaves.
  • Beef in black bean sauce

    Beef in black bean sauce

    Ingredients

    CupsMetric

    • 1/2 cup (75g) preserved black beans (salted black beans, fermented black beans, Note 1)
    • 400g/14 oz beef rump steak (US: top sirloin) , thinly sliced 3mm / 0.1″ (Note 2)
    • 1 brown onion , medium size, cut into 2.5cm/1″ squares
    • 1 green capsicum (bell pepper), medium size, cut into 2.5cm/1″ squares
    • 1 tbsp garlic , finely minced with a knife ~ 4 cloves (Note 3)
    • 1/2 cup peanut oil (or vegetable, canola) (Note 4)
    • 1 tbsp Chinese cooking wine (shaoxing wine) (Note 5)

    Tenderising beef marinade:

    • 1 tbsp light soy sauce (Note 6)
    • 1 tsp dark soy sauce (Note 6)
    • 1 tbsp oyster sauce
    • 2 tsp cornflour / cornstarch
    • 1/4 tsp baking soda (bi-carbonate) (Note 7)
    • 1 tbsp sesame oil (toasted ie brown, not untoasted which is yellow)

    Sauce:

    • 1 tbsp light soy sauce (Note 6)
    • 2 tsp white sugar
    • 2 tbsp cornflour/cornstarch (20g)
    • 1 cup water

    Serving:

    • White rice

    Instructions

    Abbreviated recipe:

    • Marinade beef 1 hour, soak beans, mix sauce. Shallow fry beef 30 seconds, remove. Discard all but 3 tbsp oil. Add and cook in this order: black beans 20 seconds, garlic 10 seconds, onion + capsicum 1 minute, beef 1 minute, cooking wine 30 seconds, sauce 1 minute or until thickened. Serve!

    Marinade beef:

    • Mix the marinade ingredients EXCEPT sesame oil in a bowl. Add beef, mix to coat. Add sesame oil, mix again.
    • Marinade – Refrigerate to marinade for 1 hour.

    Preparation:

    • Soak beans – Put the salted black beans in a medium bowl and cover with water. Set aside for 30 minutes to 1 hour to soak, then drain.
    • Mix sauce – Put the cornflour, soy sauce and sugar in a jug or small bowl. Mix until lump free then mix in the water. Set aside.

    Cooking:

    • Cook beef – Heat the oil in a wok (or non stick pan) over high heat. Add the beef and cook, tossing, for 30 seconds until it changes from red to brown. Remove with a slotted spoon onto a plate.
    • Discard most of the oil in the wok, keep just 3 tablespoons.
    • Aromatics – Return the wok to high heat. Add the black beans and stir for 20 seconds, then add the garlic and stir for 10 seconds. Add the capsicum and onion, cook for 1 minute.
    • Beef – Add beef and any juices pooled on the plate, toss for 1 minute. Pour the Chinese cooking wine around the sides of the wok so it runs down into the beef then toss for 30 seconds (Note 8)
    • Sauce – Pour the sauce in, then stir and let it bubble for 1 minute or until the sauce thickens, is shiny and coats the beef beautifully.
    • Serve – Pour into a serving bowl and serve with rice!
  • Beef Rendang

    Beef Rendang

    Ingredients

    Spice Paste

    • 12 dried chilies, rehydrated in boiling water, or 12 large fresh (Note 1a)
    • 1 small onion, finely chopped (Note 1b)
    • 5 cloves garlic, minced
    • 3 lemongrass stalks, white part only, sliced (Note 2)
    • 1 1/2 tbsp fresh galangal, finely chopped (Note 3)
    • 1 1/2 tbsp fresh ginger, minced
    • 2 tbsp oil (vegetable, canola or peanut oil)

    Curry

    • 2 lb/ 1 kg chuck steak, or other slow cooking beef, cut into 4cm / 1.6″ cubes (Note 4)
    • 1 tbsp oil (vegetable, peanut, canola)
    • 1 cinnamon stick
    • 1/4 tsp clove powder
    • 3 star anise
    • 1/2 tsp cardamon powder
    • 1 lemongrass stick, bottom half of the stick only and smashed (Note 5)
    • 400ml / 14 oz coconut milk (1 standard can)
    • 2 tsp tamarind puree / paste, or tamarind pulp soaked in 1 tbsp of hot water, seeds removed (Note 6)
    • 4 large kaffir lime leaves (or 6 small) , very finely sliced (Note 7)
    • 1/3 cup desiccated coconut (finely shredded coconut)
    • 1 tbsp brown sugar or grated palm sugar
    • 1 1/2 tsp salt

    Instructions

    • Place Spice Paste ingredients in a small food processor and whizz until fine. NOTE: If using dried chilli and you know your food processor is not that powerful, chop the chilli first.
    • Heat 1 tbsp oil in a large heavy based pot over high heat. Add half the beef and brown, then remove onto plate. Repeat with remaining beef.
    • Lower heat to medium low. Add Spice Paste and cook for 2 – 3 minutes until the wetness has reduced and the spice paste darkens (don’t breathe in too much, the chilli will make you cough!).
    • Add remaining Curry ingredients and beef. Stir to combine.
    • Bring to simmer, then immediately turn down the heat to low or medium low so the sauce is bubbling very gently.
    • Put the lid on the pot and leave it to simmer for 1 hr 15 minutes.
    • Remove lid and check the beef to see how tender it is. You don’t want it to be “fall apart at a touch” at this stage, but it should be quite tender. If it is fall apart already, remove the beef from the pot before proceeding.
    • Turn up heat to medium and reduce sauce for 30 – 40 minutes, stirring every now and then at first, then frequently towards the end until the beef browns and the sauce reduces to a paste that coats the beef. (Note 9) 
    • The beef should now be very tender, fall apart at a touch. If not, add a splash of water and keep cooking. Remove from heat and serve with plain or Restaurant Style Coconut Rice.

  • Spicy Firecracker Beef

    Spicy Firecracker Beef

    Ingredients

    • 1½ tbsp oil (vegetable, canola, peanut)
    • 500g / 1 lb beef mince / ground beef (Note 1)
    • 2 garlic cloves , finely minced
    • 1 tsp chilli flakes / red pepper flakes (adjust to your taste)
    • 3 tbsp water

    Firecracker sauce:

    • 2 tbsp soy sauce , light or all-purpose (Note 2)
    • 2 tbsp rice vinegar (Note 3)
    • 4 tbsp sriracha sauce (Note 4)
    • 4 tbsp brown sugar (tightly packed)

    To serve (optional!):

    • Rice, soba or vermicelli noodles
    • 1 green onion , finely sliced
    • 1 tsp sesame seeds
    • Diced cucumber, julienned carrot, finely sliced red radish
    • Extra sriracha sauce , if you dare!

    Instructions

    • Sauce: Mix Firecracker sauce ingredients in a small bowl and set aside.
    • Cook beef: Heat oil in a large frypan over high heat. Add beef and cook, breaking it up as you go, until you can no longer see raw meat (2½ minutes). Add garlic and chilli flakes and cook for 1 minute.
    • Caramelise beef: Add Firecracker sauce ingredients, stir to coat the beef. Cook for 5 to 7 minutes, stirring only every minute or so initially, then more towards the end, until the sauce reduces and you can see the beef caramelising. Caramelise well for good flavour!
    • Water: Add the water and cook for 1 minute (the water makes the beef saucier!)
    • Serve over rice, sprinkled with sesame seeds, green onion and a squirt of extra sriracha if you’re feeling brave! Add a pile of vegetables of choice on the side. Dive in!
  • Marinated Beef Kabobs

    Marinated Beef Kabobs

    Ingredients

    • 750g / 1.5 lb beef tri-tip , sirloin steak tips or other steak cut, (Note 1)
    • 3 capsicum / bell peppers (red, yellow green)
    • 1 large red onion
    • 16 small mushrooms , 3.25cm / 1.3″ wide

    Marinade:

    • 1 tsp minced garlic (2 large garlic clove)
    • 1 tsp onion powder (or sub with garlic powder)
    • 2 1/2 tbsp soy sauce (Note 2)
    • 2 tbsp Worcestershire sauce
    • 2 tbsp balsamic vinegar
    • 1 tbsp vegetable oil (or other neutral flavoured oil)
    • 1/4 tsp black pepper

    Cooking:

    • 16 flat metal skewers , 25 – 30cm / 10 – 12″ (Note 3)
    • Olive oil , for drizzling and cooking
    • Finely chopped parsley , garnish (optional)

    Instructions

    • Cut the beef into 3.25cm / 1.3″ wide cubes.
    • Mix Marinade in a bowl. Add beef. Marinate for 1 – 24 hours, minimum 20 minutes.
    • Cut capsicum and onion into 3.25cm / 1.3″ wide squares.
    • Thread beef (reserve Marinade), vegetables and mushrooms on each skewer. I use 2 pieces of vegetables between each piece of beef. Thread loosely – don’t smush together tightly (helps even cooking).
    • Brush kebabs lightly with Reserved Marinade (including vegetables), then drizzle with olive oil.
    • Heat BBQ or large skillet over high heat. Add 1 tbsp oil, then when smoking, cook kebabs in batches for 2 minutes on each side until slightly charred (4 sides = 8 minutes in total), basting with Reserved Marinade as you go.
    • Transfer to plate, cover loosely with foil and rest for 3 minutes before serving. Garnish with parsley if desired. See note for pictured Pink Dipping Sauce.
  • Chicken Francese

    Chicken Francese

    Ingredients

    CupsMetric

    Chicken & coating:

    • 2 large chicken breasts , skinless boneless (250-300g / 8-10oz each)
    • 1/4 cup flour , plain / all-purpose
    • 1 tsp cooking salt / kosher salt
    • 1 tsp black pepper
    • 2 large eggs
    • 1 tbsp milk (any fat %)

    Cooking & sauce:

    • 3 tbsp extra virgin olive oil
    • 1 lemon , thinly sliced 0.3cm / 1/8″
    • 50g / 3 tbsp unsalted butter
    • 2 tbsp flour , plain / all-purpose
    • 2 cups chicken stock/broth , low sodium
    • 1/3 cup Chardonnay or other dry white wine (Note 1)
    • 1/2 tsp cooking salt / kosher salt (no pepper!)
    • 1 tbsp finely chopped parsley , for garnish (optional)

    Instructions

    • Cut each breast in half horizontally to form 4 thin steaks in total.
    • Whisk eggs and milk in a small bowl. Set aside.
    • Flour coating – Mix flour, salt and pepper on a plate (I use my fingertips). Coat the chicken in the flour, shaking off excess, then set aside on a plate.
    • Heat the oil in a large nonstick pan over medium-high heat.
    • Cook chicken – Dip the chicken in the egg, allow excess to drip off, then put into the pan. Cook for 3 minutes until golden. Flip, lower heat to medium, then cook for 4 minutes until the chicken is golden (internal temp 68°C/155°F). Remove onto a plate.
    • Lemon – Add the lemon slices to the pan. Cook for a minute or until the lemons go soft / brown, then turn and cook the other side for 30 seconds. Remove onto a plate. (Note 2)
    • Wipe the pan clean using paper towels.
    • White wine sauce – Still on medium heat, melt the butter in the pan. Add flour and stir for 1 minute using a wooden spoon. While stirring, slowly pour in half the stock. Once the flour is dissolved into the liquid, stir in remaining stock, then the wine and salt. (See Note 3 for lumps tip)
    • Thicken sauce – Turn the heat up slightly then simmer for 3 – 4 minutes or until the sauce thickens into a syrupy consistency.
    • Sauce it! Return the chicken and lemon slices to the pan, then spoon the sauce all over the chicken. Sprinkle with parsley then serve the chicken with the sauce (use it ALL!).
  • Chicken Cacciatore (Italian chicken stew)

    Chicken Cacciatore (Italian chicken stew)

    Ingredients

    CupsMetric

    Chicken (Note 1):

    • 4 bone in chicken thighs large (1 kg / 2 lb)
    • 4 chicken drumsticks
    • 1/2 tsp cooking salt / kosher salt
    • 1/4 tsp black pepper
    • 1 tbsp olive oil

    Cacciatore:

    • 1 onion , halved, finely sliced
    • 2 rosemary sprigs (about 15 cm/6″ long), or 1 tsp dried rosemary
    • 2 bay leaves , preferably fresh else dried
    • 3 garlic cloves , finely minced
    • 3 anchovy fillets (or 1 tsp anchovy paste), optional (Note 2)
    • 250g / 8 oz mushrooms , sliced
    • 2 red capsicum , sliced 8 mm thick (medium, not giant)
    • 1/3 cup tomato paste
    • 3/4 cup pinot noir or other dry red wine (Note 3)
    • 2 cups chicken stock/broth , low sodium
    • 400g/14 oz canned crushed tomato
    • 16 whole kalamata olives , pitted, drained
    • 1/4 tsp cooking/kosher salt
    • 1/4 tsp black pepper
    • 1 tsp dried oregano

    Instructions

    Chicken:

    • Season – Spread the chicken out on a tray. Sprinkle both sides with the salt and pepper.
    • Brown skin – Heat the oil over high heat in a large, deep, heavy based pan, preferably one with a lid (Note 4). Place the chicken thighs in the pan, skin side down, and cook until the skin is golden brown, around 6 minutes. Turn and cook the flesh side for just 1 minute, then remove the chicken onto the same tray. Then add the drumsticks and brown each side as best you can, about 1 1/2 minutes on each side (the shape makes it awkward). Remove onto the tray.

    Cacciatore:

    • Onion – Pour off and discard all but about 2 tablespoons of fat. Turn the heat down to medium and let the pan cool slightly. Add the onion, rosemary leaves, bay leaves and dried oregano. Cook for 3 minutes until the onion is starting to soften.
    • Garlic and anchovies – Clear a space in the middle of the pan. Add the anchovies and garlic, cooking, mashing up the anchovies, until the garlic is light golden, then stir it into the onion.
    • Vegetables & tomato paste – Turn the heat back up to high. Add the mushroom and capsicum. Stir until softened – about 5 minutes (the mushrooms will go watery then the water will evaporate). Add the tomato paste and cook for 2 minutes to cook out the sour flavour – do not shortcut this.
    • Sauce – Add the wine. Stir, bring to simmer then allow to reduce by around 75%. Add the stock, canned tomato, salt and pepper. Stir, bring to a simmer.
    • Simmer – Then carefully place the chicken into the sauce (skin side up) and pour any juices on the tray in as well. When the liquid returns to a simmer, cover, reduce the heat to medium then simmer energetically for 20 minutes. Remove lid, add olives, simmer for a further 10 minutes (no lid). This will reduce and thicken the sauce.
    • Serve – Serve the chicken with plenty of sauce over mashed potato or polenta, sprinkled with parsley if desired.
  • Thai Chicken Satay with Peanut Sauce

    Thai Chicken Satay with Peanut Sauce

    Ingredients

    CupsMetric

    • 400 g/14oz coconut milk (1 can), full fat
    • 13-16 bamboo skewers , 16cm / 6.5″ long (Note 1)

    Marinade:

    • 600 g / 1.2lb chicken thighs , boneless skinless, cut into 2cm/4/5″ pieces (Note 2)
    • 1 tbsp curry powder (Note 3)
    • 1 tsp white sugar
    • 2 tsp red curry paste (Note 4)
    • 1 tsp cooking salt / kosher salt (sub 1/2 tsp table salt)

    Thai Peanut Sauce:

    • 2 tbsp red curry paste (Note 4)
    • 3/4 cup natural peanut butter, smooth (Note 5)
    • 1/4 cup white sugar
    • 2 tsp dark soy sauce (Note 6)
    • 1 tsp cooking salt / kosher salt (sub 1/2 tsp table salt)
    • 2 tbsp cider vinegar (Note 7)
    • 3/4 cup water

    Instructions

    • If cooking on a BBQ or over charcoal, soak skewers for 2 hours in water.

    Thai Chicken Satay Skewers:

    • Mix together the chicken and Marinade with 1/4 cup of coconut milk, then set aside for at least 20 minutes, or overnight.
    • Thread onto skewers – I do 4 to 5 pieces each.
    • Heat 1.5 tbsp oil in a large non stick pan over medium high heat.
    • Cook skewers in batches for 3 minutes on each side until golden.

    Thai Peanut Sauce:

    • Place remaining coconut milk and Peanut Sauce ingredients in a saucepan over medium low heat.
    • Stir to combine then simmer, stirring every now and then, for 5 minutes.
    • Adjust consistency with water – it should be a pourable but thickish sauce.
    • Cover with lid and keep warm while cooking skewers.

    Serving:

    • Pour some sauce into a bowl. Sprinkle with some peanuts – stir some through if you want.
    • Pile satay skewers onto a platter, sprinkle with remaining peanuts, coriander and chilli.
    • Serve with sauce on the side for dipping. Add a side of Jasmine Rice or Thai Fried Rice to complete the meal!