Live from San Francisco, California, extracting the signal from the noise, it's theCUBE, covering DockerCon 2015, brought to you by SiliconANGLE Media, with special thanks to Docker. Now your hosts, John Furrier and Jeff Frick. Okay, welcome back everyone. We are live in San Francisco for DockerCon 2015. This is SiliconANGLE's theCUBE, our flagship program, where we go out to the events and extract the civil noise. I'm John Furrier, the founder of SiliconANGLE, Joe Mike Coase, Jeff Frick. Here our next guest is Mariana Tessel, VP of Engineering at Docker, formerly of VMware. Great to see you, welcome to theCUBE. Thank you, well, thank you, about to be here. So VP of Engineering at a company that does all its engineering in the open is a challenge I can only imagine, like herding the cats, as they say.  Tell us how you got there. I mean, was it something you saw early on and how did you get to Docker? And what made you go, wow, this is really worth, you know, being part of this company? Right, so, you know, I did see Docker a bit early on in Portuguese because I was at VMware and as you're talking to customers and seeing what customers do, the Docker names especially came up again and again as a technology they explore, they think about, they look at, so I was like, oh, that's an interesting name. I remember that and when I was ready to go back into a bit of a startup, Docker was actually an obvious choice, I want to say. Customer driven, you saw the feedback on the customer? I could see the pool, you could see the pool like you totally, again, being in the community you hear, like sometimes you hear a name again and again and again from ecosystem, from customers, so you could understand something is there. Jerry Chen was kind of sniffing around. Was he invested at that point? Or was he already invested or not? Yeah, he was already. So he already put his first money in. He was already an investor at Docker. And we know, we talked to Jerry before he did the investment and we can see where the dots were connecting. Certainly a good call. As VP of engineering, what's it like there? Because normally in a big company or startup, build the product, ship it, ship it, ship it, but now it's very collaborative. Open source is now the new normal. People use open source, it's very collaborative. This community is very balanced. A lot of self-governing going on. Certainly people still complain, of course. But there's a community aspect. So how do you run engineering at Docker when you have a lot of people that don't work for Docker? Right. You still shift the code? I mean, how's that all working from your standpoint? Yeah, first of all, honestly running engineering at Docker is absolutely amazing. Because, you know, it's a forefront of technology, pushing the envelope, all of these great things, fast moving, all the great things that the engineering leader, you look for. But you know, specifically at your question on kind of this open source and community, we do have a vast, vast community. In fact, we have more people outside of Docker contributing to Docker than people inside the company. So it's quite amazing. It does bring with it some great things and also some challenges. So as you can imagine, but it's really this kind of energy you get from the community and the contributors and all that is amazing. Just to give like one example, we have launched this project called Katmatic that's designed for users to very easily, UI driven, get started with Docker. And you know, we had in our roadmap this plan to do Windows next. And shortly after launch, Katmatic, we woke up, whoa, the community had contributed. Somebody pretty much got us all the way there and it just took a little work to get it done. So. It's like a genie with the three wishes. You rub the bottle and magic comes out of the community. In this case, the Windows version, right? Right, right. Sometimes you don't have to even rub the bottle. It's because they're like ahead of you to think about the next thing before you even thought about it. Then you've got to think about apps versus the platform and the connector. So it's really an interesting community that you've got to support, choose which pieces you're going to build. And then also how you're going to create this great foundation for other people to more easily contribute. So how do you, it must just be a constant kind of balancing act. And as you just stated in that example, reshuffling of where you think that your priorities are. Yeah, yeah. So it's like I said, could be also a challenge. Not, it happens sometimes where somebody gets frustrated because they, we didn't get merged there. We are. And on the other hand, we look at it and say, oh, you just like gave us this, this actually pretty big piece of code. And it's pretty fundamental. And we want to have this dialogue first. And even internally between teams when we want to, you know, do something that has to do with the engine and let's say get code that impact that. We sometimes run across that as well because you're like, oh, we have this new thing and we want the engine to use it.  We need to know ahead of time. Let's kind of, we should have talked, we should have planned, not like necessarily best practice. So, you know, even internally, we see that as different teams try to contribute to each other. But definitely externally, sometimes, you know, we get a PR, we get surprised, good surprise, but something's like, well, it's too big, you know, we need to work together on this. So it does, it does happen. So Solomon talked about the APIs and we had other customers on talking about, obviously the success they've had over the years and also the scar tissue from experimentation and kind of brute force. So as a monolithic code base, the natural thing would be to create more decomposed elements, kind of the Lego blocks as Solomon says. Right, right. What's your priority on that as an engineering manager? You guys sit in a room and say, okay, we want to make it as modular as possible. And what are those priorities? Can you share the engineering priorities relative to the making it less friction, less more frictionless, if you will, to. Yeah, you know, I'm glad you mentioned the APIs because, you know, it is one way that we allow people to contribute, not necessarily even in an open source, not necessarily for open source companies, but they just say, hey, we have a module or something that we want to connect to Docker, allow us a way to do that. Then this whole plugin API system is there that you can easily plug into that. And like you mentioned, this component plumbing is also there. So you can contribute to that easily and you can build around it. So that's kind of the ideas. And now I'm blanking on your question. Oh, the decomposition around the modularity of the monolithic and the top priorities. Yes, yes. So it is absolutely a priority for us. As you could see, we went forward with RunC, which is a big step for us. And Notary, as another thing that announced. Is RunC the plugin or the host compatibility? RunC is this plumbing component. Okay, got it, okay. That you can build around and Notary is another, the security plumbing component that you can build around. But this whole idea, this whole plugability, there's a couple of things, right? Plugability and APIs. And you don't want to, breaking down to the plumbing components is a huge priority for us. And we're absolutely pushing this forward. And our ecosystem and other contributors help as well because they're interested in that as well. It's a nice balance in the ecosystem. So I got to ask you the question. So we reported earlier the top three big things from Dockergon, the open container standard, cross-host networking, and the Docker plugins. Of those three, what's your favorite? Oh, wow. You're really like, you know. It's like they're your favorite child. You can. I know. They're all like favorite, you know. I'm just gonna, let me kind of say, maybe from the engineering standpoint, I would say maybe the networking one, the multi-host, just because it's just. It's meaty. It's meaty and it's really meaty for users. It's real. It's really expand the use case of Docker. And, you know, we just got so much ask from users to provide something like that. And it's kind of neat that it comes out with the APIs and already working with companies around us to provide the plugins.  I mean, the others are cool, too. I mean, how can I compete? Yeah, well, it's just more standards. It's more business policy. The foundation is like this big, yeah, love, you know. It's important, yeah. It's all good. I call the wood stock of 10. Yes, yes. It was free love and not a lot of Kool-Aid, I think Kool-Aid. It quotes, not really Kool-Aid, if you do what I'm saying. Oh, that's important, too. That's important, too, right? Having a standard, you know. The standards are critical, because you got to go fast. So that brings up my next question. If you look at the numbers, Amazon is posting big numbers. The cloud game has decided it's happening. These waves are coming. It's inevitable. And the companies that are on cloud are going to win the ones that aren't. They're going to lose faster than the ones that are winning. So I got to ask you, architecturally from an engineering standpoint, what do you see as the most fundamental architectural change in cloud that's happening now that's going to create this beginning revolution of real cloud computing? Is it the infrastructure? Is it the DevOps layer? What's your thoughts? It's kind of as an industry participant. What's the big architectural shift that's happening right now in the industry? Yeah, I mean, everybody are talking about microservices, and theoretically, if you do it right, they're going to have a couple of attributes. One is that you could put them in different places. So you no longer can need to think about your app as runs in a particular place, and that's just one place. And that kind of ability to break it down to components that maybe one of them runs here, another one runs there is interesting. Another attribute is the portability. And the idea of like, I've started from a workload in my laptop, then I want to test it in the cloud. I actually want to host it in production. All of that just allows the new creation of apps and the fluidity between those different formats like the hybrid, the true hybrid cloud vision. So I think that's probably what accelerates a lot of it. What about the legacy network stuff? I mean, just kind of brainstorming here with you is that I look at the market like the Cisco's of the world, the Aristos, they're all networking guys. SDN has a lot of promise in this years now at VMware. That just stuff seems to be, it needs to go away in the mind of the developer, right? That's the goal of DevOps is to make programmable infrastructure. So how does that happen as we move forward in the Docker revolution? How does that, from a developer standpoint, just take care of itself, kind of stay under the hood if you will. Right, right. So from a developer point of view, they don't want to bother it with like provisioning, get work and understand this whole thing work. And you know, if we do it right with SDN and some of the things we've shown today with SWARM and multi-host networking, then you could very simply then start saying, you know, simple commands that allow you to deploy in a multi-host environment without really trying to think about how to do the network. I mean, yes, there's still the details of building the actual hardware and where it all connected. But from a developer point of view, it's kind of- Once it's built, then it's just performing. It's there and making very easy using very basic construct that are available there in Linux to make it very easy for developers to use. Mariana Tessel from VP of Marketing here at Docker. Final question for you as- Engineering, VP of Engineering. What'd I say, marketing? Marketing, no. Oh my God, I can't believe I just said that. VP of Engineering, get late in the day, day two, wall-to-wall coverage. You should be in marketing, you're really good on the queue. First of all, engineering is marketing. Marketing goes away in DevOps. It's just abstract. Yeah, it's all the same. It's portable from engineering to marketing. And the marketing fluff doesn't fly. I mean, it's frictionless communication of connected communities, very efficient protocol. VP of Engineering at Docker, I got to ask you the culture question. What's it like at Docker? People want, they have this image that, man, it's magical castle of greatness at Docker. What's going on at Docker? What's the culture like? Solomon's a great guy. Everyone seems to be happy, smiling all the time, springing their step. Is it like that inside, or people working away, having fun, whistling while they work? What's it like inside Docker?  Like in a promotion every day, salaries are being doubled, valuates are the billion dollars. Yeah, it's amazing, but, I mean, seriously. We do have skeletons, we do have, it's not all like singing every day, but it's like, but it is quite amazing. I think in a few ways, in my point of view, one is, I think it's very rare to work in a technology that is so fundamental and so revolutionary, kind of breaks and change how the industry does things. It's just, I'm from here.  Obviously, you've got a startup, right? And how many employees you have now? About 100. And engineering? In engineering, we have about, what is that, about 70, yeah. Still a big team, but not massive, still kind of small startup. Some startups are not easy, right? Yeah, yeah. But it seems like it's fun, there's a lot of technology. There's a lot of fun. I mean, I also want to say that we have quite an international team, and it's just kind of the mix, and different people come from different places, but also from different companies that we have people came from consumer, from enterprise, and it kind of creates this very interesting, different points of view, open source, you know, we have SaaS products, on-prem products, open source products, so kind of this whole mix of a lot of things going on. It's a melting pot of diverse expertise. Yeah, very, very awesome. A lot of creativity, you talk to somebody and they'll have a consumer background, and it just feels, It must be very interesting conversations. Very interesting. The debates must be very heated. Cultural and diverse. No, actually, you know, we were, there are debates, but they're not heated. It's, yeah, pretty awesome. Thank you so much. VP of Engineering at Docker. Thank you so much for coming on the queue. Appreciate it. Okay, we're here live, coverage, the peak inside the machinery that is Docker in California, your diverse team, a very successful startup. Thanks so much for your time. We'll be right back with more for this short break.


