I consider the 90s one of the greatest series for television shows. She loves the 90s. It was a bit maybe, you were the 80s? What are you saying, I'm old. For TV shows. I was the kind of night rider and kind of all of that stuff. Blue Thunder and kind of, that was all my stuff, the A team. But for me it was get up every Saturday morning, 6am until midday it would be like saved by the bell, duck tails. I was probably just coming in at 6am from some rave the night before to be totally honest at that point when you were still in your school uniform. So anyway, it's the 90s. Sorry carry on. 90s, one of the greatest deals. It's not very politically correct is it for this era that we're in at the moment but that's just me I'm afraid, I'm a 70s kid. So one of the most iconic 90s TV shows. Also comment below what your favourite 90s or 80s clubs were that you were out until 6am. Especially if you were in the north of England around Hacienda time around only there we probably bumped into each other. Anyway, Mighty Morphin Power Rangers. You would have heard of them. I love the Mighty Morphin Power Rangers actually.  I mean everyone wanted to be one. It was a very different looking show at the time. We hadn't really been exposed to that. It was a very that kind of Japanese kind of vibe, very kind of high impact and I think it's the first time we'd seen that kind of stuff on TV before. So took off, I remember seeing them in like I was obsessed with the magazines growing up. Tiger Beat, Team Beat, Bob, 16, all those names. No idea. So but we are lucky enough to be chatting to David Yost today who you will all know as Billy the Blue Power Ranger. Lovely chat. We also interviewed him as part of life after flash when we were doing that and we actually got to meet him in person. He was a really lovely guy. Took the time to chat to us, had a really interesting story and this is a great interview so enjoy it. The fabulous David Yost that we met for life after flash has kindly joined us on the web show David, how are you faring in these times? First of all thank you for having me and obviously it's a pleasure to see you again. Obviously the world is in a bit of a upheaval right now. At least where I live the United States probably more so than a lot of places. So I mean I'm hanging in there as best I can. Obviously I've never dealt with a pandemic before and so it's a learning curve as they say and I am a firm believer in wearing masks and doing everything that we're told to do to social distance and keep ourselves safe and so you know it's definitely been a learning experience and you know I think it teaches it's taught me a lot about myself and you got to be creative that's all I've been doing is creative and everything I do. Power Rangers and your characters and you were a staple of so many childhoods growing up but what were the movies and TV shows that you grew up with that inspired you? For me I grew up in the 70s so I'm a 70s kid and that's when Star Wars came out so that was like my first introduction really I think to sci-fi and so I was always kind of fascinated with Star Wars and I was a huge Darth Vader fan I don't know what that says about me but I just really always resonated with him and then as time went on obviously I got to see amazing films like Flash Gordon so you know I became a big fan of Sam Jones and that movie always sticks in my head even to this day I just love watching it every time I get a chance to see it so those are a couple of them and then they're like superhero wise I really resonated with a cartoon that was called Underdog and not too many people know about Underdog but I just I don't know I always took it to heart because he was not supposed to make it and he always made it so that's sort of three of my things. What drew you to acting in the first place? I got my start as an actor in second grade I was seven years old and I was lucky enough to be cast as Dopey in Snow White and the Seven Dwarfs for our school talent show I guess it was and so I got to play Dopey and I was left on stage by myself seeing hi ho hi ho it's off to work we go and I just remember the entire school like laughing at what I was doing and I just thought wow this is this is fun I really I really want to do this so from that moment I did every school play possible I took acting classes you know I did everything I could I went to university as you guys say college that was what we say and you know I got a degree in communications and in theater and then moved to LA to be an actor and luckily enough got Power Rangers right out of the gate but you know it's just something that I always wanted to do my whole life was to act just because I enjoy it and it's a lot of fun how hard was that decision for you to make that move to LA to pursue the dream because it does come with a lot of stigma you know you hear about people chasing their dreams and it seems like one of the most one of the toughest careers to try and achieve success it is it's a very difficult career and you really have to think about what you're getting into I try to tell that to a lot of people just really make sure that you're committed to yourself and to the craft because it's a it is a roller coaster and it is up and down but it wasn't a difficult decision for me it's just something again since I was a kid like that was always in my head I put it in my head I'm moving to LA I'm going to be an actor you know and a lot of people laughed at me and just were worried about me at the same time but I stuffed everything I could get into my car and I drove to LA I didn't know anybody I didn't have a place to live and you know I spent three days trying to find an apartment found an apartment and then I lived in an apartment for months without furniture and just slept on the floor so you know but I was so committed and then I was out pounding the pavement I moved to LA ironically two weeks after we had the LA riots so LA was in a horrible state it was not a good time to move to Los Angeles but that's that's when I chose to move here and it worked out for me and I think really it worked out because I was focused and I was driven and I wasn't going to let anything stand in my way and currently if I'm wrong because you can never trust the internet it when after you moved it wasn't actually that long before you got the role in Power Rangers that is an internet thing that we can believe that is true so I only lived here for I would say three months and then I got the first audition for Power Rangers and at the time it wasn't called Power Rangers it was called Phantoms and I saw an open casting call I just went to the open casting call with thousands of other people and just slowly go you know it just kept getting more and more narrowed down and it was like a two-month audition process so you know when it was all said and done I had been in LA for about five months and you didn't get to pick your color no we didn't get to pick our colors they were already pre-assigned actually when we were auditioning we didn't really know a lot about the superhero aspect of it the spandex the helmets you know they didn't really tell us that they were more focused on the the teenagers as they as we were being cast as and the chemistry that we had together and if we were either a martial artist a gymnast or a dancer I was a gymnast I was a competitive gymnast a lot of my life growing up but so my gymnastics sort of helped get me the role but anyways we didn't get to choose our color I originally had auditioned for the Red Ranger but after three auditions for that character I knew the producers were going to be going in a different direction and so I asked the casting director can I please read for the role of Billy she said no we have all these other guys and you don't look like them we're kind of going in that direction and I said please I know I can do this and she just said I just don't think the producers are going to be open to it and so I went into the bathroom at her studio whatever and I wet my hair down and I borrowed somebody's glasses and I borrowed somebody's button-up shirt and I came back and I said please let me read for the role of Billy Billy's the nerd that's why I was doing all those things he's the intelligent one of the group she said okay you know I'll see what we can do and they allowed me to audition and then I had five more auditions for the role of Billy after that so the lesson in that is to be persistent and if you if you really believe something in your heart which I knew I could do this role I knew I needed to act it was what I was there to do and so I had to prove and I had to do whatever I could to convince them that I could do it and so you know I like to tell people this story because a lot of times people tell us no and we accept the no and we walk away and you know I just didn't want to accept the no so obviously don't be crazy don't go don't make people feel really uncomfortable but you know if you really feel something in your heart then you you have to do everything in your power to make it happen going off my question list I was so slightly with this next one but what was it about Billy that made you know that you should be playing that role again I don't know it just it it was just me wanting to be a working actor I love acting and Billy certainly was a challenge for me because he's super intellectual and I David am not I'm like an average student I always got C's and Billy was always A plus student and so you know even the audition scene Billy had all these big words that I didn't necessarily know what they meant so I'd have to go back to my apartment I would look things up in the dictionary and then I was trying to make them sound natural coming from David as Billy and so you know it was even though you know it's a kid's show and it's kind of cheesy and all that kind of stuff it was it was a it was work for me which I really enjoyed because I got to create a character that was so unlike who I really was in real life Billy taught me a lot and so I honestly have been honored to get to play a role like that what were your first impressions once you had started shooting what were your first impressions of the script and the show and did you know that it was going to be such a huge hit I mean the initial impressions I I mean I thought it was okay I didn't really understand again it's like this idea that hasn't ever been contrived or done before so we're taking footage in the beginning they're taking footage from a Japanese television show and they're cutting it in with American footage and so just that concept I was like okay I don't I don't necessarily get it and then they're talking about dinosaurs they're saying we're morphing and I was like what all this stuff mean so you know I was just happy to show up to set I can remember one of the first days of filming we filmed at a bowling alley and I you know I showed up and they're like oh you know over here your trailers over here and then we're gonna take you to wardrobe and we're gonna take you to makeup and I was like oh my god my dream's coming true this is like I'm really acting like I have a trailer and I get to go to wardrobe and have to go to makeup and so all that was a lot of fun and then you know getting to become the character and getting to film for the majority of us on the on the cast we had never really done too much TV or film so it was such a training ground for us to work in front of camera and so all that beginning stuff was amazing and it felt so much fun for all of us and you know we filmed the original pilot and then they cut it together and they showed it to us and we were all kind of like okay you know we'll see we'll see how it goes it it really wasn't that great but luckily enough in the United States we had a network called Fox and Fox picked it up and you know they ordered 40 episodes right out of the gate and so we went and we filmed 40 episodes almost all of it was filmed prior to it even airing and so we had no real gauge of how successful the show was going to be and then the show started airing in I think it was at the very end of August beginning of September and we immediately shot to number one in the United States and the phenomenon began as they say and then the show started airing around the world and again worldwide we started becoming the number one kid show throughout the world so that's such an honor there's no way to gauge there's no way any of us could have predicted that that would have happened and that I am here all these years later almost 30 years later I'm still talking about it I'm still lucky enough to travel around the world and go to Comic-Cons and meet people in their 20s and 30s that freak out when they see me or my co-stars from the original cast because we had such a such a crazy impact on their lives and I think that's the most humbling thing about the whole experience is that it's just not something that I ever would have thought that a character that I was playing would give people hope you know they would see that Billy was a nerd or Billy wore glasses so it gave them confidence to feel okay about wearing glasses or they saw that Billy had friends so because he's a nerd he has friends I'm a nerd I can go out and make friends or you know it got them involved in gymnastics and martial arts and dancing and just giving kids confidence so that's such an honor to get to be part of a show that does that and just continues to do that now a lot of our fans have kids of their own and they've introduced their kids to the original Power Rangers and their kids love it so it's just like this trickle down effect that has been awesome when we interviewed you you it's always stuck with me the story you told where you said you were looking for a house and you went in and and one of the bedrooms was just plastered with your characters posters and that was such a surreal experience that still sticks with sticks in my mind obviously and it was actually a soap a soap actress here in the United States it was her house and so it was her kid and it was just like it was just interesting to walk into a bedroom and see Power Rangers posters but not only Power Rangers poster blue ranger stuff kind of like you know trickled around the room and I was like oh wow like I that's such a weird experience but obviously again awesome you know I as part of the original cast which has been like I guess the most popular cast you know we still have all these action figures continually being made in our image in our likeness and it's it's just interesting to to see that it just keeps going and going and going and obviously again I am just so humbled by it all and so honored and so to get to walk in to be searching for a house in LA and walk into some kids room and see that you know the show that I'm a part of is really affecting him it's awesome. You touched on how it's impacted you this amazing series that you were part of but just how quickly it became popular and a you know number one in the States how was that for you you know you just moved to LA wanting to be an actor and then suddenly not only did you get a role which a lot of people who moved to LA might not do but then you become one of the most popular characters on television seems overnight how did you cope with that? Again it's a learning curve because you know nobody can really prepare you for what fame is really like and so you lose a lot of your privacy in a lot of ways and so you know it starts off where you know you'll start going to the store and you'll see people looking at you or kind of whispering and you're like what's going on because you know for me I just was going to work every day and doing my job I kind of forgot that I air on TV and then it started clicking in my head oh they they recognize me and then you know as time goes on on the show becomes more popular people are pushing their kids at us their kids are scared and crying and you know they're saying take a picture with them take a picture with them and all that kind of stuff so you know it just kind of you have to learn how to navigate that so you know obviously when you decide to be an actor in television and film obviously you know that becoming famous is part of the deal and so you know it it teaches you that you just kind of have to always be a good person which there's nothing wrong with that so you just want to always make at least I do I just always want to make sure that when I do meet people that I make them feel happy and that they they get a moment and I try never to say no if somebody asks to take a picture I mean there are there have been times where you know I don't feel I look my best and I'm like I'd rather not but I always try to take pictures with people as best as I can but yeah it's definitely a learning curve when the fame of the show started do you find it hard to be a role model I don't know if it's hard but again uh you know being on a show like how rangers uh you're playing a superhero and you're playing a wholesome teen I guess and that's how people see you and so I don't necessarily get to express myself I choose to be cautious about what I do even like on a political level I don't want to upset people I don't know it's such a complicated thing to navigate this part of it too even just yesterday on Twitter I had they had some people I don't know what's going on in the United States right now but we have cops that are dressed just like civilians and they're grabbing people off the street and throwing them into unmarked cars and just speeding away with them it's kidnapping and so I wrote wtf uh and you know you know I said this is a straight out kidnapping whatever and uh one of my fans said you know they were genuinely upset they said power rangers don't use wtf so the f you don't you don't use that and I was like oh yeah you're probably right and so I should have said wtf you know so uh just little things like that were you know it's like I'm constantly feeling like oh yeah I kind of have to watch myself and I do want to watch myself because again I have to remind myself even though I did the show 30 years ago and I think my fans are 25 to 35 years old and they might be able to handle it um I have to remind myself that there's little kids uh that are still watching the original and uh they see things because they're connected in social media and so I really want to make sure that you know I'm not doing anything to shock children that's interesting because you you're because you have to be a role model as you David but you also have to still be Billy so you've you've got to be two role models almost but yeah it becomes complicated in some ways but you know I just really just try to be myself and uh try to watch my language that's that's what I have to do why do you I mean it's lasted years as we've spoken about it's still loved I was a big fan of it still am growing up as well um why do you feel like it is still so popular and loved I think the thing that I'm most proud about uh with the television show at least Mighty Morphin Power Rangers when we started this in 19 we filmed the original pilot in 1992 uh it didn't start airing till 93 but back then uh I was always proud that we had an ethnically diverse cast and so I really felt like uh everybody was represented for the most part in some way and uh again just me getting to play a nerd kids that are intelligent kids that are on the spectrum they could relate to my character so I just I love that we were so diverse but we came together and we were the best of friends and we really showed that we could all just get along and I think it's interesting that you know in the world especially in my country we're seeing so much crazy craziness with racism and all this stuff but I'm glad it's coming to the surface so that we can get to uh maybe living how the Power Rangers lived uh just you know in harmony so uh and just uh support each other in terms of what we bring to the team so Power Rangers again a great message from the show was teamwork uh and that it's not just about one person it's about all of us working together and so that's sort of you know what we have to do in the world as well as work as a team and in addition to acting you also are producing as well now um was that an organic experience or organic organic transition for you a natural one I think it was really natural and actually pretty easy for me you know again being on Power Rangers we filmed that TV show very in a very fast paced environment we filmed four episodes at one time so we would call them clusters and so everything that would take place let's say in the command center for those four episodes we would film and then we would move to our gym and juice bar set and everything that we did in uh everything that would take place in the four episodes in that set we would film and then we'd move to the school and then we'd go out onto locations stuff like that so it was very fast paced and constantly doing wardrobe changes and hair changes for the girls and uh all that kind of stuff so it makes you learn uh a lot about production and just how things work and how precise things have to be I mean filming four episodes in the command center knowing that every episode sometimes you have three or four different wardrobe changes uh you know you really have to keep your wits about yourself uh to really make sure that everything is happening as it is and so when I moved into becoming a producer I took so much of the knowledge that I had learned just from being an actor on Power Rangers and just really put it to play and uh I think it really helped me move up the ladder really quickly uh I started like everybody else as a production assistant uh but they they saw how competent I was and how I could help them speed things up and so the company that I was working for at the time uh just kind of moved me up real quick and it worked out in my favor you had touched on being a gymnast and I have to say I've always been a little envious because I I went to level one and then quit when I was really young and I've always regretted it and so whenever I hear that people have succeeded I have a little bit of the green monster but did that I imagine that physically obviously helped you get the role in Power Rangers but was that something that taught you the kind of mental strength that you needed for perhaps the move to LA and then working in such a fast-paced environment? I mean it's certainly possible I've never thought about it in terms like that uh obviously being a competitive gymnast uh I I don't know how my my mom did the things that she did she would work a full-time job and then take me and my sister to gymnastics and on top of doing all the house chores and all that kind of stuff she maybe taught me a lot about the mental fortitude that I would need in life but being a gymnast it's obviously a rigorous sport and challenged me mentally in a lot of ways I there was a lot of things about being a gymnast that scared me or terrified me but it never you know just swinging around bars and doing double backs and all this kind of stuff you know at first I'd be like oh I don't know if I can do this but I'm kind of like a visual learner and so my coaches would always be like how did you do that and I'd be like I don't I don't know I just saw that person do it and and I watched how they did it and that's how I that's how I would learn so uh you know that taught me a lot probably so it's interesting to me that you pose that question because I had never really thought about it and I I imagine I did get a lot of strength from being a gymnast and just being dedicated to that sport and that probably did help me you know make these decisions that maybe some people wouldn't make like moving from Iowa to Los Angeles to be an actor um you did in 2002 again if I've understood this correctly in 2002 you did the play Fallen Guardian Angels for charity um it's theater something you want to do more of it always seems to be the outlet that actors feel like they can really sink their teeth into because you're not stopping and starting and changing cameras all the time no I mean I think it's so important and so crucial for any actor I mean if you take the craft seriously you need to do theater uh if not do it at least be reading plays all the time because it teaches you so much uh Los Angeles unfortunately I don't think is a great place to do theater I don't think we have a lot of good theater here just because there's so many theaters and you know they're all like 99 seats or smaller 50 seat theaters and it's just difficult to get people everybody's so caught up in the film and the television industry here it's just difficult to get people in to see theater but yeah I would never be opposed to it I always wished uh that I had a better singing voice uh because I mean Broadway would have been something that uh that's something that I'm very envious of as actors that are able to go out on stage and just sing and be part of those amazing productions that because I don't because I don't sing I don't get to even I don't even get to really try for those things but uh yeah I mean I would love to do theater at some point again for sure come to London we have plenty yes you do and but again you guys are just you guys are better than Broadway uh but I love I love theater in London for sure is there anything else that you're working on at the moment uh all coming up that you can share because of the coronavirus it really has kind of changed uh a lot of things that I thought I was going to get to be doing in terms of a web series that was coming up and um you know auditioning has just been so weird I've had auditions and then it's like um they're like well okay that was great we're kind of we're kind of just waiting to you know everybody just keeps thinking that this is going to be over and we're going to get to to move on uh and I there are other countries like Canada uh they're moving forward uh just the United States I don't know what's wrong with us we can't get our head screwed on straight to to follow the guidelines so I think we're going to be delayed a lot longer I kept hoping for the 20 January 2021 we could start maybe ramping up again uh so we'll see but yeah I mean there's definitely a couple of web series that uh I'm sort of attached to and involved with and hopefully they will come to fruition uh rather quickly uh other than that I mean I have had a few auditions for some films and I'm just not really sure where where they stand at this point um uh but uh and then in terms of producing you know it's sort of the same thing I have some ideas uh that are written out and scripted and everything and it's just a matter of really trying to to get them sold uh which is what everybody is trying to do right now so we'll see and what I've loved about talking to you is that your answers seem to not only answer the question but you've had a really kind of lovely message or piece of advice for people as you as you say but I'll ask this one anyway um for people who would where you were in Iowa dreaming of moving to LA to become an actor what would your advice be for them getting into this industry is not easy uh and you just have to really be committed to yourself you have to really believe in yourself you can't come uh don't become an actor because you want to be famous uh I know that we're kind of in that world right now about influencers and social media and becoming famous but that can't be your driving factor uh because even that is so small so uh you become an actor because you love you love to act you love to create you love to become characters uh you love to entertain you love to tell stories that's what you have to to be within yourself and so if that's the truth about yourself and then you believe in yourself wholeheartedly I mean from the time I was little from the time I was on stage at seven years old I knew it was like a instant flash in my head that that's I have to do that uh and there's nothing you know there's nothing that's really gonna stop me from doing that I have to give it my all so um you know you have to be be willing to to move to a city uh that you might not know anybody in uh Los Angeles New York Atlanta in the United States is becoming popular obviously there's a lot going on in Canada uh so you know you have to figure out where the place is that you're going to go and uh just get rigorous and get uh creative uh I will say part of what helped me uh get noticed uh was my creativity and so things are different now uh in terms of getting in front of casting directors but back in the day I would sit in my apartment with no furniture and every day that I would come home from work I would create envelopes I would take magazines and I would cut pictures out I would make these amazing collages on these envelopes and then I would mail my photo to the casting directors uh just because I needed to stand out because they get hundreds of envelopes every day so if they just see this one envelope that was a collage that somebody took the time to make that made me stand out no matter what they're going to open that envelope I believe that and so they opened it and maybe I was right maybe I wasn't wrong I definitely got auditions uh and got called in so that was me being creative and doing whatever I could to get noticed and so you know you have to think of creative ways to to make sure that you you are being noticed and that people are going to know your name so be committed be rigorous and be creative okay may I feel like I should applaud that thank you thank you so much for joining me on the web show really appreciate it um hope you stay well and stay safe in these very strange times and bring on 2021 so let's go 2021 get this year over with but uh same to you and thank you so much it's always a pleasure to see you I think you're an amazing talented woman and uh just an honor to get to work with you and be interviewed by you so thank you thank you thank you and uh obviously wishing you all the best in the UK and just stay safe happy and healthy okay thank you and coffee in LA or London whoever gets there okay yeah for sure that is it for another week that's it that was lots I know maybe we'll morph into some dinosaur what would we if we had to could we combine together into one super powered thing with ink and with we'll morph this one in into the mix as well she can she can be the top half she's a bit it's really hot today so she's been sleeping on my lap the whole time sorry anyway thank you for watching uh we have another interview next week yeah don't forget to subscribe like share all of the usual nonsense yeah because we'll be having some subscriber only competitions and stuff coming up so join our little life after club subscribe we will be continuing with these amazing interviews and so much more until next week have a great week have a great week people


