Alright, Jeff here. We are here at the California Classico. The game is underway. Dave and the team put on quite a festivities pregame and I'm joined here by Team Fast Track. They jumped out of perfectly good airplanes, came down from the heavens with flags and banners and all kinds of fun stuff. But really why we've got them on is why we have everybody on the Cube talking about tech and how tech has changed our business. So first let's introduce we got Hollis Collins, right? Dan Paganini and David Hart. So David, welcome to the Cube. Happy to be here. Beautiful day. So great jump, a lot of excitement. I was concerned you guys were going to end up in Half Moon Bay. The wind looks like it was blowing up there. It was perfect actually. We know what we're doing. Dan probably has the biggest flag so he's got the toughest job but he's gonna weight us. So tell us how long you've been doing this, how many jumps you guys do a year? Tell us a little bit about the company. Our team has been around since 2002. We're the largest commercial skydiving team in the world. We do between 200 and 300 shows a year. NASCAR, professional ball sports, air shows. Feel a lot of wounded warrior support and we're just proud to be a part of that. And how big is the company? How's the breakdown between jumpers, support, admin, that kind of stuff? That's a great point. So almost everybody that's part of the team supports the team in other ways administratively too. So every demo that we do we have a ground crew. There's some other ground crews here as well. We have pilot center ball and tons of paperwork to do something like this. A lot of planning. A lot of permissions I assume. But let's go out to the fun stuff. So you said you're doing something new now on the technology side. Tell us about what you guys did. So we came in with a brand new state of the art air to ground video system that wired into our team owner, John Hart. And he came down and it was broadcast to the Jumbotron in the stadium. And I didn't see it myself. I'm told it worked out great. And we're really excited to have it as part of our our fan experience. And how long have you been doing that? Well that that air to ground is a brand new thing for us. We just started doing that and we're offering it to our clients as they add a benefit to using team fast tracks. Of course GoPro's are popular now. So we've been, everybody on the team wears GoPro's almost. And document everything. But yeah, the ground to air thing appears to be something that's going to be very popular. That's awesome. And what is the magnitude? How complicated, expensive, what's that piece of equipment? Or is it just kind of a repackaging of stuff that existed before? No, you know, I think we took an existing technology and modified it to work for Scott Evers. And of course, our team owner John Hart likes to do things. Top shelf. So he kind of went over the top. And we have some really nice but I don't know what it costs us. But it's nice. All right. Well, that's great. Well, thanks for coming on. Safe jumping. We love the show. Hopefully we'll see you guys at Levi's Stadium. Because as you know, the earthquakes are going to open up Levi's and then maybe at a Niner game after that. All right, the team for fast tracks. Things are happening down there. We're at the Cube. We'll talk to you later.


