Thank you for coming today, this is really, really cool. I actually attended my first tech conference in this very room a couple years ago, so it's pretty cool to come back here and actually speak about stuff. So anyway, so let's get going here. My name is Taylor Jones, and this is a talk called Webpacking for the Journey Ahead. So before we start real quick, I wanna give you a quick introduction of me and who I am. I'm on the internet, under hi, I'm Taylor Jones. Often constantly misrecognized as him, Taylor Jones. Hi, I'm Taylor Jones. It's me trying to be smart and try to work on some hashtag branding for the world, but if you wanna see what I'm up to, odds are I'm probably somewhere under that handle. I'm trying to figure this whole baby thing out. I'm about to have my first kid in a few months. I'm excited about that. I've got, thank you, I got, we got a dog that is spoiled rotten and I had no idea I was gonna handle it. Got some cats too, but my day job when I'm not hanging out with pets and stuff is to work at IZEA. And we're in Orlando, Florida and we're making cool stuff. We're also hiring, so if you wanna meet Orlando and write some cool Ruby code, please come talk to me or hit me up in the internet. All right, so back to talk here. This whole thing, right, is based largely around a web pack and web pack is pretty misunderstood because it's kind of a trendy thing that everybody's into these days. But more specifically, I wanna talk about web pack and Rails and the justification for why us as a community is even embracing it. And so for me, part of this talk was like just figuring out what the kind of rationale for the rest of the community was, right? But it was also for understanding why I'd wanna pursue it personally as a developer. So we'll ask how well do they work together and why would we actually wanna bind them together? Because that's the purpose of the web pack, and I encourage you on this, to kind of bind web pack and Rails together. So if you're confused about web pack or you don't know about it or you haven't looked at the past couple of minutes, let's do a quick primer before we dive into the actual Rails stuff of it. So web pack is used as a means for bundling together modules of JavaScript code. And it takes those bundles and optimizes them based on your preferences and it takes the dependency-driven code and turns it into static assets so it can be better executed by the browser. Rails developers had this kind of stuff for a while with Asset Pipeline, which we're gonna talk about later. But for the JavaScript community, this is the bread and butter by which they actually optimize and deliver their assets. So the TLDR of web pack is that it makes compiling, automating, front-end code bases as a whole much easier. So I have a crudely key-noted graph together here about maybe how a flow of web pack might work. Where we take a front-end code base, you run it through web pack and we get static assets. Another way to maybe look at this would be to say you have your abstract languages and you're passing them through web pack to get something that's more browser-oriented. So all these languages that are more abstract, I mean JS is not an abstract language per se, but stuff like JSX and handlebars, it's an abstraction on top of those languages. And web pack takes that and actually compiles it to JS, HTML, CSS, whatever might be needed. So the goal of this whole thing is generating code that's optimized or executed by the browser as I mentioned before and I'll probably mention it a few other times because it's a huge point of web pack. So if anybody remembers back in the day when we had jQuery and the jQuery.min.js, if you go to the website today, you can probably, there's like 50 options that you can do to download any kind of flavor or idea of jQuery. And it was also implemented in stuff like Bootstrap, we have that in bootstrapmin.js or CSS or anything like that. So what I want to talk about is kind of the history of how we used to optimize code for the web, how web packers come into that and what exactly is going on, right? So we're making a library minified or putting .min to it. We could totally just put .min to the end of the library, right? Like I can just do nothing. There's no standard of minification. But a lot of times it's how developers would consider their libraries more optimized. So I want to kind of walk through what the minification process would look like. You can maybe remove spaces, right?  And so that way a browser or anything executes it doesn't have to look through those spaces. So it saves you a little bit of time, right? We could drop dependencies we don't use. So this is an example, I was talking about with jQuery. It's like, all right, you got an option to choose which version you want. But then you have all these check boxes that you can say, oh, well, I only really want these selectors or these options or I'm not to make myself feel old as a developer because I'm really not that old when it comes to that. But do I want jQuery UI? Do I want whatever library, right? And I think that's what made jQuery really useful. You could preload external network dependencies or downloads if you've ever worked with CDNs and optimizing your delivery and not necessarily having a point of failure and like, hey, does this library CDN work or not or how fast is it? That's a way that we could optimize it if we had those assets or those things ready for us. So the problem is, and it still persists today, is that the difference in experience between these tools is way and totally different. Meaning that some tools have these things and others didn't. And Webpack is from popularity because it helps remedy that issue. That's especially for the JavaScript community because as we look at stuff like MPM and Yarn, you have these insane amounts of dependencies and just these really deep graphs that really need to kind of maybe be optimized further past just a tool. So if there was a pitch, I think that people would put on Billboard's Webpack, it would be that it's the one-stop-shop for all your optimization needs. And it sounds kind of cheesy and this is like literally the cheesiest photo I could find on the internet. But what it does have a point of is that it's pretty much just like a, hey, I have a JavaScript app that does module-based code or has like a lot of code that needs to be optimized. Like, let me just use this and it's really just taken off as a solution. So Webpack has support for JavaScript out of the box. But what about the thousands and thousands of ever-growing languages that we are using with JavaScript these days? Like, what do we actually do with that? So Webpack's utility is rooted within its ecosystem and a community of plugins that extends its reach just beyond JavaScript. What this really reminds me of and really is kind of getting to the meat of the talk is it reminds me a lot of really this gem ecosystem. You have this idea of a really well-supported, well-adopted tool or framework and you have lots of people who are really great and bought into it, making some really awesome, either plugins, gems, extensions to help take that framework to the next level or to process maybe your use case of tooling. Like you say you use SAS, right?   So I'm talking about the difference between RubyGems and Webpack plugins and how they're actually really, really similar. So, again, another crudely drawn graph for your viewing pleasure, but you have the idea of Rails and then the gem is just an extension that you append to it and then interpret as that SAS. And this is obviously a very open simplification of how a gem might work, but essentially you're just taking that base set of code and you're adding something that helps interpret, compile, and deliver SAS. For Webpack, we have the same thing. Webpack's obviously not as big as a framework or tool as Rails because Rails offers a lot more, but for Webpack's purpose, you're taking that SAS again and you're building extension that allows Webpack to understand interpret, compile, deliver SAS. So what this has said, like Webpack's super hard to classify. It might seem like it's a compiler. And in many cases it is, but if you also look at it, it kinda feels like something else entirely because compilers are somewhat definitive in nature, right? If you have a bunch of compilers that are totally different, I mean totally different things or totally different makeup, you really don't have a standard of compilation. You just have a bunch of different compilers that do different stuff. So I think what I've found is that Webpack not only compiles your code in some way, but also optimizes it. And that's the whole pitch of it, right? Like every tool like a JSX or something like that might have some kind of hand-built thing that will compile it and give it into interpretable JS, but what Webpack does is it takes all that code and it compiles and optimizes it for again for browser delivery. So I would say the pitches of Webpack is that it's the extendable compiler. So what you're able to deal with extendable Webpack that I think is super interesting is that you're, again we have that baseline of Webpack only really understanding JavaScript. We create loaders to help teach Webpack how to compile more complex languages configurations. These plugins help compress, minify, and manipulate existing bundles. So again, we're taking that base functionality and we're extending it beyond to what actually the community's needs are. So the end goal of this code is optimized for browser execution. So that's the kind of run on the Webpacker primer. So we're gonna just pretend for a second that maybe we're sold, we're all sold. You thought like that was the greatest sales pitch ever and you're totally convinced that Webpack is gonna be the usage for all your apps ever forever and always. Why directly integrate in the Rails? And this is what the whole kind of talk LeanZone is that Webpack is an effective tool right now outside of Rails.  So if you wanna use Webpacker with your JavaScript or maybe a gem might have an implementation where it brings Webpack support into Rails, like why would you embrace something like Webpacker? And so I think part of this comes off as a pitch for using the Webpacker gem and there's some great people building it. I've only really written documentation to help understand and communicate that message folks. But what I think that I see with it is this from the overall Rails as a full story point of view is that we're starting to really embrace these tools and kind of have a means for people of the JavaScript community to kind of come in and get to know Rails better. So we're gonna kind of run over that kind of stuff and see what's good there. So this all boils down to the asset pipeline. Odds are most people use asset pipeline. I use it pretty much in most of the things that I've done. I'm sure if you don't use it I would love to hear your implementation. I'm sure it's super interesting. But the asset pipeline from what I know because I started at Rails 4.0 was that we kind of introduced the idea in Rails Comp 2011 around Rails 3.1. And it was really a solution to saying, all right, I have all this scattered JavaScript CSS front end type languages and I want a better way to support that. I want a better way to organize that and I want a better way for that to become better into that Rails workflow. And really, again, the reasoning behind it is organizing JavaScript but also supporting new languages by a gem interfaces which I thought was super interesting but I kind of forgot it out because again, I took it for granted.  And so it was really a way to easily embrace whatever new language idea thing that you want to implement in your app. And also integrate those into the Rails workflow. So it set us up as a community for this ability to really support whatever else was new without having to say, all right, well, you know, the wizards at the top of the mountain of Rails have decided that you can only use these three languages or things. And so that was really exciting, I think, for the community. So if you go kind of do some research and digging on the asset pipeline, it's really based around three ideas. Concatenation, minification and preprocessing, all that stuff you dump into it. And from just a practical point of view, and this is pretty simple, if you've understood kind of how compilation works and breaking that down, right, is that we're taking a SAS, for example, we're breaking that down to CSS and then maybe we're gonna run it through the asset pipeline or anything else that we might do, any kind of compressors and we're getting our, quote unquote, optimized CSS. This allows for us to write that abstract code in SAS, but it have it also directly compile to CSS and automatically be in certain asset pipeline for optimization. Again, a very huge oversimplification of the great work that people have done with Gems over the years, but I think that it's about, I wanna talk about the heart behind everything here. So this all sounds really, really, really familiar. It's a webpack. And that's because it kinda is, we take a thing like rake assets pre-compile where we're taking all our JavaScript, our CSS, all our stuff, and we're compiling it with stuff that is optimized for delivery and for consumption. And we a lot of times maybe do that in our production settings. If you're learning Rails, you've probably done what I've done where I just hammer rake assets pre-compile a bunch with a production flag and it eventually works on my servers. That's kinda how I learned to deploy because I went to school and I ignored everything that was cool to me. So anyways, these ideas are really, really similar to webpack. And I see webpacker or webpack, an asset pipeline are two similar tools which is like completely different communities, right? Like Rails has always had the asset pipeline for a while, not always, but since Rails, we have one, they've had the asset pipeline to kinda help us deal with that. With the JavaScript community, they've had various solutions but webpack is the most, by most one of the most popular ones right now. So, and it's also interesting because in recent years, if you noticed, Rails JavaScript and non-Rails JavaScript have started to look pretty similar. You have some companies that are maybe doing what people might consider more Rails flavored JavaScript. You know, a lot of the community embrace Kafka script, a lot of those ideas, and still do and they're great in making some awesome stuff with that. But there's a really, there's a need again because there's a need to kind of incorporate those workflows because more people are starting to use stuff like React or Angular or any sort of other kind of framework in their apps. So again, here's another crudely drawn graphic viewing pleasure, but you have a, with webpack, right?  With asset pipeline, you have a very similar thing. You're taking your files, you're passing it through pipeline and you're getting easily a JS manifest and a CSS manifest. You break down the browser, which I wish I'd insert image to that, but you know, you just see your application.css and your JavaScript.css that will digest. So, if we just think about it from the perspective of input and output, right? We're really doing the same thing. We're taking our code that we want to have compiled and shoved into the browser, make optimized for browser and we're having it run through our tool choice. So it might seem weird that we're kind of wanting to integrate them together or have them work together because they have kind of similar approaches and there might be a worry, right? That they're overlapping each other or that they're really fighting against each other in some ways they are, but the heart and the approach of saying, okay, I have this stuff and I want to process it. I think what webpacker allows to do is for Rails to process more modern JavaScript Quikram in a way that that community processes it, right? The Rails community may approach JavaScript one way, but JavaScript as a whole, like what their community might have another approach to it. So again, why do we need a webpacker or a gem for Rails? Why not just use webpack by itself? And I want to give a few reasons here. One of the biggest things I see is for the sake of having an assistant option for those who use webpack. We talk a lot about making Rails more accessible. I think GHH kind of mentioned a little bit this morning, right? It's like, we still want to have those same ideas. We want to be able to bring people, kind of have people, give people an easy way to worry about the stuff that actually matters and not necessarily be overburdened by like, well, I use webpack, but it's really a pain in the butt to configure for Rails or to embrace that, right? I think the Rails thrives on consistency. And having a community-supported option for webpack helps out smooth out any differences in implementations we might find. If you really dig beneath a lot of your gems that are maybe taking your frameworks and maybe importing it into Rails, oftentimes you might find that you have some wonderful implementations by some really, really smart people, but sometimes it comes down to a game of numbers. When I have 15 people working together on a solution, they're not going to see things that maybe 200 people working on a solution might see. So I think what I see out of all this is if you have a better, faster, and stronger support for front-end languages that don't require a gem library to be supported. And there's little to, ideally, there should be little in no translation required for existing webpack projects to live in Rails or web. And so the heart behind that, right, is that we want to make that transition easy. And that's ever gonna be the bane of any gem, right? Is that, well, we've designed it for these ways for you to import, but I've got this super special way that you haven't designed for yet. But the goal is to kind of increase that canopy of kind of accessibility across the whole community. It finally is about making Rails more accessible to those who love webpack. I think what we find, and this is what I found, at least, with my small bit of experience, is that you have a lot, a lot of people programming JavaScript these days and only JavaScript. If we could show surveys or whatever we want to do to prove that. But the point is a lot of people are just programming only JavaScript these days. Whereas that JavaScript seemed like, for a while, is definitely my experience, but it's like, oh, I guess I'll do this. It's kind of annoying. Like I kind of just wish I could do this with the backend language. And so a lot of times there are JavaScript developers who are looking for a backend, especially with services like your Firebase or anything else like that that provides you a means to have a backend API and just pay for it. There eventually becomes a point where there's actually just companies out there that are running completely off-front in JavaScript and maybe a serverless backend solution. So the question is what kind of framework are they gonna choose, what kind of developers are they gonna hire when they decide, hey, we've got a couple million dollars in the bank, we wanna hire a backend team. So, and I think the other part of it is encouraging existing real users to have easy access getting started with that pack. If I'm being honest, I don't feel like an old man yelling on the cloud, but there are times where I've felt or seen stuff in the JavaScript community that's kind of a part, like I thought React was super dumb for a really long time, I'll admit that. I should probably buy a shirt, right? But I was like, I don't understand why you need this, like this is ridiculous and this is programming stupid, I quit, right? But the thing is, is that we eventually, if the idea is good enough, it usually tends to stick around and usually there comes a point where as developers we have to confront that idea. And I think that giving people older and newer to programming a means to easily access those new ideas and not necessarily worry about the configuration, excuse me, because that was such the day in for so long, right? If you ask any JavaScript developer, they'll be like, oh man, I just hate configuring webpack, it's so ridiculous, it's like a waste of my time, it's all I do. And so when I hear that, I'm like, I don't wanna code front-end framework, I don't wanna like do what you're doing, man, because I use Rails and I don't have to worry about that as much and like why would I do that? So I think the hope and the heart behind the whole thing is saying, you know, what if we had the means for us to come and just jump into coding react as opposed to configuring something to start coding react because then we get frustrated, we throw up our arms and say, I'm not gonna do this anymore, right? And there's a lot of emphasis and interest in webpack is based around buy into those new ideas, right? So for those who are bought into a webpack, they want to use your way for them to buy in the Rails. For those who are bought into Rails, we want to use your way for them to buy into webpack. So we want to kind of have things go both ways. And so now here's my favorite slide because it makes people kind of knee-jerk react real quick is we're gonna talk about turbo-links for a second and it's actually not gonna be about trashing turbo-links. So sorry if you're looking for a good old like turbo-links roast, it's not happening today. But turbo-links has been a project that's been really, really well for some folks and it hasn't really been cared for by others. It's been kind of the one thing that people are really salty about strangely and that's fine, right? Like if you use turbo-links, you're probably making cool stuff in turbo-links and that's maybe good, right? It's better than just having something and be like, I don't know why I have this in my product but it's here, right? So I think it's totally okay that some ideas don't necessarily stick. But the problem with introducing an idea like turbo-links, right? Is that you have to introduce new ideas and say, hey, I've been making this, which is usually how a lot of the stuff in Rails comes, right? It's like, hey, our awesome company has been doing this cool thing. This is the extraction that we're taking out or calling it whatever. But the other half of it is you have to also sell it to others, right? You have to convince people, hey, this is a good idea and this is why you should use it. The problem is both these things are incredibly hard and they don't always stick. And today we've got stimulus. If you've heard about it, it's kind of a new front-end framework thing by Basecamp guys and girls and it's pretty cool. But it's probably the same stuff. Again, you have to introduce a new idea like, hey, we're jumping into the front-end framework game. Here's where our solution is working for us and making cool stuff or we're making cool stuff with it. But also, you know, you have to sell it and that's totally normal because again, like it's cool to have solutions that work for some people and maybe just don't work for others but at least you have the option to opt-in opt-out. So, webpacker integration via webpacker is special because it's taking something that's already been successful in a community and giving it a means to bind with Rails. And what I think is really exciting about that is that a lot less selling is required with this whole pitch, right? You're probably here because you've heard about webpack and you're looking for like a what is a webpack or maybe looking for a tutorial or a deep dive or whatever, there's a workshop later in the week if you're interested that's kind of dealing with a really like let's just go and just get down to the core of webpacker. But the point being from my perspective is a lot less selling is required for that. But this does bring up some architectural concerns and I do like to talk about architecture because that's what it did last year and it was a lot of fun. Instead of being separate things that are more microservice like you're moving to monolithic territory. And this is not a bad thing, right? In Rails we talk about the majestic monolith. A lot of people are bought into that. Maybe people write their blog post about it and they get really excited and they get so much collapse on medium, right? That's cool. And again, that works for some people. But I kind of proposed this idea last year and I'm kind of going to keep running with it until either fails miserably so please tell me it was an awful idea. But it's the idea of the mighty microservice ecosystem. And what I mean by this is that when we see the development of how Rails is going, it oftentimes feels like an ecosystem of microservices that are all being orchestrated together, right? You have your active record, you have maybe a view layer, you have some middleware, but they're all kind of becoming increasingly as you refine each piece of Rails more and more. We're seeing that sections of Rails are becoming more, they almost function like smaller microservices. You can take it, they're more modular. You can replace them with something else if you want at certain points, right? And so, the whole value that I see of this is that we're able to really come through and have this means of, I don't know if you've ever worked with microservices before. Actually, quick poll, who here works in microservices? Like, you got more than five microservices running around, right? Cool, so it's like sizable amount of people. Everybody else is on a model if I assume, is that kind of a divide, maybe? Yeah, no code, maybe, no, yeah. So yeah, so a lot of times we're using one of the T, right? But the cool part about it is that the trouble I have with microservices is that they're just really annoying to have like five code windows open if you're trying to make a change, right? Like, and you definitely have more smaller, more refined code, something, an idea that is maybe hopefully clean and hopefully makes sense and concise and you understand how it interacts with other services. But the kind of beauty of Rails and the whole proposition, this whole thing, it says like what if you could not have to run a webpack server and configure something separately and it hope it passes it to the Rails system, which hopes Rails catches it, interprets it and delivers the way you want, like maybe you have another front-end service that you're actually delivering the view layer through, you know, it can get crazy. And I think what Rails is kind of navigating towards with the thing that's really exciting for me as a developer and I'm kind of hoping that there's more and more options like this for me and the teams that I work with, but also for maybe you and your teams, is that we're able to have this just kind of one home for all those codes. You know, we're kind of swinging back into more monolithic territory for microservices and I think that's kind of funny, but at the same time, I think it's the proposition that Webpacker is making. And so this actually brings me to one of the more interesting parts of the talk and it's kind of the end of it, but it's, we're talking about for me with non-Webpack citizens, right? Because not everybody in this whole wide beautiful world supports Webpack, right? It all makes sense if you use something that uses Webpack, or if you're just wanting to get started in a smaller, more module-based partnership, right? Like it's not like you have to say like, oh, I'm only gonna use Webpacker for this, right? It'll take anything that you, you can configure it to interpret whatever you want. But there are existing framework solutions out there that aren't Webpack-friendly. So what about those people? Does it mean that Rails is only supporting for in a first-class manner, Webpack-friendly frameworks? They might seem like that's the case. But the big twist of all this whole thing is that IZ actually uses EmberJS and so that's actually my day job, is dealing this stuff.  But the point that I see about all this, and I'm actually encouraged by the development of Webpacker and it's why it led me to be really interested and spent a lot of time really wrestling with why. Why are people choosing this? Why does this matter? Why is this actually beneficial to Rails? And the reason for that is that, I would love a solution that would be something similar. Ember uses Broccoli, but let's say that another great framework community comes up tomorrow and they say hey, we're using whatever ridiculous compiler or thing or whatever makes sense to them, right? Because as we've learned, right? You look at Rails Comp 2011, people are like oh man, we're using jQuery now. We're like totally modern. We have got it figured out, we're gonna stay with jQuery forever, we're just, it's never gonna end. And then now everybody's dropping jQuery in their frameworks and that's totally fine. But again, even the best or most popular supported community things have a life cycle. Webpacker ultimately has a life cycle whether we want to admit it or not. But the thought of it to me is the fact that, okay, we're taking something that's really, it has really big community support that has a lot of love out there and we're giving it the ability to really, come into the Rails community in a way that makes sense. And so for me, it's hoping that if Webpacker has more and more success, and it already has had a considerable amount of success, right, because lots of people are coding React or Angular, those are two really big frameworks that a lot of people have been using with it. My hope is that maybe we can start to start thinking about options for other supported platforms because personally I'm a bit tired of having to manage my own custom shotgun solution to making a thing work. And I think that's one of the things that, I kind of glazed at it earlier that I do want to come back and talk about real quick is the idea, right, and the whole utility of having a Webpacker gem or using Webpack is saying that if you've ever looked into how you sometimes bind your favorite framework or idea to Rails, oftentimes it can feel kind of limiting or depending on how refined that solution is, right, you may not have the best experience, you may find yourself like running a bunch of servers and not really knowing about it, right, or having to really dive deep into a bug that you don't quite understand. And I think so Webpacker kind of exposes that configuration aspect for us and said that we're not trusting just a kind of hard-coded set of defaults by another person, but that's the whole talk I've got. Thank you for coming out and thank you for listening to me kind of try to share what I have kind of been just diving through and trying to wrestle with the Webpack. If you got any questions, please come talk to me afterwards. I've actually got to catch a flight out of here pretty soon because of personal and work reasons, but if not, I'd love to keep in contact with you somehow. So thank you guys very, very much.


