So now I'm going to talk about calcium through my tutorial. I just wanted to reiterate this all this we'll be showing vegetarian and non-vegetarian recipes of all these nutrients but they are of course meant for adult but young children you know you can we have created different recipes for young children starting from seven months of age you know completion of six months but older children say from nine to nine months onward they can eat some of these recipes that we have created but it's normally it is meant or primarily it is meant for adults okay so just want to reiterate so today I'm going to discuss about calcium look at what is the use of calcium I do recommend that people get calcium mainly from food yes pregnant mothers will need calcium because the requirement is high but for primarily for most of most of people we recommend that calcium comes from food rather than supplements because there are a lot of studies which are done which showed that if on taking calcium supplements you know they do have more risk of you know calcification and coronary arteries you know specifically in men so do I don't recommend taking calcium just look at all this recipe include dairy include some seeds which are high in calcium some leafy vegetables where are very high in calcium you know some of this seafood are high in calcium too so just have a look and see what what you can learn from it thank you welcome to the spoken tutorial on the importance of calcium in this tutorial we will learn about role of calcium and its requirement in our body symptoms of its deficiency and calcium rich food sources calcium is the most abundant mineral in our body 99 percent of the body's calcium is found in bones and teeth the remaining one percent is present in our blood it gets excreted from our body through stool urine and sweat calcium serves many functions in our body the key function is the development and maintenance of bones if there is an excess of calcium in the body it gets deposited in the bones in case of deficiency it can be taken from the bones calcium is essential for the transfer of nerve signals in our body it helps in muscle contraction and its movement it also helps in stopping the blood flow after a cut calcium is needed for the secretion of hormones like insulin and adrenaline other benefits are maintaining body weight blood pressure and heart health daily recommended intake for calcium varies for different age groups it is higher during periods of rapid growth such as childhood and adolescence for infants until 12 months 500 milligrams of calcium per day is recommended for children up to nine years 600 milligrams per day is recommended the requirements increase up to 800 milligrams per day during adolescence for adults it is 600 milligrams per day the calcium requirements are also high during pregnancy and lactation during pregnancy and lactation 1200 milligrams is recommended let us now discuss the effects of calcium deficiency deficiency of calcium during pregnancy can result in a rise in blood pressure swelling in hands and feet can be seen inadequate calcium intake by mothers may affect the baby also their birth weight may be low and their growth can be retarded their physical and cognitive development can be damaged in children calcium deficiency can cause rickets rickets is a disorder of the skeletal system the growth gets stunted and there are changes in the shape of the spine other signs are sunken ribs protruding forehead and bow shaped bent legs short height widening of the wrist elbow knee and ankle joints can be seen in adults early signs of calcium deficiency are muscle cramps numbness or tingling sensation of fingers is also seen mental confusion irritability dry skin brittle nails and tooth decay can also occur long-term deficiency of calcium can result in osteoporosis in osteoporosis the bone density is reduced the bones become fragile and prone to fractures other symptoms are stooped posture loss of height and back pain the risk of osteoporosis is higher in women as compared to men this is because estrogen levels in women decrease after menopause thereby calcium absorption decreases and its excretion through urine increases to avoid calcium deficiency adequate intake of calcium rich food is essential the best sources are milk and milk products this includes curd paneer cheese and koya calcium obtained from them gets easily absorbed in our body 200 ml of cow's milk provides 236 milligrams of calcium 100 grams of curd from cows milk has 150 milligrams calcium 30 grams of paneer from cows milk has 142 milligrams calcium few non-vegetarian food are also rich in calcium for example dried shrimp, bombay duck, prawns, lobsters and dried bony fishes 100 grams of prawns will give 67 milligrams of calcium 20 grams of dried shrimp has 73 milligrams of calcium 15 grams of dried bombay duck fish has 208 milligrams of calcium seeds are an excellent source of calcium for example sesame seeds, niger seeds, flag seeds, dill seeds and poppy seeds 1 tablespoon or 5 grams of sesame seeds has 64 milligrams of calcium apart from these nuts like almonds and walnuts are also rich in calcium many green leafy vegetables have good amount of calcium for example leaves of amaranth, agathi, drumstick and fenugreek even radish leaves, collocasia leaves and mustard leaves are good sources 100 grams of amaranth leaves has 330 milligrams of calcium 100 grams of fenugreek leaves has 274 milligrams of calcium calcium is present in some beans like soya bean, horse gram and moth beans 50 grams of horse gram gives 135 milligrams of calcium finger millet is also a rich source of calcium 30 grams of finger millet provides 110 milligrams of calcium along with food intake calcium absorption is equally important presence of oxalates, phytates and fiber affect calcium absorption they are present in nuts, seeds, beans and green leafy vegetables these substances may bind with calcium to form an insoluble complex as a result calcium absorption in the body is inhibited the absorption can be enhanced by using various cooking techniques for example soaking, sprouting, boiling, roasting and fermentation for calcium absorption avoid tea, coffee and cola with calcium rich food they contain caffeine which enhances calcium excretion through urine for maximum calcium absorption few other nutrients are required for example vitamin D, magnesium, potassium and phosphorus apart from nutrients adequate physical activity and exercise are also required this will enhance the bone mass and bone strength in addition to all this age also influences calcium absorption it is highest during infancy and childhood during adulthood absorption is moderate and then it decreases with age therefore adequate intake of calcium rich food from an early age is essential this brings us to the end of the tutorial so we watched calcium but now we are going to watch vitamin D why do we need vitamin D one of the most important vitamin that we need you know for our body vitamin D is actually most of your vitamin D you get it from sun you know but there is a myth in the community that morning sun gives you vitamin D and I want to kind of break that myth and let community know that it's not morning sun which will give you vitamin D from the sun but it would be same mid afternoon so just remember that you know whenever you talk to any of your you know mothers or family members or whoever you know patients it's from 11 to around 2 to 30 p.m in at least our country second thing is you know not many people know that the windows which we have glass windows that will prevent uvb radiation to come in you know so we need to make sure that you know if you want to get exposed to sun it should be direct sunlight not through glass windows there are few food which you can get vitamin D from generally I prefer you know dried mushrooms so if you have access to mushrooms you can just basically dry it in sun and those dry mushrooms is they are high in vitamin D another important aspect of vitamin D is that it helps in a lot of functions in the body you know especially in calcium metabolism in calcium absorption and also another thing what it does is it helps in immunity it helps in prevention of cancer it does pretty much so many things actually you know so we have created this tutorial it took us long time to make this you know we have done a lot of research so do do understand about vitamin D we still don't have tutorials on recipes but I think the best recipe that you can have is to get exposed to sun and do that for young children also young babies you know because they need their bones are growing and they need vitamin D so what I recommend is just maybe 15 minutes or so you know expose them to sun don't make them wear too many clothes you know make sure that the eyes are not exposed to sun you know so don't make them look at sun you know it should be in opposite direction exposure to skin is important not I mean you are normally you know I don't recommend making them wear too many clothes when they are another thing what I recommend in the community is to do massage because they do a lot of this children massage baby massage so I tell them to do it in the sun outside at around 11 11 30 you know so that way babies are getting that beautiful you know touch you know skin to skin touch also and they get massage and of course exposure to vitamin D so enjoy and let me know how you how you like this tutorial thank you welcome to this spoken tutorial about the importance of vitamin D in this tutorial we will learn about role of vitamin D in the body symptoms of its deficiency recommended intake food sources let us begin by briefly understanding what is vitamin D vitamin D is a fat soluble vitamin it exists in two forms vitamin D3 and vitamin D2 D3 is mainly produced by the skin on exposure to UVB rays from sunlight UVB is known as ultraviolet B rays it is one of the three types of sun rays you can also get small amounts of D3 from non-vegetarian foods vitamin D2 however is present in a few vegetarian foods supplements of both vitamin D2 and D3 are available in the market easily interestingly vitamin D obtained from all these sources is inactive to become active it has to undergo two processes first process of activation is in the liver and the second is in the kidney active form of vitamin D also known as calcitriol is formed in the kidney once vitamin D gets activated it plays several roles in the body one of the major roles is formation and maintenance of strong bones another is the absorption of calcium in the intestine maintaining the levels of calcium and phosphate in the blood is another role these two nutrients are required for growth and repair of bones they help in they help in maintaining the correct bone density in our body apart from bones they also help in maintaining strong teeth and muscles vitamin D is an immunomodulator this means that it helps in controlling and supporting the immune system it helps to activate the body's natural response to fight diseases vitamin D protects the body against several respiratory infections for example pneumonia influenza tuberculosis and COVID-19 reduction in inflammation in the body is aided by vitamin D its other properties are to protect the body from viruses bacteria and fungi vitamin D is found to improve insulin sensitivity therefore it helps in managing diabetes blood pressure and body weight it also maintains good heart health it does so by helping in relaxation of blood vessels in the heart for many other functions in the body vitamin D is essential for example cell division brain development and prevention of cancer if the requirements of vitamin D are not met there can be a deficiency let us see what factors put someone at risk for vitamin D deficiency inadequate exposure to sunlight is one of the major risk factors UVB rays from sunlight are required to produce vitamin D in the skin glass windows block these UVB rays in the house hence people with limited exposure to sunlight are at a risk of deficiency for example old people and people mostly working indoors vitamin D deficiency is common in winter or in regions with cold climates the risk of deficiency is high in dark skinned people they have high amounts of a pigment called melanin in their skin this reduces the ability of their skin to produce vitamin D from sunlight they require longer exposure to sunlight as compared to light skinned people inadequate intake of vitamin D from the diet is another risk factor additionally vitamin D requires fat for its absorption hence people with reduced ability to absorb fat can suffer from deficiency this can occur in people with gallbladder or intestinal diseases individuals with liver or kidney diseases are also at a risk of deficiency conversion of vitamin D to active form takes place in the kidney and liver hence people with liver or kidney diseases are also at a risk of deficiency obese people and those who have had bypass surgery can also become deficient pregnant and breastfeeding mothers need vitamin D for the fetus and the infant otherwise the mother is at risk of becoming deficient in vitamin D next let us understand the effects of vitamin D deficiency signs of deficiency may vary with severity and age group some of the general signs are fatigue mood swings and poor immunity muscle cramps spasms and seizures are also seen without adequate vitamin D bones become thin soft and brittle low vitamin D impairs the immune system thus there is an increased chance of catching infections it also results in an increase in inflammation in the body all this makes a person more susceptible to getting infected with COVID-19 the severity of effects of COVID-19 and death due to it rises with deficiency the risks of several cancers also increase due to the deficiency of vitamin D cancer of colon prostate and breast are a few examples low vitamin D levels can raise the risk of multiple sclerosis it is a condition in which protective covering of the nerve is damaged this disrupts the communication between the brain and body it affects the brain spinal cord and optic nerves deficiency of vitamin D during pregnancy can result in a rise in blood pressure it can have negative effects on the baby also there can be an increased risk of premature birth and low birth weight babies babies born to mothers with vitamin D deficiency will also be deficient vitamin D deficiency can cause rickets in infants and children rickets is a disorder of the skeletal system the growth gets stunted and there are changes in the shape of the spine other signs are sunken ribs protruding forehead and bow shaped bent legs widening of the wrist elbow knee and ankle joints can be seen children with rickets are also at a risk of getting infectious disease there is a delay in tooth eruption a pot belly and an abnormal walk is also seen muscle pain irritability and increased sweating are other signs in adolescents and adults deficiency causes osteomalacia it is a condition of weakening and softening of bones the bones become easily prone to fractures severe pain in back hips pelvis and legs can occur other signs include muscle weakness and spasms to avoid deficiency getting adequate vitamin D is important for infants of 0 to 12 months 400 international units or 10 micrograms per day is recommended 600 international units or 15 micrograms per day is recommended for people of age group 1 to 70 years this includes children adolescents adults pregnant and lactating mothers for men and women above 70 years 800 international units or 20 micrograms is recommended many experts recommend much higher doses let us now learn how to get adequate vitamin D our body can produce it on exposure to UVB rays of the sunlight the best time to get maximum UVB rays is from 11am to 2pm 15 to 20 minutes of daily exposure to midday sunlight is recommended for dark-skinned people 3 to 5 times longer exposure in sunlight is needed approximately 10,000 international units of vitamin D is generated during this time note that the body can't make vitamin D if you are seated indoors by the window this is because the glass blocks the UVB rays hence you should get sunlight from outdoors you can even keep the windows open and let the sunshine in next let us look at food sources of vitamin D only a small amount of vitamin D can be obtained from foods among which fish are the best sources for example sardine herring black pomfret salman and cod 100 grams of sardines has 3.5 microgram of vitamin D 100 grams of herring fish has about 5 microgram of vitamin D other seafood like prawns and crabs also have little amounts of vitamin D 100 grams of prawns have about 1 microgram other non-vegetarian sources of vitamin D are egg yolk and chicken liver 100 grams of chicken liver has about 2.6 microgram of vitamin D two egg yolks of about 40 grams have nearly 1.3 micrograms few vegetarian foods have vitamin D for example mushroom soya bean finger millet sesame seeds 100 grams of mushroom has around 20 micrograms 50 grams of soya bean has 33 micrograms however along with intake absorption is very important vitamin D 3 is better absorbed and used in the body as compared to D2 hence sunlight and non-vegetarian food are best sources of vitamin D please consult your doctor before taking any supplements this brings us to the end of the tutorial welcome to the spoken tutorial on calcium rich vegetarian recipes in this tutorial we will learn about food sources of calcium cooking techniques to enhance calcium absorption preparation of calcium rich vegetarian recipes calcium content of these recipes calcium is the most abundant mineral in our body 99% of the body's calcium is found in bones and teeth the remaining 1% is present in the blood the role of calcium in our body has been explained in another tutorial please visit our website for these tutorials adequate intake of calcium through diet is necessary from an early age dairy products are excellent sources of calcium this includes milk curd paneer cheese and koa calcium is also present in some nuts seeds legumes and green leafy vegetables along with the calcium rich diet calcium absorption by the body is also important calcium absorption can be enhanced using soaking sprouting and fermentation even boiling roasting and other cooking techniques will help note that in all the recipes shown in this tutorial one cup is 200 milliliters the first recipe is sprouted finger millet dosa ingredients required to prepare this recipe are one fourth cup or 30 grams of finger millet one fourth cup or 30 grams of split black gram half teaspoon fenugreek seeds half teaspoon roasted flax seed powder one tablespoon curd salt to taste one teaspoon oil or butter procedure wash and soak finger millet overnight strain out excess water using a strainer then allow them to sprout it may take approximately two days for them to sprout once the finger millet sprouts dry it in sunlight if there isn't enough sunlight you can even roast them on a pan without oil grind it to make a fine powder on the other hand soak split black gram and fenugreek seeds for three to four hours grind it by adding some water to make a smooth batter add finger millet powder roasted flaxseed powder and salt to the batter mix it well cover the batter and keep it overnight to ferment once the batter rises add curd and little water to adjust the consistency take a pan and heat oil or ghee spread oil all over the pan using half an onion drop a ladle of batter into the pan spread batter in a circular motion on the pan cook the dosa on both sides on a low flame sprouted finger millet dosa is ready one serving of this recipe will give around 185 milligrams of calcium you can have this dosa with buttermilk or sesame seed chutney powder let us now see how to make sesame seed chutney powder for this you will need two tablespoons white sesame seeds one tablespoon split Bengal gram one dried red chilli two small pieces of fresh coconut two to three garlic pods one lemon sized tamarind salt to taste roast sesame seeds split Bengal gram red chilli coconut and garlic in a pan keep stirring it continuously to avoid the sesame seeds from getting burned next remove them from the pan and allow it to cool after cooling add tamarind and salt then grind it using a mixer or mortar and pestle sesame seed chutney powder is ready one fourth cup of this chutney powder gives around 131 milligrams of calcium you can have it two to three times a day with your meals instead of white sesame seeds you can use other seeds as well for example black sesame seeds flag seeds poppy seeds or Niger seeds our third recipe is horse gram and amaranth leaves curry ingredients required to make this recipe are one fourth cup horse gram 50 gram or one fourth bundle of amaranth leaves half onion half tomato you will also need this spices one teaspoon cumin seeds half teaspoon ginger garlic paste half teaspoon turmeric powder half teaspoon red chilli powder half teaspoon coriander powder salt to taste you will also require two teaspoon oil or ghee procedure soak horse gram overnight the next day strain the excess water using a strainer keep the horse gram in a dry place away from heat until sprouts appear once the sprouts appear boil them in a pressure cooker to boil add half cup of water salt and turmeric powder pressure cook on high flame until one whistle then cook on low flame for 10 minutes let the pressure release from the cooker on its own and then open it meanwhile heat oil in a pan add cumin seeds and ginger garlic paste then add the chopped onions and sauteed add the rest of the spices and tomatoes mix well add washed and chopped amaranth leaves and sprouted horse gram stir it and cook for three to five minutes on medium flame sprouted horse gram and amaranth leaves curry is ready one serving of this curry will give around 256 milligrams of calcium if horse gram is not available then you can use soy bean or moth beans instead of amaranth leaves you can use other green leafy vegetables too for example drumstick leaves fenugreek leaves or radish leaves next recipe is scrambled paneer to prepare scrambled paneer you require 80 grams or half cup of paneer half onion half tomato one green chilli half teaspoon cumin seeds half teaspoon garam masala powder half teaspoon turmeric powder take salt according to your taste a handful of coriander leaves will be required for garnishing the recipe can be prepared in two teaspoons of oil ghee or butter if paneer is not available you can make it from cow or buffalo's milk to prepare the paneer boil 400 ml or two glasses of milk after the milk boils switch off the flame and add one tablespoon of lemon juice or vinegar stir it well until you see the milk starts to curdle keep it aside and let it cool keep a cotton cloth or muslin cloth on a strainer and strain the curd gather up the corners of the cloth and squeeze out excess liquid from the paneer keep a bowl underneath the strainer to collect the liquid you can use this liquid to knead dough make dals or cook vegetables press the paneer to make a round disc shape refrigerate the paneer to set to prepare the scrambled paneer heat oil or ghee or butter in a pan add cumin seeds and chopped onion saute till the onions become light golden add chopped tomatoes green chili salt and spices crumble the paneer and add in the pan mix well cook it for two to three minutes garnish with coriander leaves scrambled paneer is ready one serving of this recipe will give around 380 milligrams of calcium all these recipes are rich in calcium it is necessary to include calcium in our daily diet for our good health this brings us to the end of the tutorial welcome to the spoken tutorial on calcium rich non-vegetarian recipes in this tutorial we will learn about few calcium rich non-vegetarian recipes calcium is the most abundant mineral in our body 99 percent of the body's calcium is found in bones and teeth the remaining one percent is present in the blood the role of calcium in our body has been explained in another tutorial please visit our website for these tutorials it is necessary to take good amount of calcium through diet calcium is found in some non-vegetarian food for example prawns, lobsters, bombaduck, dried shrimp and dried bony fishes other sources of calcium are milk, milk products, nuts and seeds calcium is also present in green leafy vegetables and some legumes let us see some calcium rich non-vegetarian recipes the first recipe is dried shrimp curry to prepare this recipe you need 20 grams or three tablespoons of dried shrimp half onion half tomato three to four garlic pods one lemon size tamarind one sprig of curry leaves the spices needed for this recipe are one four teaspoon turmeric powder half teaspoon red chilli powder half teaspoon coriander powder half teaspoon mustard seeds you will need two teaspoons of oil or ghee and salt according to taste procedure soak the dried shrimp in water for 15 minutes meanwhile heat the oil in a vessel and add mustard seeds as this start to crackle add curry leaves and chopped garlic then add chopped onions saute the mixture until it becomes light golden next add the tomatoes and spices mix it well add half cup of water let it cook for two to three minutes strain the dried shrimp in a sieve for few minutes add this to the mixture in the pan cover and cook on low flame for five to six minutes dried shrimp curry is ready one serving of this recipe gives around 876 milligrams of calcium our next recipe is Bombay duck fish curry for this you need 150 grams of Bombay duck fish half onion two to three garlic pods one to two green chilies one teaspoon cumin seeds you also need two to three coconut or dry mango pieces or tamarind one fourth fresh coconut handful of coriander leaves half teaspoon turmeric powder salt to taste two teaspoon oil or ghee half lemon for marination procedure clean and wash the fish pieces thoroughly marinate the fish pieces with salt and lemon juice keep it aside for 15 to 30 minutes let us see how to prepare the coconut milk grind coconut pieces with half cup of lukewarm water strain the coconut mixture in a sieve collect the coconut milk in a bowl squeeze the coconut residues with clean hands to extract maximum milk put back the coconut residue in the mixer add half cup of lukewarm water and grind it again strain it collect the coconut milk for the second time repeat the procedure one more time keep the collected coconut milk aside do not throw away the coconut residue I will tell you what to do with it later next grind onion chili cumin seeds garlic and coriander leaves add a little water to make a thick paste take a pan and heat oil or ghee add the paste to it saute it for two to three minutes add curry leaves,cocum and turmeric powder mix well add half cup of water add the marinated fish pieces to the curry cover the pan and cook on low flame for seven to ten minutes add the prepared coconut milk to the curry and stir it cook for two minutes and switch off the flame bombay duck fish curry is ready one serving of this curry gives around 280 milligrams of calcium if bombay duck is not available then you can use any of the following tengra fish sear fish indian herring fish indian jew fish let me tell you about the coconut residue which we had saved earlier you can roast it and store it this roasted coconut flakes can be added in curries or chila batter it can even be used to make dry chutney powder with nuts and seeds it can be added to the flour of rotis and parathas adding the roasted coconut enhances the fiber content and flavor our third recipe is prawn curry for this recipe take the following ingredients 80 grams of prawns half medium-sized onion half medium-sized tomato three teaspoons of sesame seeds few curry leaves spices required for this recipe are half teaspoon racheli powder half teaspoon turmeric powder half teaspoon coriander powder half teaspoon garam masala powder you will need half lemon salt according to taste and two teaspoon oil or ghee procedure clean and wash the prawns properly make a slit on the back side of prawns now pull out the black thread from it this black thread has to be removed from the other side also if found marinate the prawns with salt and some lemon juice keep it aside for 15 to 30 minutes next dry roast the sesame seeds in a pan on medium heat let it cool keep one teaspoon of sesame seeds aside for garnishing grind the onions tomatoes and two teaspoon roasted sesame seeds in a mixer make a thick paste heat oil in a pan add curry leaves and the paste saute this mixture well for two to three minutes then add the spices and mix well add half cup of water and cook for five minutes next add the prawns and mix well cover the pan and cook on low flame for 10 minutes garnish with one teaspoon of roasted sesame seeds prawn curry is ready one serving of prawn curry gives around 250 milligrams of calcium if prawns are not available you can also use lobsters for this recipe the next recipe is dried fish powder you will need 15 grams or about 1 fourth cup of dried fish examples of some calcium rich dried fishes are as follows ribbon fish king fish tengra fish etc for this recipe we have used dried Bombay duck other ingredients required to make the powder are 1 to 2 red chilli 3 to 4 garlic pods one lemon size tamarind one teaspoon cumin seeds and salt to taste dry roast the dried fish pieces on medium flame for two minutes keep it aside to cool grind the roasted dried fish and the rest of the ingredients in a grinder dried fish powder is ready you can have this powder two to three times a day with your meals quarter bowl of dried fish powder contains 208 milligrams of calcium all these recipes are also a good source of the following nutrients protein zinc folate phosphorus iron omega 3 fatty acid it is necessary to have these nutrients in our daily diet for our good health this brings us to the end of the tutorial