Thank you everyone for showing up for the last session of the conference. It's been an awesome conference. I'm Anna Martelli Ravenscroft and I am a Pythonista. I'm a PSF fellow. I am not a programmer. I use Python to get stuff done and I studied cognitive science at Stanford. Let me move that over there so I can actually see. So I want to talk today a bit about our brains. Our brains are very clever. They're very good at doing things, but they're also very lazy. They want to reduce the cognitive load. And so if you've seen any of my previous talks, our brains do a lot of little tricks using heuristics and things to reduce how much work they have to do. This can be awesome and it can cause some problems. So our brains use heuristics. They do automatic pattern matching and they fill in the blanks, which is great except when it's a problem. So for example, lots of fluffy white puppies.  That's a fluffy white puppy. Except sometimes it's a cat. So we have these gotchas, these pitfalls. We see patterns where they don't exist. Am I too close to this? There, let's try that. Is that better? Okay, we see patterns where they don't exist. That's where superstitions come from. We have faulty reasoning. This is why we keep having to remind people that correlation does not equal causation. We do stereotyping. We build patterns about groups of people and then apply those patterns to individuals and sometimes those assumptions based on those patterns are faulty. So speaking of patterns, let's look at some computers and programmers because we're here at a programming conference. This is Ada Lovelace. She wrote the first computer program. She was working with Charles Babbage on his different sentient and she wrote a program using his computer to calculate Bernoulli numbers. Moving forward 50 years, how many computers do you see in this room? I've circled them. Human computers were the thing back when these were women were working at the observatory, helping to do computations for astronomers. Even in World War II, women were human computers doing all the computations. And then by the end of World War II, they were building electronic computers. Now, how many programmers do you see in this picture? Women were the first programmers. They took the hardware diagrams, the circuit diagrams, and figured out from there how to actually program the computers. Also in Bletchley Park, they were doing the same thing.  And you'll notice that not all of them were white. This was before the civil rights movement in the US and they were still hiring women of color because they needed human computers to do the computation, which is great. How many people have seen the movie Hidden Figures? Okay. If you haven't, it's an awesome movie. Go see it. This is the protagonist. Catherine Johnson was a human computer at NASA and John Glenn asked her to redo all of the computations that they had done on the electronic computer because he didn't trust that new fangled gadget. He wanted someone who knew how to do the mathematics before he would trust his life to it. So she has recently been awarded a Congressional Medal of Honor, I believe, for her work. So move forward to the 60s. Mary Ellen Wilkes wrote The Operating System for The Link, which was the first microcomputer in the home. It's the 70s. Adele Goldberg helped develop small talk. In the 70s, Elizabeth Feinler helped create Nick for the ARPANET. Frances Allen, an IBM Fellow and Touring Award winner, laid the groundwork for parallel computing. And of course, the amazing Grace Hopper. I'm sure we've all heard of Grace Hopper and she's the one who documented the first bug. They actually found a moth in the works. There's now a Grace Hopper celebration of women in computing, which you see thousands of women around you who are all into programming and other forms of technical stuff. These four ladies are Italian women working on the LIGO project that helped develop, helped to detect gravitational waves with Python. This year we got to hear an awesome talk from Valeria, who told us how we're using Python in cosmology. Marlena, I met at PyCon Italia. She's the founder of ZimboPy and an awesome lady. And then there's my friend Kay. Kay is a scientist. Kay designs and builds lasers. Why do I bring up Kay? What do you ask someone you meet at a technical conference like PyCon? Where do you work? What's your favorite programming language? What's your favorite library? What do you do with Python? How do you use Python? What do you ask a woman that you meet at a technical conference like PyCon or EuroPython? Are you a programmer? Are you here with your husband?  Women don't fit the pattern. Of programmer that we've built in our brains. Now my friend Kay is a scientist. If you ask her, are you a programmer? She'd say no. But if you ask her, do you use Python? She uses Python, numpy, matplotlib all the time. In fact, she could probably run circles around most of the people in this room with those packages that she uses for her work. So is she a Pythonista? I'd say yes. So yes, this talk actually is about cognitive biases. So remember the fluffy white puppies? They're all so cute.  I have two dogs, one cat and eight chickens.  If they look less like this, level of diversity and more like this, your brains are going to build a pattern based on that saying this is what a programmer looks like. Our brains pattern match automatically.   It's how our brains work. And so if this is your pattern of what a programmer looks like, when you see a billboard like this with a platform engineer quote, you don't expect to see this as the picture of the engineer. In fact, there was so much pushback on this picture that she created a hashtag, I look like an engineer because people needed to be reminded that engineers look like a lot of different things. So when you ask, are you a programmer of a woman at a conference? That's cognitive bias at work. And you might be objecting, I'm less biased than most people. I'm too smart to be biased. We only care about performance. We're a meritocracy. There's something called the bias blind spot. Studies have shown that we're less likely to be aware of our own biases than those of others. And intelligence, because we're all really smart people, intelligence is uncorrelated with how high your bias blind spot is or how aware you are of your own biases. And people with a high bias blind spot take less advice from others and learn less from anti-bias training. There's a lot more cognitive biases out there. Confirmation bias is a big one. It's a tendency for people to want to prove that they're right. That their preconceptions are right. There's in-group bias where we want to favor people who are members of our own group. We tend to think that others will think like us, will have the same priorities. This is why we run into problems if we don't actually talk to real users when we're creating products. Because we think, oh, well, I know what they need. Maybe you do. Maybe you don't. But you may simply be projecting your own beliefs onto them. There's selective perception. There's status quo bias. There's a lot of biases. These are just a few. So confirmation bias, here's a test that they give for confirmation bias. The rule is if the card has a vowel on one side, then it must have an even number on the other side. So what two cards do you turn over to test the rule? Obviously you're going to turn over card A, the card with the A on it, to see if there's an even number on the other side. But which other cards are you going to turn over? The four or the seven? How many say the four? Yeah, you guys already know this. How many say the seven? If you, a lot of people who haven't been warned about confirmation bias will say, oh, we have to turn over the four because we want to prove the rule is right. Now as programmers, we know that if we only test to prove that our program is right and works right with the expected input, that we're going to have problems. And so we test for edge cases. We try to break the program. And so we've learned over time, people have taught us and we've learned the hard way sometimes to test for breakage, to try and disprove that it's right. Now about that performance, we only care about performance. This shows up in universities, in orchestras, in a lot of places that you would think of as being very focused on diversity, very liberal, very wanting to be unbiased. They gave a study, they had a study for university hiring committees, where they sent identical resumes out to different committees. Some of them had women's names and some of them had male names. And they found out that resumes with women's names were dodged much more critically even by the women than the resumes with men's names. And these are people who really want to be unbiased, but this subconsciously was happening to them too. An orchestra was trying to increase the diversity of its membership. They knew that women and people of color were just as talented, but they were having trouble with hiring people. And so they said, we'll do blind auditions. So they put up a screen so that they could not see the performer when they came in and so they could judge only on their skills. This increased the number of people of color who got given offers to join the orchestra. But not so much the women. Why? What do women wear on their feet when they're dressed up? High heels. And musicians of course could hear that this person was walking in high heels. And just that was enough of a clue that this was a woman and they judged their performance more critically. And so they put down a carpet so that they couldn't hear the person walk in. And suddenly women were being offered positions at the same level as the men. How does this happen? Let me sum up. When you, this is what you use to build your model of a programmer. This is, doesn't fit the model. And so your brain is going to stereotype and say, this person doesn't match the pattern and look for proof of the pattern that you already have. And so why doesn't this person match? Why doesn't this person belong here? You're going to try and prove that. You're going to be more critical of errors and weaknesses. You're going to give less credit to strengths and abilities. You will perceive them different. This isn't conscious. This is subconscious. This is at a perceptual level. It's how our brains work. It's not, we're bad people. It's just, we're humans. This is how our brains work. So cognitive bias is getting in the way of our meritocracy. So how do we overcome it? With awareness and conscious effort. I'm making you aware here of some of these cognitive biases, but that you still need to put in the effort to overcome them, to short circuit them, and to change those mental models that you've built up. Welcome and mentor new Pythonistas. Reach out to marginalized groups. Actively work to bring in marginalized programmers and Pythonistas. To conferences and user groups. Your Python, I think, has done a really good job at this. Get organizations to sponsor people who aren't like you to attend conferences. To speak at conferences. Actively challenge the patterns you've subconsciously built up by offering your brain new and varied input. When you're hiring, avoid gendered ads. There's an app for that. To change the, I believe these are English only, but there are apps out there that will help you look at how you've phrased your ads to make sure that you're not turning away women and other people from submitting resumes. Use blind resumes where possible. Remove the name because that's a clue to gender. And often to ethnicity. Remove universities and other clues to group membership. Do you really, really care whether this person got their skills from a CS degree? Or do you really care about their skills? Whether it came from a boot camp? Or wherever? Or self-taught? We all know awesome programmers who are self-taught. Focus more on skills than culture fit. Culture fit tends to fall into the in-group bias. We're going to give more leeway to people who are already part of our own group. Use technology like gap jumpers to do blind auditions to find out what kind of skills this person has before you bring them in to interview them. And when you're interviewing them face-to-face, short-circuit the cognitive bias by looking first for reasons too higher.  So focus on reasons you want to hire this person. Actively look for strengths and abilities from these people. And watch out for imposter syndrome. If your candidate is saying, oh, well, that was a team effort. Or, I got lucky. That's probably imposter syndrome talking. And they're going to downplay their accomplishments. So take that into account when you're evaluating them. At conferences like EuroPython, PyCon, and your user groups and meet-ups, look for people who are not like you. People who don't fit the stereotypes. Listen to them. Presume they're smart, just as smart and technical as you are. Believe them when they share their experiences. Look for things you have in common and their strengths and abilities.  Listen to them and their strengths and abilities. At a technical conference, presume everyone you meet there is a programmer. Or does some programming. If you're at a Python conference, everyone here is a Pythonista until you're told otherwise.  Instead, ask, what kind of programming do you do? How do you use Python? For any other question, you would ask someone who you already assume is a programmer. And you may find out that that person is a lot more like you than you expected. And you may learn about niche uses of Python that you didn't know about. I've talked to people who have done all of these different things with Python, being squirrel deterrence, working together to overcome the stereotypes and other cognitive biases. We all get that much closer to actually achieving a true meritocracy and making the Python community and maybe the world better. Because after all, Python is going to save the world. I don't know how, but it will. And I guess I talked really fast, because sometimes this takes longer. So I'm open for questions. I timed this last night in my hotel and it took longer. Questions? We have time for quite a few questions, so let's get... Any questions? I'll start, close. Just curious to hear your opinion about the gender pay gap. About what? The gender pay gap that women receive lower salaries than men. We all know that. In your opinion, and I really appreciate what I just learned here, and I would like to know how do you look at it and how do you see a potential improvement in that? So gender pay gap exists. There's been plenty of studies about it. Some of the things... There's a whole variety of things involved with it. Everything from women not negotiating the same as men do when they start a new job, not being willing to ask for raises as much as men do. And sometimes there is subconscious bias in the people who are making decisions about pay raises. So one of the things that you can do is to... If someone is at the same level and doing the same work, go through and use programming to start looking for those gaps and trying to close them. If they're getting the same level of meat exceeds or whatever evaluations, then they should be at the same level because they're other people who are working at that same level as far as pay. So I'm not going there. Other questions? Thank you for the presentation, first of all. And is there any way to rebuild this part in our brains or how long will it take? For instance, I got lucky in my team we have like 40% women and they're core developers and they're really hardcore, but I still have the stereotype that men are just better. And I know that stereotype. So is there a way to undo this learning? So if you're talking about undoing the mental models we have of what a programmer is, like I said, the best way is to keep challenging it with meeting more people who don't fit the model and getting to know them as people. That helps a lot. Any women here and men are also welcome who haven't been to Grace Hopper Women in Computing. It is an amazing conference and it can really help especially women to overcome that feeling that I don't really belong in tech because you're surrounded by 3,000 women in tech and it's great. It really helps to overcome that subconscious bias that we have as well because we're raised in the same culture and so we need to overcome it just as much as our men peers do. So that can help a lot. And just seeking out other people, women, people of color, people who aren't like you and saying, hey, let's talk about Python or let's talk about programming or whatever and it really helps to change how you view things. One of the things that I ran into, it's not just color or gender, it's also disabilities, things like that. I worked at a history of medicine library when I was younger and this woman came in and was speaking very, very slowly and so I was feeling kind of dismissive about her as being, well, okay, so she's not so bright. Turns out, because I equate fluency of speaking with intelligence, or I did at that time and I found out she was working on her PhD in muscular dystrophy, which she had, which was why she was speaking so very slowly and the woman was brilliant. I just hadn't personally encountered someone with this and challenged my own mental models of intelligence and verbal fluency.  Now, if anyone here is wondering why do we want more diversity, I've got a talk called Diversity as a Dependency that you can look up on YouTube, but I'm assuming everyone here has already gotten past that part, but if you do want to review it, you're welcome to look that up. Other questions? Yes. So in the beginning of your talk, you said a couple of times that these individuals helped compute and those individuals helped create. I kept wondering why not just say that they computed and created. Is it some kind of third person, perhaps imposter syndrome if such a thing exists as imposter syndrome in the third person? Okay, sorry. It's really hard to hear in here. The question is about imposter syndrome. I was having trouble hearing. Perhaps if there was a bit of an imposter syndrome in your presentation as well, in the beginning when you described those women as those who helped create and helped compute as opposed to created and computed? Actually, the women that I mentioned who helped create were co-creators. Grace Hopper created certain things and discovered certain things, but the women I mentioned as helped create were actually co-creators. But I could be... I know that I suffer from imposter syndrome, so it's always good to point things out like that. Thank you. Thank you. That was extremely interesting. You said earlier on in your talk that there is no correlation between intelligence and the propensity to fall victim to blind spots. So why doesn't our definition or our conception of intelligence include this what seems to be quite an important cognitive ability not to fall victim to blind spots? The study that I'm mentioning is actually fairly recent, and so people are still figuring this stuff out. But emotional intelligence and things like that, social intelligence, are different from cognitive intelligence. That's part of it, but it's possible that we all fall into these things just because this is how our brains are made. And so there are orthogonal axes. They're not connected. Whether you have a bias-blind spot and you're really, really intelligent, they're completely uncorrelated. That's what they found in the studies. I'm just wondering why they don't want to redefine intelligence so that it is incorporated. It seems that that's not... You'd have to look at the study and see how they decided that. Actually, I'm thinking that any redefinition of intelligence that says Isaac Newton, the greatest genius ever lived, was not intelligent would fail my definition of what's a word for. He had enormous biases. Nevertheless, he created modern science. How do you weigh those? Anyway, sorry. My question was about anonymizing university references in curriculum. Suppose your company gets 5 to 10 million resumes a year. You can, with great effort, asking your people to spend a lot of time interviewing, you can interview about 200,000, maybe 300,000. As it happens, one of the criteria used to pick those 300,000 out of 6 million is we'd rather hire other things equal, we'd rather hire somebody graduated from Stanford like you than somebody whose theoretical knowledge comes from a two-months course or boot camp. Would it be better to go at random? And that's what we would be doing if we deleted since we can only interview a tiny fraction of the huge number of resumes sent to us. I agree that it's a hard problem. And I agree that having a degree from a certain university may mean something, but whether that's where they got their skills in programming from may or may not be relevant to how they do their job. So, for example, someone with a degree in music or art or psychology from Stanford who went to a boot camp to learn how to program, are they better or worse than someone who got a CS degree from Iowa University? I don't know, but you would have to look at their actual skills. And so one of the problems that you run into, as you mentioned, you saw the keynote yesterday from the woman who talked about the many paths that we follow to get to programming. Women tend to get into programming through various paths rather than through, okay, I started programming in high school and then I go to computer science and then I go get my job. Women tend to take a more circuitous path. And so if you're going for people who got a CS degree at a university, you're going to, just by that criteria, weed out a lot more women than men simply because of the way that women get into technology. So that's a problem that you'll have to decide how you're going to address. I can't tell you how to address it other than to say be aware of it and think about what kinds of ways you can look to change things a little bit. Just shout. If you haven't gone to the despicable machines talk yesterday, you should see the video of it because that actually is something that they ran into is problems with machine learning. Because of the corpus that they use, they came up with results that were not unbiased. And so we need to be aware of that as an issue that our machines, our results from our machine learning is only as good as what we put into it for training data. And a lot of the training data is going to be biased. If it's from news sources, it's going to be biased. If it's from prison records, it's going to be biased. So being aware of that and figuring out how you're going to address it is above my pay level. It is hard for us to recognize some of these things. And so sometimes you need to have someone else look at your data who comes from a different perspective and who may be able to see things that you don't. Having people from different perspectives really does help a lot because they are not going to be... Well, it's like any kind of testing. You want someone testing your results or your programming who wasn't deeply into the problem. Because when you're deep into the problem and busy programming or developing or whatever, you're so deep into it that you've got all of your mental model there of how this should look, what this really means. So you have all these expectations already built in. You're not going to see the problems. You're not going to see what's going on.  And I know that open source is awesome for programming because, as Eric Raymond said, with enough eyeballs, all bugs are shallow. Maybe we need more eyeballs on these programs that we use and the results that we're getting to make sure that they're not coming up with biased results before we use them to do decision-making about people. Other questions or are we out of time? We still have time. We can probably do another question. So, as you can see, I am a woman of color. So what can I do to help other people overcome this cognitive bias? You can give talks. Seriously, women don't submit talks enough to conferences. We self-select out and I've heard the excuses, oh, I don't know enough about such and such. I didn't write the book on it, therefore I don't know enough to give a talk on it. Where I've seen issues, where someone who, oh, hey, I learned about this thing and used it once so I can give a talk on it. Women need to be more like that sometimes. We need to be out there giving talks, technical talks, not just my psych talks, showing that we are part of the technical community and valid members. And when someone does come up to us and say, are you a programmer? Yes, are you? And just say yes and I use Python in this way and that way and engage them in a conversation and help them realize that, okay, well maybe that was not a useful question and help them understand that there are better questions out there that they could be asking. And the more that we get to know each other as people, I think that will help a lot. Other questions? Yeah, thanks very much for the great talk. You mentioned removing names and genders from CVs to prevent selection bias before, like when you see someone's CV. I'm wondering a lot of the times you actually need to interview someone in person or via Skype or something. Do you have any tips short of asking all candidates to wear a paper bag on their head and speak through a Darth Vader voice changer how we can avoid this kind of bias when we're actually seeing them in person and asking them these questions? Okay, so once you've gotten to the interview point, you've already put them presumably through some level of skills testing. So you know that they've got some level of skills. If you haven't done that, maybe use gap jumpers or something like that to help you build ways to do testing to make sure that you know that they do have skills before they get as far as an interview. And then, like I mentioned, you can help to short circuit your own bias by looking for the strengths, looking actively for the abilities, for the skills, for the reasons too higher. Because you're automatically already going to be figuring out all the reasons not to, but focus on looking on the reasons too higher this person on why they are a good candidate. And that will help you to kind of get beyond that hyper-criticality that we have when we see someone who doesn't fit the model. Okay, I think that's all the time we have for questions now. So yeah, thank you, Anna. That was really good. Thank you.


