Today's episode of the Anthony Anderson show is brought to you by SunWarrior, sunwarrior.com and Mt. Gox, that's mtgox.com Greetings everyone, this is Anthony Anderson coming at you live from New York City and we're here today with a really special guest Her name is Andrea Cox and she is a raw food coach health strategist and a former fitness model Welcome Andrea. How are you? I'm great. Thank you for having me. Thanks so much for coming on the show. I really appreciate it. This is great My pleasure. So you have been you've been in the modeling world You're really well known now. How did you get into conscious eating and and like the whole foods lifestyle the raw food lifestyle? How did that all come about? Well, I was a I actually started out as a pin-up girl before I was a fitness model very young 20 and did that for a few years and then went over to fitness and Grace the cover of over 60 magazines. I got into conscious eating and You know organic and local and things things of that nature because I got very sick eating a high protein diet.  I was 28 years old and Just could not get up and down the stairs couldn't work out like I was doing and kind of an autoimmune thing and So that it was that that's what drove you into this lifestyle. So how did you first hear about raw foods? Well, I was reading a raw food book and the author lived in New York and I don't really want to bring up the name because I don't believe in what she has To say now now that I have the knowledge I do because she's kind of a you know You're a hundred percent or you're not not yes And I believe more and no percentages and just listening to your body But my mother actually suggested I fly out to meet her And so I did I flew out to Manhattan and I soon found out that it was her colon hydro therapist That had all the answers and So I went and had a session with him and it was amazing and Basically everything I learned about food I learned from him. He's a plethora of knowledge So after that I came back and I'll tell you what it was overnight.  It was a it was a mess I was you know Juicing things like broccoli and eating a lot of things raw that really don't digest well and The gas factor was high back in those days Yes, were you doing a lot of salads as well? Was there a lot of fiber in that diet? You know, I always had done salads one thing I didn't do as a fitness model and a model I I would not touch fruit or any type of sugar. I was miss anti sugar for years I I wouldn't even eat an apple um When I went raw and this is a true story I mean, I actually had to have a friend come over to kind of help me get over that The first time I ate fruit now.  It's it's not a big deal to me.  I honestly Eat high fat. I eat a lot of fruit. It kind of goes back and forth depending how I feel by the day What is your diet style like at the moment? What are you currently? What what's it like? What's the style? Well, I You know, I think we talked about before as a fitness model.  I'm not You know high fruit. I'm not high fat. I'm not low fat I really prescribed to the andria cox listen to your body diet And that's basically just assessing how I feel when I wake up in the morning with everything I do um, I'm finding it it has So little to do with what we eat and it's more now about, you know, our relationships with others and and You know exercise plays a role and in sun and getting your vitamin d and So diet is a very small part of it. You know, I'll generally have a green juice I'm a huge proponent of vegetable juice. I've not missed a day of juicing in eight years Um, so I'll have a big juice like 32 ounces. Sometimes I'll have like chlorella or whatever Okay, um today I you know for you know, skip the juice and did a ton of suppotes and um I might have a juice later in a big avocado salad. It all depends on how I feel I definitely eat fat. I definitely eat a lot of sugar with fruit. Okay. And um, yeah And what would you like to put in your green juices usually? What what's the mix? Oh, gosh, you know, it varies. I'm big into medicinal herbs like nettles stinging nettles I mean, you can just pop those right in the juicer. That's personally personally, it's amazing for um, it's so high in omega threes So it's amazing for inflammation. So is turmeric I do, you know, base of cucumber and celery and, you know, put a lemon to cut the green kale beat You know, beet greens great for the liver Parsley great for, you know, a good diuretic cilantro is a great key later Um, so I'm big into the herbs. Very cool. Very cool. Not just in a lot of fruit here I mean, occasionally part of an apple baby, um, you know, lemons, limes, I'm not into uh, I will do watermelon juice If I feel like I need to cleanse Okay, will you juice the entire watermelon or just the inside? Who are you talking to, Anthony? Absolutely. I'll juice that whole watermelon. The rind the rind has so many Nutrients it's high in chlorophyll. Absolutely Are there certain juicers that you would recommend to the audience? The green star is my uh, favorite. Um, yeah, I would say the the green star Okay And I've been working on a juicing book now for the past year where I've recorded all my recipes people kept emailing me Um, after I wrote Rolicious recipes my uncooked book and they said, you know, would you work on a juice book? A smoothie book, but I'm really not into the smoothies I'm into the juices the herbal teas the elixirs and the soups not really a smoothie girl. Yeah. Yeah Well, I have to say you look really radiant. Your skin looks great. Your hair looks great Have you noticed a change with the diet? I mean you were modeling What when you were in your 20s as well and now that you're in your early 30s Have you noticed that I feel like you're looking better than you did when you were in your early 20s Well, you know, if I was there, I'd give you a big kiss and I I feel the same way about you. Um, but I'm not You know, I have noticed a difference. I had horrible acne the whole time I was in high school and as a model I had Terrible cystic acne my skin is amazing now. Um, I've had nothing done to my face No Botox no anything and my skin is really the best it's ever been Um, my hair and this is a true story when I was a fitness model I wore hair extensions for years and this is all my hair It's my beautiful hair and I literally have to get my hair cut at least every three weeks because it grows so fast The same with my fingernails. So I really think um, it's a combination of diet and juicing But the herbs I take the Chinese herbs. Um, I prefer dragon herbs are a huge part of my regime And what would be some favorite ones from that line that you like to? Hoshu Wu, I mean, there's your hair growth right there. Hoshu Wu will Will grow your hair and turn your hair from gray to it's natural color or whatever Um, I like pearl powder for skin. It's it's a beauty It's a beauty herb Yeah, gynastema. Okay proponent of gynastema And with the um, and so yeah with the pearl you're putting that topically on your skin. You're not ingesting it or both No, I'm ingesting it. Oh, okay. I'm ingesting it. Okay. Very cool. I don't put anything on on my skin I mean I make up on today because I was gonna see you. Um, but But um, I don't put I don't put anything on my skin makeup as far as you know, when I go work out or when I run on the beach or whatever Um, I like to actually I live right in front of the ocean So I like to go and wash my face with the ocean water I do use a kengen water system as well. Um and clustered water I also use clustered water so I saw a news piece that you were on and you were telling him about grounding the grounding technology And how long have you been doing that? When did you first hear about that kind of stuff? You know, I first heard about it From david wolf years ago and you I heard you say it um one time I don't remember. I think it was a video clip before I moved to california And so in ohio, I'm a you know native ohioan and I just moved to california a year ago I used to go in the winter stand in the snow or in the summer I'd stand in the grass and try to ground myself that way not on the concrete not on the carpet But you know on real ground and now I just walk across the street and stand on the beach Yeah, that's awesome Yeah, so you've been working with young women with eating disorders. Have you I what's the experience with that like are they really are they open to the ideas of the juicing and the raw foods Or is it is it a little bit more difficult with the younger crowd? well, um The one thing about eating disorders. It doesn't just there's no age discrimination there A lot of women I work with are older A lot of them are are young that have eating disorders And you'll find that women with eating disorders They have such a vast knowledge of nutrition because they read so much about it because they want to get well I think the first thing I would tell any woman and in yes, they are open to juicing and And eating raw living foods The first thing I would tell any woman that's struggling with an eating disorder two things number one have their zinc levels checked Low zinc is such a sign Of binge eating bulimia anorexia low zinc is is what anyone will tell you and number two I try to teach women that they don't cut calories. They don't count carbs. They don't You know watch their sugar they can eat abundantly of living foods To get their bodies back in balance. Don't watch the portions in the beginning I didn't and I still don't I mean I've been been raw for seven going on eight years now And I never look at portion sizes. I mean Big huge shallots should be the norm. It's fine to do, you know, it's okay If you're sitting down to a raw meal and these women are so Um Corroded in the mind from all these images that have been airbrushed. I mean as you know being a model I mean I remember being airbrushed one time in my eyes They had my eyes brown and my eyes are green.  I think a lot of people are kind of scared at first or almost maybe ashamed because Just the art culture and all that kind of stuff. It kind of scares people but What would you say to someone that's looking to get into it? Would you say once a week once a month? Maybe like a few days in a row do some enemas at home go to a professional I'm gonna get slam for this. I know the emails, you know, just let them come Uh I honestly am a huge cheerleader for colon hydrotherapy. I would put it on a bumper sticker if I had one Um, I think when you first start out, especially transitioning on the raw Um once a week is fun. My own personal opinion. You do have to watch your flora I mean you can wash all your good bacteria out. Yes, but we are so Toxic right now. I mean from what we inhale to you know What we're eating what's on our food to everything. I we're so toxic that to just Do it even doing it once a month is beneficial um I really feel like I didn't start absorbing food until I started getting colon hydrotherapy and I don't have to Do it as much now, you know, I mean once a month is fine once every three months is great But I would say you know test practitioners Because you really need a good colon hydrotherapist I think I have the best one in the world But if you don't go to a good therapist, you can get a bad view of colonics Yeah, are there any that you'd like to recommend? I mean maybe the person in new york or the person in california that you're working with Any plugs you'd like to make? um If okay, I'll tell you what dana Um with refresh yourself in san diego She is amazing She would be my pick for san diego. Definitely in ohio. It would be um Betro buck In new york, it would be guilt jacob's That would be it that those would be my recommendations because I've had colonics where I've not um really resonated with the therapist You really have to go to a therapist who knows about nutrition Knows about food can assess what's coming out and and you know, I really think humic and folvic acids are a huge Huge part of um the whole cleansing process. Ah interesting. Okay. We'll get right back to that I really want to talk about those especially Let's do a quick little sponsor break and we'll talk about Our lovely sponsors and the first one would be sunwarrior and that's sunwarrior.com Well-known superfood company. They offer rice proteins really nice green powder Actually, folvic acids a lot of really good stuff They're actually coming out with the warrior blend in I would say about two weeks And that's a blend of three different things. It's the full spectrum of amino acids I'm a huge fan of sunwarrior protein. I use their vanilla rice protein pretty much every day I use about three scoops a day. It's great stuff sunwarrior.com and mount gox mount gox is the Number one trade site on the on the net for bitcoins It's available in canadian dollars australian dollars british pounds and us dollars and franchising is also available And in 16 currencies now. I've just been told mount gox.com So if you're interested in bitcoins, these are the people to go through that's mtgox.com Okay, so we're back. So you've had a lot of experience with the humic and folvic acids. You want to tell us about that? Absolutely, um, you know, I really and and again, I want to go back to you know, with the women I help It's more about just getting them to quit sticking the finger down their throat or what have you it's more about just transitioning on to a more living foods diet Or way of life. I like to call it You know that I don't push humic and folvic acids on anyone At least not in the beginning nor do I push colonics on anyone. It's really you know about listening to your body But I really didn't get the results until I started Cleaning my system out with humic and folvic acids. Um, I Then developed my own products that are in a base of humic and folvic acids with over 400 Ayurvedic herbs medicinal mushrooms and um, I use those on a daily basis prior to my meals Great great. How long have you had that line? It's been about a year and a half And um, it's it's doing great. I sell them in one pound tubs And it's my breakfast formula my p.m. Formula and I do anywhere from three to six tablespoons Mixed in a little coconut water or coconut oil Uh with a little stevia or honey in it and it tastes like amazing And um, I love it. Yeah, it's great great for hormone balancing. There's nettles. There's alfalfa in there There's hoshu woo medicinal mushrooms humic and folvic acids. I also like ulmaca I do like ulmaca health. They've sent me some products and I like their products as well. Okay, okay, great um Yes, oh, okay. Have you um experience. Do you have a shower filter as well? You know and what's up? What's up with that because I know they have a shower filter omica does Oh, really?  I had a reverse osmosis system and here in california I don't and we have the worst water in san diego. So i'm gonna get on the shot a shower filter I do use kengen water Okay to think but i'm gonna get on that Yeah, I think a shower filter is really one of the the first the first things I recommend for people just because of the steam and everything um Yeah, personally, I went through a needing disorder as well And it happened when I actually got into raw food because there was such a disconnect from what I was reading and what I was still craving And so I was Belemic for about a year and I really didn't tell people until maybe about a year ago because I was kind of Kind of ashamed about it and I was you know telling people You know all this stuff and I it was actually bulimic for a time And I felt like I just kind of wanted to maybe bury that story a little bit Have you come across any young men that are bulimic? Absolutely. Um, I've had several people who have contacted me that are male That and thank you for sharing that by the way because most people don't Um that have had bulimia anorexia binge eating disorder bed. That's a big one Um, yeah, that's what it was for me Yeah, you know, I treated all the same first thing the zinc second thing. I mean, you know Really addressing the emotional aspect of it because a lot of times when we're stuffing it in We're really stuffing down our feelings and I'm sure you're familiar with that So I mean our issues Lodge and our tissues, you know, when you when you that's why I'm such a big proponent of colon hydrotherapy when you clean all that out You're cleaning a lot of emotional toxicity out with that. It's not just the you know The Last week's lunch, you know, it's uh, there's a lot of emotional things that they get bound up as well So, yeah, it goes deep. Do you ever do enemas at home? Of course, okay. You're so transparent. It's awesome come for a week's day I'm such a coffee enema and you know, not all the time you can do too many coffee enemas, but I've experimented recently a lot with um, amino acid enemas.  Do you have any events coming up? Like are you do you plan in I know you do some public speaking? Is anything going on in southern california coming up? Um, are you traveling around the states? Yes, I'm um, I'm going to start putting on classes at the harvard cooking school in la joya Um, our harvard girl cooking school in la joya. So i'm excited about that BB the owner i'm working with her to put on classes my first one is saturday october 1st from 2 to 4 and um, space is limited so Um, i'm doing that i'm working on getting my second book. I have one book i've written already ralicious recipes My second book juicing for beauty is coming out. I'm excited about that And then i'm working on a second dvd series. I did a dvd series a few years ago And you know the recipes and the juices were great in the series, but it's really not what I represent today Um, so I start shooting that next week and i'm really excited about that So you have you noticed an evolution in your in your raw food diet from when obviously when you started you were doing like The gassy cruciferous stuff and so since that time Have you noticed the change obviously? I mean i'm sure this has happened But can you share with us the evolution that you've experienced in the past five years? You know the number one tip Comes from my mother who I would call her endlessly the first two years. I was raw and oh my gosh What do I do and I don't know what to eat and this gives me gas and my mom Who's not in raw food if she knows more about raw food than anyone on the planet now because of me And she always said listen to your body And and that's what I do because we can get so wrapped up and all there's a lot of people putting videos out there now Giving advice that you know some of them know you know a little bit and some of them don't let's be honest here, so You know you you can get really caught up in watching other people's videos and things like that and You know saying oh well so-and-so does a 40 day juice bath.  Yeah. Yeah So on the other side of the coin, um, how about exercise? What do you do to stay in shape besides the the healthy diet? I'm so glad you asked that anthony That has changed a lot over the years I used to really beat myself up and I had a running coach in the morning on an empty stomach for an hour And lift weights for an hour and a half, you know, I worked as a fragrance model During the day at sacks with avenue and nemans and I Right after go to the gym for an hour and a half. It was horrible. I had no energy I looked old in the face. It was awful Um, but now I get up. I'll jump on my rebounder I'll um get my infrared sauna for 20 or 30 minutes I'll do a chi machine anything to move the lymphatic system because it's all about getting the lymph system moving I only work out for about 30 or 45 minutes a day. I take off one to two days a week Um, I you know, I'm getting to the point now And you know just recently where I really want to be around people instead of It all being about my workout schedule my eating and my juicing. I really want to be around people. So Um workouts have taken a back seat. However, I think they're very important I think we have to move our body even if it's just getting out and taking a walk every single day And you can tell you can tell a difference So I mean once you're moving around and I remember when I go back home to visit family and I'm not moving so much My knees start to get a little stiff and it's like when you're in that routine of movement and you stop You can really feel it the body speaking Well, I mean you have a great physique and and I mean I've seen some of your videos of you working out and It's impressive quite frankly. I mean the the crunches and things like that I think women and men are different too in what they need I actually feel that men need even a little more movement than women And the only reason you know as far as weight-bearing exercises But I think it's important for women too because we've got to build that bone mass, especially as we start to age It's really important. Um, however, I I really feel like every day when you get up First thing in the morning 30 to 45 minutes if that's what feels right to you Is great, but we don't need to be pushing it for an hour and a half two hours three hours You know, I mean It's nonsense Yeah, I think and I think when someone sets it up like that How long are they really going to stick with it? You know, I think a method like yours It's so much easier to stick with that routine and then see the long-term results I agree. Yeah Are there any books that you've been reading recently that you'd like to recommend to the audience? Um, you know what? Yeah, there there is um I don't want to get up Sure We you know two of them would be I think the one's called train your brain. Okay, and um Hang on. Yeah, no problem. No problem Um, let me see for me. What have I been reading? Oh, I've read a reading a book recently called smile Exclamation point the secret science of smiling by a land sun star. It's called smile with an apostrophe Check that out. It's amazing changing my life like smiling if you walk on the street smiling It's like you're in a bubble of blue light all of a sudden and like things start coming to you. Anyway, sorry Okay, you're back. That's okay One book it's in my infrared sauna right now.  It's called praying god's word a friend gave it to me years ago and it just has um Little prayers in it from when you're struggling with things decision-making things like that that you can go to so I like that I love evolve your brain I love this book great very good Very helpful Louise hey, you can heal your life. I have my little Markers in there. Uh big thumbs up That's awesome. Uh This is my food bible arnold errant the mucous diet system. Uh-huh We love you arnold And then this one's really good Michael poland food rules and I like it because it's just it has Simple things like buy your snacks at the farmers market. Yeah, you know Just every every page is a different, you know, if it came from a plant eat it if it was made in a plant Don't we love that. Yeah, that's great. I don't love that So, um, can you tell the audience how to get a hold of you online like facebook your website? Anything that they want like youtube it's up to you Um, I have three websites. The main one is the healthy haven dot net It's the healthy haven dot net. I also have alkalis with andrea Um, occasionally I run juice fasting retreats and raw food retreats I've got coming up in january that i'm very excited about that'll be a five-day retreat and where will that be? That'll be in southern california. Okay. Okay. Yeah, that that's really, um, booking up fast So I would ask people to email me at andrea at the healthy haven dot net Or on facebook, um, I think i'm almost to my cutoff, but it's andrea l cox And um, yeah, that's basically it. Great. Great. Well, I want to thank you for coming on the show I think a lot people are going to get a lot from this because Super inspirational. It's good to see a real radiant young woman talking about this stuff because it really it gets people Tuned in and they can just see the results. So I really want to say thank you for coming on the show And it's it's been a real honor like sharing your story here Well, it's an honor. I I look up to you like so many I think men and women do I mean, you've been such an inspiration in so many people's lives including mine. Oh, thanks. You're Likewise likewise. Um, all right. Well, thanks so much and I'll see you online and hopefully we'll see you in southern california pretty soon I hope so. Take care. Bye. Bye. Bye. Thanks. Thank you All right everyone that is episode 12 for the anthony anderson show Thank you for tuning in and remember to check her out at the healthy haven dot net It's a really great website a lot of cool books a lot of good resources You'll learn a lot. So my name is anthony anderson and this is the anthony anderson show and we will see you next time Take care. Peace


