text:
Supporting Dr. Gary Fettke
People Health,
#isupportgary,
Don't Shoot the Messenger
Don't Shoot the Messenger, please…
I originally wrote this article on my BPhotography website back in 2014 when Gary was first reported to the AHPRA Medical Board of Tasmania by a dietitian at the Launceston General Hospital.
At the time we couldn't understand why the Medical Board considered pursuing the unjustified notification and to this day remain dismayed by the intimidating and bullying behaviour Gary was subjected to for years. Disturbed by the 2 1/2 year Star Chamber investigation, and subsequent 'Silencing' of Gary, with the threat of deregistration should he continue to talk to patients, and the wider community, about the health benefits of reducing sugar and processed carbohydrates. It took a further 2 years to have the original determination thrown out and Gary's name cleared. I will include new links and update the original to reflect where we are at now.
This is a powerful story of a man I deeply admire. My dear husband, Dr Gary Fettke, who goes to work every day with the 'Perspective of a Patient, the Spirit of an Activist and the Heart of a Healer'.
#isupportgary
What is courage?
It seems so easy to make reactive comments and blame 'the messenger' without fully understanding the 'big picture'. It's even easier since the advent of Social Media platforms and the anonymity we have, hiding behind a computer screen.
Gary was bullied, mobbed and trolled on several fronts from 2012 by people who didn't know the full story.
But let me tell you, when 'they' came after my husband the 'Mumma Bear' came out to protect him. This is our story...
While a brave man may stand up for what he believes in, it takes a courageous man to then speak out about his beliefs and expose controversial findings, knowing full well he may be ridiculed, harassed and even bullied by those who either don't understand, won't take the time to listen, or those who feel confronted by concepts that go against everything they have thought to be right.
Courage as resistance to fear, mastery of fear, but not absence of fear
Craig Silvey, author of Jasper Jones
Gary Fettke truly is the most courageous man I know …
I guess it is hard to explain courage, but to me; Courage is mortal. Courage is facing 'a bullet' knowing you can get hurt. Courage is making a leap of faith and sharing that journey of faith with others. Courage is refusing to take the easy way out!
When I first wrote this article, I was thinking of my courageous husband, who has just had surgery to have his hip replaced. A lifetime of pushing himself physically had deteriorated both Gary's hips over time.
But pain doesn't stop this man.
He lives with physical pain every day.
It is what drives him to be the best that he can be as a medical practitioner and as a surgeon. He has an empathy that only someone who has experienced 'real' pain can understand.
Cancer does that to you …
When you lose your Mum to cancer at the age of 16, it turns your world upside down. It makes you grow up in ways most of your peers will never have to know, thank God.
And then, when you experience cancer 'first hand', the world as you know it, implodes.
As with the book Gary wrote in 2007; Inversion, One Man's Answer for Peace and Global Health, and his Nutritional Model of Modern Disease first published in 2014, it's about 'the message', not 'the messenger'.
'The message' in both is to encourage people to look at everything from a different perspective…
Sometimes though, it is useful to get to know the messenger so you can gain an understanding of the motives that drive their thoughts and an appreciation for the extensive experience and research they have done. Insights into outcomes that throw new light on related topics and ascertain the incredible resources they have drawn information from.
In Gary's case, in particular, hearing some of the background and a glimpse of his health journey provides an opportunity to understand why he is so keen to research health and nutrition. In a sound bite, his thoughts and recommendations may seem superfluous to some people who aren't happy with him giving dietary advice, considering the specialty he has trained in.
Considering he is an Orthopaedic Surgeon?
Well, I looked up the meaning of Orthopaedics and while it is defined as; "surgery concerned with conditions involving the musculoskeletal system", the definition goes on to describe Orthopaedic Surgeons as "doctors who use both surgical and nonsurgical means to treat the musculoskeletal system including trauma, sports injuries, degenerative diseases, infections, tumours, congenital disorders and complications of Diabetes Type 1 and Type 2."
Gary believes it has always been his duty of care, as an orthopaedic surgeon, to discuss realistic patient outcomes with his patients regardless of their need for surgery. In fact, how much better to help people avoid surgery if at all possible, by educating them on the preventative measures for their condition, including nutritional advice and the use of specialised exercise programmes. He isn't a respiratory physician but is encouraged to recommend people stop smoking. He isn't an exercise physiologist but can suggest stretching and exercise to improve health outcomes... why not nutrition??
I love Gary's analogy that our mitochondria, the engines of our cells, are like teenagers and just want fuel. They will devour proteins, fats or carbohydrates and don't care where they come from! Pasture-fed animal proteins, plant-proteins or even cheap processed junk-food. It is our emotions, cultural and religious beliefs and ideology that come into play on the decisions we make whether to eat an omnivorous diet or a vegetarian/vegan diet. Essential proteins and fats are like slow burning logs that provide lots of energy, carbohydrates on the other hand, are non-essential fuels that burn quickly and are forever needing topping up.
Facing a tsunami of diabetes complications as a result of poorly controlled blood glucose and metabolic disease in the Public Hospital System, Gary knew he couldn't stay silent anymore. He had to raise awareness of Quality Control and Patient Safety. He tried to discuss the biochemistry he was revisiting and the importance of the KREBS Cycle.
He naively thought 'the system' would be excited to be presented with a solution. Gary had NO idea 'the system' didn't want to be fixed!
Low Carb Healthy Fat principles (LCHF)
Gary has continued to provide a holistic approach to healthcare for the last 20 years, which is at the forefront of prevention rather than just surgery. Since starting his Social Media presence, Gary put a medical disclaimer across all platforms about the 'in-principal' generalisations he makes and the importance of talking to your GP if you are considering making major changes to your diet or lifestyle. The majority of his writing/public speaking is about trying to put complex material into lay terms and he states that all the information he shares is HIS interpretation as a doctor, a patient and as an observer. What he recommends may not suit everyone, but it works for him and so many other people are seeing the benefits of the Low Carb/Healthy Fat principles he is recommending.
image courtesy of www.dietdoctor.com
An insight into the messenger...
Gary was in year 12 when his Mum died and thoughts of mining engineering took a back step as studying medicine became his priority. He watched his Mum suffer when her cancer was found 'too late' to do anything. Her knee pain had earlier been dismissed without further investigation by her GP at the time. She was finally admitted to hospital and never came home …
As a result, Gary won't let a complaint of bone pain be ignored, not ever, without investigating to dismiss anything sinister going on. He simply can't!
His first visit to an intensive care unit as a patient was at the age of 37. Whilst operating, he became aware of a scratch in his visual field and after an MRI diagnosed a growth he underwent urgent neurosurgery to remove an aggressive tumour from the base of his brain.
As a grown man with a family of his own, hearing those three words "You Have Cancer" was devastating to Gary. Not only did he have to deal with the ramifications of the diagnosis on a very personal level, but he also had to deal with the grief it caused to those close to him. Grief that reveals a vulnerability you just can't explain. Looking into our young children's faces and seeing his pain and fragility mirrored in their eyes, made him determined to fight for more time.
Gary's own Health Journey
Going back to 2000 when Gary was first diagnosed with an aggressive Pituitary Tumour, and following on from his initial surgery, he had weeks of intensive radiation therapy and years of long term and intermittent periods of chemotherapy until he changed his diet.
Not only did he put his cancer into remission but Gary lost 23kg's in weight, reversed his pre-diabetes and high blood pressure, coming off 10 medications over time.
(EDIT:- when I first wrote this article Gary was still on Chemotherapy. At the end of 2014 he trialed a year of supervised LCHF without any chemotherapy and for the first time there was NO cancer activity on his blood tests or MRI.
Gary has been off all chemo for 6 years now. His blood tests and Cholesterol results prove that not only is Low Carb beneficial, but Healthy Fats are safe, too.
Gary recommends a Lipid Subfraction analysis to tease out cholesterol markers if you or your doctor are concerned. Just take a look at Gary's results on LCHF below - he has NO small dense LDL particles.)
Back to the 'messenger'
Gary always checks and takes down a plaster if someone complains of pain. He watched me lose a 1/3rd of my right index finger to gangrene under a plaster when I was 18, and he was a 2nd year medical student. Neither of us understood at the time that betadine was iodine based and that my claim of an iodine allergy had been somehow ignored in theatre. Too young and too trusting of the Resident Doctor who insisted all was OK when we questioned him about the yellow dye on my arm soon after I came out of theatre. Insecure and vulnerable after being told I was over-reacting to the pain I felt under the plaster for the next 2 weeks, when others around me had endured more extensive surgery … till they finally took the plaster down. Then it was too late to save the top of my finger.
Perspective of a patient
Gary truly understands what it is like to be a patient. A craniotomy was followed by daily stereotactic radiotherapy with our young son accompanying him to these sessions. William would be doing homework in the waiting room, busting for Gary to emerge from hours of treatment to see what the rest of the days' adventure would hold. Gary and William were in Sydney for 10 weeks. I flew back and forth pulled between Kate who had just started high school, Megan on my hip at 4 years and the boys in Sydney. It was a difficult time, but we learnt resilience and our family grew stronger.
Further surgery in 2004 didn't stop Gary's determination to heal and return to work.
The whole experience has left Gary with an even greater desire to teach the things he has learnt to manage his own pain and control symptoms of his disease. Researching cancer management extensively for 20 years has given him the tools to help him develop an understanding of the role of sugar and processed carbohydrates in compromising health outcomes.
Interestingly, right from the beginning of his medical career, Gary always assessed patient symptoms from every angle and thought outside the square.
He was the first Orthopaedic Surgeon in Australia to use straight arm casting for forearm fractures in children after researching the benefits from studies in China and the successes they were having with their patients.
His lateral thinking approaches were well utilised on the trips he made to Vanuatu for years as a volunteer surgeon with a team from the Launceston General Hospital. Limited facilities and funds necessitate imagination, including the traction and pulley system he set up one year with bits and pieces from a marine supplier. Just one of the many challenges medical teams come across in a third world country being confronted with diabetes and diabetic complications, worsened by the introduction of polyunsaturated oils, Coca-Cola and processed junk food into their diet.
More recently, his concern about post-operative complications and vascular compromise in severely obese people (BMI over 35) and patients with diabetes has led to his interest and study into diet and nutrition.
I believe Gary's cynics felt threatened, especially the Dietitians Association of Australia (DAA). Uncovering documents outlining a corporate partnership with the cereal industry from 2014, where the DAA agreed to use their members to Influence, protect and actively defend cereal, grains and sugars messaging, was mind blowing! Documents that specifically targeted Gary for Active Defense'...
My husband was at the forefront of declaring smoking a danger to our health.
Gary's refusal, more than twenty five years ago, to perform ELECTIVE surgery on smokers without a six week interim break, caused a lot of flak and ridicule at the time. But, he had researched the post-operative risks associated with circulation compromises in patients who smoked and believed it to be his duty of care to reduce them. He wanted his patients to have the best possible outcomes from their surgery and refused to defer to others opinions when they felt he was being fanatical. The peripheral vascular complications of smoking are now well understood and the risks involved during both the surgery and post-operatively are widely documented and by law, now written on every cigarette box sold.
How can you criticize a man who reads widely and wants to know the latest scientific thoughts and questions the validity of Associations that have partnerships/funding from Big Sugar and Big Pharma? Gary may specialise in orthopaedics, but he also researches and delves further into other areas that may impact on the overall health and wellbeing of his patients, allowing him to practice holistic medicine. The holistic approach can take away a need for surgery, reduce complications and improve patient outcomes.
The idea of our health education being compromised by an industry or group that has vested interests is just plain wrong!
(EDIT;- Little did I know back then of the role Sanitarium and the Seventh-day Adventist Church play in pushing the pro-cereal/grain and anti-meat messaging!).
The system we currently have in place advocates band-aiding sick-care. The food pyramid (brilliantly described as 'the biggest "Pyramid Scam" of all time' by Vanessa Spina), needs to be turned upside down and looked at from a different perspective. We need to take major sponsorship and big industry out of the equation. Invert our thoughts and ideas. Truly consider the outliers and people taking back control of their health using Low Carb.
More and more scientific proof that sugar is a major contributor to modern disease has come to light and currently being espoused as the cause of Type 2 diabetes by the recently awarded Australian of the Year 2020, Dr James Muecke.
Sugar is being consumed in our society in levels way above the World Health Organisation's 2014 recommended 5 teaspoons per day. Recent studies show that saturated fats don't make us fat and are, in fact, necessary for our bodies to absorb the fat soluble vitamins (A,D,E and K) we need to function healthily. Our brains are composed of cholesterol and without any we would die! Conversely, health claims about polyunsaturated fats are now being questioned.
With his latest research Gary has been focusing on health and nutrition. Studying scientific papers, analysing results and collating independent data about cancer metabolism, risk factors of infection and complications from surgery with a high sugar/fructose loads, even in fruit.
His cancer thrives on sugar. It uses glucose to metabolise. Unfortunately, so do most cancers…
I had lots of time to think while sitting beside Gary during that hospitalization in May 2014 and decided then and there that I wanted to do my best to stand up for him. To give his critics some insight into the man that he is. I wanted to share some of the things that have shaped him and made him a valued and respected surgeon.
I can assure you, Gary isn't a fanatic, but rather he is a man who is both intelligent and passionate; about life, health and improving the health system. He has never been one to accept everything he is told to be true and correct. Even when we were back in high school, he has always wanted to understand 'why' and validate information fed to him; he had to prove to himself that something was so...
Gary will be the first to admit he was an overweight kid who grew up to become athletic as a young man, but still always trying to outrun a diet that included lots of Carbohydrates and Low Fat everything! He first became aware of the arthritis in his hips in 2002, when he experienced pain and stiffness confirmed on x-rays. He pushed on for 12 years (as he recommends to his own patients) managing to lose 25kg's in weight reducing sugar, pasta, bread and rice and junk food, to help ease the load on his hips and help make the joints last longer.
He waited to have his hip replaced till the pain was felt in every step and it started to disturb his sleep. When there was a marked fixed flexion deformity he sought advice from a colleague. Gary rarely complained and mostly when he did, it is an involuntary groan when his hip has 'çaught'. There is not much you can do about an arthritic hip except take medication to ease the pain and have it replaced when it all becomes too much. But, there is a clear indication for maintaining a healthy weight to take the load off the affected area and improve post-operative results. A low carb/healthy fat diet decreases inflammation and assists wound healing. Especially important when Gary wanted to walk his daughter down the aisle without a limp shortly after.
And here he is; 3 days post hip replacement at home with me, walking with one crutch, able to walk up and down stairs with 2 crutches and only taking aspirin and Panadol for pain… He truly is AMAZING!!
Gary Fettke is a man who is passionate about health. Something that happens when life is so close to being taken away from you and then, you get a second chance to live…
The American Diabetes Association CEO - Tracey Brown - has recently revealed her personal success with a Low Carbohydrate diet in an interview, talking about how seriously she takes the responsibility of being "the poster child of how to thrive while living with diabetes" and discussing how reducing her carbohydrate intake has had such a profound and positive impact on her health.
Remarkably, she claims she has been able to discontinue her use of insulin and significantly reduce her prescription medication. Tracey Brown predicts that she'll be able to "drop her last medication by the end of the year. (2020)"
Unfortunately, Diabetes Australia still refuses to budge on their "Type 2 diabetes is a chronic progressive disease" messaging and continues to produce industry aligned 'guidelines' for GP's that promote medicating over changes in diet. When you look at their corporate sponsors is it any wonder?
We can only keep trying to 'Change the Rule-Books'. Gary and I had no idea how much influence Vested Interests and Ideology had in shaping the dietary and health guidelines back in 2014. If we only knew then what we know now!
Please continue to #benoisywithme
Belinda Fettke
I support Gary Fettke and believe in his message. Once you see the benefits of LCHF you can never unsee them.
Like us on Facebook Like us on Facebook Like us on Linkedin Like us on Instagram
People Health
Alternative Meat 'NEWS' or simply a well placed Advertorial?
by Belinda Fettke
Australian of the Year 2020 - talking about sugar causing Type 2 Diabetes!
#yes2meat backlash to EAT-Lancet's Planetary Health Diet
Get the latest articles delivered to your inbox
© Copyright 2021 I Support Gary. All Rights Reserved. Privacy Policy Terms & Conditions Disclaimer


One of the key decisions in any app development will be your choice of tech stack, but this can feel intimidating. To help you out, here are a few key steps towards choosing the right option.
The secret to successful app production is to get it into the hands of your clients quickly and efficiently. But before you even start writing the code you will need to select a tech stack to power the whole thing. There are plenty of options available, and if you're not the most technically minded CEO in the world it can feel a little intimidating. Get it wrong and you may fear plenty of nasty consequences down the line.
In reality, there are only a few key things to remember and with a little guidance you can break these down into a few key steps.
First, let's clear up some of the confusion around what a tech stack is. In short, it is a combination of server side and client-side technologies – which you might also refer to as front and back end. At the back, or server end, you find an application and a database. As the application is built layer by layer, it forms a stack full of different components which are used to build the software applications and the solutions. The most common form of backend tech stack is the LAMP stack such as Linux or Apache. More recent forms include Ruby or Python.
From the user's perspective a good front end reveals itself if the app is easy to use and the entire experience smooth and seamless.
So, now you know what you're dealing with it's time to start choosing the stack, right? No. You might be tempted to invest a huge amount of time and effort into developing robust technologies and tools, but forget the most important thing – will the app work and is it needed? Often, the only way to understand if there is a market is to try it. So, an initial, agile, development may be a better approach. Sometimes something as simple as a web page on WordPress can help you to see if there is a demand and what people are looking for. Once you're comfortable that the product can work, it's time to press ahead.
Your choice of stack will depend on the challenges you face. Things such as the problem you are trying to solve will determine the language you use. Do you have issues which could impact performance? For example, if you're running it through an intranet, loading times could be slow. Legacy systems are a perpetual issue. If you have data which also exists on legacy systems, think about how this will all be migrated across. Security will be vital. Cyber attacks are continually evolving and you need to be certain your app will conform to the very latest standards.
It's surprising how often people forget about the users, but every product should have them front and centre. Think about the people who will be using the system and what they will need. Some groups, for example, may access it in different ways. They need something which is fluid, seamless and easy to use. Ideally, they want something which they can feel comfortable using within a few minutes. Increasingly, it's a choice between mobile and internet. The majority of internet traffic now comes from mobile devices, so you may want to choose a mobile first or mobile only option in which you either first scale the app for mobile devices before thinking about the internet – or focus solely on mobile. However, if you have a group which will come primarily from the internet, you may choose a web-first, mobile-later solution. It's all about where your customers are, what they want and how they will use it.
It is tempting to build everything from scratch – this gives you more control over issues such as security, but it can be expensive and time-consuming. There are plenty of high-quality open source platforms available and these may give you everything you need without going through the stress and hassle of developing it all yourself. Ask yourself a few basic questions. How do they manage security? Your data will only be as secure as their processes, but responsibility for that data rests with you. Think about the language and framework: Does it have features your developers need? Is the code easy to understand if you have to delve deeper? Can you get started quickly and will your existing developers be comfortable using it?
Finding the skills within your team can be a perennial problem for many small companies. Your developers may be more comfortable using certain pieces of technology. For example, some will be keen to embrace the latest tech and shy away from out-dated technology. If you don't have the skills within your team you may need to hire freelancers or third-party companies to help you out.
All technologies come with their sell-by date and in the digital economy, things can move quickly. When choosing a tech stack, you need a technology which is firstly mature, but also has some life left in it. The technology needs to be established and proven, but if it is liable to become outdated in the near future, it won't be much use. Equally, looking at the support provisions of any provider can help you decide which way to go. One which offers ongoing support will help you address any problems as and when they occur.
This can indeed by a technical topic and it is understandable if you feel this is something best left to the experts. However, experts can be biased towards certain platforms and will tend towards those with which they are most comfortable. Equally, they will be focused on the technology while you should be focused on what the business needs. The one may not always complement the other. So, while your developers' expertise will be invaluable it is still you, as the business leader who should have overall ownership of the process.


Let's face it, nobody wants a chipped anything- not a chipped tooth, a chipped nail, not even a 'chip on the shoulder'. So why put up with a chip in your windshield? You don't have to, not when Blue-Star's Fix your Windshield Do it Yourself Windshield Repair Kit is readily available at a store near you. The founder of Blue-Star Products Inc. has more than 25 years of experience in the windshield repair business. He is an inventor and co-holder in multiple patents in the field of windshield repairs, so needless to say, much thought went into the invention of Blue-Star Fix Your Windshield DIY Repair Kit.
1 Why Buy The Blue-Star DIY Windshield Repair Kit?
Why Buy The Blue-Star DIY Windshield Repair Kit?
Do you have little or no skills in windshield repair? Not to worry, this one is one of the best windshield crack and chip repair kits available today and is specially designed for the average vehicle owner with little or no prior windshield repair experience. This product effectively repairs chips to your windshield caused by damage from rocks or any other objects. It works well on any type of windshield leaving it smooth with little or no evidence of previous damage.
It's very affordable. Motor vehicle maintenance might not be the cheapest thing on your monthly budget but buying this DIY Windshield reapir Kit will not put a hole in your pocket. As a matter of fact, the kit might be cheaper than your pants and all its pockets.
The kit comes with other tools needed to fix your windshield. You will get a tube of resin (the key ingredient in windshield repair), an injector through which you will apply the resin to the chip, adhesive seal, pedestal, curing film to give you a smooth finish and a detailed instruction sheet with step by step guidance. The only thing you will need to buy separately is a razor for residue removal.
It's effective. The windshield repair kit not only fix chips in your windshield, it also prevents damage from spreading so there's no need for a complete windshield replacement.
It doesn't require too much of your time. Most of us are always on the move and are swamped with busy schedules. You may wonder if you will ever find the time to repair a windshield and complete all your daily duties. Well, this kit won't take up too much of your time. Application takes about ten minutes and then you only need to leave it to dry. While you are waiting for it to dry, you can do your other daily tasks.
It works on old chips and new ones. So whether you got a chip on your windshield two hours or two weeks ago, this Do it Yourself Repair Kit will still repair it effectively.
It's easy to use no matter what age you are. Just follow the detailed instruction sheet or watch the video on YouTube before beginning your application.
The end result is amazing. After application, the chip will be barely visible if not totally invisible. No one will easily notice that your windshield was damaged.
You don't need to replace your windshield with a new one. A brand new windshield is expensive and might require you to spend money that you don't readily have. Using this kit on your damaged windshield will save you money.
You might be unsure of how much resin to apply and might end up applying too much leaving you with extra resin around the damaged area. There is an easy fix for that. The extra resin can be easily removed with window cleaner.
Yes, it's as simple as that. Just apply window cleaner to the area with the excess resin and then enjoy your shiny, smooth and well-repaired windshield.
As was previously stated, buying this kit will not put a hole in your pocket. This kit will cost you only about$8-$10. What if you were to get a new windshield? That would cost about $150-$400. It's a no-brainer. The kit is definitely more cost-effective. Even if you were to hire a professional it would still cost you more and it will rob you of the satisfaction of knowing that you fixed your windshield all by yourself.
Just seeing the amazing reviews on this kit will make you want to go out and get it. If our windshield ever gets a chip on it, the Blue-Star DIY Windshield Repair Kit will be the first choice. We love the feeling when we successfully complete a do-it-yourself task and this kit seems like it will definitely ensure my success at repairing a windshield. More than 80% of the customer reviews on Amazon rated this product between 3-5 stars. That's definitely impressive and it shows that this kit really gets the job done.
Blue-Star Fix Your Windshield Do it Yourself Windshield Repair Kit definitely has star quality. It is affordable, easy to use and the results are great. If you ever need to repair a chip on your windshield this kit should be your first and only choice.


Habitat Loss is the single greatest cause of decline in populations of native birds. Replicating nature in our home gardens can go a long way towards creating sanctuaries for native birds struggling to survive.
Another important way we can assist our native birds is by selecting native plants for our home landscape. Research has shown that suburban yards landscaped with native plants host 8 times more native birds than those planted with non-native plants. Native plants are also ideally suited to our climate and soils and are adapted to co-exist with our native insects, which are a critical food source for native birds. Over 95% of land birds feed insects to their chicks, primarily caterpillars. This means we need to re-think our attitudes towards insects in our gardens. Not only are caterpillars infant butterflies & moths but they are also an essential element of our native birds' diet.
Over 95% of land birds feed insects- primarily caterpillars – to their chicks. We need to re-think our attitudes towards insects in our gardens.
Fruit is a source of winter food for over 20 species of native birds.
Berries are an important part of the diet of wild birds.
Left: Buttonbush (Cephalanthus occidentalis) is a favorite of Hummingbirds.
Right: Staghorn Sumac (Rhus typhina) is an important winter food source for native birds.
Aster seeds are eaten by Cardinals, Goldfinches, Sparrows, Chickadees, Nuthatches, Towhees and Indigo Bunting.
Seeds eaten by Cardinals, Goldfinches, Sparrows, Chickadees, Nuthatches, Towhees and Indigo Bunting.
Right: Black-Eyed-Susan (Rudbeckia) seeds are a favorite of Finches.
All are valuable winter food source for songbirds and provide nesting habitat for ground nesting birds. Host dozens of species of moth & butterfly caterpillars.
Johnson's Gardens carries an assortment of top quality bird feeders and bird seed for supplemental feeding of wild birds.


text:
using System;
using System.Drawing;
using System.Threading.Tasks;
using Foundation;
using UIKit;

namespace XamSvg.Ios2Tests
{
    public partial class TestUpdateViewController : UIViewController
    {
        //"svg.viewBox" is mandatory when using the "compute other dimension automatically" feature.
        const string Trial = @"<svg viewBox=""0 0 200 200""><circle style = ""fill:#f3f9ff"" cx=""100"" cy=""100"" r=""100"" /></svg>";
        const string Trial2 = @"<svg viewBox=""0 0 200 200""><circle style = ""fill:#00ff00"" cx=""100"" cy=""100"" r=""100"" /></svg>";

        public TestUpdateViewController(IntPtr handle) : base(handle)
        {
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Task.Delay(3000).ContinueWith(t =>
            {
                TheSvg.TraceEnabled = true;
                TheSvg.BundleName = Trial;

                Task.Delay(6000).ContinueWith(t2 =>
                {
                    TheSvg.BundleName = Trial2;

                }, TaskScheduler.FromCurrentSynchronizationContext());

            }, TaskScheduler.FromCurrentSynchronizationContext());
        }
    }
}

redpajama_set_name: RedPajamaGithub


We have added two more payment methods , cashU and Molpoints.
cashU can be used for players in Egypt, France, Germany, Ghana, Iraq, Ireland, Italy, Jordan, Lebanon, Malaysia, Middle East, Nigeria, Oman, Palestine, Poland, Portugal, Qatar, Saudi Arabia, Slovenia, Spain, Sudan, Syria, Tunisia, Turkey, UK, United Arab Emirates, and Yemen.
Molpoints can be used for players in India, Malaysia, Philippines, Indonesia ,Thailand, Australia and Singapore.


Analog Science Fact/Science Fiction (large-size) July 1963 issue. Analog Science Fact/Science Fiction (large-size) July 1963 issue.
July, 1963 issue. Only twenty five large-size issues were issued between March 1963 and March 1965, before reverting to a smaller, digest-sized format that it still retains today. This issue Includes part one (of two parts) of Harry Harison's The Ethical Engineer, and new stories by Robert F. Young, Kris Neville and Clifford D. Simak Oversize sf magazine (28 cm x 21 cm).
Title: Analog Science Fact/Science Fiction (large-size) July 1963 issue.


text:
Q: Pydantic create model for list with nested dictionary I have a body looks like this:
{
    "data": [
      {
        "my_api": {
          "label": "First name",
          "value": "Micheal"
        }
      },
      {
        "my_api": {
          "label": "Last name",
          "value": [
            "Jackson"
          ]
        }
      },
      {
        "my_api": {
          "label": "Favourite colour",
          "value": "I don't have any"
        }
      }
    ]
  }

This is my model.py so far:
class DictParameter(BaseModel): # pylint: disable=R0903
    """
    `my_api` children
    """
    label: Optional[str]
    value: Optional[str]

class DataParameter(BaseModel): # pylint: disable=R0903
    """
    `data` children
    """
    my_api: Optional[dict]  # NOTE: Future readers, this incorrect reference is part of the OP's Q

class InputParameter(BaseModel): # pylint: disable=R0903
    """
    Takes predefined params
    """
    data: Optional[List[DataParameter]]

In main.py:
from model import InputParameter

@router.post("/v2/workflow", status_code=200)
def get_parameter(user_input: InputParameter):
    """
    Version 2 : No decoding & retrieve workflow params
    """
    data = user_input.data

    print(data)

Output:
[DataParameter(my_api={'label': 'First name', 'value': 'Micheal'}), DataParameter(my_api={'label': 'Last name', 'value': ['Jackson']}), DataParameter(my_api={'label': 'Favourite colour', 'value': "I don't have any"})]

I want to access the value inside my_api key. But I keep getting type error. I'm not sure how to access List of dictionary with nested child. Plus, the value of value can be str or array. It is dynamic.
Is there any other way of doing this?

A:
Plus, the value of value can be str or array. It is dynamic.

What you currently have will cast single element lists to strs, which is probably what you want.  If you want lists to stay as lists, use:
from Typing import Union

class DictParameter(BaseModel):
    Value: Union[str, list[str]]

Unless you have the good luck to be running python 3.10, on which case str | list[str] is equivalent.
However, you do not actually use this model!  You have my_api: Optional[dict] not my_api: Optional[DictParameter], so your current output is a plain old dict, and you need to do data[0].my_api["value"].  Currently this returns a str or a list, which is probably the problem.  I suspect, though, that you meant to use the pydantic schema.
Note that data is a list: if you want all the values you need to iterate, something like
apis = [x.my_api for x in data]

A: Assuming you fix the issue in DictParameter (as pointed out by other answer by @2e0byo):
class DictParameter(BaseModel):
    label: Optional[str]
    value: Optional[Union[str, List[str]]]

And you fix the issue in DataParameter:
class DataParameter(BaseModel):
    # my_api: Optional[dict]  <-- prev value
    my_api: Optional[DictParameter]

You can access the values in your object the following way:
def get_value_from_data_param(param_obj: InputParameter, key: str):
    """
    Returns a value from an InputParameter object,
    or returns `None` if not found
    """

    # Iterate over objects
    for item in param_obj.data:

        # Skip if no value
        if not item.my_api:
            continue

        # This assumes there are no duplicate labels
        # if there are, perhaps make a list and append values
        if item.my_api.label == label:
            return item.my_api.value

    # If nothing is found, return None (or some `default`)
    return None

Now let's test it:
input_data = {
    "data": [
        {"my_api": {"label": "First name", "value": "Micheal"}},
        {"my_api": {"label": "Last name", "value": ["Jordan"]}},
        {"my_api": {"label": "Favourite colour", "value": "I don't have any"}}
    ]
}

# Create an object
input_param_obj = InputParameter.parse_obj(input_data)

# Let's see if we can get values:
f_name = get_value_from_data_param(input_param_obj, "First name")
assert f_name == 'Michael'

l_name = get_value_from_data_param(input_param_obj, "Last name")
assert l_name == ['Jordan']

nums = get_value_from_data_param(input_param_obj, "Numbers")
assert nums == ["1", "2", "3"]

erroneous = get_value_from_data_param(input_param_obj, "KEY DOES NOT EXIST")
assert erroneous == None

redpajama_set_name: RedPajamaStackExchange


text:
#ifndef PGUT_H
#define PGUT_H

#include "c.h"
#include <assert.h>

#include "common.h"

#ifndef WIN32
#include <sys/time.h>
#include <unistd.h>
#endif

#include "libpq-fe.h"
#include "pqexpbuffer.h"
#include "utils/elog.h"

#define INFINITE_STR		"INFINITE"

typedef enum YesNo
{
	DEFAULT,
	NO,
	YES
} YesNo;

typedef void (*pgut_atexit_callback)(bool fatal, void *userdata);

/*
 * pgut client variables and functions
 */
extern const char  *PROGRAM_NAME;
extern const char  *PROGRAM_VERSION;
extern const char  *PROGRAM_URL;
extern const char  *PROGRAM_ISSUES;

/*
 * pgut framework variables and functions
 */
extern bool		interrupted;
extern int		pgut_log_level;
extern int		pgut_abort_level;
extern bool		pgut_echo;

extern void pgut_init(int argc, char **argv);
extern void pgut_atexit_push(pgut_atexit_callback callback, void *userdata);
extern void pgut_atexit_pop(pgut_atexit_callback callback, void *userdata);
extern void pgut_putenv(const char *key, const char *value);

/*
 * Database connections
 */
extern PGconn *pgut_connect(const char *info, YesNo prompt, int elevel);
extern void pgut_disconnect(PGconn *conn);
extern void pgut_disconnect_all(void);
extern PGresult *pgut_execute(PGconn* conn, const char *query, int nParams, const char **params);
PGresult *pgut_execute_elevel(PGconn* conn, const char *query, int nParams, const char **params, int elevel);
extern ExecStatusType pgut_command(PGconn* conn, const char *query, int nParams, const char **params);
extern bool pgut_commit(PGconn *conn);
extern void pgut_rollback(PGconn *conn);
extern bool pgut_send(PGconn* conn, const char *query, int nParams, const char **params);
extern int pgut_wait(int num, PGconn *connections[], struct timeval *timeout);

/*
 * memory allocators
 */
extern void *pgut_malloc(size_t size);
extern void *pgut_realloc(void *p, size_t size);
extern char *pgut_strdup(const char *str);
extern char *strdup_with_len(const char *str, size_t len);
extern char *strdup_trim(const char *str);

#define pgut_new(type)			((type *) pgut_malloc(sizeof(type)))
#define pgut_newarray(type, n)	((type *) pgut_malloc(sizeof(type) * (n)))
#define pgut_newvar(type, m, n)	((type *) pgut_malloc(offsetof(type, m) + (n)))

/*
 * file operations
 */
extern FILE *pgut_fopen(const char *path, const char *mode);
extern bool pgut_mkdir(const char *path);

/*
 * elog
 */
#define E_PG_COMMAND	1	/* PostgreSQL query or command error */
#define E_PG_CONNECT	2	/* PostgreSQL connection error */
#define E_PG_USER		3	/* User error */
#define E_PG_OTHER		4	/* Other error */

#undef elog
#undef ereport
#define ereport(elevel, rest) \
	(pgut_errstart(elevel) ? (pgut_errfinish rest) : (void) 0)

extern void elog(int elevel, const char *fmt, ...)
__attribute__((format(printf, 2, 3)));
extern const char *format_elevel(int elevel);
extern int parse_elevel(const char *value);
extern int errcode_errno(void);
extern bool log_required(int elevel, int log_min_level);
extern bool pgut_errstart(int elevel);
extern void pgut_errfinish(int dummy, ...);
extern void pgut_error(int elevel, int code, const char *msg, const char *detail);

/*
 * CHECK_FOR_INTERRUPTS
 */
#undef CHECK_FOR_INTERRUPTS
extern void CHECK_FOR_INTERRUPTS(void);

/*
 * Assert
 */
#undef Assert
#undef AssertArg
#undef AssertMacro

#ifdef USE_ASSERT_CHECKING
#define Assert(x)		assert(x)
#define AssertArg(x)	assert(x)
#define AssertMacro(x)	assert(x)
#else
#define Assert(x)		((void) 0)
#define AssertArg(x)	((void) 0)
#define AssertMacro(x)	((void) 0)
#endif

/*
 * StringInfo and string operations
 */
#define STRINGINFO_H

#define StringInfoData			PQExpBufferData
#define StringInfo				PQExpBuffer
#define makeStringInfo			createPQExpBuffer
#define initStringInfo			initPQExpBuffer
#define freeStringInfo			destroyPQExpBuffer
#define termStringInfo			termPQExpBuffer
#define resetStringInfo			resetPQExpBuffer
#define enlargeStringInfo		enlargePQExpBuffer
#define printfStringInfo		printfPQExpBuffer	/* reset + append */
#define appendStringInfo		appendPQExpBuffer
#define appendStringInfoString	appendPQExpBufferStr
#define appendStringInfoChar	appendPQExpBufferChar
#define appendBinaryStringInfo	appendBinaryPQExpBuffer

extern bool appendStringInfoVA(StringInfo str, const char *fmt, va_list args)
__attribute__((format(PG_PRINTF_ATTRIBUTE, 2, 0)));
extern int appendStringInfoFile(StringInfo str, FILE *fp);
extern int appendStringInfoFd(StringInfo str, int fd);

extern bool parse_bool(const char *value, bool *result);
extern bool parse_bool_with_len(const char *value, size_t len, bool *result);
extern bool parse_int32(const char *value, int32 *result);
extern bool parse_uint32(const char *value, uint32 *result);
extern bool parse_int64(const char *value, int64 *result);
extern bool parse_uint64(const char *value, uint64 *result);
extern bool parse_time(const char *value, time_t *time);

#define IsSpace(c)		(isspace((unsigned char)(c)))
#define IsAlpha(c)		(isalpha((unsigned char)(c)))
#define IsAlnum(c)		(isalnum((unsigned char)(c)))
#define IsIdentHead(c)	(IsAlpha(c) || (c) == '_')
#define IsIdentBody(c)	(IsAlnum(c) || (c) == '_')
#define ToLower(c)		(tolower((unsigned char)(c)))
#define ToUpper(c)		(toupper((unsigned char)(c)))

/*
 * socket operations
 */
extern int wait_for_socket(int sock, struct timeval *timeout);
extern int wait_for_sockets(int nfds, fd_set *fds, struct timeval *timeout);

/*
 * import from postgres.h and catalog/genbki.h in 8.4
 */
#if PG_VERSION_NUM < 80400

typedef unsigned long Datum;
typedef struct MemoryContextData *MemoryContext;

#define CATALOG(name,oid)	typedef struct CppConcat(FormData_,name)
#define BKI_BOOTSTRAP
#define BKI_SHARED_RELATION
#define BKI_WITHOUT_OIDS
#define DATA(x)   extern int no_such_variable
#define DESCR(x)  extern int no_such_variable
#define SHDESCR(x) extern int no_such_variable
typedef int aclitem;

#endif

#ifdef WIN32
extern int sleep(unsigned int seconds);
extern int usleep(unsigned int usec);
#endif

#endif   /* PGUT_H */


Nowadays, PCR is an indispensable technique used in medical and biological Research labs. Developed in 1983, PCR is a versatile technique that allows a wide spectrum of applications. From the simplest applications, an amplification using plasmid or genomic sequences as template, to the Diagnosis of Hereditary or infectious diseases, the identification of Genetic fingerprints for Cloning, Mutagenesis, Sequencing or the analysis of Gene function.
Canvax™ offers a complete range of high quality PCR products with a proven track record of greatest performance in most common applications, like Routine PCR, Hot Start & Real Time PCR, High Fidelity PCR, Ultra High Fidelity, and more related Polymerases and Enzymes. Our Horse-Power™ and FastPANGEA™ products are specially designed to enhance the results of your research.
If you have any doubts, please use our Tools below to choose the right End-Point PCR product to ensure the success of your important research.