examples of attacks and how AC Linux can help mitigate some of the attacks. If you just hang around I'll just go through these slides it will take about 10 minutes and you have some flavor of what you can do with the AC Linux once you have it on your system. I'm going to use this the paradigm of patterns to go through the attack and defense mechanisms. A pattern is a general purpose solution, a general purpose example of how things can be done. It is not specific to any particular system or example so let's see I'm going the wrong way. All right phase one attacks let's let's look at the buffer overflow attack. The name of the exploit is buffer overflow. The goal is to inject malicious code on the stack or in a server application so that something running with privileges does stuff that you want to do. So the constraints on you are you've got to actually discover a buffer overflow in some kind whatever you're trying to exploit and then you've got to actually deliver the user input that will cause the buffer overflow. The solution steps are you know fairly straightforward. How do you protect against this? Well if you're an application writer you compile with certain things you make you as a sysadmin you can make the stack non executable you can have the no exact patch in the Linux kernel but you can also help out with security policy where you can contain a buffer overflow attack even if the stack is still executable and you haven't gone over to the no exact patch. What you do is you set private file types for your application. So you've got log files the files that application uses configuration files the executables are all put in a different security domain. By default nobody is allowed to execute your application. So and your application cannot access any of the rest of the system because now your application lives in a security domain by itself. Then you add in rules that allow your application to you know run and access its own log files right to its own log files. You don't allow it to modify the log files. You can say that your application can create a new log file it can append to a log file. It can only read from a configuration file. So you're limiting your application's access to its own files. You provide a macro and interface so that other people can be allowed to run your executable. If you don't do that then you're well there's no point in having this on the system because nobody will be able to run it. If you do this if your application is compromised nothing else can be affected because your application does not have any rights to access any other file on the system. It can read its configuration files but it can't write to them so it cannot even you know affect itself on the next time it runs. If it can only append to log files the hacker the person who's broken in cannot erase all logs of the intrusion and nobody else will be able to run your application unless you have given them explicit permissions. So if somebody some other application is compromised they won't be able to fire off your application and access the resources. Okay let me I think I've got that. Let me answer this and if I have missed something that you needed to ask I'll come back. The question being asked was what does it take does it only have to be done once for an application say take Apache what does it take to write a policy for Apache configuration files log files etc. Well the first thing you do is somebody who is writing policy you put Apache the executable in its own domain you try to run it in permissive mode and a Selenax will spit out all kinds of warnings that hey Apache try to access that config file you look at it if it feels right you write down that policy policy role. You can there are mechanisms in place which might help automate part of this look at what kind of error messages emitted apply heuristics there's a little bit of an AI kind of thing thrown in and outcomes a lookup Paul Jen apt get show Paul Jen P-O-L-G-E-N and no not Paul Jen P-O-L-G-E-N without the Y so and that gives you a hint of how you can get right Paul there is a guy a researcher at IBM who is doing static scanning of scores code goes and looks through this finds out where thing you might have security events occurring like writing to a log file and then puts in little hooks there where you can where it will check for policy and check to see whether people are authorized or not so if it all works out you just run that scanner against the source code it's emit something and you massage that into a security policy but once you have written it every upgrade it should not it has not in my experience I've written Apache security policy and new versions of Apache don't require changes most upstream right now are not really into a salinex because it's not deployed widely enough for them to be able to want to spend that kind of time so for the near term pushing policy upstream while it is desirable is not likely to be realistic however you don't really need that fine-grained knowledge about the internals of the application because you just let the application run see what they see the next doesn't like about it and then you can you have at least something to go on you still need to go and look and see if the application needs to be doing that but at least now you know what you should be looking for okay I wasn't aware that we were recording but I will listen now this is the next little thing I found this a really interesting exploit there are people who were this is actually a two-level exploit somebody found a vulnerability in internet information server they infected that and they set it up so that when internet explorer came to it it was given a JavaScript snippet to run the java snippet JavaScript snippet caused Internet Explorer to go to a and their website and download something from there and execute it the second website of course was the hackers website what was downloaded was a key logger and everything that was typed in into Internet Explorer from that point on was logged and sent over to the cracker this of course won't be possible if we are they were using a Selenix because a web browser wouldn't be able to run it downloaded key logger because it's not authorized to the deny by default helps us here the web browser would most likely not be able to even send data to a site like that because the information flow path would be prohibited the information is not coming from the users keyboard is coming from the key logger and going across that which is not permitted so the policy that we will create would to create is sandbox not just for the web server but for the web browser restrict access to local files for example my Firefox should not be able to read my GPG keys it should not be able to execute any random binary and outgoing network connection should only be possible say if the key they modify the key logger to send the data directly it shouldn't be allowed to talk to the network because outgoing network connection should also be restricted so what if instead of running a key logger the browser gets piggyback with an above all flow so it's the same binary talking back to the network a security policy can't protect you against everything so yes if the if there was a two-level exploit in which first they exploited the web server and then they came back and found exploit in the browser that you are using then anything that the browser has access to could be disclosed to unknown locations my tip for that is don't run internet explorer you can't do everything in a security policy it just makes harder to crack your box or the log file once it's a cracker is in one of the things that they need to do is erase all evidence that they were there especially if they want to keep control of your box over extended periods of time so this involves things like wiping out all audit fails and logs must be erased and traces of the eraser itself must be erased which generally means you look at etc syslog.conf and find out where the log files are and then you edit all the relevant files and then you edit U TMP W TMP last log to show erase all evidence that you ever logged in and then finally go in and you edit the shell history files to erase all evidence that you did this with a salinx what you do is every you set up a general this is a pattern that every application which has log files should follow this is kind of a best practices thing we need to protect the log files but we also need to allow backups to be made of the log files so every application provides the interface to read and delete log files in the security policy the application can create an append to the log file but the application itself cannot delete or change a log file log event that is already in the file so even if the application has been taken over you can't go back and say edit and refurbish the log files there's some application that can read the log file but they won't be able to write to it a special role a special user is required who can modify and delete log files if you've got if no application can ever be in that special domain where they're allowed to read and modify and delete log files then no automated attack can compromise the log files you need a human to come in take a role and run vi as themselves in order for log files to be changed log rotation is split up into two parts the first part is the last particular log file in a sequence is deleted then normal log rotate runs and now it finds that the last file is not there so say log dot six was deleted by the special application log dot five can now be moved to log dot six etc etc so log rotate can still continue to work as long as it runs after the log scrubbing utility there are examples of log scrubbing it's a simple script you just run it before log rotate it reads the files finds out which ones are going to be rotated and make sure that the oldest one is deleted or better you make sure that the oldest one is moved to a separate directory there that a and only deleted from that other directory say once a month if you're moving the last file you can you know put it in a new file in sub directory based on date so there are ways to allow you to do this and still allow log rotation to work complicated yes but then security is not easy which is I spent so much time trying to scare the living daylights out of all of you about how bad the situation is out there and it is bad any questions comments at the hack lab I can I can pull up a example I can write up a little a silly next policy for say module foo that and explain what I'm doing in that policy so that people can have a idea of what's a silly next policy writing feels like okay thank you guys for staying for this part


Up next another running back and it's Miles Sanders for Philly their backfield was a mess Really ever since Doug Peterson got there with who he was gonna rely on and who he was going to give Karius to I have a feeling The same holds true for 2019. Why do you think Miles Sanders could get the bulk of the work? Yeah, I think you're right I mean if you look at Doug Peterson's offenses since he's been there in Philly the highest rushing share that we've seen from a Running back is at about 37% which is not very high They've really run with a committee approach now with that being said you could argue that Miles Sanders is the best talent That they've had at running back since Doug Peterson has been there. They spent a second round pick on him That's really telling that he's going to be used right away. They did just get Jordan Howard So obviously there is some early down work that he's gonna be competing for but Jordan Howard not much of a pass catcher Miles Sanders was one of the hot hot one of the highest reception shares in this class During his final season at Penn State So I think that Miles Sanders will walk in be an all-around every down type back for Philadelphia The problem obviously is that he's gonna be in a committee So I think that he's gonna put up RB three type numbers But there really weren't a lot of landing spots for running backs to go to produce right away Which is why this is sort of a win for Miles Sanders not only in redrap this season But dynasty as well well Sanders valuable given the draft stock Philadelphia invested in him and you know they want to come out of this draft with running back And how he rose man got his guy in the second round the Eagles invested in Miles Sanders Which means you should take a pretty aggressive approach here and invest in him as well