Use design to be provocative in your organizations to what extent is that the goal you know and obviously for you there's there's an end because you have a new product but in terms of how your your organizations work it is is design your your describing design as being solution-based as opposed to being provocative I'm just curious if there's a not those are usually exclusive well that's what I'm curious about how that how that feels for you guys in this year there's been inside Google it was kind of saying technology sucks computer sucks and that's provocative coming from company that's lives in technology lives in computers and and and the provocation is that how do we get it out of the way so we just all benefit without it being there and that's that's what I would say it was provocative but that the end result hopefully should be something seamless effortless you don't even see it notice it in the product side in the communication side probably and more provocative because you know everyone's a totally ignoring every message on the planet so you have to find some little bit of magic or something that you know jolts them out of you know the day-to-day habits and go oh wow that's kind of cool because for us it is a little bit different I mean I think if we just looked at it from an effective activity perspective it would it allow you to have stuff that it doesn't get noticed at times you know and that's that's a part of design but in the communication business you have to force people to take notice you have to you know invoke an immediate response so provide provocation is a just a core part I mean I think there can be provocation in the product side too that's really important it's just a question of I mean to me provocation is just distance from incrementality like are you trying to make something slightly better every day like Amazon web services or something or are you doing major leap frog innovation where you're putting something out there that the risk is higher because the potential reward is higher changing a behavior like the way touch just happened and all of a sudden everyone's doing you know interacting haptically and whatnot I think that those kinds of risks are in the sort of fitness landscape to use your evolutionary example bigger risks with potentially bigger outcomes more disruptive I totally agree but the reason why those touchdowns wins it wasn't a destructive technology no no no no it's better would find a natural to use it so that's all I'm saying it's not provocative provocative to get to the natural human state and you have to do big leaps to get there but at the end it's like the proof is like what 18 months you know kids my nephew literally like knows how to yeah it's like so we got it all out of the way I agree you know Bob what I'm just thinking about is it's funny how simplicity can be provocative in a complex organization so in a way disruption provocation doesn't necessarily come in these big forms sometimes like touch it comes in the really simple things do you guys like being provocative do you within your own organizations are you like yeah I'm the one who's gonna push people along poke yeah right that's yeah that's that's what you want what's the downside of being that of the provocateur what's the downside I mean you have to deliver on it right I mean you say something pretty provocative you've got to have something to back it up or you're just the person that's saying wild things in the corner right so you know I mean that's what I'm talking about the speed versus quality I mean it's kind of easier to go with speed because if you aspire to a higher level of quality you actually have to deliver and you have to ask yourself really tough questions so I don't think it's necessarily easy to do it because I want to deliver on it not just poke I think you can provoke with a question though I mean just and you know an alternative approach to the problem a reframing can be provocative right it's not necessarily arrogance saying you know I have you know I'm the smartest or most creative person in the room that I don't think flies it's and you know in terms of outcomes I think products that engage people because they have some of that quality they they're not different in a meaningless way they're they're different because I didn't really think of that possibility that's provocative I think what when I showed the whole team I took them to room and I showed them the first design that was just a sketch so they came on the boat and started telling me the plastic guy the metal guy the engineer one by one why none of this can be done so it was very frustrating so what I had to do is take the last product they did put it on the table and said okay this is really not a great product so you smash you with a hammer I told him tell me one good thing about and then we started to go through the process and I showed them that everything is bad the way you carbonate the sound the looks the materials everything so one step by step and in the end of the meeting two people left the room one of them actually left the company it was quite a good meeting but it was a must meeting for everything that happened afterwards you know people understood that what we had before it's not the way to go so whether they find the way right now to do it or not they need to find a way so I think sometimes it's just a must I think you can be provocative and you can actually be a disruptor I don't like labels on anyone but you also what you're talking about is you had the leadership capabilities and you own the project and when you are being provocative and you force people to see it your way or see it a different way or get out of the way they've been doing things they see the leadership in you and the responsibility that you're taking on for that project and they'll they'll come to light with it and that's what you were just talking about do you think about I actually think to be a leader you have to be provocative and I think the most provocative people within Google are not the designers I don't think it's like Larry and Sergey they'll start I'm sure to say you know there's a lot at the top so I I don't I think anyone who's leading things from one place to another place has to paint a clear provocative picture as a clear provocative question I believe that CEOs are designers they just don't know that you know they're they're dealing with you know with chaotic difficult problems that don't really have answers that they have to juggle they're getting lots of input and they're constantly shifting you know it's ironic that they don't see themselves and they don't always appreciate what design is doing because that's really what they're you know what they're it goes right back to like what how do you define it if it's to do if designing look it up it's like to do anything with intent as you were saying to shape how we experience the world that's like who isn't a designer you know well that is a good question I mean what does define a designer total insecurity MBAs are trained for a world that follows a certain kind of order designers are trained for a world that anything can happen I think what our user experience and our user designers have done is said this needs to apply they want the broadest set of problems to solve you'll be able to do this and this and this and this and that's the thing that seems to spark