For more videos on people's struggles, please subscribe to our YouTube channel. 6.9 million Bolivians will go to the polls on Sunday, October 20th, to vote for the next president of the country and their legislators. In the presidential election, a candidate in order to win in the first round has to obtain over 50% of the votes or over 40% while being 10% ahead of the nearest candidate. If this does not happen, a runoff will be held on December 15th. The elections in Bolivia have been the subject of much debate within the Andean country and across Latin America and the Caribbean. This is because the future of the continuation of the project of transformation is at stake. For the past 14 years, Bolivia has been governed by the party Movement Towards Socialism, MAS, led by President Evo Morales, the country's first indigenous head of state, and vice president Alvaro Garcia-Linera. The duo has been boldly taking measures to fundamentally transform the country and in order to serve its people and protect its sovereignty. Bolivia has been an exception in the region where country after country has been plunged into chaos under the leadership of neo-fascist leaders imposing neoliberal economics and uncontrolled exploitation of natural resources. Bolivia has remained remarkably stable, registering 4% annual growth since 2006 and a significant reduction of poverty and extreme poverty. Now, for a fourth time, Bolivians will choose whether to continue on the path that has been forged by MAS under Morales and Garcia-Linera or to go with the opposition, whose claim is that they are not the MAS. In this explainer, we will take a deeper look at what is at stake in these elections, who the candidates are and more. So, who are the presidential candidates? According to pollsters, Evo Morales and Alvaro Garcia-Linera, the candidates of the MAS, are predicted to obtain around 36 to 40% of the votes. If they do not win in the first round though, they may face a stiff challenge in the second round, where the rival candidate will be able to unite a fractured opposition. The strongest candidate from the Bolivian opposition is former president Carlos Mesa, who is running on the ticket of a centre-right political coalition called Citizen Community. He is some 10 points behind the MAS ticket in polling, obtaining around 20 to 28%. Mesa's campaign pitch is that he is the only viable opposition to Morales. He is claimed that he will recover and restructure Bolivian democratic and political institutions, which he alleges have been corrupted or tarnished under Morales rule. He has also mentioned the importance of re-establishing economic and political relationships with the United States. Interestingly, Mesa served as president from 2003 to 2005, during one of the most tumultuous times in Bolivia's recent history. He was a vice president to Gonzalo Sánchez de la Sada, who was elected in 2002, when their government drew up a plan to sell Bolivian gas at an extremely cheap rate to the United States. Of course, in the US, it would be sold for exponentially higher prices. The plan was met with mass uprising known as the gas wars, wherein people from across various sectors of Bolivian society joined to condemn and oppose the plan. The protesters called for the nationalization and industrialization of gas in Bolivia, so that the profits would directly benefit the people through development projects and social policies and programs. During the gas war, the police massacred over 80 people and injured hundreds on October 11, 2003, in the indigenous city of El Alto. Following the massacre, Losada was forced to resign due to political pressure and Mesa took over as president, but he too was eventually driven out after mass protests. Among other candidates, Oscar Ortiz follows Mesa with around 8 to 10 percent of the votes according to pollsters. He is from the Alliance Bolivia Says No, BDN. This emerged in 2016 to lead the No campaign against the constitutional referendum. The Alliance represents the far right-wing tendency of the province of Santa Cruz, which has been an opposition stronghold ever since Morales came to power. Ortiz has been unable to gather national support behind his candidacy. And while many sectors of the opposition have pressured him to withdraw in order to have a unified opposition candidate, he has refused. In the fourth place is doctor and evangelical pastor T. Huynh Chung of the Democratic-Christian Party. Some of the other candidates are Feliz Pazzi, the current governor of La Paz from the Third System Movement, former vice president Victor Hugo Cardenas from the Civic Unity Solidarity, Virgilio Lema of the Revolutionary Nationalist Movement, Israel Franklin Rodríguez of the Front for Victory, and Ruth Neena, the only female candidate from the National Bolivian Action. What is its take in these elections? What is the project of the MAS meant for Bolivia? During the 14 years under Morales, Bolivia has seen tremendous economic change and progress. The consistent economic growth in Bolivia since 2006 has had a direct impact on the socioeconomic conditions in the country. From 2000 to 2012, the poverty rate dropped by 32.2% in the country. This was praised by the United Nations as the highest rate of poverty reduction in the region. This was accompanied by an increase in employment, salaries, and a 20% increase in the minimum wage. What can this economic growth and success be attributed to? The centerpiece of the MAS economic program has been the nationalization, industrialization, and salvaging of state companies, and the use of the profits therein to sponsor social programs and build vital infrastructure. The nationalization of the oil company YPFB on May 1, 2006 marked the fulfillment of a long-standing demand of the people's movements in the country, and this was one of the earliest initiatives of the government of ever Morales. This move not only allowed the state to benefit from the development, extraction, and commercialization of gas and petroleum in the country, but it is also a firm political stance in the protection of Bolivia's sovereignty and natural resource wealth. Following the oil and gas nationalization, the Morales administration worked to strengthen and recover state mining companies, the state telecommunications company ENTEL, the national electricity company ENDE, and the airport service of Bolivia SABSA, among others. These policies were aimed at strengthening national industries and services and generating income for the state. All this nationalization enabled the launch of a large number of social programs that were key in pulling people out of extreme poverty. These include the RENTA dignitar program, which grants a dignified monthly salary to people over the age of 60. The Juana Azurdui program, which gives economic support and high-quality healthcare to pregnant women and their young children, and the Juansito Pinto program for young school kids to help pay for their school supplies. The Cuban literacy program, Yes I Can, which was also implemented in Bolivia, has had tremendous success, and the United Nations Educational, Scientific, and Cultural Organization UNESCO declared in 2016 that the country was free of illiteracy. What is the importance of these elections in the region? Evo Morales was first elected in 2006, in the midst of a moment commonly referred to as the progressive cycle in Latin America. This saw a collective regional response to the repressive neoliberal decade of the 1990s. It manifested in the growth of grassroots movements and electoral success of leftist and progressive candidates. In Brazil, there was Luis Inácio Lula de Silva. In Venezuela, Hugo Chavez had been elected in 1999, and the Bolivarian Revolution was well underway. In Argentina, Néstor Kirchner and Cristina Fernández de Kirchner were reviving progressive peronism, while in Ecuador, Rafael Correa was undertaking the Citizen's Revolution. In Nicaragua, Daniel Ortega of the Sandinista National Liberation Front was elected, and in Haiti sometime before, John Bertrand Aristide had become the first democratically elected president. While each of these projects was distinct in terms of the radical structural changes they envisioned, together they represented a moment of hope and transformation in the continent. The continent had of course long been subject to the yoke of US imperialism and military dictatorship. Under the direction of Hugo Chavez, a number of initiatives to foster regional integration and cooperation were created. These include the Bolivarian Alliance for the Peoples of America People's Trade Treaty, the ALBA TCP, the Community of Latin American and Caribbean States, CELAC, the Union of South American Nations, UNASUR, and others. This progressive cycle posed an obvious obstacle to the US hegemony in the region. It became a target of a series of well-planned attacks. The military coup d'etat in Haiti in 2004, the coup in Honduras in 2009, the parliamentary coup in Paraguay in 2012, the electoral victory of Mauricio Macri in Argentina, the parliamentary coup in Brazil in 2016, and the election of Jair Bolsonaro in 2018 were indicators that the progressive cycle was facing setbacks. However, throughout this period, Cuba, Venezuela, and Bolivia persisted and continued to challenge the neoliberal imperialist onslaught. They continued to forge regional projects to foster solidarity, cooperation, and sovereignty. The persistence and resistance has been resonating across the continent as each of the right-wing regimes is facing massive resistance from the people. In the upcoming elections in Argentina, the Progressive Alliance Frente de Todos, led by Alberto Fernández and Cristina Fernández-Decartena, is likely to win. If Evo scores the victory in Sunday's election, it will be a remarkable step forward and a sign that the progressive cycle continues. Meanwhile, the popular rebellions in Haiti and Ecuador show that the people of the region will continue to resist and rise up against neoliberal imperialist lackeys.