So, a few days ago, the Metro published a article saying that playing a lot of video games causes people to do all sorts of weird things. Now this isn't a new argument, a lot of people have been saying that games such as Grand Theft Auto or other violent games can cause psychotic tendencies in real life people. I'm just to say that people who play a lot of games, they fell to differentiate between what's in the game world and what's in reality. So things like this happen. I can't read. Yeah, press the triangle button and you'll be able to jump up and get it. Not to get into the argument whether this is true or not. I think when I still look at, you know, does this phenomenon occur in people who spend long times doing other kinds of stuff, such as... Select star from answers where question equals three. I'm going to my friend's house. Okay, wait. Do you mind if I check your bag, please? You know you're not allowed any liquids, any suspicious items. Why don't you come over and step to the scanner, please, man? Thank you. Okay, but mind the gap, please. Mind the gap. Let other people off the bed first. Hey, man, open up. I really need to go. You take your time. You see, you start to see how ridiculous some of the claims start to become because people immerse themselves in things all the time. It's a bit like saying people who work in security all day long come home and then they put on a black hat and start hacking service. So anyway, that was my little point of view for the day. I haven't had time to do a proper video this week. Lots of stuff that was going on. You can read all about it when I publish my memoirs in a few years' time and find out really how interesting my life is. Stay secure, my friends.


Good day, Sandrusha. The Ministry of Commerce is pleased to report that its first call for applications for the MSME Loan Grant Facility has been over-subscribed. The MSME Loan Grant Facility is an EC $10 million program aimed at providing post-COVID-19 relief to registered qualifying businesses. It is a combination of 70% grant and 30% loan funding, at an attractive interest rate of only 3% on the loan component, with no collateral requirement. It is anticipated that the Ministry of Commerce would have received approximately 180 applications from the priority sectors, and that includes manufacturing, professional services, agriculture and agro-processing in the first call. I wish to report that we have received 501 applications from the first call, and I am extremely grateful for the level of interest and commitment demonstrated throughout the island. It is also very rewarding to see that our efforts have resulted in new applications for registration of business names and companies. I am confident that MSMEs regularizing their status and formalizing their operations will allow for increased access to funding opportunities. To lengthen the support to our small businesses and to maximize the use of the funds under the MSME Loan Program, the Government of St. Lucia has approved on behalf of all the MSME Loan Grant awardees, 100% waiver of custom duty on imports, including fixtures and fittings approved under the facility by the Ministry of Commerce during the period April 1, 2023 to March 31, 2024. In keeping with the Government's desire to promote sustainable business practices, the awardees will also be granted 100% duty exemption on imports of renewable energy and energy-efficient equipment, devices and fittings. I take this opportunity to encourage all MSME Loan Grant awardees to use the funds for the purpose intended. I remind all that my government, the Government of the St. Lucia Labour Party, is committed to supporting the sustainable growth of businesses to increase the contribution to the economy of our country. May God continue to guide us on this operation.