This video will cover the following objective from the reproductive system, define in contrast mitosis and meiosis. The major function of the reproductive system is to produce the next generation, to produce offspring. The process of reproduction involves two different kinds of cell division. Miosis or meiotic cell division produces the sperm and the egg. Sperm are also known as spermatozoa and the egg is also known as an ovum. The sperm are the male gametes and the ovum or eggs are the female gametes. Gametes are haploid cells meaning they only have 23 chromosomes, only one copy of each of the 23 chromosomes. When fertilization occurs, 23 chromosomes from the sperm join with 23 chromosomes in the egg to produce a zygote. The zygote is an embryo, a single celled embryo, but the zygote is a diploid cell. It has 23 pairs of homologous chromosomes, 23 from the sperm and 23 from the egg. Then the zygote will divide by mitosis or mitotic cell division. So while the gametes are produced by meiotic cell division, the majority of the cells in the body are produced by mitotic cell division or mitosis. So mitosis produces two genetically identical daughter cells from a diploid cell. And as the zygote divides to produce two cells and then four cells, then eight and so on, the embryo will grow during prenatal development to produce all of the tissues and organs and organ systems of the infant. And so the process of meiosis produces four genetically unique haploid gametes and the process of mitosis produces two genetically identical diploid cells. Chromosomes contain the genetic instructions in the form of DNA wrapped around proteins known as histones. Chromosomes are linear strands of DNA wrapped around protein. There are 23 pairs of homologous chromosomes in a diploid cell. The chromosomes we're looking at here, the chromosomes were taken from a leukocyte from a female human. So a leukocyte is a somatic diploid cell, one of the many cells in the body that has 23 pairs of homologous chromosomes. And so we can see all the chromosomes are lined up here from the longest chromosome, which was number one, all the way to the shortest chromosomes, number 21 and 22.  And because these are the chromosomes from a female cell, both of the sex chromosomes are X chromosomes. In contrast, in a male cell, there would be one X chromosome and one Y chromosome forming the 23rd pair. This illustration shows us the phases of the cell cycle. The cell cycle starts with a newborn cell entering into G1 or the first cell growth phase. Then the cell will move into S phase when DNA synthesis occurs to make a new copy of the genetic instructions. And so after S phase, the cell has replicated chromosomes where there are two sister chromatids held together by a centromere within each chromosome. Following S phase, the cell goes into G2 phase, a second cell growth phase, which prepares for mitosis. And the mitotic phase, mitosis is the division of the nucleus. Each new nucleus that's formed during mitosis will contain a complete set of the chromosomes. And then cytokinesis ends mitosis. Cytokinesis is the division of the cytoplasm to form two new daughter cells. And one nucleus will be inside of each of the new daughter cells that's formed during cytokinesis. Then following cytokinesis, the two daughter cells enter into G1 phase to start a new cell cycle. There are five phases to mitosis. Prophase is when the chromosomes condense to become visible under the microscope. So before prophase, the DNA wrapped around proteins was uncondensed in the form of chromatin. Chromatin then condenses during prophase. And at the same time, the centrosomes will start to produce microtubules that grow towards the nucleus to become what's known as the mitotic spindle. So the chromosomes are found within the nucleus surrounded by the nuclear envelope. That nuclear envelope starts to break down during prophase. So then in prometaphase, now that the nuclear envelope has broken down and the mitotic spindle has formed, the mitotic spindle produced microtubules that will bind to the chromosomes. Then metaphase is when the mitotic spindle pulls the chromosomes until they line up right at the midline. And so metaphase is distinguished by all the chromosomes lined up right at the midline of the cell, also known as the metaphase plate, where all the chromosomes are lined up on the midline. Then during anaphase, the chromosomes are pulled apart. And so the replicated chromosomes that were lined up during metaphase, there were two copies of each chromosome known as sister chromatids. And those sister chromatids separate during anaphase. Then telephase is when the nuclear envelope forms around the chromosomes, and those chromosomes start to uncoil, decondense to return to the uncondensed state as chromatids spread through the nucleus. And so telephase is the last phase of mitosis. Following mitosis, which is technically the division of the nucleus, the step of cytokinesis divides the cytoplasm to produce two new daughter cells. During cytokinesis, the plasma membrane starts to constrict at the midline forming a cleavage furrow, and that cleavage furrow eventually pinches off to separate the cytoplasm into two new daughter cells with a nucleus in each cell. And so the two daughter cells produced during mitosis are genetically identical cells. Each daughter cell contains 23 pairs of homologist chromosomes or 46 chromosomes in each of those diploid daughter cells produced in mitotic cell division. In contrast to mitosis, meiosis involves two rounds of cell division, and meiosis will produce four genetically unique haploid daughter cells from one diploid cell. The diploid cell will have DNA replication during S phase and then move into G2 phase, and then when it moves into the M phase of the cell cycle, instead of entering into a mitotic division, the cell will enter into meiosis I. So meiosis has the same basic names of its phases as what we saw for mitosis during pro phase I of the first round of myotic cell division. The nuclear envelope, the centrosomes will start to organize the mitotic spindles. During pro metaphase, the mitotic spindles, microtubules will attach to the chromosomes. During metaphase I of meiosis I, the chromosomes will all line up at the midline of the cell. Then during anaphase I of meiosis, when the chromosomes separate and are pulled to opposite ends of the cell by the mitotic spindle, it is the homologous chromosomes that separate, and they're still replicated with two sister chromatids within each of those homologous chromosomes. And so at the end of anaphase I, the homologous chromosomes are separated and pulled to opposite sides of the cell. And then in telophase I, the nuclear envelope will reform around those chromosomes so that each nucleus will contain 23 replicated chromosomes. Then following telophase I is a cytokinesis step to divide the cytoplasm producing two new daughter cells. Each of those daughter cells contains 23 replicated chromosomes. Now we'll go through each of the phases again, but this is the second round of meiosis. So we'll indicate these as that phase number two for the second round of meiosis, such as pro phase two is the beginning of meiosis two. And pro phase two is similar to pro phase one or the pro phase we saw during mitosis. During pro phase two, the nuclear envelope breaks down and the microtubules start to grow from the centrosome to form the mitotic spindle. Then during pro metaphase two, the mitotic spindles, microtubules attach to the chromosomes. During metaphase two, the mitotic spindles pull all of the chromosomes to the midline of the cell to line up at the metaphase plate. Then during anaphase two, what occurs is a little different than what we saw during anaphase one. During anaphase two, sister chromatids separate and are pulled to opposite ends of the cell. And so the telephase two will reform the nuclear envelope around the chromosomes so that there are two nuclei within each cell. And within each of those nuclei, there are 23 chromosomes that have been separated so they're not replicated chromosomes. There's just one copy of each of the 23 chromosomes. And then cytokinesis will divide the cytoplasm to produce two daughter cells from each cell. And you'll notice that meiosis two is happening for each of the daughter cells that exited meiosis one. And so at the end of cytokinesis for each of those daughter cells will have two haploid cells produced. And so from each diploid cell that enters into meiosis, there will be four haploid genetically unique cells produced. So there's two processes that contribute to the unique genetic instructions that are in the haploid cells. During prophase of meiosis, there's an event that occurs called crossing over. Crossing over occurs during prophase one of meiosis. And it is essentially a mechanism that shuffles the genetic instructions between the maternal and paternal chromosomes. So in this illustration, the blue color represents the father's chromosome and the red color represents the mother's chromosome. And while the same genes are on both chromosomes, there are different versions or different alleles represented with uppercase and lowercase letters. And so while the two sister chromatids contain the same versions of each of those genes at the same locations, initially crossing over will trade segments of the maternal and paternal chromosomes. And so this crossing over essentially shuffles the alleles, shuffles genetic instructions so that the chromosomes that are inherited by the gametes are all genetically unique. Gametogenesis is the production of the gametes. In men, gametogenesis is also known as spermatogenesis and produces the sperm. In women, gametogenesis is also known as oogenesis and produces the ova. So both spermatogenesis and oogenesis initially start with mitosis to produce the stem cells. The diploid stem cells known as primary spermatocytes are produced inside of the testes, and then will enter into mitosis going through two rounds of cell division to produce four haploid spermatids, which are the immature cells that will then finish maturation in the process of spermeogenesis to become a sperm, also known as a spermatizoa. Whereas in oogenesis, mitosis produces primary oocytes, which are the diploid cells that will enter into meiosis. And from each primary oocyte, four genetically unique haploid cells can be produced. However, three of the four will be polar bodies that are just small cells that function to remove the excess chromosomes and will then just be recycled as a waste product. And only one will become the mature ovum, and that mature ovum is only produced immediately before fertilization if a sperm is encountered inside of the...