of the day has been some of you tweeted in I have a giant crush on Paul and Carl. They're kind of like the rock star of this entire game.  But I kind of wanted to start off with talking about your position at Steppenwolf, which is fairly recent, by the way, right, about 2009. I was wondering if you could talk about what your position there is and what your job and how you're... You bet. Yeah, so, you know, I do a lot of stuff with Steppenwolf. I work with the entire artistic staff in the ensemble on the season planning kinds of things. I commission writers. And I do a lot of dramaturgical work on new plays. A lot of work on Detroit that we just produced and now Sex with Strangers that we're about to open on Sunday. And then I also function as a producer, which is probably one of the biggest jobs that I do. I produce shows in our garage space. So I produce new plays in our garage space. I support... I have a producer I work with, and we produce Chicago companies in the garage space. We produce a partnership with Northwestern in the garage space. So it's like there's nine shows. Yeah, it's big. It's big. And, you know, the thing that the job in my mind has been really... to do is it's really a better job that it kind of allows as Martha's job is, you know, so focused on just the whole of the organization. I do a lot of the kind of day-to-day, you know, sort of tracking of how projects are moving along and that kind of thing. And it's very much... I love this job because I really believe in the idea of bringing producers back into the literature theater seats. And so I feel like this is what that job's really set up to do. And so it's tricky. Great. Great. I want to move into something that we've been talking about in the beginning, which is, of course, new work. Because you produce so much new work in charge of that. The question of why are most regional theaters, or some regional theaters throughout the country afraid of new work? And I was wondering if there is... I mean, is there a truth in that? Or is there a way to ensure that fear?  And I've been working on this play. A wonderful play called Sex with Strangers with Laura Easton. Again, we're opening on Sunday. And the thing about that play is we are changing it and tweaking it until I left at like 10 o'clock on Tuesday night to come here Wednesday morning. And we had done major changes in that last instant, right? So I think that the result of that is you feel like, gosh, we don't know what the final outcome is going to be and that's risky. I think more people do new work than we sometimes get credit for. But I think the biggest reason fear shy away from it is that they have a preconceived notion of the expanse of their audience's imagination. And what I kind of like to say is, how can we possibly know the limits of the imagination before we've tested them? And what I've learned at Second World and at the Playwright Center and all the theaters that I've, you know, been affiliated with is that actually people surprise us in what they love. And Stefano's been so great. They talk to their audience. And what the Stefano audience says is, you know, if you do it, I want to come and see it. And even if I don't like it, I want to come back and see the next thing. Like, that's how you prime people to trust you. And that happens in a dialogue with the audience on a regular basis. Yes, because when you put a theater into a city, the audience doesn't necessarily know what they want. The theater tells them what they want. Yep. And then that's how you love your audience. But for some reason it just seems that a lot of theaters are just a little bit scared of bringing in anything new for fear of, well, I mean, for fear of not making enough money. Yes. And that's a whole other issue, right? Yes, it is.  It's ours is about the artistic vision. But, you know, by 2011, the artistic vision and the money, those things start to conflate in ways that can make it really difficult for artistic directors. True, true. And I was actually asking this question to you, Diane Ragsdale, last night, which is the issue of nonprofit theaters in America, whether or not they are still affected and whether or not they will be dying out. And then she gave me some great statistics about how 3,000 new theaters opened in 2007 when I was in the recession. About 47% of those theaters cannot manage their bank account. So I was wondering, do you think that there's still going to be a room for nonprofit theater work in America? Or would that soon become a defunct model? You know, boy, that's such a great question. And I'd much rather listen to Diane Ragsdale's answer to that question than my own. But I guess I feel like, I know, I always think models may change. So, you know, nonprofit could go away. But I think it feels important to me about the nonprofit model and what I believe in, you know, kind of wholeheartedly, which is, and I say this with, you know, an understanding that art has to connect to people and to audiences. But I'm a real believer in art for art's sake. And art is always about, you know, what it's going to mean in terms of dollars. I feel like the best of the nonprofit is make art because it matters just because it matters. And that for me, you know, when I was a kid, I grew up in a small town, didn't have a lot of money, and I read novels, and I didn't see theater when I was a kid, but I read novels. And those novels weren't written with me in mind. They were written because an artist had a vision about a thing and he decided or she decided to write that novel, you know? And thank God, because in Elkhart, where I didn't feel like there's a lot of outlet for my imagination, I lost myself in, you know, stories and books. And I think that art at its best, that's what it does for people, you know? And I think that that has to always be a possibility. And if money is always tied to that, I have to wonder what the impact of just making art for its own sake, what happens to that? We have a question from the Twitter world. Yes. Molly, you want to... Yeah, it says, do you think theaters are less inclined to do a new work if it's already been self-produced? Boy, that's such an excellent question. First of all, I'm a huge fan of self-producing, you know, because I feel like that a play is not a play until it's actually had an audience. And I've learned that more in the last year and a half being out of the playwright center and being in a lot of productions. You don't know what a play is until you have an audience and self-produce it is great. And actually, I think... I want to say no. I mean, I don't think... I think, you know, there's lots of conversations about world premieres and that kind of stuff, but I don't think there's less of that. I think if you self-produce your play and it's good and it's successful and people come see it and they like it, then I think you only increase your chances that A, that play is going to get better. And if that play gets better, more places are going to want to do it. And you know, the workhouse collective in Minneapolis, who I just so dig those guys and they're really self-producing and the outcome of their self-producing is their work is starting to get attention in other places. So I think it's a great impulse and one should indulge it. Great. Great. And thank you for that question. We've been ending most of these interviews with the question of... and I think this is really good for you because you're in a really great place of what do you see in the future for New World America? What do you... What would you like to see in the next five can you use to have it? Well, I think, you know, I guess for me, with new plays, I mean, I love, you know, as many people know, I've been a lot of the artists that I've collaborated have done all sorts of strange kinds of plays and I see a lot of artists like Alyssa DeMore, who can do Detroit on the Stepnel stage but then do this building a forest project that's completely insane in a warehouse and they're building trees and it's so cool and they're generating stuff and so what I like is the idea that, you know, more people believe that they can make art. You know, that they're not hindered by institutions, but that they have visions and they just make them so and Alyssa's been one example of an artist I've worked with a lot who just is like, you know what I'd like to do?  You know, and I think artists who put self-produced, who put themselves out there, who take risks, who make work, they're going to create a culture where people feel like, actually, arts are, you know, when Obama gives his State of the Union address, arts will be at number one in his list, you know, and that's the future of the art for me and that's kind of what I hope, you know, that's the world I hope we're going to live in. That is the best, most optimistic ending that we've ever had. That's fantastic. Thank you all for watching and thank you so much, Thank you so much. I really appreciate it. Yeah, thank you guys. Thank you.