All right. Ricardo, it is such a pleasure to be here with you today and I'm really looking forward to the next 25 minutes together. Exactly 20 years ago, you co-founded King, the maker of Candy Crush. And with this, you helped pioneer the era of mobile gaming. You welcomed billions of players to this form of entertainment. You entered pop culture. And with King, you've created one of Europe's biggest success stories. And to this day, Candy Crush remains one of the top games played globally. It's been downloaded more than 3 billion times. Truly incredible. To kick us off, given your journey and given how far the industry has come, what's your take on where mobile gaming is today? 20 years on since you founded King. Good morning to everyone, first of all. Yeah, it's been a long journey. I've been doing King for 18 years. I left four years ago. So I've been watching now what's happening in industry from the sidelines in some way. But it's super interesting because a few things surprise me. So one of the things that surprise me is that in an environment which has become extremely competitive, it's still possible actually to emerge and build basically unicorn companies. I mean, a good example is one of the index investments, Dream Games. And you can do so with taking elements that actually are pretty proven and having a fantastic perfect execution on this. So that's been surprising. I think that has also been surprising to me is we sold Candy, we sold King in 2016. And since then, Candy has been doing extremely well. So the revenues have been growing and it's become a key part of Activision. Now, Activision just sold to Microsoft and Candy is doing incredibly well, still one of the top games in the world, both in terms of reach and monetization. And fundamentally, when we went public in 2014, everyone was talking about diversification. And when we met, we worked together with Activision, they were talking about diversification. So in the sense that when you have a game that does really well, what is proven also is that you have longevity in the games. So you don't always have to come up with the next game. But if a game is really strong, has a strong brand, a strong user base, if you focus on execution, on making the game better, surprising in the game, and you keep customers entertained, you can actually keep them for a very long time. And the game is still there in the top charts. And I think Dream Games is another example of that. I appreciate the mention of Dream Games, of course, another company that we've been fortunate to partner with. And actually, one thing that I've learned from both Sonar, CEO of Dream Games, and from some of the conversations that you and I have been having is that product is at the core, and it all starts with a product, and that you don't need to innovate across every area of the product. But you need to have that culture of excellence, and every decision has to be well balanced and really well thought through. So just to build on what you were saying, how do you create that kind of culture of excellence across every area of the product? Maybe I start one step before in terms of the topic of innovation versus execution, and how is one important versus the other. I'm a big believer that if you want to have success, especially if it's in a very competitive environment, marketing is cheap if the product you have is not just useful, but also innovative. And innovative for me means distinctive from what the competition is offering. And if you don't, then marketing is very expensive. And if the product is distinctive and useful, then the users will also talk about it. We're recommended to others, and therefore marketing is cheaper at the end. Now, how do you create something that is innovative in this industry? And here talking about our experience, you know, we were never first. We were not first on Facebook, and we were not first on mobile. And when we launched the first time on Facebook, everyone said, guys, forget it, the market is already established, Zynga got already 80% market share, it's so much bigger, they will copy you anyway if you come up with something new. And then in mobile also, when we launched later on mobile, we were not the first. So what did we do? So we did not follow what all the others were doing. When we launched on Facebook, everyone was focused on resource management games with Zynga first of all. And what we did before launching on Facebook, we created a lot of games, more than 200 games on the web. So we took the best games that we created at the time and re-proposed them with a core gameplay that was a match three. So we didn't innovate on the core gameplay, but where we innovated was taking elements that were proven by putting them together in a new way. So the match three game that was very shallow, we made many more levels and we allowed you to play with other players in a non competitive way seeing them on a map, which now everyone is doing by the time no one was doing, everyone was focusing on resource management. And that's where I think innovation comes in a way that you don't need to invent everything. Once if you try to invent everything at the same time, then it's actually the risk becomes massive. You can come up with something like a new Minecraft, but the chances that you do are very slim and it's very tough. If you take elements that are easier for the user to understand and to get into and then you innovate around it so that the user actually prefers your game versus others and wants to recommend it, that's when suddenly you have something that has high retention. And when you have high retention, then that's the base for everything. From there, you can do marketing and scale the company. And so how do you know when you have a winner? Well, our metric, our key metric was retention and is retention also. So anything that is over 40% day one is a good game to give you put it in perspective. Candy Crush when we launched it was 65% day one retention. And once you once you have and that was the start and when you have that then you can optimize and make it better. And from there you can increase and optimize the day two, day seven, day 30 retention and make sure that the users basically stay and then you can also apply the monetization and then innovate also monetization. We know that it also on that side, but the retention is the number one. If the retention is not good, then you lose the customers and there is no way that you can optimize any optimization after that is is hard work. And at what point can you tell you know some games they start off with some retention and then they keep iterating and tweaking to try and improve it. How how much can you improve it? And at what point do you make the decision that this retention will not be increasing? Let's think of something new. And at what point do you actually keep tweaking to get to that retention you need? Yeah, I think the the bar was 40%.  If it's very high, it's an obvious one. You put all the resources there like Candy Crush. The question is if you have something in between you're stuck in between 40% and it's not as high as some of the competitors what you do then. I think the answer there depends very much on the company. So in the case of King, we had a massive hit with Candy Crush. So all resources went there and it's actually very difficult then to reroute users from Candy where you know you have a retention that is super high, you have a monetization that is incredibly high to a game that is not performing as well. But if for example you don't have the luxury of having a Candy Crush then actually 40% with good monetization might be perfectly good to build a user base and then you can innovate with the next game and you have a user base to use to launch a game to then grow and launch the next game. Because what we did to launch Candy Crush, we launched Candy Crush on a base of existing users on Facebook. And the launch of Candy Crush actually was extremely disappointing. It was one of the days where I got most angry than ever because we were promised by Apple that they would feature us. And the day of the launch we actually didn't get featured. And so I said, ah, you know, it's the most important day. We want to launch this game. We think this game is doing really well and we didn't get featured. It was the luckiest day ever because we took the decision to launch immediately also on Google, which meant we could immediately offer the game to the entire user base. We had on the web and we connected web play and mobile play. So web play on their PC and mobile play. So all the users we had on the PC could immediately play on their mobile device. And so you had the full variety across all the platforms. And the most important thing was we had clean numbers. Because we didn't get featured, we knew exactly how many users were coming from our installed user base, how many users were coming from marketing and we could start to understand better the customer lifetime value and the variety of the game without any disruptions or interference from other sources. So you pioneered in many ways mobile gaming, clearly also cross-platform gaming with Facebook and mobile, which perhaps is less familiar to everyone. You touched on marketing. That's something that you did phenomenally well at King. Can you share a little bit about how to approach distribution and marketing, especially in this time of IDFA and difficulty getting reach for mobile applications? Yeah. So I think, but most people don't know is that actually King had a very strong data infrastructure. We had about hundred people, hundred business analysts that basically do nothing else and checking all the numbers and we were very, very good at understanding everything, both within the game but also on the customer acquisition side. And the way how we skilled the company was entirely organic. So we didn't raise a penny to scale and we went from very little marketing investment to spending around hundred million dollars per quarter in marketing. And the way how we did it was with the chessboard strategy. The chessboard strategy means you put one coin on the first square, you see how the first cohort develops and as soon as you see that the metrics of the first cohort are very healthy and you see what basically the monetization is over the first week, second week. As soon as that cohort allows you, as you say this is actually a very strong, very strong metrics, you invest in the second square of the chessboard and this time you double up. And if the second cohort in the first week performs like the first cohort in the first week, in the meantime you have also the numbers from the first cohort over a longer period of time and you also can assume the second cohort will behave in a similar way like the first cohort of users. So you can then make the investment in the third chessboard, in the third square of the chessboard, but this time you double up again. And if you do that you have suddenly an exponential curve where you go from very little marketing investment to investing hundred million dollars per quarter completely organically. And when we started because of the innovation we were bringing and we were distinct from others and we also integrated in the business model virality because the first model we started with was freemium where you would play the game, you would get five lives. When the five lives finish you could either wait 24 hours or you could pay 99 sorry 99 cents and play immediately or you could invite three friends which basically was free marketing so virality was integrated in the business model and it was absolutely key for us to be able to grow fast. I love that chessboard mentioned something I haven't heard before. How closely do product and marketing need to work together in this context? Very closely, very, very closely. And we monitored all the changes on the, for example, live ops. Live ops is something that we launched at some point and we said okay actually we see that actually users want more content but if you launch more content only at the end of the journey you make only the players who actually finish the game or happy and for the others it becomes a bit boring after a while always the same level. So we launched live ops with special events that are available only for a specific moment of time and we got the idea because we were looking at a study that was comparing London with Paris and they were saying okay why do tourists always go to London when actually when you ask them they actually would like to go to Paris and they did a study which said that actually because in London there are more events at a time limited so you can go to this exhibition but the exhibition is only available in August if you don't go in August then you will never see it again. So tourists said okay actually I want to I would love to go to Paris but if I don't go now to London I will miss out on that exhibition and that's where we started thinking okay actually we should do the same also for games and then we launched live ops. Wow amazing I love that. We've obviously talked a little bit about Candy Crush and the incredible success you had with Candy Crush but you founded King in 2003 Candy Crush launched in 2012 and so arguably it wasn't quite the overnight success. What were those early eight to nine years like and how did you stay motivated? Oh Jesus we almost went bust three times in that time and I think the hardest times it took us two and a half years to take our games from the web to Facebook so you have to imagine we had started with a new model in Europe which was skill games at the time no one was doing skill games no one had heard about skill games i.e. games where you would compete against others either for fun or for a small entry fee and then you could also win some real money so it was not gambling because it was based on pure skill and so we had the one side to demonstrate that this model was absolutely based on skill so it was not gambling we didn't need a gambling license and everything was fine because we managed to convince all the largest portals in Europe to work with us and we became the largest partner of Yahoo first in Europe and then in the US and if you went to the Yahoo Games channel we were we are busy there we were busy doing their powering their games business until in 2007 Facebook opened up their their their their their their portal their software their their product to games that's where Zynga launched and I took a bit of time but in 2008 2009 it started growing like exponentially and Facebook killed Yahoo and killed Yahoo especially in the games area so we lost we were the largest partner of Yahoo and Yahoo lost in their games channel 45 percent of their users in one year and we lost 45 percent of our of the new users in one year and it and if you are there you have no idea what's happening it felt like some someone took the the carpet under your under your feet and it took us two and a half years to actually crack the model because Facebook did not allow us to take our skill model to Facebook and that put us with the back to the wall and we had to find a new way to bring our games to Facebook and anything that is bad actually if you work on it can become very good and for us maybe if we had not been with the back to the wall we would not have been pushed so hard to innovate and change completely our business model because what we did in the skill gaming model all the games we offered were only one level which would compete over three minutes with other people and we had developed more than 200 games when we went to Facebook we took the best of these games only one level and made out of these like these games much deeper games with many more levels and that's something that at the time no one was doing and and we innovated on the model in this way I love what you said everything bad has something good and you clearly have an incredible determination and ability to really pursue where you want to go how do you motivate other people to also be coming be like that and come along with you on this journey when things maybe aren't going well I think for me the most important thing is honesty and transparency so even during the bad times we were extremely honest and transparent on one side with our board with the investors and on the other side with the team so we didn't we never said oh don't worry everything is going well and everything is fine because we treated our team as adults saying look this is where we are and these are the things we are doing to to change things and the best way to do that is to use visuals and the visuals the visual that I used at the time was a character called Mordillo and not many people know it but it's a character and we showed this character lying down on the beach under an umbrella under the sun sipping a cocktail and so and I said this is where we are today everything is fine this was in the beginning of 2009 and we started seeing the big impact on of Facebook on us and on Yahoo and on us see this is where we are and then I zoomed out and I showed it was an hourglass so the sand underneath was falling was flowing down and I was saying okay this is where we are it's only a matter of time that we are going to be out of business and we need to change we have time and that's the reason why we split the company and you guys 50 percent of the company is is working on keeping the lights on and you have zero resources for innovation you only have resources to keep the lights on and thanks to your work we're able to have the other 50 percent of the company which we are dividing in five teams working on five different experiments and these are the five experiments so that's how we managed to keep people with us and and then we kept them updated on how the experiments were going I mean you use what I've heard from any is that you're an incredible motivator of people and clearly a fantastic leader is this something that has come naturally to you is this something that you had to work on I don't know I think for me the key way of thinking the key basically the starlight has always been treat the others how you want to be treated yourself so I always thought if I was on the other side how would I want to be treated I want to be treated like an adult I don't want to be told stories that are not real and and I want to be part of the solution not not not part potentially of the problem and so that's how I always acted in any thing I did and actually before King we did another company called spray which was an early early startup in 99 and we ended up selling the company to Lycos and I ended up because Lycos moved location and so on I ended up firing all the people I had hired so I fired hundred people and I fired them in a way as if I wanted to be fired so very honest I told them how things were what I can do what I cannot do and I gave I really honestly and when we started King since we had not a penny for marketing we only no one want to give us money so I put in 100% of my money in it so I didn't have any money for marketing I went knocking the doors and the first doors are not where the doors of the people I fired which in the meantime we're working at large portals like the online and yahoo and so on so you always meet twice I think that's that's a key thing in the industry that's right you always first impressions matter last impressions the last money is the most important yeah yeah I could speak for a very long time with you about this these are very important questions how to think about culture setting that from the top like you mentioned I know we're coming up on time shortly how would you advise founders today who are thinking about launching a gaming business in this era of post-covid era of AI what would be your guidance to everyone in the room well I can tell you where but I'm focused on now where I think it's interesting I think I'm a big believer in in AI I think AI is a tool so you need to know how to apply this tool otherwise if it's just a black box I think it's it's it's not useful enough especially in games where you need to where the results in the short term can be very different from results in the long term when you look at numbers but I think I can have a massive impact on games because I think the example of dream games that perfect execution can really take you to the top can allow you to monetize at a better level than others and monetizing better means that you can acquire customers and have a pay back on the customer that you acquire faster than others and therefore you can break through the roof and that's AI can have an impact at all stages it can have an impact on the on the on the marketing having better performance marketing understanding by the numbers doing optimizing the creatives optimizing the channels has a massive impact on the clv tracking clv and optimizing the entire user experience so I've been now spending time with a company for example called metica and we are looking at at optimizing the for example starting from where the money is in the shop so every user gets a different experience depending if if a user is a heavy user or or a more beginner you get that you can get a different offering at different moments in time and I think that is going to give you a better performance over time and it will also therefore allow you to buy at a better rate do you think we'll have AI native games I think you will have much smaller teams in the future that will be able to innovate much faster and come up with games that where you actually play with the AI becomes your partner and the game develops as you continue as you progress depending what route you have chosen and also based on your personal interests okay okay looking forward to will be I mean you know the beauty now is that the world in one thing is for sure we don't know today what games will come out in three or five years from now and what games will be but one thing is for sure there will be a lot of innovation there will be a lot of innovation and one thing we know is the category continues to grow year-over-year also and you've been fundamental in helping to pave that way what are some final sort of words of advice that you would give to founders in the room some core lessons or anything that you would have done differently looking back at your time over the past 20 years for me there are two two key things you know you touched briefly on culture and the other point that I would also put in his hiring so I think culture is fundamentally how you behave when you come into the company and you know what time do I come in how do I have to think am I innovative or how much can I innovate can I talk and not talk can I take responsibility so in innovation and then the new people that come in always look up to the next level up and the next level up looks again up so fundamentally it's the pyramid so the founder creates the culture so depending how you behave not what you say not the papers not the the companies that come in with beautiful words you create a culture we don't have much time the second key point is hiring so always hire ahead of time so hire where you want to be in two years from now not where where you are now and and don't start hiring higher senior guys that have seen this before and and and be you know the bar you put in hiring is is what will develop where the company will develop because good people hire good people not good people hire not good people and and if you start with not good people it's very difficult that these people will hire people that are better than they are so fantastic final words to end on hire people that are better than you yeah Ricardo thank you for doing this you're an incredible inspiration to many here in the room you've defined the past 20 years excited to see what the next 20 years will bring and your role in the industry thank you so much thank you so much