Hi, my name is Oliver and I'm a software engineer at Bloomberg in New York City And I'm here today to talk to you about a tool my team built and some of the design that went into it Today will mostly be discussing REST APIs, CLIs and API documentation But before we do I want to make you aware of some prerequisites To follow this talk it'll be helpful to have a basic understanding of what a REST API is the example code shown here is Is a basic implementation of a REST API endpoint and fast API But when you see something like this just know I'm talking about an API endpoint in general For example, this endpoint is used to get information about servers It uses a get method and its path is slash device slash compute slash servers It'll also be helpful to know a little bit about CLIs or command line interfaces When you see this classic green text on a black background just know I'm talking about CLI And finally we'll be discussing API documentation. I don't expect you to know the intricacies of the open API spec But when you see something like what's shown here, no, I'm referring to API docs With that other way, let's get started So at Bloomberg, I'm on a team that builds automation to make our infrastructure more reliable scalable and efficient Without getting into too many details a while back. We were tasked with building a new tool Its purpose was to unify the existing tools that our operations teams use And in doing so increase repeatability and efficiency Now for the toolset we knew we wanted one API to host it But we also needed a CLI for individuals to interact with it to achieve this There's a fairly common pattern that you might be familiar with on the left here You have a REST API with various methods paths It speaks JSON and is designed to be interacted with programmatically and on the right You have a CLI made for human interaction and it translates between the REST API Operations and more human-friendly commands syntax and output Usually these applications are tightly coupled and the CLI is purpose written specifically for the latest API spec However from past experience, we knew that this design presented a couple challenges We knew our API would have quite a few operations and might indeed never stop growing depending on the requirements of our infrastructure While building a tightly coupled API and CLI might be easy at first Keeping the two in sync can be cumbersome as the project grows. Now, let's talk about why So a tightly coupled API and CLI is a simple and straightforward approach The API is for programmatic access the CLI is for human interaction and CLI code translates between the two But when an API and CLI are tightly coupled Every time you modify one you likely need to modify the other You also need to continually maintain two separate code bases with different automation deployments and team knowledge Plus API and CLI versions can get out of sync and often require you to synchronize your deployments to avoid compatibility issues It was at this point that we had an idea We were already planning on maintaining good API docs for other API clients using the open API spec So what if the CLI commands were just based on the API documentation? With this model the CLI would generate its commands by simply reading the docs every time it starts But what are the advantages of this approach? So when your CLI is auto-generated new features and fixes only require an API change Because of this the CLI and API can never get out of sync and you avoid a bunch of the issues we just discussed However, it's a bit more complex and it should be noted that with this design You still have two code bases and need to deploy the API and CLI separately But the advantage comes from how this scales over time In the beginning the CLI and API will likely both be getting changed very frequently because they're under active development But when the CLI matures the API can still get continual updates with code fixes New features etc and the CLI should hopefully only require. Thank you minimal maintenance effectively Effectively at a certain point you can stop deploying the CLI and continue changing the API, but the CLI gets updated for free So we put together a first draft with simple one-to-one mappings between the API and CLI API paths would map to space separated CLI commands Each API parameter would map to a single CLI flag and the CLI would just print the JSON API response We weren't the first people to think of something like this. It's been done a couple times in the past You can just Google it or ask your favorite generator the AI to do it for you So let's look at the scheme in a little more detail Here's a sample API endpoint that's used to list all the servers the API knows about It uses a get method its path is slash device slash compute slash servers And it takes an optional cluster underscore name query parameter to filter results by cluster and it responds with JSON containing a list of found servers Now if we were to naively generate a CLI command from this endpoint it would look something like this to use it You need to fully type out get device compute servers Specify your cluster with the dash-dash cluster underscore name flag and you get back the HTTP status code and this beautiful JSON blob in response Unfortunately, if you can't already tell this scheme leads to a bad CLI and it is not much better than just using curl So we realized that simply bolting the API and CLI together with some simple mappings was not going to work Doing so created a really poor CLI user experience The problem is that good APIs and CLIs are designed for very different purposes APIs are made for programmers writing computer code But CLIs are fundamentally a human interface the underlying issue was that we were trying to map API concepts to the CLI domain But rest API paths were never meant to be typed CLI commands API parameter names were never meant to be typed CLI flags and usually API response data is not meant to be consumed raw by humans As we developed our first draft and we kept running into these issues We tried to think of different ways to make the directly or the auto-generated CLI More human-friendly by changing the API. Maybe we have shorter API paths. So the commands are easier to type Maybe API path parameters could always become positional arguments on the CLI We had a couple more ideas like this But ultimately we're looking at it in the wrong way the end result would have been a bad API a bad CLI or both If our CLI was going to auto-generate its commands from the API, we needed a translation layer to bridge the two So then it occurred to us. Maybe we can include this translation layer in our open API docs The docs already contain all the basic information a client needs to use the API So why don't we include a little additional information on how to define the CLI interface the API as well? Let's discuss how to do this So one problem we saw was that typing out long API paths as a CLI command is a lot of work for a human and a very poor CLI experience Ideally long API paths could be abstracted to succinct intuitive CLI commands So why don't we have the docs just to find a CLI command for an API endpoint then you go from this To this Shorter commands mean less typing, but they're also cleaner and easier to understand Another obvious problem we saw was the API output formatting Rest API's often speak JSON, but JSON is not very human friendly. You can see that here Even if we pretty printed this JSON, it's not going to be easy for a human to read So what if the docs included instructions on how to translate the JSON into something easier to read then you can go from this To this Into accomplish this translation, but still keep the CLI completely decoupled from the API We use Jinja templates If you're not familiar with Jinja, it's a relatively simple templating language that is widespread use in the Python community So the docs would contain a server-defined Jinja template for each API endpoint and the CLI simply has to pass the API response through the template to get the human friendly output There's a little more nuance to the output formatting problem though We observed that CLI users often wanted the ability to display the same essential data, but in slightly different ways For example here instead of the table. What if the user wanted the output is CSV? Well, it would be silly to have multiple virtual identical API endpoints whose only difference is how the output is displayed to the CLI user But we could have multiple Jinja templates for a single API endpoint and give the user a way to choose between them We could have one template to display the output of CSV triggered by the dash dash CSV flag Maybe another template just to display network information triggered by the dash dash net flag And of course all these options would be shown to the users in the command help text You also might notice that dash dash JSON flag there, too That gives the CLI user the option to display the raw JSON output from the API and pipe it to a file or JQ or something else Another issue we noticed in volto arguments were passed to the API Originally, we just planned on having one CLI flag per API argument However, take a look at this get server command generated from the API endpoint code shown to the right The dash dash hostname flag isn't really buying us much There's only one required argument to the API endpoint and it's just more for the user to type So why not include the ability to just make arguments positional like this? That's a relatively simple change, but it definitely makes the command more human-friendly Staying on the topic of arguments. We noticed another unfortunate consequence of mapping API arguments directly to the CLI It's often handy and good code hygiene to have descriptive variable names in your code Here on the right We've an API endpoint that collects logs for a given server and saves them to a file system to represent the log file Destination we've a descriptive variable called destination underscore file path Well, this variable name might be helpful to programmers It's an awfully long and cumbersome CLI flag to type not to mention that the use of underscores in CLI flags doesn't follow POSIX conventions So why don't we have the ability to specifically define the CLI flag and short flag used to represent a given API parameter like this To specify destination file path now you can use dash dash desk path or just dash P Again little improvements like this go a long way in improving the CLI users experience The final problem we observed with API and CLI argument mapping was that sometimes arguments just couldn't easily be represented using simple strings What if the CLI command need to upload a local file? What about Boolean CLI flags whose simple presence represents true? What about list arguments with a fixed or dynamic number of entries? We knew we needed to build a dynamic system to represent unusual API arguments on the CLI but in a human-friendly way All right. Now that we have a clear understanding of the problem. It's time to implement some solutions While we use many of the great open-source projects you see here. We're going to primarily focus on fast API If you aren't familiar with fast API, it's a great open-source web framework for Python Well, there are numerous good reasons to use it one feature. We love is the support for automatic open API dock generation Here on the left. We've a simple fast API implementation with two endpoints with just this code fast API Automatically generates the open API docks you see on the right However, what we see on the right is not the actual documentation itself, but just a pretty rendering of it and the actual documentation is defined in JSON and looks like this This JSON is the actual open API spec which contains all the information a client needs to know and as you can see The JSON contains a section for each path on the API. This is what our CLI will be parsing to generate its commands So let's take a closer look at the open API JSON Here on the right, you can see the open API JSON generated for the get hello endpoint on the left It contains a summary a description of parameters and a little bit more information than I left out for simplicity For our use case we need to define extra information for each API endpoint so the CLI can configure itself So we just added an extra section like this Each endpoint gets a CLI section that can define things like the actual CLI command the ginger formatters and more Fortunately for us fast API is a neat keyword ARG called open API extra That allows the users to embed arbitrary data in the open API spec for an individual endpoint and it's used like this You just include your arbitrary object in the endpoint decorator and it's automatically nested in the generated open API spec Now we could just shoehorn a huge dictionary into every endpoint decorator to define the entire CLI spec But that would be crude and not very readable So instead we decided to implement our own child class of the fast API API router But we added some additional arguments to include the CLI specification as well Something like what's shown here and with that we can now define our API endpoints and associated associated CLI commands like this We write our endpoints just like we normally would in fast API with the option of specifying a CLI command in just a few extra lines Of course, you still need to define the specific ginger templates But we often found that they could be reused between different endpoints and they could live somewhere else Well, this is all you need to describe the CLI command for an endpoint. We still haven't covered how I'll handle CLI arguments Fast API already offers a rich set of tools to define API argument behavior Here we have the query class to define a query parameter and the field class to define individual fields and a JSON request body with pedantic There are similar classes to define other types of API arguments as well and the information defined in these classes is also reflected in the open API JSON Like the fast API endpoint decorators, it's also easy to tack on extra information So just like the endpoint CLI specification We use pedantic to define our model Added to the argument declaration and it automatically shows up in the open API JSON where it can be consumed by the CLI All right, so now that we have all the pieces to implement a CLI command for the API endpoint Let's put everything together Here on the left we have an endpoint from earlier that's used to get a list of servers and on the right We have a CLI command that we want to be generated for this endpoint to implement the CLI command. All you have to add is this That's it. Just a small amount of information in the CLI command is generated by fast API open API in our dynamic CLI Now that you have a good understanding of the design and implementation, let's see it in action I don't want to bore you with more monospace text on a black background. We've all seen enough During the conference, but I think a live demonstration is a great way to showcase the utility of what we built All right, bear with me for a moment where well, I reconfigured my screen And I hope that the live demo gods are just All right, I'm gonna run a few things here these top two windows don't worry if you can't read them It's not important. I'm just gonna say what's happening there so in the upper left here, I'm gonna run something called Infra API infra API is just a demo API I wrote for interacting with fake infrastructure It's written in fast API. It's got all those extra annotations We talked about to implement a CLI interface for it and it's running locally on my machine on port 8001 But instead pretend a it's running in some server and a data center in Virginia In this window and it is this readable for everyone Okay, in this window, we're gonna run infra CLI Infra CLI is the CLI that interacts with infra API and it's auto-generated from Infra API running above so it's got a couple sub commands here get server delete server new server and list servers if You look closely when I run infra CLI Up here, you can see a call come in to infra API That's the CLI on start grabbing the open API JSON parsing it and generating its commands So let's see what infra CLI can do So we've got the list servers command let me show you the help text It's used to display a list of known servers in the system It's got a dash-dash cluster flag to only show servers in this cluster And it's got a couple formatters a JSON formatter Just play the raw JSON a CSV formatter to display the output in CSV formatter in CSV format and a net dash-dash net flag to display server network information So if we run it like we did before we can see our server output in a nice column separated table If we specify the dash-dash cluster flag We can see just the servers in that cluster if we specify the CSV flag We see that same output but in CSV format So We've got our list server command and we got some feedback from our users. They say First of all list servers is too much to type instead. We just want to type LS servers Okay, and they also say you have some horrible typos in your description and you should fix those Okay, so let's see what it takes to fix those So I'm going to open up the source code for info API here. It's not important that you read all of it I'm just going to point out a couple of key things So here on line 72. Yeah, you can read that Here on line 72 is where the decorator is to describe the to define the API endpoint behind the LS servers command You can see the path here slash device slash compute slash servers Then on line 76. We have the CLI spec just like what we talked about and Within the CLI spec is how we define the behavior of our CLI. So on line 77 We've got the help text with our typos in it. So let's fix those All right, and then on line 78 We have our command list servers and they said they wanted it to be LS servers save Exit out of that if you were looking closely above the API restarted That's because I have it configured to automatically restart when its source code changes But picture instead you cut a branch you made a PR you merged it you deployed it It went through CI and you deployed it to some server somewhere So we're going to run in for CLI again now LS list servers is LS servers and if you look at the LS servers help text No more typos So we get a little bit more feedback from our users they say this csv flag is great But what we really want is a tsv flag or tabs separated values Okay, let's see what it takes to implement that Go back to our source code. We're going to open a file called format.py. This is where we just Define all our formatters. So on line 121. We have our csv formatter TSV is a lot like csv. So let's just copy that We're going to change it. We'll change all our commas to tab We're going to change our flag from dash dash csv to dash dash tsv Why don't we add a short flag? That's just a dash t and then of course our description should be display servers in tsv format There's two more quick things we got to do in our formatter section. We have to add the tsv formatter for the API endpoint and Then we have to import it Save we saw our API restarted. So that means it worked successfully and Let's see the command now LS servers now has a dash dash tsv flag And if we specify it we can see that same output but in tsv format To recap what we just did we changed three different types of CLI behavior just from the API code The CLI code was completely static the whole time All we did was change the API code and the automated automatically generated docks that it creates and the CLI pulled those in I want to show you one more quick thing So in this window up here, we're going to run something called meal API. It's a mock API built to interact with meal ideas It's written in fast API. It's got the same annotations to implement a CLI interface for it And it's running locally on port 8002 So let's see meal CLI All right, it's got a couple subcommands We'll just run meal CLI meals and it prints out a list of meals a lot like in for CLI I Don't want to show you anything more about CLI meal CLI, but I want to show you what's behind it In for CLI and meal CLI are the same thing They both are aliased to a program called auto CLI where we pass them the API URL So instead of running in for API. I could just run Auto CLI API URL local host 8001 and that's in for CLI We change the port by one number change the URL That's meal CLI You can have one physical CLI code base that can implement any number of virtual CLIs depending on what API you pointed out and when you want to update your API Update your CLI you just change your API and the CLI gets updated for free. That's all I got Thank you Oliver for quite an informative session So if we have some questions, there are two microphones on that side of the room If you can please just walk by there that would be nice And also for others the lunch might have been served in the lobby. So that's another interesting thing Hey Thank you for your talk. Can you hear me a little bit? I'll guess I'll just that's better. Yeah I'm wondering so so API calls are typically very atomic and On the CLI side, I would like to just kind of chain them together. Is it possible to kind of add? Just like chains of commands on the CLI without changing the API itself So add multiple API endpoints behind a single CLI call. Yes, so for example add a server and list them so Sort of we've talked about that and we haven't added it to ours yet Basically, what we talked about is having so called like a virtual CLI command where I could define a CLI command in the API Code and maybe we'd have a ginger template that says call edit server Then call list server and so the CLI reads that and it reads the virtual endpoint and then it knows Okay, I can call edit and then I can call CLI List servers so that we can still keep everything defined in the API code But the CLI behavior can change, but we haven't implemented that yet. Okay. Thanks. Yeah. Hi. Thank you very cool stuff Can you give us some details on how the code generation is working on the CLI side? It's just pulling down the open API JSON and then basically I'm running it I'm using arg parse. I probably should use some cooler new CLI thing I saw a really great talk about typer yesterday And maybe one day we'll use that but for now we're just using our parse sub commands And then there's some simple translation in there where we read the specific specification like I'm for one of the arguments If it's got a flag name that you want to use we have to use that for our parse pass them to our parse Then map that back to the API argument All right, cool. Thank you. Sure Thanks for the talk. It's very interesting. Thanks. I just had a quick question So you were making command shorter and the argument shorter and that that was very nice, but you are always Typing infra CLI at the very beginning Mm-hmm, and I was wondering is there way to not type that where you could you like enters into sub CLI system and just A lot services enough to do it like sort of so I think what you're talking about is sort of like an interactive mode Like you drop into a sub shell. Yes, I Didn't do that in this program in our internal one that isn't public We have something like that where there's a sub shell and it wouldn't be very hard to add In this in fact in the slide where I showed the The open-source projects that we use one in there is called prompt toolkit Which is a really nice open-source library for doing just that and creating like dynamic Sort of captive CLIs and so it's very possible. But in the program I wrote for this What's this called again from the program? Yeah, the open source one. Oh, it's not open source. Sorry. Oh, sorry But it's called auto CLI, but yeah, okay So if this CLI like dynamically fetches the open API it's that up How do you deal with breaking changes like if somebody's build a script on the CLI and you do a backwards incompatible change on the CLI spec is there any versioning or pinning or maybe like embedding a particular you can imagine this CLI can change Independently from the endpoints right and all this CLI should still work I'm not sure I understand your question because I think what we're trying to do is basically Avoid that all together like there is no CLI sort of it's only what's defined in the API now if you mean like someone wrote a script Yeah, exactly. Okay, that would be up to the API writers to make sure they don't like change the command from list servers To LS servers or something like that But beyond that there's no pinning on it because that old version of the API doesn't exist anymore It's whatever the latest docs of the API are sure but in your example where you change the list servers to LS Servers the endpoint didn't change right the endpoint remained the same you only change the CLI So I see what you're saying So if you like if you did literally that change and I can imagine somebody having a script with list servers And it should just still run because your API didn't change. That's a great idea actually we could We probably wouldn't make a change like that once we release something publicly But if we were it wouldn't be hard to add like a set of aliases so that the CLI will recognize any one of those I'm in still work, but great idea. Cool. Thanks So thank you for the presentation. So we have the infra API infra CLI and When we will have infra chat so you can chat with your API Maybe Europe I found next year I gave this talk somewhere else and someone asked about like shoving the open API JSON into something like a generative AI and saying hey generate a CLI for that That would be pretty cool. I don't think Bloomberg would let me do that right now But yeah, it'd be pretty cool Yeah, so I was just wondering Is it possible to include also completion there for the arguments? Oh Yeah, it could be I didn't I Didn't include it in ours in the demo program I wrote for this but Like in the the talk from typer yesterday They had some really neat stuff to just automatically install the completions for your CLI That would be super neat to do for something like this But I didn't do it for my program Hi, thanks for the presentation If I'm not mistaken every time that you fire a CLI command. There is a call first to fetch the API documentation and then the actual call Could this be become like a performance issue if the API Becomes too large and have you maybe considered a different approach that you only have to periodically Fetch the specs like Maybe run a command once there is an update on the specs and then it's somehow cast or in Different mechanism. So for the first part, I mean, I don't think it would be a performance issue fast API As far as I can tell generates the docs once and then it's cached in memory And so it's just serving up a static thing of JSON and I assume it would be lower impact than whatever API call you're doing But in terms of caching the version caching the docs locally on the CLI we've discussed that And that would be something easy to do but then we have to deal with versioning So we talked about like maybe we pull down the open API JSON once and we save it locally But then every time the CLI calls the API it includes the API version in a header So the API could see the CLI version and say oh you're behind Update your docs before you make this call because we need some way to automatically update the CLI when the API gets updated So there are a couple caching schemes in there and if it ever became a problem, we might do something like that Thanks. I was also referring to performance issues regarding the CLI not not fixing the documents But actually parsing the documents every time and Oh Registering the whole functionality. I think you do this on every call, right? Yeah, I guess if the JSON got Suitably large it could I haven't looked at it But I profiled this once and like most of the startup time was importing a ton of modules on the CLI Well, the parsing the JSON was just like instantaneous If anything I feel like Performance on the CLI could be improved by doing something like what the other guy said of having a captive one So you start it up and then you don't have to import all your modules right at start But it's something we would consider doing like saving it in a more like I Don't know computer-friendly format and caching it locally if it ever became a problem Great. Thanks. Yeah So I think that will be the end of session. Thank you everyone for joining here and thank you Oliver