I don't have to be sane to make it in this life, especially poets. In fact, well, in fact, I wrote this poem called My Head is a Refrigerator. My head is a refrigerator. It homes all night long and makes ice. It has a special compartment near the bottom where I keep my baloney fresh. I use magnets to keep it covered with important messages. There's a jar of orange marmalade inside that none of you will ever eat. It's plugged in and running all the time, but the door is usually shut. When you look inside, the light goes on. The really cold part has its own separate door. I shift the frosting more often, but I don't. Lots of things fall behind it and are never seen again. It takes a fly two hours to die if it gets caught inside. I know. It's Austin and Grant Smiles. Hello, everyone. Introducing everyone else that I have up here with me, I'm Austin Smiles. This is my older brother, Grant Smiles. This is Brooke Jackson over here. She's a senior here at Bosun High School like me. Tyler Saunders over here on the guitar. He's a BHS alumni, and that's Carl Swanson over there. Com, com, com. This is a song that I wrote. It's called President's Day. I don't really know how loud my voice is going to be coming out through these things with all of this, so I don't know where's the gauge to raise and lower this microphone for the speakers. For volume? Yeah, in case it's too loud or too quiet, in case it won't make me awesome. Don't know. All right, sounds good. If I'm too loud, tell me to pull the microphone away. If I'm too quiet, thank you. Anyway, this song is called President's Day. Now it dates kids around my age. Like something that's concerning and that... Learning how to learn is a privilege. Kids that did job free education for lack of better words are idiots. The way to take them back in their actions is already yoddy. I don't know why it is. I just feel so compelled to stop it. The cycles don't change your mind. You're what's something that creates freedom. You must come and quit. Let's watch them down. Also break the rents is bliss. Also break the rents is bliss. And all the life and return you planned for the debt. It was a pleasure to see you.


It's now grilling season in Canada so I'm going to show you how to make my favorite Portobello mushroom pizzas. I'm starting with brushing olive oil on the Portobello mushroom caps and putting them on the grill for three to four minutes each side until they're browned. I'm then adding some of my favorite pizza sauce inside the Portobello mushrooms along with sautéed spinach, garlic, and topping them with my favorite vegan feta. Don't they look fantastic? I'm then placing them back on the grill for about 12 minutes or so. I'm making flatbread pizzas with the Portobello mushrooms on top at the same time by the way and I'm just adding this covering over it so the cheese melts pretty quickly and there you go.