What is up Marvel Squad? Welcome back to our channel. If you guys are new, my name's Mariah. My name's Bill. And today we are filming Yes, we are. You get an A plus.  You get an F for being disrespectful. We are filming, don't remember. What are we filming? I was kidding. Today we are filming Things Girls Do That Guys Hate. Oh, Hate?   No. As right now if you have not already, make sure to give this video a huge thumbs up. Hit that subscribe button and turn on your post notifications and comment down below when done. Because we give out two shout outs every single video. So our post notification shout out goes to Daisy 6797 she sent me a really pretty flower because she knows how much I love the color yellow. She goes I realized you like the color yellow. So I took this picture and I was like That's so sweet. Shout out to you Daisy. Thank you for being a part of our channel. All right. So first question on the board I'm gonna start off easy. That is Biting your nails. I don't bite my nails though.  Yes, you do. Like okay, like when it does this where my nails are like chipped off. Yeah, I like I do bite it. Yeah, why? When your nail breaks you see it cracked. So you just want to like peel it off. Oh that one is broken. Are you gonna start biting it later? No, I already bit it off. So you guys like what is with that? I don't I'm not like this. There's food in the kitchen. I barely do that because I do my nails usually stay on but I've been going through because I think I'm done so they're kind of pulling apart.  All right question number two.   But do you want to why? Why? Do you want to why? Why? Because it enlightened me now. We wake up. We as in like the girls. Women around here. Okay. We know when we have to do our makeup or our hair. We know we have to get up a little bit earlier if it's going to take us longer. So we get up a little earlier.  You take forever to do anything. When I'm like done with work and she's like, you know come over and I'm taking a shower. If I take like 10 minutes. Guys, he doesn't take 10 minutes. Guys, when I take like five to 10 minutes longer than I usually take to leave my house. I can't believe you're live in the mall right now guys.  He takes like an hour shower. He gets home at five. He could get to my house by like five thirty. He gets to my house at seven. Six thirty? That's what I usually do. No, you don't. Seven is the latest. No, it's no. I'm not cuckoo. This is facts. All right. All right. What's this? I already know I'm gonna get annoyed. What is this? Are you getting annoyed? That's the whole point of this video. I hope that I annoy you. Oh my god. I just remembered this one before I move on to any of my other questions or you know statements because these are facts. Fact number whatever we're on. I hate when I hang out with you for it could be for 24 48 hours. Whatever. Okay and gentlemen, right when you leave their house Not even five minutes into your drive home. You're listening to music getting up all of a sudden It's like what does she want? You better be dying and I'm picking up the phone. Hey, babe. So what time are you gonna come over? I'm like, what? I just left you. Why are you calling me? Why is this something that you can't ask for? Because sometimes I forget to tell you something when you're left. It's always when you leave. I forget to tell you something. But just like you ladies, there's always something you need to tell you. Vibe to music. I'm like, I'm doing my thing.  I'm on the phone waiting for a second if I fall.  I just feel like when I'm with you, I don't think of the things that I say when you're gone. It's weird So if I was with you forever You would never just say anything that you you wanted to really? Oh, it's always when you left. Geez. I forgot to tell you about the pickle that fell on the floor Oh, you're talking about the story. Yeah, okay See that's the stuff I'm talking about though. He calls me like, okay, like thank you for calling me. What? of Her wait never though, what ever? Oh, yeah, what ever? What is this? Whatever She's figuring out stuff. Well, give it a minute. She'll she'll get there what What ever major What ever major loser there? Oh, I'm gonna give you a round of applause for that one because that one of these Way too long All right No, that is not it. Okay next fact. Okay. I hate Got the sneeze for texting you guys You don't want to get away from that. You don't want to get back. I sneeze like this. This is this is cold and flu season We're so dramatic I hate when I know listen, I know I'm right. You know what I'm saying? No and She knows she is right. You know that is right, right? And I'm over here like hey I know what I'm talking about.  Don't listen to him That that that's that no that doesn't No, you think you're always right and you're not that's false. Sometimes you're right I would give it to you, but most of the time I am the right one. I know what I'm talking about all the time Girls are always right when you watch jordan bow's story I mean if you watch jordan bow jordan jones, he said You have to be when you're gonna play ship you gotta know the girls always right See and I am speaking out. I am speaking out for people like him and let the girl have the treasure He loved he does though.  I'm telling you right now We will do anything for our women and you guys will do anything for your women, right? But when it comes down to who's being right about a situation that you know, you know is a hundred percent In your ballpark. You you just gotta he's hard-headed Hard-headed really hard-headed like a hard hat.   I'm a cute witch.  No, that's what you look like That's it without making all right Anyways, we're gonna get off the subject because this is what happens when we get an argument These are the little big guys. I cannot say enough welcome to relationship 2019 Where everything is either right from her or not right from me I guess this is how it works now for real my next question or fact statement is I hate when I literally am telling you you're beautiful and you look amazing and this and that And then right when you get that thought in your head.     You don't like the picture you take.  I think he's a dramatic one I'm the one that wears a pants because he's being really hands. Look at me. I'm freaking wearing pants. What are you wearing? These are leggings. These are hands. Whoa. Whoa. Whoa. I was foul. I'm look at guys. Check it out ready Well, what's going on here? Who who's the one that's gonna rule over each other? You know what I mean? Like, look it. Look it. Where are you? Okay Come here. We got a video to film. You know, like that's that's what I'm saying. Oh my god, whatever But yeah, I just wanted to touch on a few topics that really Ergs me. Is that a word? Is that a word? Ergs? Maybe whatever. Get ready guys Because this is the next one the next video when we talk about the girls we hate guys We're gonna have a good one. Well to conclude this video These are the things that I hate that girls do and I know there are gentlemen out there That agree with me and I know there are women out there that will not agree with me But because team rye, but that's okay. No, what this is not even about anything. It doesn't matter If it's a prank or not team rye because it's doesn't matter. Girl power girl power. Okay. What about the guy power? What about the freaking, you know, like So I made a comment about why do you why do you put the meaning bill in the pranks where it's got the big buff guy It goes, why does someone put that he's buff? He's not buff and the profile picture That came from you You know the guy's the profile picture was of this guy with like a big rip six packer The reason I put that because low-key I'm freaking buff and I cannot explain that hard enough. So I just got to show you guys when I'm not there All right guys, we're gonna cut this video because he's we're not cutting We're not cutting anything guys. I hate things that you do sometimes, but whatever There always is a good side to hate. So I literally love so much that you do But not in this video because that's not what this is about for don't you don't have the you know pants remember Make sure you're subscribed to our channel if you are not already. Welcome to the marvel squad And we're gonna do our last post notification shadow out All right So one of my videos someone said like I bet you 100 dollars that you wouldn't give me a shout out And I gave him a shout out. Well, I guess someone on that video said I bet a thousand dollars That we won't give them a shout out. We better be receiving money on cash out of paypal Yeah, I want to give a shout out to kandace, right? So shout out to you kandace. Thank you for leaving that sweet comment Oh, I've seen that person alive. Oh, yeah, exactly. So boom thousand dollars easy. Shout out to you kandace All right guys, we're about a skirt out of here. We had the same time. What's up? That was good We should join the dance team All right guys, we will see you guys in the next video, but until then peace