You know women kind of raised me as a nice guy. I said oh really So I asked a whole auditorium.  I Said how's that working out for you?    Actually, that's one more wide Divide them up to at least three categories One is a mode three timid that would be a guy who just goes to the party like price them guys last night They go to a party to get all dressed up and they went to two buddies Then they get to the club and what they do they just stand against the wall Okay guys you ready go. Yeah Mode three target. He plays right into the gold digger's hands. That's the guy He got enough confidence to start a conversation with a woman But 95 to 99% of conversations. Hey, it's an angel. Yeah, you know, I own a house on the beach I Drive a Porsche 911 Got a rule. This is a real Rolex watch. Yeah, I went to Harvard Yeah, and he's hoping that all this impressive stuff. He says one's gonna be like, oh my god I need to just open my legs for you right now.    They're bitches man.    If you were in the company of a woman who was interested in a romantic relationship with you But she was doing a damn good job of Pretending as though she was only interested in maintaining a purely platonic friendship with you How would you expose her facade if you were in the company of woman who was only interested in you spending time flattering her entertaining her Doing financial favors for but she was doing a damn good job.  How would you expose her facade? Let's say together That's the answer to all those questions mode one


Our next speaker is Matatamel from Google. We'll be talking to us about Kubernetes support for serverless computing, which frankly makes me uncomfortable if I say it. Great, take it away. Thank you. Okay, let me set my time because I only have 20 to 25 minutes. All right. Hello, everyone. My name is Matatamel. I'm a developer at Google. I'm based in London. It's always great to be in Singapore because the weather is always much better than London, so it's great to be here. I normally do this talk for one hour, but I only have 20 minutes now. So basically, I have 20 minutes, which means that I have to speak really fast and I have to skip some slides and some code. But the good news is that if you go to my GitHub page, I have a Knative tutorial that has these slides, and it also has a lot of the demos, well, much more than what I'm going to show today. So if you find Knative interesting, you can just go there and you'll find much more than what I'm going to show today. Also, this is my Twitter. I usually tweet about Istio, Knative, Kubernetes kind of stuff. So if you're interested, just feel free to follow me. And also, I'm doing a tour in Asia, and as I go through it, I ask people what they know about Knative, what they are using for serverless, whether they are running on Kubernetes. It's a five-question survey. So if you have time, please fill it. I also have a bunch of t-shirts and things that I put here. So after the talk, feel free to come and grab some, okay? All right, so let's do a quick intro to Knative. What is Knative? Knative, it's a Kubernetes-based open-source building blocks for serverless, right? And this might sound a little bit weird because when you think about Kubernetes, you're thinking about containers. So there's nothing serverless about it. And then this Knative thing is it's claiming to be serverless on Kubernetes. So how does that work? So hopefully, we'll be able to explore that today in 20 minutes. So when you think of an ideal serverless framework, first, there should be no servers. I mean, obviously, there's always servers, but you shouldn't care about them as an application developer. You should be able to write your code in an idiomatic way. So for example, I'm a C-sharp.NET developer. So I should be able to write my code in ASP.NET Core. I shouldn't have to change my code. I should be able to do...  When you think about serverless, we usually think about functions that are driven by some kind of events. These events can be HTTP-based, but they can also be like message-based, but they're usually event-driven. And last but not least is that you want your framework to probably be portable, right? So if you write your function and deploy it to one place, you probably don't want to rewrite the whole thing just because you want to deploy it to some other place. So when you look at the containerized world, Kubernetes kind of became the de facto standard for running containers in the cloud. I won't get into details because we don't have time, but basically when you run containers, you probably run Kubernetes as well, either directly or indirectly. So when we think about serverless, like developers love serverless because you are trying to solve a problem and serverless enables you to write the code and not really care about the underlying infrastructure. It's someone else's problem, right? And operators, they like Kubernetes because it gives them this common language and common framework to schedule and run containers, right? But developers, they don't really care about those details. So there's this tension between developers and serverless and operators and Kubernetes. K-native exists. It's an open source project that started with Google, but now a bunch of other companies like Red Hat and IBM, they're supporting as well. And it's an open source project so anyone can contribute. It basically provides a set of components and these components are serving, eventing and build that will take a look. You can think of these as the ingredients for serverless, the things that you need to build a serverless framework. K-native tries to do that for you, so you don't have to build them from scratch. And the concepts in K-native, they came from our internal learning. So I'm going to show you some of the things in eventing. So all those concepts of configuration and revisions and routing, they all came from how we work at Google. So we kind of learned from them and we kind of open sourced it for everyone else to use. Now the K-native stack kind of looks like this. So the platform is Kubernetes. Then on top of that, there's Istio. So Istio is also a dependency to K-native. Istio, for those of you who might not know, it's another open source project from Google and other partners as well. You can think of it as a way to manage your container traffic. So Kubernetes runs your containers and Istio kind of manages the traffic of your containers. And on top of that, we have K-native with build, serving and eventing. And on top of that, we have the products that kind of use K-native. So there's something called Cloud Functions in Google Cloud, which is a serverless offering from Google. And in Cloud Functions, we announced that you will be able to run containers with Cloud Functions so that container support on Cloud Functions is built on K-native. And then our partners, they have SAP and Pivotal, they all are going to have their function service that are kind of built on K-native. So that's kind of like the hope with K-native is that it's going to be the base layer for most people more things on top of that. And the whole thing runs on Kubernetes. So how do you use K-native? Well, first you need the Kubernetes cluster. This cluster doesn't have to live in Google Cloud, by the way. It can be on any regular Kubernetes cluster. But in this case, I'm creating in Google Cloud using gcloud command line tool. Once I have my cluster, I create a cluster role binding. This is needed for Istio to manage my cluster. So I do that. And then I install Istio. In Google Cloud, you can get a Kubernetes cluster with Istio with a single command. So if you want to do that, you can do that. But if you already have your Kubernetes cluster running, you can also install Istio manually yourself. And then once you have that, you install K-native. The serving, building, and eventing, they're separate things. So you don't have to use them all at once. You can install them one by one. But if you want all of it, then you can also install them all at once as well. And this is going to get much easier in Google Cloud. At some point, you will be able to say, give me a Kubernetes cluster with Istio and K-native and everything installed, and it will just give you that. But as of today, K-native is really new. So you have to go through these steps to install it. But it's very, very quite simple. So let's talk about the first part of K-native, K-native serving. But before I do that, let me just show you something. So here I have, first of all, I already have a Kubernetes cluster that I set up before the talk. So if you look at Google Cloud Platform and on Kubernetes Engine, there's a K-native cluster that I already set up. And let's just make sure that my K-native things are working. So if I do kubectl, I'll get pods, and then we'll get the K-native serving namespace. So everything gets installed under the different namespaces. So I'm just making sure that the K-native serving pods are working. Hopefully they work. Otherwise, the rest of the talk will be kind of just slides and no code. Oops, sorry. I shouldn't laugh. All right. Is Wi-Fi working? Yes. All right. So those are working. And while we're here, let's look at eventing. That should be quicker. Yes. Those are running as well. And the last one is built. So these are different components. Okay, native. That's working as well. And let me just move this a little bit down. Yeah. Okay. So everything seems to be working. So let's just quickly talk about what serving is. So serving basically enables you to deploy a container in a serverless way. So what you do is you basically define a YAML file and you say, this is my service. This is my container image. And this is the configuration of my container. And you just tell K-native, can you please deploy this? And it will deploy it. And then by default, it will be running on a single pod, but you get auto-scaling for free. So if more people start calling your service, it will be scaled up to like a maximum number of pods. If no one is using it, it will scale down to zero. So it scales down to zero automatically. And all the details of getting people, clients connected to your service is done automatically. So once you deploy your service, all those routing rules are done automatically. And the integration with the underlying networking is also done for you, right? So you just specify your service, your container, and all the details of how to run that service is done by K-native serving. There's some vocabulary that comes with K-native. So first, you define a service. By the way, this service is not a Kubernetes service. It's a K-native service, so it's a separate construct. And this service has a configuration that I'm going to show you. And once you deploy the service with the configuration, K-native creates what's called a revision. So a revision is kind of like a snapshot of your service with the current configuration. And then it will update the route, the current route to that revision. So meaning your service will be deployed and people getting to your service will basically immediately be routed to that revision. Now, if you change anything about the configuration, K-native will create a new revision and it will update the route automatically. So it has this notion of revisions and you can update the route immediately to the latest revision, or you can also split traffic and I'm going to show that as well. So that's what K-native serving is. In my tutorial, I have many examples, but let's just look at a couple of them. First, let's look at service V1 YAML. So this is my service definition for K-native service. As you can see, this is called a service, but it's from K-native API. It's not Kubernetes service. And then under here, I'm saying run latest, meaning when you deploy this service, just immediately route traffic to it. That's what it means. Always run the latest configuration. And this is the configuration on my service where I specify the container and this container is pointing to a container that I already deployed on Docker Hub. So it's hello world C-sharp version one. And this is the environment variables that my application is using. So I have an environment variable called target that has a value called C-sharp sample V1. And it will use this to print that message, right? So if I want to deploy this, what I can do is I can come here and say, well, before we do that, let's just watch some things.  Right now I have one pod running. That's for something else. Let's not worry about that right now. But if I do this kubectl apply and say service V1, now this will deploy the service to K-native and now this says the K-native service is deployed. And if you look at it, this created a pod. It's creating a pod for my service. It's created a service. It created a configuration. And we can't see it here, but it also created a revision, I think. Let's just watch again. Right. So it also created a route and revision and configuration. So everything is created. And if I do a curl, let me find my curl command. Yes. So if I do a curl, so this curl command, hello world C-sharp is the name of my service. Default is the name of my namespace. K-native ingress is the IP of my K-native ingress. And I set it up with nip.io. So I didn't set up a domain. So I'm using this fake domain service called nip.io. So I'm basically pointing to my service.  Right. So everything is working. Now if I want to update my service, for example in here, the only difference between service V1 and service V2 is that we are still using the same image, but we changed the message to V2. Right. So we changed the configuration. If I deploy this, keep CTL apply. This will create a new configuration and a new revision and a new part already. And if we do curl to the same ingress, you see that it's already V2. Right. So things are quite fast. If I go to V3, in V3 I actually replace the image. So if you change the image, that's also a configuration change. And I change the value again instead of V2 I'm saying V3. So now I'm pointing to different code. So if we deploy this one, now it's configured and you will see that a new pod and a new route and everything will be created. And if we curl again, you see that now it will say buy C-sharp sample because we changed our container so it's running different code. And lastly, now we have three revisions, one, two and three. If you want to deploy a new revision but you don't want all the traffic to go to it, you want to just test out like 20% of the traffic to go to that, you can do that as well. So if we take a look here, I'll wait to switch. So in here, instead of saying run latest, I'm saying release. So that's a different mode instead of like deploying the latest version right away. I'm just saying I want to do a release. And these are my revisions. So I'm using two revisions. One is the first revision I deployed. Four is the next revision that I'm going to deploy with the CML file. And then I'm saying, rollout percent is 20, meaning I want this new revision to get 20% of the traffic, right? And then this new revision is pointing to the same image, but it's going to say v4. So v4 is the new one that will get 20% of the traffic. The other one will get 80%. So let's deploy this one. Ctl apply service v4. And if you do curl, then when there's a hang, it means it's creating the pod so it's waiting for the pod to come up online. And by the way, as you can see, some of the pods are terminating because I'm not using them. I'm not using that version of the service so they go down to zero. So now it says v4, but if I do curl again, most of the time it will say v1, right? And 20% of the time it will say v4. So that's the kind of stuff that you can do. All right. So that's Knative Serving, Knative Eventing. Basically, Knative Eventing, there's a lot here but I have to do it really quickly. But basically what it enables you to do it enables you to connect event sources to event consumers using some kind of flow in the middle. That's all there is to it. There's a bunch of different event types already implemented. So if you want to listen for GitHub events, for example, there's a GitHub event source that you can use. So anything that happens on GitHub, you can listen. On Google Cloud, there's something called Google Cloud PubSub, which is a messaging framework. You can listen for Google PubSub messages. And there's a bunch of others, so basically there will be more and more here. But basically it enables you to connect event sources to event consumers. So the way it works is that there's two different modes. There's simple derivative and a more complicated one. But to be honest, I think the second one is more common. So you have the event source. This is the thing in Knative that listens for the external events. So if we are listening for Google Cloud PubSub, it will listen for Google Cloud PubSub messages. Then once it gets the message, it has to do something with that, so it passes that to a channel. Channel can be in-memory channel, or it can be more durable channels. And then from the channel, you can go to subscription. So a service will have a subscription to the channel. And then from the channel, the message will go to the subscription, and from subscription it will go to the service. Or you can change services. So from channel, you can go to another channel, and that can go to other services. So you can do chaining as well. There's much more detail on my tutorial about this that you can read about. But what I want to show you here is that I have this sample where I'm connecting Google Cloud Storage to Google Cloud Vision API using Knative in the middle.  And the cool thing about storage is that you can enable PubSub services on it. So you can say, on this bucket, I want you to send me a PubSub message when someone uploads a file. You can say things like that. So when someone uploads a picture, it goes to Google Cloud PubSub. Google Cloud PubSub will send a message to a topic, and then you can have Knative eventing listen for the topic, get the message, and then it will use this channel in memory channel to write it to a Knative service. And then Knative service can do whatever it wants. In this case, it makes a call to Vision API, which is a machine learning API in Google Cloud where you can pass in images and it uses machine learning to analyze the image to get the labels out of the image. So as you can see, storage and vision are two different things, but you can kind of glue them together using Knative. So let me show you this quickly. So if we go to where is it? Eventing Vision So I already created the source, so we are already listening to GCP PubSub messages. I already created a channel in memory channel, so once we get the message in Knative, we already save it to a in-memory channel. And now I want to create the service that actually will get the message and also the subscription of that, right? So what I'm doing here is when I say Coup CTL Apply Subscriber and let me show you this quickly. So the source is already created, the channel is already created, I'm not showing them to you because we don't have time, but the Subscriber first we define a Knative service so this is a regular Knative service that points to some Docker image that I already created. One thing I did here is that I set the autoscaling limit to one meaning I will always have one pod running. It won't go down to zero because I don't want to wait, so I always have one pod running. And then I also create a subscription. So the subscription is basically listening for messages from this channel that I already defined and it's connecting to the service. So it's making the connection between the channel and the service that we created, right? So if everything went well let me let me do this, Coup CTL, I get pods. So as you can see, I have my Hello World they are terminating because no one is using them but Division 1 is running. That's good. I want to look at the logs. So let me check my logs. Yeah, let's do this and Coup CTL, I get pods. I need to get the pod ID. All right. So get this. So we are now looking at the logs on my service. Now it's listening on pod 8080. All right, now let's go to here and upload this image. No one knows where this is. Any guesses? No one? All right. It's Ipanama Beach in Rio which is one of my favorite beaches. So let's upload this image to Cloud Storage. So this is listening. If you go here Cloud Storage I have a bucket for my Knative so this is my Knative bucket and I enable PubSub messages on this so anything I upload here will generate a PubSub message. So upload files, choose the beach. All right, ready? It's uploading. Hopefully it works. Come here. Boom.  So we made the connection from storage to Vision API. We have, for example, one from Twilio where you can send a message to a number and it can use Knative to reply to that message in different ways so it's pretty cool if you have time to check it out. All right. And the last thing I want to talk about is Knative built. So Knative built in a single sentence it basically allows you to go from your code to a container in a registry. So you can deploy you can build your code and you can create a container image and you can push it to Google Container Registry or you can push it to Docker Hub, things like that. There are some primitives. So build is basically the thing that it's basically the number of steps in your build. You can use many templates so there's many templates that you can use or you can take your own build and make it a template and you can use it for multiple builds. There are different kinds of builders that you can use. And finally, if you need to authenticate let's say with Docker Hub you need to have a service account so there's a service account as well that you need to set up. Again, I have examples of this but I want how much time I have? Zero. Okay. Just to show I just want to show you the YAML file in here and then we can finish. Or maybe I won't show it. Okay, maybe I'll skip because it's just right here. Just one sec. So this is Docker. This is a build that pushes Docker. So all we are doing here is that we are giving the name. We are saying this is the service account that I use that I will define in Kubernetes. Then this is the source that I want to build and the path to the source and the steps is basically I'm using Canico which is an open source project to build my image and this is my Docker file and the destination is defined here. So once you do that, you just say I point to YAML and this all happens. Okay. That's all I unfortunately have time for. Thank you very much. If you want to grab some t-shirts and everything, feel free. Thank you.