Welcome to one source to rule them all. We want it all. It's not uncommon that we, and the decision makers really, want it all. In a world of applications, we want both a web presence and a native mobile presence. What we don't want is to maintain competing parallel code bases. What this leads to is a tug of war between wanting to maintain only one source code versus our app having a home everywhere that our users are found. So who am I? Well, I'm a KiltWearing coder. My name is John Iswicky. I like to call myself your friendly neighborhood kilter coder.  I'm a husband, a father, currently a mini farmer. I love Pathfinder, which is tabletop RPG, cooking, and the Disney parks, which I live in Florida, so it works out convenient for me. I'm also tech-leaded Disney streaming. I build software to help support the media processing for Disney+, but I'm also very passionate about native script, which is why I'm giving this talk today. We're gonna forge one source, and it's gonna be forged in JavaScript. You might notice some veiled references to a certain movie that involves some hobbits, a dwarf, an elf. You might notice parallels there. So what are we gonna do today? Well, we're gonna talk about what do we want. Then we're gonna go on to what is native script. Native script's gonna be the key here on how we're gonna get to this end goal of one source. We're gonna talk about how do we share code because we said that's what part of what we want is to share code, and then we're gonna look explicitly at Xplot, which is one of the solutions you can have for sharing code. So let's touch again on what do we want. So we want both a web and a native application. That is the goal of what we wanna get to here. And we want code reuse. If we make a really cool avatar selector, we wanna be able to use it on web and on native, and we wanna have that same experience for our users, especially if it's really cool. What we don't want is to have multiple separate projects. And sometimes as front end developers, we just wanna get to play with native without the overhead of learning another language. We wanna use the tools that we already have, and that's where native script comes into play. So what is native script? Native script is an open source framework designed to empower a JavaScript with native APIs. It allows you to choose the flavor that you already love. Do you wanna code in JavaScript? Maybe you like types in TypeScript. I know I do. Do you like your framework of Angular? Do you prefer to use Ionic or View or React or even Svelte? Guess what? All of these can be used with native script. So all of these can be used to develop a native application and using the JavaScript tools that you are used to using. Everything you need to find out about native script can be found on nativescript.org. That is your home to start with. So native script gives you native performance. It is very extensible. It's very easy to pull in new things in the native script to new native experiences. It allows you to develop with what you already know as we talk about all those things you can use. It's cross-platform. So it works for both Android and iOS. It is free and open source and it has a strong backing. Native script is actually an incubating project under the OpenJS Foundation, which means they are in the process of completing their onboarding to fully join the foundation. So it's got the backing here of OpenJS. Native script layer. So the way this works is, what we're gonna see here, we're gonna write our app logic in Angular. So the UI will have an HTML like syntax to generate that native UI and we'll style it with CSS. So how are we gonna share our code? So in Angular, a component has a TypeScript class, an HTML template, and a style sheet. In native script with Angular, you have a component that has a TypeScript class and an HTML like syntax template and a style sheet. I think you see where we're going here. So if all these things were the same, you could easily just have two HTML files and two style sheets in the same JavaScript code if everything was the same and they would be able to be able to reuse. We're gonna go steps beyond there because that's not quite what we want. So let's look at some of the fundamental lessons of good code sharing. So these are from the native script TSC, Technical Steering Committee. So a lot of words here to keep it brief. This is their first lesson learned. Really what this is, it's about making devs lives easier. Share now and easily and maintain and scale easily later. Number two is to use existing tooling. We don't wanna integrate with something new tooling just to be able to do this code sharing. We wanna use the tooling we already have. Number three, what this really boils down to is we don't wanna add new extensions or structures just for the sake of sharing. So we shouldn't have a new file extension we need just to be able to share. We're using HTML, it should be .html. We also wanna follow good standards for code organization. We don't wanna add extra layers just because it's what makes sharing work. Those extra layers are okay if they're going to be for the purposes of actually organizing our code in a way that makes sense. Number four, this really comes down to, it will boil down to, it's easy to identify and distribute separately. So it's easy to know shared code from non-shared code and it's easy to know what you're gonna do and how you're gonna separate and what's gonna be deployed if you're deploying your native app versus your web. And finally number five is to use fundamental JavaScript and TypeScript sharing approaches. So there are already inherently ways to do that in JavaScript and TypeScript so we should use those in our approach. So from this, there are some recommended solutions. The first one is Narwhal NX DevTools with native script NX. This is center round JavaScript and TypeScript which means it meets lessons one and five. It uses standard build tooling which means meets lesson two. There's no custom file extensions so meets lesson three. And NX splits into apps and libs to identify targets that consume shared code. So you have your apps for these or your individual applications for web and native. And then you have your libs for your shared code so that's lesson four. It's easy to tell what is shared and what's not. In general NX practices can have a little bit of a learning curve if you're not used to using them but once you do get over that everything else is just what you already need to know. Second is the one that we'll talk more about afterwards is Narwhal NX DevTools but with NStudio XPLAT. So this is center round JavaScript and TypeScript. They use a standard build tooling. There's no custom file extensions and because NX it's built on top of NX it uses that same splitting between apps and libs to identify the targets. So this meets all five real lessons. What it does is this builds on top of NX to scale across more paradigms and it provides an opinionated architecture provided by XPLAT to help avoid common pitfalls that are learned from cross-platform development. This is developed by NStudio has done a lot of development in NX and a lot of shared development. So these are opinionated as much as Angular is way to do it but for some of the common pitfalls they've learned in doing exactly what we want to do here today. This is why this is my method of choice that I use. Next, another option is yarn workspaces. So this is center round JavaScript and TypeScript. Uses standard build tooling and no custom file extensions. Unfortunately this doesn't meet lesson four. You can share in link dependencies but you're kind of on your own for organizational structure. There's no out of the box deployment and distribution for app targets versus shared code. This is more geared towards open source library management but if you're already using yarn workspaces this can be a good solution for you and your team. And the last recommended one is Lerna. So this is center on JavaScript and TypeScript. Uses standard build tooling no custom file extensions but again we're missing lesson four. This is a tool for managing JavaScript projects with multiple packages. Again you're on your own for organizational structure and there's no out of the box deployment distribution for app targets versus shared code. There's no more geared towards open source library management with no extra helpful tooling for workspace management but again if you're using Lerna already this could be a very good option for you. Let's talk through Xplot because it's what I use. Xplot is cross platform tools for NX workspaces. Xplot is an added value pack for NX to provide app generators and optional supporting architecture. It supports various platforms including NativeScript, Web, Ionic and also Electron. So first to get set up you're going to need to set up your NativeScript. So you can find anything you need to do here about docs.nativescript.org. We're not going to walk through all this. First you're going to have to have Node which means you might want NVM or your own manager of choice. You're going to need the NativeScript CLI to build NativeScript and then you're going to need your app environment. If you want to develop for Android you're going to need Android Studio and JDK if you're going to develop for Mac. For iOS you're going to need Xcode, for you exactly what to install, what commands to run so it's very, very good documentation on how to get set up and running. I can vouch that it's pretty easy to do because I had to recently reset up my new machine for this and it was no problem at all. Then you need to start with creating an NX workspace. You're going to use npx create NX workspace. This will set up your workspace with all the base structure that you need. NX creates you a suite of powerful and extendable dev tools to build an architect at scale. So I encourage you to, if you want to learn more about NX, check out Narwhal NRWL. This is their tools, they're a great company and you can learn more about this there. Next you need to have your CLIs and Xplats. So you're going to install your Narwhal CLI which is used for NX. You're going to need to install the Xplat package. You're going to need to add that to this app and then you're going to generate your app. NX Generate app is going to set up individual apps you're going to build within this. When we want to generate an app, you're going to give it an app name. You're going to select the type of app to add and then it's going to generate the code. You can see here you have different options. Electron, Express, Ionic, NativeScript, Nest, Node, React, Web. All types here that you're going to see when you want to generate an app. So there's many benefits of using Xplat. First you get a robust structure for code sharing. This also makes it easier to take advantage of deeper platform integration. So when you want to use your web camera you can easily integrate how you do it on native versus how you're going to do it on the web. It's also built to support large complex code bases with sharing. So this allows you to build those very large scales application that can have a lot of dependencies and different pieces with it and code share them very easily. So it's definitely built for working at scale. NX is designed to be using a Monorepo. So if you look here, here's how it's going to break it down. This is not a talk about whether to use or not use Monorepo. This is built design that you can easily have a Monorepo. If you don't want to have a Monorepo, you can still use this. But this is all about sharing code across the entire integration for reuse and a single set of dependencies. So we're going to add multiple apps. You can see here I've added a native script app called Hobbit Fitness Pal and a web app called Hobbit Fitness Pal and it also adds this end-to-end for testing for me. You end up with this powerful code sharing structure. You get the individual apps by types and this is going to be all your shared code. So you're going to have your two places. You can see your Libs. This is all the shared code. And then within that we'll see that you can have native script and web shared as folders. But then you also have your actual apps. So you could have something that's shared for web that can be used in multiple web apps if you're going with a Monorepo here. You doesn't have to just be one native app and one web app and shared code. This can share across multiple applications. So generating code with XPlot is where we have the XPlot options. So we're going to look here if we ran help with generating a service here. This is going to tell us what our options are. So you give it a name. You can whether you're going to target this into the feature section. You can target what project is going to be on. What platforms. You want to skip some extra formatting files. The dry run which is what we'll write. I'll show you some here to see how they come out. Skipping NX Cache which is to avoid rebuilding the same code again and again so you can use NX Cloud. So you can use NX Cloud to build your apps without needing to build them locally. And then obviously we ran the help command here to show us what options are available. So let's create a shared service here. If we're going to generate it, we have NX Generate and then we specify at nstudio slash angular service. This will generate a service using the nstudio XPlot generators. And if we call it, we're going to name a track to do a dry run. This will generate as you can see a service inside of Libs XPlot Core. So this is where your shared services will go. In your shared code base under XPlot and this is a core because it's a service it's going to be the single term. So we're going to do that and generate create our own service called track overview service for our fake application here. All it's going to do here is have a function that is going to get and return an observable of these track options which is just some mock data on our code that's going to return this data back. Let's look at something a little more complex and generate a component in XPlot. First we're going to look at using the platform flag. So here we're going to generate a component and we're going to use platform's web and native script with the flag of create base true. This is going to create a shared component for the platform web and for the platform native script and it's going to also create a base component that they're going to use. So we have Libs XPlot features where this base component lives. Then we're going to have in XPlot web and XPlot native script we're going to have a meal list component HTML and TypeScript. So this is going to generate them for the platform. So this is saying hey create me a component that is for the web and for native script that will share a base component. Next we're going to generate a component with the projects flag. Here we can specify that we want to create a component for the web Hobbit FitnessPal and the native script Hobbit FitnessPal projects for those actual apps. This will create in the apps web Hobbit FitnessPal and the apps native script Hobbit FitnessPal. It will create components and create their HTML and TypeScript files. You notice here we can't use the generate base component. There is no shared implementation but we can change that and we can have a lot out of the generators off the base. So here we have a home base component. This is our home component. It's always extending this base component. You see here we have a service that we're going to call. We're going to get those tracking overviews that we call. We're going to just put that into an observable that we're going to be able to use the async pipe on. Very very simple component. Very very simple TypeScript one called home base component. And then I created a home web component which extends the home base component. Nothing else to it. It doesn't need to do anything else. All it needs to do is get that data so we can display it. Displaying it is where it comes into place. So the home web component has its HTML file that we're going to see here our normal HTML and style with our Angular components here. So we see we have a component for the header padding. We have a paragraph with some text and then we have a part where we're going to loop through those tracking overviews with the async pipe and display something there and we're going to have a button at the bottom. Next we're going to create a native script home component. You notice it's the same as the web. We're expanding the base component and no other changes needed. The logic is the same. There's no different logic needed. All that this home component needs to do is get the data and display it. The displaying is different. So to display a native script we need to use native script template. So we said there's an HTML like syntax. So you can see here we have tags like we do in HTML but they have different needs. So one of the things you have to worry about a lot in native script development is the layout. So here you see we're using a doc layout to be able to doc something to the bottom and the top. Then we're going to use a grid layout for our button and we're going to put that at the bottom and then we're going to have a stack layout with the header and a label for the text that was our paragraph tag and then we're going to have a wrap layout which we're going to create labels for the other part. So this is generating a UI that's going to look almost exactly the same between the two of them is the goal here. They can be completely different they don't have to be anywhere close to the same. But we're generating something similar to the other one just in the different ways of doing it. Create the same experience. So getting things running is also quite easy. To run the web app you just run nx serve and give the name of the app you want to run. To run the native app again use nx run the name of the app and use colon which platform you run on iOS or Android and then it will bring that app up. So that's enough talking. Let's actually go ahead and see this in action. So you can see here we have two different apps up and running. We have our web app on the left and our mobile app on the right. You can see we have the same basic thing here. We have the name of the app, the text of ensuring you don't miss any important meals of the day because Hobbits eat a lot of times of the day so we need to make sure we are always eating our meals and tracking them so that we never miss. Because yes we had breakfast but did you have second breakfast? Did you have 11 Z's? Let's make sure of it. So what we're going to do is we're going to go here we have these are our two home components we created very similar and then we're going to go ahead and say okay we want to add. So if we want to add we've got to give the camera moment here to load and then we can put a picture up of what we had to eat give it a name and then capture the picture and then it'll tell us our meal is tracked remembered to stop before nightfall and we can go onward and it will track that meal. So that was using the code on the web to be able to access the web camera. On our native mobile app the way to access camera is different but if we go to track our app we have the same thing here we can add a name and then when we go to capture a meal that will go to access the camera unfortunately the iOS emulator doesn't allow me to access the camera right away so instead it acts the camera roll but you get that same prompt that you normally do of do you want to go to the camera do you want to have so we can go ahead and say we just pick a picture and then instead of putting that other message up there we can just use the dialogue native on the app and say hey pop me up a dialogue you know notification is going to say this is the message here's the okay message they click okay and then they can go ahead and route it back to the home so it's great because you can use those native integrations here but still have the shared code base of the same idea here we want to display these things we want to allow you to add a meal and have that meal has an image and it has text we can do a lot more with it we can make selections we can do other cool things here but this is just the basic idea of what we want to do here so how did we go about doing that so we had a we created a meal add base component which has this function to track a meal which knows how to call our track service with this meal object we're also going to give it access to the router server router for kind of that navigation that we saw so for the web when we're looking at this meal add we extend that meal add base component and for the web we do something a little different here so you can see here on the navigator we have navigator media devices and this is what we do to see that the camera is accessible and we're going to create these things to put the video in there so that preview that we saw here this is how we're going to get that there and I had already allowed the camera to be used but if the first time you come to this app it will actually prompt you do you want to allow the web camera and then I have this capture image function which basically is what's going to use that canvas native element to draw the image from the camera and then save it from there this is the process of how you can use your camera to take a picture on the web so this is my web way of let's take a picture from your web camera in order to save it for our meal now what this allows is then we can do the meal add component for the native script and here extend that same base meal that has that function to say track this meal but instead I can do it here with the native skip camera way and so we have this ability we have this requesting permissions to be able to use the camera to access the pictures and if we've already done that it will move along and otherwise you can have an error if they reject that okay you can't track a picture but you can just put the name in so you can handle it however you want to but the important part here is we have the same capture image function but instead this is going to call camera dot take picture which is going to give us back this and that's what's going to either you're selecting it from your files or you're going to take the picture from the camera and it's going to hand that back off to the service and then we're going to take that we're going to call that same track meal function so both of these have a text box that had the meal name that we captured and then takes this image and puts it with it and then we'll send that off to the track meal function that's from our base component and then here instead of the other one we show some text on the screen here we create some alert options and then we say dialogues dot alert to get that native alert so to look the way it is native on android and native on iOS to give you that what that alert should look like and pop up and then when they say okay there we're going to take it back to home which is where the router comes into play this gives you the basics to be able to create that one source so you can forge it now you have one source to rule them all one source to find them one source to bring them all and in the java script bind them so go forge your precious create your native app create your mobile app and combine that with your web app and share that code base you know this gives you that starting point of what you need to do and then it's up from there it's just up to your creativity on how you do this so many great things you can do there's other great talks here at the open js conference that are also on native script there's so many cool things you can do beyond this is just giving the basis this is giving you that framework and then you can just go and create from there and create your very cool angular web app that you want and your native script or you can also work in the script without anger remember all those other options are out there and allows you to work in what you are used to doing so as I said I am John as wiki you can find me online at Kilted code that is my twitter that's where you'll find me on github kiltedcode.github.io but this code will be available and the signs available on my twitter on the github you can find this code that I created up here and check it out and play with it yourself so thank you for your time