Hello, Psych2Go family. Welcome to another video.  Do you sometimes feel overwhelmed by it and don't quite know how to deal with it? Many of us are no strangers to stress and anxiety, as it's the single most prevalent mental illness in the world. Anxiety affects over 40 million adults in the US alone, with more being diagnosed each year. It's a rampant and growing social concern. So with that said, here are 8 possible reasons why you might be feeling anxious all the time. 1. You have a toxic family or a family member. Is someone among your family controlling, manipulative, or emotionally exhausting to be around? Do they take advantage of your relationship and constantly look for ways to exploit you and exert their dominance over you? Whether it's your parents, your siblings, or another relative that you live with, having a toxic family or family member is incredibly stressful to your mental health and emotional well-being.  2. You have a disruptive home life. Are your parents fighting all the time? Is your family suffering from serious financial problems? Is someone struggling with substance abuse or a serious illness, be it physical or mental? Is it tearing your family apart? Having a disruptive home environment is another reason why you may be feeling so much anxiety all the time. While all that negativity isn't directed towards you, that doesn't mean you won't still be affected by it. Living in a chaotic, volatile, unstable household means always waiting for the other shoe to drop. Home is supposed to be a safe place for you. To be yourself, speak your mind and unwind after a long day. But instead, you dread going home and feel constantly on edge because of it. 3. You're surrounded by toxic people. Do your friends abuse your friendship or sabotage your success?  They say it's important to choose your friends wisely, especially as you're growing up because these are the people you're going to be spending most of your time with. Relationship problems and interpersonal conflicts are a common trigger for anxiety. So if you're surrounded by fake friends or trapped in a toxic relationship, it puts you at a much greater risk for anxiety and depression. 4. You're stressed because of work or school. Are you overworking yourself trying to meet all of your deadlines for school? Have your heavy workloads thrown your work-life balance out the window? High levels of chronic stress are dangerous to your health and may lead to emotional burnout. Constantly worrying about your performance and setting unrealistically high expectations for yourself is enough to render even the most emotionally well-adjusted of us wracked with anxiety. And because stress is known to disrupt our eating and sleeping patterns, it can worsen symptoms of anxiety tenfold. 5. You're worrying about your future. Have you been going through a lot of changes recently? It may be the reason why you feel so anxious all the time. Maybe you moved to a new neighborhood or transferred to a new school. Or you're graduating and about to start college soon. Whatever the reason, change can often be scary and painful to deal with. It's normal to feel afraid about all of the uncertainties surrounding your life right now and wanting everything to stay the same. Only when you learn to accept the change and move forward will you stop struggling with the feelings of worry, dread, and anxiety. 6. You're worried about what other people think. Does your anxiety only flare up in social situations? Does it feel worse when you're surrounded by people or talking to a group? What you may be experiencing is social anxiety disorder, SAT, which is an anxiety disorder characterized by a strong fear of social evaluation. People with SAT feel anxious about talking to their friends, answering phone calls, public speaking, or attending social gatherings. 7. You're neglecting your self-care.  Do you lock yourself up in your room all day and constantly neglect your self-care? Living with anxiety certainly is not easy. And sometimes we may want to resort to unhealthy coping mechanisms just to make ourselves feel a bit better. But neglecting your self-care can make the situation even worse. In fact, most experts recommend making healthier lifestyle changes such as eating balanced meals, getting a lot of sleep, exercising regularly to help battle against anxiety. 8. You have a negative mindset. Famed psychologist Aaron Beck, founder and pioneer of cognitive behavioral therapy, believed that having a negative mindset contributed significantly to the anxiety we feel. And research has certainly proved him right. So much of our lives is determined by our thoughts and emotions. Being a pessimist who always sees the negative side of things, you'll only attract more negativity into your life.  Are you experiencing anxiety right now? Which reason mentioned in this video do you find most relatable? Anxiety is something a lot of people all over the world struggle with and it's the leading mental health concern worldwide. Fortunately, however, it's also highly treatable. The first step to overcoming it is to understand the reason behind it. Once you identify the triggers behind your anxiety, you learn better ways of responding to them and managing your anxiety. So don't hesitate to reach out to a mental health care professional today and get the help that you need. Remember to like this video and share it with those you think might benefit from it. Thanks for watching and we'll see you soon.