Today, we tested all of our medics on the tactical combat casualty care, TCCC. The Air Force adopted this to be able to get the definitive care to the patients early on and they found through historical evidence that the earlier that we have medical treatment, the higher the survivability rate of the casualties. TCCC in general is being pushed out for our medics and the entire base to start learning. So we thought that this would be a great opportunity for them to be in their mop gear, go to the front lines to get the patients out, do the life-saving skills that they need to do in order to make sure that that patient is safe and then we did also patient routing so we had to identify these patients so that they can get over to the hospital.  The medical group stood up their UCC and dispatched out medical teams. The medical teams responded, suited up in seaburn and chemical gear. They came in, did their assessment all in mop level 4 gear, evacuated the patients, took them to a casualty collection point. From there they called in for a nine line to get the patients evacuated out. Our CCAT team came in, they picked up the patients, did their assessment and then evacuated those patients out to the hospital where the providers ended up doing the final definitive care for the patients. CCAT is critical care air transport so basically it's like an ICU in the sky. They're making sure that the patient stays stable from the point of injury to the hospital where they have more resources to help stabilize that patient. Ray was able to take something and learn from it and will be able to grow and be able to provide better care moving forward.


The years of the French foreign legion pass in review in honor of the American forces traditional uniform of the legionnaires. This is the graph December 7th, 1942 at CD Bell Abbey and the Governor's Palace at Algiers. This is on the left. Mr. Robert Murphy, United States Minister to North Africa. Ships are known as tank landing craft. They are specially constructed for transporting armored vehicles and are highly maneuverable. In the background, the city of Algiers looks down on the harbor. With its slight superstructure and lack of silhouettes, the tank landing craft is less vulnerable as a target. The black band around the waist of each soldier is a self-inflating life preserver. Needlework. Eastward through the Mediterranean, escorted by British men of war. The seaport nearest enemy-held territory. 30 caliber and 50 caliber machine guns. The ports in Sicily and their only an hour long spell in the city. This is a Dornier. Nazi planes shot down against a loss of four of our own. No important installations were hit and our tank convoy suffered no casualties. Whenever the general grants come to a halt, camouflage is the first order. The difference between a good and bad job may very easily be the difference between life and death. Bedded down for the night. Pushing their mission and marching 30 miles overland in full pack under a hot African sun. The open is of primary importance. French soldiers guard all roads, bridges and strategic points. They better make sure, but repeatedly machine gunned it from a low level. To provide poultry and green vegetables. 100 kilometers is rock Tunisian frontier. Where there are no fixed lines and the positions change from hour to hour. The battle area. Tunis. Toborba. Medges Elban. The battle will be fought here. There are no set fortifications or clearly defined opposing lines. A Nazi Panzer division has advanced westward from Tunis. Our columns have come up the valley from Medges Elban. Our attack will consist of a series of lunges against the armored spirit of the Panzer division. The sun comes out. Our armored vehicles move toward the forward positions. This is an American light tank used both for fighting and scouting. Gates move ahead of the advancing forces. American half tracks follow on reconnaissance. He has been sighted over the hill to the left of the picture. British 25 pounders open up. Supply down for an enemy ammunition carrier. This type of mobile warfare, there are no trenches. No large concentrations of infantry. The dole boys are spread out from miles behind every tree and shrub. Ready to strike the enemy or repel infiltration. Dual battlefield. Germans on the left, Americans on the right. A British ammunition lorry is hit. Overlooking the battlefield. The cameraman is actually nearer the German lines than his own. Marks on the rear of the German tanks. This is to avoid attack from their own aircraft. Ten German tanks in the spearhead, five on the field, and five concealed under the brow of the hill in floor ground. The tank in the background is stalled. Its crew is still using the machine guns. The civil Nazi on the left side of the screen carries the white flag of surrender. These prisoners are veteran members of the Afrika Korps. These are Americans, boys from your town and my town. They have fought today in a strange country for a remote little valley on the road to Tunis. And they have fought well. This is an important victory, not because of its strategic value, not because of its military importance, but for an altogether different reason. This morning, when the battle began, this valley was a conquered valley in the hands of the enemy. Tonight, it is a free valley.