Now we have the remarks of our Vice-Chairman, please. Thank you very much. Carlos Hamadun, Hamadun Toure, Secretary-General of ITU, dear commissioners, Excellencies, dear friends, it's a great pleasure for me to be here also and to welcome you for this meeting of the Broadband Commission for Digital Development. I believe we see here our power, the power to bring together a unique mix of people and experiences from government, private sector, from the world of research and academia. And I believe we need precisely such alliances nowadays to address key issues of sustainable development and common public good. I wish to thank once again Mr. Carlos Slim Helou and President Paul Kagame for their leadership. And I would like to credit also my Co-Vice-Chair, Dr. Hamadun Toure, also in the ITU, for the tireless efforts to promote the goals of the Broadband Commission. Broadband, we all know, is a transformational technology. Its global rollout carries vast potential for sustainable development, by enhancing learning opportunities, by facilitating the exchange of information, by increasing access to content that is linguistically and culturally diverse. I am pleased the Broadband Commission made this case so powerfully at the United Nations Conference on Sustainable Development. The conclusions of Rio Plus 20 are clear. Sustainability is the agenda for peace and development in the century ahead. And Broadband can play a key role in taking this forward. For this, Broadband rollout must support the development of all societies, and it must enhance freedom of expression and access to information of people around the world. Information and communication technology can be great enablers for achieving the Millennium Development goals and the objectives of education for all. But this requires thought. It requires planning and action. And this is why we have gathered here. This annual meeting held during the high-level meeting of the United Nations General Assembly is a moment to make our case. The annual report, the State of Broadband 2012, Achieving Digital Inclusion for All, that will be launched today, provides case studies of how to leverage technology for development. Experience shows we cannot just invest in technology. We need to invest in an ecosystem. Supporting infrastructure must go with supporting applications and services, with investment in local contact, in local languages. To have greatest impact, Broadband must be embedded in societies and ensure access to all, especially for girls and women. Broadband can help empower women by connecting them to a wide range of resources to learn, improve health, or engage in income-generating activities. To this end, for instance, UNESCO has launched in Pakistan with MobiLink and the Boonead Foundation a pilot mobile post-literacy program that has reached some 1,250 illiterate women. Just one small example. But access is not enough on its own. It must be married with skills, with basic literacy, and with digital literacy. As we move forward, we must consider also the need to safeguard digital knowledge and digital heritage for the benefit of future generations. This is the goal of the International Conference on Memory of the World in the Digital Age, which UNESCO is holding later this week in Vancouver, where some of our commissioners will be participating. So, ladies and gentlemen, by widening access to knowledge, the real driver of growth and inclusion in our societies, broadband can be a powerful accelerator for reaching our education goals. New technologies and broadband internet can add new dimensions to how we deliver literacy, train teachers, manage schools, and share knowledge. I have seen this myself very recently in the last couple of weeks in the efforts undertaken by two countries, Thailand and Uruguay, and also the discussions held during the Asia-Pacific Ministerial Forum on ICTS in education in Bangkok in September, where we partnered with Intel already for these annual meetings. Exploring these issues is the goal of the Working Group on Education, our Working Group on Education here with the Broadband Commission, that will take place at UNESCO in Paris on the 24th February 2013 to which I invite you all. This coincides with the High-Level World Summit on the Information Society plus 10 review meeting, where we will launch the report of the Education Working Group. So, ladies and gentlemen, the work of the Broadband Commission is vital as we reach for the millennial development goals and the debate on the new global sustainability agenda to follow. Education and culture must stand at the heart of this agenda, and this includes Broadband as a driver and an enabler of positive change. I would include here also our work to promote cultural diversity and multilingualism on the Internet, namely, for instance, through the uptake of internationalized domain names. We must widen the use of all languages on the Internet and develop applications for all local content. This is the shape of an inclusive and accessible Broadband we are seeking. So, once again, thank you for this participation and the commitment in looking forward to our deliberations today and the launch of this very important annual report. Thank you, Carlos.