Is that your best performance of the season so far? I think so. I think it is pieced together, I think we played well in parts and segments – in not probably to the level that we played today. I thought going to play out of exceptional in the first half – we really were, and could have, should came maybe have been two or three goals up, obviously if it wasn't for VAR – it is off sides off sides.  Ac rwy'n meddwl y byddai'r bwysig ar gyfer ar y bwysig, dwi'n meddwl ar gweithio ar gyfer y gweithu, ac rwy'n meddwl i'w meddwl i'w 10 o'r gweithi, dwi'n meddwl, gan y gweithio. Yr hyn ar gyfer y gweithio, yw'r hyn sy'n cymryd cyflig o'r llwyddo? Rwy'n meddwl i'n meddwl i'r hyn o'r llwyddo'r gweithio. Oherwydd, mae'n gwybod pawr yn ei wneud i'r unrhyw yng nghym, Ond your needs but you have to break yourself down to actually work hard on a daily basis to replicate that in-game. So, my fear three positive results. I think in other games we have played very well and lost or drawn. But it is nice when you do play well and win. Jaetd been great he has since he has obviously come back in from Matter-Quarantine. I am very fortunate I have four forwards. Obviously I used three tonight with D moderna full mid Ship. Ac mae'n gwybod a gyda'n gwybod i'r ddau, yfawr, y dweud yn gyfan mawr. Ac mae'n gwybod i'r coxie ac coxie yn llwyddi'r gwybod. Felly, mae'n rhanio ardifeneddau ac mae'n gwybod i'r ddau'r chanc iawn, ac mae'n gwybod i'r ddweud. Bernie Abeddi wedyn fel y ddweud o'r chanc sefydliadau. Mae'r cefnod gyda'r ddweud, am bwysig, mae'n ddweud yw'r cymhwylliant? A addysgu. I'm lucky I'm not a national team manager one day maybe, but they have to pick what they believe is the best squad, so hopefully we can get many players in that group, that means you're doing well. Yeah, thanks. Carl, do you want many players in that group? No, none. I might be away for the final series. No, none. No, no. Listen, I want my, it's always a representation of your football club when national team come calling. I've been there myself so I know, I've been a manager and I know as a player it's an honour for you to go and play for your country. And I said when I did play for my country that when I become a coach and I've been fortunate enough to follow that dream that I would never stand in the way of anyone going to follow their dream and playing for their national team. So the answer, probably the funny answer to you is no, but realistically, you know, I hope a lot of them do, but that's not my decision. Do you have some of the performance you mentioned before, probably best in the season? What clicked tonight that maybe hasn't clicked in such a fashion to this point? Yeah, again, that's what drives coaches mad and turns coaches great, the reality of trying to figure out when sometimes it works and sometimes it doesn't. And, you know, it worked for long periods today. I was disappointed probably with the last 15-20 minutes.  You know, the game was obviously put out of sight just after half time through clinical finishing and really good positive play and the last 30 minutes sort of flitted out really. But that doesn't mean you go away from doing the things and the fundamentals that got you to that point. So that was a bit disappointing. We could have scored four and five and probably should have. But the game plan that I put on for the players worked. You know, they're the ones that play, they're the ones that should get all the credit today. Yeah, and just finally for me, a lot of wonderers fans were extremely frustrated. As you can imagine in that first half of all the BAR calls, or two BAR calls and three offside goals chopped off for you. Is BAR good for football, do you think? It's a question a lot of fans are asking themselves all the time.  Right, we'll take that. OK, do you know what? Listen, I haven't seen them so I don't know whether they're offside and I didn't actually get out of my chair because you don't know. What I would say with it, if it's offside, it's offside. I said this on Monday night when obviously we were lucky on the right end of a VAR call. They have to be right. How clear and obvious, you know, we talked about that with handballs and tackles and dangling legs and things like that. Offside is offside. Sometimes I look at it and the line is thicker. What body part is it? All of these things that the powers to be have to try and make sure they get right. I'm not sure that they are right and with that I mean you can't take emotion out of sport, out of football. And every time you score a goal, the emotion is there. You want to see them celebrate. You want to see your friends happy, smiles on faces and people jumping around. But sometimes you can't because you just worry that it's going to get called off again and things like that. That's my only thing with VAR is sport is emotion. It's important you show emotion. Good and bad. And I don't want that to be lost in the VAR calls and things like that. And I tend to think it's slightly going away from it. Good day, Carl. Adrian Warren from the Australian Associated Press here. Well done. I know earlier in the season you've been saying that you've had a lot of players that weren't quite fully up to match speed and match practice. Do you feel most of them are there now getting close to full match fitness? Yeah, they're getting closer. I think that's fair. Again, how do you get match fit? You get match fit one by having a full preseason, two by then playing competitive games and you always say that as a professional you need maybe four, five, six games under your belt of 90 minutes. The guys here haven't played 90 minutes. My two forwards played 60 minutes today, 65 minutes, but that's the luxury of having a good squad. But my back five players played 90 minutes again today, four days after. So the young players, there's an expectancy I need them to be fit. The older players I'll try and look after them a little bit in regards to minutes. Obviously Dorans come back in today for muchy. Muchy played his first 90 minutes in 15, 16 months. So I wanted to protect him as well. Dorans comes in excellent and Keanu just plays 90 minutes after 90 minutes. He runs about and he's exceptional. That's me not involving Giorgio Doherty as well who's an exceptional young player. I'm very lucky at the moment competition with places is very good, but it's nice when you get a win and a fully deserved win. I think that's Graham's seventh yellow card of the season already. Is there any kind of a concern or is that just part of what you have to tolerate in the game there that he's always going to play on that edge? Well, I think if you look at the yellow cards that he's picked up, and I am an analytical freak as well sometimes. I do look at that and I would say four of them for nothing. By the way, one might have been for a red card as well. Again, it sort of evens itself out. I think that it was his first challenge today. Was it a book? Now listen, referees have had enough time as it is dealing with all of the 22 players shouting at him and obviously making decisions and they've got to get it right and the offsides and handballs and all that. So he needs to be aware of that. Obviously, if he does pick up another one and then get suspended or misses another game, we're covered because we've got players. Do I want him to do it? No. Will I speak to him about picking up more? Yes. But as part and parcel of a midfield players job, you've got to win the ball. You've got to tackle and sometimes your tackles are off due to your timing. But I don't want to take that part of the game away from any of my players. Last one for me. I think you play Melbourne City next week there, which is moving as a terrific game. You're obviously going into that game with good form. How much would you be looking forward to that match? It'd be great game this and there. I think everyone keeps talking near the benchmark and the way they've played at the moment. I'll ask three games. They've been exceptional. Central coast to the top of the table. So you have to give them credit as well. They've got off to a wonderful start and doing a great job there. So they're the marker. Obviously, everyone talks about Melbourne. Rightly or wrongly so, I don't worry about what people talk about other teams. I've got to control my own business. But yeah, no, it should be an exciting game next week for sure. Thank you. Sorry, coach. One final one for me.  Do you feel as though you're becoming more comfortable at home and maybe turning it into a bit more of a fortress? Is that something you've come to grips with a bit as a team? I think so. I think they were brilliant. They were brilliant on Monday night. Obviously, they got to watch an excellent game and to end loads of goals. And they were brilliant again tonight. And our job as a club and a group of players and staff is we have to energise and we have to want to bring them back so they come out. Because when they're like that, they're exceptional for us. And they help us like this last 20 minutes of the game. You know, when you're defending, you've got to put your bodies on the line for blocks and challenges. And listening to your own home supporters singing their hearts out is really, really positive. And we were delighted with them today as they've been away from home this year as well. You know, we went to Central Coast. We went to MacArthur. We went to Sydney and we had a great following. So our job is to do our jobs on the pitch, which is what the boys are doing at the moment.