Hello everyone and welcome back to another exciting episode of Jurassic World Alive! Yes, yes, we have got some big news! As you can see, it is snowing on the ground in the app! Yes, maybe not where you are, in particular, especially not where I am yet, but you never know. We have so much stuff to go over because this new update, we're about to see what the new pass is in about nine hours, so there will probably be two videos up today, one covering that one and then one covering all the new creatures as well, which is this one. This one's basically going to be the main chunk of today's video, because we have new dinosaurs that have been added to the game. And not just, you know, maybe one, two, but we've got three and one, two, three, four, five, six. These dinosaurs aren't just regular dinosaurs. No, this thing is freaking Geminitus, an apex. That could be, I mean, its moveset has kind of been leaked out there, or not leaked, they've put it out there, and it looks like it might be a flock killer. So, out of all the dinosaurs, this one is probably most definitely going to be one you want to put on your team. You've also got this little, little cutie, the Spinosarotops, if you remember that, Camp Cretaceous. Remember? Am I getting non-flashbacks? Yes. Camp Cretaceous, we have this guy, I'm hoping that it at least looks like one of them from there, because there was two Spinosarotopses, there was like a white one, but they're both white with red eyes? I know one was. So it'd be interesting if they do that, because that would be quite a cool looking dinosaur, rather than it just looking like a green or a brown. Not only that, but you've got this freaking Halloween dinosaur, apparently they didn't release this for Halloween, this would have been the perfect thing to have released for Halloween with Indonemies. Maybe the original plan was, and that's why we're getting two Apexes instead of one, I don't know. Then you've got this freaking horrifying thing, which is made out of the, is it the Taegyo? Oh, Tragodistus, yes, that's it, but it's also made out of a level 20, level 20 red. The Atrociraptors have a lot of hybrids, because not only did you have that, but this one, the Pyrex, or the Pyrexies is made out of a level 20 ghost, so it's making these Atrociraptors highly coveted. Apparently, no matter, oh there we go, no matter how many times I click, it does not want to level itself up. Now I only have 5,000 DNA out of this, so I'm not expecting to make a level 20, but we may as well level them up and see just about where we can get to. Yeah, maybe we'll be able to get up on them, I'm really not too sure, but it's an exciting time now in the Jurassic franchise, because we're getting this update, and we're also getting in Jurassic World Evolution 2, the Malta update, which is adding maps that you haven't seen yet. I've got two videos on the channel, already one's like a species profile, which is really a video. The other one is analysing all the details we're going to get, as well as like the free update too. So we're level 18, we're going to make a couple of pops, definitely. But I'm not expecting enough to really warrant unlocking the Dinosaur, at least I don't think so, 750. To a level 20, there you go, ghost! Woo, 2,000, that's, I mean it's a lot, but when you consider it's 200 of pops, so we can only do 10 pops. And best case scenario, we may get 20 each, that's 200, I don't think so, and not only that, but we need a level 15. Power Raptor, and we go, oh god, here we go! Power Raptor as well, let's speed this up! Look at this, look at Power Raptor's jaw, right? Look at the bottom jaw, it goes, it's like, what happened, it goes, to the side! What happened there? Let's just watch it, it's like, it looks all normal, yeah, that's fine. And then, ah! Oh, oops, I spent a thousand DNA on that one, I really didn't need to, sweet, cool. Whoopsie-daisies, so we need a level 20 of this thing, oh, okay. Well, could have probably been able to do a times 20 thing to it there, but I've just wasted a thousand DNA from level 15 to level 16, so that was clever of me. Like I said, I mean this is welcome to, you know, Jurassic World alive, where you need dinosaurs that are certain levels, and you just aren't gonna get them, because they're made out of, or the new hybrids are made out of dinosaurs that haven't been around for too long, deliberately, so you can't, and you keep on playing it, which is a bit of a shame, I mean, I guess it's alright for certain parts of the game to be like that, you know, it's always nice to have an achievement to work towards, but, you know, I don't know, I don't think the whole game should be, yeah, it's like an uphill struggle, you're constantly looking at the mountain you're walking up towards, and you're never gonna get there, because it constantly shifts, it's brilliant. And there we go, a level 19, we are one level away, we, I mean, even with a thousand pyrruptid in it, I don't think we would have, you know, that's another five more pops, we wouldn't have got to level 20, even if I hadn't ever wasted that one thousand, but we're getting closer, we got this guy who's already level 30, but it's made out of things that are commonly and readily available. I wanna get this guy, because we have, I've got so much sinusoid, and I've got so much spinosaur gen two, if there's one dinosaur that I find out and about in the wilderness, or I find it randomly spawning, it's spino gen two, doesn't matter where I am, Japan, UK, God knows, I always find a spinosaur gen two, but spinosaur tops, I'm hoping that it's like lightish blue with red eyes, like a whitish grayish, that would look so good, I, come on, at least, oh there it is, a 50, we could probably get spinosaur tops at level, at level 20, however, it might have a hybrid, and that's why I can't see the other two, let's have a look, oh, it might do, oh yes it is, oh my god that is brilliant, yes, oh I love it, oh man, yes, oh, I think we'll take a screenshot, don't rate this, yes, oh my god I'm so happy, does it have a hybrid, no it doesn't, right, so heavy strike, cleanse, reduce damage, and vulnerability, target lowest, okay, brace, ooh it's a priority, so you cleanse yourself for whatever nerfs, oh sorry debuffs, so bleeding or anything like that, you heal 100%, 100% damage stat, what, I mean I'm assuming that's 100, right, you're bracing for a bigger, increase armor by 50%, lethal wound, oh my god okay, it's a 33%, it's the bad wound, it will kill you if you don't cleanse or swap out, instant rend, opponent with most positive effects, remove shields, inflicts 0.6, I mean you could brace, right, and give yourself armor, which you've already got 30%, so it says increase armor 50%, so it must be, you get 80% armor, right, what is this, swap in stunning strike, okay that's fine, and stunning obstruction, I'm used to stun, of course, I'm used to some damage reduction, I'm used to, what is going on, excuse me, excuse me, oh my god we need it, I want to get this thing to level 30 man, oh my god yeah, is it a waste of coin, maybe, but I don't care, 5,904, and again, again, do I need that much, maybe, will it get a hybrid in the future, maybe, but wow, oh wow I've run out of sinus aerotops DNA now, whoopsie daisies, well that was a 500 air pop, so we have 11,000 in it, it doesn't have anything to, you know, take on swarms, but who knows, well good I mean let's have a look, what, I mean what's, it speeds 180, it's not so bad, what is this good for taking on, is the question, it's not too great in indonemies, because indonemies can go for the cloak, and then just like max hit it and kill it, and go through all that armor, so bracing doesn't help there really, ah damn, the fact that it can't really take on swarms, and it can't really take on indonemies, even though indonemies isn't really seen too much, it's just not quite there for me, damn, damn, I thought it would have been, but actually looking at it realistically maybe it's not, it might be really good against other creatures, anyway, here we have it, Gemina Nidus, this is supposed to be, I've heard through the grapevine the killer of all flocks, maybe you do not need, you know, flocks in your team anymore, if you just have this, I mean one just to be safe, maybe a comptoraptor, scorpion, something like that, something pretty decent, but if it has an armor piercing, it hits all attack that does loads of damage, that's it, not even the scorpions would be safe from that, because last time we did the indonemies we very rarely got tens, it was mainly like 20s or higher, um, but we, I think we've got two tens there, so we're over a third of the way there, oooh, okay, okay, that'll do, that'll do, keep that going, Stegodus, I'm actually running out of what, we've got 100, oh 100 pop, heck yeah, 80s, 60s, 50s, 50s, 50s, 50s, oh a lot of 50s, very good, oh no, now we're running out of Gemina Nidus DNA, well you know what they say, a 50 pop, I don't know who says that, and in fact if they do say that to you, I've run for the hills really, uh, because they're not in their right mind, oh this is going to be interesting, Gemina Nidus, oooh, I'm excited, come on, just give me the 30s, just give me the, don't, don't do three tens, don't do that, come on, we've come this far, thank you, thank you Jam City, Ludi, I don't even know what to call you anymore, I should have, once you'd be like a backup, Gemina Nidus, here it is, the newest apex, oh yes, 6,600 health, 1,200 attack and 30% armor, but, let's have a look, oh he's got the beaker like a, uh, Snegasaur does, oh wow, all right, so slowing resilient, strike, so removes dodge, moves cloak, increases speed, and makes them vulnerable and reduces speed for 50%, so yeah that's very good, okay, the group disarming rampage, here we go, for flocks, it hits all of them, reduces their speed for 4 attacks, um, and 2 turns, reduces armor by 50%, so the thing is, I think the scorpions can cleanse themselves whenever they hit, so it's not so bad, shielding alert, here we go, now if you're, oooh, if you're threatened, then it goes through all armor, goes through all cloak and dodge, and hits everybody, that's kind of what Gemina Titan had, and hard and interesting, so it's not a priority, you can use it from turn 1, you cleanse yourself, increase your armor by 50% for 4 turns, and hold on, this is new piercing group counter, this is it, this is the float counter, so increases your armor 10% every time you'll hit, and your, and the attack goes through all dodge, or bypassing dodge, not cloak, doesn't say cloak, um, but hits all of them, wow, wow, ooh, damn, and it's immune to stun, which is good, it's immune to damage reduction by 50%, which is great, so the fact that it only says dodge is for comps or raptor, um, you will be like 50%, you know, it's gonna go for playful pounds, you're gonna be damaged reduced by 50%, but then it's only 25%, because you got the resistance, um, there is, oh, oh, armor decreasing, decreases are reduced when applied against this creature, oh my god, this thing, you cannot pierce its armor, that is, yeah, yeah, 100%, I mean, you can, you can increase your armor by 50%, putting you to 80% armor, and out of that 80% armor, they can only take 75%, oh, sorry, 25% off it, oh, we've, we've got to give this guy a ride, we've got to, we've got to take it around to Nublar shores for a little test drive, surely, you can't really do, it will never have a less than, what is it, like 20% armor, ever, you will never be able to get through that, so, that means that its health increase, that it's already got, is gonna stay there, um, so maybe putting a ginormous amount of health isn't necessarily needed, because, I mean, if you did do it, yeah, it's gonna stay alive for a while, but the fact that if you just put all attack on it, it's gonna do a lot of damage, and you're not gonna take too much, so here we go, at level 27 it gets another 360 attack, and the more attack you put on it, the more damage it does with its counter, and the more damage it does with its, all of its attacks, like now it's 1260 instead of 1200, we can even just go for a five pop right off the bat, oh, it's 50 and a 40, oh that was it, five pops, and we did it, we got it to level 28, wow, okay, let's get it to 28, taking its health, 7276, now we need 200, we can do another five pop, that one wasn't as good, almost halfway to level 29, amazing how quickly you can level it up when you can just level an apex up, yeah, there it is, but we're definitely gonna get at least, we need, and we need 150 to get three pops, and we've got three attempts here, actually we're running out of Deplodocus DNA, never mind the hybrid, we can only do two from Deplodocus, yeah, okay, so we can't do two, yeah, that's it, two more, two more either side, oh this is 60, that's what you like to see, and the final pop, can we get that 30 to make it four, oh, oh, oh, well you know what, we got the 60, I'm happy with that, we're 20 off, another pop with that, so Germanitis we can do, three, I highly doubt we're gonna get to level 29, there we go, exactly halfway, but you know from level 26, 27, 28, and almost level 29, if we get a hundo now, could you imagine that would be amazing, and oh we got one more, we got one more, you know I'm not asking for 100, oh 90, just 80, would be good, or a 30, there we go, just 50 more, oh damn, it's, it's gonna be good but this thing is gonna be nuts, so before we get into the battles, how about we look at what's coming up in this week's event for you to dart, so I mean you know this is gonna be up on Thursday, so we can basically skip the Commons, but on Friday this Saturday, Deplodocus, which I definitely need, Giga in Morris, Intrepidus, and the Scorpion, you know what, I might do, I mean it's 12 attempts, I could probably go for 6 each, I don't think I need, you know I do need, Deplodocus is one of those that's very hard to dart though, which is a bit of a shame, because it goes from head to tail, like tip of the tail, so it's like proper swinging around, so I might do a couple of darts at Deplodocus, Sunday is Rexy, or the parasol looks, so at this point in the meta I would say Rexy, because you very rarely see paratops, and the 24 attempts on the Monday to Tuesday is Albertosaurus, Octo something, I don't know, the big Irish deer and Quetzir, out of all those it's up to you, whatever you're going for, maybe I might go for Albertosaurus just to get the Albertoservio up just in case, but pretty much it's up to you, yeah, out of all of those dinosaurs I would suggest going for the Deplodocus, or Scorpion, and the Rexy, because Rexy is a limited dinosaur that you can only get by basically buying incubators, or buying the Cents, out of all of them maybe the Sarko, yeah you know what, we'll switch out the Sarko, let's see if we can get some bottles with Geminidus, okay here we go, will we get Geminidus, oh heck yeah, oh do we put in first, I'm not gonna put in first, you know I'm gonna try with the T-Rex, oh maybe I should dart T-Rex actually, yeah, because I need Rexy DNA for this thing, oh here we go, it does have a priority this thing though, that's the only thing, oh that goes through everything, oh yes, so we don't go through cloak, we do also take the damage reduction, it doesn't do too much damage, okay it does a lot of damage, so we're gonna do 1000 or maybe a little bit higher, oh yes there it is, now I don't think we're in jeopardy of being killed in one hit, actually maybe we are, well we can't do anything, if he's smart he will go for his priority, and hope you get the crit, oh he didn't, why didn't he do that, oh oh that's why, because I yeah oh dear oh but what's really good is that he can no longer heal, he is quicker, we do get that and I'm kind of okay taking that loss, I'll take it, I'll take it, he can't swap out, he's gonna have to commit to killing me, and there's the alert surge, well done, well done, okay but now you're dead, no matter what happens here, you're dead and you're taking a big hit here, if you swap you're dead, if you go for a priority, I mean you may as well go for your priority because at least you're gonna do some damage, and then depending on what other dinosaurs you have, maybe does this still have dodge, wait, I was gonna say please go for that, yeah please tell me you're at least gonna do right, it doesn't matter, I'm pretty sure it's dead, we get extra attack and boom, didn't even get through the dodge then, oh maybe I didn't get through the dodge last time with that roll, that's why he survived, maybe, maybe that's why he survived, damn comps are after is a tough nut to crack, it's a ref, well the ref's probably gonna go for his priority right and do 4000, he's hoping to get the crit, if he gets the crit here, I'm pretty much lost, let's say he's gonna go for it, does he get the crit, 20% doesn't get the crit, oh yeah I bleed don't I, oh dear, oops, oh this is not so good, oh a giant hit there it is, now I'm gonna take a bleed hit before and I think that's probably gonna be enough to kill me, oh it's not I survived, fantastic, okay now we'll swap out, now we'll swap out, I kind of, because I'm unsure how good Germanitis is, maybe I could have switched in here, because I do get the counter and I do hit him, but I know that this is probably my safest because yeah he'll go for his biggest hit and then next turn I cleanse myself, I put the bleed on him and he's pretty much dead, there's nothing he can do unless he swaps out, the only worry I guess is, Germanitis is probably really good at taking on Dio, I knew he'd probably switch in a Dio, yes okay so all you need to do is just focus on the time when he's gonna go for a heal and swap in Germanitis, because I can just get super high armor and yeah this this is normally what happens with a battle, you'll have Dio and the Draco and they just freaking swap backwards and forwards over and over again, so he's probably gonna go for his regular hit, he could probably go for a heal, I just need to sus him out, it might take a while, okay okay I think he'll probably go for a regular heal next turn, I think he will, stunning rampage, it's going to do a fair amount of damage, he has to go for a heal now, I'm pretty sure he has to, and if he does it's not so bad to me because I will cleanse and I won't kill him actually, chances of him going for his biggest hit now knowing I have a shield, uh yeah he's not going to, I'm gonna swap out to Germanitis, here it is, will he go for a heal, yeah I thought so buddy, I thought so, yeah, right okay now if I was level 30 and I had boosts on I think it would be a no-brainer, he's pretty much dead, um so Harden, I could go for Harden and increase my armor for 4 attacks to turn, so yeah let's do that, he's gonna go for his biggest hit, I do cleanse myself, I give myself a massive amount of armor, he does a lot of damage, that's the only thing, um increase armor, yeah so now my armor is at 90% you can't touch this, however I don't know if I have anything to really uh kill him, I don't have enough attack and he's just gonna heal over and over isn't he, I could slow him down and then go for the big hit there, uh yeah let's see, if I was him I'd go for a heal, I just, I kind of just wanted to try this, so he's reducing my attack, this is the best thing you can do, wow he's only doing 300 damage, oh there's that hit, he does have his regular heal, however he's now gonna be slowed and he doesn't have his, oh reduced damage as well, is he still faster, I think yeah he's still faster damn, damn damn damn, oh if I had some boosts on I could have killed him now, oh that's a bugger, um I mean I guess I could go for this one and just reduce his attack, yeah oh no we had it, I just, I like how after this update they still have not fixed Theo, it's still just as annoying as it ever was to take on, oh no I think we've lost it's, I mean I could have stayed in and had the Draco in, I mean what could my T-Rex go for, I'm gonna do 4,400, if I get a crit here, he's dead, I mean what he could do now is swap out, if he's clever he would just swap out and I have to hit him and die, uh so if that is the case I'm gonna swap to Draco here, expecting him to pull that, that would be a big brain move, he didn't even do it, he had the ever showed victory there and he didn't do it, what? Yeah okay like it just shows that this guy isn't thinking, he's just like oh well Theo I just go for hit, hail, heal, hit, heal, heal that's all I do, he had an opportunity to win there but his brain is so set in the mindset of like oh well you have Theo you just heal, heal, attack and I'm gonna win right, like I could have killed him there by going for a roll and a 40% chance there to uh to do a lot of damage but no, no, didn't think of it because people who use Theo are stupid, so uh I have been now in this battle for what is probably 20 minutes, so basically this isn't even my fault, this is his fault before using a Dio and it's technically not his fault, it's Ludio's fault for even allowing Dio to be able to do this but basically there is two turns in which I can be hit and die, however he has one turn in which he uses a move to not heal, he's basically just cycling, heal, attack, heal, attack, heal, attack, heal, attack, what I do is attack, shield, heal, attack, shield, heal, so there's two attacks where I do not heal myself, however there's basically every other attack this thing heals and not only, not only does it heal on those attacks but it also does a counter if it gets hurt which increases its speed, so oh, oh my god I did not even realize, apparently you can only do a battle for like 20 minutes before it decides yeah that's it, the longest battle you could ever do and it's just like yeah enough of that that's fine right come on then let's let's hopefully we get geminitis again and we can use it and we do, I'm putting it out first, it's going out first, maybe they'll probably put out you know uh a flock and we can see how good it is against that or they can put out you, ah that's a bit of a bugger because I cannot heal, I mean I guess I could do this oh a swap against an enclosed looks this is gonna be interesting right okay I mean if I geminitis had more attack more health I probably would have been able to kill that deal but I didn't go so how come it's lost health oh oh that's interesting his counter went straight through all of my armor what the hell just happened to the the the special reduced armor damage thing that I've got well that's not very fair why oh yeah by the way that thing we've got that you know you so is it supposed to be like the dinosaurs have things that reduce armor as far as I'm aware I don't know if anything has that interesting must be a new thing okay okay you know what waves waves that I just thought that was a unique thing to do geminatime well I'm glad we sorted that out and it is not the case right we'll just go for a big hit you I mean if I was him oh okay oh I didn't even get the crit sweet cool so geminitis is probably even worse than what I thought it was ah okay cool I thought it would separate it was the fact that you cannot reduce its armor and that way you'd probably have to rely on bleeds or another way to take it out but apparently not so that's interesting uh okay so well it's even worse than I thought it was I suppose might as well go for a devour because he's probably gonna go for his um oh actually does it have armor oh it doesn't have armor okay I was gonna say if it did have or like a an invincibility you could probably just swap out but there you go it did some damage I will get some health back it's not a great deal but it probably puts me to like all those in 900 I think oh here it comes here's the rev yes beautiful now ref does have a lot of bleed that it can do um so what's I mean I'm it's a big tricky I mean apparently geminitis is rubbish so might as well just put it in it'll need the extra health it'll need oh oh he was saving that's interesting oh yeah there you go there's some damage and I've increased me armor yes to 40 percent um I guess it I guess it does have the bleed oh he got a crit oh oh hold up hold the phone I might actually get a hundred percent armor here and then he would need to have the um what is it anklos looks come in oh let's have a look I've got a hundred ecot touches oh wow that is interesting uh I do I cleanse myself yes yes beautiful okay so how long does that last for I've got armor for one turn so pretty much no matter what he does here or want him to attack me he won't he'll switch to anklos looks and get the invincibility so considering that I'm just gonna go oh wait a minute does that go through on me oh wait no paratops does that's right haha take that and another one get ready priority oh it's a priority and invincibility haha and I might be able to kill it with a swap it oh no there it is whoopsie daisies right so because it didn't come in with a revenge it can't go for its instant priority so that's very good oh this is actually a tighter game than I thought it would be Gemini just didn't do too bad they're against especially against a ref yeah it's a good counter for ref because it'll get the 10 plus its armor and then it can't do anything so now oh what do we do we'll just go for a regular hit yeah we'll save our bleed in case we need it we'll save our hitting everything in case a flock comes in and we've got to swap out just in case something comes in that we don't want to face so unless he's swapping again to anklos looks which would be a big brain play oh that's a shame that's I thought that was it I thought because he would have he would have made me hurt myself but then he would be locked in and I would have been able to easy kill him so we actually won gemini this put a stop to refs like rampage um and it was a claim to myself of anything and I'm just going to do a huge amount of damage like crazy oh I thought I thought that was it it's not however so I mean what's worst case scenario can I be stunned by I could be I could be but pretty much that's it yeah there we go boom oh wow okay what rollercoaster like oh it's really good wow okay that was a good use of germanitis I'm glad we could end it on somewhat of a high note and not have that like 20 minute battle we just had anyway guys I mean we'll be back probably today to check out the other pass and maybe I'll boost germanitis a little bit more and maybe make it useful I don't know maybe we'll level up there stegospinosaurus whatever it is to level 30 because I just kind of want to use that thing it looks awesome anyway if you enjoyed this video guys leave like and until next time I'll see you kids later bye bye