a fire burned an apartment building in Crosby Friday afternoon and left at least eight people displaced a week before the Thanksgiving holiday. Our reporter Rachel Johnson has more. Kimberly Puntje was sitting in her apartment Friday afternoon when all of a sudden she saw a smoke pour through the vents in her room. So I ran in the hallway and it was just black smoke all through my hallway and so I was freaking out where was it coming from? The fire started in the first floor of the four plex apartment building in downtown Crosby and spread fast. Is this starting quick? Really quick. Around 50 firefighters from the Crosby, Brainerd and Deerwood fire departments battled the blaze that took hours to contain. Everyone was able to make it out unharmed including Puntje's blind mother. It was scary because I was asleep. My daughter come down. I'll not get up. There's a fire. I got my mom out of the door and I just pushed her all the way around the building. Although everyone made it out safe, the family lost all their possessions in the blaze. I went off to everything. I lost clothes. I lost my billboard. I lost money. The Puntje family is currently staying in a hotel and credit the community for helping them in their time of need. I got like at least 50 people asking me, you know, what can we help? How can we help and it's been amazing. Thank God for friends and people that we don't even know are, you know, helping us. Though nothing was able to be saved in the fire, the family is just thankful that no one was hurt. We made it out okay and, you know, what we lost was just materials to things, you know. I was just excited, you know, for the next step in our life. Sorry how it happened this way to lose all of our stuff, but I like I told my kids that all that's replaceable, you know, and those others, we have each other and we can get through anything. Right guys reporting from Crosby, Rachel Johnson, Lakeland news. The cause of the fire is currently under investigation by the state fire marshal. If you enjoyed this segment of Lakeland news, please consider making a tax deductible contribution to Lakeland PBS.