I'm actually a fully carnivore. Oh, you're really? God forgive him. Actually, don't forgive him. This is unjustified. Humans right now are protected by law, but animals are not. You agree? What about cows? Do cows deserve human rights? Then we can't eat them, then. If they have rights, you can't eat them. So we shouldn't be eating them. You can stop eating them. You should. And all other products coming from animals. You agree? Come on. Come debate me. Why animals humans? Humans are an animal. Yeah, because animals aren't human. They don't deserve human rights. Look, animals deserve to be treated with love, care, respect. Okay. But I also believe that humans are food. I'm sorry. No humans. Animals are food, sorry. I believe that. But I do not believe it. So are you Muslim? Yeah. Is that why you believe it? Not necessarily. Okay. Even before I was Muslim, I was eating meat.  Well, yeah. Since I'm a reaver. Okay. Are we going to have a religious discussion or a secular discussion? We don't have to. Because you can be a vegan Muslim as well. Yeah, because I had debates with Muslims. I just want to know what kind of discussion it's going to be. We don't have to about religion. Okay. We don't have to, yeah. Yeah, because otherwise I'll do it through the lens of Islam. No, no, no. We need to go. Okay. So I believe that because animals, you said, what did you say Jacinda about? That they are animals are food. Do you believe they're food? Yeah. And why do you believe that? Because I really enjoy eating it.  It doesn't mean you're food. I mean, technically you've made it me. It's different though. I'll tell you why it's different. Okay. It's different in the sense that I completely get where the vegan argument comes from in the fact, in the terms of like, first of all, let's put the animals aside for the planet, the sustainability, the environment, the contribution to... That's not why I'm vegan. Hold on. That's the side of the point. That's one part which I understand and I get. And that's why I make an effort to make sure when I'm sourcing my meat, I source as responsibly as possible. I don't just... How do you do that? So I buy from farms directly, grass fed, things, animals that have been reared well, lived a good life. So you don't eat food when you're out? Not really. Unless, unless they have... Unless I know I'm going to a restaurant where they're sourced good meat. Because they disclose that. How do they disclose it? By advertising that. By telling you. Yeah, by telling you. You believe what they say? Yeah. Okay, so if I told you... Also, for example, I'm a chef myself. So when I go out to eat in certain restaurants... I'm not talking about KFC or Burger King or McDonald's here. I'm talking about restaurants where I know what they're doing. No you don't. I know where they're sourcing their stuff from. No you don't. You can know on paper, but you don't know what happens in the farm or the abattoir. Because how can you? Because if I'm using the same supplier as them... It doesn't... Yeah, but you say that you know... What I'm trying to say is that you only know what happens in the farm and in the slaughterhouse when you leave secret cameras when no one's watching. Which is what we do as investigators. Yeah. And have you seen the footage? Yeah, I've seen stuff. I've mostly seen stuff in America. No, no, no. I've not really seen much stuff in the UK. No, in the UK, most animals here are factory farmed as well. There's over 800 mega US-style factory farms in the UK. So all the chickens here are factory farmed? Yeah, I know that. They're just disgusting. And they grow without feathers. And they're pumped with hormones. So it takes out what? Like three, four weeks to fully grown. It's disgusting. So yeah, but exactly. But you eat it and you support it and you sell it. I don't eat that chicken. I don't eat that chicken. And they're all factory farmed. Where are you getting chicken from? France. Corn feds from Northern France.  That's it. Well, if I go to someone's house and they've cooked chicken, I don't know where it's coming from. But what I'm trying to say is... You know the thing is it's hard to stay consistent in that. When it comes to rights, right? Yeah, I mean... It's hard to stay consistent. Yeah. Because you can't... It's very impossible. You never know what happened. There's an investigator who knows someone who's involved with animal rights been for a long time.  They're not going to advertise all the abuses and cruelty and suffering of the animals and the struggle in the slaughterhouse and the blood. But you're not going to be a customer anymore, right? Yeah. Now you say you buy directly from a farm. I don't know if you go into the slaughterhouse and watch the animals struggle. I don't. Okay, we stick cameras in and watch them and try to escape the knockbox cows and things like this. Yeah. When I talk about rights, it doesn't matter how you treat a slave. Right? It doesn't matter to the slave. Yes, it does matter.  Mm-hmm. So if I would have human beings where... In one farm they're being whipped constantly and abused, right?  Yeah. They might... And it might be... Let's just think of a quick death. Both of those situations are having their rights violated. One, there's some serious welfare issues. Another one is they're having... They're still having their rights violated. Yeah. Yeah. Human rights. Yeah. They're being treated. Mm-hmm. They're still a product that will be decapitated and have their rights are life-taken. Yeah. And they are sentient and conscious as well. Yeah. Like we are maybe not on the same... 100% agree with you on that. Yeah. So that's why I'm saying they deserve rights, which is beside the point of welfare, really. So rights in terms of what they're using, they have the right not to be killed. Yeah, like negative rights. So you say, CA said not to be? Yeah. Yeah, like to be infringed upon. Yeah. To be artificially inseminated and all that. Violated. Murdered. Like rape, I know that. Yeah. For the animal. Like I don't know if you've ever been to prison. But they... There's non-sexual acts of... Well, not sex...    Yeah. Right? They might say he's a snitch. Yeah. So rape can still be in the dairy industry. Yeah. The cow is having a fist inside her anus. And that for the cow is what? Rape. It's wild. Yeah. It's wild. Listen, there's a lot of farming methods out of disgusting. I agree with you. And what about just the decapitation of animals? Yeah. I mean, look, as a Muslim, obviously they need to be slaughtered by a cutthroat. A cutthroat. No, they don't. They don't know him in the UK. You know that, right? Pardon? Do you know much about Halal slaughter, Halal guidelines here in the UK? Go on and tell me. So not all animals are non-stun Halal, which is consistent with the Hadith. What do you mean? Well, basically, in a Hadith, you're not so allowed to stun them with a gun. By? That's Haram. Yeah. But yeah, there's... No, no, you can stun them. If the stun doesn't kill them, then that's Halal. If the stun just stuns them but doesn't kill them, then that's... They didn't have stun guns back then. That's permissible. No, no, no. You're not killing them. You're stunning them. If the killing act is slaughtered, then that is completely permissible. Oh, really? Yeah. I don't know that. Also, in Islam, you do know that anyone by the book, so let's say a Jewish person or a Christian person kills an animal. They're allowed to permissible Muslims to take it as a gift. Because this is an authentic Hadith, which our prophet, peace be upon him, said, that if it's been sought to by people of the book, then it's permissible for us to eat.  So what about causing animals suffering in factory farms before you eat them? Yeah, that's wild. I don't like that. Is it permissible? No, no, that's not permissible. So that's Haram. Because you're causing pain and suffering to the creation of God. Yeah. It's unjust. It's disgusting. Yeah. Animal cruelty is permissible. So when you're in the UK and you're buying all these chicken and that, you eat Haram food all the time, they just put a Halal stamp on it. But then the thing is, if it's been sold as Halal, but it's actually Haram, that's not our fault as Muslims, because we're being sold as a... Until you know. So now you know that most chickens here at Factory Farm, almost all of them, actually all of them, and they're caused suffering because they've been selectively bred to suffer. Suffering is unavoidable in Factory Farm chickens these days. What they do... I've seen videos. So they take those chickens, and they take them to Halal's waterhouse. So Bismillah in this waterhouse, and that's about it.  And then they put a Halal stamp on it, and the Muslim are going to Halal KFC, grab some chicken. Yeah, listen, I'll tell you what, I think I personally in the Halal industry, is a lot more f***ed up than the non-Halal industry. I'll tell you why. They will be willing to put the most f***ing quality nonsense, put a Halal stamp on it, and sell it for more price, because it's Halal. Is it cost-morm Halal? Sometimes it can, but this is something that... I also, for example, like Halal sausages, or Halal, like, if you buy frozen Halal, it's like nuggets and whatever. Matt, there's s*** that's in that.  And when you're vegan, you know. You know. I'm actually, right now, I'm actually a fully carnival. Oh, you're really? Yeah. But I have a lot of respect for the vegans, and I'll tell you why. Because I respect people that stand up for what they believe in, and you guys have shaped the world. And that, for me, is hats off. And I have a lot of respect, and I admire vegans. But I know a lot of people have this inclined to have beef with vegans. Yeah, there's a lot of negative stigma towards vegans.  There are a lot of chefs in my industry. I've worked in many restaurants, and the vegans get a lot of stick, but it's like we should be catering for people's dietary for their form. It's not a diet. So there's, like, dietary in terms of... It's a moral principle. It extends to diet. It's the main culprit for animal abuse and killing. Muslims also have standards to respect animals, which is why I have better conversations with Muslims and Christians, because it doesn't really say anything in Bible about it. It's basically like the God's creatures are here for us. We have the Garden of Eden, which was vegan. We have the God's Perfect Paradise, when the lion lays down with the lamb, which is vegan. In between, God says, all the creatures are for you. It doesn't say that you can't torture them. It doesn't say which animals you can and can't eat.  At least in Islam, there is... You have to respect God's creatures. You can't harm even a sparrow, or you'll be judged on the day of judgment. You know, unjustly, I must say. My thing is, my whole thing is, back then, 1400 years ago, the world was different. Now we have iPhones and I'm sure the Prophet didn't have an iPhone and this and that. Maybe some social media would even be here. Maybe there's a lot of... There's levels to... I know that. There's really bad things that you can't do ever, and there's stuff that you can be forgiven for. But what I'm saying is, back then, there might have been a situation where they had to kill animals. So what they thought of was, how can we do this in the best way? So we don't want them to see each other. We pray to God and we'll get a really sharp knife so that it's a very quick process for the animal. Because now, we have options, right? It is unjust now, because we don't have to do it. And you can never be sure, because now animals have been used as a product, that it's industry, it's a business now. Unless you've looked after this animal your entire life, their entire life, and you've kept an eye on them and you've genuinely personally done it, and they're a happy animal. And then you do everything that's in the hadith, which I still think is wrong, by the way, because you're slashing the throat of an animal when you don't have a reason to. You don't need it for the survival, you don't need it for your health. There's no reason to do this. You can have a supplement that now technology has changed. So as a Muslim, you can never be sure. But with veganism, you can. And it's showing compassion. It's the most compassionate thing you can do. Like Halal is like trying to be compassionate while still killing the animal, right? But even more so, showing more mercy is being vegan. I agree with you 100%. I do agree. It's the most Halal. Think about it. As an animal here, the God made them, like animals, get afraid. You slashed their throat. They try to breathe. They're struggling, I've seen. Yeah, they don't want to die, man. They don't submit. I've been back home and I've watched goats being sacrificed. It's this horrible, man. They're struggling. It is tough to watch. It is tough to watch. Yeah. And you don't even have to, it's not even, it's permissible to be vegan. You don't have to, it's not mandated to eat meat. You can't say that it's not allowed because that would be going against God's word.  That's so worth it. But your heart and your conscience are saying something and you believe God created you, right? And your children, do you have children? No, no. No. But when you have children, let's just say, I don't know if you know any, like family members have children. Yeah. When they see an animal be slaughtered, they are terrorized by it in their heart in something, aren't they? I was that child. Exactly. It is tough to watch. So God created you to be... You almost become desensitized by it eventually though. Yeah, exactly. But when you're at your purest as God created you, when you see it, oh my God, this is wrong. So listen to that. Why don't we listen to that? That God-given insight. It's a fair point. You know what I'm saying? And being vegan is completely consistent with the religion. In fact, you're doing the best to avoid these things. You know who's going on in the back of your mind. You can never be sure. You don't know how much that animal suffered. You don't know if someone beat their head in before they cut their throat in a slaughterhouse. We film all the time. That's rough. I'd have f**ked that. Yeah. There's nothing really... There's no real justification these days. Why can't animals have rights protecting them like humans? Then you couldn't be abusing them. You couldn't be doing these horrible things that are haram in your religion to them. Because they would actually be protected and respected. And that's the most merciful thing. Yeah, no. Absolutely. Absolutely. You don't have much to say. No, no, I'm listening. You disagree? I'm listening to you. Because I'm... You know, I find you quite compelling to me. Yeah, yeah. That's cool.  I don't disagree with anything you say. Yeah. But I'm personally not going to become vegan. Let's say you don't. And you continue to pay for animals to be decapitated and often tortured and factory farmed and you never like really looking at what's behind that label. You know what I mean? Do you think now that you've crept in from... away from being merciful, away from being compassionate and instead of focused on your own personal satisfaction or desire? It definitely is a personal selfish satisfaction. Yeah. It is. But is that consistent with...? It doesn't... It doesn't... What's the word I look for? It doesn't contradict. It doesn't contradict? No, it doesn't... It doesn't contradict. I tell you why, because it's permissible for me to do that. Yeah. God has allowed me to do that. It doesn't contradicts my virtue or my compassion. Your ethics? No. Even though if you feel bad, if you see it happening... And you don't think about the animals, either? Like how they feel? I do, I do, I do. I really do. I really do. And that's why I'm saying that. I'm very specific and very... With where I order my meat from. Yeah. I use really... I'm a chef myself, as I mentioned earlier. Yeah, I know. So I'm in touch with quite a few very good farmers. Very good farmers, yeah. Yeah. I've investigated very good farmers, very good farmers, mate. And they've got a very good slaughterhouse, too, where the animals struggle for their lives. You know what I mean? Like, this is just hoodwinking meat. And the happiness of the animal, the greater the injustice it is to murder. Like, it's almost like in these factory farms, you're killing them out of their misery, which is also bad. They shouldn't be in misery. Or when the animal is happy and wants to live more, think about when we kill a human being that's got everything going for them at the best time in their life. It's a graver injustice. You can never be sure, mate. And I'll tell you right now, you tell me where their slaughterhouse is if you want. I guarantee you when no one's watching, that's when you stick the camera in. I can show you some of the stuff we found at a grandma's local family-run slaughterhouse. They only slaughter local animals, too, like local smallholders as well. So you drive your own animals in. Right. They're punching and kicking animals. Well, basically what happens is the animals go in the knockbox and they can smell the other cow's blood and they start trying to struggle. And then one cow rip their own horns off trying to escape. And one of them must have done something to one of the slaughter workers.  And bolted them in the head.  And I was just thinking, like, these animals, one cow tried to nuzzle the bolt gun off of the... They actually did nuzzle the bolt gun off of the...  They nuzzled the bolt gun off of the ledge because they must have thought, well, they might be doing something with me in this container to my whatever. I don't know. But they were scared, man. Yeah, they know. They are conscious sentient beings, as you said. Yeah. And why do you eat them? I enjoy it. And my diet has been... It's very meat heavy. It's a carnival-based diet. And I've been doing it now for quite a while. Do you think you do want it for your health? Well, it's having a very positive impact on me so far. It's working for me. Like, you've removed processed food and just focused on... Yeah, because that happens with any dietary change where you're mindful about what you're eating. Plant-based can do that, too. Eating raw or vegan can do that, too. Actually, raw vegans are a very good one. Very good. I think it's a bit dangerous for myself because it's calorie dilute. People can get malnourished from raw veg. Too much deficit. Yeah, a high cut. Some people do it right, but I just eat a wide variety of whole plant foods. I eat junk food when I want to, so I'm not restricting, but it's vegan burger, it's vegan this and that. If you like something, you get pleasure from it. Self-desire. Yeah, yeah, yeah. And then you will always say, well, there's a loophole in my religion, so I don't have to really... Let's just leave this, I'm out of this. I'm not even... Yeah. I'm still... But that is where you derive your ethics from because you're not going to listen to me. You're going to listen to God. Yeah, I do listen to God. But also, God doesn't say that I can't be vegan. Yeah, so where do you go from now? No, no, no. You've got to follow your heart, don't you? And your heart is being clouded by your desire. Because there's no other... Yeah. And isn't that with anything though? Oh, it's part of what you do. Yeah, but... But also, it depends what your desires you have, kind of good desires. You can have desire to want to create peace, be consistent with your compassion, show mercy to the most vulnerable. Also, because I eat meat and because I'm not a vegan, doesn't mean I'm not a compassionate person, doesn't mean I'm not a loving person, doesn't mean I don't have... Outside of animals, yeah, but towards animals, you're cold. You have to be. You might say I don't want them to be treated cruelly, but you're also saying they can be decapitated, so I can eat them. But I've also... You have to be honest with yourself. I've also said to myself, I haven't done it yet, but I said I need to go and slaughter my own animal to do it. I should go and do it. I don't think you should.  I think I should go and slaughter an animal to go and see if that's what I'm really about.  Yeah. Well, I don't know, they might let me. Could you go back home and do it really? But it's definitely tough. I mean, what if I say, you know, I really want to see what it's like slaughtering a dog, man. I've got to do it myself, eh? But, what do you care? People eat dogs in the woods. Do you think it's wrong? No. You don't think it's wrong to eat dogs? No. Oh, I don't. I don't suspect it. Does a dog think it's wrong? Yeah, I think a dog knows it's wrong.  Natural instinct. It's not natural, just natural instinct. They do have, like, animals do think of the future. Yeah. And if you abuse a dog, they remember it. Yeah, of course. It's not always just instinct. They're not machines. No. But that was a lovely chat. I really appreciate it. I appreciate it. I've got to go back to work. Thanks, mate. Are you going to go? I admire what you guys are doing. It's really good. Just keep signing off what you believe in. I will. Maybe one day you'll remember this conversation and you'll think, I'm eating the corpse of someone who didn't want to die. This is not consistent with the good person I claim to be. It's got a wave of words, isn't it? If you can't take one of your carbs. Of course you can, mate. It's got your details on it. Yeah, it's got a little bit of, it's got like... Where can I see this? Joey Carbstrong. It's on my YouTube channel. Joey Carb. Yeah, Carbstrong. You wouldn't like that as a carnival. Carbs are scary, you know. I don't really eat much carbs. You can't eat? No. What about, what about figs? Figs. Yeah, but they're an incidental death every now and then a waspite. It's not, like, any kind of situation, you know. They're incidental. It's like I don't think... Yeah, yeah, yeah. Been on pierce twice. I've been off around. I'm quite well-known. That's why I've got a wave of words. I've been doing this for a while. God forgive him. Actually, don't forgive him. This is unjustified. See you, brother. What about cows? And cows? That means we can't eat them, though. If they have human rights, we can't eat them. Are you a... You're vegan. You're consistent, that's good.