I'm gonna tell you something rain.  It's right at the same time Would it happen? Uh, I wouldn't pose the post to cover After the fight like they were disappointed everybody disappointed it was quiet I know you could handle it because that cuz the man is like yours.   I was nervous like it ain't over y'all I know him it ain't over but y'all understand every time he Which which was which was worse? Let me ask y'all a question Ryan Gorsilla Or else miss Because y'all keep talking about EJ how he just got this and that but who got done worse this this summer Ryan Gorsilla or else miss I see Earl man. That was bad. How right Ryan Gorsilla took a knee I know but he quit Yeah, but Earl got knocked down about three times But Ryan Gorsilla got knocked down then came back and took a knee the second time. He ain't want no more Yeah, you're right So you so so so a person that keep on getting up and then and trying and trying to get back into a person Just took a knee and say I quit he took a knee and then I get back up and and and and so what was worse I don't think I really don't think I just don't think girl was I don't think he prepared himself Now you gotta understand man. You got you fighting a beast You gotta understand listen, but let me let me now. I'm gonna say I'm gonna I and I'm not uh, I'm a fan of both But at the same time I just feel like Earl spends something was wrong. He was not on on his 100% game for some reason That's what I feel. I blame it on that whatever he was going through whatever was happening. I would have said No, I think he would have told it. I don't think you would see because I know that he could do better than that Now listen, listen, let me tell you It's like this though when I managed one rapper It was easy for me. He's most three die, you know, I had multiple rappers Uh, so I gotta be I gotta split up my time. You know what I'm saying? Uh, if you if you're a single father and you have other kids You're not the 100% the the best dad that you used to be because you got Right, you gotta spread out his manager for the last six years was just him and ej Now he got five different boxes So I believe that his trainer and his manager they prepared for it because he got other obligations right now that's surrounded by him You know what I'm saying?  They got a fight in two weeks So now you got to fly out there and get ready for his trying to come Then you got to come back and then you're one of the twins fighting Cornelon Then you got Ryan Garcia October then you got him and he got him in December You still don't get the perfect training that you need in the in the in the uh Camps that you need because you got one man that got a jug of between five niggas. I get it But let me ask you a question. Okay being an athlete, you know, when you train and he's been doing this for a long time There's not a lot of new stuff that you're learning except from except from You're studying your opponents moves on a database is trying to figure out how to counter React to that. Yeah, but you need a watch collar You need a nigga that you comfortable with it's a It's a he know what he's supposed to do. He go in the gym with a sparring partner in this It's some rappers right now that have been rapping for years then in the manager In a label They hear you need a label for in the manager and you you don't make you've been doing this long enough You're supposed to know exactly what you need to do. You know these same clubs You don't know that you know exactly, you know saying how to how to do this But in that case you're not self-motivated, but then when you everybody looking Errol you think that he's the type of person that is a go-getter that is self-motivated that will you know what I mean That's what I've always heard everybody need teaching. He said it.  I'm gonna tell you something rain. I you posted mode three laughing They're gonna do him. What would it look like it? Cause it's right at the same time Would it happen? Uh, I I wasn't supposed to post the cover I posted that cover and they told me that that that ain't the cover we're using And so when I posted that cover my phone blew up and then I posted him laughing so he coming Okay, it had nothing to do with it It just coincidental. It's just coincidental not because I had posted a sample of the song You know, but nobody related it to that at all everybody Everybody think you talking about her when you post it on the real fans don't need to come in saying but when the album coming out They talk about that a lot of people but anything you post. Yeah. Yeah, you could post your kids They're gonna say when the album coming out, but you go over look at the real companies the real companies when the album coming out It's just some goofy dudes that could go in there talking about he talking about this He talking about that I don't dislike to me. I just don't like just the decisions that he made Okay, you know what I'm saying? Yeah, I want anything that I wanted him to lose I wanted to feel disappointed like I feel disappointed. You want it? I was a crowd. No, I was rude for Crawford. I was rude for Crawford for the last four years I seen call. Did you back? It's called Ken to him. He took pictures with him after the fight. Yeah. Yeah. Yeah.  Yeah, so you won 17 You bet against yeah Better bet bet against Dallas. Yeah, welcome Dallas doesn't loyal to nobody Dallas is not loyal to nobody. So you didn't bet with spent No, I I I know boxing so all the other fights. Yeah, but not this one this man Y'all don't understand how this man is this man 39 and oh When you betting it ain't personal Yeah Yeah, he 39 and oh and he can go from from south power to regular At any time so you was happy when you were on your month.  It's his pal Most powerful hand. That's why you get he get caught with them hooks He switched the jabs to hooks Because that's the small power for him. That's what I had.  Yeah, we on boss talk one on one one. Yeah, we gonna talk Yeah, we on boss talk one on one one. Yeah, we gonna talk