We talked about using heat before, so we're going to start here by talking about cold. Just so you know, this is kind of a miscellaneous video, I'm going to cover cold pressure and desiccation or drying all in this video. So they're all important, but I didn't want to make separate videos for each one. So cold, let's talk about refrigeration versus freezing.  So the key word there is that low temperature like refrigeration has a bacteriostatic effect. It will keep microbes from growing or slow them from growing, but it will not actually kill them. So it's bacteriostatic, not bactericidal. Now freezing, if you get below minus 2 degrees Celsius or centigrade, can actually kill some microbes, but not all. There are psychrophilic organisms actually love this temperature, so we'll cover that in a different video. But refrigeration is great at slowing microbes down by inhibiting their metabolism. If you want to stop the metabolism of almost all organisms and kill some, then you'd use freezing. So you can even have ultra low temperature freezing though. So you can, there are freezers full of dry ice that can maintain things at negative 70 degrees, or here I have a picture of using liquid nitrogen. These tanks are going to maintain a temperature of minus 196 degrees Celsius there. So that's how we use cold to control microbes. Next we have pressures. You may not have heard about this much, but it is being used in food. I've seen it primarily used like in some, like in deli meats and pre-cooked meats, but juices are where I've seen it used the most. So high pressure can denate your proteins and cause some cells to rupture, just like using heatwood. But the advantage of using high pressure is that it appears to maintain the quality and shelf life of the food better than using heat, at least in those situations, the examples I gave you. So it can kill, if you want to say it can kill viruses, parasites, mold, fungi, all sorts of things. So what's crazy about this is the amount of pressure it takes. So it says there are 100 to 800, that would be a megapascals. So the other term for using pressure to control microbial growth is pascalization instead of pasteurization. I'll put that on the screen, but 100 to 800 megapascals is a huge number, right? The atmospheric pressure at sea level is 0.1 megapascal in that ballpark. So I did the math, 800 megapascals would be over 116,000 pounds per square inch. Think about like your car tire with 30 pounds per square inch, or even our autoclave only uses 15 pounds per square inch. So we're talking about massive amounts of pressure. The same issues with lots of other microbial control techniques, it can kill the living vegetative cells good or well, but it has a hard time with the endospores just like most of the other ones. So that's how you might use pressure or pascalization. Next, we have desiccation or drying. So the key here is that microbes in all living things can't have a metabolism without water, right?  So the examples you have here would be like drying fruits, like making raisins or jerky, those kind of things. So pretty simple. That'd be like sun drying. It's far from making things sterile. You're definitely not going to kill all the food spoilage organisms or the pathogens, but it's better than nothing for sure. The next thing you can do is just actually remove the moisture. I mean, you keep the liquid around, but you remove the moisture or liquid from individual cells by adding salt or sugar is what that should say there. So you reduce the water activity. So you see a picture here. This is a red blood cell, but if you put a cell in a hypertonic environment, it sucks all the moisture out of the cell and that slows or stops its metabolism. So this would be like the reason, you know, honey is almost all sucrose. The reason that that's why living cells don't live in it, right? There are still spores though, which is why children under one shouldn't consume honey. So you add sugar to things like vegetables and making jams and jellies. You add salt to like your canned goods. So you're creating a hypertonic environment, sucking the moisture out of these cells. Now the term, which I do want you to know is called plasma lysis. So if you remove the moisture, remove the water from a living cell, it's called plasma lysis. So that's going to be creating a hypertonic environment. Think about your canned goods from the grocery store, mainly. And then the last example here would be lyophilization. So this is something that we don't ever do in the lab, but we do get a lot of our supplies have been lyophilized. Like the DNA we use in our DNA based labs has been lyophilized. And so have all the bacteria we work with. We buy lyophilized samples that we keep in our refrigerator. And then we rehydrate them and warm them up and we want to use them. So lyophilization, think like a rapid freeze drying under a vacuum. So you're going to freeze dry these super quickly. They call it snap freezing or snap frozen. But then under a vacuum, which is going to remove all the moisture. So you've basically frozen this while you've dried it. And that's what lyophilization is. Okay. So those are three more methods of microbial control using pressure. I don't remember the other one I did. So cold pressure and removing water. All right. I hope this helps. Have a wonderful day. Be blessed.