Assistant Professor of Communication Skills, Department of Humanities and Sciences, Balchan Institute of Technology, Sola. In the previous video, we have discussed about some significance of writing a cover later. In this video, we are going to discuss about the guidelines for writing a job application. Now, learning outcome at the end of this session, student will be able to write a good job application later. So, now, first let us discuss about what is a job application later. Any cases? Take a pause, think about the question and write the answer. So, application later, a later that you write to a company or organization when you are applying for a job or a job application later is an applicant's first contact with a perspective employer. It is an important document which speaks about the applicant and his suitability for the job. That is the definition of an application later. Now, what is the importance of a job application? The later of application is like a personal sales later because of its task of selling a personality and qualifications to the applicant's future employee. It concentrates on why the applicant is interested in the position applied for and applicants spatial fitness for it. Now, let us see the purpose about writing a job application. Definitely, the first purpose is job application later is a great opportunity to make a good impression with a potential employer. The next is to secure an interview and eventually to obtain a job. Here are some of the other purposes. Attract the employer's attention. The basic elements to sell yourself easy for employer to take positive action, create interest in the applicant and build a desire to look more carefully at the CV. So, these are some of the purposes of writing a job application. Here is some of the parts of application later and already we have discussed the format of writing cover later. So, in this later definitely these are some of the parts. Then contact information, employer contact information, then deadline, salutation, subject line, first paragraph, middle paragraph, final paragraph and complimentary clue. In this diagram also we have given the emphasis on the format that the headline, inside address, salutation, body of the later, complimentary clue and signature. So, these two diagrams show that this is the format of writing a job application. Now, let us discuss about the content. Many job applications has three parts, opening paragraph, main body and concluding paragraph. So, opening paragraph this is very important and an opening that gains attention. Main body or the middle paragraph, a body that builds interest and reduces resistance. The concluding paragraph, it is a closing that motivates action. So, these are the three main parts of a job application later. Now, let us discuss about the opening paragraph. Opening paragraph explains why you are applying for the job. So, that is why include where you saw the ad and why you are a good fit for the position. Describe why you want to work for the organization and what values that match for the requirements. Gain attention and develop an interest in the employer about your qualifications. So, this is the first opening paragraph which is very important. The next paragraph is main body. In this main body or in this middle section explains your skills, abilities and knowledge. So, give examples how your skills experience and explain how you can help to meet its goals. Demonstrate these strengths with concrete evidence rather than just stating that you possess a particular skill and match job descriptions requirements with your specific abilities or qualifications. The last paragraph is concluding paragraph or closing paragraph. So, write a closing paragraph that states your desire for an interview. Provide accurate contact information including a cell phone number and an email address. Add information such as resume, sample work or references in closing paragraph. This is a sample later. So, in this sample later this is the employer's address, the date line and the main emphasis is on the three paragraphs that is the opening paragraph which indicates from where you have taken the ad and how you are fit for the position. In the middle paragraph, this paragraph explains your skills, knowledge and your abilities. And the third concluding paragraph definitely it motivates the employer to call for the interview. Now tips for writing an effective letter. So, the first one is always write one unless a job posting specifically says not to send a letter of application or cover letter, you should always send one. If they do ask you to send a letter make sure to follow the directions exactly. For example, they might ask you to send the letter as an email attachment or type it directly into their online application system. The next one is use business letter format. Use a formal business letter format when writing your letter. Include your contact information at the top, the date and the employer's contact information. Be sure to provide a salutation at the beginning and your signature at the end. The next one is keep it brief. Keep your letter under page long with no more than about four paragraphs. And employer is more likely to read a concise letter. The last tip for writing an effective letter is edit, edit and edit. Employers are likely to overlook an application with a lot of errors. Therefore, read through your cover letter and if possible ask a friend or career counsellor to review the letter, proofread for any grammar or spelling errors. Make a good case. Your first goal with this letter is to progress to the next step and interview. Your overarching goal of course is to get a job offer. Use your application letter to further both of these causes. Your job application letter is an opportunity to highlight your most relevant qualifications and experiences. An effective cover letter or a job application will enhance your application and increase your chances of landing an interview. So these are the references whatever I have used for making this PPT. So see the references.