So about that decision in Madison, that's an amazing story. Thank you for sharing that. With myself, with my recent decision about dealing with my molestation for years, for years I made decisions contrary to what I knew, because I never, ever wanted anybody to be able to take advantage of me the way that that person did and those individuals did. So with that being said, and it was a difficult decision, it was a really difficult decision. And I struggle with it now as I share with you. I don't want everybody in here knowing that I was molested. There's a label that goes with that. But I had to make a decision for me, Madison had to make a decision for her to say that, irrespective of everything that's going on, Stacey, you are an amazing woman. And that's where I am today, because all that other stuff was farce. I was doing things that I didn't even believe in, right? Because I didn't want how people thought about me. So when you get to that point, Jazz, where you are true to who you are, I'm Stacey Lewis, a 48-year-old woman who was molested by men and women, and damn it, I'm new today, right? It's different, but you have to, and I can say that, I couldn't say that before. That's what a decision looks like. When this lady says to herself, hey, I grew up for years and I didn't want to be a lady, but now I'm a, and beautiful, might I add? Stunning. What? Stunning. So those are the conversations. So for you being one of us, we love you. Whatever it is, shake it, baby. Whatever it is, shake it and move forward. You'll be all right. Decide to be great. We'll be right back with more Every Way Woman. Absolutely. Stay tuned. Oh my gosh.