Next we're going to talk about writing the manuscript, but one of the first problems you'll probably face is writer's block Suddenly it's time to sit down and make the words and you may have a sudden lack of confidence in yourself You might be saying to yourself. Why am I writing this paper? I'm not the expert on this topic Maybe I shouldn't be the one. I think I'll just quit now So don't let that happen to you You do have something to say you do have the skills to write so keep going Another problem with writer's block is that you'll use every delay technique known to man Perhaps if you're a runner you've decided today you need to go out and run a good five or ten miles before you can possibly write a sentence Some people need to take a long nap Others suddenly clean parts of their house that haven't been cleaned in years So think of what are you're going to be your secret techniques to delay getting started? And you have to make a concerted effort to overcome those blocks It's good next to determine. What's the best time of day for you to write?  What I would suggest is you cannot write well During your off time So if you're a morning person like I am I can get up early in the morning at six o'clock and write But by nine o'clock at night. I'm not making very good sentences So find out your best time of day and be sure to only write during those good times You need to find time in your life to write and that's probably the greatest block to all of us If you say to yourself well, I'm going to start writing as soon as I finish my to-do list Guess what that day is never coming. You might have to be reincarnated for that day to come There's never going to be a day when your to-do list is finished Productive experience writers build writing right into their life right into their schedule What I would suggest to you is you take your calendar and you build time into every week for writing Some people can write in short half-hour blocks frequently every day perhaps Others need to set aside maybe one two-hour block a week Whatever is your best strategy What my best advice to you is you must build the time into your calendar And when someone asks to meet with you during that time, don't give it up Say sorry. I can't meet with you. I already have something scheduled You don't need to say it's a meeting with yourself, but don't give up your writing time You also need to find a good place to write For some of you that's not your home because your home is too much going on kids and dogs and in-laws and all kinds of activity where you can't find a quiet place For others, it's not in your office. I must tell you in my entire career. I've never written a sentence in my office It's too chaotic too much going on people popping in the phone ringing meetings are coming up So you have to find a quiet place where you can write Where you can concentrate and where you'll have minimal distraction My next piece of advice is to break the project into small manageable pieces Because there'll be a day you'll say well, I'm not going to start today. It's too huge. It's too big I can't get a lot done. So why bother even starting? Break the process into small very manageable pieces with due dates with each piece and get started Now when you start to write the paper Some authors have a difficult time with the opening with the introduction If you're finding you'd have that problem pick a different spot to start Maybe you want to start with creating a table if you're doing a research paper Maybe you're so excited about your results. You start with the results section So a paper doesn't have to be written in the order that it will finally appear Pick any section and just get started What I like to do at the end of one of my writing sessions is I make notes to myself right on the computer saying I know the paragraph above needs some work and I might may make a note saying what should come next So put a few notes to yourself at the end of your writing so that when you return You really understand where you left off and what your next steps may be Rewards yourself for your writing. It's hard work Now if you reward yourself with food after every paragraph, that may be a problem But give yourself some rewards as you go through the writing process As you're writing you'll need to refine your outline There may be times you have to reorganize the topic or the outline that you've created So don't get so wedded that you're immobilized by your outline If as you're writing you realize you need to change the order, that's okay Remember as you're writing you're working to determine what information will go into tables What figures do you need? What photographs should you add? And you can borrow or adapt tables from other works, but remember you must get permission You can use a table as is from another publication if you get permission Even if you adapt that table and make some changes, it's not your table. You'll still need to obtain permission So think about if you've saw figures in other works that might fit for your article That's perfectly acceptable as long as you obtain permission As you're writing keep to your schedule Don't fall behind keep writing in those small blocks of frequent blocks. Keep to your time Find that hiding place the time of day and keep writing in small parts and eventually begins to come together


We're going to say it three times in Arabic. The last time I'm going to add one phrase at the very end, which is a prayer upon our Prophet, to get us out of any different sort of opinion. We'll take our shahada in English as well. Shahada. Allah. Everybody told us here, when a person becomes Muslim, that all of your du'as are accepted. So Austin, we ask that you've lost a amount of talent. Accept all of your prayers. We make you amongst the people who we love constantly. Remember us in your du'a. All of your previous mistakes have been erased. May all of your du'as be elevated. And may you bring tremendous happiness to all of your ancestors. And to all of your descendants that will come to us in the steadfast of our time. Have you had any to remind us that when a person takes a shahada, we should do the Takbir at the Eid? Allah. Allah. Allah. Allah.


you know year over year for the last seven years if you take that pie and you divvy it up into independent artists and major label artists the independent artist shares growing we are we are despite there being less money overall we're getting more of that money for indie artists than ever before and and when I say the pie I'm talking entirely about revenue from recorded music so that's royalties that is licensing it's you know it's a full transfer and sale of rights it's rights associated with intellectual property musical works um it doesn't include you know your merch your touring all of that stuff so it's important to note because you know when we say the music industry we're talking entirely about the money made from intellectual property