This study examines the roles of disclosure and social support networks in determining adolescent pregnancy outcomes in just Nigeria. Informal social support networks, mainly mothers and close friends, played prominent roles in pregnancy disclosure. The fear of unsafe abortion complications and lack of other options forced most participants into early motherhood. Parenting issues also contributed to unintended adolescent pregnancies. Participants noted that adolescent males had better access to contraceptive devices like condoms. The absence of formal opportunities for institutional support through education and youth-friendly SRH services constituted barriers to preventing unintended adolescent pregnancies. Considering the important role family plays, preventing unintended adolescent pregnancies requires empowering parents on SRH communication. A gender-based approach to adolescent-friendly SRH services is recommended. The Nigerian government needs to reconsider how to provide contextually acceptable comprehensive sexuality education to young people. This article was authored by Hannah M. Degi, Comfort Z. Oloransai, Timothy A. Akima, and others. We are article.tv, links in the description below.


you everyone for coming. It's very exciting to be here. I hope you're all enjoying the conference as much as I have. I'm going to start off by letting you all in on a little secret. And it's that I am very much more comfortable in front of a computer than I am doing any sort of public speaking.  My name is Kelly Senna. I'm a web developer at Big Nerd Ranch. We're consultants. We also teach and rewrite books. I personally like to stay on the consulting side of things. So I get the great opportunity of getting to work on a lot of different types of technologies and applications and businesses. It also means that I get to work with a few different frameworks. So when I first started telling people that my talk was going to be about memory management, the immediate response was almost always the same two questions. The first one being why. And the second usually in form of a sanity check asking if I had forgotten what programming language I was using. But here we are at EmberConf talking about memory management. So I'd like to share with everyone why I feel like this is still an important topic today. And the main one of those being user experience. So we're not guaranteed an internet speed across the country or across the world. So we have to deal with limited internet access or varying connection speeds. But even if your users do have the best internet access, what is the chances that they're going to have to share that connection, either at home, at work, or at a conference like this? So the connection speeds here might typically be good on any given day. But now that we have a thousand people trying to download cat videos, things probably start to slow down a little bit. Hardware can also impact user experience. So you're not guaranteed that your users are going to have the latest and greatest laptops and desktops, including my own until a few weeks ago. I was working on a MacBook that was a few years old. But if you insist that your users have great internet access and have great hardware, let's talk about your user habits. So how many people in this room have at least 10 tabs open in any given browser? Yeah, myself included. So we're web developers. That's what we do. We do things on the internet. But that's not all that we do on our computers. We're checking emails. We're listening to music. We're streaming videos. And then we're actually working. So we have text editors and terminals open. And we're deploying code. And don't forget about debugging in the browser, plus all of your browser extensions. And every single one of these things uses memory. So as developers, why should we care? And the easy answer is that even modern browsers are not exempt from performance concerns. So my old computer crashed all the time. And the biggest culprit was browsers. But another reason this topic is important to me is because of a few teaching experiences that I've had over the past couple of years. And I've had the opportunity to work with a lot of new developers. And it's been so much fun and so educational for myself. Some come from CS backgrounds. Some come from nontraditional backgrounds. But regardless, they all ask questions like, why am I writing code this way? Or why shouldn't I write it like this? Or why can't I just use this library that says it's going to do everything for me? That's why knowing how things work under hood, knowing how code you've written actually works, or what all of those libraries are doing for you, can help prevent disasters. So having a stronger understanding of those underlying technologies can make us all better developers. And also be able to make more informed decisions. So before jumping into how or what code to write, we're going to start at some of the basics. So we're going to start with the memory life cycle. And it's pretty straightforward. And we can sum it up in about three steps. Allocate, use, and release. So lower level languages, C being a common example, all have built-in primitives for allocating and deallocating memory. But in JavaScript, this is done automatically. Values are allocated when created and freed when they're no longer used. And this automatic process makes it easy for all developers to feel like they don't need to care. But we can still create objects that stick around after we're done using them. So I think a good example is to actually look into what's happening with this automation. And the first step is that you actually need to allocate the memory you need. And in JavaScript, this is done alongside object creation, like declaring variables. But function calls also result in object allocation. And some methods will create new variables or objects. And then you actually have to use it, which is basically just reading and writing the memory. Both allocate and use are explicit in all languages. And in JavaScript, when I say explicit, it's meaning that you actually have to create these variables. Your code won't just know that you need a variable called enterprise or that it's going to be a spaceship. And the third step, release, is this process of deallocating the memory when it's no longer needed. And this step is also explicit in lower-level languages. But in JavaScript, this is where the garbage collector comes in.  So taking Chrome's v8, for example, we have a...  Usually, you're not going to have a lot of global variables hanging around all the time. So objects are generally gathered into two groups. And we're going to refer to those as young and old. So the newest objects that you create, they're going to be allocated to this young heap, which is on the top. And when this particular young heap is full, a young garbage collection is triggered. And if any objects are still deemed alive after this, and by alive, I mean, still being used or referenced, they'll be moved to the next generation. And young garbage collection happens more often than old. And we'll see why this is a little bit faster of a process in a minute. But old generation collection usually uses a mark-and-sweep algorithm that's based on the idea of reachability or references. So in old garbage collection, or old generation, the garbage collector will start at the global object or root. So for example, that could be the window object of your browser. And from there, it will look for any objects referenced from that root. And then it will continue to look for any objects referenced from those objects, and so on, pretty similar to a tree structure. And when an object can no longer be reached from that root, it will be considered garbage. But the thing to keep in mind is that when an old garbage collection starts, a young generation collection will also run. And that's one reason why it's a much slower process than just young collection on its own. So garbage cleanup is a very important part of your performance. The collector is your friend, and it's designed to make your life easier. But it's still important to understand and implement effective memory management, because it's not only about how many objects that you still have in memory, it's also about how you allocate and use. So while having this type of automatic management is great for developers, the browser's collector does not know your applications or your intentions. So your code should be very clear about what you want to do and what is no longer being used. So if we don't have the same primitives as low level languages, why should we bother learning about memory lifecycle? Well, as we mentioned earlier, even modern applications and modern browsers still have to deal with bloat leaks and collection pots. So what happens when you run into a memory issue? You have slow UIs, you can cause reduced battery life, because your laptop is now working harder, or your browser can crash, and none of your users ever want to see this baked. So most tips that you read online about memory leaks are about how to avoid things that prevent the browser from releasing memory. But some of these problems can also be caused by we as developers are doing. Some of those things include the misuse of variables. So if you're creating a lot of global variables, they're not going to be cleaned up until a user refreshes, closes your tab, or closes the browser, or navigates away from the page. So if a variable is scoped, this global object, your garbage collector has no way of knowing unless you explicitly null it out when it's not going to be used anymore. But when you use local variables, they're going to be cleaned up when the function has completed, and there are not any remaining references to it. Another thing that developers can cause is just creating too many allocations.  So you're going to have that slow UI. And we can also have callbacks that are waiting for something that never happens. Also DOM changes are very expensive memory actions. So if you're manipulating the DOM, you can typically get better performance by trying to batch your operations together. So memory leaks still happen every single day. I still see them to this day if I'm doing any code reviews. And we're under deadlines and you're trying to write code fast and sometimes a few things get missed. And usually only the ones that cause big changes in performance are the ones that get noticed. But even the small ones can add up, especially in single page applications that we're starting to build. The browser's job is only to reclaim things that are no longer reachable. So this is meaning if you're accumulating objects and you're not removing them when you're done, memory usage continues to rise as the amount of objects increases. And there's nothing the browser can do about that. So just be proactive about preventing these issues. But there's no single right way to do things. So don't get too focused on optimizing that you forget to solve your real business problems. Just keep in mind that if you want better performance for your application, you should be writing code that is faster, more memory efficient. So we've discussed a lot about memory and just the basic life cycle. And now we know that if we write clean code, our apps will be more efficient. And at this point, you may be thinking, if I know how to write clean JavaScript, why do I need a framework like Ember? Well, if you've ever built or tried to build a complex application with a lot of user interactions without Ember, you'll know how difficult it can be to manage data in UI as it begins to scale. So for example, in regular old JavaScript land, it can be hard to know when to remove event listeners. And ideally, you'll want to remove them when you take a thing off the screen. But to write really performant JavaScript, your UI has to be built up using some type of setup, interaction, and teardown cycle. And then you're going to want to find ways to streamline your code and how it interacts with the DOM. And then you're going to want to try to find ways that your code can be easier to write, test, and troubleshoot. And now you're basically building framework. So we decided to use Ember in a few production apps because these projects really needed an opinionated framework that would help reduce some of the boilerplate JavaScript. Ember has a lot of great features to help you build a clean interface. And it's optimized exactly for rendering data to the DOM. And it helps enforce great coding patterns. And this was very, very helpful. And developer onboarding and resulted in so much less bike shedding on how to actually do something. And these are a lot of nice to have, but what does Ember have to do with memory? So one really good example of how Ember helps optimize this for us is with built-in events. And these events include common key presses and mouse events. And instead of having to register these events manually, Ember sets up a global event listener. And after Ember first initializes, all Ember code is run in response to these events. And the great thing is that if an event does occur, Ember will look at the target, if say a button click, and it will travel up the DOM tree to find the corresponding method. And this is quite a bit easier than having to manually find the elements ID. So when one of these event listeners is triggered, an Ember run loop is started. And this is one of the things that I think is really neat about Ember. So Ember schedules work by a set of cues, also known as the run loop. And by default, there are six. And all of these cues have a priority and they're processed in order, with sync being the first and the shory feeding the last. And the run loop helps optimize our callbacks by combining and ordering our code. And it helps coordinate some of the changes to the DOM. So one of the biggest efficiency boosts that we've seen from Ember is this ability to coalesce these multiple events. Otherwise, we'd basically be trying to do them ourselves or we would just have to deal with it. So all basic user events, like clicking a button, will start a run loop. And this guarantees that change is made to any properties by this event are propagated before returning control back to the browser. So we have all of these, so we have these six events. And they kind of just look like words. So maybe we'll step back and just kind of run through actually what they do really quick. So your sync cue is the first cue and it's also the first priority. And this is where your data bindings are handled. So because the run loop is triggered by user interaction, like entering text, we are going to need these new or updated values before anything else so we can keep our objects in sync. And actions is your main work cue. And that's where any and it contains any scheduled tasks. And it's like any of your async functions or promises. And before rendering anything, Ember will attempt to promise any route transitions. And this helps make sure we don't try to render anything before we are that we're going to immediately navigate away from. So render cue is when Ember begins to generate that updated DOM. And because this occurs after all other changes to our data, this can help ensure that our DOM only has to be generated once during this run loop. And that's great because our those repaints and layouts can be kept to a minimum. So the after render cue contains jobs that need to happen after your DOM has been updated or generated. This is commonly used for like jQuery, D3 or any other third party DOM manipulations. And the last one is destroy and it does pretty much what you think it's going to do. It contains any jobs to clean up objects that have been scheduled to destroy. So there was a lot of information that I just threw at you about the run loop. It's going to be hard to take it all in with me just talking at you. So I kind of built up an example to try to show you what it looks like. So when you start a run loop, it's going to be again with a sync queue. And when that sync has completed, we move to the actions queue. So here we can see that there are eight tasks queued up. And once those tasks are completed, the run loop will step back and see if there are any additional jobs in the previous queue. And if so, it will process those before moving on. So once those are completed, and if we have any tasks in the router transition queue, any guesses? Yeah, we're going to back up and make sure that no additional jobs were added to the previous queues. And so on until all of our queues have been completed. So if you're still a little bit unsure about how this works, it might make more sense with an actual example. And I found that components are pretty good for this. So if you're not familiar with components, they allow you to create reusable pieces of code that extend HTML standard, which means that they can be used as first class elements. So not everything has to be a div. So you can have A tags and UL tags and LI tags. And components are great because they help solve the problem of duplication and lack of encapsulation in front-end web development. But the behavior of a component is controlled by JavaScript and can be customized with event handlers and their lifecycle hooks. And these handy lifecycle hooks allow you to run tasks at a different point throughout your component's life. And they occur upon initial render, re-render, and destroy. So if we know when they happen during the render cycle, we can also dig in to see where they're handled in the run loop. And this is usually in the render and destroy. In lifecycle hooks, all you allow also allow you to be more explicit. So we've used components for things like date pickers, determining the size of input fields, using the dead insert element hook. And we even use them during to do horizontal scrolling using the embers run loop. So I have a quick example. This is a fairly simple example for just showing and hiding an image. So in the component, we have an attribute called is showing image. And when you press the button to show the image, the attribute is set to true and a run loop begins. And as we can see when logged out, all of the dominate manipulation is being done in the will update hook. And it's also handled in the render queue. So another thing about another great thing about components is that Ember will tear them down during the destroy queue when a component is removed. So you don't have to manually tear these things down. So let's say we had a more complicated component. We might want to have certain behavior happen after a property has been changed. And just like in JavaScript, Ember observers are mainly used for reacting to changes. And you can still create your own observers manually in Ember, like in the dead insert element hook in the component. But you also need to make sure you remove them. But if you use Ember's built-in syntax, it will automatically tear down the observers when the object is destroyed and this helps to avoid memory leaks. Chases are, if you need an observer, you may just be able to use a computer property. So computer properties are built on top of the observer pattern and it's great that they can be defined as functions because then you can use it the same way you would any normal or static property. And they can also be used in templates. So with computer properties, when it's first called, the result's cached. And when a state changes occurs on one of the dependent keys, it'll recalculate the output. But if no changes occur, then the cached result is used. Because the computer properties observe the properties that they depend on, this means that you don't have to manually make sure everything is in sync. So when writing a web application, knowing how to use Ember is like working with this organized and calm and easy set of operations. You kind of feel like you can sit back in the commander chair and kind of code with a feeling of safety. It kind of makes things look easy. But as a developer, you should really have detailed knowledge of how Ember and the underlying technology works, so you can really take advantage of it. And now that we know a bit more about the memory lifecycle, we can start to utilize a few basic JavaScript best practices for letting the garbage collector do its thing. So Ember has a lot of built-in functionality that allows us to focus less on boilerplate JavaScript and more on solving real-world problems. But having built-in events and being able to use the run loop and even lifecycle hooks help make our applications more efficient and they provide great coding patterns and they save a lot of developer headache. But these examples and these components and their lifecycle hooks are only a very small few examples of how Ember helps simplify some of our common JavaScript. The big takeaway that I want you to have from this talk is that having this type of automatic management and helpful frameworks is really great for developers. But be mindful of the underlying technologies and write code that helps the browsers garbage collector collect. So if you have any questions I'll be around the conference the rest of this afternoon tomorrow. I also have built the example application that has the console logs similar to ones that have been in these examples that you saw with debuggers. So if anyone wants to pair and kind of dig into the run loop on some of these queues I'll be happy to hang out later this afternoon and also be posting to GitHub. I also have some big nerd range swag if anyone wants some. Other than that, thank you so much for coming.