Wydwch chi'n gwneud y peth i'r ddechrau sy'n credu i chi yw'r gwynhau? Fe'n syniad iddi o ddysgu o ffagrwyd-rhyw. Fe'n mynd i ffugodwch chi'n ddim byw yn gweithio, mae'n ffugodwch chi'n ddim byw yn ddim byw yn gweithio ar y dal o ran jymd, bobl ynwys i'r ddurtyn ym fence. Mae'n ddim byw i'n digwydd i'r ddill i'r ffeiliau Pw dealu. Mae hyn yn ddyli o'r maen nhw'n gwneud i'r ddill ar y gallu ddill. ac yn ystod, ac dyn nhw rwy'n ddechrau ddweud o'r 10 oes cyflogion ac yn angen i chi'n gweithio, a ddweud o'r gael. Ddweud sut yn ei wneud? Ddweud y cyflogion yn rhan o'r ddweud o'r grannu? Rwy'n ddim yn ddweud o'r cyflogion oherwydd rwy'n ei dweud o'r 23 o'r 30 o'r 15 oed, astud yn yr oed, ac mae'r cyflogion wedi'u cyflogion yn bwyddod i'r rhaid o'r rhaid o'r 2 oed? I think for five minutes we stopped pressing and it led to them getting out, for example they had time to play that ball in behind whereas first half were on top and were putting loads of pressure on them and they couldn't play that pass, they didn't have time for it but they did in the second half and that's where we conceded. Do you split it into positives and negatives or positive elements of the game and things that we know we can improve on obviously like we said first half, 15, 20 minutes looked really strong and in the second half just seemed to dip off a little bit. I think yeah, there's positives and negatives, we've got to work on the negatives and saw it out but I think you've got to take the positives out of it and take it into Saturday and hopefully get three points. You'd be still confident I imagine obviously Tuesday a really solid away performance at Derby after a couple of results where yes we could have had better results but the performances by and large were there, it's just little 5% and 10% here I would imagine here and there that we need in order to strengthen that game. Yeah it's not something we need to change, that's massive, it's just the little things like today being clinical I think that could have been better today from us but yeah we've got to take the positives out of it and go into Saturday with all guns blazing. It's 400, 450 away supporters in the away and I guess that's always good a long trip down to see them turning out in the numbers and getting behind you guys. Yeah yeah we always expect them to be here, we know what they're like, they're unreal, just like to thank everyone who travelled today for our trip so yeah I appreciate it. It's been a hectic period as well last month so the festive period and a week coming up now without a fixture will that be welcome for you guys in order to get back on the training pitch and put full focus into what needs to be improved ahead of Doncaster next week? Yeah we've got a full week to work on things and get things sorted for Saturday so we can be the best we can be to go and beat them.


On main time, the Chief of Army Staff Lieutenant General Farooq Yahya has assured Nigerians that the Nigerian Army would remain focused in tackling the myriad of security challenges but develin the country. Yahya gave the assurance in his goodwill message to the officers, soldiers and their families on the occasion of the Edo Kabir celebration 2021 on Monday in Abuja. He said that the Edo Kabir festival highlighted the virtues of loyalty, obedience and sacrifice which were the hallmark of professional soldiering. According to him, each festival therefore provides a unique opportunity for Nigerians to reflect and redouble their efforts towards fulfilling their constitutional roles of defeating adversaries and offending the territorial integrity of Nigeria.


Alright, so let's move on to creating a tool that allows us to scatter a bunch of these guys around some sort of terrain or any surface really inside of Unity. And so what I'm going to do is I'm going to utilize the Houdini engine to give me this power because what I can do is I can create an HDA here inside of Houdini and import it into Unity and it'll work just like if I had actually programmed my own tool inside of C sharp or something. Okay, so really really powerful which is why I wanted to show you know this complete process from creating you know a grass blade texture to creating a clump to scattering it to exporting it and now finally to actually scattering a bunch of these onto a surface. So let's go and create some sort of geometry node here.  So let's just call this our IP terrain. Let's actually spell that correctly. We'll call that terrain generator something like that. Alright, and what I'm going to do is right click on it right away and I'm going to create an HDA out of this. Okay, or Houdini digital asset. And I'm going to adjust these names because this is going to be the label that you see when you create this. Alright, and we're going to destroy all spare parameters. Alright, so what we get is the edit operator type properties window. And this allows us to basically interact with all of our HDA properties if you will. So we can go and create our own custom user interface. So for instance you can see that our current geometry node you know has these tabs up here for its properties. Well I don't want to see those. So I can go in here in the parameters tab here. Right, I can go in here and I can select all these guys and I can say invisible. There we go and that actually wipes out the UI. And we can go and then and add our own UI. So if I just drag and drop any UI element from this side and into this side and hit apply, you can see now I have a float value. Alright, and I can use this float value to feed into my actual terrain. So what we're going to do is I'm going to call this the terrain size for the name and then terrain size for the label. And this basically is going to be within a range. So I want a minimum size of 10 and maybe something like 100. Alright, we're going to try to make a pretty large little grass field here and I'll set this to something like 30 by default. Alright, so I'm going to hit apply and accept there for now. Now there's so much more to know about creating HDAs and it's kind of out of the scope of this particular course, this little mini course. I do have plans to make it more of a mega course if you will.  But for now, I would just follow along with the steps here.  Alright, here's this grid right here. Awesome. Alright, so what I want to do is I want to attach the slider that we created up here to the size of that grid. So I'm going to right click on it, say copy parameter, jump into my terrain generator and just paste that in for the x and y size here. Cool. Alright, we also have control over the resolution of this particular piece of geometry. Okay, and so what I want to do is I want to actually tie, I just want to use one slider to change the resolution because I want to keep all the polygons perfectly square. So I'm just going to right click on rows here, say copy parameter and then paste relative reference. So now all I have to do is just, you know, slide one slider and I get resolution. And every single polygon or primitive here is the same size. Alright, cool. So let's actually promote this parameter up to the top of our HDA. So I'm going to right click on this and say type properties. I'm going to jump back in now to the node and I'm going to hold down alts and middle mouse click and that will then promote that to the parameters, our type properties up here. Okay, so I'm going to apply and accept that and now you'll see that we can control our rows, our resolution here. So if I hit W on the keyboard, I can go to wireframe mode. That allows us to control the resolution from the top here. We can also control the size all at the same time. So cool stuff. Alright, so I'm going to disable the display of my skylight there and hit W on the keyboard so I can get back to the non wireframe mode there. Okay, so let's go back into our terrain generator. And what I want to do is just give this some basic noise. So I'm going to say mountain for a little bit of noise. What this will do is it'll allow me to create, you know, kind of a little grassy null, if you will, with, you know, some nice little undulations in the terrain and stuff like that. Okay, so maybe something like that and maybe a little bit bigger, maybe switch over the noise to a sparse convolution here and then increase the height a little bit more. This way we get some mounds and stuff like that. It'll look cool inside of Unity. Alright, cool. So I think that's going to be good for a default right there. Alright, and then one last thing I really want to do here is I want to be able to colorize this by its current height values. And so I'm going to drop down an attribute wrangle node here. And what I'm going to do is call this my colors. Like so. Alright, and so what I need to do is I need to find the minimum and maximum size. So if I were to go to the side view here, the front view, I need to find the distance, you know, from our maximum point down to our minimum point and then basically create a gradient between all the points y heights here inside of this grid. Alright, and so to do that, what we're going to do is we're going to create two vectors. So I'm going to call this box min and box max. Okay, and then I'm going to pass that into a get BB box function. We're going to get the bounding box information from the first input or input zero right there. And then I'm going to pass that into box min and box max. Like so. Cool. Alright, and so then with that, we now have the information about the minimum and the maximum y of this particular grid. And so what I can do is I can actually create a ramp value. Alright, so I can say float gradient alright is equal to our fit. And we want to fit our p dot y between our box min dot y and our box max dot y and we want to fit that between zero and one.  Okay, so we can verify that now if we pass that gradient value into our color like so. Voila, pretty cool. Okay, so then with that, we can now override the colors. So actually I should just leave that there, but this time I want to utilize a ramp.  Okay, and so what we need to do is hit this little spare parameter button and this allows us now to control the color. But you'll notice that this particular ramp right here is just a single float value. I need to actually turn this into a color ramp.  You can see it's currently set to float type. So what I want to do is I want to set to a color type. So with that all we need to do is hit apply and accept and now we can control the colors because I want to give the top kind of a grassy look and then maybe as it gets down into the lower areas it becomes a little bit more dark like a dirt. Maybe more dirt is exposed there or something like that. We can clamp it up a little bit. Not going to be pretty good I think. Cool. All right, so with that we are good to go. So I should put a null node. I should also say this is not necessary but I like to do this because it's a lot easier to find these particular nodes when you're doing a lot of object merging. So I'm going to say out turret. I'll capitalize it too. Cool. All right so now we got that all set up and one last thing we need to do here before we test this out in Unity is to promote our ramp up to our HDA. So I'm just going to open up my terrain generator select the attribute wrangle that's handling all of our colors and hold down Alt and then middle mouse click and that'll put our ramp or color ramp into our HDA properties. All right so now we're good to go. So you can see now we can control our terrain size and our resolution and our colors from the top of our HDA there. Excellent. Very cool. So I'm going to right click on this and say save node type and I'm going to jump over into Unity here because what I want to do now is test this out in here and that this is only possible because I do have the Houdini engine installed and I'm currently using Houdini 17 and Houdini engine version 3.2. All right so you need to have at least an indie license for this to work too. Okay so let's go into our Houdini engine tips and we have our HDA folder here and what I want to do is I want to open this up. I actually want to open up this folder so I want to right click on this and say show an explorer. There we go and then I want to go to my documents folder and go into my Houdini 17 folder and that's where my OTL is going to be or my HDA I should say. So I'm looking for the IP terrain generator. There we go cool. Okay so now we have it inside of our Unity project so let's just drag and drop that into the scene. All right so there we go. So now we have a pretty large terrain here and see that our grass close is actually pretty tiny compared to that. And that's probably because when we go and export things out of Houdini we need to basically multiply it by 100 here. There we go. There we go. That's a little bit better. I think it's a little bit better. Look at what this is going to turn out to be like. So we have our terrain generator now and we can go and we can change the size, we can change the resolution you know it's whatever you want. Go ahead and change these colors. It came in a little dark here. I'm going to change that spacing so you have full control over all these particular elements here. So let's do this and just kind of brighten it up a little bit. There we go. That'll be cool. All right so now that we've got that let's move on to getting our particular grass club scattered onto the surface here. Thanks so much.