What's going on everybody? Got Kyle here with Leighton Sports Cards and we're ripping 10 Father's Day packs. This one is going to be for Zabrie. Oh, I got you. I got you Stephen. One, two, three, four, five, six, seven, eight, nine, ten. Ten of them. I got you Stephen. I got you. Good luck sir. Let's see what we got. James Wood and Charlotte Flair is going to be our first number to 99. Charlotte Flair on the red. Got you Stephen. I will remember that. I will remember that. AJ Brown. And Jaden Ivy, Rookie for the Pistons. KD. And this is Malik Cunningham, Rookie at a Louisville. If you got brought back to the Patriots. Pack four. Macbosa and Silver. This one is the 199. Ja. Ja Marant there. Grizzlies. Silver to 199. It's a Dylan Mitchell out of Texas and Kyrie. Kyrie for the Mavs. Jackson Merrill and Hailey Deegan. Going here Stephen. Got Patrick Mahomes and Rookie Jabari Smith. Rockets. Charlotte Flair and this one is Jarron Hall. Silver that's a 199 new Rookie QB for the Vikings. Jarron Hall drafted by the Vikings at a BYU. Got a Jarron Hall Rookie Base and Luca. Jackson Shurio and red is Joey Logano on the base. Joey Logano. Alrighty there Stephen. That will do it for your 10 Father's Day pack. Some nice numbered cards in there. We will get those right out to you sir. Thank you.