Okay. Hello. Welcome. Come on in. So we've got a couple people still coming through the door. It's just about 245, so I'm going to get moving with my talk about local development using Kubernetes. Yeah. Feel free. There's a good number of seeds down here in the front right. Feel free to point people in this direction if they come in late. All right. So accelerating local development with Kubernetes. I am Ryan Jay. You can find me online on Twitter, GitHub, and IRC. This is usually what my avatar looks like. I am a developer advocate at Red Hat. And when I first submitted this talk, there were terrible things happening, and I believe there still are, in the way that we describe, and by we I might mean you, how we all describe Kubernetes, especially when we're talking to developers, right? How many people in this room feel like they are primarily a developer, more than an ops person? Awesome. All right. You hopefully have a question. How many of you here have used Kubernetes for less than six months? Excellent. All right. Well, this is a very introductory kind of talk. I'm going to try to use just the upstream tooling and show you as much as I can from there, and then we'll talk about what additional tooling you might want to layer on as well. And so here's my, let's go with pitching Kubernetes. I think it's because it's primarily it was a tool that was kind of built by and for site reliability engineers or operations folks, or really folks that are looking at use cases that are about system reliability, high availability. You know, there's a lot in here that people kind of package into their description of what is Kubernetes. And it rarely has any type of value or any type of resonance with developers. And often it's loaded with boatloads of terminology that is just more insult to injury.  These are all things that I could care less about when I'm doing local development, usually. So this has kind of been a problem for the Kubernetes community, and they've just been focusing on their core competencies, which they should. They've been keeping their eye on making things faster, better, more performant. Yet at the same time, if you ask Kubernetes core maintainer what is an app, they will very likely struggle to come up with a clear definition, because there isn't a clear upstream definition in the Kubernetes community of what an app really is. Because a lot of it, they'll say, well, it depends. Are you talking about workloads? There's so much in there. I mean, people started off with Docker, what's going to be what solved it all, will containerize all the things, and then as soon as people realize we need to scale these, decompose these monolithic applications, reflect what's happening in the microservices community, and allow these pieces to be scaled independently, then you see this model start to fall down. And people go from Docker images to maybe swarm files to Kubernetes spec files, maybe onto charts eventually. There's also a proposal around using label selectors, where you could do a Kubernetes command line query, get all dash L to match on label selectors, and then look for this label with whatever your app name is. And whatever the response from the API is, that's what your app is. But that's not a very clear standards-compliant definition that's developer friendly in any way, right? Especially if they don't already have a lot of Kubernetes access to play with. So there's a proposal I've linked to around label recommendations. I think if you're an app developer, definitely look into whether this proposal fits the bill for you. Does it meet your needs? Does it make sense as far as how we model apps? I think there's still a lot more work to do in helping define this term. But what you can do in the meantime is start talking about Kubernetes in a way that hopefully makes a little bit more sense to developers, and I'll try to show that today. So this is where I want to get us. I don't know if we can get there today, but what I want everyone to confidently say eventually is, why Kubernetes? Development velocity. That's why, right? But that's not the agenda of today, you know, the conference. So I'm going to do a quick kind of a case study to help illustrate this kind of conversation of how I would pitch Kubernetes locally to my team, and to guide us through this since we're in Austin, kind of a music-based analogy, if you will. So this is a theoretical company, enterprise records incorporated. Here's the picture of the band. I'll point out a couple of folks we have here up at the mic is our architect, or perhaps a lead developer, but someone who is definitely running the show, right? He's our front man. Just behind him we've got Will Farrell. That's our front-end web developer, right? And the product team is over on the far end in the nice jacket. So generally, operations teams will come in and they'll realize that the dev team's been working nonstop. They've been accumulating technical debt. They want to help increase your overall velocity as a company, but they know they need to fix some architectural things in the process, right? And so you may come home from KubeCon and start blathering to everyone in your company about, hey, look at stateful sets and look at this and throwing out term after term, and if you're not careful, people are going to be like, what is this guy talking about? Why is he so obsessed with things that have nothing to do with what we're responsible for? We need to ship. We need to ship products. We need to ship features, and we need to ship them faster than our competitors, right? We're not shipping Kubernetes. We're not shipping developer tools. Go find the best in the industry, use those, and let's get back to business is generally the conversation and the inertia that you need to overcome. They're always going to want more, and the web team is going to honestly want to know how do I maintain my velocity while using containers? It's a fair question, and the Kubernetes community needs to have a real answer. So I've tried to package, so don't screw it up for us, Gene. We need to get there to container town. We need to roll out Kubernetes. This is my approach to breaking through to the rest of your team. Minimal onboarding. I think your number one message should be getting started is easy. We'll cover getting started briefly. Share what you need to know, share what you know, and model your I.O. As application developers, one of the most critical things you're going to have to be aware of when you're developing container-based solutions is if you have random writes going to some part of your caching image uploads, you need to model all I.O. and mark certain folders as being read-writes, certain folders as being read-only, use read-only whenever possible, and if you expect that data to stay around, you're going to want to use a volume or some kind of persistence mechanism. So make sure as developers that is clearly in your scope to know where your data is as you're operating on it. And then the third one is really kind of evaluate what's available as far as tool chain goes and choose what's the best of the day. So here's the easy part. MiniCubeStart. That's it. It's one command. Well, there's one other curl. You could do two commands if you want to do a curl and then pipe it into your user local bin. You could do a one-line install and then a one-line boot up, essentially. But MiniCubeStart is the easiest way to get going. I'm going to open up a terminal and just paste in just so you could see how easy it might be. This is using a virtualization mechanism to spin up a VM. They also have a new way you could do dash dash VM provider equals none and then it'll try to skip the virtualization and spin up Kubernetes using only containers. You need a Docker engine or something for that. But it looks like I'm up and booted. I didn't need to sign up. I didn't need to wait for the ops team to provision the servers. I'm now unblocked. So this is the easy part. Make sure that everyone knows not having a Kubernetes environment ready is not an excuse. Staging's down. Ops isn't ready. No. Everyone gets a Kubernetes. You all look under your seats. You all get a Kubernetes. MiniCube is the best way to get started on that. MiniCube start. I have a link to the official MiniCube docs if you want setup help. I also have a set of slides I put together. I do a lot of presentations and so I've put together a series of getting started with Kubernetes. That's all about half an hour to one hour chunks. So if you end up at this bit.ly k8s MiniCube, I've got about four different half an hour long chunks of one. One is just the setup next one is getting familiar with Kube CTL. So if you want to learn more, I've got a whole series on that. Share what you know is the next big tip. And like I said, model your I.O. as developers. That's going to be a major part of what you're going to need to be aware of. Here's one way I like to share what I'm working on. So if I'm starting from scratch and all I have is a repo and I've maybe a docker file, I'm not going to start you guys entirely like you don't know what containers are. I'm assuming you're here at a Kubernetes conference. I'm just going to assume you have a docker file or a docker image or some kind of container image that you could Kube CTL run. So if I do this Kube CTL run command, I can name my application, if you will, load this image. And while I'm at it, I can also add a load balancer that is compatible with Minikube and then add this dry run flag. This is kind of a complicated example, but dry run allows me to do something particularly special that allows me to share what I know with other folks. So normally if I ran this command without the dry run, it would immediately go provision the new container using a deployment and it would set up a service or a load balancer so I can contact this web service. If I add the dry run flag, what it will do instead is prep up all the JSON or YAML depending on my dash O output, prep up all this data and write it all to standard out instead of to the API. This allows me to quickly generate manifests or spec files that I can share with my team. So if you're having trouble getting started or if you want to generate whatever your starting point is and then share that with another web dev, try using the dry run flag as a way to generate your specs. I'll run an example of this so we could see what the output is. Let's see, no outputs? Oh, I piped it all to this metrics file. Here we go, metrics review. So it looks like the first data element I have is a service and then I have a deployment. So this is now something that I can take, oops, I can take that run kubectl create-f on that file or hand it to someone else and allow them to run kubectl create-f and they have their local development now staged up with whatever I wanted to deliver. They are now at their, I was able to deploy Hello World, I haven't iterated on Hello World yet, but I've deployed it locally and that's one significant step in your onboarding process for new developers. Next they're going to want to test that. Many kubes service allows you to run up that new deployed resource in your browser. It looks like this is still downloading the container but it should pop open in the browser as soon as that downloads completed. Next up I have an example of how I would use this IO modeling or an aspect of IO modeling to enable real-time iteration and development against this container I've provisioned. So I'm going to make a local clone of this repo so I have something to work with here and if the wifi holds up see what we'll be doing is checking out a copy of this repo then using the mini kubemount command to mount the repo folder inside the virtual machine. So now it's essentially exposed to the node or the host machine inside the mini kube environment and I'm going to expose that inside the VM on VAR-HTML. Looks like I've got a little bit of a weight here. See if there's a network cable. They told me there would be Ethernet. Okay, here's our deployment has finished. Looks like part of our download happened and hopefully that cleared up bandwidth for the rest of my network connection but this is what I was deploying. It's Kubernetes contributor graphs that I was kind of tweaking on some data for contributor graphs and this was an example project that I wanted to iterate on. So it looks like we've created the new open the browser session. We've got our local clone of the repo. Let me get out of the full screen mode here. Oops, too far back. Dry run. Modeling your I.O. We did the clone. Now I can mount this folder inside the VM and I'll need to leave this window open to keep that connection available to mini kube. Next, I'm going to make a copy of metrics review and I'm going to modify it. This is something that you will have to do by hand unfortunately but now that you have a starting point it's easier to go in and look up what is a pod, what is a service and then look up the actual spec, find out what fields and what values you might want to tweak and then go based on the spec now that you have a valid starting point. So this I actually have a completed copy of all of these modifications inside the repo at this stored in this file metrics dev but all it does is it takes the earlier file that we used dry run and adds a volume mount into the pod spec. So I'll take a quick look at that from the command line. It's metrics dev so we could see, looks like there's some volume specifications and it's going to do a host path mount from this folder on the node host into this folder inside the container and if you look at the docker file for this project the entire repo is basically sitting inside this folder so I'm going to mount a raw repo inside a running container that's basically serving this repo as a static web so it's a trivial example but what you ought to see is that I'll have real-time access to editing the HTML and CSS and then I could just reload with my browser and use a full container based tool chain. So let's go back now that I have the resulting file I can minicube create on our metrics dev example and then if I really wanted to get fancy let's take a look at, let's see if that gets us anything let's go into minicube service not running yet I think it's still downloading or something's happened 404 not found I think it's having a problem with the mount and I appear to be having a failed demo but what this should do is basically give you the same view as this page the only difference and I'll fix the demo, sorry about this the only difference is I would be able to flip to the command line edit the index file look for my title here contributor metrics and then change it to kubernetes contributor metrics something like this and then as soon as I reload the page on that dev version I should immediately see the changes reflected in the browser that's basically the steps that you need to know sorry I'm having this 404 error on my metrics dev basically what we've done in the last five or so minutes is set up one deployment to be used for real-time dev and another deployment that I can actually roll deployments to and then I can do real-time development testing and then once I'm happy with those commits and I'm ready to ship that then I can do a docker build still haven't committed yet but do a docker build and then do a I can use this minicube docker end command once that will allow me to do it'll basically bind to the docker demon inside the VM and then when I run docker build the result of the build goes direct into the VM and I don't have to go out to docker hub and back down to my machine so I could be developing fully containerized fully offline in airplane mode you know while I'm flying over the ocean and potentially have a full multi-service application deployed, developed, complete with Kubernetes all on my laptop this is going to boost your memory expectations of course but if you're developing with small solutions or scaled down solutions this gives you a much more production like representation of what you're going to be working on and hopefully less surprises when you do go to promote your code to production any questions about that that's the easy part any questions on the first half I'll take a question quick so the question was what are the virtualization options available for minicube there's a pretty solid list there's a libvert KVM one I think you need one extra download to get that to work there's also support for using the Apple native virtualization VMware fusion KVM solid list yeah and all of that's available on the minicube docs yeah there are you will see sometimes mixed results if you're using different virtualization providers sometimes mounting external files into the VM works great with one with virtual box but not with KVM or vice versa right so some of these you may have to do some experimentation figure out what's the best fit for your develop I'm running on linux here but if you're on all Apple maybe you want to use xhive as long as this mount operation is working appropriately another thing that's going to be a big boost in the future I'm having problems with this external mount thing in the future with with those latest 1.9 release I know there's support for using local disk for persistent volume claims and so hopefully you could just lay out a larger size virtual machine disk and then use that disk for persistent volume claims and other kind of resistance mechanisms that might should really help with some of the modeling you're doing with Kubernetes so now we get to the hard part so in some ways you know there's a popular quote in some ways the future's already here but man it's sure isn't evenly distributed you're going to have different teams with different areas of experience different requirements from different teams and other people will be at different states of adoption some of them fully containerized some of them with a lot of legacy workloads that they are stuck with so this is the kind of a typical adoption path that I've seen people generally kind of start with playing with Docker eventually they're going to need to start modeling their IO creating volumes persistence volumes mapping those into the containers hopefully they pick up a cube at some point and then have an easy way to model Kubernetes abstractions right on their laptop and having that as a just a modeling language on your laptop I find incredibly useful next after that you could definitely if you're looking to share what you know look into charts the Kubernetes charts are the official way of packaging up these solutions they don't currently they're not really labeled as the app definition but they are the packaging mechanism for Kubernetes if I'm not sure you know that's kind of how they're described OpenShift templates is another option or you can use your web developers I'm sure you know how to do templating you could use Jinja templates you could use really any kind of templating system you're familiar with and hand roll your own specs once you know what you're dealing with right so maybe start with dry run generate a couple manifests and then figure out which values you need to modify frequently and develop workflows for assisting with that whether it's hand rolled manifest charts or you know eventually people are going to be looking at you know this new service catalog or even leveraging a full pass solution and really the more you add the closer you get to pass here so so I have a from here I've got a variety of solutions that I wanted to give the audience an opportunity but my theme for this is keep it simple make it try to describe these in a way that is easy for developers to understand so from the audience who has heard of draft here okay anyone want to offer a description hopefully without using the word container or kubernetes anyone want to offer something no Tom go for it actually I got a mic as well Tom yeah I'm calling on you Joe I'm sorry Joe yeah okay so in one sense I guess I would say that draft is and this is almost direct quote from the official documentation any vent driven scripting system for kubernetes oh close close that is close anyone else have a guess what I think of draft draft is really kind of your so event driven scripting system that's next on my list thank you Joe and so sorry event driven scripting system is the next one but draft is from the azure team it's the I think one of the best ways to get yourself a starting point if you are not familiar with the dry run command or you want to get a good starting point use draft in your repo it will attempt to produce a docker file for you and your kubernetes manifests so you can deploy that's my lowest simplest tool make it easy to get started with draft charts is my next one and my simple explanation is just share what you know helm and tiller have folks heard of helm and tiller more folks than that have heard of charts you use chart helm and tiller is what deploys your charts this is how you should come on okay alright here we go here we go Joe would you like no I'll quit picking on Joe brigade is their event driven system for producing workflows if you would like to see a demo head on over to the azure booth I'm sure they would be happy to give you a demo it's a new project so I don't have any demos prepared for this but definitely give it a look if you're interested in delivering workflow or event driven systems I think they've definitely produced a really good collection of developer tools in in the past how many folks have heard of telepresence not too many okay this one I think is particularly important if you're using kubernetes on your laptop if you are spinning up large numbers of microservices and you're on a macbook air how far do you think you're gonna get you know you can get a couple containers going but with only a 8 gigabit memory max on your on your hardware you're gonna run into some limitations real quickly so you can customize many cube and you could say I want to give it more memory or less memory or you know there's a lot of customization you could do there you give it more CPU cores but telepresence really helps pitch in by allowing you to leverage a hosted kubernetes environment and then make those hosted services appear as if they're running locally on your local many cube environment so it uses proxies and so you could have a large maybe you have a full scale oracle big oracle database somewhere else but you want to be able to leverage hopefully not production data but production quality services during your local development telepresence is a good tool to look into access more with telepresence my last ones mini shift and O.C. I've got demos of mini shift down in the red hat booth when I submitted this talk I was in between jobs and so I don't want to put too much vendering in here but man the more of this tooling you layer on top the more complicated you get the more you start to get into that problem of drowning people in terminology and getting distracted from your core mission of delivering product and features and if it all all the talking and all the communication goes to help accelerate your velocity and help the bridge the communication gap between the dev teams and the ops teams then that's exactly what it should be doing but make sure you don't overwhelm people with a boatload of new terms fresh out of kubecon try to give them just what they need give them a solid starting point mini shift and O.C. will give you a it's basically just like mini kube except it spins up an open shift environment instead of a kubernetes environment open shift is fully it's a kubernetes environment currently at kubernetes 1.7 if you're using the open shift 3.7 release so these basically give you a more secure multi-tenant safe version of kubernetes one of the unique things about it is none of your processes we won't let you run jobs as root it's not a best practice for folks at red hat to run every process at root as root usually not a good practice in production I would argue if you're not doing it later down in your pipeline why do it in local development if you don't need to run things as root in local dev then why do it there either but generally docker run and kubectl run is generally going to run things as the root user so if you have PCI compliance, HIPAA compliance any kind of aspirations towards security at all take a look at open shift and I'd be happy to give you a demo of what we offer down in the red hat booth so hopefully I've given you a simple overview just a small couple pieces of what you can learn what you can share here's a collection of other learning opportunities the kubernetes IO tutorials are pretty solid there's also a good collection of developer focused education on the catacoda interactive examples I have a lot of developer focused workshops packaged up using these revealed js slides and those are easy to fork and share so if you want to fork any of my talks feel free steal them and let me know if you get some use out of them we also have an interactive learning portal at learn.openshift.com and a challenge to developers in the red hat booth if you complete one section of our learning we've got a free hoodie for you so definitely stop by the red hat booth while we still got them in stock so developers want to get ahead definitely model your IO and share what you know architects figure out who owns manifest creation right you need to have a solid way to maintain and distribute that that's either going to be your dev leads or your architects but it might not be your web developers initially at least QA folks look forward to saying sorry works on my kubernetes operations folks mostly hopefully it's getting pretty boring for operations folks or it should be I know there's still a lot of work to do with kubernetes but primarily you want to be focusing on keeping the environment running, upgrading the environment and not getting involved in too much, yeah also you want to loop in security security is a big thing to keep in mind and being able to organize your work in a way where you don't have things like a situation where your front end web developers are maintaining your docker images and having old versions of lib SSL or outdated core libraries you want to have a solid mechanism for patching your workloads monitoring your workloads doing security analysis and usability analysis on your workloads so my send off for you folks definitely join the community on Slack in kubernetes users and in SIG apps most of the developer focus content happens in SIG apps come and join the conversation share what you know share your use cases and experiences and help us develop a range of solutions that expose or hide kubernetes in an appropriate amount of visibility for developers there's a lot of great videos on the SIG apps YouTube channel as well so definitely check that out hopefully that will help you learn to deliver consistently with containers choose the right tools for the job if you are building a Paz recognize it and maybe use that tool if you don't need a Paz if you have a good collection of tools to leverage and then hopefully you all get back to making gold records right that's about it for me thank you all for sticking around