An investigation by a top English cricket team into alleged racism in the club has exonerated an alleged abuser after judging that the term packy is just ordinary banter. It's an extraordinary finding from a team in England's top league and the details only make it worse. This is the story as written up on the ESPN cricket info site. At least one Yorkshire player admitted to regularly using the term, I'm not going to say over and over again, so the P word when talking to Azim Rafiq, but he was cleared of wrongdoing on the basis that it was perceived as friendly, good natured banter between the two players. The player also admitted to telling other people don't talk to him. He's a P word asking, is that your uncle when they saw bearded Asian men and saying, does your dad own those in reference to corner shops? Despite admitting recalling that Rafiq broke down in tears at one point, the player insisted he had no idea he was causing a fence and would have stopped if Rafiq had asked. The individual concerned is a current senior player at the club. It really is an extraordinary story. So ESPN, that's the site we're getting this from, report that lawyers who were charged with collecting evidence for the report found comments aimed at Rafiq had been, and I quote, capable of creating an intimidating hostile degrading humiliating or offensive environment and they accepted Rafiq's evidence that he was offended degraded or humiliated. So those were the lawyers who were collecting evidence for this internal report, internal to the cricket club. But the panel who were charged with making conclusions and recommendations, including, would anyone be disciplined for this? They disagreed. That panel included a non-executive member of the Yorkshire board. So according to ESPN, the panel's conclusion state, the panel does not accept that Azim was offended by the other player's comments, either at the time they were made or subsequently. They go on to say that in the context of banter between friends, Rafiq might be expected to take such comments in the spirit in which they were intended, i.e., good-natured banter between friends. So it was not reasonable for Azim to have been offended by the other player directing equally offensive or derogatory comments back at him in the same spirit of friendly banter. Now, this whole comments back at him elsewhere in the story, they said, oh, this guy, he's clearly fine with racial epithets because he called another player a Zimbo. Now, I'd never heard that term before for someone who's from Zimbabwe. Apparently, as far as I understand from the commentary, that's similar to saying an Aussie, is not similar to saying a Paki, saying that this is just banter is ridiculous. Ash, what's your take on what the hell is going on here? I mean, this is like the anti-grave Richard Key's sexism row all over again, when clearly what you have is a very toxic culture in which bigotry is, you know, has the blind eye turned to it because it's seen as part of the banter and part of the relationship between men. And that bigotry, even though it's coded as humor, actually has hugely detrimental impacts on people who are targets of it, whether that's sexism, whether that's homophobia, whether that's indeed racism. And so the fact that it's so central to the culture in and around sports, I think is very depressing. And what you would have hoped is that Yorkshire County Cricket Club would have shown some leadership and said, you know what, we need to wipe the slate clean. We need to say no more of this. We want to have a cultural change. We're clearly a diverse club where people come from all sorts of different backgrounds, and they need to feel welcome. And that is a real failure of leadership on the part of this panel. And the fact that they deviated, I think, so dramatically from the findings of the investigation team and the lawyers, I think also tells you that perhaps that they've got a particular interest in in drawing a veil over this culture rather than disinventing it with sunlight and getting it out in the open, tackling it head on and saying no more of this. So it wouldn't surprise me if there was actually more going on to the surface, perhaps more people implicated various forms of sexist or racist or indeed homophobic behavior. And that's why there's an attempt to brush this all off as friendly banter. And I just want to say this thing about friendly banter because you know what, Michael, I'm not in the business of trying to police how friends relate to each other. Okay, everyone's got different levels of tolerance for humor, which sort of, you know, treads these lines of offensiveness. That's going to differ from friendship group to friendship group. And that's perfectly fine. But even within the context of friendly banter, which involves a bit of teasing, a bit of joshing, a bit of making fun of someone, I could say, for instance, do your hair makes you look like Tweety Pie? That would not give you the right to call me a packy. All right, these are not of the same order. And this whole business of, well, he would have been expected to take this in the spirit of friendly banter and the spirit in which it's offered. Well, I think that any time you mobilize a slur against someone, you have to be pretty damn certain of how they're going to take in if they are indeed driven to tears as this cricket player was. I think that's the point where you go, no matter how I thought I meant this, it was clearly received in a different way.   But the fact is that didn't happen, right? That level of upset in the tears went ignored. And indeed, it seems that there was a pattern of these kinds of jokes being made against this one particular South Asian cricket player. So I think that tells you something about how toxic the culture is. And the stuff about friendly banter is just a flimsy excuse for why it is people turned a blind eye to it for so long. The panel, not only did they say it's banned between friends, but they said Rafiq might be expected to take such comments in the spirit in which they were intended, i.e. good natured banter between friends. So it's basically saying if he was offended, you know, that's completely his fault. And actually, it's pretty unreasonable that he even got offended. Maybe he should just grow some thicker skin.  It seems extraordinary that that would ever get written down. You know, I can imagine that being said in a boardroom by some sort of racist reactionary people in the higher echelons of a cricket club. But actually thinking that's a sort of legitimate thing to write in an official report does kind of beg a belief. I know that the English Cricket League or the English Cricket Board are going to come in and sort of have a look at this. Do you imagine this will be overturned, Ash? I think that if they've got any sense of PR, self-preservation, then it will be overturned because it is, as you say, so egregiously victim blaming that it can't really stand up in the court of public opinion and rightly so. One of the things I want to say is that we have a tremendously contradictory attitude towards racism in this country. Because on the one hand, we have this idea that what racism is is when somebody says a slur. So then if you don't say the slur regularly, whether that's Paki or the n-word or something else, then you go, well, I couldn't possibly be racist. I just don't want my daughter to marry a Muslim. So that's the one sort of end of it, which is unless you say the slur, you're not racist.  You had Jeremy Clarkson being caught on camera using the n-word for a version of Eenie Meenie Miney Moe that I had never heard in my life, which involved saying the n-word. You had Carol Thatcher, Margaret Thatcher's daughter, I think when doing some of the coverage for Wimbledon, allegedly referring to a tennis player of color as a goalie walk. There is a tremendously high threshold for this kind of behavior. Because then when it comes out, particularly when it comes out that this language was tolerated within quite elite spaces, people start bending over backwards to start talking about how within that context, it was okay. It wasn't okay. It absolutely wasn't okay. And if it was okay, then you wouldn't have reduced someone to tears in the first place. If it was okay, then you wouldn't have people saying, why the hell is Jeremy Clarkson saying the n-word? You wouldn't have said people decrying Carol Thatcher for the use of the word gollywag. But that goes right to the heart, I think, of this, you know, I think very duplicitous understanding of racism that we have in this country. One is we say it's all about the slurs. We also have hypersensitivity when it comes to certain forms of language. And then on the other hand, when the slurs do actually come out, we go, oh, it was just banter. It was fine. There was no, you know, real malicious intent behind it. I don't actually care what your intent was if you're saying the word packy, unless you are literally South Asian and you're one of those people who think that should be reclaimed. Personally, I don't think it should. But that's just the difference of opinion. Unless you're South Asian, you think should be reclaimed. It's not for you to say ever zero context.