So, all right, this is what I'm going to talk about, and let me start with what I'm really happy to be here to honor Luke. I've known him and admired him for quite a while now. And maybe in another half century, we can do it again. Okay, so what I'm going to talk about is joint work with Pamhatiap and Antonio Achas-Leon. And let me start with reminding you of Avianca's insight, which goes back to around 1957. So, if you have an open Riemann surface of genus G, then the fundamental group is a free group on 2G plus one less than the number of punctures free generators. Actually, I tried to track down exactly when this became a theorem. And it's a little bit hard. I mean, it's, by 1930, it's written down somewhere. But I couldn't find anything before that, but I'm, I can't believe that it took that long for this to be known. In any case, so that was it. So Avianca says, well, what happens if you're in characteristic P. So again, an open Riemann surface. But you're in characteristic P. So he says, well, the problem is about the characteristic P. So he says, take the subgroup generated by all the PC law subgroups for your finite group or commonly by all the elements of subgroup generated, the normal subgroup generated by all elements of P power order. Or equivalently, it's the subgroup, it's minimal subgroup such that if you divide out by it, you'll get a group of order prime to P. So now Bianca's idea is that the condition that a finite group G be a quotient of pi one of this, this open curve in characteristic P is that if you divide it. It's, so to speak, P part this G sub P. That should be what you get. In other words, if you have a finite group, which divided by its P part is generatable by the correct number of elements. Then it should occur as a quotient of a finite quotient of pi one of this open curve in characteristic P. So if it's the alpine line which over the complex numbers is simply connected, then it's saying that the condition is that G should be equal to the subgroup generated by its PC laws. If you're on the multiplicative group, it's the groups that if you divide by this P subgroup, you just have a cyclic group, etc, etc. So that the key case was the case of the alpine line. And that was proven by Renault and then was extended to the general case by Harbader and the different argument by pop. So it's that's something we know. Okay. So then the question becomes suppose we're in characteristic P. And we're given a group that according to the theorem can occur in characteristic P. So take it take some complex, take a faithful complex representation of it. And then you say okay it's a finite group so this complex representation of course lands in GLN of some number field, and you embed the number field into some allatic field, then you can compose. You can think of the group inside this is GL, and you can compose with the fact that the PI one maps on to this finite group. So altogether you get a homomorphism from this PI one to some allatic GLN. And tautologically, a continuous representation of PI one is what we call a local system. Yeah, a least shape a least allatic shape of rank and on this open curve. Okay with this extra property that it's monodromy group is actually this finite subgroup of the GL. And I mean, L here, when I've said so far L could be the characteristic that that doesn't matter it's a true statement. If we want to use a lot of homology which we do, then we'll always take will will choose an L which is different from the characteristic. Okay. So that's, that's the story that we want to investigate. So now I want to talk about so to speak working backwards. Instead of starting from a group, let's talk about local systems that we can somehow try to deal with. So first of all, our curve over the algebraically closed field will be interested only in cases where it comes from something over a finite field. We'll want to have a local system on the curve over the finite field. Take it to be geometrically irreducible. And we'll also take it to be pure of some weight and in fact, using LeForg the pure of some weight is automatic, but I'm going to assume it explicitly. And in the at least only in the examples I'm going to talk about will know the trace function will know what the traces of Frobenius are at any point in any finite extension in this local system. And now it means that we can compute it and some we can compute it on a computer. Have a formula in that sense. And at least in the cases I'm going to talk about the trace will a priori line, a cyclotomic integer ring. In fact, the only P part will be that we have a piece of unity, and then we have some root of unity, and we can call q minus one to being in a power of P and so but basically cyclotomic integer ring where the P part is just from P through its immunity. Okay, so then some general business. Whenever you have a local system on on a curve over a finite field. And you look at its determinant so that's a rank one thing. And because you started over a finite field, this rank one thing geometrically is a finite order. So we know that. And so if we do what a suitable constant field twist. We can make this determinant and not just geometrically a finite order but arithmetically a finite order. And the cases we're going to look at. Are when the, the way you the constant field twist you need to choose, you need to twist by is just the correct power of the square root of q, the power of the square root of q that makes the way come out to be zero. This twist by the right power of the square root of q will always make the thing pure of weight zero, but it may or may not make the determinant arithmetically a finite order. But we're going to talk about cases where the square the correct power of the square root a few does the job. So assuming that we're in that case, then we can pay attention to the, the geometric monodromy group which means the zariski closure of the image of the geometric monodromy the image of the pot by one of the geometric curve for this local system. Of course, the geometric group doesn't care whether you did the twist or not. But what does care a lot about what twist you did is the zariski closure of the image of the, the arithmetic pie one, the literal pie one of the curve over the finite field. And basically by by the global version of the local monodromy theorem, this g geometric group is actually a semi simple group meaning its identity component is semi simple. And that's, that's the theorem that if you if you start, say with a geometrically irreducible local system. So the tautologically this g geometric is has given with a faithful irreducible representation so our priority it's a reductive group. And what's keeping it from being semi simple is that maybe you could have a unified radical. And the, so to speak, the global version is that the unified radical is trivial. In other words, if the group is reductive and it's semi simple. And then you look at the relation between G geometric and G arithmetic. So if the smaller group. The arithmetic group is finite since it contains the geometric group the geometric one is finite. And conversely, since the arithmetic group normalizes the geometric group. So the arithmetic group itself is going to be finite because you look at how it normalizes and the information you lose is the center has to be scalars because we're irreducible, but there can't be many scalars because the determinant is arithmetically a finite order. So the situation is that we have these two groups. One sits in the other but they're finite or not together and the the finiteness that's most accessible is that of the arithmetic group. There's a so to speak number theoretic criterion that the condition for the arithmetic group to be finite is that all the traces offer bane is traces are algebraic integers. So it's obvious that if the if if the group is finite, then what we're looking at is bane is elements are these conjugacy classes in this finite group. So of course they have traces which are some kind of cyclotomic integers because they're they're traces of elements of a finite group inside an ambient GL slightly subtle part is that if in fact these for bane is traces are all algebraic integers, then then you have finiteness and the argument there is that if these Eigen if these traces are algebraic integers, then the for bane is Eigen values are going to be algebraic integers, but by purity these algebraic integers are going to be roots of unity. So that means that every for bane is has Eigen values that are roots of unity. Now where are these roots of unity. Well, this a lot of system lives in some finite extension of ql so in some usual a lot of fields. The characteristic polynomial for bane is has some the rank of the system degree and over that field. So these Eigen values are in a fixed finite extension of this a lot of fields so they're in a fixed other a lot of field but the roots of unity so the roots of unity of some bounded order say 700 just to pick a number. So now you know that the 700th power of every for bane is is unipotent. Now the for bane I are dense. So you know that every element in your arithmetic group has the property that it 700th power is unipotent. Now the arithmetic group contains the geometric group. So in the geometric group the 700th power of every element is unipotent. But the geometric group is a simple group. So I'm in a maximal Taurus, you would know that every element has 700th power which is unipotent, which means there is no maximal Taurus, or rather it's trivial, and then the geometric group is finite and therefore the arithmetic group is fine. So that's how you go back and forth. And now, if we look at what the trace is in terms of our local system before we did the twisting. We're computing that trace which is some kind of cyclotomic integer. And then for that by the twist we're dividing by this power of the cardinality of the finite field. So now that that power is just it's some power of p. So in other words, what you need is the p integrality of these divided traces. So the condition for the finite g arithmetic or probably finite g geometric is it's a piatic condition on these traces. So if you're in a fixed number field and for each piatic place of that number field, you need, you need this inequality. So step one and the sort of general program I want to describe is, okay, find interesting local systems. And when you find one. The arithmetic group is finite or prove that it's not. In other words, decide if it's finite or not. And step three, if it's finite figure out what what the groups are. If it's not fine and also figure out what the groups are. Okay, so it's sort of a three step program to keep you busy. All right, so now I'm going to give three different instances of some interesting irreducible local systems on some open curves. So, in general, we're going to, it's going to, and we're going to have systems whose trace function involves an additive character psi and a multiplicative character chi. At the beginning of the discussion will fix a non trivial additive character of the prime field. And we'll make it a lot of just by embedding the field of P through its immunity into ql bar. Then we get this so called orange wire she felt psi. It's trace function on finite extensions is you just do the obvious thing. You compose your additive character with a relative trace and that gives you an additive character of the bigger field. And that's how you get values. One extension fields and Chi is a multiplicative character of some multiplicative group of some finite extension. This gives you a comer she felt some Chi. And again, in a completely analogous way you get the traces in extension fields by composing with the norm. You have a character of the of FQ cross and you compose with the norm you have now a character of the K cross. Okay, so when I write formulas. That's the sense of the psi and the Chi. Okay, so let me start without being very specific here. If if we're on the multiplicative group. We have these so called hyper geometric shapes, which are described by a list of upstairs characters. Another list of downstairs characters there should be fewer downstairs and upstairs. And the condition on for irreducibility. Is that nobody appears both upstairs and downstairs. And it can be quite delicate to decide if one of these things has finite monadromi or not. But there's an a priori statement that if it's going to have finite monadromi, then using the correct power of the square root of Q will be the right thing to have used. And meaning that the, if you do this twist, the determinant will be arithmetically a finite order. But that doesn't have to be true. That's not a generally, that's not a statement that's true in general for hyper geometric shapes. Okay, and so there's a tremendous amount that we know about these, which I'll only refer to implicitly a bit later. So second example on the affine line. We can look at local systems right now I'm going to tell you explicitly what the trace function is. So this is the trace function. From a fancy point of view, it's the Fourier transform of an L psi of f of x tensored with an L chi of x. But because it's the Fourier transform of some rank one thing, it's geometrically irreducible for free, if you like. At least if we restrict the chi to either be the trivial character, which is saying, don't write it down at all, or the quadratic character, which only makes sense if we're not characteristic, then we know that. So this is going to be weight one, and we divide by root Q. Then that's the right thing to have done. Again, it doesn't have to be always true, it could be it can be false, even if it's x squared plus tx and you take some other chi. The arithmetic determinant won't be right, won't be a finite order if you use root Q. So that's basically saying that the product of Frobenius eigenvalues doesn't have to be just the power you think of root Q in general, but it's okay if chi is trivial or the quadratic character. And then a third case that one might try to look at is So take a hyper elliptic curve of this y squared equals a nice polynomial like this. So what I've written is the equation of the curve minus the single point at infinity. So it's pi one is a free group on two G generators. They occur in pairs, the product of their commutators is what local monodrome is around this missing point. And so the affine coordinate ring of this curve is just polynomials and x and y, but subject to the relation y squared equals this F. So the the the regular functions are either polynomials and x or y times polynomials and x. And if we want to have something that's actually on the on the curve and not just a trivial pullback, then we should have a y factor. So that's why I write y times g of x. And again, for essentially trivial reasons, this is going to be a geometrically irreducible local system. And again, if we at least if we're careful about either having a trivial character or quadratic character, we can use root q. And it doesn't it doesn't matter what character you take in general. Okay, so before going on, I want to talk about an open problem almost the kind of computer science problem. And we want to decide if the these groups are finite. We have to look at Frobenius traces. And we want Frobenius traces after the twist to be P integral, equivalently to the algebraic integers and the question is, so you start computing, which is say over various finite extensions of the field, you started life over you compute all the Frobenius traces. If they're all P integral. And so the theorem is that if, if every single one of them is P integral, then you win. Now, in practice, if you just have some local system and you're thinking, well, I wonder if it's possibly finite, I'll do some computations. So you compute for a while. And gee, all these prices are coming out to be P integral. Maybe it's that you're in characteristic two and you've gone up to the field of two to the 20th elements, that's a million. And say, well, you know, how could it not be finite. If you if you have that much data. So, okay, so here's a theorem. But it's a useless theorem, let me explain. We looked at these situations where we're over a fixed finite field and either we had a hyper geometric sheaf where the characters were ordered dividing q minus one and they're at most and upstairs and fewer than and downstairs, or we had a polynomial of degree something and maybe a character, or we had y times g of x. G had a bounded degree the genus is bounded says only only finally many things to look at. And what I'm saying is that there is some bound so that if you've gone up far enough. And then you know they're all going to be algebraic integers. And the proof is kind of idiotic. So they're only finally many of these systems that you're going to look at. Now, some have finite arithmetic group and some don't. And for each one that doesn't. You know that you're going to get an unintegral trace somewhere. So look how far you had to go for each of them to get an unintegral trace. Okay, the worst degree that you needed to get an unintegral trace will tell you well if you've gone that far and you haven't gotten an unintegral trace, then you're not in one of these bad cases, and therefore you win. But as I say it's useless, because I mean implicitly it's saying, you know in advance what the answer was. Okay, so the real question is. In terms of the input data of the size of the field rover and and the degrees of some auxiliary polynomials. How can you can you explicitly bound this this this thing in terms of the input data.  The ideal thing from a computer science point of view would be have a polynomial in in something like n times law q basically the number of bits in the input data. And boy do we have no idea about this. So one's experience is that. Well, so in this in this collaboration with with roughly on and and yeah. The experience has been that if we have a system which we suspect might be finite. And we do some calculations of p integrality of traces, then either. We can trace right away which is say we get an unusual trace right away, or we, we compute for well, and it looks very good. And then we ask Rojas Leon, you can actually prove this, and he has 100% accuracy rate. And giving him things which he then is able to prove are actually finite. Okay, so let me now talk about what we know, and what we don't know. So let me just be briefly talking about the hyper geometric case, where, so I can summarize it by saying that the three of us. We for instance so let me let me start by saying an initial sort of interest of looking at these things was to wonder if we could get any of the sporadic groups as monitoring groups for the hyper geometric sheaves. So we've first of all figured out which of the sporadic groups could possibly occur and I'll explain in a minute what what could keep them from occurring and every time we can prove. Well, every time. It's not on the list of exclusions, then we've been able to find a hyper geometric sheet that realizes it. And the other thing we've done is looking for finite groups of lead type. Which ones can you get, and if you can get them. We got them. So let me just let me just say a little bit, because it's kind of cute about the, the sporadic group case. So anybody who knows what a sporadic group is. You know, you say well I'm interested in hyper geometric sheaves and getting interesting monitoring groups, right away I say well how about the monster. So the problem with the monster is this, it's smallest dimensional representation is something like 1986, 63. So we would need a hyper geometric sheave which upstairs has a hundred and ninety some thousand characters. Okay, now when you have a hyper geometric sheave. Unless all the upstairs characters are distinct from each other, you can never have, it can't have finite monitoring because already you'll have non trivial Jordan blocks. If a character upstairs occurs a few times, there'll be a Jordan block of that size. So you need all the characters upstairs to be distinct. Now, if all the characters upstairs are distinct, then there must be the order of the local monitor me. The generator sustained situation has to be at least that hundred ninety six some thousand, because if it were lower than all the characters would be of order, dividing that lower number, and they can't then all be distinct. Okay, so we would have an element in the monster whose order is 196,000 some. The biggest order of any element in the monster is 100 and something. So, you're not going to get the monster. And the same condition. I mean what it says is that if you're going to get. Well, if you're going to get any group in in saying an n dimensional representation from a hyper geometric in the n dimensional representation, there better be an element of order at least then. So that's. That's pretty restrictive and it rules out a lot of the sporadic groups, and there's one sporadic group that isn't ruled out by it. The Higman Sims Higman Sims group gets ruled out for another reason which I won't go into. So, but the remaining ones. The one that we haven't ruled out. We find things that realize them. Okay, and maybe I'll say more about this later. Okay, so let me talk about the case on the affine line. So, so here we're looking at some of rex psi of f of x plus Tx with a character. And if you say well what happens. If the input is some general polynomial laugh. The answer is, we don't know we know a few. We know some families of polynomials which have this extra and very special property that all the coefficients of the polynomial to separately be independent variables. So you have a big multi parameter family. If that multi parameter family has finite monitor on me. Then of course the polynomial you started with us just by specializing the coefficients to the ones of your polynomial. And we do have. We do have a complete understanding of that situation, but that almost never, so to speak statistically it almost never applies. And, but right now, I think it's fair to say that in the general case, that's the only source we have f's with more than two terms in them that we can prove something, but the case where we can prove something is if if this f is just a single monomial. So it's just a power of x plus Tx. Okay.  Because so let me just say in words, you have one of these hyper geometric shapes, the upstairs characters, which, if we want finding us have to be all distinct anyway. They have some common order, say, capital A. If you do the Cumber pullback by capital A power to this hyper geometric thing, then you've trivialized the local monodromy at the origin. In other words, you've created some kind of local system on the affine line. And this kind of local system they're running down here with x to the A plus Tx with a character even on. There are local systems that have the property that they're in fact suitable. Cumber pullbacks of hyper geometric things and it's really from the hyper geometric story that we know that we're able to prove the things I'm going to say now. But the statements are sort of nice in the right way. So there are two cases in this x to the A plus Tx with the character where we get sporadic groups. You know where these numbers come from, it's sort of a mystery. So in characteristic five you can have x to the seven plus Tx no character. And you get this group called 2J2. So it's a finite subgroup of the symplectic group sp6 and it has various special properties like it mocks the full sp6 and having the same second, fourth and sixth moment. Okay. There's one other in this x to the A plus Tx with a character case where we got a sporadic group characteristic three x to the 23 plus Tx with a quadratic character, we got this Conway group co3. And now this 2G2 case was discovered by Rojas Leon. He was looking for when x to the A plus Tx without a character was going to be finite. And he found this case doing a computer search and checking integrality empirically first. He found this case right away. And then I think he went up through characteristic 11 or 13 and degrees up to a million and he didn't find any more. And then he figured out a proof technology where he was able to prove that the group was actually finite and then we were able to prove exactly what it was. But this was one of the starting points of the realization that you could get interesting groups with kind of accessible, easy to remember local systems. And then, of course, a natural question. If you're looking at this, well, you know, what else can you get and the answer is, therefore, if you like for infinite families, you can have the degree is q plus one over two, and you're talking about SL2q. You can have degree to Q minus one in the quadratic character, and it's the alternating group of size to Q, you can have these funny fractions. Qn plus one over q plus one where the end is odd. So the q plus one divides Qn plus one, and the character has to have ordered a binding q plus one. And you're talking about the special unitary group SUNq. SU3, too, is a little tiny group and the statement would be a little different for that. And then there's when the degree is q plus one. So this goes back to the actually the mid 1980s, Dan Kubrick had a technology using what became what we started to call his V function, actually he called it as V function, and he proved fineness, for instance for this. And at the time Richard Pink was spending a year or two in Princeton, and he came up with the proof that it would be a P group. And then much more recently, I asked my guest then student, Will Sawan, if he could figure out exactly what this P group was, and he figured it out that it's actually the Seisenberg group. And I think, too, it's a little bit different. And then there's this very degenerate case where you think it's you think of one plus p to the app as one plus one by taking F equals zero. And then it's just, it's the cyclic group of order p. So if you like it's the, it's the Heisenberg group of order pq squared where q is one. Okay, so those are the infinite cases. And then we also determined what the group is going to be if it wasn't finite.  Okay, so the statement is it's very simple it's a symplectic group. If it's x to an odd power and there's no character. It's a diagonal group. If it's an odd power. And you have the quadratic character, except there's something special with seven, because when it's seven. It's G to which is this exotic subgroup of so seven. And if a is still if it's odd but but you haven't used the quadratic character or the trivial character so you're not in one of the first two cases. It's SLA. And it's SL sub a minus one, if a is at least four. And then there's some special case if a is to and then I'm not trivial character, but basically the point is we know exactly what these groups are, and in some sense, this list is kind of disappointing because so we're getting the standard standard classical groups on orthogonal groups and plectic groups special linear groups. One, I'm exceptionally group G to sort of disappointing that we didn't get any elder exceptional groups, but that's life. Okay. So in the hyperliptic case can be described very quickly we don't know anything. Can we even can we get by the kind of baby systems I wrote down psi of y times g of x plus t times x maybe with the character. Can we even get finite groups. Or suppose you just to fix ideas take. Take g of x. A fixed polynomial g of x, but vary the polynomial f defining the hyperliptic curve. So if you like reach different hyperliptic curve with a fixed psi of y g of x plus tx with character. So each one you're getting some group but does the group know so to speak which curve you're on. If you got if it came out finite for one should it be finite for the others or is that something special about that curve. We just don't know anything. Okay, so let me summarize by saying much remains to be done. And I thank you for your attention. Yeah, may I ask a couple of naive questions. Please. So you said that Leon had methods of proving finiteness, can you say a little bit more about that. And in particular, I'm wondering, again very naively if you look at the so called little crystalline comrades of these representations which should be accessible since they're all so explicitly constructed and possibly relate stuff to peak or richer. So, let me answer the first question first. Right. So, in the case of hyper geometric sheaves and also in the case of this psi of a polynomial. If the polynomial has all its coefficients independent variables so it's a multi parameter system. In terms of hyper geometric sheaves in both cases, you have a criterion, which is completely in terms of pediatric ordinals of various products of galsons galsons with different characters. Well, what Kubrick realized in the mid 80s was that if you use. Well, Kubrick just use sort of formal properties of words of galsons that followed from classical identities of galsons to be able to prove his thing. There's something called Stickelberger's theorem, which is a formula for the pietic order of a galson in terms of some. I'm hearing some strange noises. Am I, can you hear me in there. We can hear you. I hear the noise. Yeah, I hear you because the noises are minimal. Don't worry about it. Okay, fine. So, basically, the Stickelberger ideas this. You take your multiplicative character of an FQ. And you express it as a power of the type of the character. So that power is a number of my Q minus one. And you, of course, represented as an integer between zero and Q minus two. The Stickelberger formula is in terms of the pietic digits of that integer. Okay. And what what Rojas Leon has is a, if you like it, an incredible ability to turn this. Stickelberger formula, which expresses things in terms of digits and see what happens as you. As the finite field grows in such a way that he can get statements which in every case where it succeeds, he manages to find an inductive structure. So to speak with these digits that allows the, the finiteness to be proved. But we've, he and I have discussed whether, whether you can actually describe it as an algorithm. So relative to the relevant to this computer science question. And the answer so far is no that every time you sort of speak never know when you're going to find a point where you can start having an inductive structure. That's how he describes the situation. So while it seems like it should be true. It's just wide open now. And now the second question. The answer is. Hey, I don't know, and be. It never occurred to me to even think about this. But it's an obvious question to ask. And I don't know. Any other questions. If not, then let's thank the speaker again.


Good morning everybody. There we go. Everyone have fun last night? I'm surprised you still have voices then. Welcome to day three of KoopCon Cloud NativeCon North America 2021 and the last set of keynotes. We hope you had a great second day. We're gonna kick it off with our first keynote for today.