Man rescues dog from ice realizes he made a huge mistake. Steven looks at the shivering pup wrapped up in the blanket and his heart aches with worry. He can feel the icy air hit his cheeks while he attempts to warm the dog up. This poor dog had been through a lot. First getting stranded on a frozen lake, then getting trapped underwater. Steven knew he had to help nurse this dog back to health. But there was just one problem. That was no dog wrapped up in Steven's blanket. Steven Smith had lived in Alaska his entire life, so he was used to the harsh and unpredictable weather. In fact, he didn't mind it. The snowy terrains and shivering temperatures were the perfect accompaniments to a cozy night in. But Steven had no idea what was coming to him when he set off one day to go fishing on a frozen lake. Nothing could have prepared him for what he would find. With it being summer in Alaska, on a warm Sunday afternoon, Steven decided to go a couple of miles south of his town to go fish in the nearby lake. You see, the ice that covered the lake was thin enough to fish. But this budding fisherman had no idea what he was about to uncover. Ever since he was 10 years old, Steven had loved to fish. His grandfather, a highly renowned fisherman, first taught him, and since then he became hooked on the hobby. Armed with all of his grandfather's knowledge, Steven spent long afternoons out on the lake. It was the perfect place for him to gather his thoughts. But little did Steven know his next trip to the lake would be a lot different. Unfortunately, Steven's grandfather wasn't here anymore, but that didn't stop Steven from carrying on his fishing legacy. But despite all that his grandfather taught him, Steven wasn't at all prepared for what he would find waiting for him on the frozen lake, one Sunday afternoon. Steven arrived at the lake and inhaled the fresh air. His eye scanned across the frozen lake and flashbacks of his grandfather came folding back. He sure did miss him. He wandered on the frozen lake, but little did he know he was soon about to regret this decision. Steven slowly sets his feet on the lake and starts to set up. Just as he opened his backpack, he saw something in the corner of the eye. He turned around and what he saw before him stopped in cold. It was a dog and it was standing on the lake, about half a mile from Steven. What was this dog doing here? Steven looked around but couldn't seem to find an owner. Then suddenly, without a second to waste, the ice covering the lake cracked and the dog fell under. Steven saw the dog go under and his heart stopped. As carefully and quickly as he could he raced over to the hole in the lake. He could feel the icy air pierce his cheeks as he got closer to the hole. With every step he lunged forward, Steven prayed he wasn't too late.  He flung the dog on his back and headed back to shore. Steven then quickly wrapped the shivering pup up in a blanket. But as he looked at the dog in the blanket, a terrible feeling hit the pit of his stomach. Steven noticed that the dog was large and covered in thick, bushy fur. Its eyes were yellow and straight away Steven had a strange feeling creeping up his spine. Steven knew that he didn't have to time sit and admire this pup's coat. Time was running out. Steven carried the wrapped up dog back to his home and laid the freezing pup inside his car. He rang his local animal center and they told him to come straight away. Steven quickly hopped into the driver's seat and raced over the center. He looked in the back seat and saw the shivering pup. This poor dog had been through a lot. But there was just one problem. That was no dog in the back seat of Steven's car. When Steven arrived at the animal center, immediately veterinarians whisked off the dog in an effort to restore its health. But when three veterinarians with decades of experience looked at the dog, they realized it was not a dog. In fact, they didn't know what it was. With the veterinarians feeling both confused and eager to find out the truth, they knew they had to bring in an expert. Somebody who could hopefully fill in the blanks in this mind-boggling story. This expert was Mike Jones, and as soon as he saw the dog he knew exactly what they were dealing with. But nobody ever could have expected the answer. This animal was in fact a wolf. It seemed the ice cold waters had somewhat sedated the wolf, which is why it was so lifeless and not guarded when Steven rescued it. But when the veterinarians realized that the animal they had just taken in was a wolf and not a dog, they had a terrible feeling hit the pits of their stomachs. Especially when they realized they had forgotten to lock its door. Quickly, the team ran over to the wolf's room but to their relief, it was fast asleep. The team knew they couldn't just kick the animal out, but at the same time, the center was no place for a wild animal. How long would it take for his wolf to grow into its natural and killer instincts? The team quickly and safely nursed the wolf back to health. Once the wolf was in a tip-top state, they released the wolf back into the wild. It was a risk but the team knew it was for the best. They even had a handy device that would allow the vets to track the wolf and ensure he was safe, a GPS collar. But when it came to releasing the wolf, how would it react? When the vet team, Steven included, set the wolf free they watched it sprint off into the hills and mountains without a care in the world. Steven watched the wolf and he could feel a lump in his throat. He was happy the little guy was back safe and sound. Not so bad for a day of fishing, right?