From Yorktown Heights, New York, it's theCUBE. Covering IBM Cloud Innovation Day. Brought to you by IBM. Hi, I'm Peter Burris, and we are broadcasting theCUBE from IBM Innovation Day, the Thomas J. Watson Research Lab in Yorktown, New York. Got a great number of guests to talk about. We're going to start with Hillary Hunter, who's the CTO and Vice President of Cloud Infrastructure at IBM. Hillary, welcome to theCUBE. Thank you very much. Pleasure to be here. So you're relatively new in your role. Tell us about some of the things that you're focusing on as a CTO of Cloud Infrastructure here at IBM. Yeah, so as CTO for Cloud Infrastructure, I'm focused on making our cloud the best possible place that it can be for people to bring their data, bring their applications, and overall come into that modernization journey with us, the process of transforming to become a digital enterprise. So one of the things that people talk about all the time is how fast data is being generated. Nobody seems to be talking about how fast software is being generated. And yet that seems to be one of the advantages and potentially the liabilities of doing cloud wrong. Talk to us a little bit about how IBM sees the role of software changing as we move forward with the cloud. Yeah, you know, there are parts that are consistent with what we've seen for about the past 20 years in open source, and there are parts that certainly we feel like are accelerating and changing. So with regard to the pace of software and its change today, open source is clearly this innovation space. It's this playground where lots of people can go and can contribute. You know, we can take, we're here at the IBM research facility. We can take the latest in innovations and, you know, math that helps us accomplish great AI and AI insights. And we can take that into open source. We can take, you know, microservice integration capabilities and take it into open source and work there collaboratively with people across the industry. And, you know, what we see there for is a tremendous rate in pace in change of software and the capability of software and its ability to analyze data and bring insights to data and realize the promises of big data, of getting insight out of that data is just really on a tremendous growth rate. And when you move to cloud, you're not just, you know, doing what they used to say of converting, you know, capital expense on premises into OpEx and renting a server in the cloud, you're bringing your overall workload and modernizing it and bringing it into this era where you're able to apply through microservices and cloud-based programming methodology, you're able to bring the latest of software capability to your data and get more insights out of it. You're really able to alter the operating model of how your technology group works but also how your business works. Absolutely. How does Red Hat play a role in this? Well, you know, we have shared principles with Red Hat. You know, we both have been active in the open source communities. You know, IBM famously had, you know, billion dollars of investment in Linux going back 20 years ago. And Red Hat is a prominent aim in open source. So we have a shared understanding of the value of open source and the value of a rate in pace of innovation that's commensurate with what open source provides. We have a shared value around what enterprises need and a shared client-centric view that you need support on your software, that you need certifications, that you expect security, those kind of things. And so there's tremendous amount of shared value proposition in what we see as the rate in pace of innovation as well as then moving that into an enterprise context. Enterprises make these choices very carefully. And as consumers of enterprise capabilities, we expect them to guard our data. They expect them to do things on our data in a secure way. And there are many foundational elements in philosophy that are similar between the two of us. So you mentioned that cloud started out as kind of this notion of capex to op-ex, move all your data to a single place that somebody else deal with it. But increasingly enterprises are starting to recognize that their data may sometimes have to remain in place. We start talking about innovation, open source, these new classes of services. What is it going to mean to bring the cloud experience to the data from IBM's perspective? Well, we really see that the data today exists in multiple places that largely because of that, people are part way through their journey to overall modernization. They're part way through their journey to the cloud. And we really think that the world is going to be hybrid, meaning that, or that the world is hybrid, I guess I would say, meaning that there is data and there is cloud function needed on premises and in public clouds. There's a need for private dedicated environments in the public cloud as well. And there's a significant amount of IT that is currently traditional and that people are in the process of modernizing and that may initially be through a private cloud context on the journey to overall workload modernization. We also see that the world is multi-cloud. People are using upwards of nine clouds or more in many cases and that in a lot of cases has to do with this intersection of function and data residency and being able to bring together all those pieces of where the data needs to be or where the data currently is and then bring software function to the data is something that we see as critically important. So without being too specific in the use of the word binding, today the idea is you bring your data to a cloud supplier and then you can run the services of that cloud supplier supplies on that data. Do you and IBM foresee a world in which the customer is going to be able to control their own data and then acquire the services from the cloud and bring it to their data? Is that kind of the direction you think it's going to go? Not only do we see that it will be possible, we think that it is possible and we're putting things in market already today that enable people to bring cloud function to their data. The IBM cloud private offerings and IBM cloud private for data enable people to in their environment where their data resides, bring sophisticated data warehousing data analytics and AI capabilities and fundamentally that process of workload modernization is a set of steps and it starts with data and it starts with modernization of that environment and it matures then into being able to get deep insights through the power of AI on that data. Let me ask you one more question. In February, IBM is going to host 30,000 plus people in San Francisco, unbelievable opportunity for networking, learning at IBM Think. What kind of conversations do you expect that you are going to be having at Think in 2019? You know, I think you hit at the heart of the conversations that we're going to be having at Think in our positioning of the hybrid multi-cloud environment. Our other core tenants there are open and open source and keeping up with the rate and pace of open source as an innovation stream, providing choice in how folks are deploying cloud and deploying systems. We also are going to be having conversations about security, that's a core enterprise value proposition and ultimately management. You know, you want to not just declare that the world is hybrid and multi-cloud but provide solutions to that and we believe we have strong answers to how to bring these pieces together and enable people to successfully move at the rate and pace of innovation that they need, yet in a secure context and leverage the ability to deploy cloud capabilities where their data currently is, be that on private or public context. Hillary Hunter, CTO and Vice President of Cloud Infrastructure at IBM, thanks for talking us to theCUBE here today at the IBM Innovation Day. Thank you so much for having me, it was a pleasure. And we will be back more momentarily with more conversations at IBM Innovation Day.