Hello again. So you've got your design, you've decided what you're going to do and this week we're just going to look at what order is going to be best to do those things in. And we're going to start with one of our principles. We've been looking at a few of those recently of course. This one is least effort for greatest effect. And this is looking for what I might call leverage points, places where we can make a small change to make a big difference. And usually that's looking at where are the leaks on site.  So how do you reduce that? It's much easier to reduce losses than to increase inputs, increase yields. So it might be dealing with a leak on a water tank or something like that or just storing a seed in the wrong place. So this is something I often see is I go to a project and there's a big box of seeds in the polytunnel. Now these don't live here normally. They live in a cool, dark place in the corner of my office. And when I'm sowing things I bring the relevant tab with me. So yes, looking for, looking up for those losses and very often the easiest win is to address those first of all. Now another thing we might consider are seasonal constraints. Now again when it comes to planting there's very much seasonal constraints. If we're planting trees, for instance, if we're planting bare root trees you can only do that in the winter. They can only be moved that time of year. You might be choosing bare root trees because they're cheaper and you have more selection, more variety than if you were to buy pot grown trees. So it might be a limiting factor. There might be just finances. So you might say we can't afford to buy pot grown trees. Let's buy bare root trees. You can only plant them or move them in the winter months. So they go on the calendar and these are the kind of things that want to go on the calendar first because they can't go anywhere else. Another thing to think about also is resource availability. So that might be things as simple as labor. If you're running a project then you might have a lot of people come to help in the summer months. So big jobs that require a lot of people might be put on the calendar for the summer. Whereas if you're thinking about what time do you have you might earn more money in the summer but have less time available at that time of year. So other projects might go in the winter when you have more time if time is the issue. So looking at what resources you have at different times of year. So we've just had a whole load of woodchip. Two loads of woodchip delivered recently. This is the time of year where most tree surgeons do tree work because the sap is down. The tree is dormant. Many trees are dormant in the winter. And so it's much easier. You know limbs are less heavy and trees are happier if they're addressed and worked on in the winter as well. So this is the kind of time of year we would get that. So then we're looking at systems that would set that up. So we've got a little hotbed system out there where we put the woodchips with some early grass cuttings to get the heat hot. And that's very much a seasonal thing. It's when we want to be growing our earliest crops and it's when we have that resource where those two things overlap. So there you go in the calendar then. Okay. Hopefully this is all making sense.  So some things just have to be done before others. So you need to prepare your vegetable bed before you plant your seeds in it for instance. Or if you're looking at a building it's quite difficult to put the roof on before it's got walls or some kind of footing. So there are logical dependencies that some things proceed another and you need to give time for those things to happen. So if we're thinking about deadlines and scheduling things it's always worth thinking about how long it takes to do particular jobs. And particularly if you're working on a project with other people, especially if they're contractors and you're paying them, you need to know that when a job needs to be done that they're available you often have to book them a long time in advance. So to figure out how long these things going to take where they'll sit on the calendar we can use things like a Gantt chart. Now we've used one here to work out what we're going to do as part of our implementation plan and we've chunked them around different permaculture principles and they're laid out on this chart and that's on the computer. So computer charts can be useful in the sense that if something gets delayed we just adjust the time and everything moves, it sets, it tells you how long it's going to take you to get to the end of the project. The downside of that of course is that it's on the computer and it's not on a piece of paper on your wall. So sometimes an implementation plan is most useful if it's a simple thing maybe with post-it notes with little pictures on stuck on a wall or grid just to remind you of what you're going to do and maybe inspire you. I put a lot of things in my calendar for instance but Gantt charts can be really useful and you want to make sure that if you're doing a big project someone turns up to do the job that everything that they need is on site or the resources are ordered and you've got the money in the bank to pay for those resources and pay them as well so people don't sit around waiting for things or they just go away and don't come back again. So depending on how complex your setup is your project is would determine what you need in that regard and Gantt charts allow you to work out things like the critical path which is the all the dependencies that have to occur one after the other how long each one of those is going to take so that you know from beginning to end of the project how many days that is and it's important to identify those dependencies and that critical path because if something gets delayed and it's on that critical path that other things are waiting for it to finish before they can start then you need to if you're going to go over a deadline at the end you need to be able to look at that and say we can't be late with this we need to get more people in to do the job or people have to work later for instance so critical paths Gantt charts Gantt charts are also useful for working out resources how much the cost of resources cost of labour and those kind of things so and yeah just coming back to this idea also if we think about maintenance so maintenance planning is also important for me mostly it's about having lists so we've got some very basic lists of things like spring jobs summer jobs winter jobs and they don't have to be particularly complicated but this is a reminder for things like remove the tree guards in the spring so that the bark of the tree can breathe and ants don't make nests in them but then come the late autumn into the winter we put the guards back on again to protect the trees over the winter and it's just it's a simple job doesn't need any detailed instructions but we need the reminder to make sure we do it and then sometimes maintenance is not so obvious so particularly if you've got a design where you have something like a composting toilet then maybe instructions for how to maintain the composting toilet is something that will day to day for the user perhaps on the inside of the door so people can see what it's all about how it works what to do to make sure it works properly but also for the manager of the toilet that they know what they need to do on a seasonal basis in order to keep it healthy and working well and then when it comes down to you know if you've got a whole bunch of things and you can't decide where to start because for instance it's spring like it is now middle of March and you've got all these seeds what do I do first so I've got just you know so that's one bunch and these are organized around the biodynamic planting calendar so in the front here today is a root day so roots followed by flowers that's going to be tomorrow flowers f l so the l so flowers followed by leaves leaves as l and then leaves is followed again by the other f which is fruit fruit followed by the r fruit r fr root so it's easy to remember the order and I just have them in these little yogurt tubs they're stuffed in a box it's a perfect size and whether it works or not I don't know I haven't done that much of a detailed experiment around this but what I do know is that I can get up on any particular morning say I'm going to go and sow some seeds today and rather than thinking which seeds shall I say if I just say what's today today is a root day let's go and plant some roots it just makes deciding what to do so much easier so ultimately an implementation plan means that you don't waste a lot of time thinking what am I going to do next and if you have a system like this I don't need to waste time thinking what am I going to sow today I just go ahead and do it enjoy your design and look forward to seeing you maybe at some point in the future on a permaculture course


A High Court of IBS State sitting in Umar here today concluded hearing in a fundamental right seat. It was filed on behalf of Masi Unandek Kanu by Special Counsel Barista Ala Ejimako. Justice Bernstein Ayu was a presiding judge. The suit was filed on 27 August 2021 against the Federal Republic of Nigeria, the Attorney General of the Federation and six others. It seeking the stoppage of Kanu's prosecution and release from detention. That issue is Kanu's extraordinary rendition from Kenya to Nigeria in June this year. Today the parties joined issues and adopted their processes.