Hi, I'm Saurabh. I work with Vipple on the Database Service Team, and I mostly deal with operations and automation. So what this talk is about, so we're going to talk about Trove, what Trove is a little bit. We're also going to touch on how to deploy Trove in HA mode, how we do configuration management at HP, some of the monitoring tools and processes that we've built, as well as touch on, at a much deeper detail, how we operate Trove in production today. So Trove, Trove is Database Service. It's today we support, we have support from MySQL, MongoDB, Postgres, Cassandra. These are all single instance databases today. We're adding replication and clustering support in Juno. So we're going to be able to do things where the actual database instances themselves have some level of HA. We are an integrated OpenStack project. Our first integrated release was in IceHouse. So the architecture, at a very high level, it looks very much like most of the other OpenStack services. We've got RabbitMQ, we've got a service database, and then we've got several control plane services that we run as well. We've got, obviously, the API server that handles all requests. We've got a back end conductor and a task manager. The interesting thing here is that we have a guest agent process that we run on every VM wherever the database lives. In Glance, we also have data store specific images that we build using disk image builder. So it's not too complicated. It's a very straightforward architecture. So which cloud do you choose to run Trove in? Trove is kind of unique. It's got only API dependencies to all other services. So we have a couple of options. So we can run it in the overcloud. And for those that may not know what overcloud is, it's essentially the triple O term for the bare metal control plane, OpenStack control plane deployment. We can also deploy it in in cloud just because we can actually just point to the public URLs for the various OpenStack services that we depend on. At HP, we've decided to actually run it in cloud. So we stand up OpenStack on bare metal. We stand up VMs. And we run the entirety of Trove within the cloud. This helps us solve some of the issues that we have. So as you saw, there was a guest agent in the customer instance. That needs connectivity back to our control plane. So having the control plane be at the same level as the database instance helps us have that connectivity. So what is HATrove? To get to an HATrove, you need some support for running HA workloads. We accomplish that by availability zones. These are not just tags that we place on hosts. We actually have physical separation of servers across a data center. And the control plane for Trove, we run that across all of the availability zones. We run a Galera cluster. So that allows us to essentially lose a minority number of nodes and still have a service up and running. We also run a RabbitMQ cluster in Merid Mode. We are able to provide all the RabbitMQ IPs to Trove. And using the Oslo messaging framework, it's able to pick the right one to talk to depending on whether it can connect to it or not. We run multiple API processes. We run multiple task manager processes, as well as the conductor. And we're able to scale these sort of independently. So this is what it's kind of busy, but this is kind of what it looks like in production today. We've got, on the very far right there, we've got our OpenStack deployment. We have an OpenStack deployment in each AZ. This is a single region view right here. Within the, in the middle are our compute hosts. And on the left there is our Trove control plane. And you can see that we're actually spinning up VMs and we're running sort of the same type of topology that we have in the OpenStack deployment for Trove. So for the OpenStack deployment, we also run a Galera cluster. We also run a RabbitMQ cluster. These are not shared by Trove at all. We run a separate set of the same services for Trove. And so how are we able to get to that implementation diagram? So a lot of what we've built has been based around SaltStack. From the OpenStack deployment itself to the Trove deployment, we've got SaltStates that we've built, Scripps that we've written that are available on GitHub to basically be able to deploy that same picture that you just saw in the previous slide. So what do we use Salt for? Primary reason is configuration management. It helps us sort of control what packages and dependencies are installed on the various control plane VMs. We are also able to use it to copy configuration files down to the VMs and manage users for MySQL, users for RabbitMQ, as well as operating system users. It gives us the ability to create a reproducible infrastructure. So if any of these nodes go down, we're able to spin it up using a nova command. And we've got the exact same copy of the node that we had previously. And the other interesting thing is we actually high state every instance that we boot using Trove. So we have a first boot script that we run on the guest image. And as soon as it comes up, it talks back to the Saltmaster and gets the right packages for the actual Trove guest agent itself. We also use it for remote execution. This allows us to disable SSH to any VM, all the control plane VMs. The way we manage our infrastructure is by logging into a single Saltmaster and running Salt commands to the various nodes that are managed by that Saltmaster. We use it also to define user and resource level access. So we can allow the support team to log in to the same Saltmaster and give them less privileges than maybe the operations team would have. We also use it because it can scale to thousands of nodes. We actually use it to manage all of our customer database instances. So if things like the guest agent process has died or things like that, we're able to do a restart on that service through the Saltmaster. This is an example of what the state file looks like. This is kind of a snippet of it. But it's fairly simple. It's just the AML. We were able to, as you can see in this one, we tell Salt to do a pip install of the specific Trove package. We copy the Trove config file down onto the VM. And we have a service watch that says if the package or the Trove config changes, I want you to restart the Trove service. So the Trove.conf file, which is on the next slide, this is just a Jinja template. We use Salt's pillar data to place the actual values onto the config file, things like RabbitMQ and MySQL connectivity strings. And so we've done all of this today using Salt. We continue to use Salt today. But the next thing that we're working on is to be able to do sort of image-based deployment. So using triple-O tooling, we're going to be providing the heat templates required to stand up our control plane, as well as all the images that are required that make up our control plane. So we're in a world where today we can use Salt Cloud or an overwrapper script to sort of boot a Saltmaster and have that Saltmaster provision the entirety of your control plane. We're going to go to a world where we use triple-O, where we stand up seed cloud, under cloud, over cloud, and then use the heat that lives in the over cloud to sort of spin up images that make up the control plane, and as well as use heat's OS config OS apply config to put configuration data onto those VMs. And now I'm going to hand it over to Sorab. He's going to go into a lot more detail of how we use Salt. Hi. So I'll be going over most of our operations and monitoring tooling around Trove that we use. As Wipel mentioned, we use Salt Stack heavily. The infrastructure that we have is part of the Salt environment. It allows us to basically control the whole infrastructure from a single machine. So we actually log in only on our Saltmaster. And from there, we can execute commands or write automation scripts around the whole infrastructure and run them only from one machine. And it doesn't require us to do an SSH on every other node in the infrastructure. We have a multi-master setup in Salt. So we have multiple Saltmaster. What that allows us to do is every minion talks to all these masters, and we keep them in sync. If one of the master dies, the whole infrastructure is still operatable. And we can basically control the same thing by logging into a different master. Every customer instance, apart from our control plane, which is obviously like all the APS server, task manager, and database, or every MQ, all the customer instances that Trove spins up, they are part of the Salt stack or Salt environment. So every instance is running a Salt minion. And every time an instance is created, it's get added to the Salt environment. Trove generates a unique ID, for instance, that allows us to basically maintain unique ID across all the Salt keys. We also shove a lot of information in the Salt key to maintain even uniqueness of them across all the environments. We have an automated way of accepting Salt key on the master. So for a Salt minion to be able to talk to master, master has to accept this key. And the only way that master will accept it is if it trusts that the key is coming from a trusted minion. So we have, because we know that we created this instance through Trove, we can actually do some automation on accepting and deleting those keys. These are some Salt commands that I listed here. So the first one is basically just standard Salt module. All it's doing is just checking the status of the API, Trove API service. But the key thing is that it's doing it across all the API nodes. So we can see what is the status. The second one is checking the MySQL service status. The third one there is our own custom module. So wherever possible, we use Salt's inbuilt modules. But we also have written a lot of custom modules, which allows us to control the command that gets executed on the infrastructure. The third one is the command.run. This is the most difficult or this is the most unsafe thing to run. And we try to avoid this because this gives a lot of control back to the operator or the person who's running this command because it's actually running that as root and that has like severe implications if somebody can execute wrong commands through this. So the key part here is that we configure our environment such that nobody can execute a harmful command through Salt, even though it gives you a lot of flexibility. So this is a standard Saltmaster config. And what it allows us to do is it allows us to choose what command is allowed or which user is allowed to execute which set of commands and that way we can control the access to the infrastructure per user basis. And it allows us to also configure some blacklisting that probably root user is not allowed to execute any commands or particular modules are not at all supported in the environment. We usually do not allow SU and we let everybody execute the command from their own account so that Salt has a track of who executed what and we can go back and look at stuff if there's something that goes wrong. Root is obviously disabled. So obviously, even if somebody can do SU, they cannot really run any command from there. Apart from command.run, we disable a lot of modules like file, CP, config, which are harmful because they either give out a lot of information about the system or they give some control to the system which is not considered very safe. So as I mentioned earlier, we write, we have written a lot of custom modules around Salt to basically automate a lot of operational tasks into simple Salt commands. The modules are easy to write and you can actually execute and build modules from your custom module. What that allows us to do is you can actually define what command you want to run, what parameter that command should accept, and even if the output that that command is giving, you can filter that output to basically suppress the information. Like if, let's say, I want to show the configuration file, I will try to remove all the passwords or I'll try to hash them out so that I'm able to save the critical information. The next thing that I would like to just describe is how we do the upgrade. So today, we use SaltStack for the whole upgrade process heavily because Trove does not provide in its current form does not provide any API or any flexibility in terms of doing the automated upgrades anywhere. So we have written our own scripts around SaltStack which allows us to do the upgrade of the infrastructure. While we do the upgrade, we make sure that the MySQL process that's running on the guest agent instances or the customer instances is running because that allows the customers to keep on customer's application to just not have any downtime in terms of database access. Usually involves downtime or some maintenance window because in the current form, Trove does not allow multiple versions of RPC message in the same environment. So right from API task manager or conductor to the guest agent, everybody should be on the same RPC version. While doing the upgrade, we follow the same sequence wherein we first upgrade all the customer instances which are the Trove guest agent instances, then upgrade the task manager and conductor, and then upgrade all the API servers. The reason for this sequence is that when an API server or task manager sends a message to the guest agent, that guest agent should be aware of the new version of the RPC. So that's why we follow this sequence. Trove is right now implementing an API which will allow the operator to execute that API as an admin user. And that API would go back and upgrade all the guest agents and then will go and upgrade all the control plane elements after that. Security concentrations for the Trove service. By the nature of the service, there isn't much that we need to do because we do not store any credentials or any information about user in our service. Because we rely on Keystone to do the authentication. We let MySQL handle all the credentials for the MySQL user. So we are not really storing anything from the user which we need to be really worried about. But we use as well wherever possible. We use SSL on the API servers, on the RabbitMQ connections. The database instance, which is part of the Trove control plane, that instance needs only to be accessible from all the control plane elements. And guest agents don't need access to a database. That was an improvement that Trove did a couple of months back, where in earlier versions, every database instance would need access to RabbitMQ as well as the service database. Another thing is we use separate DB credentials and RabbitMQ credentials across all the services, including the guest agent. That allows us that if a particular thing is compromised, we can still let the rest of the service up and running. Next thing I would like to talk about is monitoring. Monitoring forms a very critical piece of keep this service up and running. Over the period of time, it has matured a lot. And we have seen that at least in recent past, we didn't have a lot of issues, wherein like RabbitMQ, number of queues on RabbitMQ are growing, or the guest agents dying out. But from the time we started doing this, we have seen that monitoring, a good monitoring has helped us encounter the issue well ahead of time. So apart from standard monitoring on RabbitMQ and database, which is monitoring number of queues, socket connections, established connections for RabbitMQ, and monitoring probably cluster status, slow query logs for database, we actually monitor the API support with Nagios. We have upstart script for all the control plane services like API, task manager, conductor, guest agents, so that if the process dies, there isn't a response for it. We monitor. So by the nature of our control plane, the database and RabbitMQ are across all the AZs. And obviously, the instances basically can get spanned up in any AZ. So we try to monitor the connectivity to RabbitMQ and DB from all those instances, because they are part of different AZs. And apart from this, we have some custom monitoring that we have set up around the service. One of that includes catching all the instance failures. We have seen that this helped us, because what happens is, intro, if an instance fails, user can go and delete it. And then there is no trace of that instance being failed anywhere in the whole system. And so for that, what we do is, as soon as the instance fails, we try to catch that and grab all the information about the instance, about its corresponding no one instance logs from the instance. And that helped us to identify issues ahead of time. This is another piece. So guest agent process, trove guest agent process, which is running on all the customer instances, usually sends a heartbeat every few minutes back to the service, saying that the process is alive. And that's an indication that probably the next message that will get delivered or the next command that user will execute on that instance will get executed successfully. So monitoring of this is another thing that we have seen which has helped us, because sometimes either the process dies or there are connectivity issues from the guest agent to RabbitMQ. And we were able to catch these failures ahead of time and not let user tell us that probably they're not able to run commands or stuff like that. So this is a simple query which will tell if the particular guest agent is not sending any heartbeats over a period of time. This is another piece that we saw for quite a while, which is fixed for most parts in upstream probe. But there are still issues here wherein usually user executes a backup command. And that basically runs a backup EX process to do the backup. And that actually streams the backup to the Swift. And what we have seen is that if the databases are huge, maybe hundreds of GBs, the process usually sometimes just abruptly dies maybe because it is not able to connect to Swift or something like that. And then that process is left behind. And then it keeps on eating CPU and memory. And if this happens multiple times, then there are a lot of processes that are in a backup EX processes running there, which also sometimes hogs the SQL process. So monitoring of this is another thing that should consider. And the way we monitor this is we look at the database and processes on the customer instances. So we have seen that over the period of time from last one year, we have seen most of the issues while running the system were around RabbitMQ. Maybe for a long period of time, there were issues in the Trove service itself wherein we were not dealing with RabbitMQ correctly, such that we were not deleting the queues when the instances were deleted and those were just getting piled up. The queues were getting piled up on the RabbitMQ. We have dealt with a lot of issues, and we have fixed a lot of things upstream. But when we are running RabbitMQ, should up the socket descriptor limit, maybe in 10,000s or depending on the kind of setup that you have, and should keep an eye on the growing number of sockets and queues to be alerted while ahead of time. If we are using, if the setup is huge and there are a lot of instances, then it should consider RabbitMQ hard beats because even though we fixed an issue upstream wherein we are able to delete the queues, the socket, the way RabbitMQ deals with the socket is even if the instance is deleted, the socket would keep on growing, and if you don't use hard beat, that number will never go down. So using hard beat is one of the things that we improved in our setup recently. We have seen that monitoring is really important for dealing with all the clustered RabbitMQ setup. And whenever we are using clustered RabbitMQ with mirrored queues, it's very susceptible to any kind of network small glitches, and it just falls apart. This is slightly improved with the newer RabbitMQ versions, but we always face these issues. So as I mentioned earlier, service notification or service health check by the guest agent is something that we need to monitor. Another thing that we have seen is when we are doing upgrade. On the flavors, which are really small, like maybe the smallest flavor is 1 gig of memory, on those kind of flavors, it's very difficult to do an upgrade because at that time, what is happening is if the database instance or actual data on the MySQL is larger, MySQL process itself is consuming a lot of memory and CPU. And then for PIP to install and install stuff, that's another huge set of memory that's needed there. So we have seen issues while dealing with the small flavor sizes or dealing with upgrade on the small size flavors. Another very, very weird thing that happens between Trove and Nova is Trove maintain its own quota for instances, and Nova maintains its own quota of instances in security groups per user. And we have seen that sometimes when Trove issues a command and Nova is not able to successfully clean up those resources, there is always some mismatch between Trove's quota and Nova's quota. And we have seen a lot of failures due to that, and we try to monitor or try to keep these things in sync. And whenever there are issues, we try to alert and somebody can go and fix it. This usually should be handled in upstream Trove, but it's not there yet. So eventually it will be, and then nobody will have to deal with this. So just to recap, we have been running this for more than a year. And what we have seen is from the time we started running this and to what it is right now, it has matured a lot. And we were able to identify and fix a lot of these issues upstream so that somebody now deploys the service in the same environment or in the same scale that we do probably will not have to deal with these issues. Maybe there will be other issues, but at least many of the things that we have encountered, we have fixed upstream. We use Solstice, and it has really helped us maintain and monitor and control the whole environment and optimize our operations. Monitoring is another, again, monitoring is really a key part of keeping this service up and running and keeping it reliably running over the period of time. We have open source some of our tools. Not everything that we use is out on GitHub, but we will try to push as much as we can. And there are links posted here, which will provide you with some of the Solstice stuff that we use. The first one provides the Solstice scripts or setup scripts for Trove. The next one is for actually installing OpenStack, and then there are some links for Trove. So that's pretty much I had. Let me know if you have any questions. So you said monitoring is key.  No. So basically, as I said, probably on the guest agent, the way we make sure that the guest agent up and running is we make sure that we have heartbeats coming from the agents, because that's part of Trove. And that's how we try to monitor guest agent, and then we make sure that there are no left behind processes for back up EX. Because from Salt, we can actually look at anything that's going on that machine. But we do not add any monitoring agents at such on the guest agent, which is the customer instance. Because we have seen that with whatever we have itself, if the flavor is small, there is like constraint on the resources. So we tend not to do anything on the customer instances anymore. But we do a lot of things on the control plane to just gauge a good understanding of the guest agents or the customer instances. And within Rabbit, you talked about two important aspects of high availability, making sure the cluster is using heartbeats. And what was the other thing? Increasing the socket limit, I didn't catch what that was. Increasing the file descriptor limit on the Rabbit MQ. So what happens is, if you are not using heartbeats, if instances are getting created and deleted, Rabbit MQ, so when the instance is deleted, Prove service doesn't close its connections. And it makes maybe multiple connections from every guest agent. So the key is just increasing that file descriptor limit if your cluster doesn't support heartbeats? Yes. But then you'll have to keep on monitoring it. And then at one point, you'll have to restart Rabbit MQ so that it forgets about all those sockets. So yeah, you can increase it. You'll have some runway. But at some point, you want to have heartbeats. Because as you boot and delete a Nova instance, that number is going to keep growing. So with heartbeats at least, Rabbit MQ will start closing those sockets. Last question is, does Trove support deploying instead of just database instances? Does it support the concept of deploying database clusters? It will. So actually, today's our design summit. We have four or five tracks. The thing that we're agreeing on, I think it's that tool or something, is going to be what the clustering API looks like. So as part of Juneau, there's going to be at least one implementation of clusters. And the API will be in place so that you could do Cassandra or you could do any other data store if you want to. Thanks, guys. Thank you for the presentation. So my question is more around the HA of actually the database instances and services that actually Trove is providing. So far, you've covered the high-level services that are needed to run Trove and HA around that. But for example, if you're providing databases as a service, one of the things that your customers is going to want to know is, how is my database HA'd? And I didn't hear anything about that. And also, maybe this is out of scope for this discussion. But how does the customer scale? So actually, that comes back to the clustering point, right? But so the original question is, how do you cover, does the API today cover HA for the database? Yeah, so today Trove is only support single instance databases. So your database is not going to be HA if you take Icehouse and try to run Trove. We're adding replication and clustering as part of Juneau. So we can probably answer that question a little bit better at the next summit. But yeah, that's just where Trove is today, is it doesn't have HA support at the actual instance level. And the database is supported today from the original slide deck was MySQL, Postgres, Cassandra. Is there any plans to add more? Are you just going to concentrate on those four or five or whatever it was up there? Yeah, so which database were you asking if we had plans? I just didn't see the slide was too quick for me. Oh, OK, yeah. So there's, I could be wrong, but there's MongoDB, Postgres, Cassandra, Redis, and MySQL today. And then the plan, as you said, the plan is to provide clustering for some, not all. But it's really dependent on what the operators want to support. So like HP, when clustering is available, we're likely going to support MySQL clusters as well as master slave type of replication topologies. At some point, we may support, we may make MongoDB available to our customers as well. And then at that point, we'd go and implement. So we're kind of building a framework and an API. And not all data stores will be clusterable. It will depend on whether there's an interested party that wants to sort of add that support and then want to run that in production. Thank you very much. OK, I'm sorry. Has Trove, or whatever? Yes. So I think it was added two months ago. We have something called configuration groups. You can basically get a list of all the options as well as modify certain options that a operator wants, allows you to modify. So that's in place already. It will. We haven't deployed that to production yet. We need to test that out a little bit and then it will be available. So essentially, HP Public Cloud, we take upstream. We run it in a staging environment for a while. Everything looks good. We just take it and run in production. We don't have really very much internal stuff. We don't run an internal fork either. We do have some extensions to do like rabbit MQ heartbeats and those things. But it's really what's upstream is what we run. Thank you. You made my day. Yep. Thank you. All right. Hey, what's happening? Trevor from RMS. I had a question with the database size. As you had mentioned that there's some issues that you guys ran into when your databases got a little larger. And so I think you said in the hundreds of gigabytes. And so could you talk about what component in the process was slowing you down? Was it something that was on the, was it writing it out to Swift? Or was it something like the agent that was on the box that was doing the backup or whatever it might have been? So on flavors which are relatively very small, like maybe let's consider one gig, right? If you're running MySQL with very small size of data, then you won't have any issues. Because for a smaller size of database, MySQL won't consume a lot of memory. Even if you're taking backup or doing anything on that, that wouldn't consume any memory or CPU as such. But if the database size is large, then MySQL will eat up memory. If you're running backup, that will eat up memory. And if you have any other processes that one of them is being probe gas agent and the salt, and these processes, if they want to do any work, they would consume memory. So basically the problem really happens when the size of the flavor is very small and the size of data is relatively larger, which obviously, I mean, we do support, I think, 60 gig on the smallest flavor. So technically MySQL can run with one gig memory and it can support 60 gig size of the data. But when we are doing maintenance on that node, then we have to be really very careful because we have seen failures in that case. So it depends on the size of the data mostly. Go ahead. Good morning, gentlemen. Thank you very much for your presentation. I appreciate the fact that you had clear architecture and technical information and some meat to it. It's wonderful to see. You guys did fabulous. My question for you is on the salt stack manifest, or not manifest, but formula you put together, did you bake in any of those best practices you talked about tweaking and tuning and fixing some of the elements that will catch you running it in production? In the thing that we have published on GitHub? Yes. So what we have published on GitHub is very standard salt scripts that will just help you set up the whole infrastructure. But so we have tried to basically describe what you need to monitor and most of those monitoring are using Nogils. They are not part of the public GitHub right now. But I mean, if you're interested in particular piece, we would be willing to put that on GitHub sometimes. Okay, cool. Thank you for coming out, guys. Thanks.