Come on, Isha. Isha gaming. This is so random. She's like, want to play a basketball? I'm like, sure. Okay, in here. She said open, isn't she? Yes. She said open. Yes. I've been playing lately. What are you doing? What are you doing? Today, I changed my word of mouth again. That's right. Of the Lich King. Well, I've been playing scarring again. Again. Again. When did you play scarring last time? Last time. I don't know. I have to check. I have the same microphone. Look how beautiful it is. Very gamer interior. Oh, that's fun. That's bad. Do you play basketball? No. Who does? I play basketball. Do you want to look at her ball? You don't like my ball? I like your TV set up. Very good. I'm so going to copy you. What is this? I got it from a friend of mine. How old are they? Best to play Legend of Zelda. Pokemon Yellow, so good. Do you want to play Pokemon? Violet and Scarlet maybe. No. Which are you going to get? The opposite of everyone else. It kind of reminds me of what they are doing in Pokemon Legends Arceus. More open world sort of thing. Just wish the Switch was a little bit more powerful. We all did. I think the graphics in Xenoblade Chronicles 3 are struggling. Yeah, you see that the console is holding it back. The main story gets so good after a little while. Maybe another day we can go play ping-pong. Oh, I had one of those. One of the greatest games I've ever played. It was that game. Can you give me a rating? 1-10 out of 10? I think 9 out of 10. 3 out of 10. 5 out of 10. 8 out of 10. Okay. 9 out of 10. It's 10 out of 10. That's so 10 out of 10. Strong 9. 7 out of 10. 8 out of 10. Same. Let's skip this one. I mean it's good for kids. Good for kids. Good for you. You will love it. 6 out of 10.  I'm sure you do. 10 out of 10. I had to have this. Me too. 10 out of 10. 8 out of 10. Remember I visited you. And you wrote on my board. Crazy corona times. I still have one. You have to reset. Yeah, but I got my save back. 7 out of 10. Because it's not bad. But it's a puzzle game. Maybe it's a 7. It's not like we just managed to win one. That's it. That's it. Oh, Jesus Christ. I don't want to give up. I don't want to give up. I just checked the oil. What? Unrelatable. What? What's relatable? This post on Reddit about what you do when you do. I feel like you're always wearing that sweater on the vlog. We are always wearing this disk armor. Human rights services. So this is what you do 9 in the morning. I had to fill oil on my machine. The Aladdin lamp was showing. Okay, ready? Ready. Okay, I'm full. Okay, so we are going to get you a tattoo. Did you know one of our disk-a-disk episodes were limited to monetization? Because we swore too much. Really? Yeah. Which one? The laziest one. I'm sure we swore all the time. Then you don't pay. That's what I thought. It's fun. It is also fun. So what kind of tattoo are you getting? I'm getting a World of Warcraft Charmin tattoo. I want to get a Skyrim tattoo. Are you going to do it now? No. Not now. I don't know what I want to get. Where would you put it? I don't know. What are you playing? Well, Skyrim. Me too. Skyrim every day. I got the bug though. Let me tell you this first. I got the gray beard bug with a U.S.M. for a word. And they give you ARKWIM point. And then you can't get it. Yeah. I have that bug. There you go. She's so nervous for getting a tattoo. I told her she shouldn't be. It's probably painful, but she's going to handle it. Why did you book the time so early? I don't know. That's what she said. She said. That's what she said. Our town is so cute. At least in this park where there isn't lots of... We have diskirisk today. Sure. So what are the topics of diskirisk? I wrote reincarnation on the list. Did you see that? I still want to talk about reincarnation. And we're going to talk about what we have been playing, which is only one game. I got the most important one. It's my favorite. And I want the Skyrim tattoo. Do you want more tattoos after this one? We'll see if I hate this experience or not. It's exciting. Do you like my nails? They're beautiful. Influencer nails. And wedding ring? Married. Married. Loving married. Same. What would you say is the most cosy game on the Switch? Starter Valley. What makes it cosy? It's Starter Valley. What makes it cosy? It's... Because I'm right now editing a cosy games video. You asked me this actually on diskirisk. Probably. The content is cross-referred all across my content. Do you have any other questions? You're just not looking forward to this. I'm scared. You shouldn't be scared. It's fun. You know what? I have a video of me taking this. Oh really? Yeah. Maybe I can put that over this. Oh my god. I took it when I was 18. Okay, so what's new on Discord? Anything new? I haven't paid attention lately. You always pay attention. No, I haven't. Yeah. I'm gonna Google Skyrim Tattoo Ideas. Probably a lot of logos. But I want more like an untraditional Skyrim Tattoo. If that makes sense. But I'm mainly thinking Elder Scrolls. Maybe I should Google Elder Scrolls Tattoo. The Dark Brother Hand. Possibly much. There are some small ideas. But I could actually do an Assassin's Creed Origins Tattoo. Did you see all the new announcements? Assassin's Creed Mirage. No. It's Mirage. And there was another one called Infinity? No way. Are they like mini games? Like Unity and whatever? Look at that one. Arrow in the knee. No, I've seen this. Smoke's Guma Worship Daydra. Why? Look at that one. Oh, thank you. So how was the experience? It was good. It was good. Do you love it? I thought it would hurt a lot more than it did. I thought it would be like super painful. On a scale from one to ten. Ten being like I'm dying. Yeah. Three. Which is nothing.  Yeah. Now you're done. I'm so happy for you. So good. So we are now at the mall. We have been filming in this mall so many years. Since we were small. So what are you going to do for the rest of the day? I'm going to edit a video. I'm currently editing the best games so far this year. This year we had Elden Ring. You didn't play it much. I didn't like it much. Why didn't you like Elden Ring? I don't know. We are going to celebrate. It's almost finished. Wow. It's almost finished. Why? I'm getting 80 years old. B-roll. There is croissants. There are sounds. I saw the croissant on Instagram. And like I said to Tony, I saw it on Instagram. Someone baking a croissant. From scratch, and then I thought to myself What a wonderful day She's calling to say that it was fun No, that's what he said though, that's what he said He said that's a sensitive place, it's not the most comfortable That's also what she said Yeah, I know I have to go, she's laughing too much I don't know what to say I don't know what to say This one B-roll of the vent here Oh this is it Oh wow This is it This one, I didn't get into it What about Far Cry, have you played Far Cry much? No, nothing I mean I've never really played it either Let us know down below It's Far Cry good I heard number three is the best I just bought this one, Black Shark Wii 2 I like Kraken, Kraken's my favorite This is the one that I'm using, Death Outlet Yeah And I have Ornata, I have this one Of course you do This is the Nintendo shelf This is such an underrated game Flo Clippa, so cosy It's a remake of a childhood game though Breath of the Wild, I still think this is one of the best games on the Switch Still do I want to replay it But the reason I'm not replaying it is that you can only have one save file Her profile Can't you just make another profile? Look at this one It's gonna be the game of the year That's for you I actually played that one I bought it and it was terrible Terrible? Yeah Oh wow, they're pretty actually Look That's the Animal Crossing colors You never really liked Harry Potter either They do have a PlayStation bin This is the one I know right I don't have it in physical That looks like a good game My baby Look at that I mean what kind of story doesn't have Scarra? Two for 3.99 You know when Notre Dame burned down Yeah I know, I know the story You know the story Look at this game, never seen this one before Maybe some of these games will be rare later I've never seen this one before either That's your favorite game Oh no Did I make a mess? Yeah Oh no Oh no No No No No No No You're gonna buy something just because you feel it's floating That's not good Yes Yo