Welcome to my presentation on the tightness of the suffix keyed sponge bound. This is a joint work with Christoph de Braunig. One of the most efficient ways of building in a MAC function, or a PRF, is using the full state keyed sponge. The idea is that you take a sponge function, and the sponge function uses a b-bit permutation. And you can absorb data with b-bits at a time. The idea is that you initialize the state with a k-bit key and filled with zeros. Then you permute the state using this permutation, and then you can absorb plaintext b-bits at a time.  Then to the last plaintext block, then you make one more permutation call and you output the tag. So this is a very efficient PRF or MAC design. It has received quite some research, quite some analysis has been done on this function, and it is very efficient because you compress with b-bits at a time, where b is the size of the permutation. On the downside, this function in general does not offer mode level protection against side channel attacks. This construction is not leakage resilient, as you would say. As a matter of fact, the attacker can be quite powerful because if you have the key and filled with zeros you permute, you permute, you get a secret state and the attacker has full freedom to add values to the secret state. Namely, the block P1 can be chosen by the attacker and the attacker has full freedom to manipulate the state and this way it can enable DPA, the difference of power analysis. One way to solve this is to somehow limit the power that the attacker has over evaluating secret states. In this case, a secret state here can potentially be evaluated up to 2 to the b times for 2 to the b different messages. If we limit this, a typical approach to do is using the GTM-like construction. Here we start with a key and then we have some initial value or a nonce. And we look at this nonce bitwise. If the first bit is a zero, you evaluate the block cipher, a block cipher on the key and zero. If the first bit is one, you evaluate the block cipher on the key and then coding of one.  So then you look at the second bit, third bit up to the last bit and suppose the last bit appears here. So it's a one. Then you evaluate the last block cipher, coding of the key and the one. And this gives you something you can do a key stream with or attack. So far so good, but can we do this with a permutation? And one way to do this with a permutation is by using an approach that was described by Taha and Schumann. In general, the idea also appears in the ISAP authenticated encryption scheme. The idea is as before, we have a B bit permutation B. We initialize the state with a key bit key and filled with zeros. Then you permute and then you absorb a nonce. But this nonce is not absorbed all at once, but you absorb it bit by bit. So you absorb the first bit, you permute, second bit, permute. Up to the last bit, you permute. And if the nonce is always unique, very likely the state after absorbing the nonce is different for different nonces. And this means that at this point you can absorb with a higher rate. Here we do it with r bits at a time. But you can absorb with a higher rate starting from this point. And the trick here is basically that in the first part, the power of the attacker to evaluate states, secret states, multiple times is limited because it can only absorb one bit at a time. And here we typically don't have a state that repeats a lot. As a matter of fact, the leakage resilience of this scheme follows from the leakage resilience of the duplex that Christof and I proved three years ago. But on the downside, the side channel resistance actually relies on the uniqueness of the nonce. If the nonce would be repeated, then you could have repeated states here and the attacker again has its power back. Okay, one alternative way of doing this is the hash 10 PRF construction. Or more general, it's called hash 10 MAC. But if you take a hash function here, the idea is very simple. So the plain text is of arbitrary size. It can be hashed to get a digits of 2k bits. And then you evaluate the function g that should be leakage resilient on input of the secret key and this 2k bit state to get a tag t. Now, why do we need 2k here? Because we aim for k bit security. And a hash function allows for collisions. So if the attacker now makes 2 to the power k evaluations, it likely finds a collision here. But if you take only a k bit state here, it only needs to make 2 to the k over 2 evaluations to find a collision. So now, leakage resilient wise or side channel protection wise, this is quite nice because the first part is not keyed. The only part that needs to protect it is the function g on a bit of 2k bit input at k bit key and output of a t bit tag. Okay, only the last part needs to be protected. And if we map this idea to the sponge, we end up with what we call suffix keyed sponge or SUCKS. SUCKS was proposed in general in the context of leakage resilience by the Browning et al. for ISAP-V1. The idea is that the plain text is first hashed using a sponge. So just a plain sponge to process the plain text. This gives you a state u at the end and only the outer k bits are then transformed using a leakage resilient p-ref g. On the input of a k bit key, k outermost bits are transformed to get a k bit replacement basically for the outer part. The inner b-minus k bits they continue and due to this you don't need to have a 2k bit input to the function g but only a k bit input. You make one more permutation call and then you get the tag. And three years ago we proved that SUCKS is leakage resilient under the assumption that g and the last evaluation of p do not leak too much information about the secret data. Now in this work we focus not necessarily on leakage resilience but really on black box security. And in black box security g can be a very simple function. It can even be the XOR. But it could be a more evolved function as well. So what's actually the security of SUCKS? If we take a simple case where g is an XOR and where k is a smaller than r then this is a well-known construction. Bartoni had already described it a long time ago. And this construction, the security of this construction follows from the indifferenceability of the sponge hash function. Meaning that if the permutation is strong enough and the mode is indifferenceable from a random oracle then we can use this result to prove that this function SUCKS is a p-ref. However this result does not work if g is a p-ref itself or if the key k is a larger than r. And in this case two years ago, three years ago we proved that SUCKS is a secure p-ref. In detail we proved the following bound until a couple of times later on in this presentation. As well it consists of three terms. This one basically corresponds to a problem if the attacker finds an inner collision in the hashing part because n is the number of permutation evaluations that the attacker can make. And up to the birthday pound in approximately 2 to the c over 2 evaluations it could find an inner collision on the hash part. And if the attacker finds an inner collision on the hash part then we're doomed because the attacker can find a full collision for the value u and hence create a forgery. The second part roughly corresponds to problems where the attacker guesses the outer part of v and the last term of the bound roughly corresponds to a problem if the attacker guesses the inner part of w. And this result holds under the assumption that g is 2 to the minus delta uniform meaning that for any input the probability that it goes to a fixed output for a random key is the most 2 to the minus delta and g should be 2 to the minus epsilon universal meaning that for any two inputs to g the probability that they collide taken over the randomness of the key is the most 2 to the minus epsilon. And this mu term is a bit of a scary term maybe but it roughly corresponds to the probability that the most likely largest multicollision so mu b minus kk or in general mu b minus cc is the smallest natural number x such that the probability that you have a multicollision of size more than x is at most x over 2 to the c and here the attacker makes q random drawings so the probability that after q drawings you have a multicollision of size larger than x is at most x over 2 to the c and here the idea of the denominator 2 to the c or in this case in the bound 2 to the k is that this loss is negligible compared to the term where the multicollision is used ok it's a scary term but in practice it's not that big so if you look at oscon like parameters so in oscon we have a permutation of size b 320 bits we have a capacity of 256 and a rate of 64 we take a key and attack of 128 in this case we can take the xor sg so the key is just absorbed by xor running into the outer part it's 2 to the minus k uniform and zero universal and we get a bound of this form so 2n squared divided by 2 to the 256 plus 5n divided by 2 to the 128 plus 67n divided by 2 to the 1992 if you take a prfsg and a prfs2 to the minus k uniform and to the minus k universal we get a comparable bound now we see that this multicollision term is 5 here and 67 there we would like to note that the first two terms in the bound are typically dominant also in this example the third term gets a bigger term mu but it has a huge denominator so this term is not dominant in the bound now the question is how good is this bound how good is the bound that we derived 3 years ago can we find the tags in both cases can we find the tags that match these bounds or can we maybe improve the bound of 3 years ago and in this work we investigate this problem and in detail we find the tags matching the bounds so in this work we look at the tightness of this bound first for the first term it's not surprising that this term is here it corresponds to intercollisions in the hash part and if the attacker fights an intercollision which it can fight with 2 to the c over 2 evaluations then it can form a full collision after hashing and it can use to break the scheme so that term is not surprising now the second and third term are maybe more confusing due to these multicollisions and in this work we investigate the tightness of these terms by mounting attacks first we look at the case where we take the X or SG and we derived 2 attacks one is a multicollision attack that matches the third term and one is a multicollision attack that matches the second term now we look at the general case where we have a PRF SG and we mount a multicollision based attack that matches the second term noting that the third term is kind of independent of the function G it doesn't use G let's start with the first attack so we take the X or SG this is the picture that we've seen before with the difference that the last part is highlighted now G is an X or so you simply X or the key into the state and the attack goes as follows so first we make Q construction queries for different plaintext and this results in different tags TI and it results in different states after hashing UI so if Q construction queries for different messages this likely gives different UIs and it gives tags TI now among these Q queries we try to find a multicollision in the tags let's call it T so we have new evaluations, new messages that lead to the same T but with a different inner part of W now what we're going to do is we're going to make inverse queries for mutation, for guessing the inner part of W so we make inverse queries to P on input of the tag and we vary the inner part of W we call it CJ here and at some point we will get a match at some point we will get an answer of this which is of the form Y which is the outer part of V and write B minus K UI so at some point we get a hit between the inverse here and the inner part of U because the inner part stays unchanged here and once we have this hit what we learned now is we learned the outer part of V for this message, for this plain text that was fed through the socks construction so we found a match, this means that we found we recovered the outer K bits of V we already know the outer K bits of U and then we can do the X or we get the key and once you get the key the scheme is of course broken and roughly the idea here is that the multicollision in the tag gives a speed up of factor mu in searching the rightmost B minus T bits of W and once you find the rightmost B minus T bits of W you recovered the leftmost K bits of V and from this you can recover the key because you also know the leftmost K bits of U the attack is not very efficient but it does match the term in the bound so if you take an example with B256 K128 the attack has a complexity close to generic so it's a huge online and offline complexity but what I said usually B is much more than 2K anyway so this term is never dominating in the bound now the second attack is the multicollision on the rightmost B minus K bits of U and this is a more interesting attack because in this case we make offline evaluations of the permutation for different plane tags so we vary the plane tags here to get a mu fold collision in the rightmost B minus K bits of U so in this part we get a mu fold collision we call it U star they all have a different in our outer part leftmost K bits here so we get mu different plane tags that result in the same inner part here but the different outer part here what we're gonna do now is we're gonna make a forward query to the permutation here for this value U star but for varying ZJ and we make these evaluations but we also made the construction queries for this mu fold collision so we can see if we find a match in the tag so we found the value U star we know the mu values T and then we're gonna vary the leftmost K bits of V we permute and hopefully we get a colliding tag and in this case we very likely found the outer part of V the inner part, now the outer part of V and once we found this it's the same as before so we recovered the outer part of V we already know the outer part of U so you can add them and you get the key so also here the idea is that the mu fold collision on the rightmost B minus K bits of U gives a speed up of mu in searching the leftmost bits of V and once the leftmost K bits of V and once you have this you can recover the key and now if you take a typical example of say 272 or maybe B is 320 bits with an aim of 128 bit security we get an online complexity of roughly 6 or 2 and an offline complexity is still close to generic so it really matches the corresponding term in the bound 16n over 21, 28 or 5n over 21, 20 so of course there is a very small loss but that's due to a bound in the mu fold collision so far so good these tags worked the G is an XOR the idea is that you make evaluations that give you the outer part of U and then you do the multi collision attack to find the outer part of V and because G is an XOR you can add them and you get the key now if G is a PRF the attacks don't work anymore the reason is that if G is a PRF or in general if G is hard to invert even if you have U and V you cannot necessarily recover the key still it turns out that these multi collisions they can be used to mount a forgery against socks and the idea is as follows and the idea is slightly more complex so the first step is as before we try to find a multi collision on the inner B minus K bits of U so we try to find mu evaluations mu plain text B and we make offline evaluations so just permutation calls of these plain texts let's find a multi collision a mu fold collision on the right most B minus K bits of U for each of these mu plain texts independently we try to find a collision on the outer K bits the left most K bits of U possibly with a different inner part ok so we have a mu collision on the inner part and for each of these plain texts in this mu collision we try to find a separate collision on the outer part we're gonna use that collision later on now for this mu construction queries of the multi collision we compute the corresponding texts so we compute the corresponding texts we know that these are mu different texts very likely but we know that they all had the same inner part here the same right most B minus K bits what we're gonna do now is we're gonna recover the left most K bits of V so we're gonna vary the left most K bits of V we call it C J here we evaluate the permutation until we get a match against T and in this case we found for one of the plain texts in this mu fold collision we recovered the left most part of V but the cool thing now is that we go back to the individual collision that we found in step 2 so for this plain text we recovered the left most K bits of V but we also know a different plain text that happens to have an identical left most part of U and because G is hard to invert we cannot recover the key but still we know that for this colliding message it has the same left part hence it will have the same right part left part of that's the same left part of U hence it will have the same left part of V and the right part where we can compute it because we can make this evaluation offline and hence we already know what tag this plain text will give so we mount the forgery so the trick is that we have a multi-collision using this multi-collision we recover the value of V for one of them and for this one we have the normal collision on the out part of U and hence we can find a forgery this is in general the collision structure that we have so on the left part of the slide you see the multi-collision so we have mu evaluations P1, P2 up to P mu that all collide on the right most B minus K bits it says B minus S but in general it's B minus K and for each of these plain texts we find a separate collision on the left most bits and in general if you look at the attack it turns out that I'm going to go over it quickly we get the same numbers as the attack that we had for the XOR of G and this corresponds to the fact that the finding the separate collisions don't add too much work to conclude we prove tightness of the attacks it turns out that the attack complexity is similar if G is an XOR or if G is a PRF the multi-collisions that we saw in the security pound that we found in our security proof there are no artifacts of the proof they actually have a meaning because our attacks that match these multi-collision terms in the paper we elaborate in more detail into the attack complexity so we actually compute a success probability of the attack there is still a very small loss in the bound due to the bounding of multi-collisions in general this is only a very small constant loss but still it will be interesting to see how we can improve this this concludes my presentation thank you for watching