We just got out of the new Teenage Mutant Ninja Turtles movie. Kids, did you like it? Yeah, I loved it. I thought it was really good. Really good. Really good. Okay, all four turtles were hilarious. The jokes worked, I think, most of the time. Story was solid. It runs fast. I don't see any, the animation was top notch. Do you like the animation? Yeah, I thought it was better than Spider-Man's Spider-Verse. Oh my God, that's high praise. And try the Pepsi flavored ice cream. Yep, that was really good. Yeah. Subscribe.


In this Engineering Manager 80-20 Shorts video, I have with me Tony Munson, author of People's Skills for Engineers. Now, we did a full podcast episode with Tony, which we'll link to in the comments of this video. But in this short video, Tony, I'd like you to share with our viewers, as an engineer or technical professional, how can one listen more effectively? Because we all know how important that is to success in engineering. Well, everyone who's listening, this might be time to put on your big boy pants if you have them sitting around, because I think I'm going to get at the crux of what makes people good listeners and bad listeners. As I was thinking about this last night preparing for this podcast, I realized that I think the source of listening or being a poor listener is we simply don't care what the other person is saying. Flat out. We haven't connected the dots. We're more interested in either one upping someone in a conversation. When is our time to speak? Is it now? Or just flat out thinking about something else? And that to me is just not caring about what the other person has to say. And we know this to be true, because if I pulled someone in a room right now and said, I'm going to give you the six number winning lottery numbers right now, guaranteed you would be able to remember it. Why? Because it's important. It's important to me. It's important to you. If we took that same, I don't want to call importance level, but you get the point. If we took that same, okay, I'm focused. I'm present. And move that into our individual conversations that we have, I think things would change. I know most people are like me. It's like, okay, I have this laundry list of things. Someone wants to talk to me. Okay, get it over with so we can go. And then two weeks from now, I end up having to ask the same thing that somebody already told me, because I wasn't physically present. We consciously need to make the decision to be physically present. You know, there's all sorts of physical things that we can do like, you know, listen with your body and give the correct verbal signals and things like that. But I think the core of it is simply not caring. I know that sign's kind of harsh, but if we cared more, we would listen more because we've all had points in our life where somebody's speaking to us and we know it's important and we're like that lion on the plains of the Sahara, like eye of the tiger on it. And so if we just make a mental effort to be more present, listening becomes so much easier.